includes/preview.php000064400000017153152377341010010556 0ustar00is_preview_mode() ) { return; } if ( isset( $_GET['preview-debug'] ) ) { register_shutdown_function( function () { $e = error_get_last(); if ( $e ) { echo '
';
					Utils::print_unescaped_internal_string( $e['message'] );
					echo '
'; } } ); } $this->post_id = get_the_ID(); $this->is_preview = true; // Don't redirect to permalink. remove_action( 'template_redirect', 'redirect_canonical' ); // Compatibility with Yoast SEO plugin when 'Removes unneeded query variables from the URL' enabled. // TODO: Move this code to `includes/compatibility.php`. if ( class_exists( 'WPSEO_Frontend' ) ) { remove_action( 'template_redirect', [ \WPSEO_Frontend::get_instance(), 'clean_permalink' ], 1 ); } // Disable the WP admin bar in preview mode. add_filter( 'show_admin_bar', '__return_false' ); add_action( 'wp_enqueue_scripts', function() { $this->enqueue_styles(); $this->enqueue_scripts(); } ); add_filter( 'the_content', [ $this, 'builder_wrapper' ], 999999 ); add_action( 'wp_footer', [ $this, 'wp_footer' ] ); // Avoid Cloudflare's Rocket Loader lazy load the editor iframe add_filter( 'script_loader_tag', [ $this, 'rocket_loader_filter' ], 10, 3 ); // Tell to WP Cache plugins do not cache this request. Utils::do_not_cache(); /** * Preview init. * * Fires on Elementor preview init, after Elementor preview has finished * loading but before any headers are sent. * * @since 1.0.0 * * @param Preview $this The current preview. */ do_action( 'elementor/preview/init', $this ); } /** * Retrieve post ID. * * Get the ID of the current post. * * @since 1.8.0 * @access public * * @return int Post ID. */ public function get_post_id() { return $this->post_id; } /** * Is Preview. * * Whether current request is the elementor preview iframe. * The flag is not related to a specific post or edit permissions. * * @since 2.9.5 * @access public * * @return bool */ public function is_preview() { return $this->is_preview; } /** * Whether preview mode is active. * * Used to determine whether we are in the preview mode (iframe). * * @since 1.0.0 * @access public * * @param int $post_id Optional. Post ID. Default is `0`. * * @return bool Whether preview mode is active. */ public function is_preview_mode( $post_id = 0 ) { if ( ! isset( $_GET['elementor-preview'] ) ) { return false; } if ( empty( $post_id ) ) { $post_id = get_the_ID(); } if ( ! User::is_current_user_can_edit( $post_id ) ) { return false; } if ( $post_id !== (int) $_GET['elementor-preview'] ) { return false; } return true; } /** * Builder wrapper. * * Used to add an empty HTML wrapper for the builder, the javascript will add * the content later. * * @since 1.0.0 * @access public * * @param string $content The content of the builder. * * @return string HTML wrapper for the builder. */ public function builder_wrapper( $content ) { if ( get_the_ID() === $this->post_id ) { $document = Plugin::$instance->documents->get( $this->post_id ); $attributes = $document->get_container_attributes(); $content = '
'; } return $content; } /** * Enqueue preview styles. * * Registers all the preview styles and enqueues them. * * Fired by `wp_enqueue_scripts` action. * * @since 1.0.0 * @access private */ private function enqueue_styles() { // Hold-on all jQuery plugins after all HTML markup render. wp_add_inline_script( 'jquery-migrate', 'jQuery.holdReady( true );' ); Plugin::$instance->frontend->enqueue_styles(); Plugin::$instance->widgets_manager->enqueue_widgets_styles(); $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min'; $direction_suffix = is_rtl() ? '-rtl' : ''; wp_register_style( 'elementor-select2', ELEMENTOR_ASSETS_URL . 'lib/e-select2/css/e-select2' . $suffix . '.css', [], '4.0.6-rc.1' ); wp_register_style( 'editor-preview', ELEMENTOR_ASSETS_URL . 'css/editor-preview' . $direction_suffix . $suffix . '.css', [ 'elementor-select2', ], ELEMENTOR_VERSION ); wp_enqueue_style( 'editor-preview' ); if ( ! Plugin::$instance->experiments->is_feature_active( 'e_dom_optimization' ) ) { wp_register_style( 'editor-preview-legacy', ELEMENTOR_ASSETS_URL . 'css/editor-preview-legacy' . $direction_suffix . $suffix . '.css', [], ELEMENTOR_VERSION ); wp_enqueue_style( 'editor-preview-legacy' ); } // Handle the 'wp audio' in editor preview. wp_enqueue_style( 'wp-mediaelement' ); /** * Preview enqueue styles. * * Fires after Elementor preview styles are enqueued. * * @since 1.0.0 */ do_action( 'elementor/preview/enqueue_styles' ); } /** * Enqueue preview scripts. * * Registers all the preview scripts and enqueues them. * * Fired by `wp_enqueue_scripts` action. * * @since 1.5.4 * @access private */ private function enqueue_scripts() { Plugin::$instance->frontend->register_scripts(); Plugin::$instance->widgets_manager->enqueue_widgets_scripts(); $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min'; wp_enqueue_script( 'elementor-inline-editor', ELEMENTOR_ASSETS_URL . 'lib/inline-editor/js/inline-editor' . $suffix . '.js', [], ELEMENTOR_VERSION, true ); // Handle the 'wp audio' in editor preview. wp_enqueue_script( 'wp-mediaelement' ); /** * Preview enqueue scripts. * * Fires after Elementor preview scripts are enqueued. * * @since 1.5.4 */ do_action( 'elementor/preview/enqueue_scripts' ); } public function rocket_loader_filter( $tag, $handle, $src ) { return str_replace( 'frontend; if ( $frontend->has_elementor_in_page() ) { // Has header/footer/widget-template - enqueue all style/scripts/fonts. $frontend->wp_footer(); } else { // Enqueue only scripts. $frontend->enqueue_scripts(); } } /** * Preview constructor. * * Initializing Elementor preview. * * @since 1.0.0 * @access public */ public function __construct() { add_action( 'template_redirect', [ $this, 'init' ], 0 ); } } includes/user.php000064400000015667152377341010010063 0ustar00register_ajax_action( 'introduction_viewed', [ __CLASS__, 'set_introduction_viewed' ] ); $ajax->register_ajax_action( 'beta_tester_signup', [ __CLASS__, 'register_as_beta_tester' ] ); } /** * Is current user can edit. * * Whether the current user can edit the post. * * @since 1.0.0 * @access public * @static * * @param int $post_id Optional. The post ID. Default is `0`. * * @return bool Whether the current user can edit the post. */ public static function is_current_user_can_edit( $post_id = 0 ) { $post = get_post( $post_id ); if ( ! $post ) { return false; } if ( 'trash' === get_post_status( $post_id ) ) { return false; } if ( ! self::is_current_user_can_edit_post_type( $post->post_type ) ) { return false; } $post_type_object = get_post_type_object( $post->post_type ); if ( ! isset( $post_type_object->cap->edit_post ) ) { return false; } $edit_cap = $post_type_object->cap->edit_post; if ( ! current_user_can( $edit_cap, $post_id ) ) { return false; } if ( intval( get_option( 'page_for_posts' ) ) === $post_id ) { return false; } return true; } /** * Is current user can access elementor. * * Whether the current user role is not excluded by Elementor Settings. * * @since 2.1.7 * @access public * @static * * @return bool True if can access, False otherwise. */ public static function is_current_user_in_editing_black_list() { $user = wp_get_current_user(); $exclude_roles = get_option( 'elementor_exclude_user_roles', [] ); $compare_roles = array_intersect( $user->roles, $exclude_roles ); if ( ! empty( $compare_roles ) ) { return false; } return true; } /** * Is current user can edit post type. * * Whether the current user can edit the given post type. * * @since 1.9.0 * @access public * @static * * @param string $post_type the post type slug to check. * * @return bool True if can edit, False otherwise. */ public static function is_current_user_can_edit_post_type( $post_type ) { if ( ! self::is_current_user_in_editing_black_list() ) { return false; } if ( ! Utils::is_post_type_support( $post_type ) ) { return false; } $post_type_object = get_post_type_object( $post_type ); if ( ! current_user_can( $post_type_object->cap->edit_posts ) ) { return false; } return true; } /** * Get user notices. * * Retrieve the list of notices for the current user. * * @since 2.0.0 * @access private * @static * * @return array A list of user notices. */ private static function get_user_notices() { return get_user_meta( get_current_user_id(), self::ADMIN_NOTICES_KEY, true ); } /** * Is user notice viewed. * * Whether the notice was viewed by the user. * * @since 1.0.0 * @access public * @static * * @param int $notice_id The notice ID. * * @return bool Whether the notice was viewed by the user. */ public static function is_user_notice_viewed( $notice_id ) { $notices = self::get_user_notices(); if ( empty( $notices ) || empty( $notices[ $notice_id ] ) ) { return false; } return true; } /** * Set admin notice as viewed. * * Flag the user admin notice as viewed using an authenticated ajax request. * * Fired by `wp_ajax_elementor_set_admin_notice_viewed` action. * * @since 1.0.0 * @access public * @static */ public static function ajax_set_admin_notice_viewed() { if ( empty( $_REQUEST['notice_id'] ) ) { wp_die(); } $notices = self::get_user_notices(); if ( empty( $notices ) ) { $notices = []; } $notices[ $_REQUEST['notice_id'] ] = 'true'; update_user_meta( get_current_user_id(), self::ADMIN_NOTICES_KEY, $notices ); if ( ! wp_doing_ajax() ) { wp_safe_redirect( admin_url() ); die; } wp_die(); } /** * @since 2.1.0 * @access public * @static */ public static function set_introduction_viewed( array $data ) { $user_introduction_meta = self::get_introduction_meta(); $user_introduction_meta[ $data['introductionKey'] ] = true; update_user_meta( get_current_user_id(), self::INTRODUCTION_KEY, $user_introduction_meta ); } public static function register_as_beta_tester( array $data ) { update_user_meta( get_current_user_id(), self::BETA_TESTER_META_KEY, true ); $response = wp_safe_remote_post( self::BETA_TESTER_API_URL, [ 'timeout' => 25, 'body' => [ 'api_version' => ELEMENTOR_VERSION, 'site_lang' => get_bloginfo( 'language' ), 'beta_tester_email' => $data['betaTesterEmail'], ], ] ); $response_code = (int) wp_remote_retrieve_response_code( $response ); if ( 200 === $response_code ) { self::set_introduction_viewed( [ 'introductionKey' => Beta_Testers::BETA_TESTER_SIGNUP, ] ); } } /** * @param string $key * * @return array|mixed|string * @since 2.1.0 * @access public * @static */ public static function get_introduction_meta( $key = '' ) { $user_introduction_meta = get_user_meta( get_current_user_id(), self::INTRODUCTION_KEY, true ); if ( ! $user_introduction_meta ) { $user_introduction_meta = []; } if ( $key ) { return empty( $user_introduction_meta[ $key ] ) ? '' : $user_introduction_meta[ $key ]; } return $user_introduction_meta; } /** * Get a user option with default value as fallback. * * @param string $option - Option key. * @param int $user_id - User ID * @param mixed $default - Default fallback value. * * @return mixed */ public static function get_user_option_with_default( $option, $user_id, $default ) { $value = get_user_option( $option, $user_id ); return ( false === $value ) ? $default : $value; } } includes/interfaces/group-control.php000064400000000631152377341010014023 0ustar00': return $left_value > $right_value; case '>=': return $left_value >= $right_value; default: return $left_value === $right_value; } } /** * Check conditions. * * Whether the comparison conditions comply. * * @since 1.0.0 * @access public * @static * * @param array $conditions The conditions to check. * @param array $comparison The comparison parameter. * * @return bool Whether the comparison conditions comply. */ public static function check( array $conditions, array $comparison ) { $is_or_condition = isset( $conditions['relation'] ) && 'or' === $conditions['relation']; $condition_succeed = ! $is_or_condition; foreach ( $conditions['terms'] as $term ) { if ( ! empty( $term['terms'] ) ) { $comparison_result = self::check( $term, $comparison ); } else { preg_match( '/(\w+)(?:\[(\w+)])?/', $term['name'], $parsed_name ); $value = $comparison[ $parsed_name[1] ]; if ( ! empty( $parsed_name[2] ) ) { $value = $value[ $parsed_name[2] ]; } $operator = null; if ( ! empty( $term['operator'] ) ) { $operator = $term['operator']; } $comparison_result = self::compare( $value, $term['value'], $operator ); } if ( $is_or_condition ) { if ( $comparison_result ) { return true; } } elseif ( ! $comparison_result ) { return false; } } return $condition_succeed; } } includes/stylesheet.php000064400000021642152377341010011264 0ustar00 $properties ) { $selector_content = self::parse_properties( $properties ); if ( $selector_content ) { $parsed_rules .= $selector . '{' . $selector_content . '}'; } } return $parsed_rules; } /** * Parse CSS properties. * * Goes over the selector properties and generates the CSS of the selector. * * @since 1.0.0 * @access public * @static * * @param array $properties CSS properties. * * @return string Parsed properties. */ public static function parse_properties( array $properties ) { $parsed_properties = ''; foreach ( $properties as $property_key => $property_value ) { if ( '' !== $property_value ) { $parsed_properties .= $property_key . ':' . $property_value . ';'; } } return $parsed_properties; } /** * Add device. * * Add a new device to the devices list. * * @since 1.0.0 * @access public * * @param string $device_name Device name. * @param string $device_max_point Device maximum point. * * @return Stylesheet The current stylesheet class instance. */ public function add_device( $device_name, $device_max_point ) { $this->devices[ $device_name ] = $device_max_point; asort( $this->devices ); return $this; } /** * Add rules. * * Add a new CSS rule to the rules list. * * @since 1.0.0 * @access public * * @param string $selector CSS selector. * @param array|string $style_rules Optional. Style rules. Default is `null`. * @param array $query Optional. Media query. Default is `null`. * * @return Stylesheet The current stylesheet class instance. */ public function add_rules( $selector, $style_rules = null, array $query = null ) { $query_hash = 'all'; if ( $query ) { $query_hash = $this->query_to_hash( $query ); } if ( ! isset( $this->rules[ $query_hash ] ) ) { $this->add_query_hash( $query_hash ); } if ( null === $style_rules ) { preg_match_all( '/([^\s].+?(?=\{))\{((?s:.)+?(?=}))}/', $selector, $parsed_rules ); foreach ( $parsed_rules[1] as $index => $selector ) { $this->add_rules( $selector, $parsed_rules[2][ $index ], $query ); } return $this; } if ( ! isset( $this->rules[ $query_hash ][ $selector ] ) ) { $this->rules[ $query_hash ][ $selector ] = []; } if ( is_string( $style_rules ) ) { $style_rules = array_filter( explode( ';', trim( $style_rules ) ) ); $ordered_rules = []; foreach ( $style_rules as $rule ) { $property = explode( ':', $rule, 2 ); if ( count( $property ) < 2 ) { return $this; } $ordered_rules[ trim( $property[0] ) ] = trim( $property[1], ' ;' ); } $style_rules = $ordered_rules; } $this->rules[ $query_hash ][ $selector ] = array_merge( $this->rules[ $query_hash ][ $selector ], $style_rules ); return $this; } /** * Add raw CSS. * * Add a raw CSS rule. * * @since 1.0.8 * @access public * * @param string $css The raw CSS. * @param string $device Optional. The device. Default is empty. * * @return Stylesheet The current stylesheet class instance. */ public function add_raw_css( $css, $device = '' ) { if ( ! isset( $this->raw[ $device ] ) ) { $this->raw[ $device ] = []; } $this->raw[ $device ][] = trim( $css ); return $this; } /** * Get CSS rules. * * Retrieve the CSS rules. * * @since 1.0.5 * @access public * * @param string $device Optional. The device. Default is empty. * @param string $selector Optional. CSS selector. Default is empty. * @param string $property Optional. CSS property. Default is empty. * * @return null|array CSS rules, or `null` if not rules found. */ public function get_rules( $device = null, $selector = null, $property = null ) { if ( ! $device ) { return $this->rules; } if ( $property ) { return isset( $this->rules[ $device ][ $selector ][ $property ] ) ? $this->rules[ $device ][ $selector ][ $property ] : null; } if ( $selector ) { return isset( $this->rules[ $device ][ $selector ] ) ? $this->rules[ $device ][ $selector ] : null; } return isset( $this->rules[ $device ] ) ? $this->rules[ $device ] : null; } /** * To string. * * This magic method responsible for parsing the rules into one CSS string. * * @since 1.0.0 * @access public * * @return string CSS style. */ public function __toString() { $style_text = ''; foreach ( $this->rules as $query_hash => $rule ) { $device_text = self::parse_rules( $rule ); if ( 'all' !== $query_hash ) { $device_text = $this->get_query_hash_style_format( $query_hash ) . '{' . $device_text . '}'; } $style_text .= $device_text; } foreach ( $this->raw as $device_name => $raw ) { $raw = implode( "\n", $raw ); if ( $raw && isset( $this->devices[ $device_name ] ) ) { $raw = '@media(max-width: ' . $this->devices[ $device_name ] . 'px){' . $raw . '}'; } $style_text .= $raw; } return $style_text; } /** * Query to hash. * * Turns the media query into a hashed string that represents the query * endpoint in the rules list. * * @since 1.2.0 * @access private * * @param array $query CSS media query. * * @return string Hashed string of the query. */ private function query_to_hash( array $query ) { $hash = []; foreach ( $query as $endpoint => $value ) { $hash[] = $endpoint . '_' . $value; } return implode( '-', $hash ); } /** * Hash to query. * * Turns the hashed string to an array that contains the data of the query * endpoint. * * @since 1.2.0 * @access private * * @param string $hash Hashed string of the query. * * @return array Media query data. */ private function hash_to_query( $hash ) { $query = []; $hash = array_filter( explode( '-', $hash ) ); foreach ( $hash as $single_query ) { preg_match( '/(min|max)_(.*)/', $single_query, $query_parts ); $end_point = $query_parts[1]; $device_name = $query_parts[2]; $query[ $end_point ] = 'max' === $end_point ? $this->devices[ $device_name ] : Plugin::$instance->breakpoints->get_device_min_breakpoint( $device_name ); } return $query; } /** * Add query hash. * * Register new endpoint query and sort the rules the way they should be * displayed in the final stylesheet based on the device and the viewport * width. * * @since 1.2.0 * @access private * * @param string $query_hash Hashed string of the query. */ private function add_query_hash( $query_hash ) { $this->rules[ $query_hash ] = []; uksort( $this->rules, function( $a, $b ) { if ( 'all' === $a ) { return -1; } if ( 'all' === $b ) { return 1; } $a_query = $this->hash_to_query( $a ); $b_query = $this->hash_to_query( $b ); if ( isset( $a_query['min'] ) xor isset( $b_query['min'] ) ) { return 1; } if ( isset( $a_query['min'] ) ) { $range = $a_query['min'] - $b_query['min']; if ( $range ) { return $range; } $a_has_max = isset( $a_query['max'] ); if ( $a_has_max xor isset( $b_query['max'] ) ) { return $a_has_max ? 1 : -1; } if ( ! $a_has_max ) { return 0; } } return $b_query['max'] - $a_query['max']; } ); } /** * Get query hash style format. * * Retrieve formated media query rule with the endpoint width settings. * * The method returns the CSS `@media` rule and supported viewport width in * pixels. It can also handel multiple width endpoints. * * @since 1.2.0 * @access private * * @param string $query_hash The hash of the query. * * @return string CSS media query. */ private function get_query_hash_style_format( $query_hash ) { $query = $this->hash_to_query( $query_hash ); $style_format = []; foreach ( $query as $end_point => $value ) { $style_format[] = '(' . $end_point . '-width:' . $value . 'px)'; } return '@media' . implode( ' and ', $style_format ); } } includes/shapes.php000064400000014366152377341010010363 0ustar00 [ 'title' => _x( 'Mountains', 'Shapes', 'elementor' ), 'has_flip' => true, ], 'drops' => [ 'title' => _x( 'Drops', 'Shapes', 'elementor' ), 'has_negative' => true, 'has_flip' => true, 'height_only' => true, ], 'clouds' => [ 'title' => _x( 'Clouds', 'Shapes', 'elementor' ), 'has_negative' => true, 'has_flip' => true, 'height_only' => true, ], 'zigzag' => [ 'title' => _x( 'Zigzag', 'Shapes', 'elementor' ), ], 'pyramids' => [ 'title' => _x( 'Pyramids', 'Shapes', 'elementor' ), 'has_negative' => true, 'has_flip' => true, ], 'triangle' => [ 'title' => _x( 'Triangle', 'Shapes', 'elementor' ), 'has_negative' => true, ], 'triangle-asymmetrical' => [ 'title' => _x( 'Triangle Asymmetrical', 'Shapes', 'elementor' ), 'has_negative' => true, 'has_flip' => true, ], 'tilt' => [ 'title' => _x( 'Tilt', 'Shapes', 'elementor' ), 'has_flip' => true, 'height_only' => true, ], 'opacity-tilt' => [ 'title' => _x( 'Tilt Opacity', 'Shapes', 'elementor' ), 'has_flip' => true, ], 'opacity-fan' => [ 'title' => _x( 'Fan Opacity', 'Shapes', 'elementor' ), ], 'curve' => [ 'title' => _x( 'Curve', 'Shapes', 'elementor' ), 'has_negative' => true, ], 'curve-asymmetrical' => [ 'title' => _x( 'Curve Asymmetrical', 'Shapes', 'elementor' ), 'has_negative' => true, 'has_flip' => true, ], 'waves' => [ 'title' => _x( 'Waves', 'Shapes', 'elementor' ), 'has_negative' => true, 'has_flip' => true, ], 'wave-brush' => [ 'title' => _x( 'Waves Brush', 'Shapes', 'elementor' ), 'has_flip' => true, ], 'waves-pattern' => [ 'title' => _x( 'Waves Pattern', 'Shapes', 'elementor' ), 'has_flip' => true, ], 'arrow' => [ 'title' => _x( 'Arrow', 'Shapes', 'elementor' ), 'has_negative' => true, ], 'split' => [ 'title' => _x( 'Split', 'Shapes', 'elementor' ), 'has_negative' => true, ], 'book' => [ 'title' => _x( 'Book', 'Shapes', 'elementor' ), 'has_negative' => true, ], ]; self::$shapes = array_merge( $native_shapes, self::get_additional_shapes() ); } /** * Get Additional Shapes * * Used to add custom shapes to elementor. * * @since 2.5.0 * * @return array */ private static function get_additional_shapes() { static $additional_shapes = null; if ( null !== $additional_shapes ) { return $additional_shapes; } $additional_shapes = []; /** * Additional shapes. * * Filters the shapes used by Elementor to add additional shapes. * * @since 2.0.1 * * @param array $additional_shapes Additional Elementor shapes. */ $additional_shapes = apply_filters( 'elementor/shapes/additional_shapes', $additional_shapes ); return $additional_shapes; } /** * Get Additional Shapes For Config * * Used to set additional shape paths for editor * * @since 2.5.0 * * @return array|bool */ public static function get_additional_shapes_for_config() { $additional_shapes = self::get_additional_shapes(); if ( empty( $additional_shapes ) ) { return false; } $additional_shapes_config = []; foreach ( $additional_shapes as $shape_name => $shape_settings ) { if ( ! isset( $shape_settings['url'] ) ) { continue; } $additional_shapes_config[ $shape_name ] = $shape_settings['url']; } if ( empty( $additional_shapes_config ) ) { return false; } return $additional_shapes_config; } } includes/compatibility.php000064400000024746152377341010011754 0ustar00deleteCache(); } // WP Super Cache if ( function_exists( 'wp_cache_clean_cache' ) ) { global $file_prefix; wp_cache_clean_cache( $file_prefix, true ); } } /** * Add new button to gutenberg. * * Insert new "Elementor" button to the gutenberg editor to create new post * using Elementor page builder. * * @since 1.9.0 * @access public * @static */ public static function add_new_button_to_gutenberg() { global $typenow; if ( ! User::is_current_user_can_edit_post_type( $typenow ) ) { return; } // Introduced in WP 5.0 if ( function_exists( 'use_block_editor_for_post' ) && ! use_block_editor_for_post( $typenow ) ) { return; } // Deprecated/removed in Gutenberg plugin v5.3.0 if ( function_exists( 'gutenberg_can_edit_post_type' ) && ! gutenberg_can_edit_post_type( $typenow ) ) { return; } ?> editor->is_edit_mode() ) { $retval = true; } return $retval; } ); // Add the description (content) tab for a new product, so it can be edited with Elementor. add_filter( 'woocommerce_product_tabs', function( $tabs ) { if ( ! isset( $tabs['description'] ) && Plugin::$instance->preview->is_preview_mode() ) { $post = get_post(); if ( empty( $post->post_content ) ) { $tabs['description'] = [ 'title' => esc_html__( 'Description', 'elementor' ), 'priority' => 10, 'callback' => 'woocommerce_product_description_tab', ]; } } return $tabs; } ); // Fix WC session not defined in editor. if ( class_exists( 'woocommerce' ) ) { add_action( 'elementor/editor/before_enqueue_scripts', function() { remove_action( 'woocommerce_shortcode_before_product_cat_loop', 'wc_print_notices' ); remove_action( 'woocommerce_before_shop_loop', 'wc_print_notices' ); remove_action( 'woocommerce_before_single_product', 'wc_print_notices' ); } ); add_filter( 'elementor/maintenance_mode/is_login_page', function( $value ) { // Support Woocommerce Account Page. if ( is_account_page() && ! is_user_logged_in() ) { $value = true; } return $value; } ); } // Fix Jetpack Contact Form in Editor Mode. if ( class_exists( 'Grunion_Editor_View' ) ) { add_action( 'elementor/editor/before_enqueue_scripts', function() { remove_action( 'media_buttons', 'grunion_media_button', 999 ); remove_action( 'admin_enqueue_scripts', 'grunion_enable_spam_recheck' ); remove_action( 'admin_notices', [ 'Grunion_Editor_View', 'handle_editor_view_js' ] ); remove_action( 'admin_head', [ 'Grunion_Editor_View', 'admin_head' ] ); } ); } // Fix Popup Maker in Editor Mode. if ( class_exists( 'PUM_Admin_Shortcode_UI' ) ) { add_action( 'elementor/editor/before_enqueue_scripts', function() { $pum_admin_instance = \PUM_Admin_Shortcode_UI::instance(); remove_action( 'print_media_templates', [ $pum_admin_instance, 'print_media_templates' ] ); remove_action( 'admin_print_footer_scripts', [ $pum_admin_instance, 'admin_print_footer_scripts' ], 100 ); remove_action( 'wp_ajax_pum_do_shortcode', [ $pum_admin_instance, 'wp_ajax_pum_do_shortcode' ] ); remove_action( 'admin_enqueue_scripts', [ $pum_admin_instance, 'admin_enqueue_scripts' ] ); remove_filter( 'pum_admin_var', [ $pum_admin_instance, 'pum_admin_var' ] ); } ); } // Fix Preview URL for https://github.com/wpmudev/domain-mapping plugin if ( class_exists( 'domain_map' ) ) { add_filter( 'elementor/document/urls/preview', function( $preview_url ) { if ( wp_parse_url( $preview_url, PHP_URL_HOST ) !== $_SERVER['HTTP_HOST'] ) { $preview_url = \domain_map::utils()->unswap_url( $preview_url ); $preview_url = add_query_arg( [ 'dm' => \Domainmap_Module_Mapping::BYPASS, ], $preview_url ); } return $preview_url; } ); } // Gutenberg if ( function_exists( 'gutenberg_init' ) ) { add_action( 'admin_print_scripts-edit.php', [ __CLASS__, 'add_new_button_to_gutenberg' ], 11 ); } } public static function filter_library_post_type( $post_types ) { unset( $post_types[ Source_Local::CPT ] ); return $post_types; } /** * Polylang compatibility. * * Fix Polylang compatibility with Elementor. * * @since 2.0.0 * @access private * @static */ private static function polylang_compatibility() { // Fix language if the `get_user_locale` is difference from the `get_locale if ( isset( $_REQUEST['action'] ) && 0 === strpos( $_REQUEST['action'], 'elementor' ) ) { add_action( 'set_current_user', function() { global $current_user; $current_user->locale = get_locale(); } ); // Fix for Polylang define( 'PLL_AJAX_ON_FRONT', true ); add_action( 'pll_pre_init', function( $polylang ) { if ( isset( $_REQUEST['post'] ) ) { $post_language = $polylang->model->post->get_language( $_REQUEST['post'], 'locale' ); if ( ! empty( $post_language ) ) { $_REQUEST['lang'] = $post_language->locale; } } } ); } // Copy elementor data while polylang creates a translation copy add_filter( 'pll_copy_post_metas', [ __CLASS__, 'save_polylang_meta' ], 10, 4 ); } /** * Save polylang meta. * * Copy elementor data while polylang creates a translation copy. * * Fired by `pll_copy_post_metas` filter. * * @since 1.6.0 * @access public * @static * * @param array $keys List of custom fields names. * @param bool $sync True if it is synchronization, false if it is a copy. * @param int $from ID of the post from which we copy information. * @param int $to ID of the post to which we paste information. * * @return array List of custom fields names. */ public static function save_polylang_meta( $keys, $sync, $from, $to ) { // Copy only for a new post. if ( ! $sync ) { Plugin::$instance->db->copy_elementor_meta( $from, $to ); } return $keys; } /** * Process post meta before WP importer. * * Normalize Elementor post meta on import, We need the `wp_slash` in order * to avoid the unslashing during the `add_post_meta`. * * Fired by `wp_import_post_meta` filter. * * @since 1.0.0 * @access public * @static * * @param array $post_meta Post meta. * * @return array Updated post meta. */ public static function on_wp_import_post_meta( $post_meta ) { $is_wp_importer_before_0_7 = self::is_wp_importer_before_0_7(); if ( $is_wp_importer_before_0_7 ) { foreach ( $post_meta as &$meta ) { if ( '_elementor_data' === $meta['key'] ) { $meta['value'] = wp_slash( $meta['value'] ); break; } } } return $post_meta; } /** * Is WP Importer Before 0.7 * * Checks if WP Importer is installed, and whether its version is older than 0.7. * * @return bool */ public static function is_wp_importer_before_0_7() { $wp_importer = get_plugins( '/wordpress-importer' ); if ( ! empty( $wp_importer ) ) { $wp_importer_version = $wp_importer['wordpress-importer.php']['Version']; if ( version_compare( $wp_importer_version, '0.7', '<' ) ) { return true; } } return false; } /** * Process post meta before WXR importer. * * Normalize Elementor post meta on import with the new WP_importer, We need * the `wp_slash` in order to avoid the unslashing during the `add_post_meta`. * * Fired by `wxr_importer.pre_process.post_meta` filter. * * @since 1.0.0 * @access public * @static * * @param array $post_meta Post meta. * * @return array Updated post meta. */ public static function on_wxr_importer_pre_process_post_meta( $post_meta ) { $is_wp_importer_before_0_7 = self::is_wp_importer_before_0_7(); if ( $is_wp_importer_before_0_7 ) { if ( '_elementor_data' === $post_meta['key'] ) { $post_meta['value'] = wp_slash( $post_meta['value'] ); } } return $post_meta; } } includes/libraries/bfi-thumb/bfi-thumb.php000064400000057020152377341010014600 0ustar00. */ /** Uses WP's Image Editor Class to resize and filter images * * @param $url string the local image URL to manipulate * @param $params array the options to perform on the image. Keys and values supported: * 'width' int pixels * 'height' int pixels * 'opacity' int 0-100 * 'color' string hex-color #000000-#ffffff * 'grayscale' bool * 'negate' bool * 'crop' bool * 'crop_only' bool * 'crop_x' bool string * 'crop_y' bool string * 'crop_width' bool string * 'crop_height' bool string * 'quality' int 1-100 * @param $single boolean, if false then an array of data will be returned * * @return string|array containing the url of the resized modified image */ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly. if ( ! defined( 'BFITHUMB_UPLOAD_DIR' ) ) { define( 'BFITHUMB_UPLOAD_DIR', 'elementor/thumbs' ); } if ( ! function_exists( 'bfi_thumb' ) ) { function bfi_thumb( $url, $params = array(), $single = true ) { $class = BFI_Class_Factory::getNewestVersion( 'BFI_Thumb' ); return call_user_func( array( $class, 'thumb' ), $url, $params, $single ); } } /** * Class factory, this is to make sure that when multiple bfi_thumb scripts * are used (e.g. a plugin and a theme both use it), we always use the * latest version. */ if ( ! class_exists( 'BFI_Class_Factory' ) ) { class BFI_Class_Factory { public static $versions = array(); public static $latestClass = array(); public static function addClassVersion( $baseClassName, $className, $version ) { if ( empty( self::$versions[ $baseClassName ] ) ) { self::$versions[ $baseClassName ] = array(); } self::$versions[ $baseClassName ][] = array( 'class' => $className, 'version' => $version, ); } public static function getNewestVersion( $baseClassName ) { if ( empty( self::$latestClass[ $baseClassName ] ) ) { usort( self::$versions[ $baseClassName ], array( __CLASS__, "versionCompare" ) ); self::$latestClass[ $baseClassName ] = self::$versions[ $baseClassName ][0]['class']; unset( self::$versions[ $baseClassName ] ); } return self::$latestClass[ $baseClassName ]; } public static function versionCompare( $a, $b ) { return version_compare( $a['version'], $b['version'] ) == 1 ? -1 : 1; } } } /* * Change the default image editors */ add_filter( 'wp_image_editors', 'bfi_wp_image_editor' ); // Instead of using the default image editors, use our extended ones if ( ! function_exists( 'bfi_wp_image_editor' ) ) { function bfi_wp_image_editor( $editorArray ) { // Make sure that we use the latest versions return array( BFI_Class_Factory::getNewestVersion( 'BFI_Image_Editor_GD' ), BFI_Class_Factory::getNewestVersion( 'BFI_Image_Editor_Imagick' ), ); } } /* * Include the WP Image classes */ require_once ABSPATH . WPINC . '/class-wp-image-editor.php'; require_once ABSPATH . WPINC . '/class-wp-image-editor-imagick.php'; require_once ABSPATH . WPINC . '/class-wp-image-editor-gd.php'; /* * Enhanced Imagemagick Image Editor */ if ( ! class_exists( 'BFI_Image_Editor_Imagick_1_3' ) ) { BFI_Class_Factory::addClassVersion( 'BFI_Image_Editor_Imagick', 'BFI_Image_Editor_Imagick_1_3', '1.3' ); class BFI_Image_Editor_Imagick_1_3 extends WP_Image_Editor_Imagick { /** Changes the opacity of the image * * @supports 3.5.1 * @access public * * @param float $opacity (0.0-1.0) * * @return boolean|WP_Error */ public function opacity( $opacity ) { $opacity /= 100; try { // From: http://stackoverflow.com/questions/3538851/php-imagick-setimageopacity-destroys-transparency-and-does-nothing // preserves transparency //$this->image->setImageOpacity($opacity); return $this->image->evaluateImage( Imagick::EVALUATE_MULTIPLY, $opacity, Imagick::CHANNEL_ALPHA ); } catch ( Exception $e ) { return new WP_Error( 'image_opacity_error', $e->getMessage() ); } } /** Tints the image a different color * * @supports 3.5.1 * @access public * * @param string hex color e.g. #ff00ff * * @return boolean|WP_Error */ public function colorize( $hexColor ) { try { return $this->image->colorizeImage( $hexColor, 1.0 ); } catch ( Exception $e ) { return new WP_Error( 'image_colorize_error', $e->getMessage() ); } } /** Makes the image grayscale * * @supports 3.5.1 * @access public * * @return boolean|WP_Error */ public function grayscale() { try { return $this->image->modulateImage( 100, 0, 100 ); } catch ( Exception $e ) { return new WP_Error( 'image_grayscale_error', $e->getMessage() ); } } /** Negates the image * * @supports 3.5.1 * @access public * * @return boolean|WP_Error */ public function negate() { try { return $this->image->negateImage( false ); } catch ( Exception $e ) { return new WP_Error( 'image_negate_error', $e->getMessage() ); } } } } /* * Enhanced GD Image Editor */ if ( ! class_exists( 'BFI_Image_Editor_GD_1_3' ) ) { BFI_Class_Factory::addClassVersion( 'BFI_Image_Editor_GD', 'BFI_Image_Editor_GD_1_3', '1.3' ); class BFI_Image_Editor_GD_1_3 extends WP_Image_Editor_GD { /** Rotates current image counter-clockwise by $angle. * Ported from image-edit.php * Added presevation of alpha channels * * @since 3.5.0 * @access public * * @param float $angle * * @return boolean|WP_Error */ public function rotate( $angle ) { if ( function_exists( 'imagerotate' ) ) { $rotated = imagerotate( $this->image, $angle, 0 ); // Add alpha blending imagealphablending( $rotated, true ); imagesavealpha( $rotated, true ); if ( is_resource( $rotated ) ) { imagedestroy( $this->image ); $this->image = $rotated; $this->update_size(); return true; } } return new WP_Error( 'image_rotate_error', 'Image rotate failed.', $this->file ); } /** Changes the opacity of the image * * @supports 3.5.1 * @access public * * @param float $opacity (0.0-1.0) * * @return boolean|WP_Error */ public function opacity( $opacity ) { $opacity /= 100; $filtered = $this->_opacity( $this->image, $opacity ); if ( is_resource( $filtered ) ) { // imagedestroy($this->image); $this->image = $filtered; return true; } return new WP_Error( 'image_opacity_error', 'Image opacity change failed.', $this->file ); } // from: http://php.net/manual/en/function.imagefilter.php // params: image resource id, opacity (eg. 0.0-1.0) protected function _opacity( $image, $opacity ) { if ( ! function_exists( 'imagealphablending' ) || ! function_exists( 'imagecolorat' ) || ! function_exists( 'imagecolorallocatealpha' ) || ! function_exists( 'imagesetpixel' ) ) { return false; } // get image width and height $w = imagesx( $image ); $h = imagesy( $image ); // turn alpha blending off imagealphablending( $image, false ); // find the most opaque pixel in the image (the one with the smallest alpha value) $minalpha = 127; for ( $x = 0; $x < $w; $x++ ) { for ( $y = 0; $y < $h; $y++ ) { $alpha = ( imagecolorat( $image, $x, $y ) >> 24 ) & 0xFF; if ( $alpha < $minalpha ) { $minalpha = $alpha; } } } // loop through image pixels and modify alpha for each for ( $x = 0; $x < $w; $x++ ) { for ( $y = 0; $y < $h; $y++ ) { // get current alpha value (represents the TANSPARENCY!) $colorxy = imagecolorat( $image, $x, $y ); $alpha = ( $colorxy >> 24 ) & 0xFF; // calculate new alpha if ( $minalpha !== 127 ) { $alpha = 127 + 127 * $opacity * ( $alpha - 127 ) / ( 127 - $minalpha ); } else { $alpha += 127 * $opacity; } // get the color index with new alpha $alphacolorxy = imagecolorallocatealpha( $image, ( $colorxy >> 16 ) & 0xFF, ( $colorxy >> 8 ) & 0xFF, $colorxy & 0xFF, $alpha ); // set pixel with the new color + opacity if ( ! imagesetpixel( $image, $x, $y, $alphacolorxy ) ) { return false; } } } imagesavealpha( $image, true ); return $image; } /** Tints the image a different color * * @supports 3.5.1 * @access public * * @param string hex color e.g. #ff00ff * * @return boolean|WP_Error */ public function colorize( $hexColor ) { if ( function_exists( 'imagefilter' ) && function_exists( 'imagesavealpha' ) && function_exists( 'imagealphablending' ) ) { $hexColor = preg_replace( '#^\##', '', $hexColor ); $r = hexdec( substr( $hexColor, 0, 2 ) ); $g = hexdec( substr( $hexColor, 2, 2 ) ); $b = hexdec( substr( $hexColor, 2, 2 ) ); imagealphablending( $this->image, false ); if ( imagefilter( $this->image, IMG_FILTER_COLORIZE, $r, $g, $b, 0 ) ) { imagesavealpha( $this->image, true ); return true; } } return new WP_Error( 'image_colorize_error', 'Image color change failed.', $this->file ); } /** Makes the image grayscale * * @supports 3.5.1 * @access public * * @return boolean|WP_Error */ public function grayscale() { if ( function_exists( 'imagefilter' ) ) { if ( imagefilter( $this->image, IMG_FILTER_GRAYSCALE ) ) { return true; } } return new WP_Error( 'image_grayscale_error', 'Image grayscale failed.', $this->file ); } /** Negates the image * * @supports 3.5.1 * @access public * * @return boolean|WP_Error */ public function negate() { if ( function_exists( 'imagefilter' ) ) { if ( imagefilter( $this->image, IMG_FILTER_NEGATE ) ) { return true; } } return new WP_Error( 'image_negate_error', 'Image negate failed.', $this->file ); } } } /* * Main Class */ if ( ! class_exists( 'BFI_Thumb_1_3' ) ) { BFI_Class_Factory::addClassVersion( 'BFI_Thumb', 'BFI_Thumb_1_3', '1.3' ); class BFI_Thumb_1_3 { /** Uses WP's Image Editor Class to resize and filter images * Inspired by: https://github.com/sy4mil/Aqua-Resizer/blob/master/aq_resizer.php * * @param $url string the local image URL to manipulate * @param $params array the options to perform on the image. Keys and values supported: * 'width' int pixels * 'height' int pixels * 'opacity' int 0-100 * 'color' string hex-color #000000-#ffffff * 'grayscale' bool * 'crop' bool * 'negate' bool * 'crop_only' bool * 'crop_x' bool string * 'crop_y' bool string * 'crop_width' bool string * 'crop_height' bool string * 'quality' int 1-100 * @param $single boolean, if false then an array of data will be returned * * @return string|array */ public static function thumb( $url, $params = array(), $single = true ) { extract( $params ); //validate inputs if ( ! $url ) { return false; } $crop_only = isset( $crop_only ) ? $crop_only : false; //define upload path & dir $upload_info = wp_upload_dir(); $upload_dir = $upload_info['basedir']; $upload_url = $upload_info['baseurl']; $theme_url = get_template_directory_uri(); $theme_dir = get_template_directory(); // find the path of the image. Perform 2 checks: // #1 check if the image is in the uploads folder if ( strpos( $url, $upload_url ) !== false ) { $rel_path = str_replace( $upload_url, '', $url ); $img_path = $upload_dir . $rel_path; // #2 check if the image is in the current theme folder } else if ( strpos( $url, $theme_url ) !== false ) { $rel_path = str_replace( $theme_url, '', $url ); $img_path = $theme_dir . $rel_path; } // Fail if we can't find the image in our WP local directory if ( empty( $img_path ) ) { return $url; } // check if img path exists, and is an image indeed if ( ! @file_exists( $img_path ) || ! getimagesize( $img_path ) ) { return $url; } // This is the filename $basename = basename( $img_path ); //get image info $info = pathinfo( $img_path ); $ext = $info['extension']; list( $orig_w, $orig_h ) = getimagesize( $img_path ); // support percentage dimensions. compute percentage based on // the original dimensions if ( isset( $width ) ) { if ( stripos( $width, '%' ) !== false ) { $width = (int) ( (float) str_replace( '%', '', $width ) / 100 * $orig_w ); } } if ( isset( $height ) ) { if ( stripos( $height, '%' ) !== false ) { $height = (int) ( (float) str_replace( '%', '', $height ) / 100 * $orig_h ); } } // The only purpose of this is to determine the final width and height // without performing any actual image manipulation, which will be used // to check whether a resize was previously done. if ( isset( $width ) && $crop_only === false ) { //get image size after cropping $dims = image_resize_dimensions( $orig_w, $orig_h, $width, isset( $height ) ? $height : null, isset( $crop ) ? $crop : false ); $dst_w = isset( $dims[4] ) ? $dims[4] : null; $dst_h = isset( $dims[5] ) ? $dims[5] : null; } else if ( $crop_only === true ) { // we don't want a resize, // but only a crop in the image // get x position to start croping $src_x = ( isset( $crop_x ) ) ? $crop_x : 0; // get y position to start croping $src_y = ( isset( $crop_y ) ) ? $crop_y : 0; // width of the crop if ( isset( $crop_width ) ) { $src_w = $crop_width; } else if ( isset( $width ) ) { $src_w = $width; } else { $src_w = $orig_w; } // height of the crop if ( isset( $crop_height ) ) { $src_h = $crop_height; } else if ( isset( $height ) ) { $src_h = $height; } else { $src_h = $orig_h; } // set the width resize with the crop if ( isset( $crop_width ) && isset( $width ) ) { $dst_w = $width; } else { $dst_w = null; } // set the height resize with the crop if ( isset( $crop_height ) && isset( $height ) ) { $dst_h = $height; } else { $dst_h = null; } // allow percentages if ( isset( $dst_w ) ) { if ( stripos( $dst_w, '%' ) !== false ) { $dst_w = (int) ( (float) str_replace( '%', '', $dst_w ) / 100 * $orig_w ); } } if ( isset( $dst_h ) ) { if ( stripos( $dst_h, '%' ) !== false ) { $dst_h = (int) ( (float) str_replace( '%', '', $dst_h ) / 100 * $orig_h ); } } $dims = image_resize_dimensions( $src_w, $src_h, $dst_w, $dst_h, false ); $dst_w = $dims[4]; $dst_h = $dims[5]; // Make the pos x and pos y work with percentages if ( stripos( $src_x, '%' ) !== false ) { $src_x = (int) ( (float) str_replace( '%', '', $width ) / 100 * $orig_w ); } if ( stripos( $src_y, '%' ) !== false ) { $src_y = (int) ( (float) str_replace( '%', '', $height ) / 100 * $orig_h ); } // allow center to position crop start if ( $src_x === 'center' ) { $src_x = ( $orig_w - $src_w ) / 2; } if ( $src_y === 'center' ) { $src_y = ( $orig_h - $src_h ) / 2; } } // create the suffix for the saved file // we can use this to check whether we need to create a new file or just use an existing one. $suffix = (string) filemtime( $img_path ) . ( isset( $width ) ? str_pad( (string) $width, 5, '0', STR_PAD_LEFT ) : '00000' ) . ( isset( $height ) ? str_pad( (string) $height, 5, '0', STR_PAD_LEFT ) : '00000' ) . ( isset( $opacity ) ? str_pad( (string) $opacity, 3, '0', STR_PAD_LEFT ) : '100' ) . ( isset( $color ) ? str_pad( preg_replace( '#^\##', '', $color ), 8, '0', STR_PAD_LEFT ) : '00000000' ) . ( isset( $grayscale ) ? ( $grayscale ? '1' : '0' ) : '0' ) . ( isset( $crop ) ? ( $crop ? '1' : '0' ) : '0' ) . ( isset( $negate ) ? ( $negate ? '1' : '0' ) : '0' ) . ( isset( $crop_only ) ? ( $crop_only ? '1' : '0' ) : '0' ) . ( isset( $src_x ) ? str_pad( (string) $src_x, 5, '0', STR_PAD_LEFT ) : '00000' ) . ( isset( $src_y ) ? str_pad( (string) $src_y, 5, '0', STR_PAD_LEFT ) : '00000' ) . ( isset( $src_w ) ? str_pad( (string) $src_w, 5, '0', STR_PAD_LEFT ) : '00000' ) . ( isset( $src_h ) ? str_pad( (string) $src_h, 5, '0', STR_PAD_LEFT ) : '00000' ) . ( isset( $dst_w ) ? str_pad( (string) $dst_w, 5, '0', STR_PAD_LEFT ) : '00000' ) . ( isset( $dst_h ) ? str_pad( (string) $dst_h, 5, '0', STR_PAD_LEFT ) : '00000' ) . ( ( isset ( $quality ) && $quality > 0 && $quality <= 100 ) ? ( $quality ? (string) $quality : '0' ) : '0' ); $suffix = self::base_convert_arbitrary( $suffix, 10, 36 ); // use this to check if cropped image already exists, so we can return that instead $dst_rel_path = str_replace( '.' . $ext, '', basename( $img_path ) ); // If opacity is set, change the image type to png if ( isset( $opacity ) ) { $ext = 'png'; } // Create the upload subdirectory, this is where // we store all our generated images if ( defined( 'BFITHUMB_UPLOAD_DIR' ) ) { $upload_dir .= "/" . BFITHUMB_UPLOAD_DIR; $upload_url .= "/" . BFITHUMB_UPLOAD_DIR; } else { $upload_dir .= "/bfi_thumb"; $upload_url .= "/bfi_thumb"; } if ( ! is_dir( $upload_dir ) ) { wp_mkdir_p( $upload_dir ); } // desination paths and urls $destfilename = "{$upload_dir}/{$dst_rel_path}-{$suffix}.{$ext}"; // The urls generated have lower case extensions regardless of the original case $ext = strtolower( $ext ); $img_url = "{$upload_url}/{$dst_rel_path}-{$suffix}.{$ext}"; // if file exists, just return it if ( @file_exists( $destfilename ) && getimagesize( $destfilename ) ) { } else { // perform resizing and other filters $editor = wp_get_image_editor( $img_path ); if ( is_wp_error( $editor ) ) { return false; } /* * Perform image manipulations */ if ( $crop_only === false ) { if ( ( isset( $width ) && $width ) || ( isset( $height ) && $height ) ) { if ( is_wp_error( $editor->resize( isset( $width ) ? $width : null, isset( $height ) ? $height : null, isset( $crop ) ? $crop : false ) ) ) { return false; } } } else { if ( is_wp_error( $editor->crop( $src_x, $src_y, $src_w, $src_h, $dst_w, $dst_h ) ) ) { return false; } } if ( isset( $negate ) ) { if ( $negate ) { if ( is_wp_error( $editor->negate() ) ) { return false; } } } if ( isset( $opacity ) ) { if ( is_wp_error( $editor->opacity( $opacity ) ) ) { return false; } } if ( isset( $grayscale ) ) { if ( $grayscale ) { if ( is_wp_error( $editor->grayscale() ) ) { return false; } } } if ( isset( $color ) ) { if ( is_wp_error( $editor->colorize( $color ) ) ) { return false; } } // set the image quality (1-100) to save this image at if ( isset( $quality ) && $quality > 0 && $quality <= 100 && $ext != 'png' ) { $editor->set_quality( $quality ); } // save our new image $mime_type = isset( $opacity ) ? 'image/png' : null; $resized_file = $editor->save( $destfilename, $mime_type ); } //return the output if ( $single ) { $image = $img_url; } else { //array return $image = array( 0 => $img_url, 1 => isset( $dst_w ) ? $dst_w : $orig_w, 2 => isset( $dst_h ) ? $dst_h : $orig_h, ); } return $image; } /** Shortens a number into a base 36 string * * @param $number string a string of numbers to convert * @param $fromBase starting base * @param $toBase base to convert the number to * * @return string base converted characters */ protected static function base_convert_arbitrary( $number, $fromBase, $toBase ) { $digits = '0123456789abcdefghijklmnopqrstuvwxyz'; $length = strlen( $number ); $result = ''; $nibbles = array(); for ( $i = 0; $i < $length; ++$i ) { $nibbles[ $i ] = strpos( $digits, $number[ $i ] ); } do { $value = 0; $newlen = 0; for ( $i = 0; $i < $length; ++$i ) { $value = $value * $fromBase + $nibbles[ $i ]; if ( $value >= $toBase ) { $nibbles[ $newlen++ ] = (int) ( $value / $toBase ); $value %= $toBase; } else if ( $newlen > 0 ) { $nibbles[ $newlen++ ] = 0; } } $length = $newlen; $result = $digits[ $value ] . $result; } while ( $newlen != 0 ); return $result; } } } // don't use the default resizer since we want to allow resizing to larger sizes (than the original one) // Parts are copied from media.php // Crop is always applied (just like timthumb) // Don't use this inside the admin since sometimes images in the media library get resized if ( ! is_admin() ) { add_filter( 'image_resize_dimensions', 'bfi_image_resize_dimensions', 10, 5 ); } if ( ! function_exists( 'bfi_image_resize_dimensions' ) ) { function bfi_image_resize_dimensions( $payload, $orig_w, $orig_h, $dest_w, $dest_h, $crop = false ) { $aspect_ratio = $orig_w / $orig_h; $new_w = $dest_w; $new_h = $dest_h; if ( empty( $new_w ) || $new_w < 0 ) { $new_w = intval( $new_h * $aspect_ratio ); } if ( empty( $new_h ) || $new_h < 0 ) { $new_h = intval( $new_w / $aspect_ratio ); } $size_ratio = max( $new_w / $orig_w, $new_h / $orig_h ); $crop_w = round( $new_w / $size_ratio ); $crop_h = round( $new_h / $size_ratio ); $s_x = floor( ( $orig_w - $crop_w ) / 2 ); $s_y = floor( ( $orig_h - $crop_h ) / 2 ); // Safe guard against super large or zero images which might cause 500 errors if ( $new_w > 5000 || $new_h > 5000 || $new_w <= 0 || $new_h <= 0 ) { return null; } // the return array matches the parameters to imagecopyresampled() // int dst_x, int dst_y, int src_x, int src_y, int dst_w, int dst_h, int src_w, int src_h return array( 0, 0, (int) $s_x, (int) $s_y, (int) $new_w, (int) $new_h, (int) $crop_w, (int) $crop_h ); } } // This function allows us to latch on WP image functions such as // the_post_thumbnail, get_image_tag and wp_get_attachment_image_src // so that you won't have to use the function bfi_thumb in order to do resizing. // To make this work, in the WP image functions, when specifying an // array for the image dimensions, add a 'bfi_thumb' => true to // the array, then add your normal $params arguments. // // e.g. the_post_thumbnail( array( 1024, 400, 'bfi_thumb' => true, 'grayscale' => true ) ); add_filter( 'image_downsize', 'bfi_image_downsize', 1, 3 ); if ( ! function_exists( 'bfi_image_downsize' ) ) { function bfi_image_downsize( $out, $id, $size ) { if ( ! is_array( $size ) ) { return false; } if ( ! array_key_exists( 'bfi_thumb', $size ) ) { return false; } if ( empty( $size['bfi_thumb'] ) ) { return false; } $img_url = wp_get_attachment_url( $id ); $params = $size; $params['width'] = $size[0]; $params['height'] = $size[1]; $resized_img_url = bfi_thumb( $img_url, $params ); return array( $resized_img_url, $size[0], $size[1], false ); } } includes/libraries/wp-background-process/wp-async-request.php000064400000000463152377341010020513 0ustar00 [ 'iframe' => [ 'allow' => true, 'allowfullscreen' => true, 'frameborder' => true, 'height' => true, 'loading' => true, 'name' => true, 'referrerpolicy' => true, 'sandbox' => true, 'src' => true, 'width' => true, ], ], 'svg' => [ 'svg' => [ 'aria-hidden' => true, 'aria-labelledby' => true, 'class' => true, 'height' => true, 'role' => true, 'viewbox' => true, 'width' => true, 'xmlns' => true, ], 'g' => [ 'fill' => true, ], 'title' => [ 'title' => true, ], 'path' => [ 'd' => true, 'fill' => true, ], ], 'image' => [ 'img' => [ 'srcset' => true, 'sizes' => true, ], ], ]; /** * Is WP CLI. * * @return bool */ public static function is_wp_cli() { return defined( 'WP_CLI' ) && WP_CLI; } /** * Is script debug. * * Whether script debug is enabled or not. * * @since 1.0.0 * @access public * @static * * @return bool True if it's a script debug is active, false otherwise. */ public static function is_script_debug() { return defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG; } /** * Get pro link. * * Retrieve the link to Elementor Pro. * * @since 1.7.0 * @access public * @static * * @param string $link URL to Elementor pro. * * @return string Elementor pro link. */ public static function get_pro_link( $link ) { static $theme_name = false; if ( ! $theme_name ) { $theme_obj = wp_get_theme(); if ( $theme_obj->parent() ) { $theme_name = $theme_obj->parent()->get( 'Name' ); } else { $theme_name = $theme_obj->get( 'Name' ); } $theme_name = sanitize_key( $theme_name ); } $link = add_query_arg( 'utm_term', $theme_name, $link ); return $link; } /** * Replace URLs. * * Replace old URLs to new URLs. This method also updates all the Elementor data. * * @since 2.1.0 * @static * @access public * * @param $from * @param $to * * @return string * @throws \Exception */ public static function replace_urls( $from, $to ) { $from = trim( $from ); $to = trim( $to ); if ( $from === $to ) { throw new \Exception( esc_html__( 'The `from` and `to` URL\'s must be different', 'elementor' ) ); } $is_valid_urls = ( filter_var( $from, FILTER_VALIDATE_URL ) && filter_var( $to, FILTER_VALIDATE_URL ) ); if ( ! $is_valid_urls ) { throw new \Exception( esc_html__( 'The `from` and `to` URL\'s must be valid URL\'s', 'elementor' ) ); } global $wpdb; // @codingStandardsIgnoreStart cannot use `$wpdb->prepare` because it remove's the backslashes $rows_affected = $wpdb->query( "UPDATE {$wpdb->postmeta} " . "SET `meta_value` = REPLACE(`meta_value`, '" . str_replace( '/', '\\\/', $from ) . "', '" . str_replace( '/', '\\\/', $to ) . "') " . "WHERE `meta_key` = '_elementor_data' AND `meta_value` LIKE '[%' ;" ); // meta_value LIKE '[%' are json formatted // @codingStandardsIgnoreEnd if ( false === $rows_affected ) { throw new \Exception( esc_html__( 'An error occurred', 'elementor' ) ); } // Allow externals to replace-urls, when they have to. $rows_affected += (int) apply_filters( 'elementor/tools/replace-urls', 0, $from, $to ); Plugin::$instance->files_manager->clear_cache(); return sprintf( /* translators: %d: Number of rows. */ _n( '%d row affected.', '%d rows affected.', $rows_affected, 'elementor' ), $rows_affected ); } /** * Is post supports Elementor. * * Whether the post supports editing with Elementor. * * @since 1.0.0 * @access public * @static * * @param int $post_id Optional. Post ID. Default is `0`. * * @return string True if post supports editing with Elementor, false otherwise. */ public static function is_post_support( $post_id = 0 ) { $post_type = get_post_type( $post_id ); $is_supported = self::is_post_type_support( $post_type ); /** * Is post type support. * * Filters whether the post type supports editing with Elementor. * * @since 1.0.0 * @deprecated 2.2.0 Use `elementor/utils/is_post_support` Instead * * @param bool $is_supported Whether the post type supports editing with Elementor. * @param int $post_id Post ID. * @param string $post_type Post type. */ $is_supported = apply_filters( 'elementor/utils/is_post_type_support', $is_supported, $post_id, $post_type ); /** * Is post support. * * Filters whether the post supports editing with Elementor. * * @since 2.2.0 * * @param bool $is_supported Whether the post type supports editing with Elementor. * @param int $post_id Post ID. * @param string $post_type Post type. */ $is_supported = apply_filters( 'elementor/utils/is_post_support', $is_supported, $post_id, $post_type ); return $is_supported; } /** * Is post type supports Elementor. * * Whether the post type supports editing with Elementor. * * @since 2.2.0 * @access public * @static * * @param string $post_type Post Type. * * @return string True if post type supports editing with Elementor, false otherwise. */ public static function is_post_type_support( $post_type ) { if ( ! post_type_exists( $post_type ) ) { return false; } if ( ! post_type_supports( $post_type, 'elementor' ) ) { return false; } return true; } /** * Get placeholder image source. * * Retrieve the source of the placeholder image. * * @since 1.0.0 * @access public * @static * * @return string The source of the default placeholder image used by Elementor. */ public static function get_placeholder_image_src() { $placeholder_image = ELEMENTOR_ASSETS_URL . 'images/placeholder.png'; /** * Get placeholder image source. * * Filters the source of the default placeholder image used by Elementor. * * @since 1.0.0 * * @param string $placeholder_image The source of the default placeholder image. */ $placeholder_image = apply_filters( 'elementor/utils/get_placeholder_image_src', $placeholder_image ); return $placeholder_image; } /** * Generate random string. * * Returns a string containing a hexadecimal representation of random number. * * @since 1.0.0 * @access public * @static * * @return string Random string. */ public static function generate_random_string() { return dechex( rand() ); } /** * Do not cache. * * Tell WordPress cache plugins not to cache this request. * * @since 1.0.0 * @access public * @static */ public static function do_not_cache() { if ( ! defined( 'DONOTCACHEPAGE' ) ) { define( 'DONOTCACHEPAGE', true ); } if ( ! defined( 'DONOTCACHEDB' ) ) { define( 'DONOTCACHEDB', true ); } if ( ! defined( 'DONOTMINIFY' ) ) { define( 'DONOTMINIFY', true ); } if ( ! defined( 'DONOTCDN' ) ) { define( 'DONOTCDN', true ); } if ( ! defined( 'DONOTCACHCEOBJECT' ) ) { define( 'DONOTCACHCEOBJECT', true ); } // Set the headers to prevent caching for the different browsers. nocache_headers(); } /** * Get timezone string. * * Retrieve timezone string from the WordPress database. * * @since 1.0.0 * @access public * @static * * @return string Timezone string. */ public static function get_timezone_string() { $current_offset = (float) get_option( 'gmt_offset' ); $timezone_string = get_option( 'timezone_string' ); // Create a UTC+- zone if no timezone string exists. if ( empty( $timezone_string ) ) { if ( $current_offset < 0 ) { $timezone_string = 'UTC' . $current_offset; } else { $timezone_string = 'UTC+' . $current_offset; } } return $timezone_string; } /** * Get create new post URL. * * Retrieve a custom URL for creating a new post/page using Elementor. * * @since 1.9.0 * @access public * @deprecated 3.3.0 * @static * * @param string $post_type Optional. Post type slug. Default is 'page'. * @param string|null $template_type Optional. Query arg 'template_type'. Default is null. * * @return string A URL for creating new post using Elementor. */ public static function get_create_new_post_url( $post_type = 'page', $template_type = null ) { Plugin::$instance->modules_manager->get_modules( 'dev-tools' )->deprecation->deprecated_function( __FUNCTION__, '3.3.0', 'Plugin::$instance->documents->get_create_new_post_url()' ); return Plugin::$instance->documents->get_create_new_post_url( $post_type, $template_type ); } /** * Get post autosave. * * Retrieve an autosave for any given post. * * @since 1.9.2 * @access public * @static * * @param int $post_id Post ID. * @param int $user_id Optional. User ID. Default is `0`. * * @return \WP_Post|false Post autosave or false. */ public static function get_post_autosave( $post_id, $user_id = 0 ) { global $wpdb; $post = get_post( $post_id ); $where = $wpdb->prepare( 'post_parent = %d AND post_name LIKE %s AND post_modified_gmt > %s', [ $post_id, "{$post_id}-autosave%", $post->post_modified_gmt ] ); if ( $user_id ) { $where .= $wpdb->prepare( ' AND post_author = %d', $user_id ); } $revision = $wpdb->get_row( "SELECT * FROM $wpdb->posts WHERE $where AND post_type = 'revision'" ); // phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared if ( $revision ) { $revision = new \WP_Post( $revision ); } else { $revision = false; } return $revision; } /** * Is CPT supports custom templates. * * Whether the Custom Post Type supports templates. * * @since 2.0.0 * @access public * @static * * @return bool True is templates are supported, False otherwise. */ public static function is_cpt_custom_templates_supported() { require_once ABSPATH . '/wp-admin/includes/theme.php'; return method_exists( wp_get_theme(), 'get_post_templates' ); } /** * @since 2.1.2 * @access public * @static */ public static function array_inject( $array, $key, $insert ) { $length = array_search( $key, array_keys( $array ), true ) + 1; return array_slice( $array, 0, $length, true ) + $insert + array_slice( $array, $length, null, true ); } /** * Render html attributes * * @access public * @static * @param array $attributes * * @return string */ public static function render_html_attributes( array $attributes ) { $rendered_attributes = []; foreach ( $attributes as $attribute_key => $attribute_values ) { if ( is_array( $attribute_values ) ) { $attribute_values = implode( ' ', $attribute_values ); } $rendered_attributes[] = sprintf( '%1$s="%2$s"', $attribute_key, esc_attr( $attribute_values ) ); } return implode( ' ', $rendered_attributes ); } /** * Safe print html attributes * * @access public * @static * @param array $attributes */ public static function print_html_attributes( array $attributes ) { // PHPCS - the method render_html_attributes is safe. echo self::render_html_attributes( $attributes ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } public static function get_meta_viewport( $context = '' ) { $meta_tag = ''; /** * Viewport meta tag. * * Filters the meta tag containing the viewport information. * * This hook can be used to change the intial viewport meta tag set by Elementor * and replace it with a different viewport tag. * * @since 2.5.0 * * @param string $meta_tag Viewport meta tag. * @param string $context Page context. */ $meta_tag = apply_filters( 'elementor/template/viewport_tag', $meta_tag, $context ); return $meta_tag; } /** * Add Elementor Config js vars to the relevant script handle, * WP will wrap it with
<# if ( settings.tabs ) { var tabindex = view.getIDInt().toString().substr( 0, 3 ), iconHTML = elementor.helpers.renderIcon( view, settings.selected_icon, {}, 'i' , 'object' ), iconActiveHTML = elementor.helpers.renderIcon( view, settings.selected_active_icon, {}, 'i' , 'object' ), migrated = elementor.helpers.isIconMigrated( settings, 'selected_icon' ); _.each( settings.tabs, function( item, index ) { var tabCount = index + 1, tabTitleKey = view.getRepeaterSettingKey( 'tab_title', 'tabs', index ), tabContentKey = view.getRepeaterSettingKey( 'tab_content', 'tabs', index ); view.addRenderAttribute( tabTitleKey, { 'id': 'elementor-tab-title-' + tabindex + tabCount, 'class': [ 'elementor-tab-title' ], 'tabindex': tabindex + tabCount, 'data-tab': tabCount, 'role': 'tab', 'aria-controls': 'elementor-tab-content-' + tabindex + tabCount, 'aria-expanded': 'false', } ); view.addRenderAttribute( tabContentKey, { 'id': 'elementor-tab-content-' + tabindex + tabCount, 'class': [ 'elementor-tab-content', 'elementor-clearfix' ], 'data-tab': tabCount, 'role': 'tabpanel', 'aria-labelledby': 'elementor-tab-title-' + tabindex + tabCount } ); view.addInlineEditingAttributes( tabContentKey, 'advanced' ); var titleHTMLTag = elementor.helpers.validateHTMLTag( settings.title_html_tag ); #>
<{{{ titleHTMLTag }}} {{{ view.getRenderAttributeString( tabTitleKey ) }}}> <# if ( settings.icon || settings.selected_icon ) { #> <# } #> {{{ item.tab_title }}}
{{{ item.tab_content }}}
<# } ); } #>
start_controls_section( 'section_video', [ 'label' => esc_html__( 'Video', 'elementor' ), ] ); $this->add_control( 'video_type', [ 'label' => esc_html__( 'Source', 'elementor' ), 'type' => Controls_Manager::SELECT, 'default' => 'youtube', 'options' => [ 'youtube' => esc_html__( 'YouTube', 'elementor' ), 'vimeo' => esc_html__( 'Vimeo', 'elementor' ), 'dailymotion' => esc_html__( 'Dailymotion', 'elementor' ), 'hosted' => esc_html__( 'Self Hosted', 'elementor' ), ], 'frontend_available' => true, ] ); $this->add_control( 'youtube_url', [ 'label' => esc_html__( 'Link', 'elementor' ), 'type' => Controls_Manager::TEXT, 'dynamic' => [ 'active' => true, 'categories' => [ TagsModule::POST_META_CATEGORY, TagsModule::URL_CATEGORY, ], ], 'placeholder' => esc_html__( 'Enter your URL', 'elementor' ) . ' (YouTube)', 'default' => 'https://www.youtube.com/watch?v=XHOmBV4js_E', 'label_block' => true, 'condition' => [ 'video_type' => 'youtube', ], 'frontend_available' => true, ] ); $this->add_control( 'vimeo_url', [ 'label' => esc_html__( 'Link', 'elementor' ), 'type' => Controls_Manager::TEXT, 'dynamic' => [ 'active' => true, 'categories' => [ TagsModule::POST_META_CATEGORY, TagsModule::URL_CATEGORY, ], ], 'placeholder' => esc_html__( 'Enter your URL', 'elementor' ) . ' (Vimeo)', 'default' => 'https://vimeo.com/235215203', 'label_block' => true, 'condition' => [ 'video_type' => 'vimeo', ], ] ); $this->add_control( 'dailymotion_url', [ 'label' => esc_html__( 'Link', 'elementor' ), 'type' => Controls_Manager::TEXT, 'dynamic' => [ 'active' => true, 'categories' => [ TagsModule::POST_META_CATEGORY, TagsModule::URL_CATEGORY, ], ], 'placeholder' => esc_html__( 'Enter your URL', 'elementor' ) . ' (Dailymotion)', 'default' => 'https://www.dailymotion.com/video/x6tqhqb', 'label_block' => true, 'condition' => [ 'video_type' => 'dailymotion', ], ] ); $this->add_control( 'insert_url', [ 'label' => esc_html__( 'External URL', 'elementor' ), 'type' => Controls_Manager::SWITCHER, 'condition' => [ 'video_type' => 'hosted', ], ] ); $this->add_control( 'hosted_url', [ 'label' => esc_html__( 'Choose File', 'elementor' ), 'type' => Controls_Manager::MEDIA, 'dynamic' => [ 'active' => true, 'categories' => [ TagsModule::MEDIA_CATEGORY, ], ], 'media_type' => 'video', 'condition' => [ 'video_type' => 'hosted', 'insert_url' => '', ], ] ); $this->add_control( 'external_url', [ 'label' => esc_html__( 'URL', 'elementor' ), 'type' => Controls_Manager::URL, 'autocomplete' => false, 'options' => false, 'label_block' => true, 'show_label' => false, 'dynamic' => [ 'active' => true, 'categories' => [ TagsModule::POST_META_CATEGORY, TagsModule::URL_CATEGORY, ], ], 'media_type' => 'video', 'placeholder' => esc_html__( 'Enter your URL', 'elementor' ), 'condition' => [ 'video_type' => 'hosted', 'insert_url' => 'yes', ], ] ); $this->add_control( 'start', [ 'label' => esc_html__( 'Start Time', 'elementor' ), 'type' => Controls_Manager::NUMBER, 'description' => esc_html__( 'Specify a start time (in seconds)', 'elementor' ), 'frontend_available' => true, ] ); $this->add_control( 'end', [ 'label' => esc_html__( 'End Time', 'elementor' ), 'type' => Controls_Manager::NUMBER, 'description' => esc_html__( 'Specify an end time (in seconds)', 'elementor' ), 'condition' => [ 'video_type' => [ 'youtube', 'hosted' ], ], 'frontend_available' => true, ] ); $this->add_control( 'video_options', [ 'label' => esc_html__( 'Video Options', 'elementor' ), 'type' => Controls_Manager::HEADING, 'separator' => 'before', ] ); $this->add_control( 'autoplay', [ 'label' => esc_html__( 'Autoplay', 'elementor' ), 'type' => Controls_Manager::SWITCHER, 'frontend_available' => true, 'conditions' => [ 'relation' => 'or', 'terms' => [ [ 'name' => 'show_image_overlay', 'value' => '', ], [ 'name' => 'image_overlay[url]', 'value' => '', ], ], ], ] ); $this->add_control( 'play_on_mobile', [ 'label' => esc_html__( 'Play On Mobile', 'elementor' ), 'type' => Controls_Manager::SWITCHER, 'condition' => [ 'autoplay' => 'yes', ], 'frontend_available' => true, ] ); $this->add_control( 'mute', [ 'label' => esc_html__( 'Mute', 'elementor' ), 'type' => Controls_Manager::SWITCHER, 'frontend_available' => true, ] ); $this->add_control( 'loop', [ 'label' => esc_html__( 'Loop', 'elementor' ), 'type' => Controls_Manager::SWITCHER, 'condition' => [ 'video_type!' => 'dailymotion', ], 'frontend_available' => true, ] ); $this->add_control( 'controls', [ 'label' => esc_html__( 'Player Controls', 'elementor' ), 'type' => Controls_Manager::SWITCHER, 'label_off' => esc_html__( 'Hide', 'elementor' ), 'label_on' => esc_html__( 'Show', 'elementor' ), 'default' => 'yes', 'condition' => [ 'video_type!' => 'vimeo', ], 'frontend_available' => true, ] ); $this->add_control( 'showinfo', [ 'label' => esc_html__( 'Video Info', 'elementor' ), 'type' => Controls_Manager::SWITCHER, 'label_off' => esc_html__( 'Hide', 'elementor' ), 'label_on' => esc_html__( 'Show', 'elementor' ), 'default' => 'yes', 'condition' => [ 'video_type' => [ 'dailymotion' ], ], ] ); $this->add_control( 'modestbranding', [ 'label' => esc_html__( 'Modest Branding', 'elementor' ), 'type' => Controls_Manager::SWITCHER, 'condition' => [ 'video_type' => [ 'youtube' ], 'controls' => 'yes', ], 'frontend_available' => true, ] ); $this->add_control( 'logo', [ 'label' => esc_html__( 'Logo', 'elementor' ), 'type' => Controls_Manager::SWITCHER, 'label_off' => esc_html__( 'Hide', 'elementor' ), 'label_on' => esc_html__( 'Show', 'elementor' ), 'default' => 'yes', 'condition' => [ 'video_type' => [ 'dailymotion' ], ], ] ); // YouTube. $this->add_control( 'yt_privacy', [ 'label' => esc_html__( 'Privacy Mode', 'elementor' ), 'type' => Controls_Manager::SWITCHER, 'description' => esc_html__( 'When you turn on privacy mode, YouTube won\'t store information about visitors on your website unless they play the video.', 'elementor' ), 'condition' => [ 'video_type' => 'youtube', ], 'frontend_available' => true, ] ); $this->add_control( 'lazy_load', [ 'label' => esc_html__( 'Lazy Load', 'elementor' ), 'type' => Controls_Manager::SWITCHER, 'conditions' => [ 'relation' => 'or', 'terms' => [ [ 'name' => 'video_type', 'operator' => '===', 'value' => 'youtube', ], [ 'relation' => 'and', 'terms' => [ [ 'name' => 'show_image_overlay', 'operator' => '===', 'value' => 'yes', ], [ 'name' => 'video_type', 'operator' => '!==', 'value' => 'hosted', ], ], ], ], ], 'frontend_available' => true, ] ); $this->add_control( 'rel', [ 'label' => esc_html__( 'Suggested Videos', 'elementor' ), 'type' => Controls_Manager::SELECT, 'options' => [ '' => esc_html__( 'Current Video Channel', 'elementor' ), 'yes' => esc_html__( 'Any Video', 'elementor' ), ], 'condition' => [ 'video_type' => 'youtube', ], ] ); // Vimeo. $this->add_control( 'vimeo_title', [ 'label' => esc_html__( 'Intro Title', 'elementor' ), 'type' => Controls_Manager::SWITCHER, 'label_off' => esc_html__( 'Hide', 'elementor' ), 'label_on' => esc_html__( 'Show', 'elementor' ), 'default' => 'yes', 'condition' => [ 'video_type' => 'vimeo', ], ] ); $this->add_control( 'vimeo_portrait', [ 'label' => esc_html__( 'Intro Portrait', 'elementor' ), 'type' => Controls_Manager::SWITCHER, 'label_off' => esc_html__( 'Hide', 'elementor' ), 'label_on' => esc_html__( 'Show', 'elementor' ), 'default' => 'yes', 'condition' => [ 'video_type' => 'vimeo', ], ] ); $this->add_control( 'vimeo_byline', [ 'label' => esc_html__( 'Intro Byline', 'elementor' ), 'type' => Controls_Manager::SWITCHER, 'label_off' => esc_html__( 'Hide', 'elementor' ), 'label_on' => esc_html__( 'Show', 'elementor' ), 'default' => 'yes', 'condition' => [ 'video_type' => 'vimeo', ], ] ); $this->add_control( 'color', [ 'label' => esc_html__( 'Controls Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'default' => '', 'condition' => [ 'video_type' => [ 'vimeo', 'dailymotion' ], ], ] ); $this->add_control( 'download_button', [ 'label' => esc_html__( 'Download Button', 'elementor' ), 'type' => Controls_Manager::SWITCHER, 'label_off' => esc_html__( 'Hide', 'elementor' ), 'label_on' => esc_html__( 'Show', 'elementor' ), 'condition' => [ 'video_type' => 'hosted', ], ] ); $this->add_control( 'poster', [ 'label' => esc_html__( 'Poster', 'elementor' ), 'type' => Controls_Manager::MEDIA, 'dynamic' => [ 'active' => true, ], 'condition' => [ 'video_type' => 'hosted', ], ] ); $this->add_control( 'view', [ 'label' => esc_html__( 'View', 'elementor' ), 'type' => Controls_Manager::HIDDEN, 'default' => 'youtube', ] ); $this->end_controls_section(); $this->start_controls_section( 'section_image_overlay', [ 'label' => esc_html__( 'Image Overlay', 'elementor' ), ] ); $this->add_control( 'show_image_overlay', [ 'label' => esc_html__( 'Image Overlay', 'elementor' ), 'type' => Controls_Manager::SWITCHER, 'label_off' => esc_html__( 'Hide', 'elementor' ), 'label_on' => esc_html__( 'Show', 'elementor' ), 'frontend_available' => true, ] ); $this->add_control( 'image_overlay', [ 'label' => esc_html__( 'Choose Image', 'elementor' ), 'type' => Controls_Manager::MEDIA, 'default' => [ 'url' => Utils::get_placeholder_image_src(), ], 'dynamic' => [ 'active' => true, ], 'condition' => [ 'show_image_overlay' => 'yes', ], 'frontend_available' => true, ] ); $this->add_group_control( Group_Control_Image_Size::get_type(), [ 'name' => 'image_overlay', // Usage: `{name}_size` and `{name}_custom_dimension`, in this case `image_overlay_size` and `image_overlay_custom_dimension`. 'default' => 'full', 'separator' => 'none', 'condition' => [ 'show_image_overlay' => 'yes', ], ] ); $this->add_control( 'show_play_icon', [ 'label' => esc_html__( 'Play Icon', 'elementor' ), 'type' => Controls_Manager::SWITCHER, 'default' => 'yes', 'condition' => [ 'show_image_overlay' => 'yes', 'image_overlay[url]!' => '', ], ] ); $this->add_control( 'lightbox', [ 'label' => esc_html__( 'Lightbox', 'elementor' ), 'type' => Controls_Manager::SWITCHER, 'frontend_available' => true, 'label_off' => esc_html__( 'Off', 'elementor' ), 'label_on' => esc_html__( 'On', 'elementor' ), 'condition' => [ 'show_image_overlay' => 'yes', 'image_overlay[url]!' => '', ], 'separator' => 'before', ] ); $this->end_controls_section(); $this->start_controls_section( 'section_video_style', [ 'label' => esc_html__( 'Video', 'elementor' ), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_control( 'aspect_ratio', [ 'label' => esc_html__( 'Aspect Ratio', 'elementor' ), 'type' => Controls_Manager::SELECT, 'options' => [ '169' => '16:9', '219' => '21:9', '43' => '4:3', '32' => '3:2', '11' => '1:1', '916' => '9:16', ], 'default' => '169', 'prefix_class' => 'elementor-aspect-ratio-', 'frontend_available' => true, ] ); $this->add_group_control( Group_Control_Css_Filter::get_type(), [ 'name' => 'css_filters', 'selector' => '{{WRAPPER}} .elementor-wrapper', ] ); $this->add_control( 'play_icon_title', [ 'label' => esc_html__( 'Play Icon', 'elementor' ), 'type' => Controls_Manager::HEADING, 'condition' => [ 'show_image_overlay' => 'yes', 'show_play_icon' => 'yes', ], 'separator' => 'before', ] ); $this->add_control( 'play_icon_color', [ 'label' => esc_html__( 'Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .elementor-custom-embed-play i' => 'color: {{VALUE}}', '{{WRAPPER}} .elementor-custom-embed-play svg' => 'fill: {{VALUE}}', ], 'condition' => [ 'show_image_overlay' => 'yes', 'show_play_icon' => 'yes', ], ] ); $this->add_responsive_control( 'play_icon_size', [ 'label' => esc_html__( 'Size', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'range' => [ 'px' => [ 'min' => 10, 'max' => 300, ], ], 'selectors' => [ // Not using a CSS vars because the default size value is coming from a global scss file. '{{WRAPPER}} .elementor-custom-embed-play i' => 'font-size: {{SIZE}}{{UNIT}}', '{{WRAPPER}} .elementor-custom-embed-play svg' => 'width: {{SIZE}}{{UNIT}}; height: {{SIZE}}{{UNIT}};', ], 'condition' => [ 'show_image_overlay' => 'yes', 'show_play_icon' => 'yes', ], ] ); $this->add_group_control( Group_Control_Text_Shadow::get_type(), [ 'name' => 'play_icon_text_shadow', 'selector' => '{{WRAPPER}} .elementor-custom-embed-play i', 'fields_options' => [ 'text_shadow_type' => [ 'label' => _x( 'Shadow', 'Text Shadow Control', 'elementor' ), ], ], 'condition' => [ 'show_image_overlay' => 'yes', 'show_play_icon' => 'yes', ], ] ); $this->end_controls_section(); $this->start_controls_section( 'section_lightbox_style', [ 'label' => esc_html__( 'Lightbox', 'elementor' ), 'tab' => Controls_Manager::TAB_STYLE, 'condition' => [ 'show_image_overlay' => 'yes', 'image_overlay[url]!' => '', 'lightbox' => 'yes', ], ] ); $this->add_control( 'lightbox_color', [ 'label' => esc_html__( 'Background Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'selectors' => [ '#elementor-lightbox-{{ID}}' => 'background-color: {{VALUE}};', ], ] ); $this->add_control( 'lightbox_ui_color', [ 'label' => esc_html__( 'UI Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'selectors' => [ '#elementor-lightbox-{{ID}} .dialog-lightbox-close-button' => 'color: {{VALUE}}', '#elementor-lightbox-{{ID}} .dialog-lightbox-close-button svg' => 'fill: {{VALUE}}', ], ] ); $this->add_control( 'lightbox_ui_color_hover', [ 'label' => esc_html__( 'UI Hover Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'selectors' => [ '#elementor-lightbox-{{ID}} .dialog-lightbox-close-button:hover' => 'color: {{VALUE}}', '#elementor-lightbox-{{ID}} .dialog-lightbox-close-button:hover svg' => 'fill: {{VALUE}}', ], 'separator' => 'after', ] ); $this->add_control( 'lightbox_video_width', [ 'label' => esc_html__( 'Content Width', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'default' => [ 'unit' => '%', ], 'range' => [ '%' => [ 'min' => 30, ], ], 'selectors' => [ '(desktop+)#elementor-lightbox-{{ID}} .elementor-video-container' => 'width: {{SIZE}}{{UNIT}};', ], ] ); $this->add_control( 'lightbox_content_position', [ 'label' => esc_html__( 'Content Position', 'elementor' ), 'type' => Controls_Manager::SELECT, 'frontend_available' => true, 'options' => [ '' => esc_html__( 'Center', 'elementor' ), 'top' => esc_html__( 'Top', 'elementor' ), ], 'selectors' => [ '#elementor-lightbox-{{ID}} .elementor-video-container' => '{{VALUE}}; transform: translateX(-50%);', ], 'selectors_dictionary' => [ 'top' => 'top: 60px', ], ] ); $this->add_responsive_control( 'lightbox_content_animation', [ 'label' => esc_html__( 'Entrance Animation', 'elementor' ), 'type' => Controls_Manager::ANIMATION, 'frontend_available' => true, ] ); $this->end_controls_section(); } public function print_a11y_text( $image_overlay ) { if ( empty( $image_overlay['alt'] ) ) { echo esc_html__( 'Play Video', 'elementor' ); } else { echo esc_html__( 'Play Video about', 'elementor' ) . ' ' . esc_attr( $image_overlay['alt'] ); } } /** * Render video widget output on the frontend. * * Written in PHP and used to generate the final HTML. * * @since 1.0.0 * @access protected */ protected function render() { $settings = $this->get_settings_for_display(); $video_url = $settings[ $settings['video_type'] . '_url' ]; if ( 'hosted' === $settings['video_type'] ) { $video_url = $this->get_hosted_video_url(); } else { $embed_params = $this->get_embed_params(); $embed_options = $this->get_embed_options(); } if ( empty( $video_url ) ) { return; } if ( 'youtube' === $settings['video_type'] ) { $video_html = '
'; } if ( 'hosted' === $settings['video_type'] ) { $this->add_render_attribute( 'video-wrapper', 'class', 'e-hosted-video' ); ob_start(); $this->render_hosted_video(); $video_html = ob_get_clean(); } else { $is_static_render_mode = Plugin::$instance->frontend->is_static_render_mode(); $post_id = get_queried_object_id(); if ( $is_static_render_mode ) { $video_html = Embed::get_embed_thumbnail_html( $video_url, $post_id ); // YouTube API requires a different markup which was set above. } else if ( 'youtube' !== $settings['video_type'] ) { $video_html = Embed::get_embed_html( $video_url, $embed_params, $embed_options ); } } if ( empty( $video_html ) ) { echo esc_url( $video_url ); return; } $this->add_render_attribute( 'video-wrapper', 'class', 'elementor-wrapper' ); if ( ! $settings['lightbox'] ) { $this->add_render_attribute( 'video-wrapper', 'class', 'elementor-fit-aspect-ratio' ); } $this->add_render_attribute( 'video-wrapper', 'class', 'elementor-open-' . ( $settings['lightbox'] ? 'lightbox' : 'inline' ) ); ?>
print_render_attribute_string( 'video-wrapper' ); ?>> has_image_overlay() ) { $this->add_render_attribute( 'image-overlay', 'class', 'elementor-custom-embed-image-overlay' ); if ( $settings['lightbox'] ) { if ( 'hosted' === $settings['video_type'] ) { $lightbox_url = $video_url; } else { $lightbox_url = Embed::get_embed_url( $video_url, $embed_params, $embed_options ); } $lightbox_options = [ 'type' => 'video', 'videoType' => $settings['video_type'], 'url' => $lightbox_url, 'modalOptions' => [ 'id' => 'elementor-lightbox-' . $this->get_id(), 'entranceAnimation' => $settings['lightbox_content_animation'], 'entranceAnimation_tablet' => $settings['lightbox_content_animation_tablet'], 'entranceAnimation_mobile' => $settings['lightbox_content_animation_mobile'], 'videoAspectRatio' => $settings['aspect_ratio'], ], ]; if ( 'hosted' === $settings['video_type'] ) { $lightbox_options['videoParams'] = $this->get_hosted_params(); } $this->add_render_attribute( 'image-overlay', [ 'data-elementor-open-lightbox' => 'yes', 'data-elementor-lightbox' => wp_json_encode( $lightbox_options ), 'e-action-hash' => Plugin::instance()->frontend->create_action_hash( 'lightbox', $lightbox_options ), ] ); if ( Plugin::$instance->editor->is_edit_mode() ) { $this->add_render_attribute( 'image-overlay', [ 'class' => 'elementor-clickable', ] ); } } else { // When there is an image URL but no ID, it means the overlay image is the placeholder. In this case, get the placeholder URL. if ( empty( $settings['image_overlay']['id'] && ! empty( $settings['image_overlay']['url'] ) ) ) { $image_url = $settings['image_overlay']['url']; } else { $image_url = Group_Control_Image_Size::get_attachment_image_src( $settings['image_overlay']['id'], 'image_overlay', $settings ); } $this->add_render_attribute( 'image-overlay', 'style', 'background-image: url(' . $image_url . ');' ); } ?>
print_render_attribute_string( 'image-overlay' ); ?>>
'eicons', 'value' => 'eicon-play', ], [ 'aria-hidden' => 'true' ] ); ?> print_a11y_text( $settings['image_overlay'] ); ?>
get_settings_for_display(); if ( 'hosted' !== $settings['video_type'] ) { $url = $settings[ $settings['video_type'] . '_url' ]; } else { $url = $this->get_hosted_video_url(); } echo esc_url( $url ); } /** * Get embed params. * * Retrieve video widget embed parameters. * * @since 1.5.0 * @access public * * @return array Video embed parameters. */ public function get_embed_params() { $settings = $this->get_settings_for_display(); $params = []; if ( $settings['autoplay'] && ! $this->has_image_overlay() ) { $params['autoplay'] = '1'; if ( $settings['play_on_mobile'] ) { $params['playsinline'] = '1'; } } $params_dictionary = []; if ( 'youtube' === $settings['video_type'] ) { $params_dictionary = [ 'loop', 'controls', 'mute', 'rel', 'modestbranding', ]; if ( $settings['loop'] ) { $video_properties = Embed::get_video_properties( $settings['youtube_url'] ); $params['playlist'] = $video_properties['video_id']; } $params['start'] = $settings['start']; $params['end'] = $settings['end']; $params['wmode'] = 'opaque'; } elseif ( 'vimeo' === $settings['video_type'] ) { $params_dictionary = [ 'loop', 'mute' => 'muted', 'vimeo_title' => 'title', 'vimeo_portrait' => 'portrait', 'vimeo_byline' => 'byline', ]; $params['color'] = str_replace( '#', '', $settings['color'] ); $params['autopause'] = '0'; } elseif ( 'dailymotion' === $settings['video_type'] ) { $params_dictionary = [ 'controls', 'mute', 'showinfo' => 'ui-start-screen-info', 'logo' => 'ui-logo', ]; $params['ui-highlight'] = str_replace( '#', '', $settings['color'] ); $params['start'] = $settings['start']; $params['endscreen-enable'] = '0'; } foreach ( $params_dictionary as $key => $param_name ) { $setting_name = $param_name; if ( is_string( $key ) ) { $setting_name = $key; } $setting_value = $settings[ $setting_name ] ? '1' : '0'; $params[ $param_name ] = $setting_value; } return $params; } /** * Whether the video widget has an overlay image or not. * * Used to determine whether an overlay image was set for the video. * * @since 1.0.0 * @access protected * * @return bool Whether an image overlay was set for the video. */ protected function has_image_overlay() { $settings = $this->get_settings_for_display(); return ! empty( $settings['image_overlay']['url'] ) && 'yes' === $settings['show_image_overlay']; } /** * @since 2.1.0 * @access private */ private function get_embed_options() { $settings = $this->get_settings_for_display(); $embed_options = []; if ( 'youtube' === $settings['video_type'] ) { $embed_options['privacy'] = $settings['yt_privacy']; } elseif ( 'vimeo' === $settings['video_type'] ) { $embed_options['start'] = $settings['start']; } $embed_options['lazy_load'] = ! empty( $settings['lazy_load'] ); return $embed_options; } /** * @since 2.1.0 * @access private */ private function get_hosted_params() { $settings = $this->get_settings_for_display(); $video_params = []; foreach ( [ 'autoplay', 'loop', 'controls' ] as $option_name ) { if ( $settings[ $option_name ] ) { $video_params[ $option_name ] = ''; } } if ( $settings['mute'] ) { $video_params['muted'] = 'muted'; } if ( $settings['play_on_mobile'] ) { $video_params['playsinline'] = ''; } if ( ! $settings['download_button'] ) { $video_params['controlsList'] = 'nodownload'; } if ( $settings['poster']['url'] ) { $video_params['poster'] = $settings['poster']['url']; } return $video_params; } /** * @param bool $from_media * * @return string * @since 2.1.0 * @access private */ private function get_hosted_video_url() { $settings = $this->get_settings_for_display(); if ( ! empty( $settings['insert_url'] ) ) { $video_url = $settings['external_url']['url']; } else { $video_url = $settings['hosted_url']['url']; } if ( empty( $video_url ) ) { return ''; } if ( $settings['start'] || $settings['end'] ) { $video_url .= '#t='; } if ( $settings['start'] ) { $video_url .= $settings['start']; } if ( $settings['end'] ) { $video_url .= ',' . $settings['end']; } return $video_url; } /** * * @since 2.1.0 * @access private */ private function render_hosted_video() { $video_url = $this->get_hosted_video_url(); if ( empty( $video_url ) ) { return; } $video_params = $this->get_hosted_params(); /* Sometimes the video url is base64, therefore we use `esc_attr` in `src`. */ ?> [ 'label' => _x( 'Curly', 'shapes', 'elementor' ), 'shape' => '', 'preserve_aspect_ratio' => false, 'supports_amount' => true, 'round' => false, 'group' => 'line', ], 'curved' => [ 'label' => _x( 'Curved', 'shapes', 'elementor' ), 'shape' => '', 'preserve_aspect_ratio' => false, 'supports_amount' => true, 'round' => false, 'group' => 'line', ], 'multiple' => [ 'label' => _x( 'Multiple', 'shapes', 'elementor' ), 'shape' => '', 'preserve_aspect_ratio' => false, 'supports_amount' => false, 'round' => false, 'group' => 'pattern', ], 'slashes' => [ 'label' => _x( 'Slashes', 'shapes', 'elementor' ), 'shape' => '', 'preserve_aspect_ratio' => false, 'supports_amount' => true, 'round' => false, 'view_box' => '0 0 20 16', 'group' => 'line', ], 'squared' => [ 'label' => _x( 'Squared', 'shapes', 'elementor' ), 'shape' => '', 'preserve_aspect_ratio' => false, 'supports_amount' => true, 'round' => false, 'group' => 'line', ], 'wavy' => [ 'label' => _x( 'Wavy', 'shapes', 'elementor' ), 'shape' => '', 'preserve_aspect_ratio' => false, 'supports_amount' => true, 'round' => false, 'group' => 'line', ], 'zigzag' => [ 'label' => _x( 'Zigzag', 'shapes', 'elementor' ), 'shape' => '', 'preserve_aspect_ratio' => false, 'supports_amount' => true, 'round' => false, 'group' => 'line', ], 'arrows' => [ 'label' => _x( 'Arrows', 'shapes', 'elementor' ), 'shape' => '', 'preserve_aspect_ratio' => true, 'supports_amount' => true, 'round' => true, 'group' => 'pattern', ], 'pluses' => [ 'label' => _x( 'Pluses', 'shapes', 'elementor' ), 'shape' => '', 'preserve_aspect_ratio' => true, 'supports_amount' => true, 'round' => false, 'group' => 'pattern', ], 'rhombus' => [ 'label' => _x( 'Rhombus', 'shapes', 'elementor' ), 'shape' => '', 'preserve_aspect_ratio' => false, 'supports_amount' => true, 'round' => false, 'group' => 'pattern', ], 'parallelogram' => [ 'label' => _x( 'Parallelogram', 'shapes', 'elementor' ), 'shape' => '', 'preserve_aspect_ratio' => false, 'supports_amount' => true, 'round' => false, 'group' => 'pattern', ], 'rectangles' => [ 'label' => _x( 'Rectangles', 'shapes', 'elementor' ), 'shape' => '', 'preserve_aspect_ratio' => false, 'supports_amount' => true, 'round' => true, 'group' => 'pattern', 'view_box' => '0 0 60 30', ], 'dots_tribal' => [ 'label' => _x( 'Dots', 'shapes', 'elementor' ), 'shape' => '', 'preserve_aspect_ratio' => true, 'supports_amount' => false, 'round' => false, 'group' => 'tribal', 'view_box' => '0 0 126 26', ], 'trees_2_tribal' => [ 'label' => _x( 'Fir Tree', 'shapes', 'elementor' ), 'shape' => '', 'preserve_aspect_ratio' => true, 'supports_amount' => false, 'round' => false, 'group' => 'tribal', 'view_box' => '0 0 126 26', ], 'rounds_tribal' => [ 'label' => _x( 'Half Rounds', 'shapes', 'elementor' ), 'shape' => '', 'preserve_aspect_ratio' => true, 'supports_amount' => false, 'round' => false, 'group' => 'tribal', 'view_box' => '0 0 120 26', ], 'leaves_tribal' => [ 'label' => _x( 'Leaves', 'shapes', 'elementor' ), 'shape' => '', 'preserve_aspect_ratio' => true, 'supports_amount' => false, 'round' => false, 'group' => 'tribal', 'view_box' => '0 0 117 26', ], 'stripes_tribal' => [ 'label' => _x( 'Stripes', 'shapes', 'elementor' ), 'shape' => '', 'preserve_aspect_ratio' => true, 'supports_amount' => false, 'round' => false, 'group' => 'tribal', 'view_box' => '0 0 120 26', ], 'squares_tribal' => [ 'label' => _x( 'Squares', 'shapes', 'elementor' ), 'shape' => '', 'preserve_aspect_ratio' => true, 'supports_amount' => false, 'round' => false, 'group' => 'tribal', 'view_box' => '0 0 126 26', ], 'trees_tribal' => [ 'label' => _x( 'Trees', 'shapes', 'elementor' ), 'shape' => '', 'preserve_aspect_ratio' => true, 'supports_amount' => false, 'round' => false, 'group' => 'tribal', 'view_box' => '0 0 123 26', ], 'planes_tribal' => [ 'label' => _x( 'Tribal', 'shapes', 'elementor' ), 'shape' => '', 'preserve_aspect_ratio' => true, 'supports_amount' => false, 'round' => false, 'group' => 'tribal', 'view_box' => '0 0 121 26', ], 'x_tribal' => [ 'label' => _x( 'X', 'shapes', 'elementor' ), 'shape' => '', 'preserve_aspect_ratio' => true, 'supports_amount' => false, 'round' => false, 'group' => 'tribal', 'view_box' => '0 0 126 26', ], 'zigzag_tribal' => [ 'label' => _x( 'Zigzag', 'shapes', 'elementor' ), 'shape' => '', 'preserve_aspect_ratio' => true, 'supports_amount' => false, 'round' => false, 'group' => 'tribal', 'view_box' => '0 0 120 26', ], ] ); } private function filter_styles_by( $array, $key, $value ) { return array_filter( $array, function( $style ) use ( $key, $value ) { return $value === $style[ $key ]; } ); } private function get_options_by_groups( $styles, $group = false ) { $groups = [ 'line' => [ 'label' => esc_html__( 'Line', 'elementor' ), 'options' => [ 'solid' => esc_html__( 'Solid', 'elementor' ), 'double' => esc_html__( 'Double', 'elementor' ), 'dotted' => esc_html__( 'Dotted', 'elementor' ), 'dashed' => esc_html__( 'Dashed', 'elementor' ), ], ], ]; foreach ( $styles as $key => $style ) { if ( ! isset( $groups[ $style['group'] ] ) ) { $groups[ $style['group'] ] = [ 'label' => ucwords( str_replace( '_', '', $style['group'] ) ), 'options' => [], ]; } $groups[ $style['group'] ]['options'][ $key ] = $style['label']; } if ( $group && isset( $groups[ $group ] ) ) { return $groups[ $group ]; } return $groups; } /** * Register divider widget controls. * * Adds different input fields to allow the user to change and customize the widget settings. * * @since 3.1.0 * @access protected */ protected function register_controls() { $styles = $this->get_separator_styles(); $this->start_controls_section( 'section_divider', [ 'label' => esc_html__( 'Divider', 'elementor' ), ] ); $this->add_control( 'style', [ 'label' => esc_html__( 'Style', 'elementor' ), 'type' => Controls_Manager::SELECT, 'groups' => array_values( $this->get_options_by_groups( $styles ) ), 'render_type' => 'template', 'default' => 'solid', 'selectors' => [ '{{WRAPPER}}' => '--divider-border-style: {{VALUE}}', ], ] ); $this->add_control( 'separator_type', [ 'type' => Controls_Manager::HIDDEN, 'default' => 'pattern', 'prefix_class' => 'elementor-widget-divider--separator-type-', 'condition' => [ 'style!' => [ '', 'solid', 'double', 'dotted', 'dashed', ], ], 'render_type' => 'template', ] ); $this->add_control( 'pattern_spacing_flag', [ 'type' => Controls_Manager::HIDDEN, 'default' => 'no-spacing', 'prefix_class' => 'elementor-widget-divider--', 'condition' => [ 'style' => array_keys( $this->filter_styles_by( $styles, 'supports_amount', false ) ), ], 'render_type' => 'template', ] ); $this->add_control( 'pattern_round_flag', [ 'type' => Controls_Manager::HIDDEN, 'default' => 'bg-round', 'prefix_class' => 'elementor-widget-divider--', 'condition' => [ 'style' => array_keys( $this->filter_styles_by( $styles, 'round', true ) ), ], ] ); $this->add_responsive_control( 'width', [ 'label' => esc_html__( 'Width', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'size_units' => [ '%', 'px' ], 'range' => [ 'px' => [ 'max' => 1000, ], ], 'default' => [ 'size' => 100, 'unit' => '%', ], 'tablet_default' => [ 'unit' => '%', ], 'mobile_default' => [ 'unit' => '%', ], 'selectors' => [ '{{WRAPPER}} .elementor-divider-separator' => 'width: {{SIZE}}{{UNIT}};', ], ] ); $this->add_responsive_control( 'align', [ 'label' => esc_html__( 'Alignment', 'elementor' ), 'type' => Controls_Manager::CHOOSE, 'options' => [ 'left' => [ 'title' => esc_html__( 'Left', 'elementor' ), 'icon' => 'eicon-text-align-left', ], 'center' => [ 'title' => esc_html__( 'Center', 'elementor' ), 'icon' => 'eicon-text-align-center', ], 'right' => [ 'title' => esc_html__( 'Right', 'elementor' ), 'icon' => 'eicon-text-align-right', ], ], 'selectors' => [ '{{WRAPPER}} .elementor-divider' => 'text-align: {{VALUE}}', '{{WRAPPER}} .elementor-divider-separator' => 'margin: 0 auto; margin-{{VALUE}}: 0', ], ] ); $this->add_control( 'look', [ 'label' => esc_html__( 'Add Element', 'elementor' ), 'type' => Controls_Manager::CHOOSE, 'default' => 'line', 'options' => [ 'line' => [ 'title' => esc_html__( 'None', 'elementor' ), 'icon' => 'eicon-ban', ], 'line_text' => [ 'title' => esc_html__( 'Text', 'elementor' ), 'icon' => 'eicon-t-letter-bold', ], 'line_icon' => [ 'title' => esc_html__( 'Icon', 'elementor' ), 'icon' => 'eicon-star', ], ], 'separator' => 'before', 'prefix_class' => 'elementor-widget-divider--view-', 'toggle' => false, 'render_type' => 'template', ] ); $this->add_control( 'view', [ 'label' => esc_html__( 'View', 'elementor' ), 'type' => Controls_Manager::HIDDEN, 'default' => 'traditional', ] ); $this->add_control( 'text', [ 'label' => esc_html__( 'Text', 'elementor' ), 'type' => Controls_Manager::TEXT, 'condition' => [ 'look' => 'line_text', ], 'default' => esc_html__( 'Divider', 'elementor' ), 'dynamic' => [ 'active' => true, ], ] ); $this->add_control( 'html_tag', [ 'label' => esc_html__( 'HTML Tag', 'elementor' ), 'type' => Controls_Manager::SELECT, 'condition' => [ 'look' => 'line_text', ], 'options' => [ 'h1' => 'H1', 'h2' => 'H2', 'h3' => 'H3', 'h4' => 'H4', 'h5' => 'H5', 'h6' => 'H6', 'div' => 'div', 'span' => 'span', 'p' => 'p', ], 'default' => 'span', ] ); $this->add_control( 'icon', [ 'label' => esc_html__( 'Icon', 'elementor' ), 'type' => Controls_Manager::ICONS, 'default' => [ 'value' => 'fas fa-star', 'library' => 'fa-solid', ], 'condition' => [ 'look' => 'line_icon', ], ] ); $this->end_controls_section(); $this->start_controls_section( 'section_divider_style', [ 'label' => esc_html__( 'Divider', 'elementor' ), 'tab' => Controls_Manager::TAB_STYLE, 'condition' => [ 'style!' => 'none', ], ] ); $this->add_control( 'color', [ 'label' => esc_html__( 'Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'global' => [ 'default' => Global_Colors::COLOR_SECONDARY, ], 'default' => '#000', 'render_type' => 'template', 'selectors' => [ '{{WRAPPER}}' => '--divider-color: {{VALUE}}', ], ] ); $this->add_control( 'weight', [ 'label' => esc_html__( 'Weight', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'default' => [ 'size' => 1, ], 'range' => [ 'px' => [ 'min' => 1, 'max' => 10, 'step' => 0.1, ], ], 'render_type' => 'template', 'condition' => [ 'style' => array_keys( $this->get_options_by_groups( $styles, 'line' )['options'] ), ], 'selectors' => [ '{{WRAPPER}}' => '--divider-border-width: {{SIZE}}{{UNIT}}', ], ] ); $this->add_control( 'pattern_height', [ 'label' => esc_html__( 'Size', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'selectors' => [ '{{WRAPPER}}' => '--divider-pattern-height: {{SIZE}}{{UNIT}}', ], 'default' => [ 'size' => 20, ], 'range' => [ 'px' => [ 'step' => 0.1, ], ], 'condition' => [ 'style!' => [ '', 'solid', 'double', 'dotted', 'dashed', ], ], ] ); $this->add_control( 'pattern_size', [ 'label' => esc_html__( 'Amount', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'size_units' => [ '%', 'px' ], 'selectors' => [ '{{WRAPPER}}' => '--divider-pattern-size: {{SIZE}}{{UNIT}}', ], 'default' => [ 'size' => 20, ], 'range' => [ 'px' => [ 'step' => 0.1, ], '%' => [ 'step' => 0.01, ], ], 'condition' => [ 'style!' => array_merge( array_keys( $this->filter_styles_by( $styles, 'supports_amount', false ) ), [ '', 'solid', 'double', 'dotted', 'dashed', ] ), ], ] ); $this->add_responsive_control( 'gap', [ 'label' => esc_html__( 'Gap', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'default' => [ 'size' => 15, ], 'range' => [ 'px' => [ 'min' => 2, 'max' => 50, ], ], 'selectors' => [ '{{WRAPPER}} .elementor-divider' => 'padding-top: {{SIZE}}{{UNIT}}; padding-bottom: {{SIZE}}{{UNIT}};', ], 'separator' => 'before', ] ); $this->end_controls_section(); $this->start_controls_section( 'section_text_style', [ 'label' => esc_html__( 'Text', 'elementor' ), 'tab' => Controls_Manager::TAB_STYLE, 'condition' => [ 'look' => 'line_text', ], ] ); $this->add_control( 'text_color', [ 'label' => esc_html__( 'Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'global' => [ 'default' => Global_Colors::COLOR_SECONDARY, ], 'selectors' => [ '{{WRAPPER}} .elementor-divider__text' => 'color: {{VALUE}}', ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'typography', 'global' => [ 'default' => Global_Typography::TYPOGRAPHY_SECONDARY, ], 'selector' => '{{WRAPPER}} .elementor-divider__text', ] ); $this->add_control( 'text_align', [ 'label' => esc_html__( 'Position', 'elementor' ), 'type' => Controls_Manager::CHOOSE, 'options' => [ 'left' => [ 'title' => esc_html__( 'Left', 'elementor' ), 'icon' => 'eicon-h-align-left', ], 'center' => [ 'title' => esc_html__( 'Center', 'elementor' ), 'icon' => 'eicon-h-align-center', ], 'right' => [ 'title' => esc_html__( 'Right', 'elementor' ), 'icon' => 'eicon-h-align-right', ], ], 'default' => 'center', 'prefix_class' => 'elementor-widget-divider--element-align-', ] ); $this->add_responsive_control( 'text_spacing', [ 'label' => esc_html__( 'Spacing', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'range' => [ 'px' => [ 'min' => 0, 'max' => 50, ], ], 'selectors' => [ '{{WRAPPER}}' => '--divider-element-spacing: {{SIZE}}{{UNIT}};', ], ] ); $this->end_controls_section(); $this->start_controls_section( 'section_icon_style', [ 'label' => esc_html__( 'Icon', 'elementor' ), 'tab' => Controls_Manager::TAB_STYLE, 'condition' => [ 'look' => 'line_icon', ], ] ); $this->add_control( 'icon_view', [ 'label' => esc_html__( 'View', 'elementor' ), 'type' => Controls_Manager::SELECT, 'options' => [ 'default' => esc_html__( 'Default', 'elementor' ), 'stacked' => esc_html__( 'Stacked', 'elementor' ), 'framed' => esc_html__( 'Framed', 'elementor' ), ], 'default' => 'default', 'prefix_class' => 'elementor-view-', ] ); $this->add_responsive_control( 'icon_size', [ 'label' => esc_html__( 'Size', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'range' => [ 'px' => [ 'min' => 6, 'max' => 300, ], ], 'selectors' => [ '{{WRAPPER}}' => '--divider-icon-size: {{SIZE}}{{UNIT}};', ], ] ); $this->add_control( 'icon_padding', [ 'label' => esc_html__( 'Padding', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'selectors' => [ '{{WRAPPER}} .elementor-icon' => 'padding: {{SIZE}}{{UNIT}};', ], 'range' => [ 'em' => [ 'min' => 0, 'max' => 5, ], ], 'condition' => [ 'icon_view!' => 'default', ], ] ); $this->add_control( 'primary_color', [ 'label' => esc_html__( 'Primary Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'default' => '', 'selectors' => [ '{{WRAPPER}}.elementor-view-stacked .elementor-icon' => 'background-color: {{VALUE}};', '{{WRAPPER}}.elementor-view-framed .elementor-icon, {{WRAPPER}}.elementor-view-default .elementor-icon' => 'color: {{VALUE}}; border-color: {{VALUE}};', '{{WRAPPER}}.elementor-view-framed .elementor-icon, {{WRAPPER}}.elementor-view-default .elementor-icon svg' => 'fill: {{VALUE}};', ], 'global' => [ 'default' => Global_Colors::COLOR_SECONDARY, ], ] ); $this->add_control( 'secondary_color', [ 'label' => esc_html__( 'Secondary Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'default' => '', 'condition' => [ 'icon_view!' => 'default', ], 'selectors' => [ '{{WRAPPER}}.elementor-view-framed .elementor-icon' => 'background-color: {{VALUE}};', '{{WRAPPER}}.elementor-view-stacked .elementor-icon' => 'color: {{VALUE}};', '{{WRAPPER}}.elementor-view-stacked .elementor-icon svg' => 'fill: {{VALUE}};', ], ] ); $this->add_control( 'icon_align', [ 'label' => esc_html__( 'Position', 'elementor' ), 'type' => Controls_Manager::CHOOSE, 'options' => [ 'left' => [ 'title' => esc_html__( 'Left', 'elementor' ), 'icon' => 'eicon-h-align-left', ], 'center' => [ 'title' => esc_html__( 'Center', 'elementor' ), 'icon' => 'eicon-h-align-center', ], 'right' => [ 'title' => esc_html__( 'Right', 'elementor' ), 'icon' => 'eicon-h-align-right', ], ], 'default' => 'center', 'prefix_class' => 'elementor-widget-divider--element-align-', ] ); $this->add_responsive_control( 'icon_spacing', [ 'label' => esc_html__( 'Spacing', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'range' => [ 'px' => [ 'min' => 0, 'max' => 50, ], ], 'selectors' => [ '{{WRAPPER}}' => '--divider-element-spacing: {{SIZE}}{{UNIT}}', ], ] ); $this->add_responsive_control( 'rotate', [ 'label' => esc_html__( 'Rotate', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'size_units' => [ 'deg' ], 'default' => [ 'size' => 0, 'unit' => 'deg', ], 'tablet_default' => [ 'unit' => 'deg', ], 'mobile_default' => [ 'unit' => 'deg', ], 'selectors' => [ '{{WRAPPER}} .elementor-icon i, {{WRAPPER}} .elementor-icon svg' => 'transform: rotate({{SIZE}}{{UNIT}})', ], ] ); $this->add_control( 'icon_border_width', [ 'label' => esc_html__( 'Border Width', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'selectors' => [ '{{WRAPPER}} .elementor-icon' => 'border-width: {{SIZE}}{{UNIT}}', ], 'condition' => [ 'icon_view' => 'framed', ], ] ); $this->add_control( 'border_radius', [ 'label' => esc_html__( 'Border Radius', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'size_units' => [ 'px', '%' ], 'selectors' => [ '{{WRAPPER}} .elementor-icon' => 'border-radius: {{SIZE}}{{UNIT}}', ], 'condition' => [ 'icon_view!' => 'default', ], ] ); $this->end_controls_section(); } /** * Build SVG * * Build SVG element markup based on the widgets settings. * * @return string - An SVG element. * * @since 2.7.0 * @access private */ private function build_svg() { $settings = $this->get_settings_for_display(); if ( 'pattern' !== $settings['separator_type'] || empty( $settings['style'] ) ) { return ''; } $svg_shapes = $this->get_separator_styles(); $selected_pattern = $svg_shapes[ $settings['style'] ]; $preserve_aspect_ratio = $selected_pattern['preserve_aspect_ratio'] ? 'xMidYMid meet' : 'none'; $view_box = isset( $selected_pattern['view_box'] ) ? $selected_pattern['view_box'] : '0 0 24 24'; $attr = [ 'preserveAspectRatio' => $preserve_aspect_ratio, 'overflow' => 'visible', 'height' => '100%', 'viewBox' => $view_box, ]; if ( 'line' !== $selected_pattern['group'] ) { $attr['fill'] = 'black'; $attr['stroke'] = 'none'; } else { $attr['fill'] = 'none'; $attr['stroke'] = 'black'; $attr['stroke-width'] = $settings['weight']['size']; $attr['stroke-linecap'] = 'square'; $attr['stroke-miterlimit'] = '10'; } $this->add_render_attribute( 'svg', $attr ); $pattern_attribute_string = $this->get_render_attribute_string( 'svg' ); $shape = $selected_pattern['shape']; return '' . $shape . ''; } public function svg_to_data_uri( $svg ) { return str_replace( [ '<', '>', '"', '#' ], [ '%3C', '%3E', "'", '%23' ], $svg ); } /** * Render divider widget output on the frontend. * * Written in PHP and used to generate the final HTML. * * @since 1.0.0 * @access protected */ protected function render() { $settings = $this->get_settings_for_display(); $svg_code = $this->build_svg(); $has_icon = 'line_icon' === ( $settings['look'] ) && ! empty( $settings['icon'] ); $has_text = 'line_text' === ( $settings['look'] ) && ! empty( $settings['text'] ); $this->add_render_attribute( 'wrapper', 'class', 'elementor-divider' ); if ( ! empty( $svg_code ) ) { $this->add_render_attribute( 'wrapper', 'style', '--divider-pattern-url: url("data:image/svg+xml,' . $this->svg_to_data_uri( $svg_code ) . '");' ); } ?>
print_render_attribute_string( 'wrapper' ); ?>>
'true', ] ); ?>
add_inline_editing_attributes( 'text' ); $this->add_render_attribute( 'text', [ 'class' => [ 'elementor-divider__text', 'elementor-divider__element' ] ] ); ?> < print_render_attribute_string( 'text' ); ?>> >
start_controls_section( 'section_editor', [ 'label' => esc_html__( 'Text Editor', 'elementor' ), ] ); $this->add_control( 'editor', [ 'label' => '', 'type' => Controls_Manager::WYSIWYG, 'default' => '

' . esc_html__( 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.', 'elementor' ) . '

', ] ); $this->add_control( 'drop_cap', [ 'label' => esc_html__( 'Drop Cap', 'elementor' ), 'type' => Controls_Manager::SWITCHER, 'label_off' => esc_html__( 'Off', 'elementor' ), 'label_on' => esc_html__( 'On', 'elementor' ), 'prefix_class' => 'elementor-drop-cap-', 'frontend_available' => true, ] ); $text_columns = range( 1, 10 ); $text_columns = array_combine( $text_columns, $text_columns ); $text_columns[''] = esc_html__( 'Default', 'elementor' ); $this->add_responsive_control( 'text_columns', [ 'label' => esc_html__( 'Columns', 'elementor' ), 'type' => Controls_Manager::SELECT, 'separator' => 'before', 'options' => $text_columns, 'selectors' => [ '{{WRAPPER}}' => 'columns: {{VALUE}};', ], ] ); $this->add_responsive_control( 'column_gap', [ 'label' => esc_html__( 'Columns Gap', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'size_units' => [ 'px', '%', 'em', 'vw' ], 'range' => [ 'px' => [ 'max' => 100, ], '%' => [ 'max' => 10, 'step' => 0.1, ], 'vw' => [ 'max' => 10, 'step' => 0.1, ], 'em' => [ 'max' => 10, 'step' => 0.1, ], ], 'selectors' => [ '{{WRAPPER}}' => 'column-gap: {{SIZE}}{{UNIT}};', ], ] ); $this->end_controls_section(); $this->start_controls_section( 'section_style', [ 'label' => esc_html__( 'Text Editor', 'elementor' ), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_responsive_control( 'align', [ 'label' => esc_html__( 'Alignment', 'elementor' ), 'type' => Controls_Manager::CHOOSE, 'options' => [ 'left' => [ 'title' => esc_html__( 'Left', 'elementor' ), 'icon' => 'eicon-text-align-left', ], 'center' => [ 'title' => esc_html__( 'Center', 'elementor' ), 'icon' => 'eicon-text-align-center', ], 'right' => [ 'title' => esc_html__( 'Right', 'elementor' ), 'icon' => 'eicon-text-align-right', ], 'justify' => [ 'title' => esc_html__( 'Justified', 'elementor' ), 'icon' => 'eicon-text-align-justify', ], ], 'selectors' => [ '{{WRAPPER}}' => 'text-align: {{VALUE}};', ], ] ); $this->add_control( 'text_color', [ 'label' => esc_html__( 'Text Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'default' => '', 'selectors' => [ '{{WRAPPER}}' => 'color: {{VALUE}};', ], 'global' => [ 'default' => Global_Colors::COLOR_TEXT, ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'typography', 'global' => [ 'default' => Global_Typography::TYPOGRAPHY_TEXT, ], ] ); $this->add_group_control( Group_Control_Text_Shadow::get_type(), [ 'name' => 'text_shadow', 'selector' => '{{WRAPPER}}', ] ); $this->end_controls_section(); $this->start_controls_section( 'section_drop_cap', [ 'label' => esc_html__( 'Drop Cap', 'elementor' ), 'tab' => Controls_Manager::TAB_STYLE, 'condition' => [ 'drop_cap' => 'yes', ], ] ); $this->add_control( 'drop_cap_view', [ 'label' => esc_html__( 'View', 'elementor' ), 'type' => Controls_Manager::SELECT, 'options' => [ 'default' => esc_html__( 'Default', 'elementor' ), 'stacked' => esc_html__( 'Stacked', 'elementor' ), 'framed' => esc_html__( 'Framed', 'elementor' ), ], 'default' => 'default', 'prefix_class' => 'elementor-drop-cap-view-', ] ); $this->add_control( 'drop_cap_primary_color', [ 'label' => esc_html__( 'Primary Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}}.elementor-drop-cap-view-stacked .elementor-drop-cap' => 'background-color: {{VALUE}};', '{{WRAPPER}}.elementor-drop-cap-view-framed .elementor-drop-cap, {{WRAPPER}}.elementor-drop-cap-view-default .elementor-drop-cap' => 'color: {{VALUE}}; border-color: {{VALUE}};', ], 'global' => [ 'default' => Global_Colors::COLOR_PRIMARY, ], ] ); $this->add_control( 'drop_cap_secondary_color', [ 'label' => esc_html__( 'Secondary Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}}.elementor-drop-cap-view-framed .elementor-drop-cap' => 'background-color: {{VALUE}};', '{{WRAPPER}}.elementor-drop-cap-view-stacked .elementor-drop-cap' => 'color: {{VALUE}};', ], 'condition' => [ 'drop_cap_view!' => 'default', ], ] ); $this->add_group_control( Group_Control_Text_Shadow::get_type(), [ 'name' => 'drop_cap_shadow', 'selector' => '{{WRAPPER}} .elementor-drop-cap', ] ); $this->add_control( 'drop_cap_size', [ 'label' => esc_html__( 'Size', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'default' => [ 'size' => 5, ], 'range' => [ 'px' => [ 'max' => 30, ], ], 'selectors' => [ '{{WRAPPER}} .elementor-drop-cap' => 'padding: {{SIZE}}{{UNIT}};', ], 'condition' => [ 'drop_cap_view!' => 'default', ], ] ); $this->add_control( 'drop_cap_space', [ 'label' => esc_html__( 'Space', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'default' => [ 'size' => 10, ], 'range' => [ 'px' => [ 'max' => 50, ], ], 'selectors' => [ 'body:not(.rtl) {{WRAPPER}} .elementor-drop-cap' => 'margin-right: {{SIZE}}{{UNIT}};', 'body.rtl {{WRAPPER}} .elementor-drop-cap' => 'margin-left: {{SIZE}}{{UNIT}};', ], ] ); $this->add_control( 'drop_cap_border_radius', [ 'label' => esc_html__( 'Border Radius', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'size_units' => [ '%', 'px' ], 'default' => [ 'unit' => '%', ], 'range' => [ '%' => [ 'max' => 50, ], ], 'selectors' => [ '{{WRAPPER}} .elementor-drop-cap' => 'border-radius: {{SIZE}}{{UNIT}};', ], ] ); $this->add_control( 'drop_cap_border_width', [ 'label' => esc_html__( 'Border Width', 'elementor' ), 'type' => Controls_Manager::DIMENSIONS, 'selectors' => [ '{{WRAPPER}} .elementor-drop-cap' => 'border-width: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], 'condition' => [ 'drop_cap_view' => 'framed', ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'drop_cap_typography', 'selector' => '{{WRAPPER}} .elementor-drop-cap-letter', 'exclude' => [ 'letter_spacing', ], ] ); $this->end_controls_section(); } /** * Render text editor widget output on the frontend. * * Written in PHP and used to generate the final HTML. * * @since 1.0.0 * @access protected */ protected function render() { $is_dom_optimized = Plugin::$instance->experiments->is_feature_active( 'e_dom_optimization' ); $is_edit_mode = Plugin::$instance->editor->is_edit_mode(); $should_render_inline_editing = ( ! $is_dom_optimized || $is_edit_mode ); $editor_content = $this->get_settings_for_display( 'editor' ); $editor_content = $this->parse_text_editor( $editor_content ); if ( $should_render_inline_editing ) { $this->add_render_attribute( 'editor', 'class', [ 'elementor-text-editor', 'elementor-clearfix' ] ); } $this->add_inline_editing_attributes( 'editor', 'advanced' ); ?>
print_render_attribute_string( 'editor' ); ?>>
print_unescaped_setting( 'editor' ); } /** * Render text editor widget output in the editor. * * Written as a Backbone JavaScript template and used to generate the live preview. * * @since 2.9.0 * @access protected */ protected function content_template() { ?> <# const isDomOptimized = ! ! elementorFrontend.config.experimentalFeatures.e_dom_optimization, isEditMode = elementorFrontend.isEditMode(), shouldRenderInlineEditing = ( ! isDomOptimized || isEditMode ); if ( shouldRenderInlineEditing ) { view.addRenderAttribute( 'editor', 'class', [ 'elementor-text-editor', 'elementor-clearfix' ] ); } view.addInlineEditingAttributes( 'editor', 'advanced' ); if ( shouldRenderInlineEditing ) { #>
<# } #> {{{ settings.editor }}} <# if ( shouldRenderInlineEditing ) { #>
<# } #> start_controls_section( 'section_social_icon', [ 'label' => esc_html__( 'Social Icons', 'elementor' ), ] ); $repeater = new Repeater(); $repeater->add_control( 'social_icon', [ 'label' => esc_html__( 'Icon', 'elementor' ), 'type' => Controls_Manager::ICONS, 'fa4compatibility' => 'social', 'default' => [ 'value' => 'fab fa-wordpress', 'library' => 'fa-brands', ], 'recommended' => [ 'fa-brands' => [ 'android', 'apple', 'behance', 'bitbucket', 'codepen', 'delicious', 'deviantart', 'digg', 'dribbble', 'elementor', 'facebook', 'flickr', 'foursquare', 'free-code-camp', 'github', 'gitlab', 'globe', 'houzz', 'instagram', 'jsfiddle', 'linkedin', 'medium', 'meetup', 'mix', 'mixcloud', 'odnoklassniki', 'pinterest', 'product-hunt', 'reddit', 'shopping-cart', 'skype', 'slideshare', 'snapchat', 'soundcloud', 'spotify', 'stack-overflow', 'steam', 'telegram', 'thumb-tack', 'tripadvisor', 'tumblr', 'twitch', 'twitter', 'viber', 'vimeo', 'vk', 'weibo', 'weixin', 'whatsapp', 'wordpress', 'xing', 'yelp', 'youtube', '500px', ], 'fa-solid' => [ 'envelope', 'link', 'rss', ], ], ] ); $repeater->add_control( 'link', [ 'label' => esc_html__( 'Link', 'elementor' ), 'type' => Controls_Manager::URL, 'default' => [ 'is_external' => 'true', ], 'dynamic' => [ 'active' => true, ], 'placeholder' => esc_html__( 'https://your-link.com', 'elementor' ), ] ); $repeater->add_control( 'item_icon_color', [ 'label' => esc_html__( 'Color', 'elementor' ), 'type' => Controls_Manager::SELECT, 'default' => 'default', 'options' => [ 'default' => esc_html__( 'Official Color', 'elementor' ), 'custom' => esc_html__( 'Custom', 'elementor' ), ], ] ); $repeater->add_control( 'item_icon_primary_color', [ 'label' => esc_html__( 'Primary Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'condition' => [ 'item_icon_color' => 'custom', ], 'selectors' => [ '{{WRAPPER}} {{CURRENT_ITEM}}.elementor-social-icon' => 'background-color: {{VALUE}};', ], ] ); $repeater->add_control( 'item_icon_secondary_color', [ 'label' => esc_html__( 'Secondary Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'condition' => [ 'item_icon_color' => 'custom', ], 'selectors' => [ '{{WRAPPER}} {{CURRENT_ITEM}}.elementor-social-icon i' => 'color: {{VALUE}};', '{{WRAPPER}} {{CURRENT_ITEM}}.elementor-social-icon svg' => 'fill: {{VALUE}};', ], ] ); $this->add_control( 'social_icon_list', [ 'label' => esc_html__( 'Social Icons', 'elementor' ), 'type' => Controls_Manager::REPEATER, 'fields' => $repeater->get_controls(), 'default' => [ [ 'social_icon' => [ 'value' => 'fab fa-facebook', 'library' => 'fa-brands', ], ], [ 'social_icon' => [ 'value' => 'fab fa-twitter', 'library' => 'fa-brands', ], ], [ 'social_icon' => [ 'value' => 'fab fa-youtube', 'library' => 'fa-brands', ], ], ], 'title_field' => '<# var migrated = "undefined" !== typeof __fa4_migrated, social = ( "undefined" === typeof social ) ? false : social; #>{{{ elementor.helpers.getSocialNetworkNameFromIcon( social_icon, social, true, migrated, true ) }}}', ] ); $this->add_control( 'shape', [ 'label' => esc_html__( 'Shape', 'elementor' ), 'type' => Controls_Manager::SELECT, 'default' => 'rounded', 'options' => [ 'rounded' => esc_html__( 'Rounded', 'elementor' ), 'square' => esc_html__( 'Square', 'elementor' ), 'circle' => esc_html__( 'Circle', 'elementor' ), ], 'prefix_class' => 'elementor-shape-', ] ); $this->add_responsive_control( 'columns', [ 'label' => esc_html__( 'Columns', 'elementor' ), 'type' => Controls_Manager::SELECT, 'default' => '0', 'options' => [ '0' => esc_html__( 'Auto', 'elementor' ), '1' => '1', '2' => '2', '3' => '3', '4' => '4', '5' => '5', '6' => '6', ], 'prefix_class' => 'elementor-grid%s-', 'selectors' => [ '{{WRAPPER}}' => '--grid-template-columns: repeat({{VALUE}}, auto);', ], ] ); $start = is_rtl() ? 'end' : 'start'; $end = is_rtl() ? 'start' : 'end'; $this->add_responsive_control( 'align', [ 'label' => esc_html__( 'Alignment', 'elementor' ), 'type' => Controls_Manager::CHOOSE, 'options' => [ 'left' => [ 'title' => esc_html__( 'Left', 'elementor' ), 'icon' => 'eicon-text-align-left', ], 'center' => [ 'title' => esc_html__( 'Center', 'elementor' ), 'icon' => 'eicon-text-align-center', ], 'right' => [ 'title' => esc_html__( 'Right', 'elementor' ), 'icon' => 'eicon-text-align-right', ], ], 'prefix_class' => 'e-grid-align%s-', 'default' => 'center', 'selectors' => [ '{{WRAPPER}} .elementor-widget-container' => 'text-align: {{VALUE}}', ], ] ); $this->add_control( 'view', [ 'label' => esc_html__( 'View', 'elementor' ), 'type' => Controls_Manager::HIDDEN, 'default' => 'traditional', ] ); $this->end_controls_section(); $this->start_controls_section( 'section_social_style', [ 'label' => esc_html__( 'Icon', 'elementor' ), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_control( 'icon_color', [ 'label' => esc_html__( 'Color', 'elementor' ), 'type' => Controls_Manager::SELECT, 'default' => 'default', 'options' => [ 'default' => esc_html__( 'Official Color', 'elementor' ), 'custom' => esc_html__( 'Custom', 'elementor' ), ], ] ); $this->add_control( 'icon_primary_color', [ 'label' => esc_html__( 'Primary Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'condition' => [ 'icon_color' => 'custom', ], 'selectors' => [ '{{WRAPPER}} .elementor-social-icon' => 'background-color: {{VALUE}};', ], ] ); $this->add_control( 'icon_secondary_color', [ 'label' => esc_html__( 'Secondary Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'condition' => [ 'icon_color' => 'custom', ], 'selectors' => [ '{{WRAPPER}} .elementor-social-icon i' => 'color: {{VALUE}};', '{{WRAPPER}} .elementor-social-icon svg' => 'fill: {{VALUE}};', ], ] ); $this->add_responsive_control( 'icon_size', [ 'label' => esc_html__( 'Size', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'range' => [ 'px' => [ 'min' => 6, 'max' => 300, ], ], 'selectors' => [ '{{WRAPPER}}' => '--icon-size: {{SIZE}}{{UNIT}}', ], ] ); $this->add_responsive_control( 'icon_padding', [ 'label' => esc_html__( 'Padding', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'selectors' => [ '{{WRAPPER}} .elementor-social-icon' => '--icon-padding: {{SIZE}}{{UNIT}}', ], 'default' => [ 'unit' => 'em', ], 'tablet_default' => [ 'unit' => 'em', ], 'mobile_default' => [ 'unit' => 'em', ], 'range' => [ 'em' => [ 'min' => 0, 'max' => 5, ], ], ] ); $this->add_responsive_control( 'icon_spacing', [ 'label' => esc_html__( 'Spacing', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'range' => [ 'px' => [ 'min' => 0, 'max' => 100, ], ], 'default' => [ 'size' => 5, ], 'selectors' => [ '{{WRAPPER}}' => '--grid-column-gap: {{SIZE}}{{UNIT}}', ], ] ); $this->add_responsive_control( 'row_gap', [ 'label' => esc_html__( 'Rows Gap', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'default' => [ 'size' => 0, ], 'selectors' => [ '{{WRAPPER}}' => '--grid-row-gap: {{SIZE}}{{UNIT}}', ], ] ); $this->add_group_control( Group_Control_Border::get_type(), [ 'name' => 'image_border', // We know this mistake - TODO: 'icon_border' (for hover control condition also) 'selector' => '{{WRAPPER}} .elementor-social-icon', 'separator' => 'before', ] ); $this->add_control( 'border_radius', [ 'label' => esc_html__( 'Border Radius', 'elementor' ), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => [ 'px', '%' ], 'selectors' => [ '{{WRAPPER}} .elementor-icon' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->end_controls_section(); $this->start_controls_section( 'section_social_hover', [ 'label' => esc_html__( 'Icon Hover', 'elementor' ), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_control( 'hover_primary_color', [ 'label' => esc_html__( 'Primary Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'default' => '', 'condition' => [ 'icon_color' => 'custom', ], 'selectors' => [ '{{WRAPPER}} .elementor-social-icon:hover' => 'background-color: {{VALUE}};', ], ] ); $this->add_control( 'hover_secondary_color', [ 'label' => esc_html__( 'Secondary Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'default' => '', 'condition' => [ 'icon_color' => 'custom', ], 'selectors' => [ '{{WRAPPER}} .elementor-social-icon:hover i' => 'color: {{VALUE}};', '{{WRAPPER}} .elementor-social-icon:hover svg' => 'fill: {{VALUE}};', ], ] ); $this->add_control( 'hover_border_color', [ 'label' => esc_html__( 'Border Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'default' => '', 'condition' => [ 'image_border_border!' => '', ], 'selectors' => [ '{{WRAPPER}} .elementor-social-icon:hover' => 'border-color: {{VALUE}};', ], ] ); $this->add_control( 'hover_animation', [ 'label' => esc_html__( 'Hover Animation', 'elementor' ), 'type' => Controls_Manager::HOVER_ANIMATION, ] ); $this->end_controls_section(); } /** * Render social icons widget output on the frontend. * * Written in PHP and used to generate the final HTML. * * @since 1.0.0 * @access protected */ protected function render() { $settings = $this->get_settings_for_display(); $fallback_defaults = [ 'fa fa-facebook', 'fa fa-twitter', 'fa fa-google-plus', ]; $class_animation = ''; if ( ! empty( $settings['hover_animation'] ) ) { $class_animation = ' elementor-animation-' . $settings['hover_animation']; } $migration_allowed = Icons_Manager::is_migration_allowed(); ?>
$item ) { $migrated = isset( $item['__fa4_migrated']['social_icon'] ); $is_new = empty( $item['social'] ) && $migration_allowed; $social = ''; // add old default if ( empty( $item['social'] ) && ! $migration_allowed ) { $item['social'] = isset( $fallback_defaults[ $index ] ) ? $fallback_defaults[ $index ] : 'fa fa-wordpress'; } if ( ! empty( $item['social'] ) ) { $social = str_replace( 'fa fa-', '', $item['social'] ); } if ( ( $is_new || $migrated ) && 'svg' !== $item['social_icon']['library'] ) { $social = explode( ' ', $item['social_icon']['value'], 2 ); if ( empty( $social[1] ) ) { $social = ''; } else { $social = str_replace( 'fa-', '', $social[1] ); } } if ( 'svg' === $item['social_icon']['library'] ) { $social = get_post_meta( $item['social_icon']['value']['id'], '_wp_attachment_image_alt', true ); } $link_key = 'link_' . $index; $this->add_render_attribute( $link_key, 'class', [ 'elementor-icon', 'elementor-social-icon', 'elementor-social-icon-' . $social . $class_animation, 'elementor-repeater-item-' . $item['_id'], ] ); $this->add_link_attributes( $link_key, $item['link'] ); ?> print_render_attribute_string( $link_key ); ?>>
<# var iconsHTML = {}; #>
<# _.each( settings.social_icon_list, function( item, index ) { var link = item.link ? item.link.url : '', migrated = elementor.helpers.isIconMigrated( item, 'social_icon' ); social = elementor.helpers.getSocialNetworkNameFromIcon( item.social_icon, item.social, false, migrated ); #> <# } ); #>
start_controls_section( 'section_tabs', [ 'label' => esc_html__( 'Tabs', 'elementor' ), ] ); $repeater = new Repeater(); $repeater->add_control( 'tab_title', [ 'label' => esc_html__( 'Title & Description', 'elementor' ), 'type' => Controls_Manager::TEXT, 'default' => esc_html__( 'Tab Title', 'elementor' ), 'placeholder' => esc_html__( 'Tab Title', 'elementor' ), 'label_block' => true, 'dynamic' => [ 'active' => true, ], ] ); $repeater->add_control( 'tab_content', [ 'label' => esc_html__( 'Content', 'elementor' ), 'default' => esc_html__( 'Tab Content', 'elementor' ), 'placeholder' => esc_html__( 'Tab Content', 'elementor' ), 'type' => Controls_Manager::WYSIWYG, 'show_label' => false, ] ); $this->add_control( 'tabs', [ 'label' => esc_html__( 'Tabs Items', 'elementor' ), 'type' => Controls_Manager::REPEATER, 'fields' => $repeater->get_controls(), 'default' => [ [ 'tab_title' => esc_html__( 'Tab #1', 'elementor' ), 'tab_content' => esc_html__( 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.', 'elementor' ), ], [ 'tab_title' => esc_html__( 'Tab #2', 'elementor' ), 'tab_content' => esc_html__( 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.', 'elementor' ), ], ], 'title_field' => '{{{ tab_title }}}', ] ); $this->add_control( 'view', [ 'label' => esc_html__( 'View', 'elementor' ), 'type' => Controls_Manager::HIDDEN, 'default' => 'traditional', ] ); $this->add_control( 'type', [ 'label' => esc_html__( 'Position', 'elementor' ), 'type' => Controls_Manager::SELECT, 'default' => 'horizontal', 'options' => [ 'horizontal' => esc_html__( 'Horizontal', 'elementor' ), 'vertical' => esc_html__( 'Vertical', 'elementor' ), ], 'prefix_class' => 'elementor-tabs-view-', 'separator' => 'before', ] ); $this->add_control( 'tabs_align_horizontal', [ 'label' => esc_html__( 'Alignment', 'elementor' ), 'type' => Controls_Manager::CHOOSE, 'options' => [ '' => [ 'title' => esc_html__( 'Start', 'elementor' ), 'icon' => 'eicon-h-align-left', ], 'center' => [ 'title' => esc_html__( 'Center', 'elementor' ), 'icon' => 'eicon-h-align-center', ], 'end' => [ 'title' => esc_html__( 'End', 'elementor' ), 'icon' => 'eicon-h-align-right', ], 'stretch' => [ 'title' => esc_html__( 'Justified', 'elementor' ), 'icon' => 'eicon-h-align-stretch', ], ], 'prefix_class' => 'elementor-tabs-alignment-', 'condition' => [ 'type' => 'horizontal', ], ] ); $this->add_control( 'tabs_align_vertical', [ 'label' => esc_html__( 'Alignment', 'elementor' ), 'type' => Controls_Manager::CHOOSE, 'options' => [ '' => [ 'title' => esc_html__( 'Start', 'elementor' ), 'icon' => 'eicon-v-align-top', ], 'center' => [ 'title' => esc_html__( 'Center', 'elementor' ), 'icon' => 'eicon-v-align-middle', ], 'end' => [ 'title' => esc_html__( 'End', 'elementor' ), 'icon' => 'eicon-v-align-bottom', ], 'stretch' => [ 'title' => esc_html__( 'Justified', 'elementor' ), 'icon' => 'eicon-v-align-stretch', ], ], 'prefix_class' => 'elementor-tabs-alignment-', 'condition' => [ 'type' => 'vertical', ], ] ); $this->end_controls_section(); $this->start_controls_section( 'section_tabs_style', [ 'label' => esc_html__( 'Tabs', 'elementor' ), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_control( 'navigation_width', [ 'label' => esc_html__( 'Navigation Width', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'default' => [ 'unit' => '%', ], 'range' => [ '%' => [ 'min' => 10, 'max' => 50, ], ], 'selectors' => [ '{{WRAPPER}} .elementor-tabs-wrapper' => 'width: {{SIZE}}{{UNIT}}', ], 'condition' => [ 'type' => 'vertical', ], ] ); $this->add_control( 'border_width', [ 'label' => esc_html__( 'Border Width', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'default' => [ 'size' => 1, ], 'range' => [ 'px' => [ 'min' => 0, 'max' => 10, ], ], 'selectors' => [ '{{WRAPPER}} .elementor-tab-title, {{WRAPPER}} .elementor-tab-title:before, {{WRAPPER}} .elementor-tab-title:after, {{WRAPPER}} .elementor-tab-content, {{WRAPPER}} .elementor-tabs-content-wrapper' => 'border-width: {{SIZE}}{{UNIT}};', ], ] ); $this->add_control( 'border_color', [ 'label' => esc_html__( 'Border Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .elementor-tab-mobile-title, {{WRAPPER}} .elementor-tab-desktop-title.elementor-active, {{WRAPPER}} .elementor-tab-title:before, {{WRAPPER}} .elementor-tab-title:after, {{WRAPPER}} .elementor-tab-content, {{WRAPPER}} .elementor-tabs-content-wrapper' => 'border-color: {{VALUE}};', ], ] ); $this->add_control( 'background_color', [ 'label' => esc_html__( 'Background Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .elementor-tab-desktop-title.elementor-active' => 'background-color: {{VALUE}};', '{{WRAPPER}} .elementor-tabs-content-wrapper' => 'background-color: {{VALUE}};', ], ] ); $this->add_control( 'heading_title', [ 'label' => esc_html__( 'Title', 'elementor' ), 'type' => Controls_Manager::HEADING, 'separator' => 'before', ] ); $this->add_control( 'tab_color', [ 'label' => esc_html__( 'Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .elementor-tab-title, {{WRAPPER}} .elementor-tab-title a' => 'color: {{VALUE}}', ], 'global' => [ 'default' => Global_Colors::COLOR_PRIMARY, ], ] ); $this->add_control( 'tab_active_color', [ 'label' => esc_html__( 'Active Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .elementor-tab-title.elementor-active, {{WRAPPER}} .elementor-tab-title.elementor-active a' => 'color: {{VALUE}}', ], 'global' => [ 'default' => Global_Colors::COLOR_ACCENT, ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'tab_typography', 'selector' => '{{WRAPPER}} .elementor-tab-title', 'global' => [ 'default' => Global_Typography::TYPOGRAPHY_PRIMARY, ], ] ); $this->add_group_control( Group_Control_Text_Stroke::get_type(), [ 'name' => 'text_stroke', 'selector' => '{{WRAPPER}} .elementor-tab-title', ] ); $this->add_group_control( Group_Control_Text_Shadow::get_type(), [ 'name' => 'title_shadow', 'selector' => '{{WRAPPER}} .elementor-tab-title', ] ); $this->add_control( 'title_align', [ 'label' => esc_html__( 'Alignment', 'elementor' ), 'type' => Controls_Manager::CHOOSE, 'options' => [ 'left' => [ 'title' => esc_html__( 'Left', 'elementor' ), 'icon' => 'eicon-text-align-left', ], 'center' => [ 'title' => esc_html__( 'Center', 'elementor' ), 'icon' => 'eicon-text-align-center', ], 'right' => [ 'title' => esc_html__( 'Right', 'elementor' ), 'icon' => 'eicon-text-align-right', ], ], 'selectors' => [ '{{WRAPPER}} .elementor-tab-title' => 'text-align: {{VALUE}};', ], 'condition' => [ 'tabs_align' => 'stretch', ], ] ); $this->add_control( 'heading_content', [ 'label' => esc_html__( 'Content', 'elementor' ), 'type' => Controls_Manager::HEADING, 'separator' => 'before', ] ); $this->add_control( 'content_color', [ 'label' => esc_html__( 'Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .elementor-tab-content' => 'color: {{VALUE}};', ], 'global' => [ 'default' => Global_Colors::COLOR_TEXT, ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'content_typography', 'selector' => '{{WRAPPER}} .elementor-tab-content', 'global' => [ 'default' => Global_Typography::TYPOGRAPHY_TEXT, ], ] ); $this->add_group_control( Group_Control_Text_Shadow::get_type(), [ 'name' => 'content_shadow', 'selector' => '{{WRAPPER}} .elementor-tab-content', ] ); $this->end_controls_section(); } /** * Render tabs widget output on the frontend. * * Written in PHP and used to generate the final HTML. * * @since 1.0.0 * @access protected */ protected function render() { $tabs = $this->get_settings_for_display( 'tabs' ); $id_int = substr( $this->get_id_int(), 0, 3 ); $a11y_improvements_experiment = Plugin::$instance->experiments->is_feature_active( 'a11y_improvements' ); $this->add_render_attribute( 'elementor-tabs', 'class', 'elementor-tabs' ); ?>
print_render_attribute_string( 'elementor-tabs' ); ?>>
$item ) : $tab_count = $index + 1; $tab_title_setting_key = $this->get_repeater_setting_key( 'tab_title', 'tabs', $index ); $tab_title = $a11y_improvements_experiment ? $item['tab_title'] : '' . $item['tab_title'] . ''; $this->add_render_attribute( $tab_title_setting_key, [ 'id' => 'elementor-tab-title-' . $id_int . $tab_count, 'class' => [ 'elementor-tab-title', 'elementor-tab-desktop-title' ], 'aria-selected' => 1 === $tab_count ? 'true' : 'false', 'data-tab' => $tab_count, 'role' => 'tab', 'tabindex' => 1 === $tab_count ? '0' : '-1', 'aria-controls' => 'elementor-tab-content-' . $id_int . $tab_count, 'aria-expanded' => 'false', ] ); ?>
print_render_attribute_string( $tab_title_setting_key ); ?>>
$item ) : $tab_count = $index + 1; $hidden = 1 === $tab_count ? 'false' : 'hidden'; $tab_content_setting_key = $this->get_repeater_setting_key( 'tab_content', 'tabs', $index ); $tab_title_mobile_setting_key = $this->get_repeater_setting_key( 'tab_title_mobile', 'tabs', $tab_count ); $this->add_render_attribute( $tab_content_setting_key, [ 'id' => 'elementor-tab-content-' . $id_int . $tab_count, 'class' => [ 'elementor-tab-content', 'elementor-clearfix' ], 'data-tab' => $tab_count, 'role' => 'tabpanel', 'aria-labelledby' => 'elementor-tab-title-' . $id_int . $tab_count, 'tabindex' => '0', 'hidden' => $hidden, ] ); $this->add_render_attribute( $tab_title_mobile_setting_key, [ 'class' => [ 'elementor-tab-title', 'elementor-tab-mobile-title' ], 'aria-selected' => 1 === $tab_count ? 'true' : 'false', 'data-tab' => $tab_count, 'role' => 'tab', 'tabindex' => 1 === $tab_count ? '0' : '-1', 'aria-controls' => 'elementor-tab-content-' . $id_int . $tab_count, 'aria-expanded' => 'false', ] ); $this->add_inline_editing_attributes( $tab_content_setting_key, 'advanced' ); ?>
print_render_attribute_string( $tab_title_mobile_setting_key ); ?>>print_unescaped_setting( 'tab_title', 'tabs', $index ); ?>
print_render_attribute_string( $tab_content_setting_key ); ?>>print_text_editor( $item['tab_content'] ); ?>
<# if ( settings.tabs ) { var elementUid = view.getIDInt().toString().substr( 0, 3 ); #>
<# _.each( settings.tabs, function( item, index ) { var tabCount = index + 1, tabUid = elementUid + tabCount, tabTitleKey = 'tab-title-' + tabUid; view.addRenderAttribute( tabTitleKey, { 'id': 'elementor-tab-title-' + tabUid, 'class': [ 'elementor-tab-title','elementor-tab-desktop-title' ], 'data-tab': tabCount, 'role': 'tab', 'tabindex': 1 === tabCount ? '0' : '-1', 'aria-controls': 'elementor-tab-content-' + tabUid, 'aria-expanded': 'false', } ); #>
{{{ item.tab_title }}}
<# } ); #>
<# _.each( settings.tabs, function( item, index ) { var tabCount = index + 1, tabContentKey = view.getRepeaterSettingKey( 'tab_content', 'tabs',index ); view.addRenderAttribute( tabContentKey, { 'id': 'elementor-tab-content-' + elementUid + tabCount, 'class': [ 'elementor-tab-content', 'elementor-clearfix', 'elementor-repeater-item-' + item._id ], 'data-tab': tabCount, 'role' : 'tabpanel', 'aria-labelledby' : 'elementor-tab-title-' + elementUid + tabCount } ); view.addInlineEditingAttributes( tabContentKey, 'advanced' ); #>
{{{ item.tab_content }}}
<# } ); #>
<# } #>
start_controls_section( 'section_spacer', [ 'label' => esc_html__( 'Spacer', 'elementor' ), ] ); $this->add_responsive_control( 'space', [ 'label' => esc_html__( 'Space', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'default' => [ 'size' => 50, ], 'size_units' => [ 'px', 'vh', 'em' ], 'range' => [ 'px' => [ 'min' => 10, 'max' => 600, ], 'em' => [ 'min' => 0.1, 'max' => 20, ], ], 'selectors' => [ '{{WRAPPER}} .elementor-spacer-inner' => '--spacer-size: {{SIZE}}{{UNIT}};', ], ] ); $this->add_control( 'view', [ 'label' => esc_html__( 'View', 'elementor' ), 'type' => Controls_Manager::HIDDEN, 'default' => 'traditional', ] ); $this->end_controls_section(); } /** * Render spacer widget output on the frontend. * * Written in PHP and used to generate the final HTML. * * @since 1.0.0 * @access protected */ protected function render() { ?>
start_controls_section( 'section_alert', [ 'label' => esc_html__( 'Alert', 'elementor' ), ] ); $this->add_control( 'alert_type', [ 'label' => esc_html__( 'Type', 'elementor' ), 'type' => Controls_Manager::SELECT, 'default' => 'info', 'options' => [ 'info' => esc_html__( 'Info', 'elementor' ), 'success' => esc_html__( 'Success', 'elementor' ), 'warning' => esc_html__( 'Warning', 'elementor' ), 'danger' => esc_html__( 'Danger', 'elementor' ), ], 'style_transfer' => true, ] ); $this->add_control( 'alert_title', [ 'label' => esc_html__( 'Title & Description', 'elementor' ), 'type' => Controls_Manager::TEXT, 'placeholder' => esc_html__( 'Enter your title', 'elementor' ), 'default' => esc_html__( 'This is an Alert', 'elementor' ), 'label_block' => true, 'dynamic' => [ 'active' => true, ], ] ); $this->add_control( 'alert_description', [ 'label' => esc_html__( 'Content', 'elementor' ), 'type' => Controls_Manager::TEXTAREA, 'placeholder' => esc_html__( 'Enter your description', 'elementor' ), 'default' => esc_html__( 'I am a description. Click the edit button to change this text.', 'elementor' ), 'separator' => 'none', 'show_label' => false, 'dynamic' => [ 'active' => true, ], ] ); $this->add_control( 'show_dismiss', [ 'label' => esc_html__( 'Dismiss Button', 'elementor' ), 'type' => Controls_Manager::SELECT, 'default' => 'show', 'options' => [ 'show' => esc_html__( 'Show', 'elementor' ), 'hide' => esc_html__( 'Hide', 'elementor' ), ], ] ); $this->add_control( 'view', [ 'label' => esc_html__( 'View', 'elementor' ), 'type' => Controls_Manager::HIDDEN, 'default' => 'traditional', ] ); $this->end_controls_section(); $this->start_controls_section( 'section_type', [ 'label' => esc_html__( 'Alert', 'elementor' ), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_control( 'background', [ 'label' => esc_html__( 'Background Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .elementor-alert' => 'background-color: {{VALUE}};', ], ] ); $this->add_control( 'border_color', [ 'label' => esc_html__( 'Border Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .elementor-alert' => 'border-color: {{VALUE}};', ], ] ); $this->add_control( 'border_left-width', [ 'label' => esc_html__( 'Left Border Width', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'range' => [ 'px' => [ 'min' => 0, 'max' => 100, ], ], 'selectors' => [ '{{WRAPPER}} .elementor-alert' => 'border-left-width: {{SIZE}}{{UNIT}};', ], ] ); $this->end_controls_section(); $this->start_controls_section( 'section_title', [ 'label' => esc_html__( 'Title', 'elementor' ), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_control( 'title_color', [ 'label' => esc_html__( 'Text Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .elementor-alert-title' => 'color: {{VALUE}};', ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'alert_title', 'selector' => '{{WRAPPER}} .elementor-alert-title', 'global' => [ 'default' => Global_Typography::TYPOGRAPHY_PRIMARY, ], ] ); $this->add_group_control( Group_Control_Text_Shadow::get_type(), [ 'name' => 'title_shadow', 'selector' => '{{WRAPPER}} .elementor-alert-title', ] ); $this->end_controls_section(); $this->start_controls_section( 'section_description', [ 'label' => esc_html__( 'Description', 'elementor' ), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_control( 'description_color', [ 'label' => esc_html__( 'Text Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .elementor-alert-description' => 'color: {{VALUE}};', ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'alert_description', 'selector' => '{{WRAPPER}} .elementor-alert-description', 'global' => [ 'default' => Global_Typography::TYPOGRAPHY_TEXT, ], ] ); $this->add_group_control( Group_Control_Text_Shadow::get_type(), [ 'name' => 'description_shadow', 'selector' => '{{WRAPPER}} .elementor-alert-description', ] ); $this->end_controls_section(); } /** * Render alert widget output on the frontend. * * Written in PHP and used to generate the final HTML. * * @since 1.0.0 * @access protected */ protected function render() { $settings = $this->get_settings_for_display(); if ( Utils::is_empty( $settings['alert_title'] ) ) { return; } if ( ! empty( $settings['alert_type'] ) ) { $this->add_render_attribute( 'wrapper', 'class', 'elementor-alert elementor-alert-' . $settings['alert_type'] ); } $this->add_render_attribute( 'wrapper', 'role', 'alert' ); $this->add_render_attribute( 'alert_title', 'class', 'elementor-alert-title' ); $this->add_inline_editing_attributes( 'alert_title', 'none' ); ?>
print_render_attribute_string( 'wrapper' ); ?>> print_render_attribute_string( 'alert_title' ); ?>>print_unescaped_setting( 'alert_title' ); ?> add_render_attribute( 'alert_description', 'class', 'elementor-alert-description' ); $this->add_inline_editing_attributes( 'alert_description' ); ?> print_render_attribute_string( 'alert_description' ); ?>>print_unescaped_setting( 'alert_description' ); ?>
<# if ( settings.alert_title ) { view.addRenderAttribute( { alert_title: { class: 'elementor-alert-title' }, alert_description: { class: 'elementor-alert-description' } } ); view.addInlineEditingAttributes( 'alert_title', 'none' ); view.addInlineEditingAttributes( 'alert_description' ); #> <# } #> start_controls_section( 'section_progress', [ 'label' => esc_html__( 'Progress Bar', 'elementor' ), ] ); $this->add_control( 'title', [ 'label' => esc_html__( 'Title', 'elementor' ), 'type' => Controls_Manager::TEXT, 'dynamic' => [ 'active' => true, ], 'placeholder' => esc_html__( 'Enter your title', 'elementor' ), 'default' => esc_html__( 'My Skill', 'elementor' ), 'label_block' => true, ] ); $this->add_control( 'progress_type', [ 'label' => esc_html__( 'Type', 'elementor' ), 'type' => Controls_Manager::SELECT, 'default' => '', 'options' => [ '' => esc_html__( 'Default', 'elementor' ), 'info' => esc_html__( 'Info', 'elementor' ), 'success' => esc_html__( 'Success', 'elementor' ), 'warning' => esc_html__( 'Warning', 'elementor' ), 'danger' => esc_html__( 'Danger', 'elementor' ), ], ] ); $this->add_control( 'percent', [ 'label' => esc_html__( 'Percentage', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'default' => [ 'size' => 50, 'unit' => '%', ], 'dynamic' => [ 'active' => true, ], ] ); $this->add_control( 'display_percentage', [ 'label' => esc_html__( 'Display Percentage', 'elementor' ), 'type' => Controls_Manager::SELECT, 'default' => 'show', 'options' => [ 'show' => esc_html__( 'Show', 'elementor' ), 'hide' => esc_html__( 'Hide', 'elementor' ), ], ] ); $this->add_control( 'inner_text', [ 'label' => esc_html__( 'Inner Text', 'elementor' ), 'type' => Controls_Manager::TEXT, 'dynamic' => [ 'active' => true, ], 'placeholder' => esc_html__( 'e.g. Web Designer', 'elementor' ), 'default' => esc_html__( 'Web Designer', 'elementor' ), 'label_block' => true, ] ); $this->add_control( 'view', [ 'label' => esc_html__( 'View', 'elementor' ), 'type' => Controls_Manager::HIDDEN, 'default' => 'traditional', ] ); $this->end_controls_section(); $this->start_controls_section( 'section_progress_style', [ 'label' => esc_html__( 'Progress Bar', 'elementor' ), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_control( 'bar_color', [ 'label' => esc_html__( 'Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'global' => [ 'default' => Global_Colors::COLOR_PRIMARY, ], 'selectors' => [ '{{WRAPPER}} .elementor-progress-wrapper .elementor-progress-bar' => 'background-color: {{VALUE}};', ], ] ); $this->add_control( 'bar_bg_color', [ 'label' => esc_html__( 'Background Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .elementor-progress-wrapper' => 'background-color: {{VALUE}};', ], ] ); $this->add_control( 'bar_height', [ 'label' => esc_html__( 'Height', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'selectors' => [ '{{WRAPPER}} .elementor-progress-bar' => 'height: {{SIZE}}{{UNIT}}; line-height: {{SIZE}}{{UNIT}};', ], ] ); $this->add_control( 'bar_border_radius', [ 'label' => esc_html__( 'Border Radius', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'size_units' => [ 'px', '%' ], 'selectors' => [ '{{WRAPPER}} .elementor-progress-wrapper' => 'border-radius: {{SIZE}}{{UNIT}}; overflow: hidden;', ], ] ); $this->add_control( 'inner_text_heading', [ 'label' => esc_html__( 'Inner Text', 'elementor' ), 'type' => Controls_Manager::HEADING, 'separator' => 'before', ] ); $this->add_control( 'bar_inline_color', [ 'label' => esc_html__( 'Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .elementor-progress-bar' => 'color: {{VALUE}};', ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'bar_inner_typography', 'selector' => '{{WRAPPER}} .elementor-progress-bar', 'exclude' => [ 'line_height', ], ] ); $this->add_group_control( Group_Control_Text_Shadow::get_type(), [ 'name' => 'bar_inner_shadow', 'selector' => '{{WRAPPER}} .elementor-progress-bar', ] ); $this->end_controls_section(); $this->start_controls_section( 'section_title', [ 'label' => esc_html__( 'Title Style', 'elementor' ), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_control( 'title_color', [ 'label' => esc_html__( 'Text Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .elementor-title' => 'color: {{VALUE}};', ], 'global' => [ 'default' => Global_Colors::COLOR_PRIMARY, ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'typography', 'selector' => '{{WRAPPER}} .elementor-title', 'global' => [ 'default' => Global_Typography::TYPOGRAPHY_TEXT, ], ] ); $this->add_group_control( Group_Control_Text_Shadow::get_type(), [ 'name' => 'title_shadow', 'selector' => '{{WRAPPER}} .elementor-title', ] ); $this->end_controls_section(); } /** * Render progress widget output on the frontend. * Make sure value does no exceed 100%. * * Written in PHP and used to generate the final HTML. * * @since 1.0.0 * @access protected */ protected function render() { $settings = $this->get_settings_for_display(); $progress_percentage = is_numeric( $settings['percent']['size'] ) ? $settings['percent']['size'] : '0'; if ( 100 < $progress_percentage ) { $progress_percentage = 100; } $this->add_render_attribute( 'title', [ 'class' => 'elementor-title', ]); $this->add_inline_editing_attributes( 'title' ); $this->add_render_attribute( 'wrapper', [ 'class' => 'elementor-progress-wrapper', 'role' => 'progressbar', 'aria-valuemin' => '0', 'aria-valuemax' => '100', 'aria-valuenow' => $progress_percentage, 'aria-valuetext' => $settings['inner_text'], ] ); if ( ! empty( $settings['progress_type'] ) ) { $this->add_render_attribute( 'wrapper', 'class', 'progress-' . $settings['progress_type'] ); } $this->add_render_attribute( 'progress-bar', [ 'class' => 'elementor-progress-bar', 'data-max' => $progress_percentage, ] ); $this->add_render_attribute( 'inner_text', [ 'class' => 'elementor-progress-text', ] ); $this->add_inline_editing_attributes( 'inner_text' ); if ( ! Utils::is_empty( $settings['title'] ) ) { ?> print_render_attribute_string( 'title' ); ?>>print_unescaped_setting( 'title' ); ?>
print_render_attribute_string( 'wrapper' ); ?>>
print_render_attribute_string( 'progress-bar' ); ?>> print_render_attribute_string( 'inner_text' ); ?>>print_unescaped_setting( 'inner_text' ); ?> %
<# let progress_percentage = 0; if ( ! isNaN( settings.percent.size ) ) { progress_percentage = 100 < settings.percent.size ? 100 : settings.percent.size; } view.addRenderAttribute( 'title', { 'class': 'elementor-title' } ); view.addInlineEditingAttributes( 'title' ); view.addRenderAttribute( 'progressWrapper', { 'class': [ 'elementor-progress-wrapper', 'progress-' + settings.progress_type ], 'role': 'progressbar', 'aria-valuemin': '0', 'aria-valuemax': '100', 'aria-valuenow': progress_percentage, 'aria-valuetext': settings.inner_text } ); view.addRenderAttribute( 'inner_text', { 'class': 'elementor-progress-text' } ); view.addInlineEditingAttributes( 'inner_text' ); #> <# if ( settings.title ) { #> {{{ settings.title }}}<# } #>
{{{ settings.inner_text }}} <# if ( 'hide' !== settings.display_percentage ) { #> {{{ progress_percentage }}}% <# } #>
start_controls_section( 'section_icon', [ 'label' => esc_html__( 'Icon List', 'elementor' ), ] ); $this->add_control( 'view', [ 'label' => esc_html__( 'Layout', 'elementor' ), 'type' => Controls_Manager::CHOOSE, 'default' => 'traditional', 'options' => [ 'traditional' => [ 'title' => esc_html__( 'Default', 'elementor' ), 'icon' => 'eicon-editor-list-ul', ], 'inline' => [ 'title' => esc_html__( 'Inline', 'elementor' ), 'icon' => 'eicon-ellipsis-h', ], ], 'render_type' => 'template', 'classes' => 'elementor-control-start-end', 'style_transfer' => true, 'prefix_class' => 'elementor-icon-list--layout-', ] ); $repeater = new Repeater(); $repeater->add_control( 'text', [ 'label' => esc_html__( 'Text', 'elementor' ), 'type' => Controls_Manager::TEXT, 'label_block' => true, 'placeholder' => esc_html__( 'List Item', 'elementor' ), 'default' => esc_html__( 'List Item', 'elementor' ), 'dynamic' => [ 'active' => true, ], ] ); $repeater->add_control( 'selected_icon', [ 'label' => esc_html__( 'Icon', 'elementor' ), 'type' => Controls_Manager::ICONS, 'default' => [ 'value' => 'fas fa-check', 'library' => 'fa-solid', ], 'fa4compatibility' => 'icon', ] ); $repeater->add_control( 'link', [ 'label' => esc_html__( 'Link', 'elementor' ), 'type' => Controls_Manager::URL, 'dynamic' => [ 'active' => true, ], 'placeholder' => esc_html__( 'https://your-link.com', 'elementor' ), ] ); $this->add_control( 'icon_list', [ 'label' => esc_html__( 'Items', 'elementor' ), 'type' => Controls_Manager::REPEATER, 'fields' => $repeater->get_controls(), 'default' => [ [ 'text' => esc_html__( 'List Item #1', 'elementor' ), 'selected_icon' => [ 'value' => 'fas fa-check', 'library' => 'fa-solid', ], ], [ 'text' => esc_html__( 'List Item #2', 'elementor' ), 'selected_icon' => [ 'value' => 'fas fa-times', 'library' => 'fa-solid', ], ], [ 'text' => esc_html__( 'List Item #3', 'elementor' ), 'selected_icon' => [ 'value' => 'fas fa-dot-circle', 'library' => 'fa-solid', ], ], ], 'title_field' => '{{{ elementor.helpers.renderIcon( this, selected_icon, {}, "i", "panel" ) || \'\' }}} {{{ text }}}', ] ); $this->add_control( 'link_click', [ 'label' => esc_html__( 'Apply Link On', 'elementor' ), 'type' => Controls_Manager::SELECT, 'options' => [ 'full_width' => esc_html__( 'Full Width', 'elementor' ), 'inline' => esc_html__( 'Inline', 'elementor' ), ], 'default' => 'full_width', 'separator' => 'before', 'prefix_class' => 'elementor-list-item-link-', ] ); $this->end_controls_section(); $this->start_controls_section( 'section_icon_list', [ 'label' => esc_html__( 'List', 'elementor' ), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_responsive_control( 'space_between', [ 'label' => esc_html__( 'Space Between', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'range' => [ 'px' => [ 'max' => 50, ], ], 'selectors' => [ '{{WRAPPER}} .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child)' => 'padding-bottom: calc({{SIZE}}{{UNIT}}/2)', '{{WRAPPER}} .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child)' => 'margin-top: calc({{SIZE}}{{UNIT}}/2)', '{{WRAPPER}} .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item' => 'margin-right: calc({{SIZE}}{{UNIT}}/2); margin-left: calc({{SIZE}}{{UNIT}}/2)', '{{WRAPPER}} .elementor-icon-list-items.elementor-inline-items' => 'margin-right: calc(-{{SIZE}}{{UNIT}}/2); margin-left: calc(-{{SIZE}}{{UNIT}}/2)', 'body.rtl {{WRAPPER}} .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after' => 'left: calc(-{{SIZE}}{{UNIT}}/2)', 'body:not(.rtl) {{WRAPPER}} .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after' => 'right: calc(-{{SIZE}}{{UNIT}}/2)', ], ] ); $this->add_responsive_control( 'icon_align', [ 'label' => esc_html__( 'Alignment', 'elementor' ), 'type' => Controls_Manager::CHOOSE, 'options' => [ 'left' => [ 'title' => esc_html__( 'Left', 'elementor' ), 'icon' => 'eicon-h-align-left', ], 'center' => [ 'title' => esc_html__( 'Center', 'elementor' ), 'icon' => 'eicon-h-align-center', ], 'right' => [ 'title' => esc_html__( 'Right', 'elementor' ), 'icon' => 'eicon-h-align-right', ], ], 'prefix_class' => 'elementor%s-align-', ] ); $this->add_control( 'divider', [ 'label' => esc_html__( 'Divider', 'elementor' ), 'type' => Controls_Manager::SWITCHER, 'label_off' => esc_html__( 'Off', 'elementor' ), 'label_on' => esc_html__( 'On', 'elementor' ), 'selectors' => [ '{{WRAPPER}} .elementor-icon-list-item:not(:last-child):after' => 'content: ""', ], 'separator' => 'before', ] ); $this->add_control( 'divider_style', [ 'label' => esc_html__( 'Style', 'elementor' ), 'type' => Controls_Manager::SELECT, 'options' => [ 'solid' => esc_html__( 'Solid', 'elementor' ), 'double' => esc_html__( 'Double', 'elementor' ), 'dotted' => esc_html__( 'Dotted', 'elementor' ), 'dashed' => esc_html__( 'Dashed', 'elementor' ), ], 'default' => 'solid', 'condition' => [ 'divider' => 'yes', ], 'selectors' => [ '{{WRAPPER}} .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child):after' => 'border-top-style: {{VALUE}}', '{{WRAPPER}} .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:not(:last-child):after' => 'border-left-style: {{VALUE}}', ], ] ); $this->add_control( 'divider_weight', [ 'label' => esc_html__( 'Weight', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'default' => [ 'size' => 1, ], 'range' => [ 'px' => [ 'min' => 1, 'max' => 20, ], ], 'condition' => [ 'divider' => 'yes', ], 'selectors' => [ '{{WRAPPER}} .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child):after' => 'border-top-width: {{SIZE}}{{UNIT}}', '{{WRAPPER}} .elementor-inline-items .elementor-icon-list-item:not(:last-child):after' => 'border-left-width: {{SIZE}}{{UNIT}}', ], ] ); $this->add_control( 'divider_width', [ 'label' => esc_html__( 'Width', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'default' => [ 'unit' => '%', ], 'condition' => [ 'divider' => 'yes', 'view!' => 'inline', ], 'selectors' => [ '{{WRAPPER}} .elementor-icon-list-item:not(:last-child):after' => 'width: {{SIZE}}{{UNIT}}', ], ] ); $this->add_control( 'divider_height', [ 'label' => esc_html__( 'Height', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'size_units' => [ '%', 'px' ], 'default' => [ 'unit' => '%', ], 'range' => [ 'px' => [ 'min' => 1, 'max' => 100, ], '%' => [ 'min' => 1, 'max' => 100, ], ], 'condition' => [ 'divider' => 'yes', 'view' => 'inline', ], 'selectors' => [ '{{WRAPPER}} .elementor-icon-list-item:not(:last-child):after' => 'height: {{SIZE}}{{UNIT}}', ], ] ); $this->add_control( 'divider_color', [ 'label' => esc_html__( 'Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'default' => '#ddd', 'global' => [ 'default' => Global_Colors::COLOR_TEXT, ], 'condition' => [ 'divider' => 'yes', ], 'selectors' => [ '{{WRAPPER}} .elementor-icon-list-item:not(:last-child):after' => 'border-color: {{VALUE}}', ], ] ); $this->end_controls_section(); $this->start_controls_section( 'section_icon_style', [ 'label' => esc_html__( 'Icon', 'elementor' ), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_control( 'icon_color', [ 'label' => esc_html__( 'Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'default' => '', 'selectors' => [ '{{WRAPPER}} .elementor-icon-list-icon i' => 'color: {{VALUE}};', '{{WRAPPER}} .elementor-icon-list-icon svg' => 'fill: {{VALUE}};', ], 'global' => [ 'default' => Global_Colors::COLOR_PRIMARY, ], ] ); $this->add_control( 'icon_color_hover', [ 'label' => esc_html__( 'Hover', 'elementor' ), 'type' => Controls_Manager::COLOR, 'default' => '', 'selectors' => [ '{{WRAPPER}} .elementor-icon-list-item:hover .elementor-icon-list-icon i' => 'color: {{VALUE}};', '{{WRAPPER}} .elementor-icon-list-item:hover .elementor-icon-list-icon svg' => 'fill: {{VALUE}};', ], ] ); $this->add_responsive_control( 'icon_size', [ 'label' => esc_html__( 'Size', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'default' => [ 'size' => 14, ], 'range' => [ 'px' => [ 'min' => 6, ], ], 'selectors' => [ '{{WRAPPER}}' => '--e-icon-list-icon-size: {{SIZE}}{{UNIT}};', ], ] ); $e_icon_list_icon_css_var = 'var(--e-icon-list-icon-size, 1em)'; $e_icon_list_icon_align_left = sprintf( '0 calc(%s * 0.25) 0 0', $e_icon_list_icon_css_var ); $e_icon_list_icon_align_center = sprintf( '0 calc(%s * 0.125)', $e_icon_list_icon_css_var ); $e_icon_list_icon_align_right = sprintf( '0 0 0 calc(%s * 0.25)', $e_icon_list_icon_css_var ); $this->add_responsive_control( 'icon_self_align', [ 'label' => esc_html__( 'Alignment', 'elementor' ), 'type' => Controls_Manager::CHOOSE, 'options' => [ 'left' => [ 'title' => esc_html__( 'Left', 'elementor' ), 'icon' => 'eicon-h-align-left', ], 'center' => [ 'title' => esc_html__( 'Center', 'elementor' ), 'icon' => 'eicon-h-align-center', ], 'right' => [ 'title' => esc_html__( 'Right', 'elementor' ), 'icon' => 'eicon-h-align-right', ], ], 'default' => '', 'selectors_dictionary' => [ 'left' => sprintf( '--e-icon-list-icon-align: left; --e-icon-list-icon-margin: %s;', $e_icon_list_icon_align_left ), 'center' => sprintf( '--e-icon-list-icon-align: center; --e-icon-list-icon-margin: %s;', $e_icon_list_icon_align_center ), 'right' => sprintf( '--e-icon-list-icon-align: right; --e-icon-list-icon-margin: %s;', $e_icon_list_icon_align_right ), ], 'selectors' => [ '{{WRAPPER}}' => '{{VALUE}}', ], ] ); $this->end_controls_section(); $this->start_controls_section( 'section_text_style', [ 'label' => esc_html__( 'Text', 'elementor' ), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_control( 'text_color', [ 'label' => esc_html__( 'Text Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'default' => '', 'selectors' => [ '{{WRAPPER}} .elementor-icon-list-text' => 'color: {{VALUE}};', ], 'global' => [ 'default' => Global_Colors::COLOR_SECONDARY, ], ] ); $this->add_control( 'text_color_hover', [ 'label' => esc_html__( 'Hover', 'elementor' ), 'type' => Controls_Manager::COLOR, 'default' => '', 'selectors' => [ '{{WRAPPER}} .elementor-icon-list-item:hover .elementor-icon-list-text' => 'color: {{VALUE}};', ], ] ); $this->add_control( 'text_indent', [ 'label' => esc_html__( 'Text Indent', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'range' => [ 'px' => [ 'max' => 50, ], ], 'selectors' => [ '{{WRAPPER}} .elementor-icon-list-text' => is_rtl() ? 'padding-right: {{SIZE}}{{UNIT}};' : 'padding-left: {{SIZE}}{{UNIT}};', ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'icon_typography', 'selector' => '{{WRAPPER}} .elementor-icon-list-item > .elementor-icon-list-text, {{WRAPPER}} .elementor-icon-list-item > a', 'global' => [ 'default' => Global_Typography::TYPOGRAPHY_TEXT, ], ] ); $this->add_group_control( Group_Control_Text_Shadow::get_type(), [ 'name' => 'text_shadow', 'selector' => '{{WRAPPER}} .elementor-icon-list-text', ] ); $this->end_controls_section(); } /** * Render icon list widget output on the frontend. * * Written in PHP and used to generate the final HTML. * * @since 1.0.0 * @access protected */ protected function render() { $settings = $this->get_settings_for_display(); $fallback_defaults = [ 'fa fa-check', 'fa fa-times', 'fa fa-dot-circle-o', ]; $this->add_render_attribute( 'icon_list', 'class', 'elementor-icon-list-items' ); $this->add_render_attribute( 'list_item', 'class', 'elementor-icon-list-item' ); if ( 'inline' === $settings['view'] ) { $this->add_render_attribute( 'icon_list', 'class', 'elementor-inline-items' ); $this->add_render_attribute( 'list_item', 'class', 'elementor-inline-item' ); } ?> <# view.addRenderAttribute( 'icon_list', 'class', 'elementor-icon-list-items' ); view.addRenderAttribute( 'list_item', 'class', 'elementor-icon-list-item' ); if ( 'inline' == settings.view ) { view.addRenderAttribute( 'icon_list', 'class', 'elementor-inline-items' ); view.addRenderAttribute( 'list_item', 'class', 'elementor-inline-item' ); } var iconsHTML = {}, migrated = {}; #> <# if ( settings.icon_list ) { #> <# } #> get_widget_instance() instanceof \Pojo_Widget_Base; } public function hide_on_search() { return Plugin::$instance->experiments->is_feature_active( 'e_hidden_wordpress_widgets' ); } /** * Get widget name. * * Retrieve WordPress/Pojo widget name. * * @since 1.0.0 * @access public * * @return string Widget name. */ public function get_name() { return 'wp-widget-' . $this->get_widget_instance()->id_base; } /** * Get widget title. * * Retrieve WordPress/Pojo widget title. * * @since 1.0.0 * @access public * * @return string Widget title. */ public function get_title() { return $this->get_widget_instance()->name; } /** * Get widget categories. * * Retrieve the list of categories the WordPress/Pojo widget belongs to. * * Used to determine where to display the widget in the editor. * * @since 1.0.0 * @access public * * @return array Widget categories. Returns either a WordPress category or Pojo category. */ public function get_categories() { if ( $this->is_pojo_widget() ) { $category = 'pojo'; } else { $category = 'wordpress'; } return [ $category ]; } /** * Get widget icon. * * Retrieve WordPress/Pojo widget icon. * * @since 1.0.0 * @access public * * @return string Widget icon. Returns either a WordPress icon or Pojo icon. */ public function get_icon() { if ( $this->is_pojo_widget() ) { return 'eicon-pojome'; } return 'eicon-wordpress'; } /** * Get widget keywords. * * Retrieve the list of keywords the widget belongs to. * * @since 2.1.0 * @access public * * @return array Widget keywords. */ public function get_keywords() { return [ 'wordpress', 'widget' ]; } public function get_help_url() { return ''; } /** * Whether the reload preview is required or not. * * Used to determine whether the reload preview is required. * * @since 1.0.0 * @access public * * @return bool Whether the reload preview is required. */ public function is_reload_preview_required() { return true; } /** * Retrieve WordPress/Pojo widget form. * * Returns the WordPress widget form, to be used in Elementor. * * @since 1.0.0 * @access public * * @return string Widget form. */ public function get_form() { $instance = $this->get_widget_instance(); ob_start(); echo '
'; echo ''; echo ''; echo '
'; $widget_data = $this->get_settings( 'wp' ); $instance->form( $widget_data ); do_action( 'in_widget_form', $instance, null, $widget_data ); echo '
'; return ob_get_clean(); } /** * Retrieve WordPress/Pojo widget instance. * * Returns an instance of WordPress widget, to be used in Elementor. * * @since 1.0.0 * @access public * * @return \WP_Widget */ public function get_widget_instance() { if ( is_null( $this->_widget_instance ) ) { global $wp_widget_factory; if ( isset( $wp_widget_factory->widgets[ $this->_widget_name ] ) ) { $this->_widget_instance = $wp_widget_factory->widgets[ $this->_widget_name ]; $this->_widget_instance->_set( 'REPLACE_TO_ID' ); } elseif ( class_exists( $this->_widget_name ) ) { $this->_widget_instance = new $this->_widget_name(); $this->_widget_instance->_set( 'REPLACE_TO_ID' ); } } return $this->_widget_instance; } /** * Retrieve WordPress/Pojo widget parsed settings. * * Returns the WordPress widget settings, to be used in Elementor. * * @access protected * @since 2.3.0 * * @return array Parsed settings. */ protected function get_init_settings() { $settings = parent::get_init_settings(); if ( ! empty( $settings['wp'] ) ) { $widget = $this->get_widget_instance(); $instance = $widget->update( $settings['wp'], [] ); /** This filter is documented in wp-includes/class-wp-widget.php */ $settings['wp'] = apply_filters( 'widget_update_callback', $instance, $settings['wp'], [], $widget ); } return $settings; } /** * Register WordPress/Pojo widget controls. * * Adds different input fields to allow the user to change and customize the widget settings. * * @since 3.1.0 * @access protected */ protected function register_controls() { $this->add_control( 'wp', [ 'label' => esc_html__( 'Form', 'elementor' ), 'type' => Controls_Manager::WP_WIDGET, 'widget' => $this->get_name(), 'id_base' => $this->get_widget_instance()->id_base, ] ); } /** * Render WordPress/Pojo widget output on the frontend. * * Written in PHP and used to generate the final HTML. * * @since 1.0.0 * @access protected */ protected function render() { $default_widget_args = [ 'widget_id' => $this->get_name(), 'before_widget' => '', 'after_widget' => '', 'before_title' => '
', 'after_title' => '
', ]; /** * WordPress widget args. * * Filters the WordPress widget arguments when they are rendered in Elementor panel. * * @since 1.0.0 * * @param array $default_widget_args Default widget arguments. * @param Widget_WordPress $this The WordPress widget. */ $default_widget_args = apply_filters( 'elementor/widgets/wordpress/widget_args', $default_widget_args, $this ); $is_gallery_widget = 'wp-widget-media_gallery' === $this->get_name(); if ( $is_gallery_widget ) { add_filter( 'wp_get_attachment_link', [ $this, 'add_lightbox_data_to_image_link' ], 10, 2 ); } $this->get_widget_instance()->widget( $default_widget_args, $this->get_settings( 'wp' ) ); if ( $is_gallery_widget ) { remove_filter( 'wp_get_attachment_link', [ $this, 'add_lightbox_data_to_image_link' ] ); } } /** * Render WordPress/Pojo widget output in the editor. * * Written as a Backbone JavaScript template and used to generate the live preview. * * @since 2.9.0 * @access protected */ protected function content_template() {} /** * WordPress/Pojo widget constructor. * * Used to run WordPress widget constructor. * * @since 1.0.0 * @access public * * @param array $data Widget data. Default is an empty array. * @param array $args Widget arguments. Default is null. */ public function __construct( $data = [], $args = null ) { $this->_widget_name = $args['widget_name']; parent::__construct( $data, $args ); } /** * Render WordPress/Pojo widget as plain content. * * Override the default render behavior, don't render widget content. * * @since 1.0.0 * @access public * * @param array $instance Widget instance. Default is empty array. */ public function render_plain_content( $instance = [] ) {} } includes/widgets/icon.php000064400000026625152377341010011477 0ustar00start_controls_section( 'section_icon', [ 'label' => esc_html__( 'Icon', 'elementor' ), ] ); $this->add_control( 'selected_icon', [ 'label' => esc_html__( 'Icon', 'elementor' ), 'type' => Controls_Manager::ICONS, 'fa4compatibility' => 'icon', 'default' => [ 'value' => 'fas fa-star', 'library' => 'fa-solid', ], ] ); $this->add_control( 'view', [ 'label' => esc_html__( 'View', 'elementor' ), 'type' => Controls_Manager::SELECT, 'options' => [ 'default' => esc_html__( 'Default', 'elementor' ), 'stacked' => esc_html__( 'Stacked', 'elementor' ), 'framed' => esc_html__( 'Framed', 'elementor' ), ], 'default' => 'default', 'prefix_class' => 'elementor-view-', ] ); $this->add_control( 'shape', [ 'label' => esc_html__( 'Shape', 'elementor' ), 'type' => Controls_Manager::SELECT, 'options' => [ 'circle' => esc_html__( 'Circle', 'elementor' ), 'square' => esc_html__( 'Square', 'elementor' ), ], 'default' => 'circle', 'condition' => [ 'view!' => 'default', ], 'prefix_class' => 'elementor-shape-', ] ); $this->add_control( 'link', [ 'label' => esc_html__( 'Link', 'elementor' ), 'type' => Controls_Manager::URL, 'dynamic' => [ 'active' => true, ], 'placeholder' => esc_html__( 'https://your-link.com', 'elementor' ), ] ); $this->add_responsive_control( 'align', [ 'label' => esc_html__( 'Alignment', 'elementor' ), 'type' => Controls_Manager::CHOOSE, 'options' => [ 'left' => [ 'title' => esc_html__( 'Left', 'elementor' ), 'icon' => 'eicon-text-align-left', ], 'center' => [ 'title' => esc_html__( 'Center', 'elementor' ), 'icon' => 'eicon-text-align-center', ], 'right' => [ 'title' => esc_html__( 'Right', 'elementor' ), 'icon' => 'eicon-text-align-right', ], ], 'default' => 'center', 'selectors' => [ '{{WRAPPER}} .elementor-icon-wrapper' => 'text-align: {{VALUE}};', ], ] ); $this->end_controls_section(); $this->start_controls_section( 'section_style_icon', [ 'label' => esc_html__( 'Icon', 'elementor' ), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->start_controls_tabs( 'icon_colors' ); $this->start_controls_tab( 'icon_colors_normal', [ 'label' => esc_html__( 'Normal', 'elementor' ), ] ); $this->add_control( 'primary_color', [ 'label' => esc_html__( 'Primary Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'default' => '', 'selectors' => [ '{{WRAPPER}}.elementor-view-stacked .elementor-icon' => 'background-color: {{VALUE}};', '{{WRAPPER}}.elementor-view-framed .elementor-icon, {{WRAPPER}}.elementor-view-default .elementor-icon' => 'color: {{VALUE}}; border-color: {{VALUE}};', '{{WRAPPER}}.elementor-view-framed .elementor-icon, {{WRAPPER}}.elementor-view-default .elementor-icon svg' => 'fill: {{VALUE}};', ], 'global' => [ 'default' => Global_Colors::COLOR_PRIMARY, ], ] ); $this->add_control( 'secondary_color', [ 'label' => esc_html__( 'Secondary Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'default' => '', 'condition' => [ 'view!' => 'default', ], 'selectors' => [ '{{WRAPPER}}.elementor-view-framed .elementor-icon' => 'background-color: {{VALUE}};', '{{WRAPPER}}.elementor-view-stacked .elementor-icon' => 'color: {{VALUE}};', '{{WRAPPER}}.elementor-view-stacked .elementor-icon svg' => 'fill: {{VALUE}};', ], ] ); $this->end_controls_tab(); $this->start_controls_tab( 'icon_colors_hover', [ 'label' => esc_html__( 'Hover', 'elementor' ), ] ); $this->add_control( 'hover_primary_color', [ 'label' => esc_html__( 'Primary Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'default' => '', 'selectors' => [ '{{WRAPPER}}.elementor-view-stacked .elementor-icon:hover' => 'background-color: {{VALUE}};', '{{WRAPPER}}.elementor-view-framed .elementor-icon:hover, {{WRAPPER}}.elementor-view-default .elementor-icon:hover' => 'color: {{VALUE}}; border-color: {{VALUE}};', '{{WRAPPER}}.elementor-view-framed .elementor-icon:hover, {{WRAPPER}}.elementor-view-default .elementor-icon:hover svg' => 'fill: {{VALUE}};', ], ] ); $this->add_control( 'hover_secondary_color', [ 'label' => esc_html__( 'Secondary Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'default' => '', 'condition' => [ 'view!' => 'default', ], 'selectors' => [ '{{WRAPPER}}.elementor-view-framed .elementor-icon:hover' => 'background-color: {{VALUE}};', '{{WRAPPER}}.elementor-view-stacked .elementor-icon:hover' => 'color: {{VALUE}};', '{{WRAPPER}}.elementor-view-stacked .elementor-icon:hover svg' => 'fill: {{VALUE}};', ], ] ); $this->add_control( 'hover_animation', [ 'label' => esc_html__( 'Hover Animation', 'elementor' ), 'type' => Controls_Manager::HOVER_ANIMATION, ] ); $this->end_controls_tab(); $this->end_controls_tabs(); $this->add_responsive_control( 'size', [ 'label' => esc_html__( 'Size', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'range' => [ 'px' => [ 'min' => 6, 'max' => 300, ], ], 'selectors' => [ '{{WRAPPER}} .elementor-icon' => 'font-size: {{SIZE}}{{UNIT}};', ], 'separator' => 'before', ] ); $this->add_control( 'icon_padding', [ 'label' => esc_html__( 'Padding', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'selectors' => [ '{{WRAPPER}} .elementor-icon' => 'padding: {{SIZE}}{{UNIT}};', ], 'range' => [ 'em' => [ 'min' => 0, 'max' => 5, ], ], 'condition' => [ 'view!' => 'default', ], ] ); $this->add_responsive_control( 'rotate', [ 'label' => esc_html__( 'Rotate', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'size_units' => [ 'deg' ], 'default' => [ 'size' => 0, 'unit' => 'deg', ], 'tablet_default' => [ 'unit' => 'deg', ], 'mobile_default' => [ 'unit' => 'deg', ], 'selectors' => [ '{{WRAPPER}} .elementor-icon i, {{WRAPPER}} .elementor-icon svg' => 'transform: rotate({{SIZE}}{{UNIT}});', ], ] ); $this->add_control( 'border_width', [ 'label' => esc_html__( 'Border Width', 'elementor' ), 'type' => Controls_Manager::DIMENSIONS, 'selectors' => [ '{{WRAPPER}} .elementor-icon' => 'border-width: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], 'condition' => [ 'view' => 'framed', ], ] ); $this->add_control( 'border_radius', [ 'label' => esc_html__( 'Border Radius', 'elementor' ), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => [ 'px', '%' ], 'selectors' => [ '{{WRAPPER}} .elementor-icon' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], 'condition' => [ 'view!' => 'default', ], ] ); $this->end_controls_section(); } /** * Render icon widget output on the frontend. * * Written in PHP and used to generate the final HTML. * * @since 1.0.0 * @access protected */ protected function render() { $settings = $this->get_settings_for_display(); $this->add_render_attribute( 'wrapper', 'class', 'elementor-icon-wrapper' ); $this->add_render_attribute( 'icon-wrapper', 'class', 'elementor-icon' ); if ( ! empty( $settings['hover_animation'] ) ) { $this->add_render_attribute( 'icon-wrapper', 'class', 'elementor-animation-' . $settings['hover_animation'] ); } $icon_tag = 'div'; if ( ! empty( $settings['link']['url'] ) ) { $this->add_link_attributes( 'icon-wrapper', $settings['link'] ); $icon_tag = 'a'; } if ( empty( $settings['icon'] ) && ! Icons_Manager::is_migration_allowed() ) { // add old default $settings['icon'] = 'fa fa-star'; } if ( ! empty( $settings['icon'] ) ) { $this->add_render_attribute( 'icon', 'class', $settings['icon'] ); $this->add_render_attribute( 'icon', 'aria-hidden', 'true' ); } $migrated = isset( $settings['__fa4_migrated']['selected_icon'] ); $is_new = empty( $settings['icon'] ) && Icons_Manager::is_migration_allowed(); ?>
print_render_attribute_string( 'wrapper' ); ?>> <get_render_attribute_string( 'icon-wrapper' ) ); ?>> 'true' ] ); else : ?> print_render_attribute_string( 'icon' ); ?>> >
<# var link = settings.link.url ? 'href="' + settings.link.url + '"' : '', iconHTML = elementor.helpers.renderIcon( view, settings.selected_icon, { 'aria-hidden': true }, 'i' , 'object' ), migrated = elementor.helpers.isIconMigrated( settings, 'selected_icon' ), iconTag = link ? 'a' : 'div'; #>
<{{{ iconTag }}} class="elementor-icon elementor-animation-{{ settings.hover_animation }}" {{{ link }}}> <# if ( iconHTML && iconHTML.rendered && ( ! settings.icon || migrated ) ) { #> {{{ iconHTML.value }}} <# } else { #> <# } #>
start_controls_section( 'section_shortcode', [ 'label' => esc_html__( 'Shortcode', 'elementor' ), ] ); $this->add_control( 'shortcode', [ 'label' => esc_html__( 'Enter your shortcode', 'elementor' ), 'type' => Controls_Manager::TEXTAREA, 'dynamic' => [ 'active' => true, ], 'placeholder' => '[gallery id="123" size="medium"]', 'default' => '', ] ); $this->end_controls_section(); } /** * Render shortcode widget output on the frontend. * * Written in PHP and used to generate the final HTML. * * @since 1.0.0 * @access protected */ protected function render() { $shortcode = $this->get_settings_for_display( 'shortcode' ); $shortcode = do_shortcode( shortcode_unautop( $shortcode ) ); ?>
print_unescaped_setting( 'shortcode' ); } /** * Render shortcode widget output in the editor. * * Written as a Backbone JavaScript template and used to generate the live preview. * * @since 2.9.0 * @access protected */ protected function content_template() {} } includes/widgets/sidebar.php000064400000005642152377341010012154 0ustar00 $sidebar ) { $options[ $sidebar_id ] = $sidebar['name']; } } $default_key = array_keys( $options ); $default_key = array_shift( $default_key ); $this->start_controls_section( 'section_sidebar', [ 'label' => esc_html__( 'Sidebar', 'elementor' ), ] ); $this->add_control( 'sidebar', [ 'label' => esc_html__( 'Choose Sidebar', 'elementor' ), 'type' => Controls_Manager::SELECT, 'default' => $default_key, 'options' => $options, ] ); $this->end_controls_section(); } /** * Render sidebar widget output on the frontend. * * Written in PHP and used to generate the final HTML. * * @since 1.0.0 * @access protected */ protected function render() { $sidebar = $this->get_settings_for_display( 'sidebar' ); if ( empty( $sidebar ) ) { return; } dynamic_sidebar( $sidebar ); } /** * Render sidebar widget output in the editor. * * Written as a Backbone JavaScript template and used to generate the live preview. * * @since 2.9.0 * @access protected */ protected function content_template() {} /** * Render sidebar widget as plain content. * * Override the default render behavior, don't render sidebar content. * * @since 1.0.0 * @access public */ public function render_plain_content() {} } includes/widgets/image-carousel.php000064400000053561152377341010013443 0ustar00start_controls_section( 'section_image_carousel', [ 'label' => esc_html__( 'Image Carousel', 'elementor' ), ] ); $this->add_control( 'carousel', [ 'label' => esc_html__( 'Add Images', 'elementor' ), 'type' => Controls_Manager::GALLERY, 'default' => [], 'show_label' => false, 'dynamic' => [ 'active' => true, ], ] ); $this->add_group_control( Group_Control_Image_Size::get_type(), [ 'name' => 'thumbnail', // Usage: `{name}_size` and `{name}_custom_dimension`, in this case `thumbnail_size` and `thumbnail_custom_dimension`. 'separator' => 'none', ] ); $slides_to_show = range( 1, 10 ); $slides_to_show = array_combine( $slides_to_show, $slides_to_show ); $this->add_responsive_control( 'slides_to_show', [ 'label' => esc_html__( 'Slides to Show', 'elementor' ), 'type' => Controls_Manager::SELECT, 'options' => [ '' => esc_html__( 'Default', 'elementor' ), ] + $slides_to_show, 'frontend_available' => true, 'render_type' => 'template', 'selectors' => [ '{{WRAPPER}}' => '--e-image-carousel-slides-to-show: {{VALUE}}', ], ] ); $this->add_responsive_control( 'slides_to_scroll', [ 'label' => esc_html__( 'Slides to Scroll', 'elementor' ), 'type' => Controls_Manager::SELECT, 'description' => esc_html__( 'Set how many slides are scrolled per swipe.', 'elementor' ), 'options' => [ '' => esc_html__( 'Default', 'elementor' ), ] + $slides_to_show, 'condition' => [ 'slides_to_show!' => '1', ], 'frontend_available' => true, ] ); $this->add_control( 'image_stretch', [ 'label' => esc_html__( 'Image Stretch', 'elementor' ), 'type' => Controls_Manager::SELECT, 'default' => 'no', 'options' => [ 'no' => esc_html__( 'No', 'elementor' ), 'yes' => esc_html__( 'Yes', 'elementor' ), ], ] ); $this->add_control( 'navigation', [ 'label' => esc_html__( 'Navigation', 'elementor' ), 'type' => Controls_Manager::SELECT, 'default' => 'both', 'options' => [ 'both' => esc_html__( 'Arrows and Dots', 'elementor' ), 'arrows' => esc_html__( 'Arrows', 'elementor' ), 'dots' => esc_html__( 'Dots', 'elementor' ), 'none' => esc_html__( 'None', 'elementor' ), ], 'frontend_available' => true, ] ); $this->add_control( 'link_to', [ 'label' => esc_html__( 'Link', 'elementor' ), 'type' => Controls_Manager::SELECT, 'default' => 'none', 'options' => [ 'none' => esc_html__( 'None', 'elementor' ), 'file' => esc_html__( 'Media File', 'elementor' ), 'custom' => esc_html__( 'Custom URL', 'elementor' ), ], ] ); $this->add_control( 'link', [ 'label' => esc_html__( 'Link', 'elementor' ), 'type' => Controls_Manager::URL, 'placeholder' => esc_html__( 'https://your-link.com', 'elementor' ), 'condition' => [ 'link_to' => 'custom', ], 'show_label' => false, 'dynamic' => [ 'active' => true, ], ] ); $this->add_control( 'open_lightbox', [ 'label' => esc_html__( 'Lightbox', 'elementor' ), 'type' => Controls_Manager::SELECT, 'default' => 'default', 'options' => [ 'default' => esc_html__( 'Default', 'elementor' ), 'yes' => esc_html__( 'Yes', 'elementor' ), 'no' => esc_html__( 'No', 'elementor' ), ], 'condition' => [ 'link_to' => 'file', ], ] ); $this->add_control( 'caption_type', [ 'label' => esc_html__( 'Caption', 'elementor' ), 'type' => Controls_Manager::SELECT, 'default' => '', 'options' => [ '' => esc_html__( 'None', 'elementor' ), 'title' => esc_html__( 'Title', 'elementor' ), 'caption' => esc_html__( 'Caption', 'elementor' ), 'description' => esc_html__( 'Description', 'elementor' ), ], ] ); $this->add_control( 'view', [ 'label' => esc_html__( 'View', 'elementor' ), 'type' => Controls_Manager::HIDDEN, 'default' => 'traditional', ] ); $this->end_controls_section(); $this->start_controls_section( 'section_additional_options', [ 'label' => esc_html__( 'Additional Options', 'elementor' ), ] ); $this->add_control( 'lazyload', [ 'label' => esc_html__( 'Lazyload', 'elementor' ), 'type' => Controls_Manager::SWITCHER, 'frontend_available' => true, ] ); $this->add_control( 'autoplay', [ 'label' => esc_html__( 'Autoplay', 'elementor' ), 'type' => Controls_Manager::SELECT, 'default' => 'yes', 'options' => [ 'yes' => esc_html__( 'Yes', 'elementor' ), 'no' => esc_html__( 'No', 'elementor' ), ], 'frontend_available' => true, ] ); $this->add_control( 'pause_on_hover', [ 'label' => esc_html__( 'Pause on Hover', 'elementor' ), 'type' => Controls_Manager::SELECT, 'default' => 'yes', 'options' => [ 'yes' => esc_html__( 'Yes', 'elementor' ), 'no' => esc_html__( 'No', 'elementor' ), ], 'condition' => [ 'autoplay' => 'yes', ], 'render_type' => 'none', 'frontend_available' => true, ] ); $this->add_control( 'pause_on_interaction', [ 'label' => esc_html__( 'Pause on Interaction', 'elementor' ), 'type' => Controls_Manager::SELECT, 'default' => 'yes', 'options' => [ 'yes' => esc_html__( 'Yes', 'elementor' ), 'no' => esc_html__( 'No', 'elementor' ), ], 'condition' => [ 'autoplay' => 'yes', ], 'frontend_available' => true, ] ); $this->add_control( 'autoplay_speed', [ 'label' => esc_html__( 'Autoplay Speed', 'elementor' ), 'type' => Controls_Manager::NUMBER, 'default' => 5000, 'condition' => [ 'autoplay' => 'yes', ], 'render_type' => 'none', 'frontend_available' => true, ] ); // Loop requires a re-render so no 'render_type = none' $this->add_control( 'infinite', [ 'label' => esc_html__( 'Infinite Loop', 'elementor' ), 'type' => Controls_Manager::SELECT, 'default' => 'yes', 'options' => [ 'yes' => esc_html__( 'Yes', 'elementor' ), 'no' => esc_html__( 'No', 'elementor' ), ], 'frontend_available' => true, ] ); $this->add_control( 'effect', [ 'label' => esc_html__( 'Effect', 'elementor' ), 'type' => Controls_Manager::SELECT, 'default' => 'slide', 'options' => [ 'slide' => esc_html__( 'Slide', 'elementor' ), 'fade' => esc_html__( 'Fade', 'elementor' ), ], 'condition' => [ 'slides_to_show' => '1', ], 'frontend_available' => true, ] ); $this->add_control( 'speed', [ 'label' => esc_html__( 'Animation Speed', 'elementor' ), 'type' => Controls_Manager::NUMBER, 'default' => 500, 'render_type' => 'none', 'frontend_available' => true, ] ); $this->add_control( 'direction', [ 'label' => esc_html__( 'Direction', 'elementor' ), 'type' => Controls_Manager::SELECT, 'default' => 'ltr', 'options' => [ 'ltr' => esc_html__( 'Left', 'elementor' ), 'rtl' => esc_html__( 'Right', 'elementor' ), ], ] ); $this->end_controls_section(); $this->start_controls_section( 'section_style_navigation', [ 'label' => esc_html__( 'Navigation', 'elementor' ), 'tab' => Controls_Manager::TAB_STYLE, 'condition' => [ 'navigation' => [ 'arrows', 'dots', 'both' ], ], ] ); $this->add_control( 'heading_style_arrows', [ 'label' => esc_html__( 'Arrows', 'elementor' ), 'type' => Controls_Manager::HEADING, 'separator' => 'before', 'condition' => [ 'navigation' => [ 'arrows', 'both' ], ], ] ); $this->add_control( 'arrows_position', [ 'label' => esc_html__( 'Position', 'elementor' ), 'type' => Controls_Manager::SELECT, 'default' => 'inside', 'options' => [ 'inside' => esc_html__( 'Inside', 'elementor' ), 'outside' => esc_html__( 'Outside', 'elementor' ), ], 'prefix_class' => 'elementor-arrows-position-', 'condition' => [ 'navigation' => [ 'arrows', 'both' ], ], ] ); $this->add_control( 'arrows_size', [ 'label' => esc_html__( 'Size', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'range' => [ 'px' => [ 'min' => 20, 'max' => 60, ], ], 'selectors' => [ '{{WRAPPER}} .elementor-swiper-button.elementor-swiper-button-prev, {{WRAPPER}} .elementor-swiper-button.elementor-swiper-button-next' => 'font-size: {{SIZE}}{{UNIT}};', ], 'condition' => [ 'navigation' => [ 'arrows', 'both' ], ], ] ); $this->add_control( 'arrows_color', [ 'label' => esc_html__( 'Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .elementor-swiper-button.elementor-swiper-button-prev, {{WRAPPER}} .elementor-swiper-button.elementor-swiper-button-next' => 'color: {{VALUE}};', '{{WRAPPER}} .elementor-swiper-button.elementor-swiper-button-prev svg, {{WRAPPER}} .elementor-swiper-button.elementor-swiper-button-next svg' => 'fill: {{VALUE}};', ], 'condition' => [ 'navigation' => [ 'arrows', 'both' ], ], ] ); $this->add_control( 'heading_style_dots', [ 'label' => esc_html__( 'Pagination', 'elementor' ), 'type' => Controls_Manager::HEADING, 'separator' => 'before', 'condition' => [ 'navigation' => [ 'dots', 'both' ], ], ] ); $this->add_control( 'dots_position', [ 'label' => esc_html__( 'Position', 'elementor' ), 'type' => Controls_Manager::SELECT, 'default' => 'outside', 'options' => [ 'outside' => esc_html__( 'Outside', 'elementor' ), 'inside' => esc_html__( 'Inside', 'elementor' ), ], 'prefix_class' => 'elementor-pagination-position-', 'condition' => [ 'navigation' => [ 'dots', 'both' ], ], ] ); $this->add_control( 'dots_size', [ 'label' => esc_html__( 'Size', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'range' => [ 'px' => [ 'min' => 5, 'max' => 10, ], ], 'selectors' => [ '{{WRAPPER}} .swiper-pagination-bullet' => 'width: {{SIZE}}{{UNIT}}; height: {{SIZE}}{{UNIT}};', ], 'condition' => [ 'navigation' => [ 'dots', 'both' ], ], ] ); $this->add_control( 'dots_inactive_color', [ 'label' => esc_html__( 'Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'selectors' => [ // The opacity property will override the default inactive dot color which is opacity 0.2. '{{WRAPPER}} .swiper-pagination-bullet:not(.swiper-pagination-bullet-active)' => 'background: {{VALUE}}; opacity: 1', ], 'condition' => [ 'navigation' => [ 'dots', 'both' ], ], ] ); $this->add_control( 'dots_color', [ 'label' => esc_html__( 'Active Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .swiper-pagination-bullet' => 'background: {{VALUE}};', ], 'condition' => [ 'navigation' => [ 'dots', 'both' ], ], ] ); $this->end_controls_section(); $this->start_controls_section( 'section_style_image', [ 'label' => esc_html__( 'Image', 'elementor' ), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_responsive_control( 'gallery_vertical_align', [ 'label' => esc_html__( 'Vertical Align', 'elementor' ), 'type' => Controls_Manager::CHOOSE, 'options' => [ 'flex-start' => [ 'title' => esc_html__( 'Start', 'elementor' ), 'icon' => 'eicon-v-align-top', ], 'center' => [ 'title' => esc_html__( 'Center', 'elementor' ), 'icon' => 'eicon-v-align-middle', ], 'flex-end' => [ 'title' => esc_html__( 'End', 'elementor' ), 'icon' => 'eicon-v-align-bottom', ], ], 'condition' => [ 'slides_to_show!' => '1', ], 'selectors' => [ '{{WRAPPER}} .swiper-wrapper' => 'display: flex; align-items: {{VALUE}};', ], ] ); $this->add_control( 'image_spacing', [ 'label' => esc_html__( 'Spacing', 'elementor' ), 'type' => Controls_Manager::SELECT, 'options' => [ '' => esc_html__( 'Default', 'elementor' ), 'custom' => esc_html__( 'Custom', 'elementor' ), ], 'default' => '', 'condition' => [ 'slides_to_show!' => '1', ], ] ); $this->add_control( 'image_spacing_custom', [ 'label' => esc_html__( 'Image Spacing', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'range' => [ 'px' => [ 'max' => 100, ], ], 'default' => [ 'size' => 20, ], 'show_label' => false, 'condition' => [ 'image_spacing' => 'custom', 'slides_to_show!' => '1', ], 'frontend_available' => true, 'render_type' => 'none', 'separator' => 'after', ] ); $this->add_group_control( Group_Control_Border::get_type(), [ 'name' => 'image_border', 'selector' => '{{WRAPPER}} .elementor-image-carousel-wrapper .elementor-image-carousel .swiper-slide-image', ] ); $this->add_control( 'image_border_radius', [ 'label' => esc_html__( 'Border Radius', 'elementor' ), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => [ 'px', '%' ], 'selectors' => [ '{{WRAPPER}} .elementor-image-carousel-wrapper .elementor-image-carousel .swiper-slide-image' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->end_controls_section(); $this->start_controls_section( 'section_caption', [ 'label' => esc_html__( 'Caption', 'elementor' ), 'tab' => Controls_Manager::TAB_STYLE, 'condition' => [ 'caption_type!' => '', ], ] ); $this->add_control( 'caption_align', [ 'label' => esc_html__( 'Alignment', 'elementor' ), 'type' => Controls_Manager::CHOOSE, 'options' => [ 'left' => [ 'title' => esc_html__( 'Left', 'elementor' ), 'icon' => 'eicon-text-align-left', ], 'center' => [ 'title' => esc_html__( 'Center', 'elementor' ), 'icon' => 'eicon-text-align-center', ], 'right' => [ 'title' => esc_html__( 'Right', 'elementor' ), 'icon' => 'eicon-text-align-right', ], 'justify' => [ 'title' => esc_html__( 'Justified', 'elementor' ), 'icon' => 'eicon-text-align-justify', ], ], 'default' => 'center', 'selectors' => [ '{{WRAPPER}} .elementor-image-carousel-caption' => 'text-align: {{VALUE}};', ], ] ); $this->add_control( 'caption_text_color', [ 'label' => esc_html__( 'Text Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'default' => '', 'selectors' => [ '{{WRAPPER}} .elementor-image-carousel-caption' => 'color: {{VALUE}};', ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'caption_typography', 'global' => [ 'default' => Global_Colors::COLOR_ACCENT, ], 'selector' => '{{WRAPPER}} .elementor-image-carousel-caption', ] ); $this->add_group_control( Group_Control_Text_Shadow::get_type(), [ 'name' => 'caption_shadow', 'selector' => '{{WRAPPER}} .elementor-image-carousel-caption', ] ); $this->end_controls_section(); } /** * Render image carousel widget output on the frontend. * * Written in PHP and used to generate the final HTML. * * @since 1.0.0 * @access protected */ protected function render() { $settings = $this->get_settings_for_display(); $lazyload = 'yes' === $settings['lazyload']; if ( empty( $settings['carousel'] ) ) { return; } $slides = []; foreach ( $settings['carousel'] as $index => $attachment ) { $image_url = Group_Control_Image_Size::get_attachment_image_src( $attachment['id'], 'thumbnail', $settings ); if ( ! $image_url && isset( $attachment['url'] ) ) { $image_url = $attachment['url']; } if ( $lazyload ) { $image_html = '' . esc_attr( Control_Media::get_image_alt( $attachment ) ) . ''; } else { $image_html = '' . esc_attr( Control_Media::get_image_alt( $attachment ) ) . ''; } $link_tag = ''; $link = $this->get_link_url( $attachment, $settings ); if ( $link ) { $link_key = 'link_' . $index; $this->add_lightbox_data_attributes( $link_key, $attachment['id'], $settings['open_lightbox'], $this->get_id() ); if ( Plugin::$instance->editor->is_edit_mode() ) { $this->add_render_attribute( $link_key, [ 'class' => 'elementor-clickable', ] ); } $this->add_link_attributes( $link_key, $link ); $link_tag = 'get_render_attribute_string( $link_key ) . '>'; } $image_caption = $this->get_image_caption( $attachment ); $slide_html = ''; $slides[] = $slide_html; } if ( empty( $slides ) ) { return; } $this->add_render_attribute( [ 'carousel' => [ 'class' => 'elementor-image-carousel swiper-wrapper', ], 'carousel-wrapper' => [ 'class' => 'elementor-image-carousel-wrapper swiper-container', 'dir' => $settings['direction'], ], ] ); $show_dots = ( in_array( $settings['navigation'], [ 'dots', 'both' ] ) ); $show_arrows = ( in_array( $settings['navigation'], [ 'arrows', 'both' ] ) ); if ( 'yes' === $settings['image_stretch'] ) { $this->add_render_attribute( 'carousel', 'class', 'swiper-image-stretch' ); } $slides_count = count( $settings['carousel'] ); ?>
print_render_attribute_string( 'carousel-wrapper' ); ?>>
print_render_attribute_string( 'carousel' ); ?>>
render_swiper_button( 'previous' ); ?>
render_swiper_button( 'next' ); ?>
wp_get_attachment_url( $attachment['id'] ), ]; } /** * Retrieve image carousel caption. * * @since 1.2.0 * @access private * * @param array $attachment * * @return string The caption of the image. */ private function get_image_caption( $attachment ) { $caption_type = $this->get_settings_for_display( 'caption_type' ); if ( empty( $caption_type ) ) { return ''; } $attachment_post = get_post( $attachment['id'] ); if ( 'caption' === $caption_type ) { return $attachment_post->post_excerpt; } if ( 'title' === $caption_type ) { return $attachment_post->post_title; } return $attachment_post->post_content; } private function render_swiper_button( $type ) { $direction = 'next' === $type ? 'right' : 'left'; $icon_value = 'eicon-chevron-' . $direction; Icons_Manager::render_icon( [ 'library' => 'eicons', 'value' => $icon_value, ], [ 'aria-hidden' => 'true' ] ); } } includes/widgets/menu-anchor.php000064400000006547152377341010012764 0ustar00start_controls_section( 'section_anchor', [ 'label' => esc_html__( 'Anchor', 'elementor' ), ] ); $this->add_control( 'anchor', [ 'label' => esc_html__( 'The ID of Menu Anchor.', 'elementor' ), 'type' => Controls_Manager::TEXT, 'placeholder' => esc_html__( 'For Example: About', 'elementor' ), 'description' => esc_html__( 'This ID will be the CSS ID you will have to use in your own page, Without #.', 'elementor' ), 'label_block' => true, 'dynamic' => [ 'active' => true, ], ] ); $this->add_control( 'anchor_note', [ 'type' => Controls_Manager::RAW_HTML, 'raw' => sprintf( /* translators: %s: Accepted chars. */ esc_html__( 'Note: The ID link ONLY accepts these chars: %s', 'elementor' ), '`A-Z, a-z, 0-9, _ , -`' ), 'content_classes' => 'elementor-panel-alert elementor-panel-alert-warning', ] ); $this->end_controls_section(); } /** * Render menu anchor widget output on the frontend. * * Written in PHP and used to generate the final HTML. * * @since 1.0.0 * @access protected */ protected function render() { $anchor = $this->get_settings_for_display( 'anchor' ); if ( ! empty( $anchor ) ) { $this->add_render_attribute( 'inner', 'id', sanitize_html_class( $anchor ) ); } $this->add_render_attribute( 'inner', 'class', 'elementor-menu-anchor' ); ?>
print_render_attribute_string( 'inner' ); ?>>
start_controls_section( 'section_title', [ 'label' => esc_html__( 'HTML Code', 'elementor' ), ] ); $this->add_control( 'html', [ 'label' => '', 'type' => Controls_Manager::CODE, 'default' => '', 'placeholder' => esc_html__( 'Enter your code', 'elementor' ), 'show_label' => false, 'dynamic' => [ 'active' => true, ], ] ); $this->end_controls_section(); } /** * Render HTML widget output on the frontend. * * Written in PHP and used to generate the final HTML. * * @since 1.0.0 * @access protected */ protected function render() { $this->print_unescaped_setting( 'html' ); } /** * Render HTML widget output in the editor. * * Written as a Backbone JavaScript template and used to generate the live preview. * * @since 2.9.0 * @access protected */ protected function content_template() { ?> {{{ settings.html }}} start_controls_section( 'section_image', [ 'label' => esc_html__( 'Image', 'elementor' ), ] ); $this->add_control( 'image', [ 'label' => esc_html__( 'Choose Image', 'elementor' ), 'type' => Controls_Manager::MEDIA, 'dynamic' => [ 'active' => true, ], 'default' => [ 'url' => Utils::get_placeholder_image_src(), ], ] ); $this->add_group_control( Group_Control_Image_Size::get_type(), [ 'name' => 'image', // Usage: `{name}_size` and `{name}_custom_dimension`, in this case `image_size` and `image_custom_dimension`. 'default' => 'large', 'separator' => 'none', ] ); $this->add_responsive_control( 'align', [ 'label' => esc_html__( 'Alignment', 'elementor' ), 'type' => Controls_Manager::CHOOSE, 'options' => [ 'left' => [ 'title' => esc_html__( 'Left', 'elementor' ), 'icon' => 'eicon-text-align-left', ], 'center' => [ 'title' => esc_html__( 'Center', 'elementor' ), 'icon' => 'eicon-text-align-center', ], 'right' => [ 'title' => esc_html__( 'Right', 'elementor' ), 'icon' => 'eicon-text-align-right', ], ], 'selectors' => [ '{{WRAPPER}}' => 'text-align: {{VALUE}};', ], ] ); $this->add_control( 'caption_source', [ 'label' => esc_html__( 'Caption', 'elementor' ), 'type' => Controls_Manager::SELECT, 'options' => [ 'none' => esc_html__( 'None', 'elementor' ), 'attachment' => esc_html__( 'Attachment Caption', 'elementor' ), 'custom' => esc_html__( 'Custom Caption', 'elementor' ), ], 'default' => 'none', ] ); $this->add_control( 'caption', [ 'label' => esc_html__( 'Custom Caption', 'elementor' ), 'type' => Controls_Manager::TEXT, 'default' => '', 'placeholder' => esc_html__( 'Enter your image caption', 'elementor' ), 'condition' => [ 'caption_source' => 'custom', ], 'dynamic' => [ 'active' => true, ], ] ); $this->add_control( 'link_to', [ 'label' => esc_html__( 'Link', 'elementor' ), 'type' => Controls_Manager::SELECT, 'default' => 'none', 'options' => [ 'none' => esc_html__( 'None', 'elementor' ), 'file' => esc_html__( 'Media File', 'elementor' ), 'custom' => esc_html__( 'Custom URL', 'elementor' ), ], ] ); $this->add_control( 'link', [ 'label' => esc_html__( 'Link', 'elementor' ), 'type' => Controls_Manager::URL, 'dynamic' => [ 'active' => true, ], 'placeholder' => esc_html__( 'https://your-link.com', 'elementor' ), 'condition' => [ 'link_to' => 'custom', ], 'show_label' => false, ] ); $this->add_control( 'open_lightbox', [ 'label' => esc_html__( 'Lightbox', 'elementor' ), 'type' => Controls_Manager::SELECT, 'default' => 'default', 'options' => [ 'default' => esc_html__( 'Default', 'elementor' ), 'yes' => esc_html__( 'Yes', 'elementor' ), 'no' => esc_html__( 'No', 'elementor' ), ], 'condition' => [ 'link_to' => 'file', ], ] ); $this->add_control( 'view', [ 'label' => esc_html__( 'View', 'elementor' ), 'type' => Controls_Manager::HIDDEN, 'default' => 'traditional', ] ); $this->end_controls_section(); $this->start_controls_section( 'section_style_image', [ 'label' => esc_html__( 'Image', 'elementor' ), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_responsive_control( 'width', [ 'label' => esc_html__( 'Width', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'default' => [ 'unit' => '%', ], 'tablet_default' => [ 'unit' => '%', ], 'mobile_default' => [ 'unit' => '%', ], 'size_units' => [ '%', 'px', 'vw' ], 'range' => [ '%' => [ 'min' => 1, 'max' => 100, ], 'px' => [ 'min' => 1, 'max' => 1000, ], 'vw' => [ 'min' => 1, 'max' => 100, ], ], 'selectors' => [ '{{WRAPPER}} img' => 'width: {{SIZE}}{{UNIT}};', ], ] ); $this->add_responsive_control( 'space', [ 'label' => esc_html__( 'Max Width', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'default' => [ 'unit' => '%', ], 'tablet_default' => [ 'unit' => '%', ], 'mobile_default' => [ 'unit' => '%', ], 'size_units' => [ '%', 'px', 'vw' ], 'range' => [ '%' => [ 'min' => 1, 'max' => 100, ], 'px' => [ 'min' => 1, 'max' => 1000, ], 'vw' => [ 'min' => 1, 'max' => 100, ], ], 'selectors' => [ '{{WRAPPER}} img' => 'max-width: {{SIZE}}{{UNIT}};', ], ] ); $this->add_responsive_control( 'height', [ 'label' => esc_html__( 'Height', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'default' => [ 'unit' => 'px', ], 'tablet_default' => [ 'unit' => 'px', ], 'mobile_default' => [ 'unit' => 'px', ], 'size_units' => [ 'px', 'vh' ], 'range' => [ 'px' => [ 'min' => 1, 'max' => 500, ], 'vh' => [ 'min' => 1, 'max' => 100, ], ], 'selectors' => [ '{{WRAPPER}} img' => 'height: {{SIZE}}{{UNIT}};', ], ] ); $this->add_responsive_control( 'object-fit', [ 'label' => esc_html__( 'Object Fit', 'elementor' ), 'type' => Controls_Manager::SELECT, 'condition' => [ 'height[size]!' => '', ], 'options' => [ '' => esc_html__( 'Default', 'elementor' ), 'fill' => esc_html__( 'Fill', 'elementor' ), 'cover' => esc_html__( 'Cover', 'elementor' ), 'contain' => esc_html__( 'Contain', 'elementor' ), ], 'default' => '', 'selectors' => [ '{{WRAPPER}} img' => 'object-fit: {{VALUE}};', ], ] ); $this->add_control( 'separator_panel_style', [ 'type' => Controls_Manager::DIVIDER, 'style' => 'thick', ] ); $this->start_controls_tabs( 'image_effects' ); $this->start_controls_tab( 'normal', [ 'label' => esc_html__( 'Normal', 'elementor' ), ] ); $this->add_control( 'opacity', [ 'label' => esc_html__( 'Opacity', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'range' => [ 'px' => [ 'max' => 1, 'min' => 0.10, 'step' => 0.01, ], ], 'selectors' => [ '{{WRAPPER}} img' => 'opacity: {{SIZE}};', ], ] ); $this->add_group_control( Group_Control_Css_Filter::get_type(), [ 'name' => 'css_filters', 'selector' => '{{WRAPPER}} img', ] ); $this->end_controls_tab(); $this->start_controls_tab( 'hover', [ 'label' => esc_html__( 'Hover', 'elementor' ), ] ); $this->add_control( 'opacity_hover', [ 'label' => esc_html__( 'Opacity', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'range' => [ 'px' => [ 'max' => 1, 'min' => 0.10, 'step' => 0.01, ], ], 'selectors' => [ '{{WRAPPER}}:hover img' => 'opacity: {{SIZE}};', ], ] ); $this->add_group_control( Group_Control_Css_Filter::get_type(), [ 'name' => 'css_filters_hover', 'selector' => '{{WRAPPER}}:hover img', ] ); $this->add_control( 'background_hover_transition', [ 'label' => esc_html__( 'Transition Duration', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'range' => [ 'px' => [ 'max' => 3, 'step' => 0.1, ], ], 'selectors' => [ '{{WRAPPER}} img' => 'transition-duration: {{SIZE}}s', ], ] ); $this->add_control( 'hover_animation', [ 'label' => esc_html__( 'Hover Animation', 'elementor' ), 'type' => Controls_Manager::HOVER_ANIMATION, ] ); $this->end_controls_tab(); $this->end_controls_tabs(); $this->add_group_control( Group_Control_Border::get_type(), [ 'name' => 'image_border', 'selector' => '{{WRAPPER}} img', 'separator' => 'before', ] ); $this->add_responsive_control( 'image_border_radius', [ 'label' => esc_html__( 'Border Radius', 'elementor' ), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => [ 'px', '%' ], 'selectors' => [ '{{WRAPPER}} img' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->add_group_control( Group_Control_Box_Shadow::get_type(), [ 'name' => 'image_box_shadow', 'exclude' => [ 'box_shadow_position', ], 'selector' => '{{WRAPPER}} img', ] ); $this->end_controls_section(); $this->start_controls_section( 'section_style_caption', [ 'label' => esc_html__( 'Caption', 'elementor' ), 'tab' => Controls_Manager::TAB_STYLE, 'condition' => [ 'caption_source!' => 'none', ], ] ); $this->add_control( 'caption_align', [ 'label' => esc_html__( 'Alignment', 'elementor' ), 'type' => Controls_Manager::CHOOSE, 'options' => [ 'left' => [ 'title' => esc_html__( 'Left', 'elementor' ), 'icon' => 'eicon-text-align-left', ], 'center' => [ 'title' => esc_html__( 'Center', 'elementor' ), 'icon' => 'eicon-text-align-center', ], 'right' => [ 'title' => esc_html__( 'Right', 'elementor' ), 'icon' => 'eicon-text-align-right', ], 'justify' => [ 'title' => esc_html__( 'Justified', 'elementor' ), 'icon' => 'eicon-text-align-justify', ], ], 'default' => '', 'selectors' => [ '{{WRAPPER}} .widget-image-caption' => 'text-align: {{VALUE}};', ], ] ); $this->add_control( 'text_color', [ 'label' => esc_html__( 'Text Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'default' => '', 'selectors' => [ '{{WRAPPER}} .widget-image-caption' => 'color: {{VALUE}};', ], 'global' => [ 'default' => Global_Colors::COLOR_TEXT, ], ] ); $this->add_control( 'caption_background_color', [ 'label' => esc_html__( 'Background Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .widget-image-caption' => 'background-color: {{VALUE}};', ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'caption_typography', 'selector' => '{{WRAPPER}} .widget-image-caption', 'global' => [ 'default' => Global_Typography::TYPOGRAPHY_TEXT, ], ] ); $this->add_group_control( Group_Control_Text_Shadow::get_type(), [ 'name' => 'caption_text_shadow', 'selector' => '{{WRAPPER}} .widget-image-caption', ] ); $this->add_responsive_control( 'caption_space', [ 'label' => esc_html__( 'Spacing', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'range' => [ 'px' => [ 'min' => 0, 'max' => 100, ], ], 'selectors' => [ '{{WRAPPER}} .widget-image-caption' => 'margin-top: {{SIZE}}{{UNIT}};', ], ] ); $this->end_controls_section(); } /** * Check if the current widget has caption * * @access private * @since 2.3.0 * * @param array $settings * * @return boolean */ private function has_caption( $settings ) { return ( ! empty( $settings['caption_source'] ) && 'none' !== $settings['caption_source'] ); } /** * Get the caption for current widget. * * @access private * @since 2.3.0 * @param $settings * * @return string */ private function get_caption( $settings ) { $caption = ''; if ( ! empty( $settings['caption_source'] ) ) { switch ( $settings['caption_source'] ) { case 'attachment': $caption = wp_get_attachment_caption( $settings['image']['id'] ); break; case 'custom': $caption = ! Utils::is_empty( $settings['caption'] ) ? $settings['caption'] : ''; } } return $caption; } /** * Render image widget output on the frontend. * * Written in PHP and used to generate the final HTML. * * @since 1.0.0 * @access protected */ protected function render() { $settings = $this->get_settings_for_display(); if ( empty( $settings['image']['url'] ) ) { return; } if ( ! Plugin::$instance->experiments->is_feature_active( 'e_dom_optimization' ) ) { $this->add_render_attribute( 'wrapper', 'class', 'elementor-image' ); } $has_caption = $this->has_caption( $settings ); $link = $this->get_link_url( $settings ); if ( $link ) { $this->add_link_attributes( 'link', $link ); if ( Plugin::$instance->editor->is_edit_mode() ) { $this->add_render_attribute( 'link', [ 'class' => 'elementor-clickable', ] ); } if ( 'custom' !== $settings['link_to'] ) { $this->add_lightbox_data_attributes( 'link', $settings['image']['id'], $settings['open_lightbox'] ); } } ?> experiments->is_feature_active( 'e_dom_optimization' ) ) { ?>
print_render_attribute_string( 'wrapper' ); ?>>
print_render_attribute_string( 'link' ); ?>>
get_caption( $settings ) ); ?>
experiments->is_feature_active( 'e_dom_optimization' ) ) { ?>
<# if ( settings.image.url ) { var image = { id: settings.image.id, url: settings.image.url, size: settings.image_size, dimension: settings.image_custom_dimension, model: view.getEditModel() }; var image_url = elementor.imagesManager.getImageUrl( image ); if ( ! image_url ) { return; } var hasCaption = function() { if( ! settings.caption_source || 'none' === settings.caption_source ) { return false; } return true; } var ensureAttachmentData = function( id ) { if ( 'undefined' === typeof wp.media.attachment( id ).get( 'caption' ) ) { wp.media.attachment( id ).fetch().then( function( data ) { view.render(); } ); } } var getAttachmentCaption = function( id ) { if ( ! id ) { return ''; } ensureAttachmentData( id ); return wp.media.attachment( id ).get( 'caption' ); } var getCaption = function() { if ( ! hasCaption() ) { return ''; } return 'custom' === settings.caption_source ? settings.caption : getAttachmentCaption( settings.image.id ); } var link_url; if ( 'custom' === settings.link_to ) { link_url = settings.link.url; } if ( 'file' === settings.link_to ) { link_url = settings.image.url; } experiments->is_feature_active( 'e_dom_optimization' ) ) { ?> #>
<# var imgClass = ''; if ( '' !== settings.hover_animation ) { imgClass = 'elementor-animation-' + settings.hover_animation; } if ( hasCaption() ) { #>
<# } if ( link_url ) { #><# } #><# if ( link_url ) { #><# } if ( hasCaption() ) { #>
{{{ getCaption() }}}
<# } if ( hasCaption() ) { #>
<# } experiments->is_feature_active( 'e_dom_optimization' ) ) { ?> #>
<# } #> $settings['image']['url'], ]; } } includes/widgets/star-rating.php000064400000027561152377341010013002 0ustar00start_controls_section( 'section_rating', [ 'label' => esc_html__( 'Rating', 'elementor' ), ] ); $this->add_control( 'rating_scale', [ 'label' => esc_html__( 'Rating Scale', 'elementor' ), 'type' => Controls_Manager::SELECT, 'options' => [ '5' => '0-5', '10' => '0-10', ], 'default' => '5', ] ); $this->add_control( 'rating', [ 'label' => esc_html__( 'Rating', 'elementor' ), 'type' => Controls_Manager::NUMBER, 'min' => 0, 'max' => 10, 'step' => 0.1, 'default' => 5, 'dynamic' => [ 'active' => true, ], ] ); $this->add_control( 'star_style', [ 'label' => esc_html__( 'Icon', 'elementor' ), 'type' => Controls_Manager::SELECT, 'options' => [ 'star_fontawesome' => 'Font Awesome', 'star_unicode' => 'Unicode', ], 'default' => 'star_fontawesome', 'render_type' => 'template', 'prefix_class' => 'elementor--star-style-', 'separator' => 'before', ] ); $this->add_control( 'unmarked_star_style', [ 'label' => esc_html__( 'Unmarked Style', 'elementor' ), 'type' => Controls_Manager::CHOOSE, 'options' => [ 'solid' => [ 'title' => esc_html__( 'Solid', 'elementor' ), 'icon' => 'eicon-star', ], 'outline' => [ 'title' => esc_html__( 'Outline', 'elementor' ), 'icon' => 'eicon-star-o', ], ], 'default' => 'solid', ] ); $this->add_control( 'title', [ 'label' => esc_html__( 'Title', 'elementor' ), 'type' => Controls_Manager::TEXT, 'separator' => 'before', 'dynamic' => [ 'active' => true, ], ] ); $this->add_responsive_control( 'align', [ 'label' => esc_html__( 'Alignment', 'elementor' ), 'type' => Controls_Manager::CHOOSE, 'options' => [ 'left' => [ 'title' => esc_html__( 'Left', 'elementor' ), 'icon' => 'eicon-text-align-left', ], 'center' => [ 'title' => esc_html__( 'Center', 'elementor' ), 'icon' => 'eicon-text-align-center', ], 'right' => [ 'title' => esc_html__( 'Right', 'elementor' ), 'icon' => 'eicon-text-align-right', ], 'justify' => [ 'title' => esc_html__( 'Justified', 'elementor' ), 'icon' => 'eicon-text-align-justify', ], ], 'prefix_class' => 'elementor-star-rating%s--align-', 'selectors' => [ '{{WRAPPER}}' => 'text-align: {{VALUE}}', ], ] ); $this->end_controls_section(); $this->start_controls_section( 'section_title_style', [ 'label' => esc_html__( 'Title', 'elementor' ), 'tab' => Controls_Manager::TAB_STYLE, 'condition' => [ 'title!' => '', ], ] ); $this->add_control( 'title_color', [ 'label' => esc_html__( 'Text Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'global' => [ 'default' => Global_Colors::COLOR_TEXT, ], 'selectors' => [ '{{WRAPPER}} .elementor-star-rating__title' => 'color: {{VALUE}}', ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'title_typography', 'selector' => '{{WRAPPER}} .elementor-star-rating__title', 'global' => [ 'default' => Global_Typography::TYPOGRAPHY_TEXT, ], ] ); $this->add_group_control( Group_Control_Text_Shadow::get_type(), [ 'name' => 'title_shadow', 'selector' => '{{WRAPPER}} .elementor-star-rating__title', ] ); $this->add_responsive_control( 'title_gap', [ 'label' => esc_html__( 'Gap', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'range' => [ 'px' => [ 'min' => 0, 'max' => 50, ], ], 'selectors' => [ 'body:not(.rtl) {{WRAPPER}}:not(.elementor-star-rating--align-justify) .elementor-star-rating__title' => 'margin-right: {{SIZE}}{{UNIT}}', 'body.rtl {{WRAPPER}}:not(.elementor-star-rating--align-justify) .elementor-star-rating__title' => 'margin-left: {{SIZE}}{{UNIT}}', ], ] ); $this->end_controls_section(); $this->start_controls_section( 'section_stars_style', [ 'label' => esc_html__( 'Stars', 'elementor' ), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_responsive_control( 'icon_size', [ 'label' => esc_html__( 'Size', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'range' => [ 'px' => [ 'min' => 0, 'max' => 100, ], ], 'selectors' => [ '{{WRAPPER}} .elementor-star-rating' => 'font-size: {{SIZE}}{{UNIT}}', ], ] ); $this->add_responsive_control( 'icon_space', [ 'label' => esc_html__( 'Spacing', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'range' => [ 'px' => [ 'min' => 0, 'max' => 50, ], ], 'selectors' => [ 'body:not(.rtl) {{WRAPPER}} .elementor-star-rating i:not(:last-of-type)' => 'margin-right: {{SIZE}}{{UNIT}}', 'body.rtl {{WRAPPER}} .elementor-star-rating i:not(:last-of-type)' => 'margin-left: {{SIZE}}{{UNIT}}', ], ] ); $this->add_control( 'stars_color', [ 'label' => esc_html__( 'Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .elementor-star-rating i:before' => 'color: {{VALUE}}', ], 'separator' => 'before', ] ); $this->add_control( 'stars_unmarked_color', [ 'label' => esc_html__( 'Unmarked Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .elementor-star-rating i' => 'color: {{VALUE}}', ], ] ); $this->end_controls_section(); } /** * @since 2.3.0 * @access protected */ protected function get_rating() { $settings = $this->get_settings_for_display(); $rating_scale = (int) $settings['rating_scale']; $rating = (float) $settings['rating'] > $rating_scale ? $rating_scale : $settings['rating']; return [ $rating, $rating_scale ]; } /** * Print the actual stars and calculate their filling. * * Rating type is float to allow stars-count to be a fraction. * Floored-rating type is int, to represent the rounded-down stars count. * In the `for` loop, the index type is float to allow comparing with the rating value. * * @since 2.3.0 * @access protected */ protected function render_stars( $icon ) { $rating_data = $this->get_rating(); $rating = (float) $rating_data[0]; $floored_rating = floor( $rating ); $stars_html = ''; for ( $stars = 1.0; $stars <= $rating_data[1]; $stars++ ) { if ( $stars <= $floored_rating ) { $stars_html .= '' . $icon . ''; } elseif ( $floored_rating + 1 === $stars && $rating !== $floored_rating ) { $stars_html .= '' . $icon . ''; } else { $stars_html .= '' . $icon . ''; } } return $stars_html; } /** * @since 2.3.0 * @access protected */ protected function render() { $settings = $this->get_settings_for_display(); $rating_data = $this->get_rating(); $textual_rating = $rating_data[0] . '/' . $rating_data[1]; $icon = ''; if ( 'star_fontawesome' === $settings['star_style'] ) { if ( 'outline' === $settings['unmarked_star_style'] ) { $icon = ''; } } elseif ( 'star_unicode' === $settings['star_style'] ) { $icon = '★'; if ( 'outline' === $settings['unmarked_star_style'] ) { $icon = '☆'; } } $this->add_render_attribute( 'icon_wrapper', [ 'class' => 'elementor-star-rating', 'title' => $textual_rating, 'itemtype' => 'http://schema.org/Rating', 'itemscope' => '', 'itemprop' => 'reviewRating', ] ); $schema_rating = '' . $textual_rating . ''; $stars_element = '
get_render_attribute_string( 'icon_wrapper' ) . '>' . $this->render_stars( $icon ) . ' ' . $schema_rating . '
'; ?>
<# var getRating = function() { var ratingScale = parseInt( settings.rating_scale, 10 ), rating = settings.rating > ratingScale ? ratingScale : settings.rating; return [ rating, ratingScale ]; }, ratingData = getRating(), rating = ratingData[0], textualRating = ratingData[0] + '/' + ratingData[1], renderStars = function( icon ) { var starsHtml = '', flooredRating = Math.floor( rating ); for ( var stars = 1; stars <= ratingData[1]; stars++ ) { if ( stars <= flooredRating ) { starsHtml += '' + icon + ''; } else if ( flooredRating + 1 === stars && rating !== flooredRating ) { starsHtml += '' + icon + ''; } else { starsHtml += '' + icon + ''; } } return starsHtml; }, icon = ''; if ( 'star_fontawesome' === settings.star_style ) { if ( 'outline' === settings.unmarked_star_style ) { icon = ''; } } else if ( 'star_unicode' === settings.star_style ) { icon = '★'; if ( 'outline' === settings.unmarked_star_style ) { icon = '☆'; } } view.addRenderAttribute( 'iconWrapper', 'class', 'elementor-star-rating' ); view.addRenderAttribute( 'iconWrapper', 'itemtype', 'http://schema.org/Rating' ); view.addRenderAttribute( 'iconWrapper', 'title', textualRating ); view.addRenderAttribute( 'iconWrapper', 'itemscope', '' ); view.addRenderAttribute( 'iconWrapper', 'itemprop', 'reviewRating' ); var stars = renderStars( icon ); #>
<# if ( ! _.isEmpty( settings.title ) ) { #>
{{ settings.title }}
<# } #>
{{{ stars }}} {{ textualRating }}
start_controls_section( 'section_title', [ 'label' => esc_html__( 'Title', 'elementor' ), ] ); $this->add_control( 'title', [ 'label' => esc_html__( 'Title', 'elementor' ), 'type' => Controls_Manager::TEXTAREA, 'dynamic' => [ 'active' => true, ], 'placeholder' => esc_html__( 'Enter your title', 'elementor' ), 'default' => esc_html__( 'Add Your Heading Text Here', 'elementor' ), ] ); $this->add_control( 'link', [ 'label' => esc_html__( 'Link', 'elementor' ), 'type' => Controls_Manager::URL, 'dynamic' => [ 'active' => true, ], 'default' => [ 'url' => '', ], 'separator' => 'before', ] ); $this->add_control( 'size', [ 'label' => esc_html__( 'Size', 'elementor' ), 'type' => Controls_Manager::SELECT, 'default' => 'default', 'options' => [ 'default' => esc_html__( 'Default', 'elementor' ), 'small' => esc_html__( 'Small', 'elementor' ), 'medium' => esc_html__( 'Medium', 'elementor' ), 'large' => esc_html__( 'Large', 'elementor' ), 'xl' => esc_html__( 'XL', 'elementor' ), 'xxl' => esc_html__( 'XXL', 'elementor' ), ], ] ); $this->add_control( 'header_size', [ 'label' => esc_html__( 'HTML Tag', 'elementor' ), 'type' => Controls_Manager::SELECT, 'options' => [ 'h1' => 'H1', 'h2' => 'H2', 'h3' => 'H3', 'h4' => 'H4', 'h5' => 'H5', 'h6' => 'H6', 'div' => 'div', 'span' => 'span', 'p' => 'p', ], 'default' => 'h2', ] ); $this->add_responsive_control( 'align', [ 'label' => esc_html__( 'Alignment', 'elementor' ), 'type' => Controls_Manager::CHOOSE, 'options' => [ 'left' => [ 'title' => esc_html__( 'Left', 'elementor' ), 'icon' => 'eicon-text-align-left', ], 'center' => [ 'title' => esc_html__( 'Center', 'elementor' ), 'icon' => 'eicon-text-align-center', ], 'right' => [ 'title' => esc_html__( 'Right', 'elementor' ), 'icon' => 'eicon-text-align-right', ], 'justify' => [ 'title' => esc_html__( 'Justified', 'elementor' ), 'icon' => 'eicon-text-align-justify', ], ], 'default' => '', 'selectors' => [ '{{WRAPPER}}' => 'text-align: {{VALUE}};', ], ] ); $this->add_control( 'view', [ 'label' => esc_html__( 'View', 'elementor' ), 'type' => Controls_Manager::HIDDEN, 'default' => 'traditional', ] ); $this->end_controls_section(); $this->start_controls_section( 'section_title_style', [ 'label' => esc_html__( 'Title', 'elementor' ), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_control( 'title_color', [ 'label' => esc_html__( 'Text Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'global' => [ 'default' => Global_Colors::COLOR_PRIMARY, ], 'selectors' => [ '{{WRAPPER}} .elementor-heading-title' => 'color: {{VALUE}};', ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'typography', 'global' => [ 'default' => Global_Typography::TYPOGRAPHY_PRIMARY, ], 'selector' => '{{WRAPPER}} .elementor-heading-title', ] ); $this->add_group_control( Group_Control_Text_Stroke::get_type(), [ 'name' => 'text_stroke', 'selector' => '{{WRAPPER}} .elementor-heading-title', ] ); $this->add_group_control( Group_Control_Text_Shadow::get_type(), [ 'name' => 'text_shadow', 'selector' => '{{WRAPPER}} .elementor-heading-title', ] ); $this->add_control( 'blend_mode', [ 'label' => esc_html__( 'Blend Mode', 'elementor' ), 'type' => Controls_Manager::SELECT, 'options' => [ '' => esc_html__( 'Normal', 'elementor' ), 'multiply' => 'Multiply', 'screen' => 'Screen', 'overlay' => 'Overlay', 'darken' => 'Darken', 'lighten' => 'Lighten', 'color-dodge' => 'Color Dodge', 'saturation' => 'Saturation', 'color' => 'Color', 'difference' => 'Difference', 'exclusion' => 'Exclusion', 'hue' => 'Hue', 'luminosity' => 'Luminosity', ], 'selectors' => [ '{{WRAPPER}} .elementor-heading-title' => 'mix-blend-mode: {{VALUE}}', ], 'separator' => 'none', ] ); $this->end_controls_section(); } /** * Render heading widget output on the frontend. * * Written in PHP and used to generate the final HTML. * * @since 1.0.0 * @access protected */ protected function render() { $settings = $this->get_settings_for_display(); if ( '' === $settings['title'] ) { return; } $this->add_render_attribute( 'title', 'class', 'elementor-heading-title' ); if ( ! empty( $settings['size'] ) ) { $this->add_render_attribute( 'title', 'class', 'elementor-size-' . $settings['size'] ); } $this->add_inline_editing_attributes( 'title' ); $title = $settings['title']; if ( ! empty( $settings['link']['url'] ) ) { $this->add_link_attributes( 'url', $settings['link'] ); $title = sprintf( '%2$s', $this->get_render_attribute_string( 'url' ), $title ); } $title_html = sprintf( '<%1$s %2$s>%3$s', Utils::validate_html_tag( $settings['header_size'] ), $this->get_render_attribute_string( 'title' ), $title ); // PHPCS - the variable $title_html holds safe data. echo $title_html; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } /** * Render heading widget output in the editor. * * Written as a Backbone JavaScript template and used to generate the live preview. * * @since 2.9.0 * @access protected */ protected function content_template() { ?> <# var title = settings.title; if ( '' !== settings.link.url ) { title = '' + title + ''; } view.addRenderAttribute( 'title', 'class', [ 'elementor-heading-title', 'elementor-size-' + settings.size ] ); view.addInlineEditingAttributes( 'title' ); var headerSizeTag = elementor.helpers.validateHTMLTag( settings.header_size ), title_html = '<' + headerSizeTag + ' ' + view.getRenderAttributeString( 'title' ) + '>' + title + ''; print( title_html ); #> start_controls_section( 'section_title', [ 'label' => esc_html__( 'Read More', 'elementor' ), ] ); $default_link_text = esc_html__( 'Continue reading', 'elementor' ); /** * Read More widgets link text. * * Filters the link text in the "Read More" widget. * * This hook can be used to set different default text in the widget. * * @param string $default_link_text The link text in the "Read More" widget. Default is "Continue reading". */ $default_link_text = apply_filters( 'elementor/widgets/read_more/default_link_text', $default_link_text ); $this->add_control( 'theme_support', [ 'type' => Controls_Manager::RAW_HTML, 'raw' => sprintf( /* translators: %s: The `the_content` function. */ esc_html__( 'Note: This widget only affects themes that use `%s` in archive pages.', 'elementor' ), 'the_content' ), 'content_classes' => 'elementor-panel-alert elementor-panel-alert-warning', ] ); $this->add_control( 'link_text', [ 'label' => esc_html__( 'Read More Text', 'elementor' ), 'placeholder' => $default_link_text, 'default' => $default_link_text, 'dynamic' => [ 'active' => true, ], ] ); $this->end_controls_section(); } /** * Render Read More widget output on the frontend. * * Written in PHP and used to generate the final HTML. * * @access protected */ protected function render() { printf( '', wp_kses_post( $this->get_settings_for_display( 'link_text' ) ) ); } /** * Render Read More widget output in the editor. * * Written as a Backbone JavaScript template and used to generate the live preview. * * @since 2.9.0 * @access protected */ protected function content_template() { ?> start_controls_section( 'section_counter', [ 'label' => esc_html__( 'Counter', 'elementor' ), ] ); $this->add_control( 'starting_number', [ 'label' => esc_html__( 'Starting Number', 'elementor' ), 'type' => Controls_Manager::NUMBER, 'default' => 0, 'dynamic' => [ 'active' => true, ], ] ); $this->add_control( 'ending_number', [ 'label' => esc_html__( 'Ending Number', 'elementor' ), 'type' => Controls_Manager::NUMBER, 'default' => 100, 'dynamic' => [ 'active' => true, ], ] ); $this->add_control( 'prefix', [ 'label' => esc_html__( 'Number Prefix', 'elementor' ), 'type' => Controls_Manager::TEXT, 'dynamic' => [ 'active' => true, ], 'default' => '', 'placeholder' => 1, ] ); $this->add_control( 'suffix', [ 'label' => esc_html__( 'Number Suffix', 'elementor' ), 'type' => Controls_Manager::TEXT, 'dynamic' => [ 'active' => true, ], 'default' => '', 'placeholder' => esc_html__( 'Plus', 'elementor' ), ] ); $this->add_control( 'duration', [ 'label' => esc_html__( 'Animation Duration', 'elementor' ), 'type' => Controls_Manager::NUMBER, 'default' => 2000, 'min' => 100, 'step' => 100, ] ); $this->add_control( 'thousand_separator', [ 'label' => esc_html__( 'Thousand Separator', 'elementor' ), 'type' => Controls_Manager::SWITCHER, 'default' => 'yes', 'label_on' => esc_html__( 'Show', 'elementor' ), 'label_off' => esc_html__( 'Hide', 'elementor' ), ] ); $this->add_control( 'thousand_separator_char', [ 'label' => esc_html__( 'Separator', 'elementor' ), 'type' => Controls_Manager::SELECT, 'condition' => [ 'thousand_separator' => 'yes', ], 'options' => [ '' => 'Default', '.' => 'Dot', ' ' => 'Space', ], ] ); $this->add_control( 'title', [ 'label' => esc_html__( 'Title', 'elementor' ), 'type' => Controls_Manager::TEXT, 'label_block' => true, 'dynamic' => [ 'active' => true, ], 'default' => esc_html__( 'Cool Number', 'elementor' ), 'placeholder' => esc_html__( 'Cool Number', 'elementor' ), ] ); $this->add_control( 'view', [ 'label' => esc_html__( 'View', 'elementor' ), 'type' => Controls_Manager::HIDDEN, 'default' => 'traditional', ] ); $this->end_controls_section(); $this->start_controls_section( 'section_number', [ 'label' => esc_html__( 'Number', 'elementor' ), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_control( 'number_color', [ 'label' => esc_html__( 'Text Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'global' => [ 'default' => Global_Colors::COLOR_PRIMARY, ], 'selectors' => [ '{{WRAPPER}} .elementor-counter-number-wrapper' => 'color: {{VALUE}};', ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'typography_number', 'global' => [ 'default' => Global_Typography::TYPOGRAPHY_PRIMARY, ], 'selector' => '{{WRAPPER}} .elementor-counter-number-wrapper', ] ); $this->add_group_control( Group_Control_Text_Shadow::get_type(), [ 'name' => 'number_shadow', 'selector' => '{{WRAPPER}} .elementor-counter-number-wrapper', ] ); $this->end_controls_section(); $this->start_controls_section( 'section_title', [ 'label' => esc_html__( 'Title', 'elementor' ), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_control( 'title_color', [ 'label' => esc_html__( 'Text Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'global' => [ 'default' => Global_Colors::COLOR_SECONDARY, ], 'selectors' => [ '{{WRAPPER}} .elementor-counter-title' => 'color: {{VALUE}};', ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'typography_title', 'global' => [ 'default' => Global_Typography::TYPOGRAPHY_SECONDARY, ], 'selector' => '{{WRAPPER}} .elementor-counter-title', ] ); $this->add_group_control( Group_Control_Text_Shadow::get_type(), [ 'name' => 'title_shadow', 'selector' => '{{WRAPPER}} .elementor-counter-title', ] ); $this->end_controls_section(); } /** * Render counter widget output in the editor. * * Written as a Backbone JavaScript template and used to generate the live preview. * * @since 2.9.0 * @access protected */ protected function content_template() { ?> <# view.addRenderAttribute( 'counter-title', { 'class': 'elementor-counter-title' } ); view.addInlineEditingAttributes( 'counter-title' ); #>
{{{ settings.prefix }}} {{{ settings.starting_number }}} {{{ settings.suffix }}}
<# if ( settings.title ) { #>
{{{ settings.title }}}
<# } #>
get_settings_for_display(); $this->add_render_attribute( 'counter', [ 'class' => 'elementor-counter-number', 'data-duration' => $settings['duration'], 'data-to-value' => $settings['ending_number'], 'data-from-value' => $settings['starting_number'], ] ); if ( ! empty( $settings['thousand_separator'] ) ) { $delimiter = empty( $settings['thousand_separator_char'] ) ? ',' : $settings['thousand_separator_char']; $this->add_render_attribute( 'counter', 'data-delimiter', $delimiter ); } $this->add_render_attribute( 'counter-title', 'class', 'elementor-counter-title' ); $this->add_inline_editing_attributes( 'counter-title' ); ?>
print_unescaped_setting( 'prefix' ); ?> print_render_attribute_string( 'counter' ); ?>>print_unescaped_setting( 'starting_number' ); ?> print_unescaped_setting( 'suffix' ); ?>
print_render_attribute_string( 'counter-title' ); ?>>print_unescaped_setting( 'title' ); ?>
start_controls_section( 'section_audio', [ 'label' => esc_html__( 'SoundCloud', 'elementor' ), ] ); $this->add_control( 'link', [ 'label' => esc_html__( 'Link', 'elementor' ), 'type' => Controls_Manager::URL, 'dynamic' => [ 'active' => true, 'categories' => [ TagsModule::POST_META_CATEGORY, TagsModule::URL_CATEGORY, ], ], 'default' => [ 'url' => 'https://soundcloud.com/shchxango/john-coltrane-1963-my-favorite', ], 'options' => false, ] ); $this->add_control( 'visual', [ 'label' => esc_html__( 'Visual Player', 'elementor' ), 'type' => Controls_Manager::SELECT, 'default' => 'no', 'options' => [ 'yes' => esc_html__( 'Yes', 'elementor' ), 'no' => esc_html__( 'No', 'elementor' ), ], ] ); $this->add_control( 'sc_options', [ 'label' => esc_html__( 'Additional Options', 'elementor' ), 'type' => Controls_Manager::HEADING, 'separator' => 'before', ] ); $this->add_control( 'sc_auto_play', [ 'label' => esc_html__( 'Autoplay', 'elementor' ), 'type' => Controls_Manager::SWITCHER, ] ); $this->add_control( 'sc_buying', [ 'label' => esc_html__( 'Buy Button', 'elementor' ), 'type' => Controls_Manager::SWITCHER, 'label_off' => esc_html__( 'Hide', 'elementor' ), 'label_on' => esc_html__( 'Show', 'elementor' ), 'default' => 'yes', ] ); $this->add_control( 'sc_liking', [ 'label' => esc_html__( 'Like Button', 'elementor' ), 'type' => Controls_Manager::SWITCHER, 'label_off' => esc_html__( 'Hide', 'elementor' ), 'label_on' => esc_html__( 'Show', 'elementor' ), 'default' => 'yes', ] ); $this->add_control( 'sc_download', [ 'label' => esc_html__( 'Download Button', 'elementor' ), 'type' => Controls_Manager::SWITCHER, 'label_off' => esc_html__( 'Hide', 'elementor' ), 'label_on' => esc_html__( 'Show', 'elementor' ), 'default' => 'yes', ] ); $this->add_control( 'sc_show_artwork', [ 'label' => esc_html__( 'Artwork', 'elementor' ), 'type' => Controls_Manager::SWITCHER, 'label_off' => esc_html__( 'Hide', 'elementor' ), 'label_on' => esc_html__( 'Show', 'elementor' ), 'default' => 'yes', 'condition' => [ 'visual' => 'no', ], ] ); $this->add_control( 'sc_sharing', [ 'label' => esc_html__( 'Share Button', 'elementor' ), 'type' => Controls_Manager::SWITCHER, 'label_off' => esc_html__( 'Hide', 'elementor' ), 'label_on' => esc_html__( 'Show', 'elementor' ), 'default' => 'yes', ] ); $this->add_control( 'sc_show_comments', [ 'label' => esc_html__( 'Comments', 'elementor' ), 'type' => Controls_Manager::SWITCHER, 'label_off' => esc_html__( 'Hide', 'elementor' ), 'label_on' => esc_html__( 'Show', 'elementor' ), 'default' => 'yes', ] ); $this->add_control( 'sc_show_playcount', [ 'label' => esc_html__( 'Play Counts', 'elementor' ), 'type' => Controls_Manager::SWITCHER, 'label_off' => esc_html__( 'Hide', 'elementor' ), 'label_on' => esc_html__( 'Show', 'elementor' ), 'default' => 'yes', ] ); $this->add_control( 'sc_show_user', [ 'label' => esc_html__( 'Username', 'elementor' ), 'type' => Controls_Manager::SWITCHER, 'label_off' => esc_html__( 'Hide', 'elementor' ), 'label_on' => esc_html__( 'Show', 'elementor' ), 'default' => 'yes', ] ); $this->add_control( 'sc_color', [ 'label' => esc_html__( 'Controls Color', 'elementor' ), 'type' => Controls_Manager::COLOR, ] ); $this->add_control( 'view', [ 'label' => esc_html__( 'View', 'elementor' ), 'type' => Controls_Manager::HIDDEN, 'default' => 'soundcloud', ] ); $this->end_controls_section(); } /** * Render audio widget output on the frontend. * * Written in PHP and used to generate the final HTML. * * @since 1.0.0 * @access protected */ protected function render() { $settings = $this->get_settings_for_display(); if ( empty( $settings['link'] ) ) { return; } $this->_current_instance = $settings; add_filter( 'oembed_result', [ $this, 'filter_oembed_result' ], 50, 3 ); $video_html = wp_oembed_get( $settings['link']['url'], wp_embed_defaults() ); remove_filter( 'oembed_result', [ $this, 'filter_oembed_result' ], 50 ); if ( $video_html ) : ?>
_current_instance[ 'sc_' . $param_key ] ? 'true' : 'false'; } $params['color'] = str_replace( '#', '', $this->_current_instance['sc_color'] ); preg_match( '/<\/iframe>/isU', $html, $matches ); $url = esc_url( add_query_arg( $params, $matches[1] ) ); $visual = 'yes' === $this->_current_instance['visual'] ? 'true' : 'false'; $html = str_replace( [ $matches[1], 'visual=true' ], [ $url, 'visual=' . $visual ], $html ); if ( 'false' === $visual ) { $html = str_replace( 'height="400"', 'height="200"', $html ); } return $html; } /** * Render audio widget output in the editor. * * Written as a Backbone JavaScript template and used to generate the live preview. * * @since 2.9.0 * @access protected */ protected function content_template() {} } includes/widgets/icon-box.php000064400000046141152377341010012260 0ustar00start_controls_section( 'section_icon', [ 'label' => esc_html__( 'Icon Box', 'elementor' ), ] ); $this->add_control( 'selected_icon', [ 'label' => esc_html__( 'Icon', 'elementor' ), 'type' => Controls_Manager::ICONS, 'fa4compatibility' => 'icon', 'default' => [ 'value' => 'fas fa-star', 'library' => 'fa-solid', ], ] ); $this->add_control( 'view', [ 'label' => esc_html__( 'View', 'elementor' ), 'type' => Controls_Manager::SELECT, 'options' => [ 'default' => esc_html__( 'Default', 'elementor' ), 'stacked' => esc_html__( 'Stacked', 'elementor' ), 'framed' => esc_html__( 'Framed', 'elementor' ), ], 'default' => 'default', 'prefix_class' => 'elementor-view-', ] ); $this->add_control( 'shape', [ 'label' => esc_html__( 'Shape', 'elementor' ), 'type' => Controls_Manager::SELECT, 'options' => [ 'circle' => esc_html__( 'Circle', 'elementor' ), 'square' => esc_html__( 'Square', 'elementor' ), ], 'default' => 'circle', 'condition' => [ 'view!' => 'default', 'selected_icon[value]!' => '', ], 'prefix_class' => 'elementor-shape-', ] ); $this->add_control( 'title_text', [ 'label' => esc_html__( 'Title & Description', 'elementor' ), 'type' => Controls_Manager::TEXT, 'dynamic' => [ 'active' => true, ], 'default' => esc_html__( 'This is the heading', 'elementor' ), 'placeholder' => esc_html__( 'Enter your title', 'elementor' ), 'label_block' => true, ] ); $this->add_control( 'description_text', [ 'label' => '', 'type' => Controls_Manager::TEXTAREA, 'dynamic' => [ 'active' => true, ], 'default' => esc_html__( 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.', 'elementor' ), 'placeholder' => esc_html__( 'Enter your description', 'elementor' ), 'rows' => 10, 'separator' => 'none', 'show_label' => false, ] ); $this->add_control( 'link', [ 'label' => esc_html__( 'Link', 'elementor' ), 'type' => Controls_Manager::URL, 'dynamic' => [ 'active' => true, ], 'placeholder' => esc_html__( 'https://your-link.com', 'elementor' ), 'separator' => 'before', ] ); $this->add_responsive_control( 'position', [ 'label' => esc_html__( 'Icon Position', 'elementor' ), 'type' => Controls_Manager::CHOOSE, 'mobile_default' => 'top', 'options' => [ 'left' => [ 'title' => esc_html__( 'Left', 'elementor' ), 'icon' => 'eicon-h-align-left', ], 'top' => [ 'title' => esc_html__( 'Top', 'elementor' ), 'icon' => 'eicon-v-align-top', ], 'right' => [ 'title' => esc_html__( 'Right', 'elementor' ), 'icon' => 'eicon-h-align-right', ], ], 'prefix_class' => 'elementor%s-position-', 'conditions' => [ 'relation' => 'or', 'terms' => [ [ 'name' => 'selected_icon[value]', 'operator' => '!=', 'value' => '', ], ], ], ] ); $this->add_control( 'title_size', [ 'label' => esc_html__( 'Title HTML Tag', 'elementor' ), 'type' => Controls_Manager::SELECT, 'options' => [ 'h1' => 'H1', 'h2' => 'H2', 'h3' => 'H3', 'h4' => 'H4', 'h5' => 'H5', 'h6' => 'H6', 'div' => 'div', 'span' => 'span', 'p' => 'p', ], 'default' => 'h3', ] ); $this->end_controls_section(); $this->start_controls_section( 'section_style_icon', [ 'label' => esc_html__( 'Icon', 'elementor' ), 'tab' => Controls_Manager::TAB_STYLE, 'conditions' => [ 'relation' => 'or', 'terms' => [ [ 'name' => 'selected_icon[value]', 'operator' => '!=', 'value' => '', ], ], ], ] ); $this->start_controls_tabs( 'icon_colors' ); $this->start_controls_tab( 'icon_colors_normal', [ 'label' => esc_html__( 'Normal', 'elementor' ), ] ); $this->add_control( 'primary_color', [ 'label' => esc_html__( 'Primary Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'global' => [ 'default' => Global_Colors::COLOR_PRIMARY, ], 'default' => '', 'selectors' => [ '{{WRAPPER}}.elementor-view-stacked .elementor-icon' => 'background-color: {{VALUE}};', '{{WRAPPER}}.elementor-view-framed .elementor-icon, {{WRAPPER}}.elementor-view-default .elementor-icon' => 'fill: {{VALUE}}; color: {{VALUE}}; border-color: {{VALUE}};', ], ] ); $this->add_control( 'secondary_color', [ 'label' => esc_html__( 'Secondary Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'default' => '', 'condition' => [ 'view!' => 'default', ], 'selectors' => [ '{{WRAPPER}}.elementor-view-framed .elementor-icon' => 'background-color: {{VALUE}};', '{{WRAPPER}}.elementor-view-stacked .elementor-icon' => 'fill: {{VALUE}}; color: {{VALUE}};', ], ] ); $this->end_controls_tab(); $this->start_controls_tab( 'icon_colors_hover', [ 'label' => esc_html__( 'Hover', 'elementor' ), ] ); $this->add_control( 'hover_primary_color', [ 'label' => esc_html__( 'Primary Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'default' => '', 'selectors' => [ '{{WRAPPER}}.elementor-view-stacked .elementor-icon:hover' => 'background-color: {{VALUE}};', '{{WRAPPER}}.elementor-view-framed .elementor-icon:hover, {{WRAPPER}}.elementor-view-default .elementor-icon:hover' => 'fill: {{VALUE}}; color: {{VALUE}}; border-color: {{VALUE}};', ], ] ); $this->add_control( 'hover_secondary_color', [ 'label' => esc_html__( 'Secondary Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'default' => '', 'condition' => [ 'view!' => 'default', ], 'selectors' => [ '{{WRAPPER}}.elementor-view-framed .elementor-icon:hover' => 'background-color: {{VALUE}};', '{{WRAPPER}}.elementor-view-stacked .elementor-icon:hover' => 'fill: {{VALUE}}; color: {{VALUE}};', ], ] ); $this->add_control( 'hover_animation', [ 'label' => esc_html__( 'Hover Animation', 'elementor' ), 'type' => Controls_Manager::HOVER_ANIMATION, ] ); $this->end_controls_tab(); $this->end_controls_tabs(); $this->add_responsive_control( 'icon_space', [ 'label' => esc_html__( 'Spacing', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'default' => [ 'size' => 15, ], 'range' => [ 'px' => [ 'min' => 0, 'max' => 100, ], ], 'selectors' => [ '{{WRAPPER}}' => '--icon-box-icon-margin: {{SIZE}}{{UNIT}}', ], ] ); $this->add_responsive_control( 'icon_size', [ 'label' => esc_html__( 'Size', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'range' => [ 'px' => [ 'min' => 6, 'max' => 300, ], ], 'selectors' => [ '{{WRAPPER}} .elementor-icon' => 'font-size: {{SIZE}}{{UNIT}};', ], ] ); $this->add_responsive_control( 'icon_padding', [ 'label' => esc_html__( 'Padding', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'selectors' => [ '{{WRAPPER}} .elementor-icon' => 'padding: {{SIZE}}{{UNIT}};', ], 'range' => [ 'em' => [ 'min' => 0, 'max' => 5, ], ], 'condition' => [ 'view!' => 'default', ], ] ); $active_breakpoints = Plugin::$instance->breakpoints->get_active_breakpoints(); $rotate_device_args = []; $rotate_device_settings = [ 'default' => [ 'unit' => 'deg', 'size' => '', ], ]; foreach ( $active_breakpoints as $breakpoint_name => $breakpoint ) { $rotate_device_args[ $breakpoint_name ] = $rotate_device_settings; } $this->add_responsive_control( 'rotate', [ 'label' => esc_html__( 'Rotate', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'size_units' => [ 'deg' ], 'range' => [ 'deg' => [ 'min' => 0, 'max' => 360, 'step' => 1, ], ], 'default' => [ 'unit' => 'deg', 'size' => '', ], 'device_args' => $rotate_device_args, 'selectors' => [ '{{WRAPPER}} .elementor-icon i' => 'transform: rotate({{SIZE}}{{UNIT}});', ], ] ); $this->add_responsive_control( 'border_width', [ 'label' => esc_html__( 'Border Width', 'elementor' ), 'type' => Controls_Manager::DIMENSIONS, 'selectors' => [ '{{WRAPPER}} .elementor-icon' => 'border-width: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], 'condition' => [ 'view' => 'framed', ], ] ); $this->add_responsive_control( 'border_radius', [ 'label' => esc_html__( 'Border Radius', 'elementor' ), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => [ 'px', '%' ], 'selectors' => [ '{{WRAPPER}} .elementor-icon' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], 'condition' => [ 'view!' => 'default', ], ] ); $this->end_controls_section(); $this->start_controls_section( 'section_style_content', [ 'label' => esc_html__( 'Content', 'elementor' ), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_responsive_control( 'text_align', [ 'label' => esc_html__( 'Alignment', 'elementor' ), 'type' => Controls_Manager::CHOOSE, 'options' => [ 'left' => [ 'title' => esc_html__( 'Left', 'elementor' ), 'icon' => 'eicon-text-align-left', ], 'center' => [ 'title' => esc_html__( 'Center', 'elementor' ), 'icon' => 'eicon-text-align-center', ], 'right' => [ 'title' => esc_html__( 'Right', 'elementor' ), 'icon' => 'eicon-text-align-right', ], 'justify' => [ 'title' => esc_html__( 'Justified', 'elementor' ), 'icon' => 'eicon-text-align-justify', ], ], 'selectors' => [ '{{WRAPPER}} .elementor-icon-box-wrapper' => 'text-align: {{VALUE}};', ], ] ); $this->add_control( 'content_vertical_alignment', [ 'label' => esc_html__( 'Vertical Alignment', 'elementor' ), 'type' => Controls_Manager::SELECT, 'options' => [ 'top' => esc_html__( 'Top', 'elementor' ), 'middle' => esc_html__( 'Middle', 'elementor' ), 'bottom' => esc_html__( 'Bottom', 'elementor' ), ], 'default' => 'top', 'prefix_class' => 'elementor-vertical-align-', ] ); $this->add_control( 'heading_title', [ 'label' => esc_html__( 'Title', 'elementor' ), 'type' => Controls_Manager::HEADING, 'separator' => 'before', ] ); $this->add_responsive_control( 'title_bottom_space', [ 'label' => esc_html__( 'Spacing', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'range' => [ 'px' => [ 'min' => 0, 'max' => 100, ], ], 'selectors' => [ '{{WRAPPER}} .elementor-icon-box-title' => 'margin-bottom: {{SIZE}}{{UNIT}};', ], ] ); $this->add_control( 'title_color', [ 'label' => esc_html__( 'Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'default' => '', 'selectors' => [ '{{WRAPPER}} .elementor-icon-box-title' => 'color: {{VALUE}};', ], 'global' => [ 'default' => Global_Colors::COLOR_PRIMARY, ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'title_typography', 'selector' => '{{WRAPPER}} .elementor-icon-box-title, {{WRAPPER}} .elementor-icon-box-title a', 'global' => [ 'default' => Global_Typography::TYPOGRAPHY_PRIMARY, ], ] ); $this->add_group_control( Group_Control_Text_Stroke::get_type(), [ 'name' => 'text_stroke', 'selector' => '{{WRAPPER}} .elementor-icon-box-title', ] ); $this->add_group_control( Group_Control_Text_Shadow::get_type(), [ 'name' => 'title_shadow', 'selector' => '{{WRAPPER}} .elementor-icon-box-title', ] ); $this->add_control( 'heading_description', [ 'label' => esc_html__( 'Description', 'elementor' ), 'type' => Controls_Manager::HEADING, 'separator' => 'before', ] ); $this->add_control( 'description_color', [ 'label' => esc_html__( 'Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'default' => '', 'selectors' => [ '{{WRAPPER}} .elementor-icon-box-description' => 'color: {{VALUE}};', ], 'global' => [ 'default' => Global_Colors::COLOR_TEXT, ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'description_typography', 'selector' => '{{WRAPPER}} .elementor-icon-box-description', 'global' => [ 'default' => Global_Typography::TYPOGRAPHY_TEXT, ], ] ); $this->add_group_control( Group_Control_Text_Shadow::get_type(), [ 'name' => 'description_shadow', 'selector' => '{{WRAPPER}} .elementor-icon-box-description', ] ); $this->end_controls_section(); } /** * Render icon box widget output on the frontend. * * Written in PHP and used to generate the final HTML. * * @since 1.0.0 * @access protected */ protected function render() { $settings = $this->get_settings_for_display(); $this->add_render_attribute( 'icon', 'class', [ 'elementor-icon', 'elementor-animation-' . $settings['hover_animation'] ] ); $icon_tag = 'span'; if ( ! isset( $settings['icon'] ) && ! Icons_Manager::is_migration_allowed() ) { // add old default $settings['icon'] = 'fa fa-star'; } $has_icon = ! empty( $settings['icon'] ); if ( ! empty( $settings['link']['url'] ) ) { $icon_tag = 'a'; $this->add_link_attributes( 'link', $settings['link'] ); } if ( $has_icon ) { $this->add_render_attribute( 'i', 'class', $settings['icon'] ); $this->add_render_attribute( 'i', 'aria-hidden', 'true' ); } $this->add_render_attribute( 'description_text', 'class', 'elementor-icon-box-description' ); $this->add_inline_editing_attributes( 'title_text', 'none' ); $this->add_inline_editing_attributes( 'description_text' ); if ( ! $has_icon && ! empty( $settings['selected_icon']['value'] ) ) { $has_icon = true; } $migrated = isset( $settings['__fa4_migrated']['selected_icon'] ); $is_new = ! isset( $settings['icon'] ) && Icons_Manager::is_migration_allowed(); ?>
< print_render_attribute_string( 'icon' ); ?> print_render_attribute_string( 'link' ); ?>> 'true' ] ); } elseif ( ! empty( $settings['icon'] ) ) { ?>print_render_attribute_string( 'i' ); ?>> >
< class="elementor-icon-box-title"> < print_render_attribute_string( 'link' ); ?> print_render_attribute_string( 'title_text' ); ?>> print_unescaped_setting( 'title_text' ); ?> > >

print_render_attribute_string( 'description_text' ); ?>> print_unescaped_setting( 'description_text' ); ?>

<# var link = settings.link.url ? 'href="' + settings.link.url + '"' : '', iconTag = link ? 'a' : 'span', iconHTML = elementor.helpers.renderIcon( view, settings.selected_icon, { 'aria-hidden': true }, 'i' , 'object' ), migrated = elementor.helpers.isIconMigrated( settings, 'selected_icon' ); view.addRenderAttribute( 'description_text', 'class', 'elementor-icon-box-description' ); view.addInlineEditingAttributes( 'title_text', 'none' ); view.addInlineEditingAttributes( 'description_text' ); #>
<# if ( settings.icon || settings.selected_icon.value ) { #>
<{{{ iconTag + ' ' + link }}} class="elementor-icon elementor-animation-{{ settings.hover_animation }}"> <# if ( iconHTML && iconHTML.rendered && ( ! settings.icon || migrated ) ) { #> {{{ iconHTML.value }}} <# } else { #> <# } #>
<# } #>
<# var titleSizeTag = elementor.helpers.validateHTMLTag( settings.title_size ); #> <{{{ titleSizeTag }}} class="elementor-icon-box-title"> <{{{ iconTag + ' ' + link }}} {{{ view.getRenderAttributeString( 'title_text' ) }}}>{{{ settings.title_text }}} <# if ( settings.description_text ) { #>

{{{ settings.description_text }}}

<# } #>
start_controls_section( 'section_gallery', [ 'label' => esc_html__( 'Image Gallery', 'elementor' ), ] ); $this->add_control( 'wp_gallery', [ 'label' => esc_html__( 'Add Images', 'elementor' ), 'type' => Controls_Manager::GALLERY, 'show_label' => false, 'dynamic' => [ 'active' => true, ], ] ); $this->add_group_control( Group_Control_Image_Size::get_type(), [ 'name' => 'thumbnail', // Usage: `{name}_size` and `{name}_custom_dimension`, in this case `thumbnail_size` and `thumbnail_custom_dimension`. 'exclude' => [ 'custom' ], 'separator' => 'none', ] ); $gallery_columns = range( 1, 10 ); $gallery_columns = array_combine( $gallery_columns, $gallery_columns ); $this->add_control( 'gallery_columns', [ 'label' => esc_html__( 'Columns', 'elementor' ), 'type' => Controls_Manager::SELECT, 'default' => 4, 'options' => $gallery_columns, ] ); $this->add_control( 'gallery_link', [ 'label' => esc_html__( 'Link', 'elementor' ), 'type' => Controls_Manager::SELECT, 'default' => 'file', 'options' => [ 'file' => esc_html__( 'Media File', 'elementor' ), 'attachment' => esc_html__( 'Attachment Page', 'elementor' ), 'none' => esc_html__( 'None', 'elementor' ), ], ] ); $this->add_control( 'open_lightbox', [ 'label' => esc_html__( 'Lightbox', 'elementor' ), 'type' => Controls_Manager::SELECT, 'default' => 'default', 'options' => [ 'default' => esc_html__( 'Default', 'elementor' ), 'yes' => esc_html__( 'Yes', 'elementor' ), 'no' => esc_html__( 'No', 'elementor' ), ], 'condition' => [ 'gallery_link' => 'file', ], ] ); $this->add_control( 'gallery_rand', [ 'label' => esc_html__( 'Order By', 'elementor' ), 'type' => Controls_Manager::SELECT, 'options' => [ '' => esc_html__( 'Default', 'elementor' ), 'rand' => esc_html__( 'Random', 'elementor' ), ], 'default' => '', ] ); $this->add_control( 'view', [ 'label' => esc_html__( 'View', 'elementor' ), 'type' => Controls_Manager::HIDDEN, 'default' => 'traditional', ] ); $this->end_controls_section(); $this->start_controls_section( 'section_gallery_images', [ 'label' => esc_html__( 'Images', 'elementor' ), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_control( 'image_spacing', [ 'label' => esc_html__( 'Spacing', 'elementor' ), 'type' => Controls_Manager::SELECT, 'options' => [ '' => esc_html__( 'Default', 'elementor' ), 'custom' => esc_html__( 'Custom', 'elementor' ), ], 'prefix_class' => 'gallery-spacing-', 'default' => '', ] ); $columns_margin = is_rtl() ? '0 0 -{{SIZE}}{{UNIT}} -{{SIZE}}{{UNIT}};' : '0 -{{SIZE}}{{UNIT}} -{{SIZE}}{{UNIT}} 0;'; $columns_padding = is_rtl() ? '0 0 {{SIZE}}{{UNIT}} {{SIZE}}{{UNIT}};' : '0 {{SIZE}}{{UNIT}} {{SIZE}}{{UNIT}} 0;'; $this->add_control( 'image_spacing_custom', [ 'label' => esc_html__( 'Image Spacing', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'show_label' => false, 'range' => [ 'px' => [ 'max' => 100, ], ], 'default' => [ 'size' => 15, ], 'selectors' => [ '{{WRAPPER}} .gallery-item' => 'padding:' . $columns_padding, '{{WRAPPER}} .gallery' => 'margin: ' . $columns_margin, ], 'condition' => [ 'image_spacing' => 'custom', ], ] ); $this->add_group_control( Group_Control_Border::get_type(), [ 'name' => 'image_border', 'selector' => '{{WRAPPER}} .gallery-item img', 'separator' => 'before', ] ); $this->add_control( 'image_border_radius', [ 'label' => esc_html__( 'Border Radius', 'elementor' ), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => [ 'px', '%' ], 'selectors' => [ '{{WRAPPER}} .gallery-item img' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->end_controls_section(); $this->start_controls_section( 'section_caption', [ 'label' => esc_html__( 'Caption', 'elementor' ), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_control( 'gallery_display_caption', [ 'label' => esc_html__( 'Display', 'elementor' ), 'type' => Controls_Manager::SELECT, 'default' => '', 'options' => [ '' => esc_html__( 'Show', 'elementor' ), 'none' => esc_html__( 'Hide', 'elementor' ), ], 'selectors' => [ '{{WRAPPER}} .gallery-item .gallery-caption' => 'display: {{VALUE}};', ], ] ); $this->add_control( 'align', [ 'label' => esc_html__( 'Alignment', 'elementor' ), 'type' => Controls_Manager::CHOOSE, 'options' => [ 'left' => [ 'title' => esc_html__( 'Left', 'elementor' ), 'icon' => 'eicon-text-align-left', ], 'center' => [ 'title' => esc_html__( 'Center', 'elementor' ), 'icon' => 'eicon-text-align-center', ], 'right' => [ 'title' => esc_html__( 'Right', 'elementor' ), 'icon' => 'eicon-text-align-right', ], 'justify' => [ 'title' => esc_html__( 'Justified', 'elementor' ), 'icon' => 'eicon-text-align-justify', ], ], 'default' => 'center', 'selectors' => [ '{{WRAPPER}} .gallery-item .gallery-caption' => 'text-align: {{VALUE}};', ], 'condition' => [ 'gallery_display_caption' => '', ], ] ); $this->add_control( 'text_color', [ 'label' => esc_html__( 'Text Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'default' => '', 'selectors' => [ '{{WRAPPER}} .gallery-item .gallery-caption' => 'color: {{VALUE}};', ], 'condition' => [ 'gallery_display_caption' => '', ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'typography', 'global' => [ 'default' => Global_Typography::TYPOGRAPHY_ACCENT, ], 'selector' => '{{WRAPPER}} .gallery-item .gallery-caption', 'condition' => [ 'gallery_display_caption' => '', ], ] ); $this->add_group_control( Group_Control_Text_Shadow::get_type(), [ 'name' => 'caption_shadow', 'selector' => '{{WRAPPER}} .gallery-item .gallery-caption', ] ); $this->end_controls_section(); } /** * Render image gallery widget output on the frontend. * * Written in PHP and used to generate the final HTML. * * @since 1.0.0 * @access protected */ protected function render() { $settings = $this->get_settings_for_display(); if ( ! $settings['wp_gallery'] ) { return; } $ids = wp_list_pluck( $settings['wp_gallery'], 'id' ); $this->add_render_attribute( 'shortcode', 'ids', implode( ',', $ids ) ); $this->add_render_attribute( 'shortcode', 'size', $settings['thumbnail_size'] ); if ( $settings['gallery_columns'] ) { $this->add_render_attribute( 'shortcode', 'columns', $settings['gallery_columns'] ); } if ( $settings['gallery_link'] ) { $this->add_render_attribute( 'shortcode', 'link', $settings['gallery_link'] ); } if ( ! empty( $settings['gallery_rand'] ) ) { $this->add_render_attribute( 'shortcode', 'orderby', $settings['gallery_rand'] ); } ?> start_controls_section( 'section_toggle', [ 'label' => esc_html__( 'Toggle', 'elementor' ), ] ); $repeater = new Repeater(); $repeater->add_control( 'tab_title', [ 'label' => esc_html__( 'Title & Description', 'elementor' ), 'type' => Controls_Manager::TEXT, 'default' => esc_html__( 'Toggle Title', 'elementor' ), 'label_block' => true, 'dynamic' => [ 'active' => true, ], ] ); $repeater->add_control( 'tab_content', [ 'label' => esc_html__( 'Content', 'elementor' ), 'type' => Controls_Manager::WYSIWYG, 'default' => esc_html__( 'Toggle Content', 'elementor' ), 'show_label' => false, 'dynamic' => [ 'active' => true, ], ] ); $this->add_control( 'tabs', [ 'label' => esc_html__( 'Toggle Items', 'elementor' ), 'type' => Controls_Manager::REPEATER, 'fields' => $repeater->get_controls(), 'default' => [ [ 'tab_title' => esc_html__( 'Toggle #1', 'elementor' ), 'tab_content' => esc_html__( 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.', 'elementor' ), ], [ 'tab_title' => esc_html__( 'Toggle #2', 'elementor' ), 'tab_content' => esc_html__( 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.', 'elementor' ), ], ], 'title_field' => '{{{ tab_title }}}', ] ); $this->add_control( 'view', [ 'label' => esc_html__( 'View', 'elementor' ), 'type' => Controls_Manager::HIDDEN, 'default' => 'traditional', ] ); $this->add_control( 'selected_icon', [ 'label' => esc_html__( 'Icon', 'elementor' ), 'type' => Controls_Manager::ICONS, 'separator' => 'before', 'fa4compatibility' => 'icon', 'default' => [ 'value' => 'fas fa-caret' . ( is_rtl() ? '-left' : '-right' ), 'library' => 'fa-solid', ], 'recommended' => [ 'fa-solid' => [ 'chevron-down', 'angle-down', 'angle-double-down', 'caret-down', 'caret-square-down', ], 'fa-regular' => [ 'caret-square-down', ], ], 'label_block' => false, 'skin' => 'inline', ] ); $this->add_control( 'selected_active_icon', [ 'label' => esc_html__( 'Active Icon', 'elementor' ), 'type' => Controls_Manager::ICONS, 'fa4compatibility' => 'icon_active', 'default' => [ 'value' => 'fas fa-caret-up', 'library' => 'fa-solid', ], 'recommended' => [ 'fa-solid' => [ 'chevron-up', 'angle-up', 'angle-double-up', 'caret-up', 'caret-square-up', ], 'fa-regular' => [ 'caret-square-up', ], ], 'skin' => 'inline', 'label_block' => false, 'condition' => [ 'selected_icon[value]!' => '', ], ] ); $this->add_control( 'title_html_tag', [ 'label' => esc_html__( 'Title HTML Tag', 'elementor' ), 'type' => Controls_Manager::SELECT, 'options' => [ 'h1' => 'H1', 'h2' => 'H2', 'h3' => 'H3', 'h4' => 'H4', 'h5' => 'H5', 'h6' => 'H6', 'div' => 'div', ], 'default' => 'div', 'separator' => 'before', ] ); $this->add_control( 'faq_schema', [ 'label' => esc_html__( 'FAQ Schema', 'elementor' ), 'type' => Controls_Manager::SWITCHER, 'separator' => 'before', ] ); $this->end_controls_section(); $this->start_controls_section( 'section_toggle_style', [ 'label' => esc_html__( 'Toggle', 'elementor' ), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_control( 'border_width', [ 'label' => esc_html__( 'Border Width', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'range' => [ 'px' => [ 'min' => 0, 'max' => 10, ], ], 'selectors' => [ '{{WRAPPER}} .elementor-tab-title' => 'border-width: {{SIZE}}{{UNIT}};', '{{WRAPPER}} .elementor-tab-content' => 'border-width: {{SIZE}}{{UNIT}};', ], ] ); $this->add_control( 'border_color', [ 'label' => esc_html__( 'Border Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .elementor-tab-content' => 'border-bottom-color: {{VALUE}};', '{{WRAPPER}} .elementor-tab-title' => 'border-color: {{VALUE}};', ], ] ); $this->add_responsive_control( 'space_between', [ 'label' => esc_html__( 'Space Between', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'range' => [ 'px' => [ 'min' => 0, 'max' => 100, ], ], 'selectors' => [ '{{WRAPPER}} .elementor-toggle-item:not(:last-child)' => 'margin-bottom: {{SIZE}}{{UNIT}}', ], ] ); $this->add_group_control( Group_Control_Box_Shadow::get_type(), [ 'name' => 'box_shadow', 'selector' => '{{WRAPPER}} .elementor-toggle-item', ] ); $this->end_controls_section(); $this->start_controls_section( 'section_toggle_style_title', [ 'label' => esc_html__( 'Title', 'elementor' ), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_control( 'title_background', [ 'label' => esc_html__( 'Background', 'elementor' ), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .elementor-tab-title' => 'background-color: {{VALUE}};', ], ] ); // The title selector specificity is to override Theme Style $this->add_control( 'title_color', [ 'label' => esc_html__( 'Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .elementor-toggle-title, {{WRAPPER}} .elementor-toggle-icon' => 'color: {{VALUE}};', '{{WRAPPER}} .elementor-toggle-icon svg' => 'fill: {{VALUE}};', ], 'global' => [ 'default' => Global_Colors::COLOR_PRIMARY, ], ] ); $this->add_control( 'tab_active_color', [ 'label' => esc_html__( 'Active Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .elementor-tab-title.elementor-active a, {{WRAPPER}} .elementor-tab-title.elementor-active .elementor-toggle-icon' => 'color: {{VALUE}};', ], 'global' => [ 'default' => Global_Colors::COLOR_ACCENT, ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'title_typography', 'selector' => '{{WRAPPER}} .elementor-toggle-title', 'global' => [ 'default' => Global_Typography::TYPOGRAPHY_PRIMARY, ], ] ); $this->add_group_control( Group_Control_Text_Shadow::get_type(), [ 'name' => 'title_shadow', 'selector' => '{{WRAPPER}} .elementor-toggle-title', ] ); $this->add_responsive_control( 'title_padding', [ 'label' => esc_html__( 'Padding', 'elementor' ), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => [ 'px', 'em', '%' ], 'selectors' => [ '{{WRAPPER}} .elementor-tab-title' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->end_controls_section(); $this->start_controls_section( 'section_toggle_style_icon', [ 'label' => esc_html__( 'Icon', 'elementor' ), 'tab' => Controls_Manager::TAB_STYLE, 'condition' => [ 'selected_icon[value]!' => '', ], ] ); $this->add_control( 'icon_align', [ 'label' => esc_html__( 'Alignment', 'elementor' ), 'type' => Controls_Manager::CHOOSE, 'options' => [ 'left' => [ 'title' => esc_html__( 'Start', 'elementor' ), 'icon' => 'eicon-h-align-left', ], 'right' => [ 'title' => esc_html__( 'End', 'elementor' ), 'icon' => 'eicon-h-align-right', ], ], 'default' => is_rtl() ? 'right' : 'left', 'toggle' => false, ] ); $this->add_control( 'icon_color', [ 'label' => esc_html__( 'Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .elementor-tab-title .elementor-toggle-icon i:before' => 'color: {{VALUE}};', '{{WRAPPER}} .elementor-tab-title .elementor-toggle-icon svg' => 'fill: {{VALUE}};', ], ] ); $this->add_control( 'icon_active_color', [ 'label' => esc_html__( 'Active Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .elementor-tab-title.elementor-active .elementor-toggle-icon i:before' => 'color: {{VALUE}};', '{{WRAPPER}} .elementor-tab-title.elementor-active .elementor-toggle-icon svg' => 'fill: {{VALUE}};', ], ] ); $this->add_responsive_control( 'icon_space', [ 'label' => esc_html__( 'Spacing', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'range' => [ 'px' => [ 'min' => 0, 'max' => 100, ], ], 'selectors' => [ '{{WRAPPER}} .elementor-toggle-icon.elementor-toggle-icon-left' => 'margin-right: {{SIZE}}{{UNIT}};', '{{WRAPPER}} .elementor-toggle-icon.elementor-toggle-icon-right' => 'margin-left: {{SIZE}}{{UNIT}};', ], ] ); $this->end_controls_section(); $this->start_controls_section( 'section_toggle_style_content', [ 'label' => esc_html__( 'Content', 'elementor' ), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_control( 'content_background_color', [ 'label' => esc_html__( 'Background', 'elementor' ), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .elementor-tab-content' => 'background-color: {{VALUE}};', ], ] ); $this->add_control( 'content_color', [ 'label' => esc_html__( 'Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .elementor-tab-content' => 'color: {{VALUE}};', ], 'global' => [ 'default' => Global_Colors::COLOR_TEXT, ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'content_typography', 'selector' => '{{WRAPPER}} .elementor-tab-content', 'global' => [ 'default' => Global_Typography::TYPOGRAPHY_TEXT, ], ] ); $this->add_group_control( Group_Control_Text_Shadow::get_type(), [ 'name' => 'content_shadow', 'selector' => '{{WRAPPER}} .elementor-tab-content', ] ); $this->add_responsive_control( 'content_padding', [ 'label' => esc_html__( 'Padding', 'elementor' ), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => [ 'px', 'em', '%' ], 'selectors' => [ '{{WRAPPER}} .elementor-tab-content' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->end_controls_section(); } /** * Render toggle widget output on the frontend. * * Written in PHP and used to generate the final HTML. * * @since 1.0.0 * @access protected */ protected function render() { $settings = $this->get_settings_for_display(); $id_int = substr( $this->get_id_int(), 0, 3 ); $migrated = isset( $settings['__fa4_migrated']['selected_icon'] ); if ( ! isset( $settings['icon'] ) && ! Icons_Manager::is_migration_allowed() ) { // @todo: remove when deprecated // added as bc in 2.6 // add old default $settings['icon'] = 'fa fa-caret' . ( is_rtl() ? '-left' : '-right' ); $settings['icon_active'] = 'fa fa-caret-up'; $settings['icon_align'] = $this->get_settings( 'icon_align' ); } $is_new = empty( $settings['icon'] ) && Icons_Manager::is_migration_allowed(); $has_icon = ( ! $is_new || ! empty( $settings['selected_icon']['value'] ) ); ?>
$item ) : $tab_count = $index + 1; $tab_title_setting_key = $this->get_repeater_setting_key( 'tab_title', 'tabs', $index ); $tab_content_setting_key = $this->get_repeater_setting_key( 'tab_content', 'tabs', $index ); $this->add_render_attribute( $tab_title_setting_key, [ 'id' => 'elementor-tab-title-' . $id_int . $tab_count, 'class' => [ 'elementor-tab-title' ], 'data-tab' => $tab_count, 'role' => 'tab', 'aria-controls' => 'elementor-tab-content-' . $id_int . $tab_count, 'aria-expanded' => 'false', ] ); $this->add_render_attribute( $tab_content_setting_key, [ 'id' => 'elementor-tab-content-' . $id_int . $tab_count, 'class' => [ 'elementor-tab-content', 'elementor-clearfix' ], 'data-tab' => $tab_count, 'role' => 'tabpanel', 'aria-labelledby' => 'elementor-tab-title-' . $id_int . $tab_count, ] ); $this->add_inline_editing_attributes( $tab_content_setting_key, 'advanced' ); ?>
< print_render_attribute_string( $tab_title_setting_key ); ?>> print_unescaped_setting( 'tab_title', 'tabs', $index ); ?> >
print_render_attribute_string( $tab_content_setting_key ); ?>>parse_text_editor( $item['tab_content'] ) ); ?>
'https://schema.org', '@type' => 'FAQPage', 'mainEntity' => [], ]; foreach ( $settings['tabs'] as $index => $item ) { $json['mainEntity'][] = [ '@type' => 'Question', 'name' => wp_strip_all_tags( $item['tab_title'] ), 'acceptedAnswer' => [ '@type' => 'Answer', 'text' => $this->parse_text_editor( $item['tab_content'] ), ], ]; } ?>
<# if ( settings.tabs ) { var tabindex = view.getIDInt().toString().substr( 0, 3 ), iconHTML = elementor.helpers.renderIcon( view, settings.selected_icon, {}, 'i' , 'object' ), iconActiveHTML = elementor.helpers.renderIcon( view, settings.selected_active_icon, {}, 'i' , 'object' ), migrated = elementor.helpers.isIconMigrated( settings, 'selected_icon' ), titleHTMLTag = elementor.helpers.validateHTMLTag( settings.title_html_tag ); _.each( settings.tabs, function( item, index ) { var tabCount = index + 1, tabTitleKey = view.getRepeaterSettingKey( 'tab_title', 'tabs', index ), tabContentKey = view.getRepeaterSettingKey( 'tab_content', 'tabs', index ); view.addRenderAttribute( tabTitleKey, { 'id': 'elementor-tab-title-' + tabindex + tabCount, 'class': [ 'elementor-tab-title' ], 'data-tab': tabCount, 'role': 'tab', 'aria-controls': 'elementor-tab-content-' + tabindex + tabCount, 'aria-expanded': 'false', } ); view.addRenderAttribute( tabContentKey, { 'id': 'elementor-tab-content-' + tabindex + tabCount, 'class': [ 'elementor-tab-content', 'elementor-clearfix' ], 'data-tab': tabCount, 'role': 'tabpanel', 'aria-labelledby': 'elementor-tab-title-' + tabindex + tabCount } ); view.addInlineEditingAttributes( tabContentKey, 'advanced' ); #>
<{{{ titleHTMLTag }}} {{{ view.getRenderAttributeString( tabTitleKey ) }}}> <# if ( settings.icon || settings.selected_icon ) { #> <# } #> {{{ item.tab_title }}}
{{{ item.tab_content }}}
<# } ); } #>
start_controls_section( 'section_testimonial', [ 'label' => esc_html__( 'Testimonial', 'elementor' ), ] ); $this->add_control( 'testimonial_content', [ 'label' => esc_html__( 'Content', 'elementor' ), 'type' => Controls_Manager::TEXTAREA, 'dynamic' => [ 'active' => true, ], 'rows' => '10', 'default' => esc_html__( 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.', 'elementor' ), ] ); $this->add_control( 'testimonial_image', [ 'label' => esc_html__( 'Choose Image', 'elementor' ), 'type' => Controls_Manager::MEDIA, 'dynamic' => [ 'active' => true, ], 'default' => [ 'url' => Utils::get_placeholder_image_src(), ], ] ); $this->add_group_control( Group_Control_Image_Size::get_type(), [ 'name' => 'testimonial_image', // Usage: `{name}_size` and `{name}_custom_dimension`, in this case `testimonial_image_size` and `testimonial_image_custom_dimension`. 'default' => 'full', 'separator' => 'none', ] ); $this->add_control( 'testimonial_name', [ 'label' => esc_html__( 'Name', 'elementor' ), 'type' => Controls_Manager::TEXT, 'dynamic' => [ 'active' => true, ], 'default' => 'John Doe', ] ); $this->add_control( 'testimonial_job', [ 'label' => esc_html__( 'Title', 'elementor' ), 'type' => Controls_Manager::TEXT, 'dynamic' => [ 'active' => true, ], 'default' => 'Designer', ] ); $this->add_control( 'link', [ 'label' => esc_html__( 'Link', 'elementor' ), 'type' => Controls_Manager::URL, 'dynamic' => [ 'active' => true, ], 'placeholder' => esc_html__( 'https://your-link.com', 'elementor' ), ] ); $this->add_control( 'testimonial_image_position', [ 'label' => esc_html__( 'Image Position', 'elementor' ), 'type' => Controls_Manager::SELECT, 'default' => 'aside', 'options' => [ 'aside' => esc_html__( 'Aside', 'elementor' ), 'top' => esc_html__( 'Top', 'elementor' ), ], 'condition' => [ 'testimonial_image[url]!' => '', ], 'separator' => 'before', 'style_transfer' => true, ] ); $this->add_responsive_control( 'testimonial_alignment', [ 'label' => esc_html__( 'Alignment', 'elementor' ), 'type' => Controls_Manager::CHOOSE, 'default' => 'center', 'options' => [ 'left' => [ 'title' => esc_html__( 'Left', 'elementor' ), 'icon' => 'eicon-text-align-left', ], 'center' => [ 'title' => esc_html__( 'Center', 'elementor' ), 'icon' => 'eicon-text-align-center', ], 'right' => [ 'title' => esc_html__( 'Right', 'elementor' ), 'icon' => 'eicon-text-align-right', ], ], 'selectors' => [ '{{WRAPPER}} .elementor-testimonial-wrapper' => 'text-align: {{VALUE}}', ], 'style_transfer' => true, ] ); $this->add_control( 'view', [ 'label' => esc_html__( 'View', 'elementor' ), 'type' => Controls_Manager::HIDDEN, 'default' => 'traditional', ] ); $this->end_controls_section(); // Content. $this->start_controls_section( 'section_style_testimonial_content', [ 'label' => esc_html__( 'Content', 'elementor' ), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_control( 'content_content_color', [ 'label' => esc_html__( 'Text Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'global' => [ 'default' => Global_Colors::COLOR_TEXT, ], 'default' => '', 'selectors' => [ '{{WRAPPER}} .elementor-testimonial-content' => 'color: {{VALUE}};', ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'content_typography', 'global' => [ 'default' => Global_Typography::TYPOGRAPHY_TEXT, ], 'selector' => '{{WRAPPER}} .elementor-testimonial-content', ] ); $this->add_group_control( Group_Control_Text_Shadow::get_type(), [ 'name' => 'content_shadow', 'selector' => '{{WRAPPER}} .elementor-testimonial-content', ] ); $this->end_controls_section(); // Image. $this->start_controls_section( 'section_style_testimonial_image', [ 'label' => esc_html__( 'Image', 'elementor' ), 'tab' => Controls_Manager::TAB_STYLE, 'condition' => [ 'testimonial_image[url]!' => '', ], ] ); $this->add_control( 'image_size', [ 'label' => esc_html__( 'Image Size', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'size_units' => [ 'px' ], 'range' => [ 'px' => [ 'min' => 20, 'max' => 200, ], ], 'selectors' => [ '{{WRAPPER}} .elementor-testimonial-wrapper .elementor-testimonial-image img' => 'width: {{SIZE}}{{UNIT}};height: {{SIZE}}{{UNIT}};', ], ] ); $this->add_group_control( Group_Control_Border::get_type(), [ 'name' => 'image_border', 'selector' => '{{WRAPPER}} .elementor-testimonial-wrapper .elementor-testimonial-image img', 'separator' => 'before', ] ); $this->add_control( 'image_border_radius', [ 'label' => esc_html__( 'Border Radius', 'elementor' ), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => [ 'px', '%' ], 'selectors' => [ '{{WRAPPER}} .elementor-testimonial-wrapper .elementor-testimonial-image img' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->end_controls_section(); // Name. $this->start_controls_section( 'section_style_testimonial_name', [ 'label' => esc_html__( 'Name', 'elementor' ), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_control( 'name_text_color', [ 'label' => esc_html__( 'Text Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'global' => [ 'default' => Global_Colors::COLOR_PRIMARY, ], 'default' => '', 'selectors' => [ '{{WRAPPER}} .elementor-testimonial-name' => 'color: {{VALUE}};', ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'name_typography', 'global' => [ 'default' => Global_Typography::TYPOGRAPHY_PRIMARY, ], 'selector' => '{{WRAPPER}} .elementor-testimonial-name', ] ); $this->add_group_control( Group_Control_Text_Shadow::get_type(), [ 'name' => 'name_shadow', 'selector' => '{{WRAPPER}} .elementor-testimonial-name', ] ); $this->end_controls_section(); // Job. $this->start_controls_section( 'section_style_testimonial_job', [ 'label' => esc_html__( 'Title', 'elementor' ), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_control( 'job_text_color', [ 'label' => esc_html__( 'Text Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'global' => [ 'default' => Global_Colors::COLOR_SECONDARY, ], 'default' => '', 'selectors' => [ '{{WRAPPER}} .elementor-testimonial-job' => 'color: {{VALUE}};', ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'job_typography', 'global' => [ 'default' => Global_Typography::TYPOGRAPHY_SECONDARY, ], 'selector' => '{{WRAPPER}} .elementor-testimonial-job', ] ); $this->add_group_control( Group_Control_Text_Shadow::get_type(), [ 'name' => 'job_shadow', 'selector' => '{{WRAPPER}} .elementor-testimonial-job', ] ); $this->end_controls_section(); } /** * Render testimonial widget output on the frontend. * * Written in PHP and used to generate the final HTML. * * @since 1.0.0 * @access protected */ protected function render() { $settings = $this->get_settings_for_display(); $this->add_render_attribute( 'wrapper', 'class', 'elementor-testimonial-wrapper' ); $this->add_render_attribute( 'meta', 'class', 'elementor-testimonial-meta' ); if ( $settings['testimonial_image']['url'] ) { $this->add_render_attribute( 'meta', 'class', 'elementor-has-image' ); } if ( $settings['testimonial_image_position'] ) { $this->add_render_attribute( 'meta', 'class', 'elementor-testimonial-image-position-' . $settings['testimonial_image_position'] ); } $has_content = ! ! $settings['testimonial_content']; $has_image = ! ! $settings['testimonial_image']['url']; $has_name = ! ! $settings['testimonial_name']; $has_job = ! ! $settings['testimonial_job']; if ( ! $has_content && ! $has_image && ! $has_name && ! $has_job ) { return; } if ( ! empty( $settings['link']['url'] ) ) { $this->add_link_attributes( 'link', $settings['link'] ); } ?>
print_render_attribute_string( 'wrapper' ); ?>> add_render_attribute( 'testimonial_content', 'class', 'elementor-testimonial-content' ); $this->add_inline_editing_attributes( 'testimonial_content' ); ?>
print_render_attribute_string( 'testimonial_content' ); ?>>print_unescaped_setting( 'testimonial_content' ); ?>
print_render_attribute_string( 'meta' ); ?>>
get_render_attribute_string( 'link' ) . '>' . $image_html . ''; endif; echo wp_kses_post( $image_html ); ?>
add_render_attribute( 'testimonial_name', 'class', 'elementor-testimonial-name' ); $this->add_inline_editing_attributes( 'testimonial_name', 'none' ); if ( ! empty( $settings['link']['url'] ) ) : ?> print_render_attribute_string( 'testimonial_name' ); ?> print_render_attribute_string( 'link' ); ?>>print_unescaped_setting( 'testimonial_name' ); ?>
print_render_attribute_string( 'testimonial_name' ); ?>>print_unescaped_setting( 'testimonial_name' ); ?>
add_render_attribute( 'testimonial_job', 'class', 'elementor-testimonial-job' ); $this->add_inline_editing_attributes( 'testimonial_job', 'none' ); if ( ! empty( $settings['link']['url'] ) ) : ?> print_render_attribute_string( 'testimonial_job' ); ?> print_render_attribute_string( 'link' ); ?>>print_unescaped_setting( 'testimonial_job' ); ?>
print_render_attribute_string( 'testimonial_job' ); ?>>print_unescaped_setting( 'testimonial_job' ); ?>
<# var image = { id: settings.testimonial_image.id, url: settings.testimonial_image.url, size: settings.testimonial_image_size, dimension: settings.testimonial_image_custom_dimension, model: view.getEditModel() }; var imageUrl = false, hasImage = ''; if ( '' !== settings.testimonial_image.url ) { imageUrl = elementor.imagesManager.getImageUrl( image ); hasImage = ' elementor-has-image'; var imageHtml = 'testimonial'; if ( settings.link.url ) { imageHtml = '' + imageHtml + ''; } } var testimonial_image_position = settings.testimonial_image_position ? ' elementor-testimonial-image-position-' + settings.testimonial_image_position : ''; #>
<# if ( '' !== settings.testimonial_content ) { view.addRenderAttribute( 'testimonial_content', 'class', 'elementor-testimonial-content' ); view.addInlineEditingAttributes( 'testimonial_content' ); #>
{{{ settings.testimonial_content }}}
<# } #>
<# if ( imageUrl ) { #>
{{{ imageHtml }}}
<# } #>
render_testimonial_description(); ?>
<# if ( '' !== settings.testimonial_name ) { view.addRenderAttribute( 'testimonial_name', 'class', 'elementor-testimonial-name' ); view.addInlineEditingAttributes( 'testimonial_name', 'none' ); if ( settings.link.url ) { #> {{{ settings.testimonial_name }}} <# } else { #>
{{{ settings.testimonial_name }}}
<# } } if ( '' !== settings.testimonial_job ) { view.addRenderAttribute( 'testimonial_job', 'class', 'elementor-testimonial-job' ); view.addInlineEditingAttributes( 'testimonial_job', 'none' ); if ( settings.link.url ) { #> {{{ settings.testimonial_job }}} <# } else { #>
{{{ settings.testimonial_job }}}
<# } } #> add_content_filter(); // Hack to avoid enqueue post CSS while it's a `the_excerpt` call. add_filter( 'get_the_excerpt', [ $this, 'start_excerpt_flag' ], 1 ); add_filter( 'get_the_excerpt', [ $this, 'end_excerpt_flag' ], 20 ); } /** * Get module name. * * Retrieve the module name. * * @since 2.3.0 * @access public * * @return string Module name. */ public function get_name() { return 'frontend'; } /** * Init render mode manager. */ public function init_render_mode() { if ( Plugin::$instance->editor->is_edit_mode() ) { return; } $this->render_mode_manager = new Render_Mode_Manager(); } /** * Init. * * Initialize Elementor front end. Hooks the needed actions to run Elementor * in the front end, including script and style registration. * * Fired by `template_redirect` action. * * @since 1.0.0 * @access public */ public function init() { if ( Plugin::$instance->editor->is_edit_mode() ) { return; } add_filter( 'body_class', [ $this, 'body_class' ] ); if ( Plugin::$instance->preview->is_preview_mode() ) { return; } if ( current_user_can( 'manage_options' ) ) { Plugin::$instance->init_common(); } $this->post_id = get_the_ID(); $document = Plugin::$instance->documents->get( $this->post_id ); if ( is_singular() && $document && $document->is_built_with_elementor() ) { add_action( 'wp_enqueue_scripts', [ $this, 'enqueue_styles' ] ); } // Priority 7 to allow google fonts in header template to load in tag add_action( 'wp_head', [ $this, 'print_fonts_links' ], 7 ); add_action( 'wp_head', [ $this, 'add_theme_color_meta_tag' ] ); add_action( 'wp_footer', [ $this, 'wp_footer' ] ); } /** * @since 2.0.12 * @access public * @param string|array $class */ public function add_body_class( $class ) { if ( is_array( $class ) ) { $this->body_classes = array_merge( $this->body_classes, $class ); } else { $this->body_classes[] = $class; } } /** * Add Theme Color Meta Tag * * @since 3.0.0 * @access public */ public function add_theme_color_meta_tag() { $kit = Plugin::$instance->kits_manager->get_active_kit_for_frontend(); $mobile_theme_color = $kit->get_settings( 'mobile_browser_background' ); if ( ! empty( $mobile_theme_color ) ) { ?> body_classes ); $id = get_the_ID(); $document = Plugin::$instance->documents->get( $id ); if ( is_singular() && $document && $document->is_built_with_elementor() ) { $classes[] = 'elementor-page elementor-page-' . $id; } if ( Plugin::$instance->preview->is_preview_mode() ) { $editor_preferences = SettingsManager::get_settings_managers( 'editorPreferences' ); $show_hidden_elements = $editor_preferences->get_model()->get_settings( 'show_hidden_elements' ); if ( 'yes' === $show_hidden_elements ) { $classes[] = 'e-preview--show-hidden-elements'; } } return $classes; } /** * Add content filter. * * Remove plain content and render the content generated by Elementor. * * @since 1.8.0 * @access public */ public function add_content_filter() { add_filter( 'the_content', [ $this, 'apply_builder_in_content' ], self::THE_CONTENT_FILTER_PRIORITY ); } /** * Remove content filter. * * When the Elementor generated content rendered, we remove the filter to prevent multiple * accuracies. This way we make sure Elementor renders the content only once. * * @since 1.8.0 * @access public */ public function remove_content_filter() { remove_filter( 'the_content', [ $this, 'apply_builder_in_content' ], self::THE_CONTENT_FILTER_PRIORITY ); } /** * Registers scripts. * * Registers all the frontend scripts. * * Fired by `wp_enqueue_scripts` action. * * @since 1.2.1 * @access public */ public function register_scripts() { /** * Before frontend register scripts. * * Fires before Elementor frontend scripts are registered. * * @since 1.2.1 */ do_action( 'elementor/frontend/before_register_scripts' ); wp_register_script( 'elementor-webpack-runtime', $this->get_js_assets_url( 'webpack.runtime', 'assets/js/' ), [], ELEMENTOR_VERSION, true ); wp_register_script( 'elementor-frontend-modules', $this->get_js_assets_url( 'frontend-modules' ), [ 'elementor-webpack-runtime', 'jquery', ], ELEMENTOR_VERSION, true ); wp_register_script( 'elementor-waypoints', $this->get_js_assets_url( 'waypoints', 'assets/lib/waypoints/' ), [ 'jquery', ], '4.0.2', true ); wp_register_script( 'flatpickr', $this->get_js_assets_url( 'flatpickr', 'assets/lib/flatpickr/' ), [ 'jquery', ], '4.1.4', true ); wp_register_script( 'imagesloaded', $this->get_js_assets_url( 'imagesloaded', 'assets/lib/imagesloaded/' ), [ 'jquery', ], '4.1.0', true ); wp_register_script( 'jquery-numerator', $this->get_js_assets_url( 'jquery-numerator', 'assets/lib/jquery-numerator/' ), [ 'jquery', ], '0.2.1', true ); wp_register_script( 'elementor-dialog', $this->get_js_assets_url( 'dialog', 'assets/lib/dialog/' ), [ 'jquery-ui-position', ], '4.9.0', true ); wp_register_script( 'elementor-gallery', $this->get_js_assets_url( 'e-gallery', 'assets/lib/e-gallery/js/' ), [ 'jquery', ], '1.2.0', true ); wp_register_script( 'share-link', $this->get_js_assets_url( 'share-link', 'assets/lib/share-link/' ), [ 'jquery', ], ELEMENTOR_VERSION, true ); wp_register_script( 'elementor-frontend', $this->get_js_assets_url( 'frontend' ), $this->get_elementor_frontend_dependencies(), ELEMENTOR_VERSION, true ); /** * After frontend register scripts. * * Fires after Elementor frontend scripts are registered. * * @since 1.2.1 */ do_action( 'elementor/frontend/after_register_scripts' ); } /** * Registers styles. * * Registers all the frontend styles. * * Fired by `wp_enqueue_scripts` action. * * @since 1.2.0 * @access public */ public function register_styles() { /** * Before frontend register styles. * * Fires before Elementor frontend styles are registered. * * @since 1.2.0 */ do_action( 'elementor/frontend/before_register_styles' ); wp_register_style( 'font-awesome', $this->get_css_assets_url( 'font-awesome', 'assets/lib/font-awesome/css/' ), [], '4.7.0' ); wp_register_style( 'elementor-icons', $this->get_css_assets_url( 'elementor-icons', 'assets/lib/eicons/css/' ), [], '5.15.0' ); wp_register_style( 'flatpickr', $this->get_css_assets_url( 'flatpickr', 'assets/lib/flatpickr/' ), [], '4.1.4' ); wp_register_style( 'elementor-gallery', $this->get_css_assets_url( 'e-gallery', 'assets/lib/e-gallery/css/' ), [], '1.2.0' ); $min_suffix = Utils::is_script_debug() ? '' : '.min'; $direction_suffix = is_rtl() ? '-rtl' : ''; $frontend_base_file_name = $this->is_optimized_css_mode() ? 'frontend-lite' : 'frontend'; $frontend_file_name = $frontend_base_file_name . $direction_suffix . $min_suffix . '.css'; $frontend_dependencies = []; $has_custom_breakpoints = Plugin::$instance->breakpoints->has_custom_breakpoints(); if ( ! Plugin::$instance->experiments->is_feature_active( 'e_dom_optimization' ) ) { // If The Dom Optimization feature is disabled, register the legacy CSS wp_register_style( 'elementor-frontend-legacy', $this->get_frontend_file_url( 'frontend-legacy' . $direction_suffix . $min_suffix . '.css', $has_custom_breakpoints ), [], ELEMENTOR_VERSION ); $frontend_dependencies[] = 'elementor-frontend-legacy'; } wp_register_style( 'elementor-frontend', $this->get_frontend_file_url( $frontend_file_name, $has_custom_breakpoints ), $frontend_dependencies, $has_custom_breakpoints ? null : ELEMENTOR_VERSION ); /** * After frontend register styles. * * Fires after Elementor frontend styles are registered. * * @since 1.2.0 */ do_action( 'elementor/frontend/after_register_styles' ); } /** * Enqueue scripts. * * Enqueue all the frontend scripts. * * @since 1.0.0 * @access public */ public function enqueue_scripts() { /** * Before frontend enqueue scripts. * * Fires before Elementor frontend scripts are enqueued. * * @since 1.0.0 */ do_action( 'elementor/frontend/before_enqueue_scripts' ); wp_enqueue_script( 'elementor-frontend' ); if ( ! $this->is_improved_assets_loading() ) { wp_enqueue_script( 'preloaded-modules', $this->get_js_assets_url( 'preloaded-modules', 'assets/js/' ), [ 'elementor-frontend', ], ELEMENTOR_VERSION, true ); } $this->print_config(); $this->enqueue_conditional_assets(); /** * After frontend enqueue scripts. * * Fires after Elementor frontend scripts are enqueued. * * @since 1.0.0 */ do_action( 'elementor/frontend/after_enqueue_scripts' ); } /** * Enqueue styles. * * Enqueue all the frontend styles. * * Fired by `wp_enqueue_scripts` action. * * @since 1.0.0 * @access public */ public function enqueue_styles() { static $is_enqueue_styles_already_triggered; if ( ! $is_enqueue_styles_already_triggered ) { $is_enqueue_styles_already_triggered = true; /** * Before frontend styles enqueued. * * Fires before Elementor frontend styles are enqueued. * * @since 1.0.0 */ do_action( 'elementor/frontend/before_enqueue_styles' ); // The e-icons are needed in preview mode for the editor icons (plus-icon for new section, folder-icon for the templates library etc.). if ( ! Plugin::$instance->experiments->is_feature_active( 'e_font_icon_svg' ) || Plugin::$instance->preview->is_preview_mode() ) { wp_enqueue_style( 'elementor-icons' ); } wp_enqueue_style( 'elementor-frontend' ); /** * After frontend styles enqueued. * * Fires after Elementor frontend styles are enqueued. * * @since 1.0.0 */ do_action( 'elementor/frontend/after_enqueue_styles' ); if ( ! Plugin::$instance->preview->is_preview_mode() ) { $this->parse_global_css_code(); $post_id = get_the_ID(); // Check $post_id for virtual pages. check is singular because the $post_id is set to the first post on archive pages. if ( $post_id && is_singular() ) { $css_file = Post_CSS::create( get_the_ID() ); $css_file->enqueue(); } } } } /** * Get Frontend File URL * * Returns the URL for the CSS file to be loaded in the front end. If requested via the second parameter, a custom * file is generated based on a passed template file name. Otherwise, the URL for the default CSS file is returned. * * @since 3.4.5 * * @access public * * @param string $frontend_file_name * @param boolean $custom_file * * @return string frontend file URL */ public function get_frontend_file_url( $frontend_file_name, $custom_file ) { if ( $custom_file ) { $frontend_file = $this->get_frontend_file( $frontend_file_name ); $frontend_file_url = $frontend_file->get_url(); } else { $frontend_file_url = ELEMENTOR_ASSETS_URL . 'css/' . $frontend_file_name; } return $frontend_file_url; } /** * Get Frontend File Path * * Returns the path for the CSS file to be loaded in the front end. If requested via the second parameter, a custom * file is generated based on a passed template file name. Otherwise, the path for the default CSS file is returned. * * @since 3.5.0 * @access public * * @param string $frontend_file_name * @param boolean $custom_file * * @return string frontend file path */ public function get_frontend_file_path( $frontend_file_name, $custom_file ) { if ( $custom_file ) { $frontend_file = $this->get_frontend_file( $frontend_file_name ); $frontend_file_path = $frontend_file->get_path(); } else { $frontend_file_path = ELEMENTOR_ASSETS_PATH . 'css/' . $frontend_file_name; } return $frontend_file_path; } /** * Get Frontend File * * Returns a frontend file instance. * * @since 3.5.0 * @access public * * @param string $frontend_file_name * @param string $file_prefix * @param string $template_file_path * * @return FrontendFile */ public function get_frontend_file( $frontend_file_name, $file_prefix = 'custom-', $template_file_path = '' ) { static $cached_frontend_files = []; $file_name = $file_prefix . $frontend_file_name; if ( isset( $cached_frontend_files[ $file_name ] ) ) { return $cached_frontend_files[ $file_name ]; } if ( ! $template_file_path ) { $template_file_path = Breakpoints_Manager::get_stylesheet_templates_path() . $frontend_file_name; } $frontend_file = new FrontendFile( $file_name, $template_file_path ); $time = $frontend_file->get_meta( 'time' ); if ( ! $time ) { $frontend_file->update(); } $cached_frontend_files[ $file_name ] = $frontend_file; return $frontend_file; } /** * Enqueue assets conditionally. * * Enqueue all assets that were pre-enabled. * * @since 3.3.0 * @access private */ private function enqueue_conditional_assets() { Plugin::$instance->assets_loader->enqueue_assets(); } /** * Elementor footer scripts and styles. * * Handle styles and scripts that are not printed in the header. * * Fired by `wp_footer` action. * * @since 1.0.11 * @access public */ public function wp_footer() { if ( ! $this->_has_elementor_in_page ) { return; } $this->enqueue_styles(); $this->enqueue_scripts(); $this->print_fonts_links(); } /** * Print fonts links. * * Enqueue all the frontend fonts by url. * * Fired by `wp_head` action. * * @since 1.9.4 * @access public */ public function print_fonts_links() { $google_fonts = [ 'google' => [], 'early' => [], ]; foreach ( $this->fonts_to_enqueue as $key => $font ) { $font_type = Fonts::get_font_type( $font ); switch ( $font_type ) { case Fonts::GOOGLE: $google_fonts['google'][] = $font; break; case Fonts::EARLYACCESS: $google_fonts['early'][] = $font; break; case false: $this->maybe_enqueue_icon_font( $font ); break; default: /** * Print font links. * * Fires when Elementor frontend fonts are printed on the HEAD tag. * * The dynamic portion of the hook name, `$font_type`, refers to the font type. * * @since 2.0.0 * * @param string $font Font name. */ do_action( "elementor/fonts/print_font_links/{$font_type}", $font ); } } $this->fonts_to_enqueue = []; $this->enqueue_google_fonts( $google_fonts ); $this->enqueue_icon_fonts(); } private function maybe_enqueue_icon_font( $icon_font_type ) { if ( ! Icons_Manager::is_migration_allowed() ) { return; } $icons_types = Icons_Manager::get_icon_manager_tabs(); if ( ! isset( $icons_types[ $icon_font_type ] ) ) { return; } $icon_type = $icons_types[ $icon_font_type ]; if ( isset( $icon_type['url'] ) ) { $this->icon_fonts_to_enqueue[ $icon_font_type ] = [ $icon_type['url'] ]; } } private function enqueue_icon_fonts() { if ( empty( $this->icon_fonts_to_enqueue ) || ! Icons_Manager::is_migration_allowed() ) { return; } foreach ( $this->icon_fonts_to_enqueue as $icon_type => $css_url ) { wp_enqueue_style( 'elementor-icons-' . $icon_type ); $this->enqueued_icon_fonts[] = $css_url; } //clear enqueued icons $this->icon_fonts_to_enqueue = []; } /** * Print Google fonts. * * Enqueue all the frontend Google fonts. * * Fired by `wp_head` action. * * @since 1.0.0 * @access private * * @param array $google_fonts Optional. Google fonts to print in the frontend. * Default is an empty array. */ private function enqueue_google_fonts( $google_fonts = [] ) { static $google_fonts_index = 0; $print_google_fonts = true; /** * Print frontend google fonts. * * Filters whether to enqueue Google fonts in the frontend. * * @since 1.0.0 * * @param bool $print_google_fonts Whether to enqueue Google fonts. Default is true. */ $print_google_fonts = apply_filters( 'elementor/frontend/print_google_fonts', $print_google_fonts ); if ( ! $print_google_fonts ) { return; } // Print used fonts if ( ! empty( $google_fonts['google'] ) ) { $google_fonts_index++; foreach ( $google_fonts['google'] as &$font ) { $font = str_replace( ' ', '+', $font ) . ':100,100italic,200,200italic,300,300italic,400,400italic,500,500italic,600,600italic,700,700italic,800,800italic,900,900italic'; } // Defining a font-display type to google fonts. $font_display_url_str = '&display=' . Fonts::get_font_display_setting(); $fonts_url = sprintf( 'https://fonts.googleapis.com/css?family=%1$s%2$s', implode( rawurlencode( '|' ), $google_fonts['google'] ), $font_display_url_str ); $subsets = [ 'ru_RU' => 'cyrillic', 'bg_BG' => 'cyrillic', 'he_IL' => 'hebrew', 'el' => 'greek', 'vi' => 'vietnamese', 'uk' => 'cyrillic', 'cs_CZ' => 'latin-ext', 'ro_RO' => 'latin-ext', 'pl_PL' => 'latin-ext', 'hr_HR' => 'latin-ext', 'hu_HU' => 'latin-ext', 'sk_SK' => 'latin-ext', 'tr_TR' => 'latin-ext', 'lt_LT' => 'latin-ext', ]; /** * Google font subsets. * * Filters the list of Google font subsets from which locale will be enqueued in frontend. * * @since 1.0.0 * * @param array $subsets A list of font subsets. */ $subsets = apply_filters( 'elementor/frontend/google_font_subsets', $subsets ); $locale = get_locale(); if ( isset( $subsets[ $locale ] ) ) { $fonts_url .= '&subset=' . $subsets[ $locale ]; } wp_enqueue_style( 'google-fonts-' . $google_fonts_index, $fonts_url ); // phpcs:ignore WordPress.WP.EnqueuedResourceParameters.MissingVersion } if ( ! empty( $google_fonts['early'] ) ) { foreach ( $google_fonts['early'] as $current_font ) { $google_fonts_index++; //printf( '', strtolower( str_replace( ' ', '', $current_font ) ) ); $font_url = sprintf( 'https://fonts.googleapis.com/earlyaccess/%s.css', strtolower( str_replace( ' ', '', $current_font ) ) ); wp_enqueue_style( 'google-earlyaccess-' . $google_fonts_index, $font_url ); // phpcs:ignore WordPress.WP.EnqueuedResourceParameters.MissingVersion } } } /** * Enqueue fonts. * * Enqueue all the frontend fonts. * * @since 1.2.0 * @access public * * @param array $font Fonts to enqueue in the frontend. */ public function enqueue_font( $font ) { if ( in_array( $font, $this->registered_fonts ) ) { return; } $this->fonts_to_enqueue[] = $font; $this->registered_fonts[] = $font; } /** * Parse global CSS. * * Enqueue the global CSS file. * * @since 1.2.0 * @access protected */ protected function parse_global_css_code() { $scheme_css_file = Global_CSS::create( 'global.css' ); $scheme_css_file->enqueue(); } /** * Apply builder in content. * * Used to apply the Elementor page editor on the post content. * * @since 1.0.0 * @access public * * @param string $content The post content. * * @return string The post content. */ public function apply_builder_in_content( $content ) { $this->restore_content_filters(); if ( Plugin::$instance->preview->is_preview_mode() || $this->_is_excerpt ) { return $content; } // Remove the filter itself in order to allow other `the_content` in the elements $this->remove_content_filter(); $post_id = get_the_ID(); $builder_content = $this->get_builder_content( $post_id ); if ( ! empty( $builder_content ) ) { $content = $builder_content; $this->remove_content_filters(); } // Add the filter again for other `the_content` calls $this->add_content_filter(); return $content; } /** * Retrieve builder content. * * Used to render and return the post content with all the Elementor elements. * * Note that this method is an internal method, please use `get_builder_content_for_display()`. * * @since 1.0.0 * @access public * * @param int $post_id The post ID. * @param bool $with_css Optional. Whether to retrieve the content with CSS * or not. Default is false. * * @return string The post content. */ public function get_builder_content( $post_id, $with_css = false ) { if ( post_password_required( $post_id ) ) { return ''; } $document = Plugin::$instance->documents->get_doc_for_frontend( $post_id ); if ( ! $document || ! $document->is_built_with_elementor() ) { return ''; } // Change the current post, so widgets can use `documents->get_current`. Plugin::$instance->documents->switch_to_document( $document ); $data = $document->get_elements_data(); /** * Frontend builder content data. * * Filters the builder content in the frontend. * * @since 1.0.0 * * @param array $data The builder content. * @param int $post_id The post ID. */ $data = apply_filters( 'elementor/frontend/builder_content_data', $data, $post_id ); do_action( 'elementor/frontend/before_get_builder_content', $document, $this->_is_excerpt ); if ( empty( $data ) ) { Plugin::$instance->documents->restore_document(); return ''; } if ( ! $this->_is_excerpt ) { if ( $document->is_autosave() ) { $css_file = Post_Preview::create( $document->get_post()->ID ); } else { $css_file = Post_CSS::create( $post_id ); } $css_file->enqueue(); } ob_start(); // Handle JS and Customizer requests, with CSS inline. if ( is_customize_preview() || wp_doing_ajax() ) { $with_css = true; } if ( ! empty( $css_file ) && $with_css ) { $css_file->print_css(); } $document->print_elements_with_wrapper( $data ); $content = ob_get_clean(); $content = $this->process_more_tag( $content ); /** * Frontend content. * * Filters the content in the frontend. * * @since 1.0.0 * * @param string $content The content. */ $content = apply_filters( 'elementor/frontend/the_content', $content ); if ( ! empty( $content ) ) { $this->_has_elementor_in_page = true; } Plugin::$instance->documents->restore_document(); // BC // TODO: use Deprecation::do_deprecated_action() in 3.1.0 do_action( 'elementor/frontend/get_builder_content', $document, $this->_is_excerpt, $with_css ); return $content; } /** * Retrieve builder content for display. * * Used to render and return the post content with all the Elementor elements. * * @since 1.0.0 * @access public * * @param int $post_id The post ID. * * @param bool $with_css Optional. Whether to retrieve the content with CSS * or not. Default is false. * * @return string The post content. */ public function get_builder_content_for_display( $post_id, $with_css = false ) { if ( ! get_post( $post_id ) ) { return ''; } $editor = Plugin::$instance->editor; // Avoid recursion if ( get_the_ID() === (int) $post_id ) { $content = ''; if ( $editor->is_edit_mode() ) { $content = '
' . esc_html__( 'Invalid Data: The Template ID cannot be the same as the currently edited template. Please choose a different one.', 'elementor' ) . '
'; } return $content; } // Set edit mode as false, so don't render settings and etc. use the $is_edit_mode to indicate if we need the CSS inline $is_edit_mode = $editor->is_edit_mode(); $editor->set_edit_mode( false ); $with_css = $with_css ? true : $is_edit_mode; $content = $this->get_builder_content( $post_id, $with_css ); // Restore edit mode state Plugin::$instance->editor->set_edit_mode( $is_edit_mode ); return $content; } /** * Start excerpt flag. * * Flags when `the_excerpt` is called. Used to avoid enqueueing CSS in the excerpt. * * @since 1.4.3 * @access public * * @param string $excerpt The post excerpt. * * @return string The post excerpt. */ public function start_excerpt_flag( $excerpt ) { $this->_is_excerpt = true; return $excerpt; } /** * End excerpt flag. * * Flags when `the_excerpt` call ended. * * @since 1.4.3 * @access public * * @param string $excerpt The post excerpt. * * @return string The post excerpt. */ public function end_excerpt_flag( $excerpt ) { $this->_is_excerpt = false; return $excerpt; } /** * Remove content filters. * * Remove WordPress default filters that conflicted with Elementor. * * @since 1.5.0 * @access public */ public function remove_content_filters() { $filters = [ 'wpautop', 'shortcode_unautop', 'wptexturize', ]; foreach ( $filters as $filter ) { // Check if another plugin/theme do not already removed the filter. if ( has_filter( 'the_content', $filter ) ) { remove_filter( 'the_content', $filter ); $this->content_removed_filters[] = $filter; } } } /** * Has Elementor In Page * * Determine whether the current page is using Elementor. * * @since 2.0.9 * * @access public * @return bool */ public function has_elementor_in_page() { return $this->_has_elementor_in_page; } public function create_action_hash( $action, array $settings = [] ) { return '#' . rawurlencode( sprintf( 'elementor-action:action=%1$s&settings=%2$s', $action, base64_encode( wp_json_encode( $settings ) ) ) ); } /** * Is the current render mode is static. * * @return bool */ public function is_static_render_mode() { // The render mode manager is exists only in frontend, // so by default if it is not exist the method will return false. if ( ! $this->render_mode_manager ) { return false; } return $this->render_mode_manager->get_current()->is_static(); } /** * Get Init Settings * * Used to define the default/initial settings of the object. Inheriting classes may implement this method to define * their own default/initial settings. * * @since 2.3.0 * * @access protected * @return array */ protected function get_init_settings() { $is_preview_mode = Plugin::$instance->preview->is_preview_mode( Plugin::$instance->preview->get_post_id() ); $active_experimental_features = Plugin::$instance->experiments->get_active_features(); $active_experimental_features = array_fill_keys( array_keys( $active_experimental_features ), true ); $assets_url = ELEMENTOR_ASSETS_URL; /** * Frontend assets URL * * Filters Elementor frontend assets URL. * * @since 2.3.0 * * @param string $assets_url The frontend assets URL. Default is ELEMENTOR_ASSETS_URL. */ $assets_url = apply_filters( 'elementor/frontend/assets_url', $assets_url ); $settings = [ 'environmentMode' => [ 'edit' => $is_preview_mode, 'wpPreview' => is_preview(), 'isScriptDebug' => Utils::is_script_debug(), ], 'i18n' => [ 'shareOnFacebook' => esc_html__( 'Share on Facebook', 'elementor' ), 'shareOnTwitter' => esc_html__( 'Share on Twitter', 'elementor' ), 'pinIt' => esc_html__( 'Pin it', 'elementor' ), 'download' => esc_html__( 'Download', 'elementor' ), 'downloadImage' => esc_html__( 'Download image', 'elementor' ), 'fullscreen' => esc_html__( 'Fullscreen', 'elementor' ), 'zoom' => esc_html__( 'Zoom', 'elementor' ), 'share' => esc_html__( 'Share', 'elementor' ), 'playVideo' => esc_html__( 'Play Video', 'elementor' ), 'previous' => esc_html__( 'Previous', 'elementor' ), 'next' => esc_html__( 'Next', 'elementor' ), 'close' => esc_html__( 'Close', 'elementor' ), ], 'is_rtl' => is_rtl(), // 'breakpoints' object is kept for BC. 'breakpoints' => Responsive::get_breakpoints(), // 'responsive' contains the custom breakpoints config introduced in Elementor v3.2.0 'responsive' => [ 'breakpoints' => Plugin::$instance->breakpoints->get_breakpoints_config(), ], 'version' => ELEMENTOR_VERSION, 'is_static' => $this->is_static_render_mode(), 'experimentalFeatures' => $active_experimental_features, 'urls' => [ 'assets' => $assets_url, ], ]; $settings['settings'] = SettingsManager::get_settings_frontend_config(); $kit = Plugin::$instance->kits_manager->get_active_kit_for_frontend(); $settings['kit'] = $kit->get_frontend_settings(); if ( is_singular() ) { $post = get_post(); $title = Utils::urlencode_html_entities( wp_get_document_title() ); // Try to use the 'large' WP image size because the Pinterest share API // has problems accepting shares with large images sometimes, and the WP 'large' thumbnail is // the largest default WP image size that will probably not be changed in most sites $featured_image_url = get_the_post_thumbnail_url( null, 'large' ); // If the large size was nullified, use the full size which cannot be nullified/deleted if ( ! $featured_image_url ) { $featured_image_url = get_the_post_thumbnail_url( null, 'full' ); } $settings['post'] = [ 'id' => $post->ID, 'title' => $title, 'excerpt' => $post->post_excerpt, 'featuredImage' => $featured_image_url, ]; } else { $settings['post'] = [ 'id' => 0, 'title' => wp_get_document_title(), 'excerpt' => get_the_archive_description(), ]; } $empty_object = (object) []; if ( $is_preview_mode ) { $settings['elements'] = [ 'data' => $empty_object, 'editSettings' => $empty_object, 'keys' => $empty_object, ]; } if ( is_user_logged_in() ) { $user = wp_get_current_user(); if ( ! empty( $user->roles ) ) { $settings['user'] = [ 'roles' => $user->roles, ]; } } return $settings; } /** * Restore content filters. * * Restore removed WordPress filters that conflicted with Elementor. * * @since 1.5.0 * @access public */ public function restore_content_filters() { foreach ( $this->content_removed_filters as $filter ) { add_filter( 'the_content', $filter ); } $this->content_removed_filters = []; } /** * Process More Tag * * Respect the native WP () tag * * @access private * @since 2.0.4 * * @param $content * * @return string */ private function process_more_tag( $content ) { $post = get_post(); $content = str_replace( '<!--more-->', '', $content ); $parts = get_extended( $content ); if ( empty( $parts['extended'] ) ) { return $content; } if ( is_singular() ) { return $parts['main'] . '
' . $parts['extended']; } if ( empty( $parts['more_text'] ) ) { $parts['more_text'] = esc_html__( '(more…)', 'elementor' ); } $more_link_text = sprintf( '%2$s', sprintf( /* translators: %s: Current post name. */ __( 'Continue reading %s', 'elementor' ), the_title_attribute( [ 'echo' => false, ] ) ), $parts['more_text'] ); $more_link = sprintf( ' %s', get_permalink(), $post->ID, $more_link_text ); /** * The content "more" link. * * Filters the "more" link displayed after the content. * * This hook can be used either to change the link syntax or to change the * text inside the link. * * @since 2.0.4 * * @param string $more_link The more link. * @param string $more_link_text The text inside the more link. */ $more_link = apply_filters( 'the_content_more_link', $more_link, $more_link_text ); return force_balance_tags( $parts['main'] ) . $more_link; } private function is_improved_assets_loading() { return Plugin::$instance->experiments->is_feature_active( 'e_optimized_assets_loading' ); } private function get_elementor_frontend_dependencies() { $dependencies = [ 'elementor-frontend-modules', 'elementor-waypoints', 'jquery-ui-position', ]; if ( ! $this->is_improved_assets_loading() ) { wp_register_script( 'swiper', $this->get_js_assets_url( 'swiper', 'assets/lib/swiper/' ), [], '5.3.6', true ); $dependencies[] = 'swiper'; $dependencies[] = 'share-link'; $dependencies[] = 'elementor-dialog'; } return $dependencies; } private function is_optimized_css_mode() { $is_optimized_css_loading = Plugin::$instance->experiments->is_feature_active( 'e_optimized_css_loading' ); return ! Utils::is_script_debug() && $is_optimized_css_loading && ! Plugin::$instance->preview->is_preview_mode(); } } includes/base/widget-base.php000064400000076315152377341010012207 0ustar00is_type_instance(); if ( ! $is_type_instance && null === $args ) { throw new \Exception( '`$args` argument is required when initializing a full widget instance.' ); } if ( $is_type_instance ) { if ( $this->has_own_method( '_register_skins', self::class ) ) { Plugin::$instance->modules_manager->get_modules( 'dev-tools' )->deprecation->deprecated_function( '_register_skins', '3.1.0', __CLASS__ . '::register_skins()' ); $this->_register_skins(); } else { $this->register_skins(); } $widget_name = $this->get_name(); /** * Widget skin init. * * Fires when Elementor widget is being initialized. * * The dynamic portion of the hook name, `$widget_name`, refers to the widget name. * * @since 1.0.0 * * @param Widget_Base $this The current widget. */ do_action( "elementor/widget/{$widget_name}/skins_init", $this ); } } /** * Get stack. * * Retrieve the widget stack of controls. * * @since 1.9.2 * @access public * * @param bool $with_common_controls Optional. Whether to include the common controls. Default is true. * * @return array Widget stack of controls. */ public function get_stack( $with_common_controls = true ) { $stack = parent::get_stack(); if ( $with_common_controls && 'common' !== $this->get_unique_name() ) { /** @var Widget_Common $common_widget */ $common_widget = Plugin::$instance->widgets_manager->get_widget_types( 'common' ); $stack['controls'] = array_merge( $stack['controls'], $common_widget->get_controls() ); $stack['tabs'] = array_merge( $stack['tabs'], $common_widget->get_tabs_controls() ); } return $stack; } /** * Get widget controls pointer index. * * Retrieve widget pointer index where the next control should be added. * * While using injection point, it will return the injection point index. Otherwise index of the last control of the * current widget itself without the common controls, plus one. * * @since 1.9.2 * @access public * * @return int Widget controls pointer index. */ public function get_pointer_index() { $injection_point = $this->get_injection_point(); if ( null !== $injection_point ) { return $injection_point['index']; } return count( $this->get_stack( false )['controls'] ); } /** * Show in panel. * * Whether to show the widget in the panel or not. By default returns true. * * @since 1.0.0 * @access public * * @return bool Whether to show the widget in the panel or not. */ public function show_in_panel() { return true; } /** * Hide on search. * * Whether to hide the widget on search in the panel or not. By default returns false. * * @access public * * @return bool Whether to hide the widget when searching for widget or not. */ public function hide_on_search() { return false; } /** * Start widget controls section. * * Used to add a new section of controls to the widget. Regular controls and * skin controls. * * Note that when you add new controls to widgets they must be wrapped by * `start_controls_section()` and `end_controls_section()`. * * @since 1.0.0 * @access public * * @param string $section_id Section ID. * @param array $args Section arguments Optional. */ public function start_controls_section( $section_id, array $args = [] ) { parent::start_controls_section( $section_id, $args ); if ( $this->is_first_section ) { $this->register_skin_control(); $this->is_first_section = false; } } /** * Register the Skin Control if the widget has skins. * * An internal method that is used to add a skin control to the widget. * Added at the top of the controls section. * * @since 2.0.0 * @access private */ private function register_skin_control() { $skins = $this->get_skins(); if ( ! empty( $skins ) ) { $skin_options = []; if ( $this->_has_template_content ) { $skin_options[''] = esc_html__( 'Default', 'elementor' ); } foreach ( $skins as $skin_id => $skin ) { $skin_options[ $skin_id ] = $skin->get_title(); } // Get the first item for default value $default_value = array_keys( $skin_options ); $default_value = array_shift( $default_value ); if ( 1 >= count( $skin_options ) ) { $this->add_control( '_skin', [ 'label' => esc_html__( 'Skin', 'elementor' ), 'type' => Controls_Manager::HIDDEN, 'default' => $default_value, ] ); } else { $this->add_control( '_skin', [ 'label' => esc_html__( 'Skin', 'elementor' ), 'type' => Controls_Manager::SELECT, 'default' => $default_value, 'options' => $skin_options, ] ); } } } /** * Register widget skins - deprecated prefixed method * * @since 1.7.12 * @access protected * @deprecated 3.1.0 */ protected function _register_skins() { Plugin::$instance->modules_manager->get_modules( 'dev-tools' )->deprecation->deprecated_function( __METHOD__, '3.1.0', __CLASS__ . '::register_skins()' ); $this->register_skins(); } /** * Register widget skins. * * This method is activated while initializing the widget base class. It is * used to assign skins to widgets with `add_skin()` method. * * Usage: * * protected function register_skins() { * $this->add_skin( new Skin_Classic( $this ) ); * } * * @since 3.1.0 * @access protected */ protected function register_skins() {} /** * Get initial config. * * Retrieve the current widget initial configuration. * * Adds more configuration on top of the controls list, the tabs assigned to * the control, element name, type, icon and more. This method also adds * widget type, keywords and categories. * * @since 2.9.0 * @access protected * * @return array The initial widget config. */ protected function get_initial_config() { $config = [ 'widget_type' => $this->get_name(), 'keywords' => $this->get_keywords(), 'categories' => $this->get_categories(), 'html_wrapper_class' => $this->get_html_wrapper_class(), 'show_in_panel' => $this->show_in_panel(), 'hide_on_search' => $this->hide_on_search(), ]; $stack = Plugin::$instance->controls_manager->get_element_stack( $this ); if ( $stack ) { $config['controls'] = $this->get_stack( false )['controls']; $config['tabs_controls'] = $this->get_tabs_controls(); } return array_replace_recursive( parent::get_initial_config(), $config ); } /** * @since 2.3.1 * @access protected */ protected function should_print_empty() { return false; } /** * Print widget content template. * * Used to generate the widget content template on the editor, using a * Backbone JavaScript template. * * @since 2.0.0 * @access protected * * @param string $template_content Template content. */ protected function print_template_content( $template_content ) { ?>
get_settings() ); $content = shortcode_unautop( $content ); $content = do_shortcode( $content ); $content = wptexturize( $content ); if ( $GLOBALS['wp_embed'] instanceof \WP_Embed ) { $content = $GLOBALS['wp_embed']->autoembed( $content ); } return $content; } /** * Safe print parsed text editor. * * @uses static::parse_text_editor. * * @access protected * * @param string $content Text editor content. */ final protected function print_text_editor( $content ) { // PHPCS - the method `parse_text_editor` is safe. echo static::parse_text_editor( $content ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } /** * Get HTML wrapper class. * * Retrieve the widget container class. Can be used to override the * container class for specific widgets. * * @since 2.0.9 * @access protected */ protected function get_html_wrapper_class() { return 'elementor-widget-' . $this->get_name(); } /** * Add widget render attributes. * * Used to add attributes to the current widget wrapper HTML tag. * * @since 1.0.0 * @access protected */ protected function add_render_attributes() { parent::add_render_attributes(); $this->add_render_attribute( '_wrapper', 'class', [ 'elementor-widget', $this->get_html_wrapper_class(), ] ); $settings = $this->get_settings(); $this->add_render_attribute( '_wrapper', 'data-widget_type', $this->get_name() . '.' . ( ! empty( $settings['_skin'] ) ? $settings['_skin'] : 'default' ) ); } /** * Add lightbox data to image link. * * Used to add lightbox data attributes to image link HTML. * * @since 2.9.1 * @access public * * @param string $link_html Image link HTML. * @param string $id Attachment id. * * @return string Image link HTML with lightbox data attributes. */ public function add_lightbox_data_to_image_link( $link_html, $id ) { $settings = $this->get_settings_for_display(); $open_lightbox = isset( $settings['open_lightbox'] ) ? $settings['open_lightbox'] : null; if ( Plugin::$instance->editor->is_edit_mode() ) { $this->add_render_attribute( 'link', 'class', 'elementor-clickable', true ); } $this->add_lightbox_data_attributes( 'link', $id, $open_lightbox, $this->get_id(), true ); return preg_replace( '/^get_render_attribute_string( 'link' ), $link_html ); } /** * Add Light-Box attributes. * * Used to add Light-Box-related data attributes to links that open media files. * * @param array|string $element The link HTML element. * @param int $id The ID of the image * @param string $lightbox_setting_key The setting key that dictates weather to open the image in a lightbox * @param string $group_id Unique ID for a group of lightbox images * @param bool $overwrite Optional. Whether to overwrite existing * attribute. Default is false, not to overwrite. * * @return Widget_Base Current instance of the widget. * @since 2.9.0 * @access public * */ public function add_lightbox_data_attributes( $element, $id = null, $lightbox_setting_key = null, $group_id = null, $overwrite = false ) { $kit = Plugin::$instance->kits_manager->get_active_kit(); $is_global_image_lightbox_enabled = 'yes' === $kit->get_settings( 'global_image_lightbox' ); if ( 'no' === $lightbox_setting_key ) { if ( $is_global_image_lightbox_enabled ) { $this->add_render_attribute( $element, 'data-elementor-open-lightbox', 'no', $overwrite ); } return $this; } if ( 'yes' !== $lightbox_setting_key && ! $is_global_image_lightbox_enabled ) { return $this; } $attributes['data-elementor-open-lightbox'] = 'yes'; $action_hash_params = []; if ( $id ) { $action_hash_params['id'] = $id; $action_hash_params['url'] = wp_get_attachment_url( $id ); } if ( $group_id ) { $attributes['data-elementor-lightbox-slideshow'] = $group_id; $action_hash_params['slideshow'] = $group_id; } if ( $id ) { $lightbox_image_attributes = Plugin::$instance->images_manager->get_lightbox_image_attributes( $id ); if ( isset( $lightbox_image_attributes['title'] ) ) { $attributes['data-elementor-lightbox-title'] = $lightbox_image_attributes['title']; } if ( isset( $lightbox_image_attributes['description'] ) ) { $attributes['data-elementor-lightbox-description'] = $lightbox_image_attributes['description']; } } $attributes['e-action-hash'] = Plugin::instance()->frontend->create_action_hash( 'lightbox', $action_hash_params ); $this->add_render_attribute( $element, $attributes, null, $overwrite ); return $this; } /** * Render widget output on the frontend. * * Used to generate the final HTML displayed on the frontend. * * Note that if skin is selected, it will be rendered by the skin itself, * not the widget. * * @since 1.0.0 * @access public */ public function render_content() { /** * Before widget render content. * * Fires before Elementor widget is being rendered. * * @since 1.0.0 * * @param Widget_Base $this The current widget. */ do_action( 'elementor/widget/before_render_content', $this ); ob_start(); $skin = $this->get_current_skin(); if ( $skin ) { $skin->set_parent( $this ); $skin->render_by_mode(); } else { $this->render_by_mode(); } $widget_content = ob_get_clean(); if ( empty( $widget_content ) ) { return; } ?>
is_widget_first_render( $this->get_group_name() ) ) { $this->register_runtime_widget( $this->get_group_name() ); } $this->print_widget_css(); // get_name /** * Render widget content. * * Filters the widget content before it's rendered. * * @since 1.0.0 * * @param string $widget_content The content of the widget. * @param Widget_Base $this The widget. */ $widget_content = apply_filters( 'elementor/widget/render_content', $widget_content, $this ); echo $widget_content; // XSS ok. ?>
render_content(); } /** * Before widget rendering. * * Used to add stuff before the widget `_wrapper` element. * * @since 1.0.0 * @access public */ public function before_render() { ?>
print_render_attribute_string( '_wrapper' ); ?>>
get_data( 'widgetType' ); if ( $with_html_content ) { ob_start(); $this->render_content(); $data['htmlCache'] = ob_get_clean(); } return $data; } /** * Print widget content. * * Output the widget final HTML on the frontend. * * @since 1.0.0 * @access protected */ protected function print_content() { $this->render_content(); } /** * Print a setting content without escaping. * * Script tags are allowed on frontend according to the WP theme securing policy. * * @param string $setting * @param null $repeater_name * @param null $index */ final public function print_unescaped_setting( $setting, $repeater_name = null, $index = null ) { if ( $repeater_name ) { $repeater = $this->get_settings_for_display( $repeater_name ); $output = $repeater[ $index ][ $setting ]; } else { $output = $this->get_settings_for_display( $setting ); } echo $output; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } /** * Get default data. * * Retrieve the default widget data. Used to reset the data on initialization. * * @since 1.0.0 * @access protected * * @return array Default data. */ protected function get_default_data() { $data = parent::get_default_data(); $data['widgetType'] = ''; return $data; } /** * Get default child type. * * Retrieve the widget child type based on element data. * * @since 1.0.0 * @access protected * * @param array $element_data Widget ID. * * @return array|false Child type or false if it's not a valid widget. */ protected function _get_default_child_type( array $element_data ) { return Plugin::$instance->elements_manager->get_element_types( 'section' ); } /** * Get repeater setting key. * * Retrieve the unique setting key for the current repeater item. Used to connect the current element in the * repeater to it's settings model and it's control in the panel. * * PHP usage (inside `Widget_Base::render()` method): * * $tabs = $this->get_settings( 'tabs' ); * foreach ( $tabs as $index => $item ) { * $tab_title_setting_key = $this->get_repeater_setting_key( 'tab_title', 'tabs', $index ); * $this->add_inline_editing_attributes( $tab_title_setting_key, 'none' ); * echo '
get_render_attribute_string( $tab_title_setting_key ) . '>' . $item['tab_title'] . '
'; * } * * @since 1.8.0 * @access protected * * @param string $setting_key The current setting key inside the repeater item (e.g. `tab_title`). * @param string $repeater_key The repeater key containing the array of all the items in the repeater (e.g. `tabs`). * @param int $repeater_item_index The current item index in the repeater array (e.g. `3`). * * @return string The repeater setting key (e.g. `tabs.3.tab_title`). */ protected function get_repeater_setting_key( $setting_key, $repeater_key, $repeater_item_index ) { return implode( '.', [ $repeater_key, $repeater_item_index, $setting_key ] ); } /** * Add inline editing attributes. * * Define specific area in the element to be editable inline. The element can have several areas, with this method * you can set the area inside the element that can be edited inline. You can also define the type of toolbar the * user will see, whether it will be a basic toolbar or an advanced one. * * Note: When you use wysiwyg control use the advanced toolbar, with textarea control use the basic toolbar. Text * control should not have toolbar. * * PHP usage (inside `Widget_Base::render()` method): * * $this->add_inline_editing_attributes( 'text', 'advanced' ); * echo '
get_render_attribute_string( 'text' ) . '>' . $this->get_settings( 'text' ) . '
'; * * @since 1.8.0 * @access protected * * @param string $key Element key. * @param string $toolbar Optional. Toolbar type. Accepted values are `advanced`, `basic` or `none`. Default is * `basic`. */ protected function add_inline_editing_attributes( $key, $toolbar = 'basic' ) { if ( ! Plugin::$instance->editor->is_edit_mode() ) { return; } $this->add_render_attribute( $key, [ 'class' => 'elementor-inline-editing', 'data-elementor-setting-key' => $key, ] ); if ( 'basic' !== $toolbar ) { $this->add_render_attribute( $key, [ 'data-elementor-inline-editing-toolbar' => $toolbar, ] ); } } /** * Add new skin. * * Register new widget skin to allow the user to set custom designs. Must be * called inside the `register_skins()` method. * * @since 1.0.0 * @access public * * @param Skin_Base $skin Skin instance. */ public function add_skin( Skin_Base $skin ) { Plugin::$instance->skins_manager->add_skin( $this, $skin ); } /** * Get single skin. * * Retrieve a single skin based on skin ID, from all the skin assigned to * the widget. If the skin does not exist or not assigned to the widget, * return false. * * @since 1.0.0 * @access public * * @param string $skin_id Skin ID. * * @return string|false Single skin, or false. */ public function get_skin( $skin_id ) { $skins = $this->get_skins(); if ( isset( $skins[ $skin_id ] ) ) { return $skins[ $skin_id ]; } return false; } /** * Get current skin ID. * * Retrieve the ID of the current skin. * * @since 1.0.0 * @access public * * @return string Current skin. */ public function get_current_skin_id() { return $this->get_settings( '_skin' ); } /** * Get current skin. * * Retrieve the current skin, or if non exist return false. * * @since 1.0.0 * @access public * * @return Skin_Base|false Current skin or false. */ public function get_current_skin() { return $this->get_skin( $this->get_current_skin_id() ); } /** * Remove widget skin. * * Unregister an existing skin and remove it from the widget. * * @since 1.0.0 * @access public * * @param string $skin_id Skin ID. * * @return \WP_Error|true Whether the skin was removed successfully from the widget. */ public function remove_skin( $skin_id ) { return Plugin::$instance->skins_manager->remove_skin( $this, $skin_id ); } /** * Get widget skins. * * Retrieve all the skin assigned to the widget. * * @since 1.0.0 * @access public * * @return Skin_Base[] */ public function get_skins() { return Plugin::$instance->skins_manager->get_skins( $this ); } /** * Get group name. * * Some widgets need to use group names, this method allows you to create them. * By default it retrieves the regular name. * * @since 3.3.0 * @access public * * @return string Unique name. */ public function get_group_name() { return $this->get_name(); } /** * Get Inline CSS dependencies. * * Retrieve a list of inline CSS dependencies that the element requires. * * @since 3.3.0 * @access public * * @return array. */ public function get_inline_css_depends() { return []; } /** * @param string $plugin_title Plugin's title * @param string $since Plugin version widget was deprecated * @param string $last Plugin version in which the widget will be removed * @param string $replacement Widget replacement */ protected function deprecated_notice( $plugin_title, $since, $last = '', $replacement = '' ) { $this->start_controls_section( 'Deprecated', [ 'label' => esc_html__( 'Deprecated', 'elementor' ), ] ); $this->add_control( 'deprecated_notice', [ 'type' => Controls_Manager::DEPRECATED_NOTICE, 'widget' => $this->get_title(), 'since' => $since, 'last' => $last, 'plugin' => $plugin_title, 'replacement' => $replacement, ] ); $this->end_controls_section(); } public function register_runtime_widget( $widget_name ) { self::$registered_runtime_widgets[] = $widget_name; } public function get_widget_css_config( $widget_name ) { $direction = is_rtl() ? '-rtl' : ''; $has_custom_breakpoints = $this->is_custom_breakpoints_widget(); $file_name = 'widget-' . $widget_name . $direction . '.min.css'; // The URL of the widget's external CSS file that is loaded in case that the CSS content is too large to be printed inline. $file_url = Plugin::$instance->frontend->get_frontend_file_url( $file_name, $has_custom_breakpoints ); // The local path of the widget's CSS file that is being read and saved in the DB when the CSS content should be printed inline. $file_path = Plugin::$instance->frontend->get_frontend_file_path( $file_name, $has_custom_breakpoints ); return [ 'key' => $widget_name, 'version' => ELEMENTOR_VERSION, 'file_path' => $file_path, 'data' => [ 'file_url' => $file_url, ], ]; } public function get_css_config() { return $this->get_widget_css_config( $this->get_group_name() ); } public function get_responsive_widgets_config() { $responsive_widgets_data_manager = $this->get_responsive_widgets_data_manager(); return [ 'key' => $responsive_widgets_data_manager::RESPONSIVE_WIDGETS_DATABASE_KEY, 'version' => ELEMENTOR_VERSION, 'file_path' => ELEMENTOR_ASSETS_PATH . $responsive_widgets_data_manager::RESPONSIVE_WIDGETS_FILE_PATH, ]; } public function get_responsive_widgets() { $responsive_widgets_data_manager = $this->get_responsive_widgets_data_manager(); $config = $this->get_responsive_widgets_config(); return $responsive_widgets_data_manager->get_asset_data_from_config( $config ); } /** * Get Responsive Widgets Data Manager. * * Retrieve the data manager that handles widgets that are using media queries for custom-breakpoints values. * * @since 3.5.0 * @access protected * * @return Responsive_Widgets_Data_Manager */ protected function get_responsive_widgets_data_manager() { if ( ! self::$responsive_widgets_data_manager ) { self::$responsive_widgets_data_manager = new Responsive_Widgets_Data_Manager(); } return self::$responsive_widgets_data_manager; } /** * Is Custom Breakpoints Widget. * * Checking if there are active custom-breakpoints and if the widget use them. * * @since 3.5.0 * @access protected * * @return boolean */ protected function is_custom_breakpoints_widget() { $has_custom_breakpoints = Plugin::$instance->breakpoints->has_custom_breakpoints(); if ( $has_custom_breakpoints ) { $responsive_widgets = $this->get_responsive_widgets(); // The $widget_name can also represents a widgets group name, therefore we need to use the current widget name to check if it's responsive widget. $current_widget_name = $this->get_name(); // If the widget is not implementing custom-breakpoints media queries then it has no custom- css file. if ( ! isset( $responsive_widgets[ $current_widget_name ] ) ) { $has_custom_breakpoints = false; } } return $has_custom_breakpoints; } private function get_widget_css() { $widgets_css_data_manager = $this->get_widgets_css_data_manager(); $widgets_list = $this->get_inline_css_depends(); $widgets_list[] = $this->get_group_name(); $widget_css = ''; foreach ( $widgets_list as $widget_data ) { $widget_name = isset( $widget_data['name'] ) ? $widget_data['name'] : $widget_data; if ( ! in_array( $widget_name, self::$registered_inline_css_widgets, true ) ) { if ( $this->get_group_name() === $widget_name ) { $config = $this->get_css_config(); } else { /** * The core-dependency allowing to create a dependency specifically with the core widgets. * Otherwise, the config will be taken from the class that inherits from Widget_Base. */ $is_core_dependency = isset( $widget_data['is_core_dependency'] ) ? true : false; $config = $is_core_dependency ? self::get_widget_css_config( $widget_name ) : $this->get_widget_css_config( $widget_name ); } $widget_css .= $widgets_css_data_manager->get_asset_data_from_config( $config ); self::$registered_inline_css_widgets[] = $widget_name; } } return $widget_css; } private function is_inline_css_mode() { static $is_active; if ( null === $is_active ) { $is_edit_mode = Plugin::$instance->editor->is_edit_mode(); $is_preview_mode = Plugin::$instance->preview->is_preview_mode(); $is_optimized_mode = Plugin::$instance->experiments->is_feature_active( 'e_optimized_css_loading' ); $is_active = ( Utils::is_script_debug() || $is_edit_mode || $is_preview_mode || ! $is_optimized_mode ) ? false : true; } return $is_active; } private function print_widget_css() { if ( ! $this->is_inline_css_mode() ) { return; } Utils::print_unescaped_internal_string( $this->get_widget_css() ); } private function get_widgets_css_data_manager() { if ( ! self::$widgets_css_data_manager ) { self::$widgets_css_data_manager = new Widgets_Css_Data_Manager(); } return self::$widgets_css_data_manager; } } includes/base/controls-stack.php000064400000202667152377341010012763 0ustar00get_name(); } /** * Get element ID. * * Retrieve the element generic ID. * * @since 1.4.0 * @access public * * @return string The ID. */ public function get_id() { return $this->id; } /** * Get element ID. * * Retrieve the element generic ID as integer. * * @since 1.8.0 * @access public * * @return string The converted ID. */ public function get_id_int() { /** We ignore possible notices, in order to support elements created prior to v1.8.0 and might include * non-base 16 characters as part of their ID. */ return @hexdec( $this->id ); } /** * Get the type. * * Retrieve the type, e.g. 'stack', 'section', 'widget' etc. * * @since 1.4.0 * @access public * @static * * @return string The type. */ public static function get_type() { return 'stack'; } /** * @since 2.9.0 * @access public * * @return bool */ public function is_editable() { return true; } /** * Get current section. * * When inserting new controls, this method will retrieve the current section. * * @since 1.7.1 * @access public * * @return null|array Current section. */ public function get_current_section() { return $this->current_section; } /** * Get current tab. * * When inserting new controls, this method will retrieve the current tab. * * @since 1.7.1 * @access public * * @return null|array Current tab. */ public function get_current_tab() { return $this->current_tab; } /** * Get controls. * * Retrieve all the controls or, when requested, a specific control. * * @since 1.4.0 * @access public * * @param string $control_id The ID of the requested control. Optional field, * when set it will return a specific control. * Default is null. * * @return mixed Controls list. */ public function get_controls( $control_id = null ) { return self::get_items( $this->get_stack()['controls'], $control_id ); } /** * Get active controls. * * Retrieve an array of active controls that meet the condition field. * * If specific controls was given as a parameter, retrieve active controls * from that list, otherwise check for all the controls available. * * @since 1.4.0 * @since 2.0.9 Added the `controls` and the `settings` parameters. * @access public * @deprecated 3.0.0 * * @param array $controls Optional. An array of controls. Default is null. * @param array $settings Optional. Controls settings. Default is null. * * @return array Active controls. */ public function get_active_controls( array $controls = null, array $settings = null ) { Plugin::$instance->modules_manager->get_modules( 'dev-tools' )->deprecation->deprecated_function( __METHOD__, '3.0.0' ); if ( ! $controls ) { $controls = $this->get_controls(); } if ( ! $settings ) { $settings = $this->get_controls_settings(); } $active_controls = array_reduce( array_keys( $controls ), function( $active_controls, $control_key ) use ( $controls, $settings ) { $control = $controls[ $control_key ]; if ( $this->is_control_visible( $control, $settings ) ) { $active_controls[ $control_key ] = $control; } return $active_controls; }, [] ); return $active_controls; } /** * Get controls settings. * * Retrieve the settings for all the controls that represent them. * * @since 1.5.0 * @access public * * @return array Controls settings. */ public function get_controls_settings() { return array_intersect_key( $this->get_settings(), $this->get_controls() ); } /** * Add new control to stack. * * Register a single control to allow the user to set/update data. * * This method should be used inside `register_controls()`. * * @since 1.4.0 * @access public * * @param string $id Control ID. * @param array $args Control arguments. * @param array $options Optional. Control options. Default is an empty array. * * @return bool True if control added, False otherwise. */ public function add_control( $id, array $args, $options = [] ) { $default_options = [ 'overwrite' => false, 'position' => null, ]; if ( isset( $args['scheme'] ) ) { $args['global'] = [ 'default' => Plugin::$instance->kits_manager->convert_scheme_to_global( $args['scheme'] ), ]; unset( $args['scheme'] ); } $options = array_merge( $default_options, $options ); if ( $options['position'] ) { $this->start_injection( $options['position'] ); } if ( $this->injection_point ) { $options['index'] = $this->injection_point['index']++; } if ( empty( $args['type'] ) || ! in_array( $args['type'], [ Controls_Manager::SECTION, Controls_Manager::WP_WIDGET ], true ) ) { $args = $this->handle_control_position( $args, $id, $options['overwrite'] ); } if ( $options['position'] ) { $this->end_injection(); } unset( $options['position'] ); if ( $this->current_popover && ! $this->current_popover['initialized'] ) { $args['popover'] = [ 'start' => true, ]; $this->current_popover['initialized'] = true; } return Plugin::$instance->controls_manager->add_control_to_stack( $this, $id, $args, $options ); } /** * Remove control from stack. * * Unregister an existing control and remove it from the stack. * * @since 1.4.0 * @access public * * @param string $control_id Control ID. * * @return bool|\WP_Error */ public function remove_control( $control_id ) { return Plugin::$instance->controls_manager->remove_control_from_stack( $this->get_unique_name(), $control_id ); } /** * Update control in stack. * * Change the value of an existing control in the stack. When you add new * control you set the `$args` parameter, this method allows you to update * the arguments by passing new data. * * @since 1.4.0 * @since 1.8.1 New `$options` parameter added. * * @access public * * @param string $control_id Control ID. * @param array $args Control arguments. Only the new fields you want * to update. * @param array $options Optional. Some additional options. Default is * an empty array. * * @return bool */ public function update_control( $control_id, array $args, array $options = [] ) { $is_updated = Plugin::$instance->controls_manager->update_control_in_stack( $this, $control_id, $args, $options ); if ( ! $is_updated ) { return false; } $control = $this->get_controls( $control_id ); if ( Controls_Manager::SECTION === $control['type'] ) { $section_args = $this->get_section_args( $control_id ); $section_controls = $this->get_section_controls( $control_id ); foreach ( $section_controls as $section_control_id => $section_control ) { $this->update_control( $section_control_id, $section_args, $options ); } } return true; } /** * Get stack. * * Retrieve the stack of controls. * * @since 1.9.2 * @access public * * @return array Stack of controls. */ public function get_stack() { $stack = Plugin::$instance->controls_manager->get_element_stack( $this ); if ( null === $stack ) { $this->init_controls(); return Plugin::$instance->controls_manager->get_element_stack( $this ); } return $stack; } /** * Get position information. * * Retrieve the position while injecting data, based on the element type. * * @since 1.7.0 * @access public * * @param array $position { * The injection position. * * @type string $type Injection type, either `control` or `section`. * Default is `control`. * @type string $at Where to inject. If `$type` is `control` accepts * `before` and `after`. If `$type` is `section` * accepts `start` and `end`. Default values based on * the `type`. * @type string $of Control/Section ID. * @type array $fallback Fallback injection position. When the position is * not found it will try to fetch the fallback * position. * } * * @return bool|array Position info. */ final public function get_position_info( array $position ) { $default_position = [ 'type' => 'control', 'at' => 'after', ]; if ( ! empty( $position['type'] ) && 'section' === $position['type'] ) { $default_position['at'] = 'end'; } $position = array_merge( $default_position, $position ); if ( 'control' === $position['type'] && in_array( $position['at'], [ 'start', 'end' ], true ) || 'section' === $position['type'] && in_array( $position['at'], [ 'before', 'after' ], true ) ) { _doing_it_wrong( sprintf( '%s::%s', get_called_class(), __FUNCTION__ ), 'Invalid position arguments. Use `before` / `after` for control or `start` / `end` for section.', '1.7.0' ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped return false; } $target_control_index = $this->get_control_index( $position['of'] ); if ( false === $target_control_index ) { if ( ! empty( $position['fallback'] ) ) { return $this->get_position_info( $position['fallback'] ); } return false; } $target_section_index = $target_control_index; $registered_controls = $this->get_controls(); $controls_keys = array_keys( $registered_controls ); while ( Controls_Manager::SECTION !== $registered_controls[ $controls_keys[ $target_section_index ] ]['type'] ) { $target_section_index--; } if ( 'section' === $position['type'] ) { $target_control_index++; if ( 'end' === $position['at'] ) { while ( Controls_Manager::SECTION !== $registered_controls[ $controls_keys[ $target_control_index ] ]['type'] ) { if ( ++$target_control_index >= count( $registered_controls ) ) { break; } } } } $target_control = $registered_controls[ $controls_keys[ $target_control_index ] ]; if ( 'after' === $position['at'] ) { $target_control_index++; } $section_id = $registered_controls[ $controls_keys[ $target_section_index ] ]['name']; $position_info = [ 'index' => $target_control_index, 'section' => $this->get_section_args( $section_id ), ]; if ( ! empty( $target_control['tabs_wrapper'] ) ) { $position_info['tab'] = [ 'tabs_wrapper' => $target_control['tabs_wrapper'], 'inner_tab' => $target_control['inner_tab'], ]; } return $position_info; } /** * Get control key. * * Retrieve the key of the control based on a given index of the control. * * @since 1.9.2 * @access public * * @param string $control_index Control index. * * @return int Control key. */ final public function get_control_key( $control_index ) { $registered_controls = $this->get_controls(); $controls_keys = array_keys( $registered_controls ); return $controls_keys[ $control_index ]; } /** * Get control index. * * Retrieve the index of the control based on a given key of the control. * * @since 1.7.6 * @access public * * @param string $control_key Control key. * * @return false|int Control index. */ final public function get_control_index( $control_key ) { $controls = $this->get_controls(); $controls_keys = array_keys( $controls ); return array_search( $control_key, $controls_keys ); } /** * Get section controls. * * Retrieve all controls under a specific section. * * @since 1.7.6 * @access public * * @param string $section_id Section ID. * * @return array Section controls */ final public function get_section_controls( $section_id ) { $section_index = $this->get_control_index( $section_id ); $section_controls = []; $registered_controls = $this->get_controls(); $controls_keys = array_keys( $registered_controls ); while ( true ) { $section_index++; if ( ! isset( $controls_keys[ $section_index ] ) ) { break; } $control_key = $controls_keys[ $section_index ]; if ( Controls_Manager::SECTION === $registered_controls[ $control_key ]['type'] ) { break; } $section_controls[ $control_key ] = $registered_controls[ $control_key ]; }; return $section_controls; } /** * Add new group control to stack. * * Register a set of related controls grouped together as a single unified * control. For example grouping together like typography controls into a * single, easy-to-use control. * * @since 1.4.0 * @access public * * @param string $group_name Group control name. * @param array $args Group control arguments. Default is an empty array. * @param array $options Optional. Group control options. Default is an * empty array. */ final public function add_group_control( $group_name, array $args = [], array $options = [] ) { $group = Plugin::$instance->controls_manager->get_control_groups( $group_name ); if ( ! $group ) { wp_die( sprintf( '%s::%s: Group "%s" not found.', get_called_class(), __FUNCTION__, $group_name ) ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } $group->add_controls( $this, $args, $options ); } /** * Get scheme controls. * * Retrieve all the controls that use schemes. * * @since 1.4.0 * @access public * @deprecated 3.0.0 * * @return array Scheme controls. */ final public function get_scheme_controls() { Plugin::$instance->modules_manager->get_modules( 'dev-tools' )->deprecation->deprecated_function( __METHOD__, '3.0.0' ); $enabled_schemes = Schemes_Manager::get_enabled_schemes(); return array_filter( $this->get_controls(), function ( $control ) use ( $enabled_schemes ) { return ( ! empty( $control['scheme'] ) && in_array( $control['scheme']['type'], $enabled_schemes ) ); } ); } /** * Get style controls. * * Retrieve style controls for all active controls or, when requested, from * a specific set of controls. * * @since 1.4.0 * @since 2.0.9 Added the `settings` parameter. * @access public * @deprecated 3.0.0 * * @param array $controls Optional. Controls list. Default is null. * @param array $settings Optional. Controls settings. Default is null. * * @return array Style controls. */ final public function get_style_controls( array $controls = null, array $settings = null ) { Plugin::$instance->modules_manager->get_modules( 'dev-tools' )->deprecation->deprecated_function( __METHOD__, '3.0.0' ); $controls = $this->get_active_controls( $controls, $settings ); $style_controls = []; foreach ( $controls as $control_name => $control ) { $control_obj = Plugin::$instance->controls_manager->get_control( $control['type'] ); if ( ! $control_obj instanceof Base_Data_Control ) { continue; } $control = array_merge( $control_obj->get_settings(), $control ); if ( $control_obj instanceof Control_Repeater ) { $style_fields = []; foreach ( $this->get_settings( $control_name ) as $item ) { $style_fields[] = $this->get_style_controls( $control['fields'], $item ); } $control['style_fields'] = $style_fields; } if ( ! empty( $control['selectors'] ) || ! empty( $control['dynamic'] ) || ! empty( $control['style_fields'] ) ) { $style_controls[ $control_name ] = $control; } } return $style_controls; } /** * Get tabs controls. * * Retrieve all the tabs assigned to the control. * * @since 1.4.0 * @access public * * @return array Tabs controls. */ final public function get_tabs_controls() { return $this->get_stack()['tabs']; } /** * Add new responsive control to stack. * * Register a set of controls to allow editing based on user screen size. * This method registers one or more controls per screen size/device, depending on the current Responsive Control * Duplication Mode. There are 3 control duplication modes: * * 'off' - Only a single control is generated. In the Editor, this control is duplicated in JS. * * 'on' - Multiple controls are generated, one control per enabled device/breakpoint + a default/desktop control. * * 'dynamic' - If the control includes the `'dynamic' => 'active' => true` property - the control is duplicated, * once for each device/breakpoint + default/desktop. * If the control doesn't include the `'dynamic' => 'active' => true` property - the control is not duplicated. * * @since 1.4.0 * @access public * * @param string $id Responsive control ID. * @param array $args Responsive control arguments. * @param array $options Optional. Responsive control options. Default is * an empty array. */ final public function add_responsive_control( $id, array $args, $options = [] ) { $args['responsive'] = []; $active_breakpoints = Plugin::$instance->breakpoints->get_active_breakpoints(); $devices = Plugin::$instance->breakpoints->get_active_devices_list( [ 'reverse' => true, 'desktop_first' => true, ] ); if ( isset( $args['devices'] ) ) { $devices = array_intersect( $devices, $args['devices'] ); $args['responsive']['devices'] = $devices; unset( $args['devices'] ); } $control_to_check = $args; if ( ! empty( $options['overwrite'] ) ) { $existing_control = Plugin::$instance->controls_manager->get_control_from_stack( $this->get_unique_name(), $id ); if ( ! is_wp_error( $existing_control ) ) { $control_to_check = $existing_control; } } $responsive_duplication_mode = Plugin::$instance->breakpoints->get_responsive_control_duplication_mode(); $additional_breakpoints_active = Plugin::$instance->experiments->is_feature_active( 'additional_custom_breakpoints' ); $control_is_dynamic = ! empty( $control_to_check['dynamic']['active'] ); $is_frontend_available = ! empty( $control_to_check['frontend_available'] ); $has_prefix_class = ! empty( $control_to_check['prefix_class'] ); // If the new responsive controls experiment is active, create only one control - duplicates per device will // be created in JS in the Editor. if ( $additional_breakpoints_active && ( 'off' === $responsive_duplication_mode || ( 'dynamic' === $responsive_duplication_mode && ! $control_is_dynamic ) ) // Some responsive controls need responsive settings to be available to the widget handler, even when empty. && ! $is_frontend_available && ! $has_prefix_class ) { $args['is_responsive'] = true; if ( ! empty( $options['overwrite'] ) ) { $this->update_control( $id, $args, [ 'recursive' => ! empty( $options['recursive'] ), ] ); } else { $this->add_control( $id, $args, $options ); } return; } if ( isset( $args['default'] ) ) { $args['desktop_default'] = $args['default']; unset( $args['default'] ); } foreach ( $devices as $device_name ) { $control_args = $args; // Set parent using the name from previous iteration. if ( isset( $control_name ) ) { // If $control_name end with _widescreen use desktop name instead $control_args['parent'] = '_widescreen' === substr( $control_name, -strlen( '_widescreen' ) ) ? $id : $control_name; } else { $control_args['parent'] = null; } if ( isset( $control_args['device_args'] ) ) { if ( ! empty( $control_args['device_args'][ $device_name ] ) ) { $control_args = array_merge( $control_args, $control_args['device_args'][ $device_name ] ); } unset( $control_args['device_args'] ); } if ( ! empty( $args['prefix_class'] ) ) { $device_to_replace = Breakpoints_Manager::BREAKPOINT_KEY_DESKTOP === $device_name ? '' : '-' . $device_name; $control_args['prefix_class'] = sprintf( $args['prefix_class'], $device_to_replace ); } $direction = 'max'; if ( Breakpoints_Manager::BREAKPOINT_KEY_DESKTOP !== $device_name ) { $direction = $active_breakpoints[ $device_name ]->get_direction(); } $control_args['responsive'][ $direction ] = $device_name; if ( isset( $control_args['min_affected_device'] ) ) { if ( ! empty( $control_args['min_affected_device'][ $device_name ] ) ) { $control_args['responsive']['min'] = $control_args['min_affected_device'][ $device_name ]; } unset( $control_args['min_affected_device'] ); } if ( isset( $control_args[ $device_name . '_default' ] ) ) { $control_args['default'] = $control_args[ $device_name . '_default' ]; } foreach ( $devices as $device ) { unset( $control_args[ $device . '_default' ] ); } $id_suffix = Breakpoints_Manager::BREAKPOINT_KEY_DESKTOP === $device_name ? '' : '_' . $device_name; $control_name = $id . $id_suffix; // Set this control as child of previous iteration control. $this->update_control( $control_args['parent'], [ 'inheritors' => [ $control_name ] ] ); if ( ! empty( $options['overwrite'] ) ) { $this->update_control( $control_name, $control_args, [ 'recursive' => ! empty( $options['recursive'] ), ] ); } else { $this->add_control( $control_name, $control_args, $options ); } } } /** * Update responsive control in stack. * * Change the value of an existing responsive control in the stack. When you * add new control you set the `$args` parameter, this method allows you to * update the arguments by passing new data. * * @since 1.4.0 * @access public * * @param string $id Responsive control ID. * @param array $args Responsive control arguments. * @param array $options Optional. Additional options. */ final public function update_responsive_control( $id, array $args, array $options = [] ) { $this->add_responsive_control( $id, $args, [ 'overwrite' => true, 'recursive' => ! empty( $options['recursive'] ), ] ); } /** * Remove responsive control from stack. * * Unregister an existing responsive control and remove it from the stack. * * @since 1.4.0 * @access public * * @param string $id Responsive control ID. */ final public function remove_responsive_control( $id ) { $devices = Plugin::$instance->breakpoints->get_active_devices_list( [ 'reverse' => true ] ); foreach ( $devices as $device_name ) { $id_suffix = Breakpoints_Manager::BREAKPOINT_KEY_DESKTOP === $device_name ? '' : '_' . $device_name; $this->remove_control( $id . $id_suffix ); } } /** * Get class name. * * Retrieve the name of the current class. * * @since 1.4.0 * @access public * * @return string Class name. */ final public function get_class_name() { return get_called_class(); } /** * Get the config. * * Retrieve the config or, if non set, use the initial config. * * @since 1.4.0 * @access public * * @return array|null The config. */ final public function get_config() { if ( null === $this->config ) { // TODO: This is for backwards compatibility starting from 2.9.0 // This if statement should be removed when the method is hard-deprecated if ( $this->has_own_method( '_get_initial_config', self::class ) ) { Plugin::$instance->modules_manager->get_modules( 'dev-tools' )->deprecation->deprecated_function( '_get_initial_config', '2.9.0', __CLASS__ . '::get_initial_config()' ); $this->config = $this->_get_initial_config(); } else { $this->config = $this->get_initial_config(); } foreach ( $this->additional_config as $key => $value ) { if ( isset( $this->config[ $key ] ) ) { $this->config[ $key ] = wp_parse_args( $value, $this->config[ $key ] ); } else { $this->config[ $key ] = $value; } } } return $this->config; } /** * Set a config property. * * Set a specific property of the config list for this controls-stack. * * @since 3.5.0 * @access public */ public function set_config( $key, $value ) { if ( isset( $this->additional_config[ $key ] ) ) { $this->additional_config[ $key ] = wp_parse_args( $value, $this->additional_config[ $key ] ); } else { $this->additional_config[ $key ] = $value; } } /** * Get frontend settings keys. * * Retrieve settings keys for all frontend controls. * * @since 1.6.0 * @access public * * @return array Settings keys for each control. */ final public function get_frontend_settings_keys() { $controls = []; foreach ( $this->get_controls() as $control ) { if ( ! empty( $control['frontend_available'] ) ) { $controls[] = $control['name']; } } return $controls; } /** * Get controls pointer index. * * Retrieve pointer index where the next control should be added. * * While using injection point, it will return the injection point index. * Otherwise index of the last control plus one. * * @since 1.9.2 * @access public * * @return int Controls pointer index. */ public function get_pointer_index() { if ( null !== $this->injection_point ) { return $this->injection_point['index']; } return count( $this->get_controls() ); } /** * Get the raw data. * * Retrieve all the items or, when requested, a specific item. * * @since 1.4.0 * @access public * * @param string $item Optional. The requested item. Default is null. * * @return mixed The raw data. */ public function get_data( $item = null ) { if ( ! $this->settings_sanitized && ( ! $item || 'settings' === $item ) ) { $this->data['settings'] = $this->sanitize_settings( $this->data['settings'] ); $this->settings_sanitized = true; } return self::get_items( $this->data, $item ); } /** * @since 2.0.14 * @access public */ public function get_parsed_dynamic_settings( $setting = null, $settings = null ) { if ( null === $settings ) { $settings = $this->get_settings(); } if ( null === $this->parsed_dynamic_settings ) { $this->parsed_dynamic_settings = $this->parse_dynamic_settings( $settings ); } return self::get_items( $this->parsed_dynamic_settings, $setting ); } /** * Get active settings. * * Retrieve the settings from all the active controls. * * @since 1.4.0 * @since 2.1.0 Added the `controls` and the `settings` parameters. * @access public * * @param array $controls Optional. An array of controls. Default is null. * @param array $settings Optional. Controls settings. Default is null. * * @return array Active settings. */ public function get_active_settings( $settings = null, $controls = null ) { $is_first_request = ! $settings && ! $this->active_settings; if ( ! $settings ) { if ( $this->active_settings ) { return $this->active_settings; } $settings = $this->get_controls_settings(); $controls = $this->get_controls(); } $active_settings = []; foreach ( $settings as $setting_key => $setting ) { if ( ! isset( $controls[ $setting_key ] ) ) { $active_settings[ $setting_key ] = $setting; continue; } $control = $controls[ $setting_key ]; if ( $this->is_control_visible( $control, $settings ) ) { $control_obj = Plugin::$instance->controls_manager->get_control( $control['type'] ); if ( $control_obj instanceof Control_Repeater ) { foreach ( $setting as & $item ) { $item = $this->get_active_settings( $item, $control['fields'] ); } } $active_settings[ $setting_key ] = $setting; } else { $active_settings[ $setting_key ] = null; } } if ( $is_first_request ) { $this->active_settings = $active_settings; } return $active_settings; } /** * Get settings for display. * * Retrieve all the settings or, when requested, a specific setting for display. * * Unlike `get_settings()` method, this method retrieves only active settings * that passed all the conditions, rendered all the shortcodes and all the dynamic * tags. * * @since 2.0.0 * @access public * * @param string $setting_key Optional. The key of the requested setting. * Default is null. * * @return mixed The settings. */ public function get_settings_for_display( $setting_key = null ) { if ( ! $this->parsed_active_settings ) { $this->parsed_active_settings = $this->get_active_settings( $this->get_parsed_dynamic_settings(), $this->get_controls() ); } return self::get_items( $this->parsed_active_settings, $setting_key ); } /** * Parse dynamic settings. * * Retrieve the settings with rendered dynamic tags. * * @since 2.0.0 * @access public * * @param array $settings Optional. The requested setting. Default is null. * @param array $controls Optional. The controls array. Default is null. * @param array $all_settings Optional. All the settings. Default is null. * * @return array The settings with rendered dynamic tags. */ public function parse_dynamic_settings( $settings, $controls = null, $all_settings = null ) { if ( null === $all_settings ) { $all_settings = $this->get_settings(); } if ( null === $controls ) { $controls = $this->get_controls(); } foreach ( $controls as $control ) { $control_name = $control['name']; $control_obj = Plugin::$instance->controls_manager->get_control( $control['type'] ); if ( ! $control_obj instanceof Base_Data_Control ) { continue; } if ( $control_obj instanceof Control_Repeater ) { if ( ! isset( $settings[ $control_name ] ) ) { continue; } foreach ( $settings[ $control_name ] as & $field ) { $field = $this->parse_dynamic_settings( $field, $control['fields'], $field ); } continue; } $dynamic_settings = $control_obj->get_settings( 'dynamic' ); if ( ! $dynamic_settings ) { $dynamic_settings = []; } if ( ! empty( $control['dynamic'] ) ) { $dynamic_settings = array_merge( $dynamic_settings, $control['dynamic'] ); } if ( empty( $dynamic_settings ) || ! isset( $all_settings[ Manager::DYNAMIC_SETTING_KEY ][ $control_name ] ) ) { continue; } if ( ! empty( $dynamic_settings['active'] ) && ! empty( $all_settings[ Manager::DYNAMIC_SETTING_KEY ][ $control_name ] ) ) { $parsed_value = $control_obj->parse_tags( $all_settings[ Manager::DYNAMIC_SETTING_KEY ][ $control_name ], $dynamic_settings ); $dynamic_property = ! empty( $dynamic_settings['property'] ) ? $dynamic_settings['property'] : null; if ( $dynamic_property ) { $settings[ $control_name ][ $dynamic_property ] = $parsed_value; } else { $settings[ $control_name ] = $parsed_value; } } } return $settings; } /** * Get frontend settings. * * Retrieve the settings for all frontend controls. * * @since 1.6.0 * @access public * * @return array Frontend settings. */ public function get_frontend_settings() { $frontend_settings = array_intersect_key( $this->get_settings_for_display(), array_flip( $this->get_frontend_settings_keys() ) ); foreach ( $frontend_settings as $key => $setting ) { if ( in_array( $setting, [ null, '' ], true ) ) { unset( $frontend_settings[ $key ] ); } } return $frontend_settings; } /** * Filter controls settings. * * Receives controls, settings and a callback function to filter the settings by * and returns filtered settings. * * @since 1.5.0 * @access public * * @param callable $callback The callback function. * @param array $settings Optional. Control settings. Default is an empty * array. * @param array $controls Optional. Controls list. Default is an empty * array. * * @return array Filtered settings. */ public function filter_controls_settings( callable $callback, array $settings = [], array $controls = [] ) { if ( ! $settings ) { $settings = $this->get_settings(); } if ( ! $controls ) { $controls = $this->get_controls(); } return array_reduce( array_keys( $settings ), function( $filtered_settings, $setting_key ) use ( $controls, $settings, $callback ) { if ( isset( $controls[ $setting_key ] ) ) { $result = $callback( $settings[ $setting_key ], $controls[ $setting_key ] ); if ( null !== $result ) { $filtered_settings[ $setting_key ] = $result; } } return $filtered_settings; }, [] ); } /** * Whether the control is visible or not. * * Used to determine whether the control is visible or not. * * @since 1.4.0 * @access public * * @param array $control The control. * @param array $values Optional. Condition values. Default is null. * * @return bool Whether the control is visible. */ public function is_control_visible( $control, $values = null ) { if ( null === $values ) { $values = $this->get_settings(); } if ( ! empty( $control['conditions'] ) && ! Conditions::check( $control['conditions'], $values ) ) { return false; } if ( empty( $control['condition'] ) ) { return true; } foreach ( $control['condition'] as $condition_key => $condition_value ) { preg_match( '/([a-z_\-0-9]+)(?:\[([a-z_]+)])?(!?)$/i', $condition_key, $condition_key_parts ); $pure_condition_key = $condition_key_parts[1]; $condition_sub_key = $condition_key_parts[2]; $is_negative_condition = ! ! $condition_key_parts[3]; if ( ! isset( $values[ $pure_condition_key ] ) || null === $values[ $pure_condition_key ] ) { return false; } $instance_value = $values[ $pure_condition_key ]; if ( ! $instance_value ) { $controls = $this->get_controls(); $parent = isset( $controls[ $pure_condition_key ]['parent'] ) ? $controls[ $pure_condition_key ]['parent'] : false; while ( $parent ) { $instance_value = $values[ $parent ]; if ( $instance_value ) { break; } $parent = isset( $controls[ $parent ]['parent'] ) ? $controls[ $parent ]['parent'] : false; } } if ( $condition_sub_key && is_array( $instance_value ) ) { if ( ! isset( $instance_value[ $condition_sub_key ] ) ) { return false; } $instance_value = $instance_value[ $condition_sub_key ]; } /** * If the $condition_value is a non empty array - check if the $condition_value contains the $instance_value, * If the $instance_value is a non empty array - check if the $instance_value contains the $condition_value * otherwise check if they are equal. ( and give the ability to check if the value is an empty array ) */ if ( is_array( $condition_value ) && ! empty( $condition_value ) ) { $is_contains = in_array( $instance_value, $condition_value, true ); } elseif ( is_array( $instance_value ) && ! empty( $instance_value ) ) { $is_contains = in_array( $condition_value, $instance_value, true ); } else { $is_contains = $instance_value === $condition_value; } if ( $is_negative_condition && $is_contains || ! $is_negative_condition && ! $is_contains ) { return false; } } return true; } /** * Start controls section. * * Used to add a new section of controls. When you use this method, all the * registered controls from this point will be assigned to this section, * until you close the section using `end_controls_section()` method. * * This method should be used inside `register_controls()`. * * @since 1.4.0 * @access public * * @param string $section_id Section ID. * @param array $args Section arguments Optional. */ public function start_controls_section( $section_id, array $args = [] ) { $stack_name = $this->get_name(); /** * Before section start. * * Fires before Elementor section starts in the editor panel. * * @since 1.4.0 * * @param Controls_Stack $this The control. * @param string $section_id Section ID. * @param array $args Section arguments. */ do_action( 'elementor/element/before_section_start', $this, $section_id, $args ); /** * Before section start. * * Fires before Elementor section starts in the editor panel. * * The dynamic portions of the hook name, `$stack_name` and `$section_id`, refers to the stack name and section ID, respectively. * * @since 1.4.0 * * @param Controls_Stack $this The control. * @param array $args Section arguments. */ do_action( "elementor/element/{$stack_name}/{$section_id}/before_section_start", $this, $args ); $args['type'] = Controls_Manager::SECTION; $this->add_control( $section_id, $args ); if ( null !== $this->current_section ) { wp_die( sprintf( 'Elementor: You can\'t start a section before the end of the previous section "%s".', $this->current_section['section'] ) ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } $this->current_section = $this->get_section_args( $section_id ); if ( $this->injection_point ) { $this->injection_point['section'] = $this->current_section; } /** * After section start. * * Fires after Elementor section starts in the editor panel. * * @since 1.4.0 * * @param Controls_Stack $this The control. * @param string $section_id Section ID. * @param array $args Section arguments. */ do_action( 'elementor/element/after_section_start', $this, $section_id, $args ); /** * After section start. * * Fires after Elementor section starts in the editor panel. * * The dynamic portions of the hook name, `$stack_name` and `$section_id`, refers to the stack name and section ID, respectively. * * @since 1.4.0 * * @param Controls_Stack $this The control. * @param array $args Section arguments. */ do_action( "elementor/element/{$stack_name}/{$section_id}/after_section_start", $this, $args ); } /** * End controls section. * * Used to close an existing open controls section. When you use this method * it stops adding new controls to this section. * * This method should be used inside `register_controls()`. * * @since 1.4.0 * @access public */ public function end_controls_section() { $stack_name = $this->get_name(); // Save the current section for the action. $current_section = $this->current_section; $section_id = $current_section['section']; $args = [ 'tab' => $current_section['tab'], ]; /** * Before section end. * * Fires before Elementor section ends in the editor panel. * * @since 1.4.0 * * @param Controls_Stack $this The control. * @param string $section_id Section ID. * @param array $args Section arguments. */ do_action( 'elementor/element/before_section_end', $this, $section_id, $args ); /** * Before section end. * * Fires before Elementor section ends in the editor panel. * * The dynamic portions of the hook name, `$stack_name` and `$section_id`, refers to the stack name and section ID, respectively. * * @since 1.4.0 * * @param Controls_Stack $this The control. * @param array $args Section arguments. */ do_action( "elementor/element/{$stack_name}/{$section_id}/before_section_end", $this, $args ); $this->current_section = null; /** * After section end. * * Fires after Elementor section ends in the editor panel. * * @since 1.4.0 * * @param Controls_Stack $this The control. * @param string $section_id Section ID. * @param array $args Section arguments. */ do_action( 'elementor/element/after_section_end', $this, $section_id, $args ); /** * After section end. * * Fires after Elementor section ends in the editor panel. * * The dynamic portions of the hook name, `$stack_name` and `$section_id`, refers to the stack name and section ID, respectively. * * @since 1.4.0 * * @param Controls_Stack $this The control. * @param array $args Section arguments. */ do_action( "elementor/element/{$stack_name}/{$section_id}/after_section_end", $this, $args ); } /** * Start controls tabs. * * Used to add a new set of tabs inside a section. You should use this * method before adding new individual tabs using `start_controls_tab()`. * Each tab added after this point will be assigned to this group of tabs, * until you close it using `end_controls_tabs()` method. * * This method should be used inside `register_controls()`. * * @since 1.4.0 * @access public * * @param string $tabs_id Tabs ID. * @param array $args Tabs arguments. */ public function start_controls_tabs( $tabs_id, array $args = [] ) { if ( null !== $this->current_tab ) { wp_die( sprintf( 'Elementor: You can\'t start tabs before the end of the previous tabs "%s".', $this->current_tab['tabs_wrapper'] ) ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } $args['type'] = Controls_Manager::TABS; $this->add_control( $tabs_id, $args ); $this->current_tab = [ 'tabs_wrapper' => $tabs_id, ]; foreach ( [ 'condition', 'conditions' ] as $key ) { if ( ! empty( $args[ $key ] ) ) { $this->current_tab[ $key ] = $args[ $key ]; } } if ( $this->injection_point ) { $this->injection_point['tab'] = $this->current_tab; } } /** * End controls tabs. * * Used to close an existing open controls tabs. When you use this method it * stops adding new controls to this tabs. * * This method should be used inside `register_controls()`. * * @since 1.4.0 * @access public */ public function end_controls_tabs() { $this->current_tab = null; } /** * Start controls tab. * * Used to add a new tab inside a group of tabs. Use this method before * adding new individual tabs using `start_controls_tab()`. * Each tab added after this point will be assigned to this group of tabs, * until you close it using `end_controls_tab()` method. * * This method should be used inside `register_controls()`. * * @since 1.4.0 * @access public * * @param string $tab_id Tab ID. * @param array $args Tab arguments. */ public function start_controls_tab( $tab_id, $args ) { if ( ! empty( $this->current_tab['inner_tab'] ) ) { wp_die( sprintf( 'Elementor: You can\'t start a tab before the end of the previous tab "%s".', $this->current_tab['inner_tab'] ) ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } $args['type'] = Controls_Manager::TAB; $args['tabs_wrapper'] = $this->current_tab['tabs_wrapper']; $this->add_control( $tab_id, $args ); $this->current_tab['inner_tab'] = $tab_id; if ( $this->injection_point ) { $this->injection_point['tab']['inner_tab'] = $this->current_tab['inner_tab']; } } /** * End controls tab. * * Used to close an existing open controls tab. When you use this method it * stops adding new controls to this tab. * * This method should be used inside `register_controls()`. * * @since 1.4.0 * @access public */ public function end_controls_tab() { unset( $this->current_tab['inner_tab'] ); } /** * Start popover. * * Used to add a new set of controls in a popover. When you use this method, * all the registered controls from this point will be assigned to this * popover, until you close the popover using `end_popover()` method. * * This method should be used inside `register_controls()`. * * @since 1.9.0 * @access public */ final public function start_popover() { $this->current_popover = [ 'initialized' => false, ]; } /** * End popover. * * Used to close an existing open popover. When you use this method it stops * adding new controls to this popover. * * This method should be used inside `register_controls()`. * * @since 1.9.0 * @access public */ final public function end_popover() { $this->current_popover = null; $last_control_key = $this->get_control_key( $this->get_pointer_index() - 1 ); $args = [ 'popover' => [ 'end' => true, ], ]; $options = [ 'recursive' => true, ]; $this->update_control( $last_control_key, $args, $options ); } /** * Add render attribute. * * Used to add attributes to a specific HTML element. * * The HTML tag is represented by the element parameter, then you need to * define the attribute key and the attribute key. The final result will be: * ``. * * Example usage: * * `$this->add_render_attribute( 'wrapper', 'class', 'custom-widget-wrapper-class' );` * `$this->add_render_attribute( 'widget', 'id', 'custom-widget-id' );` * `$this->add_render_attribute( 'button', [ 'class' => 'custom-button-class', 'id' => 'custom-button-id' ] );` * * @since 1.0.0 * @access public * * @param array|string $element The HTML element. * @param array|string $key Optional. Attribute key. Default is null. * @param array|string $value Optional. Attribute value. Default is null. * @param bool $overwrite Optional. Whether to overwrite existing * attribute. Default is false, not to overwrite. * * @return self Current instance of the element. */ public function add_render_attribute( $element, $key = null, $value = null, $overwrite = false ) { if ( is_array( $element ) ) { foreach ( $element as $element_key => $attributes ) { $this->add_render_attribute( $element_key, $attributes, null, $overwrite ); } return $this; } if ( is_array( $key ) ) { foreach ( $key as $attribute_key => $attributes ) { $this->add_render_attribute( $element, $attribute_key, $attributes, $overwrite ); } return $this; } if ( empty( $this->render_attributes[ $element ][ $key ] ) ) { $this->render_attributes[ $element ][ $key ] = []; } settype( $value, 'array' ); if ( $overwrite ) { $this->render_attributes[ $element ][ $key ] = $value; } else { $this->render_attributes[ $element ][ $key ] = array_merge( $this->render_attributes[ $element ][ $key ], $value ); } return $this; } /** * Get Render Attributes * * Used to retrieve render attribute. * * The returned array is either all elements and their attributes if no `$element` is specified, an array of all * attributes of a specific element or a specific attribute properties if `$key` is specified. * * Returns null if one of the requested parameters isn't set. * * @since 2.2.6 * @access public * @param string $element * @param string $key * * @return array */ public function get_render_attributes( $element = '', $key = '' ) { $attributes = $this->render_attributes; if ( $element ) { if ( ! isset( $attributes[ $element ] ) ) { return null; } $attributes = $attributes[ $element ]; if ( $key ) { if ( ! isset( $attributes[ $key ] ) ) { return null; } $attributes = $attributes[ $key ]; } } return $attributes; } /** * Set render attribute. * * Used to set the value of the HTML element render attribute or to update * an existing render attribute. * * @since 1.0.0 * @access public * * @param array|string $element The HTML element. * @param array|string $key Optional. Attribute key. Default is null. * @param array|string $value Optional. Attribute value. Default is null. * * @return self Current instance of the element. */ public function set_render_attribute( $element, $key = null, $value = null ) { return $this->add_render_attribute( $element, $key, $value, true ); } /** * Remove render attribute. * * Used to remove an element (with its keys and their values), key (with its values), * or value/s from an HTML element's render attribute. * * @since 2.7.0 * @access public * * @param string $element The HTML element. * @param string $key Optional. Attribute key. Default is null. * @param array|string $values Optional. Attribute value/s. Default is null. */ public function remove_render_attribute( $element, $key = null, $values = null ) { if ( $key && ! isset( $this->render_attributes[ $element ][ $key ] ) ) { return; } if ( $values ) { $values = (array) $values; $this->render_attributes[ $element ][ $key ] = array_diff( $this->render_attributes[ $element ][ $key ], $values ); return; } if ( $key ) { unset( $this->render_attributes[ $element ][ $key ] ); return; } if ( isset( $this->render_attributes[ $element ] ) ) { unset( $this->render_attributes[ $element ] ); } } /** * Get render attribute string. * * Used to retrieve the value of the render attribute. * * @since 1.0.0 * @access public * * @param string $element The element. * * @return string Render attribute string, or an empty string if the attribute * is empty or not exist. */ public function get_render_attribute_string( $element ) { if ( empty( $this->render_attributes[ $element ] ) ) { return ''; } return Utils::render_html_attributes( $this->render_attributes[ $element ] ); } /** * Print render attribute string. * * Used to output the rendered attribute. * * @since 2.0.0 * @access public * * @param array|string $element The element. */ public function print_render_attribute_string( $element ) { echo $this->get_render_attribute_string( $element ); // XSS ok. } /** * Print element template. * * Used to generate the element template on the editor. * * @since 2.0.0 * @access public */ public function print_template() { ob_start(); // TODO: This is for backwards compatibility starting from 2.9.0 // This `if` statement should be removed when the method is removed if ( $this->has_own_method( '_content_template', self::class ) ) { Plugin::$instance->modules_manager->get_modules( 'dev-tools' )->deprecation->deprecated_function( '_content_template', '2.9.0', __CLASS__ . '::content_template()' ); $this->_content_template(); } else { $this->content_template(); } $template_content = ob_get_clean(); $element_type = $this->get_type(); /** * Template content. * * Filters the controls stack template content before it's printed in the editor. * * The dynamic portion of the hook name, `$element_type`, refers to the element type. * * @since 1.0.0 * * @param string $content_template The controls stack template in the editor. * @param Controls_Stack $this The controls stack. */ $template_content = apply_filters( "elementor/{$element_type}/print_template", $template_content, $this ); if ( empty( $template_content ) ) { return; } ?> injection_point ) { wp_die( 'A controls injection is already opened. Please close current injection before starting a new one (use `end_injection`).' ); } $this->injection_point = $this->get_position_info( $position ); } /** * End injection. * * Used to close an existing opened injection point. * * When you use this method it stops adding new controls and sections to * this point and continue to add controls to the regular position in the * stack. * * @since 1.7.1 * @access public */ final public function end_injection() { $this->injection_point = null; } /** * Get injection point. * * Retrieve the injection point in the stack where new controls and sections * will be inserted. * * @since 1.9.2 * @access public * * @return array|null An array when an injection point is defined, null * otherwise. */ final public function get_injection_point() { return $this->injection_point; } /** * Register controls. * * Used to add new controls to any element type. For example, external * developers use this method to register controls in a widget. * * Should be inherited and register new controls using `add_control()`, * `add_responsive_control()` and `add_group_control()`, inside control * wrappers like `start_controls_section()`, `start_controls_tabs()` and * `start_controls_tab()`. * * @since 1.4.0 * @access protected * @deprecated 3.1.0 Use `Controls_Stack::register_controls()` instead */ protected function _register_controls() { Plugin::$instance->modules_manager->get_modules( 'dev-tools' )->deprecation->deprecated_function( __METHOD__, '3.1.0', __CLASS__ . '::register_controls()' ); $this->register_controls(); } /** * Register controls. * * Used to add new controls to any element type. For example, external * developers use this method to register controls in a widget. * * Should be inherited and register new controls using `add_control()`, * `add_responsive_control()` and `add_group_control()`, inside control * wrappers like `start_controls_section()`, `start_controls_tabs()` and * `start_controls_tab()`. * * @since 3.1.0 * @access protected */ protected function register_controls() {} /** * Get default data. * * Retrieve the default data. Used to reset the data on initialization. * * @since 1.4.0 * @access protected * * @return array Default data. */ protected function get_default_data() { return [ 'id' => 0, 'settings' => [], ]; } /** * @since 2.3.0 * @access protected */ protected function get_init_settings() { $settings = $this->get_data( 'settings' ); foreach ( $this->get_controls() as $control ) { $control_obj = Plugin::$instance->controls_manager->get_control( $control['type'] ); if ( ! $control_obj instanceof Base_Data_Control ) { continue; } $control = array_merge_recursive( $control_obj->get_settings(), $control ); $settings[ $control['name'] ] = $control_obj->get_value( $control, $settings ); } return $settings; } /** * Get initial config. * * Retrieve the current element initial configuration - controls list and * the tabs assigned to the control. * * @since 2.9.0 * @access protected * * @return array The initial config. */ protected function get_initial_config() { return [ 'controls' => $this->get_controls(), ]; } /** * Get initial config. * * Retrieve the current element initial configuration - controls list and * the tabs assigned to the control. * * @since 1.4.0 * @deprecated 2.9.0 use `get_initial_config()` instead * @access protected * * @return array The initial config. */ protected function _get_initial_config() { Plugin::$instance->modules_manager->get_modules( 'dev-tools' )->deprecation->deprecated_function( __METHOD__, '2.9.0', __CLASS__ . '::get_initial_config()' ); return $this->get_initial_config(); } /** * Get section arguments. * * Retrieve the section arguments based on section ID. * * @since 1.4.0 * @access protected * * @param string $section_id Section ID. * * @return array Section arguments. */ protected function get_section_args( $section_id ) { $section_control = $this->get_controls( $section_id ); $section_args_keys = [ 'tab', 'condition' ]; $args = array_intersect_key( $section_control, array_flip( $section_args_keys ) ); $args['section'] = $section_id; return $args; } /** * Render element. * * Generates the final HTML on the frontend. * * @since 2.0.0 * @access protected */ protected function render() {} /** * Render element in static mode. * * If not inherent will call the base render. */ protected function render_static() { $this->render(); } /** * Determine the render logic. */ protected function render_by_mode() { if ( Plugin::$instance->frontend->is_static_render_mode() ) { $this->render_static(); return; } $this->render(); } /** * Print content template. * * Used to generate the content template on the editor, using a * Backbone JavaScript template. * * @access protected * @since 2.0.0 * * @param string $template_content Template content. */ protected function print_template_content( $template_content ) { echo $template_content; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } /** * Render element output in the editor. * * Used to generate the live preview, using a Backbone JavaScript template. * * @since 2.9.0 * @access protected */ protected function content_template() {} /** * Render element output in the editor. * * Used to generate the live preview, using a Backbone JavaScript template. * * @since 2.0.0 * @deprecated 2.9.0 use `content_template()` instead * @access protected */ protected function _content_template() { Plugin::$instance->modules_manager->get_modules( 'dev-tools' )->deprecation->deprecated_function( __METHOD__, '2.9.0', __CLASS__ . '::content_template()' ); $this->content_template(); } /** * Initialize controls. * * Register the all controls added by `register_controls()`. * * @since 2.0.0 * @access protected */ protected function init_controls() { Plugin::$instance->controls_manager->open_stack( $this ); // TODO: This is for backwards compatibility starting from 2.9.0 // This `if` statement should be removed when the method is removed if ( $this->has_own_method( '_register_controls', self::class ) ) { Plugin::$instance->modules_manager->get_modules( 'dev-tools' )->deprecation->deprecated_function( '_register_controls', '3.1.0', __CLASS__ . '::register_controls()' ); $this->_register_controls(); } else { $this->register_controls(); } } protected function handle_control_position( array $args, $control_id, $overwrite ) { if ( isset( $args['type'] ) && in_array( $args['type'], [ Controls_Manager::SECTION, Controls_Manager::WP_WIDGET ], true ) ) { return $args; } $target_section_args = $this->current_section; $target_tab = $this->current_tab; if ( $this->injection_point ) { $target_section_args = $this->injection_point['section']; if ( ! empty( $this->injection_point['tab'] ) ) { $target_tab = $this->injection_point['tab']; } } if ( null !== $target_section_args ) { if ( ! empty( $args['section'] ) || ! empty( $args['tab'] ) ) { _doing_it_wrong( sprintf( '%s::%s', get_called_class(), __FUNCTION__ ), sprintf( 'Cannot redeclare control with `tab` or `section` args inside section "%s".', $control_id ), '1.0.0' ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } $args = array_replace_recursive( $target_section_args, $args ); if ( null !== $target_tab ) { $args = array_replace_recursive( $target_tab, $args ); } } elseif ( empty( $args['section'] ) && ( ! $overwrite || is_wp_error( Plugin::$instance->controls_manager->get_control_from_stack( $this->get_unique_name(), $control_id ) ) ) ) { wp_die( sprintf( '%s::%s: Cannot add a control outside of a section (use `start_controls_section`).', get_called_class(), __FUNCTION__ ) ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } return $args; } /** * Initialize the class. * * Set the raw data, the ID and the parsed settings. * * @since 2.9.0 * @access protected * * @param array $data Initial data. */ protected function init( $data ) { $this->data = array_merge( $this->get_default_data(), $data ); $this->id = $data['id']; } /** * Initialize the class. * * Set the raw data, the ID and the parsed settings. * * @since 1.4.0 * @deprecated 2.9.0 use `init()` instead * @access protected * * @param array $data Initial data. */ protected function _init( $data ) { Plugin::$instance->modules_manager->get_modules( 'dev-tools' )->deprecation->deprecated_function( __METHOD__, '2.9.0', __CLASS__ . '::init()' ); $this->init( $data ); } /** * Sanitize initial data. * * Performs settings cleaning and sanitization. * * @since 2.1.5 * @access private * * @param array $settings Settings to sanitize. * @param array $controls Optional. An array of controls. Default is an * empty array. * * @return array Sanitized settings. */ private function sanitize_settings( array $settings, array $controls = [] ) { if ( ! $controls ) { $controls = $this->get_controls(); } foreach ( $controls as $control ) { $control_obj = Plugin::$instance->controls_manager->get_control( $control['type'] ); if ( $control_obj instanceof Control_Repeater ) { if ( empty( $settings[ $control['name'] ] ) ) { continue; } foreach ( $settings[ $control['name'] ] as $index => $repeater_row_data ) { $sanitized_row_data = $this->sanitize_settings( $repeater_row_data, $control['fields'] ); $settings[ $control['name'] ][ $index ] = $sanitized_row_data; } continue; } $is_dynamic = isset( $settings[ Manager::DYNAMIC_SETTING_KEY ][ $control['name'] ] ); if ( ! $is_dynamic ) { continue; } $value_to_check = $settings[ Manager::DYNAMIC_SETTING_KEY ][ $control['name'] ]; $tag_text_data = Plugin::$instance->dynamic_tags->tag_text_to_tag_data( $value_to_check ); if ( ! Plugin::$instance->dynamic_tags->get_tag_info( $tag_text_data['name'] ) ) { unset( $settings[ Manager::DYNAMIC_SETTING_KEY ][ $control['name'] ] ); } } return $settings; } /** * Controls stack constructor. * * Initializing the control stack class using `$data`. The `$data` is required * for a normal instance. It is optional only for internal `type instance`. * * @since 1.4.0 * @access public * * @param array $data Optional. Control stack data. Default is an empty array. */ public function __construct( array $data = [] ) { if ( $data ) { // TODO: This is for backwards compatibility starting from 2.9.0 // This if statement should be removed when the method is hard-deprecated if ( $this->has_own_method( '_init', self::class ) ) { Plugin::$instance->modules_manager->get_modules( 'dev-tools' )->deprecation->deprecated_function( '_init', '2.9.0', __CLASS__ . '::init()' ); $this->_init( $data ); } else { $this->init( $data ); } } } } includes/base/skin-base.php000064400000014364152377341010011664 0ustar00_register_controls_actions(); } /** * Render skin. * * Generates the final HTML on the frontend. * * @since 1.0.0 * @access public * @abstract */ abstract public function render(); /** * Render element in static mode. * * If not inherent will call the base render. */ public function render_static() { $this->render(); } /** * Determine the render logic. */ public function render_by_mode() { if ( Plugin::$instance->frontend->is_static_render_mode() ) { $this->render_static(); return; } $this->render(); } /** * Register skin controls actions. * * Run on init and used to register new skins to be injected to the widget. * This method is used to register new actions that specify the location of * the skin in the widget. * * Example usage: * `add_action( 'elementor/element/{widget_id}/{section_id}/before_section_end', [ $this, 'register_controls' ] );` * * @since 1.0.0 * @access protected */ protected function _register_controls_actions() {} /** * Get skin control ID. * * Retrieve the skin control ID. Note that skin controls have special prefix * to distinguish them from regular controls, and from controls in other * skins. * * @since 1.0.0 * @access protected * * @param string $control_base_id Control base ID. * * @return string Control ID. */ protected function get_control_id( $control_base_id ) { $skin_id = str_replace( '-', '_', $this->get_id() ); return $skin_id . '_' . $control_base_id; } /** * Get skin settings. * * Retrieve all the skin settings or, when requested, a specific setting. * * @since 1.0.0 * @TODO: rename to get_setting() and create backward compatibility. * * @access public * * @param string $control_base_id Control base ID. * * @return mixed */ public function get_instance_value( $control_base_id ) { $control_id = $this->get_control_id( $control_base_id ); return $this->parent->get_settings( $control_id ); } /** * Start skin controls section. * * Used to add a new section of controls to the skin. * * @since 1.3.0 * @access public * * @param string $id Section ID. * @param array $args Section arguments. */ public function start_controls_section( $id, $args = [] ) { $args['condition']['_skin'] = $this->get_id(); parent::start_controls_section( $id, $args ); } /** * Add new skin control. * * Register a single control to the allow the user to set/update skin data. * * @param string $id Control ID. * @param array $args Control arguments. * @param array $options * * @return bool True if skin added, False otherwise. * @since 3.0.0 New `$options` parameter added. * @access public * */ public function add_control( $id, $args = [], $options = [] ) { $args['condition']['_skin'] = $this->get_id(); return parent::add_control( $id, $args, $options ); } /** * Update skin control. * * Change the value of an existing skin control. * * @since 1.3.0 * @since 1.8.1 New `$options` parameter added. * * @access public * * @param string $id Control ID. * @param array $args Control arguments. Only the new fields you want to update. * @param array $options Optional. Some additional options. */ public function update_control( $id, $args, array $options = [] ) { $args['condition']['_skin'] = $this->get_id(); parent::update_control( $id, $args, $options ); } /** * Add new responsive skin control. * * Register a set of controls to allow editing based on user screen size. * * @param string $id Responsive control ID. * @param array $args Responsive control arguments. * @param array $options * * @since 1.0.5 * @access public * */ public function add_responsive_control( $id, $args, $options = [] ) { $args['condition']['_skin'] = $this->get_id(); parent::add_responsive_control( $id, $args ); } /** * Start skin controls tab. * * Used to add a new tab inside a group of tabs. * * @since 1.5.0 * @access public * * @param string $id Control ID. * @param array $args Control arguments. */ public function start_controls_tab( $id, $args ) { $args['condition']['_skin'] = $this->get_id(); parent::start_controls_tab( $id, $args ); } /** * Start skin controls tabs. * * Used to add a new set of tabs inside a section. * * @since 1.5.0 * @access public * * @param string $id Control ID. */ public function start_controls_tabs( $id ) { $args['condition']['_skin'] = $this->get_id(); parent::start_controls_tabs( $id ); } /** * Add new group control. * * Register a set of related controls grouped together as a single unified * control. * * @param string $group_name Group control name. * @param array $args Group control arguments. Default is an empty array. * @param array $options * * @since 1.0.0 * @access public * */ final public function add_group_control( $group_name, $args = [], $options = [] ) { $args['condition']['_skin'] = $this->get_id(); parent::add_group_control( $group_name, $args ); } /** * Set parent widget. * * Used to define the parent widget of the skin. * * @since 1.0.0 * @access public * * @param Widget_Base $parent Parent widget. */ public function set_parent( $parent ) { $this->parent = $parent; } } includes/base/sub-controls-stack.php000064400000012435152377341010013542 0ustar00parent = $parent; } /** * Get control ID. * * Retrieve the control ID. Note that the sub controls stack may have a special prefix * to distinguish them from regular controls, and from controls in other * sub stack. * * By default do nothing, and return the original id. * * @access protected * * @param string $control_base_id Control base ID. * * @return string Control ID. */ protected function get_control_id( $control_base_id ) { return $control_base_id; } /** * Add new control. * * Register a single control to allow the user to set/update data. * * @access public * * @param string $id Control ID. * @param array $args Control arguments. * @param array $options * * @return bool True if added, False otherwise. */ public function add_control( $id, $args, $options = [] ) { return $this->parent->add_control( $this->get_control_id( $id ), $args, $options ); } /** * Update control. * * Change the value of an existing control. * * @access public * * @param string $id Control ID. * @param array $args Control arguments. Only the new fields you want to update. * @param array $options Optional. Some additional options. */ public function update_control( $id, $args, array $options = [] ) { $this->parent->update_control( $this->get_control_id( $id ), $args, $options ); } /** * Remove control. * * Unregister an existing control. * * @access public * * @param string $id Control ID. */ public function remove_control( $id ) { $this->parent->remove_control( $this->get_control_id( $id ) ); } /** * Add new group control. * * Register a set of related controls grouped together as a single unified * control. * * @access public * * @param string $group_name Group control name. * @param array $args Group control arguments. Default is an empty array. * @param array $options * */ public function add_group_control( $group_name, $args, $options = [] ) { $args['name'] = $this->get_control_id( $args['name'] ); $this->parent->add_group_control( $group_name, $args, $options ); } /** * Add new responsive control. * * Register a set of controls to allow editing based on user screen size. * * @access public * * @param string $id Responsive control ID. * @param array $args Responsive control arguments. * @param array $options */ public function add_responsive_control( $id, $args, $options = [] ) { $this->parent->add_responsive_control( $this->get_control_id( $id ), $args, $options ); } /** * Update responsive control. * * Change the value of an existing responsive control. * * @access public * * @param string $id Responsive control ID. * @param array $args Responsive control arguments. */ public function update_responsive_control( $id, $args ) { $this->parent->update_responsive_control( $this->get_control_id( $id ), $args ); } /** * Remove responsive control. * * Unregister an existing responsive control. * * @access public * * @param string $id Responsive control ID. */ public function remove_responsive_control( $id ) { $this->parent->remove_responsive_control( $this->get_control_id( $id ) ); } /** * Start controls section. * * Used to add a new section of controls to the stack. * * @access public * * @param string $id Section ID. * @param array $args Section arguments. */ public function start_controls_section( $id, $args = [] ) { $this->parent->start_controls_section( $this->get_control_id( $id ), $args ); } /** * End controls section. * * Used to close an existing open controls section. * * @access public */ public function end_controls_section() { $this->parent->end_controls_section(); } /** * Start controls tabs. * * Used to add a new set of tabs inside a section. * * @access public * * @param string $id Control ID. */ public function start_controls_tabs( $id ) { $this->parent->start_controls_tabs( $this->get_control_id( $id ) ); } public function start_controls_tab( $id, $args ) { $this->parent->start_controls_tab( $this->get_control_id( $id ), $args ); } /** * End controls tabs. * * Used to close an existing open controls tabs. * * @access public */ public function end_controls_tab() { $this->parent->end_controls_tab(); } /** * End controls tabs. * * Used to close an existing open controls tabs. * * @access public */ public function end_controls_tabs() { $this->parent->end_controls_tabs(); } } includes/base/element-base.php000064400000053425152377341010012352 0ustar00depended_scripts[] = $handler; } /** * Add style depends. * * Register new style to enqueue by the handler. * * @since 1.9.0 * @access public * * @param string $handler Depend style handler. */ public function add_style_depends( $handler ) { $this->depended_styles[] = $handler; } /** * Get script dependencies. * * Retrieve the list of script dependencies the element requires. * * @since 1.3.0 * @access public * * @return array Element scripts dependencies. */ public function get_script_depends() { return $this->depended_scripts; } /** * Enqueue scripts. * * Registers all the scripts defined as element dependencies and enqueues * them. Use `get_script_depends()` method to add custom script dependencies. * * @since 1.3.0 * @access public */ final public function enqueue_scripts() { $deprecated_scripts = [ //Insert here when you have a deprecated script ]; foreach ( $this->get_script_depends() as $script ) { if ( isset( $deprecated_scripts[ $script ] ) ) { Utils::handle_deprecation( $script, $deprecated_scripts[ $script ]['version'], $deprecated_scripts[ $script ]['replacement'] ); } wp_enqueue_script( $script ); } } /** * Get style dependencies. * * Retrieve the list of style dependencies the element requires. * * @since 1.9.0 * @access public * * @return array Element styles dependencies. */ public function get_style_depends() { return $this->depended_styles; } /** * Enqueue styles. * * Registers all the styles defined as element dependencies and enqueues * them. Use `get_style_depends()` method to add custom style dependencies. * * @since 1.9.0 * @access public */ final public function enqueue_styles() { foreach ( $this->get_style_depends() as $style ) { wp_enqueue_style( $style ); } } /** * @since 1.0.0 * @deprecated 2.6.0 * @access public * @static */ final public static function add_edit_tool() {} /** * @since 2.2.0 * @deprecated 2.6.0 * @access public * @static */ final public static function is_edit_buttons_enabled() { return get_option( 'elementor_edit_buttons' ); } /** * Get default child type. * * Retrieve the default child type based on element data. * * Note that not all elements support children. * * @since 1.0.0 * @access protected * @abstract * * @param array $element_data Element data. * * @return Element_Base */ abstract protected function _get_default_child_type( array $element_data ); /** * Before element rendering. * * Used to add stuff before the element. * * @since 1.0.0 * @access public */ public function before_render() {} /** * After element rendering. * * Used to add stuff after the element. * * @since 1.0.0 * @access public */ public function after_render() {} /** * Get element title. * * Retrieve the element title. * * @since 1.0.0 * @access public * * @return string Element title. */ public function get_title() { return ''; } /** * Get element icon. * * Retrieve the element icon. * * @since 1.0.0 * @access public * * @return string Element icon. */ public function get_icon() { return 'eicon-columns'; } public function get_help_url() { return 'https://go.elementor.com/widget-' . $this->get_name(); } public function get_custom_help_url() { return ''; } /** * Whether the reload preview is required. * * Used to determine whether the reload preview is required or not. * * @since 1.0.0 * @access public * * @return bool Whether the reload preview is required. */ public function is_reload_preview_required() { return false; } /** * @since 2.3.1 * @access protected */ protected function should_print_empty() { return true; } /** * Get child elements. * * Retrieve all the child elements of this element. * * @since 1.0.0 * @access public * * @return Element_Base[] Child elements. */ public function get_children() { if ( null === $this->children ) { $this->init_children(); } return $this->children; } /** * Get default arguments. * * Retrieve the element default arguments. Used to return all the default * arguments or a specific default argument, if one is set. * * @since 1.0.0 * @access public * * @param array $item Optional. Default is null. * * @return array Default argument(s). */ public function get_default_args( $item = null ) { return self::get_items( $this->default_args, $item ); } /** * Add new child element. * * Register new child element to allow hierarchy. * * @since 1.0.0 * @access public * @param array $child_data Child element data. * @param array $child_args Child element arguments. * * @return Element_Base|false Child element instance, or false if failed. */ public function add_child( array $child_data, array $child_args = [] ) { if ( null === $this->children ) { $this->init_children(); } $child_type = $this->get_child_type( $child_data ); if ( ! $child_type ) { return false; } $child = Plugin::$instance->elements_manager->create_element_instance( $child_data, $child_args, $child_type ); if ( $child ) { $this->children[] = $child; } return $child; } /** * Add link render attributes. * * Used to add link tag attributes to a specific HTML element. * * The HTML link tag is represented by the element parameter. The `url_control` parameter * needs to be an array of link settings in the same format they are set by Elementor's URL control. * * Example usage: * * `$this->add_link_attributes( 'button', $settings['link'] );` * * @since 2.8.0 * @access public * * @param array|string $element The HTML element. * @param array $url_control Array of link settings. * @param bool $overwrite Optional. Whether to overwrite existing * attribute. Default is false, not to overwrite. * * @return Element_Base Current instance of the element. */ public function add_link_attributes( $element, array $url_control, $overwrite = false ) { $attributes = []; if ( ! empty( $url_control['url'] ) ) { $allowed_protocols = array_merge( wp_allowed_protocols(), [ 'skype', 'viber' ] ); $attributes['href'] = esc_url( $url_control['url'], $allowed_protocols ); } if ( ! empty( $url_control['is_external'] ) ) { $attributes['target'] = '_blank'; } if ( ! empty( $url_control['nofollow'] ) ) { $attributes['rel'] = 'nofollow'; } if ( ! empty( $url_control['custom_attributes'] ) ) { // Custom URL attributes should come as a string of comma-delimited key|value pairs $attributes = array_merge( $attributes, Utils::parse_custom_attributes( $url_control['custom_attributes'] ) ); } if ( $attributes ) { $this->add_render_attribute( $element, $attributes, $overwrite ); } return $this; } /** * Print element. * * Used to generate the element final HTML on the frontend and the editor. * * @since 1.0.0 * @access public */ public function print_element() { $element_type = $this->get_type(); /** * Before frontend element render. * * Fires before Elementor element is rendered in the frontend. * * @since 2.2.0 * * @param Element_Base $this The element. */ do_action( 'elementor/frontend/before_render', $this ); /** * Before frontend element render. * * Fires before Elementor element is rendered in the frontend. * * The dynamic portion of the hook name, `$element_type`, refers to the element type. * * @since 1.0.0 * * @param Element_Base $this The element. */ do_action( "elementor/frontend/{$element_type}/before_render", $this ); ob_start(); if ( $this->has_own_method( '_print_content', self::class ) ) { Plugin::$instance->modules_manager->get_modules( 'dev-tools' )->deprecation->deprecated_function( '_print_content', '3.1.0', __CLASS__ . '::print_content()' ); $this->_print_content(); } else { $this->print_content(); } $content = ob_get_clean(); $should_render = ( ! empty( $content ) || $this->should_print_empty() ); /** * Should the element be rendered for frontend * * Filters if the element should be rendered on frontend. * * @since 2.3.3 * * @param bool true The element. * @param Element_Base $this The element. */ $should_render = apply_filters( "elementor/frontend/{$element_type}/should_render", $should_render, $this ); if ( $should_render ) { if ( $this->has_own_method( '_add_render_attributes', self::class ) ) { Plugin::$instance->modules_manager->get_modules( 'dev-tools' )->deprecation->deprecated_function( '_add_render_attributes', '3.1.0', __CLASS__ . '::add_render_attributes()' ); $this->_add_render_attributes(); } else { $this->add_render_attributes(); } $this->before_render(); // PHPCS - The content has already been escaped by the `render` method. echo $content; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped $this->after_render(); $this->enqueue_scripts(); $this->enqueue_styles(); } /** * After frontend element render. * * Fires after Elementor element is rendered in the frontend. * * The dynamic portion of the hook name, `$element_type`, refers to the element type. * * @since 1.0.0 * * @param Element_Base $this The element. */ do_action( "elementor/frontend/{$element_type}/after_render", $this ); /** * After frontend element render. * * Fires after Elementor element is rendered in the frontend. * * @since 2.3.0 * * @param Element_Base $this The element. */ do_action( 'elementor/frontend/after_render', $this ); } /** * Get the element raw data. * * Retrieve the raw element data, including the id, type, settings, child * elements and whether it is an inner element. * * The data with the HTML used always to display the data, but the Elementor * editor uses the raw data without the HTML in order not to render the data * again. * * @since 1.0.0 * @access public * * @param bool $with_html_content Optional. Whether to return the data with * HTML content or without. Used for caching. * Default is false, without HTML. * * @return array Element raw data. */ public function get_raw_data( $with_html_content = false ) { $data = $this->get_data(); $elements = []; foreach ( $this->get_children() as $child ) { $elements[] = $child->get_raw_data( $with_html_content ); } return [ 'id' => $this->get_id(), 'elType' => $data['elType'], 'settings' => $data['settings'], 'elements' => $elements, 'isInner' => $data['isInner'], ]; } public function get_data_for_save() { $data = $this->get_raw_data(); $elements = []; foreach ( $this->get_children() as $child ) { $elements[] = $child->get_data_for_save(); } if ( ! empty( $elements ) ) { $data['elements'] = $elements; } if ( ! empty( $data['settings'] ) ) { $data['settings'] = $this->on_save( $data['settings'] ); } return $data; } /** * Get unique selector. * * Retrieve the unique selector of the element. Used to set a unique HTML * class for each HTML element. This way Elementor can set custom styles for * each element. * * @since 1.0.0 * @access public * * @return string Unique selector. */ public function get_unique_selector() { return '.elementor-element-' . $this->get_id(); } /** * Is type instance. * * Used to determine whether the element is an instance of that type or not. * * @since 1.0.0 * @access public * * @return bool Whether the element is an instance of that type. */ public function is_type_instance() { return $this->is_type_instance; } /** * On Import Replace Dynamic Content. * * @since 3.6.0 * @access public * * @return array Element data. */ public static function on_import_replace_dynamic_content( $config, $map_old_new_post_ids ) { $tags_manager = Plugin::$instance->dynamic_tags; if ( isset( $config['settings'][ $tags_manager::DYNAMIC_SETTING_KEY ] ) ) { foreach ( $config['settings'][ $tags_manager::DYNAMIC_SETTING_KEY ] as $dynamic_name => $dynamic_value ) { $tag_config = $tags_manager->tag_text_to_tag_data( $dynamic_value ); $tag_instance = $tags_manager->create_tag( $tag_config['id'], $tag_config['name'], $tag_config['settings'] ); if ( $tag_instance ) { $tag_config = $tag_instance->on_import_replace_dynamic_content( $tag_config, $map_old_new_post_ids ); $config['settings'][ $tags_manager::DYNAMIC_SETTING_KEY ][ $dynamic_name ] = $tags_manager->tag_data_to_tag_text( $tag_config['id'], $tag_config['name'], $tag_config['settings'] ); } } } return $config; } /** * Add render attributes. * * Used to add attributes to the current element wrapper HTML tag. * * @since 1.3.0 * @access protected * @deprecated 3.1.0 */ protected function _add_render_attributes() { Plugin::$instance->modules_manager->get_modules( 'dev-tools' )->deprecation->deprecated_function( __METHOD__, '3.1.0', __CLASS__ . '::add_render_attributes()' ); return $this->add_render_attributes(); } /** * Add render attributes. * * Used to add attributes to the current element wrapper HTML tag. * * @since 3.1.0 * @access protected */ protected function add_render_attributes() { $id = $this->get_id(); $settings = $this->get_settings_for_display(); $frontend_settings = $this->get_frontend_settings(); $controls = $this->get_controls(); $this->add_render_attribute( '_wrapper', [ 'class' => [ 'elementor-element', 'elementor-element-' . $id, ], 'data-id' => $id, 'data-element_type' => $this->get_type(), ] ); $class_settings = []; foreach ( $settings as $setting_key => $setting ) { if ( isset( $controls[ $setting_key ]['prefix_class'] ) ) { $class_settings[ $setting_key ] = $setting; } } foreach ( $class_settings as $setting_key => $setting ) { if ( empty( $setting ) && '0' !== $setting ) { continue; } $this->add_render_attribute( '_wrapper', 'class', $controls[ $setting_key ]['prefix_class'] . $setting ); } $_animation = ! empty( $settings['_animation'] ); $animation = ! empty( $settings['animation'] ); $has_animation = $_animation && 'none' !== $settings['_animation'] || $animation && 'none' !== $settings['animation']; if ( $has_animation ) { $is_static_render_mode = Plugin::$instance->frontend->is_static_render_mode(); if ( ! $is_static_render_mode ) { // Hide the element until the animation begins $this->add_render_attribute( '_wrapper', 'class', 'elementor-invisible' ); } } if ( ! empty( $settings['_element_id'] ) ) { $this->add_render_attribute( '_wrapper', 'id', trim( $settings['_element_id'] ) ); } if ( $frontend_settings ) { $this->add_render_attribute( '_wrapper', 'data-settings', wp_json_encode( $frontend_settings ) ); } /** * After element attribute rendered. * * Fires after the attributes of the element HTML tag are rendered. * * @since 2.3.0 * * @param Element_Base $this The element. */ do_action( 'elementor/element/after_add_attributes', $this ); } /** * Add Hidden Device Controls * * Adds controls for hiding elements within certain devices' viewport widths. Adds a control for each active device. * * @since 3.4.0 * @access protected */ protected function add_hidden_device_controls() { // The 'Hide On X' controls are displayed from largest to smallest, while the method returns smallest to largest. $active_devices = Plugin::$instance->breakpoints->get_active_devices_list( [ 'reverse' => true ] ); $active_breakpoints = Plugin::$instance->breakpoints->get_active_breakpoints(); foreach ( $active_devices as $breakpoint_key ) { $label = 'desktop' === $breakpoint_key ? __( 'Desktop', 'elementor' ) : $active_breakpoints[ $breakpoint_key ]->get_label(); $this->add_control( 'hide_' . $breakpoint_key, [ /* translators: %s: Device name. */ 'label' => sprintf( __( 'Hide On %s', 'elementor' ), $label ), 'type' => Controls_Manager::SWITCHER, 'default' => '', 'prefix_class' => 'elementor-', 'label_on' => 'Hide', 'label_off' => 'Show', 'return_value' => 'hidden-' . $breakpoint_key, ] ); } } /** * Get default data. * * Retrieve the default element data. Used to reset the data on initialization. * * @since 1.0.0 * @access protected * * @return array Default data. */ protected function get_default_data() { $data = parent::get_default_data(); return array_merge( $data, [ 'elements' => [], 'isInner' => false, ] ); } /** * Print element content. * * Output the element final HTML on the frontend. * * @since 1.0.0 * @access protected */ protected function _print_content() { Plugin::$instance->modules_manager->get_modules( 'dev-tools' )->deprecation->deprecated_function( __METHOD__, '3.1.0', __CLASS__ . '::print_content()' ); $this->print_content(); } /** * Print element content. * * Output the element final HTML on the frontend. * * @since 3.1.0 * @access protected */ protected function print_content() { foreach ( $this->get_children() as $child ) { $child->print_element(); } } /** * Get initial config. * * Retrieve the current element initial configuration. * * Adds more configuration on top of the controls list and the tabs assigned * to the control. This method also adds element name, type, icon and more. * * @since 2.9.0 * @access protected * * @return array The initial config. */ protected function get_initial_config() { $config = [ 'name' => $this->get_name(), 'elType' => $this->get_type(), 'title' => $this->get_title(), 'icon' => $this->get_icon(), 'reload_preview' => $this->is_reload_preview_required(), ]; if ( preg_match( '/^' . __NAMESPACE__ . '(Pro)?\\\\/', get_called_class() ) ) { $config['help_url'] = $this->get_help_url(); } else { $config['help_url'] = $this->get_custom_help_url(); } if ( ! $this->is_editable() ) { $config['editable'] = false; } return $config; } /** * A Base method for sanitizing the settings before save. * This method is meant to be overridden by the element. */ protected function on_save( array $settings ) { return $settings; } /** * Get child type. * * Retrieve the element child type based on element data. * * @since 2.0.0 * @access private * * @param array $element_data Element ID. * * @return Element_Base|false Child type or false if type not found. */ private function get_child_type( $element_data ) { $child_type = $this->_get_default_child_type( $element_data ); // If it's not a valid widget ( like a deactivated plugin ) if ( ! $child_type ) { return false; } /** * Element child type. * * Filters the child type of the element. * * @since 1.0.0 * * @param Element_Base $child_type The child element. * @param array $element_data The original element ID. * @param Element_Base $this The original element. */ $child_type = apply_filters( 'elementor/element/get_child_type', $child_type, $element_data, $this ); return $child_type; } /** * Initialize children. * * Initializing the element child elements. * * @since 2.0.0 * @access private */ private function init_children() { $this->children = []; $children_data = $this->get_data( 'elements' ); if ( ! $children_data ) { return; } foreach ( $children_data as $child_data ) { if ( ! $child_data ) { continue; } $this->add_child( $child_data ); } } /** * Element base constructor. * * Initializing the element base class using `$data` and `$args`. * * The `$data` parameter is required for a normal instance because of the * way Elementor renders data when initializing elements. * * @since 1.0.0 * @access public * * @param array $data Optional. Element data. Default is an empty array. * @param array|null $args Optional. Element default arguments. Default is null. **/ public function __construct( array $data = [], array $args = null ) { if ( $data ) { $this->is_type_instance = false; } elseif ( $args ) { $this->default_args = $args; } parent::__construct( $data ); } } includes/api.php000064400000014737152377341010007653 0ustar00 $timeout, 'body' => [ // Which API version is used. 'api_version' => ELEMENTOR_VERSION, // Which language to return. 'site_lang' => get_bloginfo( 'language' ), ], ] ); if ( is_wp_error( $response ) || 200 !== (int) wp_remote_retrieve_response_code( $response ) ) { set_transient( $cache_key, [], 2 * HOUR_IN_SECONDS ); return false; } $info_data = json_decode( wp_remote_retrieve_body( $response ), true ); if ( empty( $info_data ) || ! is_array( $info_data ) ) { set_transient( $cache_key, [], 2 * HOUR_IN_SECONDS ); return false; } if ( isset( $info_data['library'] ) ) { update_option( self::LIBRARY_OPTION_KEY, $info_data['library'], 'no' ); unset( $info_data['library'] ); } if ( isset( $info_data['feed'] ) ) { update_option( self::FEED_OPTION_KEY, $info_data['feed'], 'no' ); unset( $info_data['feed'] ); } set_transient( $cache_key, $info_data, 12 * HOUR_IN_SECONDS ); } return $info_data; } /** * Get upgrade notice. * * Retrieve the upgrade notice if one exists, or false otherwise. * * @since 1.0.0 * @access public * @static * * @return array|false Upgrade notice, or false none exist. */ public static function get_upgrade_notice() { $data = self::get_info_data(); if ( empty( $data['upgrade_notice'] ) ) { return false; } return $data['upgrade_notice']; } public static function get_admin_notice() { $data = self::get_info_data(); if ( empty( $data['admin_notice'] ) ) { return false; } return $data['admin_notice']; } public static function get_canary_deployment_info( $force = false ) { $data = self::get_info_data( $force ); if ( empty( $data['canary_deployment'] ) ) { return false; } return $data['canary_deployment']; } public static function get_promotion_widgets() { $data = self::get_info_data(); if ( ! isset( $data['pro_widgets'] ) ) { $data['pro_widgets'] = []; } return $data['pro_widgets']; } /** * Get templates data. * * Retrieve the templates data from a remote server. * * @since 2.0.0 * @access public * @static * * @param bool $force_update Optional. Whether to force the data update or * not. Default is false. * * @return array The templates data. */ public static function get_library_data( $force_update = false ) { self::get_info_data( $force_update ); $library_data = get_option( self::LIBRARY_OPTION_KEY ); if ( empty( $library_data ) ) { return []; } return $library_data; } /** * Get feed data. * * Retrieve the feed info data from remote elementor server. * * @since 1.9.0 * @access public * @static * * @param bool $force_update Optional. Whether to force the data update or * not. Default is false. * * @return array Feed data. */ public static function get_feed_data( $force_update = false ) { self::get_info_data( $force_update ); $feed = get_option( self::FEED_OPTION_KEY ); if ( empty( $feed ) ) { return []; } return $feed; } /** * Get template content. * * Retrieve the templates content received from a remote server. * * @since 1.0.0 * @access public * @static * * @param int $template_id The template ID. * * @return object|\WP_Error The template content. */ public static function get_template_content( $template_id ) { /** @var Library $library */ $library = Plugin::$instance->common->get_component( 'connect' )->get_app( 'library' ); return $library->get_template_content( $template_id ); } /** * Send Feedback. * * Fires a request to Elementor server with the feedback data. * * @since 1.0.0 * @access public * @static * * @param string $feedback_key Feedback key. * @param string $feedback_text Feedback text. * * @return array The response of the request. */ public static function send_feedback( $feedback_key, $feedback_text ) { return wp_remote_post( self::$api_feedback_url, [ 'timeout' => 30, 'body' => [ 'api_version' => ELEMENTOR_VERSION, 'site_lang' => get_bloginfo( 'language' ), 'feedback_key' => $feedback_key, 'feedback' => $feedback_text, ], ] ); } /** * Ajax reset API data. * * Reset Elementor library API data using an ajax call. * * @since 1.0.0 * @access public * @static */ public static function ajax_reset_api_data() { check_ajax_referer( 'elementor_reset_library', '_nonce' ); self::get_info_data( true ); wp_send_json_success(); } /** * Init. * * Initialize Elementor API. * * @since 1.0.0 * @access public * @static */ public static function init() { add_action( 'wp_ajax_elementor_reset_library', [ __CLASS__, 'ajax_reset_api_data' ] ); } } includes/rollback.php000064400000007212152377341010010661 0ustar00 $value ) { $this->{$key} = $value; } } /** * Print inline style. * * Add an inline CSS to the rollback page. * * @since 1.5.0 * @access private */ private function print_inline_style() { ?> new_version = $this->version; $plugin_info->slug = $this->plugin_slug; $plugin_info->package = $this->package_url; $plugin_info->url = 'https://elementor.com/'; $update_plugins->response[ $this->plugin_name ] = $plugin_info; // Remove handle beta testers. remove_filter( 'pre_set_site_transient_update_plugins', [ Plugin::instance()->beta_testers, 'check_version' ] ); set_site_transient( 'update_plugins', $update_plugins ); } /** * Upgrade. * * Run WordPress upgrade to rollback Elementor to previous version. * * @since 1.5.0 * @access protected */ protected function upgrade() { require_once( ABSPATH . 'wp-admin/includes/class-wp-upgrader.php' ); $logo_url = ELEMENTOR_ASSETS_URL . 'images/logo-panel.svg'; $upgrader_args = [ 'url' => 'update.php?action=upgrade-plugin&plugin=' . rawurlencode( $this->plugin_name ), 'plugin' => $this->plugin_name, 'nonce' => 'upgrade-plugin_' . $this->plugin_name, 'title' => 'Elementor' . esc_html__( 'Rollback to Previous Version', 'elementor' ), ]; $this->print_inline_style(); $upgrader = new \Plugin_Upgrader( new \Plugin_Upgrader_Skin( $upgrader_args ) ); $upgrader->upgrade( $this->plugin_name ); } /** * Run. * * Rollback Elementor to previous versions. * * @since 1.5.0 * @access public */ public function run() { $this->apply_package(); $this->upgrade(); } } includes/fonts.php000064400000143210152377341010010220 0ustar00 esc_html__( 'System', 'elementor' ), self::GOOGLE => esc_html__( 'Google', 'elementor' ), self::EARLYACCESS => esc_html__( 'Google Early Access', 'elementor' ), ]; /** * Font groups. * * Filters the fonts groups used by Elementor. * * @since 1.9.4 * * @param array $font_groups Font groups. */ $font_groups = apply_filters( 'elementor/fonts/groups', $font_groups ); self::$font_groups = $font_groups; } return self::$font_groups; } /** * Get fonts. * * Retrieve the list of supported fonts. * * @since 1.0.0 * @access public * @static * * @return array Supported fonts. */ public static function get_fonts() { if ( null === self::$fonts ) { $additional_fonts = []; /** * Additional fonts. * * Filters the fonts used by Elementor to add additional fonts. * * @since 1.9.4 * * @param array $additional_fonts Additional Elementor fonts. */ $additional_fonts = apply_filters( 'elementor/fonts/additional_fonts', $additional_fonts ); self::$fonts = array_merge( self::get_native_fonts(), $additional_fonts ); } return self::$fonts; } /** * Get Elementor native fonts. * * Retrieve the list of supported fonts. * * @since 1.9.4 * @access private * @static * * @return array Supported fonts. */ private static function get_native_fonts() { return [ // System fonts. 'Arial' => self::SYSTEM, 'Tahoma' => self::SYSTEM, 'Verdana' => self::SYSTEM, 'Helvetica' => self::SYSTEM, 'Times New Roman' => self::SYSTEM, 'Trebuchet MS' => self::SYSTEM, 'Georgia' => self::SYSTEM, // Google Fonts (last update: 17/01/2022). 'ABeeZee' => self::GOOGLE, 'Abel' => self::GOOGLE, 'Abhaya Libre' => self::GOOGLE, 'Abril Fatface' => self::GOOGLE, 'Aclonica' => self::GOOGLE, 'Acme' => self::GOOGLE, 'Actor' => self::GOOGLE, 'Adamina' => self::GOOGLE, 'Advent Pro' => self::GOOGLE, 'Aguafina Script' => self::GOOGLE, 'Akaya Kanadaka' => self::GOOGLE, 'Akaya Telivigala' => self::GOOGLE, 'Akronim' => self::GOOGLE, 'Aladin' => self::GOOGLE, 'Alata' => self::GOOGLE, 'Alatsi' => self::GOOGLE, 'Aldrich' => self::GOOGLE, 'Alef' => self::GOOGLE, 'Alef Hebrew' => self::EARLYACCESS, // Hack for Google Early Access. 'Alegreya' => self::GOOGLE, 'Alegreya SC' => self::GOOGLE, 'Alegreya Sans' => self::GOOGLE, 'Alegreya Sans SC' => self::GOOGLE, 'Aleo' => self::GOOGLE, 'Alex Brush' => self::GOOGLE, 'Alfa Slab One' => self::GOOGLE, 'Alice' => self::GOOGLE, 'Alike' => self::GOOGLE, 'Alike Angular' => self::GOOGLE, 'Allan' => self::GOOGLE, 'Allerta' => self::GOOGLE, 'Allerta Stencil' => self::GOOGLE, 'Allison' => self::GOOGLE, 'Allura' => self::GOOGLE, 'Almarai' => self::GOOGLE, 'Almendra' => self::GOOGLE, 'Almendra Display' => self::GOOGLE, 'Almendra SC' => self::GOOGLE, 'Alumni Sans' => self::GOOGLE, 'Amarante' => self::GOOGLE, 'Amaranth' => self::GOOGLE, 'Amatic SC' => self::GOOGLE, 'Amethysta' => self::GOOGLE, 'Amiko' => self::GOOGLE, 'Amiri' => self::GOOGLE, 'Amita' => self::GOOGLE, 'Anaheim' => self::GOOGLE, 'Andada Pro' => self::GOOGLE, 'Andika' => self::GOOGLE, 'Andika New Basic' => self::GOOGLE, 'Angkor' => self::GOOGLE, 'Annie Use Your Telescope' => self::GOOGLE, 'Anonymous Pro' => self::GOOGLE, 'Antic' => self::GOOGLE, 'Antic Didone' => self::GOOGLE, 'Antic Slab' => self::GOOGLE, 'Anton' => self::GOOGLE, 'Antonio' => self::GOOGLE, 'Arapey' => self::GOOGLE, 'Arbutus' => self::GOOGLE, 'Arbutus Slab' => self::GOOGLE, 'Architects Daughter' => self::GOOGLE, 'Archivo' => self::GOOGLE, 'Archivo Black' => self::GOOGLE, 'Archivo Narrow' => self::GOOGLE, 'Are You Serious' => self::GOOGLE, 'Aref Ruqaa' => self::GOOGLE, 'Arima Madurai' => self::GOOGLE, 'Arimo' => self::GOOGLE, 'Arizonia' => self::GOOGLE, 'Armata' => self::GOOGLE, 'Arsenal' => self::GOOGLE, 'Artifika' => self::GOOGLE, 'Arvo' => self::GOOGLE, 'Arya' => self::GOOGLE, 'Asap' => self::GOOGLE, 'Asap Condensed' => self::GOOGLE, 'Asar' => self::GOOGLE, 'Asset' => self::GOOGLE, 'Assistant' => self::GOOGLE, 'Astloch' => self::GOOGLE, 'Asul' => self::GOOGLE, 'Athiti' => self::GOOGLE, 'Atkinson Hyperlegible' => self::GOOGLE, 'Atma' => self::GOOGLE, 'Atomic Age' => self::GOOGLE, 'Aubrey' => self::GOOGLE, 'Audiowide' => self::GOOGLE, 'Autour One' => self::GOOGLE, 'Average' => self::GOOGLE, 'Average Sans' => self::GOOGLE, 'Averia Gruesa Libre' => self::GOOGLE, 'Averia Libre' => self::GOOGLE, 'Averia Sans Libre' => self::GOOGLE, 'Averia Serif Libre' => self::GOOGLE, 'Azeret Mono' => self::GOOGLE, 'B612' => self::GOOGLE, 'B612 Mono' => self::GOOGLE, 'Bad Script' => self::GOOGLE, 'Bahiana' => self::GOOGLE, 'Bahianita' => self::GOOGLE, 'Bai Jamjuree' => self::GOOGLE, 'Bakbak One' => self::GOOGLE, 'Ballet' => self::GOOGLE, 'Baloo 2' => self::GOOGLE, 'Baloo Bhai 2' => self::GOOGLE, 'Baloo Bhaijaan 2' => self::GOOGLE, 'Baloo Bhaina 2' => self::GOOGLE, 'Baloo Chettan 2' => self::GOOGLE, 'Baloo Da 2' => self::GOOGLE, 'Baloo Paaji 2' => self::GOOGLE, 'Baloo Tamma 2' => self::GOOGLE, 'Baloo Tammudu 2' => self::GOOGLE, 'Baloo Thambi 2' => self::GOOGLE, 'Balsamiq Sans' => self::GOOGLE, 'Balthazar' => self::GOOGLE, 'Bangers' => self::GOOGLE, 'Barlow' => self::GOOGLE, 'Barlow Condensed' => self::GOOGLE, 'Barlow Semi Condensed' => self::GOOGLE, 'Barriecito' => self::GOOGLE, 'Barrio' => self::GOOGLE, 'Basic' => self::GOOGLE, 'Baskervville' => self::GOOGLE, 'Battambang' => self::GOOGLE, 'Baumans' => self::GOOGLE, 'Bayon' => self::GOOGLE, 'Be Vietnam Pro' => self::GOOGLE, 'Bebas Neue' => self::GOOGLE, 'Belgrano' => self::GOOGLE, 'Bellefair' => self::GOOGLE, 'Belleza' => self::GOOGLE, 'Bellota' => self::GOOGLE, 'Bellota Text' => self::GOOGLE, 'BenchNine' => self::GOOGLE, 'Benne' => self::GOOGLE, 'Bentham' => self::GOOGLE, 'Berkshire Swash' => self::GOOGLE, 'Besley' => self::GOOGLE, 'Beth Ellen' => self::GOOGLE, 'Bevan' => self::GOOGLE, 'Big Shoulders Display' => self::GOOGLE, 'Big Shoulders Inline Display' => self::GOOGLE, 'Big Shoulders Inline Text' => self::GOOGLE, 'Big Shoulders Stencil Display' => self::GOOGLE, 'Big Shoulders Stencil Text' => self::GOOGLE, 'Big Shoulders Text' => self::GOOGLE, 'Bigelow Rules' => self::GOOGLE, 'Bigshot One' => self::GOOGLE, 'Bilbo' => self::GOOGLE, 'Bilbo Swash Caps' => self::GOOGLE, 'BioRhyme' => self::GOOGLE, 'BioRhyme Expanded' => self::GOOGLE, 'Birthstone' => self::GOOGLE, 'Birthstone Bounce' => self::GOOGLE, 'Biryani' => self::GOOGLE, 'Bitter' => self::GOOGLE, 'Black And White Picture' => self::GOOGLE, 'Black Han Sans' => self::GOOGLE, 'Black Ops One' => self::GOOGLE, 'Blinker' => self::GOOGLE, 'Bodoni Moda' => self::GOOGLE, 'Bokor' => self::GOOGLE, 'Bona Nova' => self::GOOGLE, 'Bonbon' => self::GOOGLE, 'Bonheur Royale' => self::GOOGLE, 'Boogaloo' => self::GOOGLE, 'Bowlby One' => self::GOOGLE, 'Bowlby One SC' => self::GOOGLE, 'Brawler' => self::GOOGLE, 'Bree Serif' => self::GOOGLE, 'Brygada 1918' => self::GOOGLE, 'Bubblegum Sans' => self::GOOGLE, 'Bubbler One' => self::GOOGLE, 'Buda' => self::GOOGLE, 'Buenard' => self::GOOGLE, 'Bungee' => self::GOOGLE, 'Bungee Hairline' => self::GOOGLE, 'Bungee Inline' => self::GOOGLE, 'Bungee Outline' => self::GOOGLE, 'Bungee Shade' => self::GOOGLE, 'Butcherman' => self::GOOGLE, 'Butterfly Kids' => self::GOOGLE, 'Cabin' => self::GOOGLE, 'Cabin Condensed' => self::GOOGLE, 'Cabin Sketch' => self::GOOGLE, 'Caesar Dressing' => self::GOOGLE, 'Cagliostro' => self::GOOGLE, 'Cairo' => self::GOOGLE, 'Caladea' => self::GOOGLE, 'Calistoga' => self::GOOGLE, 'Calligraffitti' => self::GOOGLE, 'Cambay' => self::GOOGLE, 'Cambo' => self::GOOGLE, 'Candal' => self::GOOGLE, 'Cantarell' => self::GOOGLE, 'Cantata One' => self::GOOGLE, 'Cantora One' => self::GOOGLE, 'Capriola' => self::GOOGLE, 'Caramel' => self::GOOGLE, 'Carattere' => self::GOOGLE, 'Cardo' => self::GOOGLE, 'Carme' => self::GOOGLE, 'Carrois Gothic' => self::GOOGLE, 'Carrois Gothic SC' => self::GOOGLE, 'Carter One' => self::GOOGLE, 'Castoro' => self::GOOGLE, 'Catamaran' => self::GOOGLE, 'Caudex' => self::GOOGLE, 'Caveat' => self::GOOGLE, 'Caveat Brush' => self::GOOGLE, 'Cedarville Cursive' => self::GOOGLE, 'Ceviche One' => self::GOOGLE, 'Chakra Petch' => self::GOOGLE, 'Changa' => self::GOOGLE, 'Changa One' => self::GOOGLE, 'Chango' => self::GOOGLE, 'Charm' => self::GOOGLE, 'Charmonman' => self::GOOGLE, 'Chathura' => self::GOOGLE, 'Chau Philomene One' => self::GOOGLE, 'Chela One' => self::GOOGLE, 'Chelsea Market' => self::GOOGLE, 'Chenla' => self::GOOGLE, 'Cherish' => self::GOOGLE, 'Cherry Cream Soda' => self::GOOGLE, 'Cherry Swash' => self::GOOGLE, 'Chewy' => self::GOOGLE, 'Chicle' => self::GOOGLE, 'Chilanka' => self::GOOGLE, 'Chivo' => self::GOOGLE, 'Chonburi' => self::GOOGLE, 'Cinzel' => self::GOOGLE, 'Cinzel Decorative' => self::GOOGLE, 'Clicker Script' => self::GOOGLE, 'Coda' => self::GOOGLE, 'Coda Caption' => self::GOOGLE, 'Codystar' => self::GOOGLE, 'Coiny' => self::GOOGLE, 'Combo' => self::GOOGLE, 'Comfortaa' => self::GOOGLE, 'Comforter' => self::GOOGLE, 'Comforter Brush' => self::GOOGLE, 'Comic Neue' => self::GOOGLE, 'Coming Soon' => self::GOOGLE, 'Commissioner' => self::GOOGLE, 'Concert One' => self::GOOGLE, 'Condiment' => self::GOOGLE, 'Content' => self::GOOGLE, 'Contrail One' => self::GOOGLE, 'Convergence' => self::GOOGLE, 'Cookie' => self::GOOGLE, 'Copse' => self::GOOGLE, 'Corben' => self::GOOGLE, 'Corinthia' => self::GOOGLE, 'Cormorant' => self::GOOGLE, 'Cormorant Garamond' => self::GOOGLE, 'Cormorant Infant' => self::GOOGLE, 'Cormorant SC' => self::GOOGLE, 'Cormorant Unicase' => self::GOOGLE, 'Cormorant Upright' => self::GOOGLE, 'Courgette' => self::GOOGLE, 'Courier Prime' => self::GOOGLE, 'Cousine' => self::GOOGLE, 'Coustard' => self::GOOGLE, 'Covered By Your Grace' => self::GOOGLE, 'Crafty Girls' => self::GOOGLE, 'Creepster' => self::GOOGLE, 'Crete Round' => self::GOOGLE, 'Crimson Pro' => self::GOOGLE, 'Croissant One' => self::GOOGLE, 'Crushed' => self::GOOGLE, 'Cuprum' => self::GOOGLE, 'Cute Font' => self::GOOGLE, 'Cutive' => self::GOOGLE, 'Cutive Mono' => self::GOOGLE, 'DM Mono' => self::GOOGLE, 'DM Sans' => self::GOOGLE, 'DM Serif Display' => self::GOOGLE, 'DM Serif Text' => self::GOOGLE, 'Damion' => self::GOOGLE, 'Dancing Script' => self::GOOGLE, 'Dangrek' => self::GOOGLE, 'Darker Grotesque' => self::GOOGLE, 'David Libre' => self::GOOGLE, 'Dawning of a New Day' => self::GOOGLE, 'Days One' => self::GOOGLE, 'Dekko' => self::GOOGLE, 'Dela Gothic One' => self::GOOGLE, 'Delius' => self::GOOGLE, 'Delius Swash Caps' => self::GOOGLE, 'Delius Unicase' => self::GOOGLE, 'Della Respira' => self::GOOGLE, 'Denk One' => self::GOOGLE, 'Devonshire' => self::GOOGLE, 'Dhurjati' => self::GOOGLE, 'Didact Gothic' => self::GOOGLE, 'Diplomata' => self::GOOGLE, 'Diplomata SC' => self::GOOGLE, 'Do Hyeon' => self::GOOGLE, 'Dokdo' => self::GOOGLE, 'Domine' => self::GOOGLE, 'Donegal One' => self::GOOGLE, 'Dongle' => self::GOOGLE, 'Doppio One' => self::GOOGLE, 'Dorsa' => self::GOOGLE, 'Dosis' => self::GOOGLE, 'DotGothic16' => self::GOOGLE, 'Dr Sugiyama' => self::GOOGLE, 'Droid Arabic Kufi' => self::EARLYACCESS, // Hack for Google Early Access. 'Droid Arabic Naskh' => self::EARLYACCESS, // Hack for Google Early Access. 'Duru Sans' => self::GOOGLE, 'Dynalight' => self::GOOGLE, 'EB Garamond' => self::GOOGLE, 'Eagle Lake' => self::GOOGLE, 'East Sea Dokdo' => self::GOOGLE, 'Eater' => self::GOOGLE, 'Economica' => self::GOOGLE, 'Eczar' => self::GOOGLE, 'El Messiri' => self::GOOGLE, 'Electrolize' => self::GOOGLE, 'Elsie' => self::GOOGLE, 'Elsie Swash Caps' => self::GOOGLE, 'Emblema One' => self::GOOGLE, 'Emilys Candy' => self::GOOGLE, 'Encode Sans' => self::GOOGLE, 'Encode Sans Condensed' => self::GOOGLE, 'Encode Sans Expanded' => self::GOOGLE, 'Encode Sans SC' => self::GOOGLE, 'Encode Sans Semi Condensed' => self::GOOGLE, 'Encode Sans Semi Expanded' => self::GOOGLE, 'Engagement' => self::GOOGLE, 'Englebert' => self::GOOGLE, 'Enriqueta' => self::GOOGLE, 'Ephesis' => self::GOOGLE, 'Epilogue' => self::GOOGLE, 'Erica One' => self::GOOGLE, 'Esteban' => self::GOOGLE, 'Estonia' => self::GOOGLE, 'Euphoria Script' => self::GOOGLE, 'Ewert' => self::GOOGLE, 'Exo' => self::GOOGLE, 'Exo 2' => self::GOOGLE, 'Expletus Sans' => self::GOOGLE, 'Explora' => self::GOOGLE, 'Fahkwang' => self::GOOGLE, 'Fanwood Text' => self::GOOGLE, 'Farro' => self::GOOGLE, 'Farsan' => self::GOOGLE, 'Fascinate' => self::GOOGLE, 'Fascinate Inline' => self::GOOGLE, 'Faster One' => self::GOOGLE, 'Fasthand' => self::GOOGLE, 'Fauna One' => self::GOOGLE, 'Faustina' => self::GOOGLE, 'Federant' => self::GOOGLE, 'Federo' => self::GOOGLE, 'Felipa' => self::GOOGLE, 'Fenix' => self::GOOGLE, 'Festive' => self::GOOGLE, 'Finger Paint' => self::GOOGLE, 'Fira Code' => self::GOOGLE, 'Fira Mono' => self::GOOGLE, 'Fira Sans' => self::GOOGLE, 'Fira Sans Condensed' => self::GOOGLE, 'Fira Sans Extra Condensed' => self::GOOGLE, 'Fjalla One' => self::GOOGLE, 'Fjord One' => self::GOOGLE, 'Flamenco' => self::GOOGLE, 'Flavors' => self::GOOGLE, 'Fleur De Leah' => self::GOOGLE, 'Flow Block' => self::GOOGLE, 'Flow Circular' => self::GOOGLE, 'Flow Rounded' => self::GOOGLE, 'Fondamento' => self::GOOGLE, 'Fontdiner Swanky' => self::GOOGLE, 'Forum' => self::GOOGLE, 'Francois One' => self::GOOGLE, 'Frank Ruhl Libre' => self::GOOGLE, 'Fraunces' => self::GOOGLE, 'Freckle Face' => self::GOOGLE, 'Fredericka the Great' => self::GOOGLE, 'Fredoka One' => self::GOOGLE, 'Freehand' => self::GOOGLE, 'Fresca' => self::GOOGLE, 'Frijole' => self::GOOGLE, 'Fruktur' => self::GOOGLE, 'Fugaz One' => self::GOOGLE, 'Fuggles' => self::GOOGLE, 'Fuzzy Bubbles' => self::GOOGLE, 'GFS Didot' => self::GOOGLE, 'GFS Neohellenic' => self::GOOGLE, 'Gabriela' => self::GOOGLE, 'Gaegu' => self::GOOGLE, 'Gafata' => self::GOOGLE, 'Galada' => self::GOOGLE, 'Galdeano' => self::GOOGLE, 'Galindo' => self::GOOGLE, 'Gamja Flower' => self::GOOGLE, 'Gayathri' => self::GOOGLE, 'Gelasio' => self::GOOGLE, 'Gemunu Libre' => self::GOOGLE, 'Genos' => self::GOOGLE, 'Gentium Basic' => self::GOOGLE, 'Gentium Book Basic' => self::GOOGLE, 'Geo' => self::GOOGLE, 'Georama' => self::GOOGLE, 'Geostar' => self::GOOGLE, 'Geostar Fill' => self::GOOGLE, 'Germania One' => self::GOOGLE, 'Gideon Roman' => self::GOOGLE, 'Gidugu' => self::GOOGLE, 'Gilda Display' => self::GOOGLE, 'Girassol' => self::GOOGLE, 'Give You Glory' => self::GOOGLE, 'Glass Antiqua' => self::GOOGLE, 'Glegoo' => self::GOOGLE, 'Gloria Hallelujah' => self::GOOGLE, 'Glory' => self::GOOGLE, 'Gluten' => self::GOOGLE, 'Goblin One' => self::GOOGLE, 'Gochi Hand' => self::GOOGLE, 'Goldman' => self::GOOGLE, 'Gorditas' => self::GOOGLE, 'Gothic A1' => self::GOOGLE, 'Gotu' => self::GOOGLE, 'Goudy Bookletter 1911' => self::GOOGLE, 'Gowun Batang' => self::GOOGLE, 'Gowun Dodum' => self::GOOGLE, 'Graduate' => self::GOOGLE, 'Grand Hotel' => self::GOOGLE, 'Grandstander' => self::GOOGLE, 'Gravitas One' => self::GOOGLE, 'Great Vibes' => self::GOOGLE, 'Grechen Fuemen' => self::GOOGLE, 'Grenze' => self::GOOGLE, 'Grenze Gotisch' => self::GOOGLE, 'Grey Qo' => self::GOOGLE, 'Griffy' => self::GOOGLE, 'Gruppo' => self::GOOGLE, 'Gudea' => self::GOOGLE, 'Gugi' => self::GOOGLE, 'Gupter' => self::GOOGLE, 'Gurajada' => self::GOOGLE, 'Gwendolyn' => self::GOOGLE, 'Habibi' => self::GOOGLE, 'Hachi Maru Pop' => self::GOOGLE, 'Hahmlet' => self::GOOGLE, 'Halant' => self::GOOGLE, 'Hammersmith One' => self::GOOGLE, 'Hanalei' => self::GOOGLE, 'Hanalei Fill' => self::GOOGLE, 'Handlee' => self::GOOGLE, 'Hanuman' => self::GOOGLE, 'Happy Monkey' => self::GOOGLE, 'Harmattan' => self::GOOGLE, 'Headland One' => self::GOOGLE, 'Heebo' => self::GOOGLE, 'Henny Penny' => self::GOOGLE, 'Hepta Slab' => self::GOOGLE, 'Herr Von Muellerhoff' => self::GOOGLE, 'Hi Melody' => self::GOOGLE, 'Hina Mincho' => self::GOOGLE, 'Hind' => self::GOOGLE, 'Hind Guntur' => self::GOOGLE, 'Hind Madurai' => self::GOOGLE, 'Hind Siliguri' => self::GOOGLE, 'Hind Vadodara' => self::GOOGLE, 'Holtwood One SC' => self::GOOGLE, 'Homemade Apple' => self::GOOGLE, 'Homenaje' => self::GOOGLE, 'Hurricane' => self::GOOGLE, 'IBM Plex Mono' => self::GOOGLE, 'IBM Plex Sans' => self::GOOGLE, 'IBM Plex Sans Arabic' => self::GOOGLE, 'IBM Plex Sans Condensed' => self::GOOGLE, 'IBM Plex Sans Devanagari' => self::GOOGLE, 'IBM Plex Sans Hebrew' => self::GOOGLE, 'IBM Plex Sans KR' => self::GOOGLE, 'IBM Plex Sans Thai' => self::GOOGLE, 'IBM Plex Sans Thai Looped' => self::GOOGLE, 'IBM Plex Serif' => self::GOOGLE, 'IM Fell DW Pica' => self::GOOGLE, 'IM Fell DW Pica SC' => self::GOOGLE, 'IM Fell Double Pica' => self::GOOGLE, 'IM Fell Double Pica SC' => self::GOOGLE, 'IM Fell English' => self::GOOGLE, 'IM Fell English SC' => self::GOOGLE, 'IM Fell French Canon' => self::GOOGLE, 'IM Fell French Canon SC' => self::GOOGLE, 'IM Fell Great Primer' => self::GOOGLE, 'IM Fell Great Primer SC' => self::GOOGLE, 'Ibarra Real Nova' => self::GOOGLE, 'Iceberg' => self::GOOGLE, 'Iceland' => self::GOOGLE, 'Imbue' => self::GOOGLE, 'Imperial Script' => self::GOOGLE, 'Imprima' => self::GOOGLE, 'Inconsolata' => self::GOOGLE, 'Inder' => self::GOOGLE, 'Indie Flower' => self::GOOGLE, 'Inika' => self::GOOGLE, 'Inknut Antiqua' => self::GOOGLE, 'Inria Sans' => self::GOOGLE, 'Inria Serif' => self::GOOGLE, 'Inspiration' => self::GOOGLE, 'Inter' => self::GOOGLE, 'Irish Grover' => self::GOOGLE, 'Island Moments' => self::GOOGLE, 'Istok Web' => self::GOOGLE, 'Italiana' => self::GOOGLE, 'Italianno' => self::GOOGLE, 'Itim' => self::GOOGLE, 'Jacques Francois' => self::GOOGLE, 'Jacques Francois Shadow' => self::GOOGLE, 'Jaldi' => self::GOOGLE, 'JetBrains Mono' => self::GOOGLE, 'Jim Nightshade' => self::GOOGLE, 'Jockey One' => self::GOOGLE, 'Jolly Lodger' => self::GOOGLE, 'Jomhuria' => self::GOOGLE, 'Jomolhari' => self::GOOGLE, 'Josefin Sans' => self::GOOGLE, 'Josefin Slab' => self::GOOGLE, 'Jost' => self::GOOGLE, 'Joti One' => self::GOOGLE, 'Jua' => self::GOOGLE, 'Judson' => self::GOOGLE, 'Julee' => self::GOOGLE, 'Julius Sans One' => self::GOOGLE, 'Junge' => self::GOOGLE, 'Jura' => self::GOOGLE, 'Just Another Hand' => self::GOOGLE, 'Just Me Again Down Here' => self::GOOGLE, 'K2D' => self::GOOGLE, 'Kadwa' => self::GOOGLE, 'Kaisei Decol' => self::GOOGLE, 'Kaisei HarunoUmi' => self::GOOGLE, 'Kaisei Opti' => self::GOOGLE, 'Kaisei Tokumin' => self::GOOGLE, 'Kalam' => self::GOOGLE, 'Kameron' => self::GOOGLE, 'Kanit' => self::GOOGLE, 'Kantumruy' => self::GOOGLE, 'Karantina' => self::GOOGLE, 'Karla' => self::GOOGLE, 'Karma' => self::GOOGLE, 'Katibeh' => self::GOOGLE, 'Kaushan Script' => self::GOOGLE, 'Kavivanar' => self::GOOGLE, 'Kavoon' => self::GOOGLE, 'Kdam Thmor' => self::GOOGLE, 'Keania One' => self::GOOGLE, 'Kelly Slab' => self::GOOGLE, 'Kenia' => self::GOOGLE, 'Khand' => self::GOOGLE, 'Khmer' => self::GOOGLE, 'Khula' => self::GOOGLE, 'Kings' => self::GOOGLE, 'Kirang Haerang' => self::GOOGLE, 'Kite One' => self::GOOGLE, 'Kiwi Maru' => self::GOOGLE, 'Klee One' => self::GOOGLE, 'Knewave' => self::GOOGLE, 'KoHo' => self::GOOGLE, 'Kodchasan' => self::GOOGLE, 'Koh Santepheap' => self::GOOGLE, 'Kolker Brush' => self::GOOGLE, 'Kosugi' => self::GOOGLE, 'Kosugi Maru' => self::GOOGLE, 'Kotta One' => self::GOOGLE, 'Koulen' => self::GOOGLE, 'Kranky' => self::GOOGLE, 'Kreon' => self::GOOGLE, 'Kristi' => self::GOOGLE, 'Krona One' => self::GOOGLE, 'Krub' => self::GOOGLE, 'Kufam' => self::GOOGLE, 'Kulim Park' => self::GOOGLE, 'Kumar One' => self::GOOGLE, 'Kumar One Outline' => self::GOOGLE, 'Kumbh Sans' => self::GOOGLE, 'Kurale' => self::GOOGLE, 'La Belle Aurore' => self::GOOGLE, 'Lacquer' => self::GOOGLE, 'Laila' => self::GOOGLE, 'Lakki Reddy' => self::GOOGLE, 'Lalezar' => self::GOOGLE, 'Lancelot' => self::GOOGLE, 'Langar' => self::GOOGLE, 'Lateef' => self::GOOGLE, 'Lato' => self::GOOGLE, 'League Script' => self::GOOGLE, 'Leckerli One' => self::GOOGLE, 'Ledger' => self::GOOGLE, 'Lekton' => self::GOOGLE, 'Lemon' => self::GOOGLE, 'Lemonada' => self::GOOGLE, 'Lexend' => self::GOOGLE, 'Lexend Deca' => self::GOOGLE, 'Lexend Exa' => self::GOOGLE, 'Lexend Giga' => self::GOOGLE, 'Lexend Mega' => self::GOOGLE, 'Lexend Peta' => self::GOOGLE, 'Lexend Tera' => self::GOOGLE, 'Lexend Zetta' => self::GOOGLE, 'Libre Barcode 128' => self::GOOGLE, 'Libre Barcode 128 Text' => self::GOOGLE, 'Libre Barcode 39' => self::GOOGLE, 'Libre Barcode 39 Extended' => self::GOOGLE, 'Libre Barcode 39 Extended Text' => self::GOOGLE, 'Libre Barcode 39 Text' => self::GOOGLE, 'Libre Barcode EAN13 Text' => self::GOOGLE, 'Libre Baskerville' => self::GOOGLE, 'Libre Caslon Display' => self::GOOGLE, 'Libre Caslon Text' => self::GOOGLE, 'Libre Franklin' => self::GOOGLE, 'Licorice' => self::GOOGLE, 'Life Savers' => self::GOOGLE, 'Lilita One' => self::GOOGLE, 'Lily Script One' => self::GOOGLE, 'Limelight' => self::GOOGLE, 'Linden Hill' => self::GOOGLE, 'Literata' => self::GOOGLE, 'Liu Jian Mao Cao' => self::GOOGLE, 'Livvic' => self::GOOGLE, 'Lobster' => self::GOOGLE, 'Lobster Two' => self::GOOGLE, 'Londrina Outline' => self::GOOGLE, 'Londrina Shadow' => self::GOOGLE, 'Londrina Sketch' => self::GOOGLE, 'Londrina Solid' => self::GOOGLE, 'Long Cang' => self::GOOGLE, 'Lora' => self::GOOGLE, 'Love Light' => self::GOOGLE, 'Love Ya Like A Sister' => self::GOOGLE, 'Loved by the King' => self::GOOGLE, 'Lovers Quarrel' => self::GOOGLE, 'Luckiest Guy' => self::GOOGLE, 'Lusitana' => self::GOOGLE, 'Lustria' => self::GOOGLE, 'Luxurious Roman' => self::GOOGLE, 'Luxurious Script' => self::GOOGLE, 'M PLUS 1' => self::GOOGLE, 'M PLUS 1 Code' => self::GOOGLE, 'M PLUS 1p' => self::GOOGLE, 'M PLUS 2' => self::GOOGLE, 'M PLUS Code Latin' => self::GOOGLE, 'M PLUS Rounded 1c' => self::GOOGLE, 'Ma Shan Zheng' => self::GOOGLE, 'Macondo' => self::GOOGLE, 'Macondo Swash Caps' => self::GOOGLE, 'Mada' => self::GOOGLE, 'Magra' => self::GOOGLE, 'Maiden Orange' => self::GOOGLE, 'Maitree' => self::GOOGLE, 'Major Mono Display' => self::GOOGLE, 'Mako' => self::GOOGLE, 'Mali' => self::GOOGLE, 'Mallanna' => self::GOOGLE, 'Mandali' => self::GOOGLE, 'Manjari' => self::GOOGLE, 'Manrope' => self::GOOGLE, 'Mansalva' => self::GOOGLE, 'Manuale' => self::GOOGLE, 'Marcellus' => self::GOOGLE, 'Marcellus SC' => self::GOOGLE, 'Marck Script' => self::GOOGLE, 'Margarine' => self::GOOGLE, 'Markazi Text' => self::GOOGLE, 'Marko One' => self::GOOGLE, 'Marmelad' => self::GOOGLE, 'Martel' => self::GOOGLE, 'Martel Sans' => self::GOOGLE, 'Marvel' => self::GOOGLE, 'Mate' => self::GOOGLE, 'Mate SC' => self::GOOGLE, 'Maven Pro' => self::GOOGLE, 'McLaren' => self::GOOGLE, 'Mea Culpa' => self::GOOGLE, 'Meddon' => self::GOOGLE, 'MedievalSharp' => self::GOOGLE, 'Medula One' => self::GOOGLE, 'Meera Inimai' => self::GOOGLE, 'Megrim' => self::GOOGLE, 'Meie Script' => self::GOOGLE, 'Meow Script' => self::GOOGLE, 'Merienda' => self::GOOGLE, 'Merienda One' => self::GOOGLE, 'Merriweather' => self::GOOGLE, 'Merriweather Sans' => self::GOOGLE, 'Metal' => self::GOOGLE, 'Metal Mania' => self::GOOGLE, 'Metamorphous' => self::GOOGLE, 'Metrophobic' => self::GOOGLE, 'Michroma' => self::GOOGLE, 'Milonga' => self::GOOGLE, 'Miltonian' => self::GOOGLE, 'Miltonian Tattoo' => self::GOOGLE, 'Mina' => self::GOOGLE, 'Miniver' => self::GOOGLE, 'Miriam Libre' => self::GOOGLE, 'Mirza' => self::GOOGLE, 'Miss Fajardose' => self::GOOGLE, 'Mitr' => self::GOOGLE, 'Mochiy Pop One' => self::GOOGLE, 'Mochiy Pop P One' => self::GOOGLE, 'Modak' => self::GOOGLE, 'Modern Antiqua' => self::GOOGLE, 'Mogra' => self::GOOGLE, 'Mohave' => self::GOOGLE, 'Molengo' => self::GOOGLE, 'Molle' => self::GOOGLE, 'Monda' => self::GOOGLE, 'Monofett' => self::GOOGLE, 'Monoton' => self::GOOGLE, 'Monsieur La Doulaise' => self::GOOGLE, 'Montaga' => self::GOOGLE, 'Montagu Slab' => self::GOOGLE, 'MonteCarlo' => self::GOOGLE, 'Montez' => self::GOOGLE, 'Montserrat' => self::GOOGLE, 'Montserrat Alternates' => self::GOOGLE, 'Montserrat Subrayada' => self::GOOGLE, 'Moo Lah Lah' => self::GOOGLE, 'Moon Dance' => self::GOOGLE, 'Moul' => self::GOOGLE, 'Moulpali' => self::GOOGLE, 'Mountains of Christmas' => self::GOOGLE, 'Mouse Memoirs' => self::GOOGLE, 'Mr Bedfort' => self::GOOGLE, 'Mr Dafoe' => self::GOOGLE, 'Mr De Haviland' => self::GOOGLE, 'Mrs Saint Delafield' => self::GOOGLE, 'Mrs Sheppards' => self::GOOGLE, 'Mukta' => self::GOOGLE, 'Mukta Mahee' => self::GOOGLE, 'Mukta Malar' => self::GOOGLE, 'Mukta Vaani' => self::GOOGLE, 'Mulish' => self::GOOGLE, 'Murecho' => self::GOOGLE, 'MuseoModerno' => self::GOOGLE, 'Mystery Quest' => self::GOOGLE, 'NTR' => self::GOOGLE, 'Nanum Brush Script' => self::GOOGLE, 'Nanum Gothic' => self::GOOGLE, 'Nanum Gothic Coding' => self::GOOGLE, 'Nanum Myeongjo' => self::GOOGLE, 'Nanum Pen Script' => self::GOOGLE, 'Neonderthaw' => self::GOOGLE, 'Nerko One' => self::GOOGLE, 'Neucha' => self::GOOGLE, 'Neuton' => self::GOOGLE, 'New Rocker' => self::GOOGLE, 'New Tegomin' => self::GOOGLE, 'News Cycle' => self::GOOGLE, 'Newsreader' => self::GOOGLE, 'Niconne' => self::GOOGLE, 'Niramit' => self::GOOGLE, 'Nixie One' => self::GOOGLE, 'Nobile' => self::GOOGLE, 'Nokora' => self::GOOGLE, 'Norican' => self::GOOGLE, 'Nosifer' => self::GOOGLE, 'Notable' => self::GOOGLE, 'Nothing You Could Do' => self::GOOGLE, 'Noticia Text' => self::GOOGLE, 'Noto Kufi Arabic' => self::EARLYACCESS, // Hack for Google Early Access. 'Noto Music' => self::GOOGLE, 'Noto Naskh Arabic' => self::EARLYACCESS, // Hack for Google Early Access. 'Noto Nastaliq Urdu' => self::GOOGLE, 'Noto Rashi Hebrew' => self::GOOGLE, 'Noto Sans' => self::GOOGLE, 'Noto Sans Adlam' => self::GOOGLE, 'Noto Sans Adlam Unjoined' => self::GOOGLE, 'Noto Sans Anatolian Hieroglyphs' => self::GOOGLE, 'Noto Sans Arabic' => self::GOOGLE, 'Noto Sans Armenian' => self::GOOGLE, 'Noto Sans Avestan' => self::GOOGLE, 'Noto Sans Balinese' => self::GOOGLE, 'Noto Sans Bamum' => self::GOOGLE, 'Noto Sans Bassa Vah' => self::GOOGLE, 'Noto Sans Batak' => self::GOOGLE, 'Noto Sans Bengali' => self::GOOGLE, 'Noto Sans Bhaiksuki' => self::GOOGLE, 'Noto Sans Brahmi' => self::GOOGLE, 'Noto Sans Buginese' => self::GOOGLE, 'Noto Sans Buhid' => self::GOOGLE, 'Noto Sans Canadian Aboriginal' => self::GOOGLE, 'Noto Sans Carian' => self::GOOGLE, 'Noto Sans Caucasian Albanian' => self::GOOGLE, 'Noto Sans Chakma' => self::GOOGLE, 'Noto Sans Cham' => self::GOOGLE, 'Noto Sans Cherokee' => self::GOOGLE, 'Noto Sans Coptic' => self::GOOGLE, 'Noto Sans Cuneiform' => self::GOOGLE, 'Noto Sans Cypriot' => self::GOOGLE, 'Noto Sans Deseret' => self::GOOGLE, 'Noto Sans Devanagari' => self::GOOGLE, 'Noto Sans Display' => self::GOOGLE, 'Noto Sans Duployan' => self::GOOGLE, 'Noto Sans Egyptian Hieroglyphs' => self::GOOGLE, 'Noto Sans Elbasan' => self::GOOGLE, 'Noto Sans Elymaic' => self::GOOGLE, 'Noto Sans Georgian' => self::GOOGLE, 'Noto Sans Glagolitic' => self::GOOGLE, 'Noto Sans Gothic' => self::GOOGLE, 'Noto Sans Grantha' => self::GOOGLE, 'Noto Sans Gujarati' => self::GOOGLE, 'Noto Sans Gunjala Gondi' => self::GOOGLE, 'Noto Sans Gurmukhi' => self::GOOGLE, 'Noto Sans HK' => self::GOOGLE, 'Noto Sans Hanifi Rohingya' => self::GOOGLE, 'Noto Sans Hanunoo' => self::GOOGLE, 'Noto Sans Hatran' => self::GOOGLE, 'Noto Sans Hebrew' => self::EARLYACCESS, // Hack for Google Early Access. 'Noto Sans Imperial Aramaic' => self::GOOGLE, 'Noto Sans Indic Siyaq Numbers' => self::GOOGLE, 'Noto Sans Inscriptional Pahlavi' => self::GOOGLE, 'Noto Sans Inscriptional Parthian' => self::GOOGLE, 'Noto Sans JP' => self::GOOGLE, 'Noto Sans Javanese' => self::GOOGLE, 'Noto Sans KR' => self::GOOGLE, 'Noto Sans Kaithi' => self::GOOGLE, 'Noto Sans Kannada' => self::GOOGLE, 'Noto Sans Kayah Li' => self::GOOGLE, 'Noto Sans Kharoshthi' => self::GOOGLE, 'Noto Sans Khmer' => self::GOOGLE, 'Noto Sans Khojki' => self::GOOGLE, 'Noto Sans Khudawadi' => self::GOOGLE, 'Noto Sans Lao' => self::GOOGLE, 'Noto Sans Lepcha' => self::GOOGLE, 'Noto Sans Limbu' => self::GOOGLE, 'Noto Sans Linear A' => self::GOOGLE, 'Noto Sans Linear B' => self::GOOGLE, 'Noto Sans Lisu' => self::GOOGLE, 'Noto Sans Lycian' => self::GOOGLE, 'Noto Sans Lydian' => self::GOOGLE, 'Noto Sans Mahajani' => self::GOOGLE, 'Noto Sans Malayalam' => self::GOOGLE, 'Noto Sans Mandaic' => self::GOOGLE, 'Noto Sans Manichaean' => self::GOOGLE, 'Noto Sans Marchen' => self::GOOGLE, 'Noto Sans Masaram Gondi' => self::GOOGLE, 'Noto Sans Math' => self::GOOGLE, 'Noto Sans Mayan Numerals' => self::GOOGLE, 'Noto Sans Medefaidrin' => self::GOOGLE, 'Noto Sans Meetei Mayek' => self::GOOGLE, 'Noto Sans Meroitic' => self::GOOGLE, 'Noto Sans Miao' => self::GOOGLE, 'Noto Sans Modi' => self::GOOGLE, 'Noto Sans Mongolian' => self::GOOGLE, 'Noto Sans Mono' => self::GOOGLE, 'Noto Sans Mro' => self::GOOGLE, 'Noto Sans Multani' => self::GOOGLE, 'Noto Sans Myanmar' => self::GOOGLE, 'Noto Sans N Ko' => self::GOOGLE, 'Noto Sans Nabataean' => self::GOOGLE, 'Noto Sans New Tai Lue' => self::GOOGLE, 'Noto Sans Newa' => self::GOOGLE, 'Noto Sans Nushu' => self::GOOGLE, 'Noto Sans Ogham' => self::GOOGLE, 'Noto Sans Ol Chiki' => self::GOOGLE, 'Noto Sans Old Hungarian' => self::GOOGLE, 'Noto Sans Old Italic' => self::GOOGLE, 'Noto Sans Old North Arabian' => self::GOOGLE, 'Noto Sans Old Permic' => self::GOOGLE, 'Noto Sans Old Persian' => self::GOOGLE, 'Noto Sans Old Sogdian' => self::GOOGLE, 'Noto Sans Old South Arabian' => self::GOOGLE, 'Noto Sans Old Turkic' => self::GOOGLE, 'Noto Sans Oriya' => self::GOOGLE, 'Noto Sans Osage' => self::GOOGLE, 'Noto Sans Osmanya' => self::GOOGLE, 'Noto Sans Pahawh Hmong' => self::GOOGLE, 'Noto Sans Palmyrene' => self::GOOGLE, 'Noto Sans Pau Cin Hau' => self::GOOGLE, 'Noto Sans Phags Pa' => self::GOOGLE, 'Noto Sans Phoenician' => self::GOOGLE, 'Noto Sans Psalter Pahlavi' => self::GOOGLE, 'Noto Sans Rejang' => self::GOOGLE, 'Noto Sans Runic' => self::GOOGLE, 'Noto Sans SC' => self::GOOGLE, 'Noto Sans Samaritan' => self::GOOGLE, 'Noto Sans Saurashtra' => self::GOOGLE, 'Noto Sans Sharada' => self::GOOGLE, 'Noto Sans Shavian' => self::GOOGLE, 'Noto Sans Siddham' => self::GOOGLE, 'Noto Sans Sinhala' => self::GOOGLE, 'Noto Sans Sogdian' => self::GOOGLE, 'Noto Sans Sora Sompeng' => self::GOOGLE, 'Noto Sans Soyombo' => self::GOOGLE, 'Noto Sans Sundanese' => self::GOOGLE, 'Noto Sans Syloti Nagri' => self::GOOGLE, 'Noto Sans Symbols' => self::GOOGLE, 'Noto Sans Symbols 2' => self::GOOGLE, 'Noto Sans Syriac' => self::GOOGLE, 'Noto Sans TC' => self::GOOGLE, 'Noto Sans Tagalog' => self::GOOGLE, 'Noto Sans Tagbanwa' => self::GOOGLE, 'Noto Sans Tai Le' => self::GOOGLE, 'Noto Sans Tai Tham' => self::GOOGLE, 'Noto Sans Tai Viet' => self::GOOGLE, 'Noto Sans Takri' => self::GOOGLE, 'Noto Sans Tamil' => self::GOOGLE, 'Noto Sans Tamil Supplement' => self::GOOGLE, 'Noto Sans Telugu' => self::GOOGLE, 'Noto Sans Thaana' => self::GOOGLE, 'Noto Sans Thai' => self::GOOGLE, 'Noto Sans Thai Looped' => self::GOOGLE, 'Noto Sans Tifinagh' => self::GOOGLE, 'Noto Sans Tirhuta' => self::GOOGLE, 'Noto Sans Ugaritic' => self::GOOGLE, 'Noto Sans Vai' => self::GOOGLE, 'Noto Sans Wancho' => self::GOOGLE, 'Noto Sans Warang Citi' => self::GOOGLE, 'Noto Sans Yi' => self::GOOGLE, 'Noto Sans Zanabazar Square' => self::GOOGLE, 'Noto Serif' => self::GOOGLE, 'Noto Serif Ahom' => self::GOOGLE, 'Noto Serif Armenian' => self::GOOGLE, 'Noto Serif Balinese' => self::GOOGLE, 'Noto Serif Bengali' => self::GOOGLE, 'Noto Serif Devanagari' => self::GOOGLE, 'Noto Serif Display' => self::GOOGLE, 'Noto Serif Dogra' => self::GOOGLE, 'Noto Serif Ethiopic' => self::GOOGLE, 'Noto Serif Georgian' => self::GOOGLE, 'Noto Serif Grantha' => self::GOOGLE, 'Noto Serif Gujarati' => self::GOOGLE, 'Noto Serif Gurmukhi' => self::GOOGLE, 'Noto Serif Hebrew' => self::GOOGLE, 'Noto Serif JP' => self::GOOGLE, 'Noto Serif KR' => self::GOOGLE, 'Noto Serif Kannada' => self::GOOGLE, 'Noto Serif Khmer' => self::GOOGLE, 'Noto Serif Lao' => self::GOOGLE, 'Noto Serif Malayalam' => self::GOOGLE, 'Noto Serif Myanmar' => self::GOOGLE, 'Noto Serif Nyiakeng Puachue Hmong' => self::GOOGLE, 'Noto Serif SC' => self::GOOGLE, 'Noto Serif Sinhala' => self::GOOGLE, 'Noto Serif TC' => self::GOOGLE, 'Noto Serif Tamil' => self::GOOGLE, 'Noto Serif Tangut' => self::GOOGLE, 'Noto Serif Telugu' => self::GOOGLE, 'Noto Serif Thai' => self::GOOGLE, 'Noto Serif Tibetan' => self::GOOGLE, 'Noto Serif Yezidi' => self::GOOGLE, 'Noto Traditional Nushu' => self::GOOGLE, 'Nova Cut' => self::GOOGLE, 'Nova Flat' => self::GOOGLE, 'Nova Mono' => self::GOOGLE, 'Nova Oval' => self::GOOGLE, 'Nova Round' => self::GOOGLE, 'Nova Script' => self::GOOGLE, 'Nova Slim' => self::GOOGLE, 'Nova Square' => self::GOOGLE, 'Numans' => self::GOOGLE, 'Nunito' => self::GOOGLE, 'Nunito Sans' => self::GOOGLE, 'Odibee Sans' => self::GOOGLE, 'Odor Mean Chey' => self::GOOGLE, 'Offside' => self::GOOGLE, 'Oi' => self::GOOGLE, 'Old Standard TT' => self::GOOGLE, 'Oldenburg' => self::GOOGLE, 'Ole' => self::GOOGLE, 'Oleo Script' => self::GOOGLE, 'Oleo Script Swash Caps' => self::GOOGLE, 'Oooh Baby' => self::GOOGLE, 'Open Sans' => self::GOOGLE, 'Open Sans Condensed' => self::GOOGLE, 'Open Sans Hebrew' => self::EARLYACCESS, // Hack for Google Early Access. 'Open Sans Hebrew Condensed' => self::EARLYACCESS, // Hack for Google Early Access. 'Oranienbaum' => self::GOOGLE, 'Orbitron' => self::GOOGLE, 'Oregano' => self::GOOGLE, 'Orelega One' => self::GOOGLE, 'Orienta' => self::GOOGLE, 'Original Surfer' => self::GOOGLE, 'Oswald' => self::GOOGLE, 'Otomanopee One' => self::GOOGLE, 'Outfit' => self::GOOGLE, 'Over the Rainbow' => self::GOOGLE, 'Overlock' => self::GOOGLE, 'Overlock SC' => self::GOOGLE, 'Overpass' => self::GOOGLE, 'Overpass Mono' => self::GOOGLE, 'Ovo' => self::GOOGLE, 'Oxanium' => self::GOOGLE, 'Oxygen' => self::GOOGLE, 'Oxygen Mono' => self::GOOGLE, 'PT Mono' => self::GOOGLE, 'PT Sans' => self::GOOGLE, 'PT Sans Caption' => self::GOOGLE, 'PT Sans Narrow' => self::GOOGLE, 'PT Serif' => self::GOOGLE, 'PT Serif Caption' => self::GOOGLE, 'Pacifico' => self::GOOGLE, 'Padauk' => self::GOOGLE, 'Palanquin' => self::GOOGLE, 'Palanquin Dark' => self::GOOGLE, 'Palette Mosaic' => self::GOOGLE, 'Pangolin' => self::GOOGLE, 'Paprika' => self::GOOGLE, 'Parisienne' => self::GOOGLE, 'Passero One' => self::GOOGLE, 'Passion One' => self::GOOGLE, 'Passions Conflict' => self::GOOGLE, 'Pathway Gothic One' => self::GOOGLE, 'Patrick Hand' => self::GOOGLE, 'Patrick Hand SC' => self::GOOGLE, 'Pattaya' => self::GOOGLE, 'Patua One' => self::GOOGLE, 'Pavanam' => self::GOOGLE, 'Paytone One' => self::GOOGLE, 'Peddana' => self::GOOGLE, 'Peralta' => self::GOOGLE, 'Permanent Marker' => self::GOOGLE, 'Petemoss' => self::GOOGLE, 'Petit Formal Script' => self::GOOGLE, 'Petrona' => self::GOOGLE, 'Philosopher' => self::GOOGLE, 'Piazzolla' => self::GOOGLE, 'Piedra' => self::GOOGLE, 'Pinyon Script' => self::GOOGLE, 'Pirata One' => self::GOOGLE, 'Plaster' => self::GOOGLE, 'Play' => self::GOOGLE, 'Playball' => self::GOOGLE, 'Playfair Display' => self::GOOGLE, 'Playfair Display SC' => self::GOOGLE, 'Podkova' => self::GOOGLE, 'Poiret One' => self::GOOGLE, 'Poller One' => self::GOOGLE, 'Poly' => self::GOOGLE, 'Pompiere' => self::GOOGLE, 'Pontano Sans' => self::GOOGLE, 'Poor Story' => self::GOOGLE, 'Poppins' => self::GOOGLE, 'Port Lligat Sans' => self::GOOGLE, 'Port Lligat Slab' => self::GOOGLE, 'Potta One' => self::GOOGLE, 'Pragati Narrow' => self::GOOGLE, 'Praise' => self::GOOGLE, 'Prata' => self::GOOGLE, 'Preahvihear' => self::GOOGLE, 'Press Start 2P' => self::GOOGLE, 'Pridi' => self::GOOGLE, 'Princess Sofia' => self::GOOGLE, 'Prociono' => self::GOOGLE, 'Prompt' => self::GOOGLE, 'Prosto One' => self::GOOGLE, 'Proza Libre' => self::GOOGLE, 'Public Sans' => self::GOOGLE, 'Puppies Play' => self::GOOGLE, 'Puritan' => self::GOOGLE, 'Purple Purse' => self::GOOGLE, 'Qahiri' => self::GOOGLE, 'Quando' => self::GOOGLE, 'Quantico' => self::GOOGLE, 'Quattrocento' => self::GOOGLE, 'Quattrocento Sans' => self::GOOGLE, 'Questrial' => self::GOOGLE, 'Quicksand' => self::GOOGLE, 'Quintessential' => self::GOOGLE, 'Qwigley' => self::GOOGLE, 'Qwitcher Grypen' => self::GOOGLE, 'Racing Sans One' => self::GOOGLE, 'Radley' => self::GOOGLE, 'Rajdhani' => self::GOOGLE, 'Rakkas' => self::GOOGLE, 'Raleway' => self::GOOGLE, 'Raleway Dots' => self::GOOGLE, 'Ramabhadra' => self::GOOGLE, 'Ramaraja' => self::GOOGLE, 'Rambla' => self::GOOGLE, 'Rammetto One' => self::GOOGLE, 'Rampart One' => self::GOOGLE, 'Ranchers' => self::GOOGLE, 'Rancho' => self::GOOGLE, 'Ranga' => self::GOOGLE, 'Rasa' => self::GOOGLE, 'Rationale' => self::GOOGLE, 'Ravi Prakash' => self::GOOGLE, 'Readex Pro' => self::GOOGLE, 'Recursive' => self::GOOGLE, 'Red Hat Display' => self::GOOGLE, 'Red Hat Mono' => self::GOOGLE, 'Red Hat Text' => self::GOOGLE, 'Red Rose' => self::GOOGLE, 'Redacted' => self::GOOGLE, 'Redacted Script' => self::GOOGLE, 'Redressed' => self::GOOGLE, 'Reem Kufi' => self::GOOGLE, 'Reenie Beanie' => self::GOOGLE, 'Reggae One' => self::GOOGLE, 'Revalia' => self::GOOGLE, 'Rhodium Libre' => self::GOOGLE, 'Ribeye' => self::GOOGLE, 'Ribeye Marrow' => self::GOOGLE, 'Righteous' => self::GOOGLE, 'Risque' => self::GOOGLE, 'Road Rage' => self::GOOGLE, 'Roboto' => self::GOOGLE, 'Roboto Condensed' => self::GOOGLE, 'Roboto Mono' => self::GOOGLE, 'Roboto Slab' => self::GOOGLE, 'Rochester' => self::GOOGLE, 'Rock 3D' => self::GOOGLE, 'Rock Salt' => self::GOOGLE, 'RocknRoll One' => self::GOOGLE, 'Rokkitt' => self::GOOGLE, 'Romanesco' => self::GOOGLE, 'Ropa Sans' => self::GOOGLE, 'Rosario' => self::GOOGLE, 'Rosarivo' => self::GOOGLE, 'Rouge Script' => self::GOOGLE, 'Rowdies' => self::GOOGLE, 'Rozha One' => self::GOOGLE, 'Rubik' => self::GOOGLE, 'Rubik Beastly' => self::GOOGLE, 'Rubik Mono One' => self::GOOGLE, 'Ruda' => self::GOOGLE, 'Rufina' => self::GOOGLE, 'Ruge Boogie' => self::GOOGLE, 'Ruluko' => self::GOOGLE, 'Rum Raisin' => self::GOOGLE, 'Ruslan Display' => self::GOOGLE, 'Russo One' => self::GOOGLE, 'Ruthie' => self::GOOGLE, 'Rye' => self::GOOGLE, 'STIX Two Text' => self::GOOGLE, 'Sacramento' => self::GOOGLE, 'Sahitya' => self::GOOGLE, 'Sail' => self::GOOGLE, 'Saira' => self::GOOGLE, 'Saira Condensed' => self::GOOGLE, 'Saira Extra Condensed' => self::GOOGLE, 'Saira Semi Condensed' => self::GOOGLE, 'Saira Stencil One' => self::GOOGLE, 'Salsa' => self::GOOGLE, 'Sanchez' => self::GOOGLE, 'Sancreek' => self::GOOGLE, 'Sansita' => self::GOOGLE, 'Sansita Swashed' => self::GOOGLE, 'Sarabun' => self::GOOGLE, 'Sarala' => self::GOOGLE, 'Sarina' => self::GOOGLE, 'Sarpanch' => self::GOOGLE, 'Sassy Frass' => self::GOOGLE, 'Satisfy' => self::GOOGLE, 'Sawarabi Gothic' => self::GOOGLE, 'Sawarabi Mincho' => self::GOOGLE, 'Scada' => self::GOOGLE, 'Scheherazade New' => self::GOOGLE, 'Schoolbell' => self::GOOGLE, 'Scope One' => self::GOOGLE, 'Seaweed Script' => self::GOOGLE, 'Secular One' => self::GOOGLE, 'Sedgwick Ave' => self::GOOGLE, 'Sedgwick Ave Display' => self::GOOGLE, 'Sen' => self::GOOGLE, 'Sevillana' => self::GOOGLE, 'Seymour One' => self::GOOGLE, 'Shadows Into Light' => self::GOOGLE, 'Shadows Into Light Two' => self::GOOGLE, 'Shalimar' => self::GOOGLE, 'Shanti' => self::GOOGLE, 'Share' => self::GOOGLE, 'Share Tech' => self::GOOGLE, 'Share Tech Mono' => self::GOOGLE, 'Shippori Antique' => self::GOOGLE, 'Shippori Antique B1' => self::GOOGLE, 'Shippori Mincho' => self::GOOGLE, 'Shippori Mincho B1' => self::GOOGLE, 'Shizuru' => self::GOOGLE, 'Shojumaru' => self::GOOGLE, 'Short Stack' => self::GOOGLE, 'Shrikhand' => self::GOOGLE, 'Siemreap' => self::GOOGLE, 'Sigmar One' => self::GOOGLE, 'Signika' => self::GOOGLE, 'Signika Negative' => self::GOOGLE, 'Simonetta' => self::GOOGLE, 'Single Day' => self::GOOGLE, 'Sintony' => self::GOOGLE, 'Sirin Stencil' => self::GOOGLE, 'Six Caps' => self::GOOGLE, 'Skranji' => self::GOOGLE, 'Slabo 13px' => self::GOOGLE, 'Slabo 27px' => self::GOOGLE, 'Slackey' => self::GOOGLE, 'Smokum' => self::GOOGLE, 'Smooch' => self::GOOGLE, 'Smythe' => self::GOOGLE, 'Sniglet' => self::GOOGLE, 'Snippet' => self::GOOGLE, 'Snowburst One' => self::GOOGLE, 'Sofadi One' => self::GOOGLE, 'Sofia' => self::GOOGLE, 'Solway' => self::GOOGLE, 'Song Myung' => self::GOOGLE, 'Sonsie One' => self::GOOGLE, 'Sora' => self::GOOGLE, 'Sorts Mill Goudy' => self::GOOGLE, 'Source Code Pro' => self::GOOGLE, 'Source Sans 3' => self::GOOGLE, 'Source Sans Pro' => self::GOOGLE, 'Source Serif 4' => self::GOOGLE, 'Source Serif Pro' => self::GOOGLE, 'Space Grotesk' => self::GOOGLE, 'Space Mono' => self::GOOGLE, 'Spartan' => self::GOOGLE, 'Special Elite' => self::GOOGLE, 'Spectral' => self::GOOGLE, 'Spectral SC' => self::GOOGLE, 'Spicy Rice' => self::GOOGLE, 'Spinnaker' => self::GOOGLE, 'Spirax' => self::GOOGLE, 'Spline Sans' => self::GOOGLE, 'Squada One' => self::GOOGLE, 'Sree Krushnadevaraya' => self::GOOGLE, 'Sriracha' => self::GOOGLE, 'Srisakdi' => self::GOOGLE, 'Staatliches' => self::GOOGLE, 'Stalemate' => self::GOOGLE, 'Stalinist One' => self::GOOGLE, 'Stardos Stencil' => self::GOOGLE, 'Stick' => self::GOOGLE, 'Stick No Bills' => self::GOOGLE, 'Stint Ultra Condensed' => self::GOOGLE, 'Stint Ultra Expanded' => self::GOOGLE, 'Stoke' => self::GOOGLE, 'Strait' => self::GOOGLE, 'Style Script' => self::GOOGLE, 'Stylish' => self::GOOGLE, 'Sue Ellen Francisco' => self::GOOGLE, 'Suez One' => self::GOOGLE, 'Sulphur Point' => self::GOOGLE, 'Sumana' => self::GOOGLE, 'Sunflower' => self::GOOGLE, 'Sunshiney' => self::GOOGLE, 'Supermercado One' => self::GOOGLE, 'Sura' => self::GOOGLE, 'Suranna' => self::GOOGLE, 'Suravaram' => self::GOOGLE, 'Suwannaphum' => self::GOOGLE, 'Swanky and Moo Moo' => self::GOOGLE, 'Syncopate' => self::GOOGLE, 'Syne' => self::GOOGLE, 'Syne Mono' => self::GOOGLE, 'Syne Tactile' => self::GOOGLE, 'Tajawal' => self::GOOGLE, 'Tangerine' => self::GOOGLE, 'Taprom' => self::GOOGLE, 'Tauri' => self::GOOGLE, 'Taviraj' => self::GOOGLE, 'Teko' => self::GOOGLE, 'Telex' => self::GOOGLE, 'Tenali Ramakrishna' => self::GOOGLE, 'Tenor Sans' => self::GOOGLE, 'Text Me One' => self::GOOGLE, 'Texturina' => self::GOOGLE, 'Thasadith' => self::GOOGLE, 'The Girl Next Door' => self::GOOGLE, 'The Nautigal' => self::GOOGLE, 'Tienne' => self::GOOGLE, 'Tillana' => self::GOOGLE, 'Timmana' => self::GOOGLE, 'Tinos' => self::GOOGLE, 'Titan One' => self::GOOGLE, 'Titillium Web' => self::GOOGLE, 'Tomorrow' => self::GOOGLE, 'Tourney' => self::GOOGLE, 'Trade Winds' => self::GOOGLE, 'Train One' => self::GOOGLE, 'Trirong' => self::GOOGLE, 'Trispace' => self::GOOGLE, 'Trocchi' => self::GOOGLE, 'Trochut' => self::GOOGLE, 'Truculenta' => self::GOOGLE, 'Trykker' => self::GOOGLE, 'Tulpen One' => self::GOOGLE, 'Turret Road' => self::GOOGLE, 'Twinkle Star' => self::GOOGLE, 'Ubuntu' => self::GOOGLE, 'Ubuntu Condensed' => self::GOOGLE, 'Ubuntu Mono' => self::GOOGLE, 'Uchen' => self::GOOGLE, 'Ultra' => self::GOOGLE, 'Uncial Antiqua' => self::GOOGLE, 'Underdog' => self::GOOGLE, 'Unica One' => self::GOOGLE, 'UnifrakturCook' => self::GOOGLE, 'UnifrakturMaguntia' => self::GOOGLE, 'Unkempt' => self::GOOGLE, 'Unlock' => self::GOOGLE, 'Unna' => self::GOOGLE, 'Urbanist' => self::GOOGLE, 'VT323' => self::GOOGLE, 'Vampiro One' => self::GOOGLE, 'Varela' => self::GOOGLE, 'Varela Round' => self::GOOGLE, 'Varta' => self::GOOGLE, 'Vast Shadow' => self::GOOGLE, 'Vesper Libre' => self::GOOGLE, 'Viaoda Libre' => self::GOOGLE, 'Vibes' => self::GOOGLE, 'Vibur' => self::GOOGLE, 'Vidaloka' => self::GOOGLE, 'Viga' => self::GOOGLE, 'Voces' => self::GOOGLE, 'Volkhov' => self::GOOGLE, 'Vollkorn' => self::GOOGLE, 'Vollkorn SC' => self::GOOGLE, 'Voltaire' => self::GOOGLE, 'Vujahday Script' => self::GOOGLE, 'Waiting for the Sunrise' => self::GOOGLE, 'Wallpoet' => self::GOOGLE, 'Walter Turncoat' => self::GOOGLE, 'Warnes' => self::GOOGLE, 'Waterfall' => self::GOOGLE, 'Wellfleet' => self::GOOGLE, 'Wendy One' => self::GOOGLE, 'WindSong' => self::GOOGLE, 'Wire One' => self::GOOGLE, 'Work Sans' => self::GOOGLE, 'Xanh Mono' => self::GOOGLE, 'Yaldevi' => self::GOOGLE, 'Yanone Kaffeesatz' => self::GOOGLE, 'Yantramanav' => self::GOOGLE, 'Yatra One' => self::GOOGLE, 'Yellowtail' => self::GOOGLE, 'Yeon Sung' => self::GOOGLE, 'Yeseva One' => self::GOOGLE, 'Yesteryear' => self::GOOGLE, 'Yomogi' => self::GOOGLE, 'Yrsa' => self::GOOGLE, 'Yuji Boku' => self::GOOGLE, 'Yuji Hentaigana Akari' => self::GOOGLE, 'Yuji Hentaigana Akebono' => self::GOOGLE, 'Yuji Mai' => self::GOOGLE, 'Yuji Syuku' => self::GOOGLE, 'Yusei Magic' => self::GOOGLE, 'ZCOOL KuaiLe' => self::GOOGLE, 'ZCOOL QingKe HuangYou' => self::GOOGLE, 'ZCOOL XiaoWei' => self::GOOGLE, 'Zen Antique' => self::GOOGLE, 'Zen Antique Soft' => self::GOOGLE, 'Zen Dots' => self::GOOGLE, 'Zen Kaku Gothic Antique' => self::GOOGLE, 'Zen Kaku Gothic New' => self::GOOGLE, 'Zen Kurenaido' => self::GOOGLE, 'Zen Loop' => self::GOOGLE, 'Zen Maru Gothic' => self::GOOGLE, 'Zen Old Mincho' => self::GOOGLE, 'Zen Tokyo Zoo' => self::GOOGLE, 'Zeyada' => self::GOOGLE, 'Zhi Mang Xing' => self::GOOGLE, 'Zilla Slab' => self::GOOGLE, 'Zilla Slab Highlight' => self::GOOGLE, ]; } /** * Get font type. * * Retrieve the font type for a given font. * * @since 1.0.0 * @access public * @static * * @param string $name Font name. * * @return string|false Font type, or false if font doesn't exist. */ public static function get_font_type( $name ) { $fonts = self::get_fonts(); if ( empty( $fonts[ $name ] ) ) { return false; } return $fonts[ $name ]; } /** * Get fonts by group. * * Retrieve all the fonts belong to specific group. * * @since 1.0.0 * @access public * @static * * @param array $groups Optional. Font group. Default is an empty array. * * @return array Font type, or false if font doesn't exist. */ public static function get_fonts_by_groups( $groups = [] ) { return array_filter( self::get_fonts(), function( $font ) use ( $groups ) { return in_array( $font, $groups ); } ); } public static function get_font_display_setting() { return get_option( 'elementor_font_display', 'auto' ); } } includes/db.php000064400000035302152377341010007456 0ustar00documents->get( $post_id )->get_elements_raw_data( null, true )` OR `Plugin::$instance->documents->get_doc_or_auto_save( $post_id )->get_elements_raw_data( null, true )` instead * @access public * * @param int $post_id Post ID. * @param string $status Optional. Post status. Default is `publish`. * * @return array Editor data. */ public function get_builder( $post_id, $status = Document::STATUS_PUBLISH ) { Plugin::$instance->modules_manager ->get_modules( 'dev-tools' ) ->deprecation ->deprecated_function( __METHOD__, '3.1.0', '`Plugin::$instance->documents->get( $post_id )->get_elements_raw_data( null, true )` OR `Plugin::$instance->documents->get_doc_or_auto_save( $post_id )->get_elements_raw_data( null, true )`' ); if ( Document::STATUS_DRAFT === $status ) { $document = Plugin::$instance->documents->get_doc_or_auto_save( $post_id ); } else { $document = Plugin::$instance->documents->get( $post_id ); } if ( $document ) { $editor_data = $document->get_elements_raw_data( null, true ); } else { $editor_data = []; } return $editor_data; } /** * Get JSON meta. * * Retrieve post meta data, and return the JSON decoded data. * * @since 1.0.0 * @access protected * * @param int $post_id Post ID. * @param string $key The meta key to retrieve. * * @return array Decoded JSON data from post meta. */ protected function _get_json_meta( $post_id, $key ) { Plugin::$instance->modules_manager->get_modules( 'dev-tools' )->deprecation->deprecated_function( __METHOD__, '3.1.0' ); $meta = get_post_meta( $post_id, $key, true ); if ( is_string( $meta ) && ! empty( $meta ) ) { $meta = json_decode( $meta, true ); } if ( empty( $meta ) ) { $meta = []; } return $meta; } /** * Is using Elementor. * * Set whether the page is using Elementor or not. * * @since 1.5.0 * @deprecated 3.1.0 Use `Plugin::$instance->documents->get( $post_id )->set_is_build_with_elementor( $is_elementor )` instead * @access public * * @param int $post_id Post ID. * @param bool $is_elementor Optional. Whether the page is elementor page. * Default is true. */ public function set_is_elementor_page( $post_id, $is_elementor = true ) { Plugin::$instance->modules_manager ->get_modules( 'dev-tools' ) ->deprecation ->deprecated_function( __METHOD__, '3.1.0', 'Plugin::$instance->documents->get( $post_id )->set_is_build_with_elementor( $is_elementor )' ); $document = Plugin::$instance->documents->get( $post_id ); if ( ! $document ) { return; } $document->set_is_built_with_elementor( $is_elementor ); } /** * Render element plain content. * * When saving data in the editor, this method renders recursively the plain * content containing only the content and the HTML. No CSS data. * * @since 2.0.0 * @access private * * @param array $element_data Element data. */ private function render_element_plain_content( $element_data ) { if ( 'widget' === $element_data['elType'] ) { /** @var Widget_Base $widget */ $widget = Plugin::$instance->elements_manager->create_element_instance( $element_data ); if ( $widget ) { $widget->render_plain_content(); } } if ( ! empty( $element_data['elements'] ) ) { foreach ( $element_data['elements'] as $element ) { $this->render_element_plain_content( $element ); } } } /** * Save plain text. * * Retrieves the raw content, removes all kind of unwanted HTML tags and saves * the content as the `post_content` field in the database. * * @since 1.9.0 * @access public * * @param int $post_id Post ID. */ public function save_plain_text( $post_id ) { // Switch $dynamic_tags to parsing mode = remove. $dynamic_tags = Plugin::$instance->dynamic_tags; $parsing_mode = $dynamic_tags->get_parsing_mode(); $dynamic_tags->set_parsing_mode( Manager::MODE_REMOVE ); $plain_text = $this->get_plain_text( $post_id ); wp_update_post( [ 'ID' => $post_id, 'post_content' => $plain_text, ] ); // Restore parsing mode. $dynamic_tags->set_parsing_mode( $parsing_mode ); } /** * Iterate data. * * Accept any type of Elementor data and a callback function. The callback * function runs recursively for each element and his child elements. * * @since 1.0.0 * @access public * * @param array $data_container Any type of elementor data. * @param callable $callback A function to iterate data by. * @param array $args Array of args pointers for passing parameters in & out of the callback * * @return mixed Iterated data. */ public function iterate_data( $data_container, $callback, $args = [] ) { if ( isset( $data_container['elType'] ) ) { if ( ! empty( $data_container['elements'] ) ) { $data_container['elements'] = $this->iterate_data( $data_container['elements'], $callback, $args ); } return call_user_func( $callback, $data_container, $args ); } foreach ( $data_container as $element_key => $element_value ) { $element_data = $this->iterate_data( $data_container[ $element_key ], $callback, $args ); if ( null === $element_data ) { continue; } $data_container[ $element_key ] = $element_data; } return $data_container; } /** * Safely copy Elementor meta. * * Make sure the original page was built with Elementor and the post is not * auto-save. Only then copy elementor meta from one post to another using * `copy_elementor_meta()`. * * @since 1.9.2 * @access public * * @param int $from_post_id Original post ID. * @param int $to_post_id Target post ID. */ public function safe_copy_elementor_meta( $from_post_id, $to_post_id ) { // It's from WP-Admin & not from Elementor. if ( ! did_action( 'elementor/db/before_save' ) ) { $from_document = Plugin::$instance->documents->get( $from_post_id ); if ( ! $from_document || ! $from_document->is_built_with_elementor() ) { return; } // It's an exited Elementor auto-save if ( get_post_meta( $to_post_id, '_elementor_data', true ) ) { return; } } $this->copy_elementor_meta( $from_post_id, $to_post_id ); } /** * Copy Elementor meta. * * Duplicate the data from one post to another. * * Consider using `safe_copy_elementor_meta()` method instead. * * @since 1.1.0 * @access public * * @param int $from_post_id Original post ID. * @param int $to_post_id Target post ID. */ public function copy_elementor_meta( $from_post_id, $to_post_id ) { $from_post_meta = get_post_meta( $from_post_id ); $core_meta = [ '_wp_page_template', '_thumbnail_id', ]; foreach ( $from_post_meta as $meta_key => $values ) { // Copy only meta with the `_elementor` prefix if ( 0 === strpos( $meta_key, '_elementor' ) || in_array( $meta_key, $core_meta, true ) ) { $value = $values[0]; // The elementor JSON needs slashes before saving if ( '_elementor_data' === $meta_key ) { $value = wp_slash( $value ); } else { $value = maybe_unserialize( $value ); } // Don't use `update_post_meta` that can't handle `revision` post type update_metadata( 'post', $to_post_id, $meta_key, $value ); } } } /** * Is built with Elementor. * * Check whether the post was built with Elementor. * * @since 1.0.10 * @deprecated 3.2.0 Use `Plugin::$instance->documents->get( $post_id )->is_built_with_elementor()` instead * @access public * * @param int $post_id Post ID. * * @return bool Whether the post was built with Elementor. */ public function is_built_with_elementor( $post_id ) { Plugin::$instance->modules_manager ->get_modules( 'dev-tools' ) ->deprecation ->deprecated_function( __METHOD__, '3.2.0', 'Plugin::$instance->documents->get( $post_id )->is_built_with_elementor()' ); $document = Plugin::$instance->documents->get( $post_id ); if ( ! $document ) { return false; } return $document->is_built_with_elementor(); } /** * Switch to post. * * Change the global WordPress post to the requested post. * * @since 1.5.0 * @access public * * @param int $post_id Post ID to switch to. */ public function switch_to_post( $post_id ) { $post_id = absint( $post_id ); // If is already switched, or is the same post, return. if ( get_the_ID() === $post_id ) { $this->switched_post_data[] = false; return; } $this->switched_post_data[] = [ 'switched_id' => $post_id, 'original_id' => get_the_ID(), // Note, it can be false if the global isn't set ]; $GLOBALS['post'] = get_post( $post_id ); // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited setup_postdata( $GLOBALS['post'] ); } /** * Restore current post. * * Rollback to the previous global post, rolling back from `DB::switch_to_post()`. * * @since 1.5.0 * @access public */ public function restore_current_post() { $data = array_pop( $this->switched_post_data ); // If not switched, return. if ( ! $data ) { return; } // It was switched from an empty global post, restore this state and unset the global post if ( false === $data['original_id'] ) { unset( $GLOBALS['post'] ); return; } $GLOBALS['post'] = get_post( $data['original_id'] ); // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited setup_postdata( $GLOBALS['post'] ); } /** * Switch to query. * * Change the WordPress query to a new query with the requested * query variables. * * @since 2.0.0 * @access public * * @param array $query_vars New query variables. * @param bool $force_global_post */ public function switch_to_query( $query_vars, $force_global_post = false ) { global $wp_query; $current_query_vars = $wp_query->query; // If is already switched, or is the same query, return. if ( $current_query_vars === $query_vars ) { $this->switched_data[] = false; return; } $new_query = new \WP_Query( $query_vars ); $switched_data = [ 'switched' => $new_query, 'original' => $wp_query, ]; if ( ! empty( $GLOBALS['post'] ) ) { $switched_data['post'] = $GLOBALS['post']; } $this->switched_data[] = $switched_data; $wp_query = $new_query; // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited // Ensure the global post is set only if needed unset( $GLOBALS['post'] ); if ( isset( $new_query->posts[0] ) ) { if ( $force_global_post || $new_query->is_singular() ) { $GLOBALS['post'] = $new_query->posts[0]; // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited setup_postdata( $GLOBALS['post'] ); } } if ( $new_query->is_author() ) { $GLOBALS['authordata'] = get_userdata( $new_query->get( 'author' ) ); // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited } } /** * Restore current query. * * Rollback to the previous query, rolling back from `DB::switch_to_query()`. * * @since 2.0.0 * @access public */ public function restore_current_query() { $data = array_pop( $this->switched_data ); // If not switched, return. if ( ! $data ) { return; } global $wp_query; $wp_query = $data['original']; // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited // Ensure the global post/authordata is set only if needed. unset( $GLOBALS['post'] ); unset( $GLOBALS['authordata'] ); if ( ! empty( $data['post'] ) ) { $GLOBALS['post'] = $data['post']; // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited setup_postdata( $GLOBALS['post'] ); } if ( $wp_query->is_author() ) { $GLOBALS['authordata'] = get_userdata( $wp_query->get( 'author' ) ); // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited } } /** * Get plain text. * * Retrieve the post plain text. * * @since 1.9.0 * @access public * * @param int $post_id Post ID. * * @return string Post plain text. */ public function get_plain_text( $post_id ) { $document = Plugin::$instance->documents->get( $post_id ); $data = $document ? $document->get_elements_data() : []; return $this->get_plain_text_from_data( $data ); } /** * Get plain text from data. * * Retrieve the post plain text from any given Elementor data. * * @since 1.9.2 * @access public * * @param array $data Post ID. * * @return string Post plain text. */ public function get_plain_text_from_data( $data ) { ob_start(); if ( $data ) { foreach ( $data as $element_data ) { $this->render_element_plain_content( $element_data ); } } $plain_text = ob_get_clean(); // Remove unnecessary tags. $plain_text = preg_replace( '/<\/?div[^>]*\>/i', '', $plain_text ); $plain_text = preg_replace( '/<\/?span[^>]*\>/i', '', $plain_text ); $plain_text = preg_replace( '#(.*?)#is', '', $plain_text ); $plain_text = preg_replace( '/]*><\\/i[^>]*>/', '', $plain_text ); $plain_text = preg_replace( '/ class=".*?"/', '', $plain_text ); // Remove empty lines. $plain_text = preg_replace( '/(^[\r\n]*|[\r\n]+)[\s\t]*[\r\n]+/', "\n", $plain_text ); $plain_text = trim( $plain_text ); return $plain_text; } } includes/admin-templates/beta-tester.php000064400000004537152377341010014402 0ustar00common->get_component( 'ajax' ); $beta_tester_email = $user->user_email; /** * Print beta tester dialog. * * Display a dialog box to suggest the user to opt-in to the beta testers newsletter. * * Fired by `admin_footer` filter. * * @since 2.6.0 * @access public */ ?> includes/admin-templates/new-template.php000064400000007716152377341010014567 0ustar00documents->get_document_types(); $types = []; $selected = get_query_var( 'elementor_library_type' ); foreach ( $document_types as $document_type ) { if ( $document_type::get_property( 'show_in_library' ) ) { /** * @var Document $instance */ $instance = new $document_type(); $types[ $instance->get_name() ] = $document_type::get_title(); } } /** * Create new template library dialog types. * * Filters the dialog types when printing new template dialog. * * @since 2.0.0 * * @param array $types Types data. * @param Document $document_types Document types. */ $types = apply_filters( 'elementor/template-library/create_new_dialog_types', $types, $document_types ); ?> includes/tracker.php000064400000036542152377341010010533 0ustar00custom_tasks->add_tasks_requested_to_run( [ 'opt_in_recalculate_usage', 'opt_in_send_tracking_data', ] ); } if ( empty( $new_value ) ) { $new_value = 'no'; } return $new_value; } /** * Send tracking data. * * Decide whether to send tracking data, or not. * * @since 1.0.0 * @access public * @static * * @param bool $override */ public static function send_tracking_data( $override = false ) { // Don't trigger this on AJAX Requests. if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) { return; } if ( ! self::is_allow_track() ) { return; } $last_send = self::get_last_send_time(); /** * Tracker override send. * * Filters whether to override sending tracking data or not. * * @since 1.0.0 * * @param bool $override Whether to override default setting or not. */ $override = apply_filters( 'elementor/tracker/send_override', $override ); if ( ! $override ) { $last_send_interval = strtotime( '-1 week' ); /** * Tracker last send interval. * * Filters the interval of between two tracking requests. * * @since 1.0.0 * * @param int $last_send_interval A date/time string. Default is `strtotime( '-1 week' )`. */ $last_send_interval = apply_filters( 'elementor/tracker/last_send_interval', $last_send_interval ); // Send a maximum of once per week by default. if ( $last_send && $last_send > $last_send_interval ) { return; } } else { // Make sure there is at least a 1 hour delay between override sends, we dont want duplicate calls due to double clicking links. if ( $last_send && $last_send > strtotime( '-1 hours' ) ) { return; } } // Update time first before sending to ensure it is set. update_option( 'elementor_tracker_last_send', time() ); $params = self::get_tracking_data( empty( $last_send ) ); // Tracking data is used for System Info reports, and events should not be included in System Info reports, // so it is added here $params['analytics_events'] = self::get_events(); add_filter( 'https_ssl_verify', '__return_false' ); wp_safe_remote_post( self::$_api_url, [ 'timeout' => 25, 'blocking' => false, // 'sslverify' => false, 'body' => [ 'data' => wp_json_encode( $params ), ], ] ); // After sending the event tracking data, we reset the events table. Events_DB_Manager::reset_table(); } /** * Is allow track. * * Checks whether the site admin has opted-in for data tracking, or not. * * @since 1.0.0 * @access public * @static */ public static function is_allow_track() { return 'yes' === get_option( 'elementor_allow_tracking', 'no' ); } /** * Handle tracker actions. * * Check if the user opted-in or opted-out and update the database. * * Fired by `admin_init` action. * * @since 1.0.0 * @access public * @static */ public static function handle_tracker_actions() { if ( ! isset( $_GET['elementor_tracker'] ) ) { return; } if ( 'opt_into' === $_GET['elementor_tracker'] ) { check_admin_referer( 'opt_into' ); self::set_opt_in( true ); } if ( 'opt_out' === $_GET['elementor_tracker'] ) { check_admin_referer( 'opt_out' ); self::set_opt_in( false ); } wp_redirect( remove_query_arg( 'elementor_tracker' ) ); exit; } /** * @since 2.2.0 * @access public * @static */ public static function is_notice_shown() { return self::$notice_shown; } public static function set_opt_in( $value ) { if ( $value ) { update_option( 'elementor_allow_tracking', 'yes' ); self::send_tracking_data( true ); } else { update_option( 'elementor_allow_tracking', 'no' ); update_option( 'elementor_tracker_notice', '1' ); } } /** * Get system reports data. * * Retrieve the data from system reports. * * @since 2.0.0 * @access private * @static * * @return array The data from system reports. */ private static function get_system_reports_data() { $reports = Plugin::$instance->system_info->load_reports( System_Info_Module::get_allowed_reports() ); // The log report should not be sent with the usage data - it is not used and causes bloat. if ( isset( $reports['log'] ) ) { unset( $reports['log'] ); } $system_reports = []; foreach ( $reports as $report_key => $report_details ) { $system_reports[ $report_key ] = []; foreach ( $report_details['report']->get_report() as $sub_report_key => $sub_report_details ) { $system_reports[ $report_key ][ $sub_report_key ] = $sub_report_details['value']; } } return $system_reports; } /** * Get last send time. * * Retrieve the last time tracking data was sent. * * @since 2.0.0 * @access private * @static * * @return int|false The last time tracking data was sent, or false if * tracking data never sent. */ private static function get_last_send_time() { $last_send_time = get_option( 'elementor_tracker_last_send', false ); /** * Tracker last send time. * * Filters the last time tracking data was sent. * * @since 1.0.0 * * @param int|false $last_send_time The last time tracking data was sent, * or false if tracking data never sent. */ $last_send_time = apply_filters( 'elementor/tracker/last_send_time', $last_send_time ); return $last_send_time; } /** * Get non elementor post usages. * * Retrieve the number of posts that not using elementor. * @return array The number of posts using not used by Elementor grouped by post types * and post status. */ public static function get_non_elementor_posts_usage() { global $wpdb; $usage = []; $results = $wpdb->get_results( "SELECT `post_type`, `post_status`, COUNT(`ID`) `hits` FROM {$wpdb->posts} `p` LEFT JOIN {$wpdb->postmeta} `pm` ON(`p`.`ID` = `pm`.`post_id` AND `meta_key` = '_elementor_edit_mode' ) WHERE `post_type` != 'elementor_library' AND `meta_value` IS NULL GROUP BY `post_type`, `post_status`;" ); if ( $results ) { foreach ( $results as $result ) { $usage[ $result->post_type ][ $result->post_status ] = $result->hits; } } return $usage; } /** * Get posts usage. * * Retrieve the number of posts using Elementor. * * @since 2.0.0 * @access public * @static * * @return array The number of posts using Elementor grouped by post types * and post status. */ public static function get_posts_usage() { global $wpdb; $usage = []; $results = $wpdb->get_results( "SELECT `post_type`, `post_status`, COUNT(`ID`) `hits` FROM {$wpdb->posts} `p` LEFT JOIN {$wpdb->postmeta} `pm` ON(`p`.`ID` = `pm`.`post_id`) WHERE `post_type` != 'elementor_library' AND `meta_key` = '_elementor_edit_mode' AND `meta_value` = 'builder' GROUP BY `post_type`, `post_status`;" ); if ( $results ) { foreach ( $results as $result ) { $usage[ $result->post_type ][ $result->post_status ] = (int) $result->hits; } } return $usage; } /** * Get library usage. * * Retrieve the number of Elementor library items saved. * * @since 2.0.0 * @access public * @static * * @return array The number of Elementor library items grouped by post types * and meta value. */ public static function get_library_usage() { global $wpdb; $usage = []; $results = $wpdb->get_results( "SELECT `meta_value`, COUNT(`ID`) `hits` FROM {$wpdb->posts} `p` LEFT JOIN {$wpdb->postmeta} `pm` ON(`p`.`ID` = `pm`.`post_id`) WHERE `post_type` = 'elementor_library' AND `meta_key` = '_elementor_template_type' GROUP BY `post_type`, `meta_value`;" ); if ( $results ) { foreach ( $results as $result ) { $usage[ $result->meta_value ] = $result->hits; } } return $usage; } /** * Get usage of general settings. * 'Elementor->Settings->General'. * * @return array */ public static function get_settings_general_usage() { return self::get_tracking_data_from_settings( 'general' ); } /** * Get usage of advanced settings. * 'Elementor->Settings->Advanced'. * * @return array */ public static function get_settings_advanced_usage() { return self::get_tracking_data_from_settings( 'advanced' ); } /** * Get usage of experiments settings. * * 'Elementor->Settings->Experiments'. * * @return array */ public static function get_settings_experiments_usage() { $system_info = Plugin::$instance->system_info; /** * @var $experiments_report Experiments_Reporter */ $experiments_report = $system_info->create_reporter( [ 'class_name' => Experiments_Reporter::class, ] ); return $experiments_report->get_experiments()['value']; } /** * Get usage of general tools. * 'Elementor->Tools->General'. * * @return array */ public static function get_tools_general_usage() { return self::get_tracking_data_from_tools( 'general' ); } /** * Get usage of 'version control' tools. * 'Elementor->Tools->Version Control'. * * @return array */ public static function get_tools_version_control_usage() { return self::get_tracking_data_from_tools( 'versions' ); } /** * Get usage of 'maintenance' tools. * 'Elementor->Tools->Maintenance'. * * @return array */ public static function get_tools_maintenance_usage() { return self::get_tracking_data_from_tools( 'maintenance_mode' ); } /** * Get library usage extend. * * Retrieve the number of Elementor library items saved. * * @return array The number of Elementor library items grouped by post types, post status * and meta value. */ public static function get_library_usage_extend() { global $wpdb; $usage = []; $results = $wpdb->get_results( "SELECT `meta_value`, COUNT(`ID`) `hits`, `post_status` FROM {$wpdb->posts} `p` LEFT JOIN {$wpdb->postmeta} `pm` ON(`p`.`ID` = `pm`.`post_id`) WHERE `post_type` = 'elementor_library' AND `meta_key` = '_elementor_template_type' GROUP BY `post_type`, `meta_value`, `post_status`;" ); if ( $results ) { foreach ( $results as $result ) { if ( empty( $usage[ $result->meta_value ] ) ) { $usage[ $result->meta_value ] = []; } if ( empty( $usage[ $result->meta_value ][ $result->post_status ] ) ) { $usage[ $result->meta_value ][ $result->post_status ] = 0; } $usage[ $result->meta_value ][ $result->post_status ] += $result->hits; } } return $usage; } public static function get_events() { global $wpdb; $table_name = $wpdb->prefix . Events_DB_Manager::TABLE_NAME; // phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared $results = $wpdb->get_results( "SELECT event_data FROM {$table_name}" ); $events_data = []; foreach ( $results as $event ) { // Results are stored in the database as a JSON string. Since all tracking data is encoded right before // being sent, it is now decoded. $events_data[] = json_decode( $event->event_data, true ); } return $events_data; } /** * Get the tracking data * * Retrieve tracking data and apply filter * * @access public * @static * * @param bool $is_first_time * * @return array */ public static function get_tracking_data( $is_first_time = false ) { $params = [ 'system' => self::get_system_reports_data(), 'site_lang' => get_bloginfo( 'language' ), 'email' => get_option( 'admin_email' ), 'usages' => [ 'posts' => self::get_posts_usage(), 'non-elementor-posts' => self::get_non_elementor_posts_usage(), 'library' => self::get_library_usage(), 'settings' => [ 'general' => self::get_settings_general_usage(), 'advanced' => self::get_settings_advanced_usage(), 'experiments' => self::get_settings_experiments_usage(), ], 'tools' => [ 'general' => self::get_tools_general_usage(), 'version' => self::get_tools_version_control_usage(), 'maintenance' => self::get_tools_maintenance_usage(), ], 'library-details' => self::get_library_usage_extend(), ], 'is_first_time' => $is_first_time, 'install_time' => Plugin::instance()->get_install_time(), ]; /** * Tracker send tracking data params. * * Filters the data parameters when sending tracking request. * * @param array $params Variable to encode as JSON. * * @since 1.0.0 * */ $params = apply_filters( 'elementor/tracker/send_tracking_data_params', $params ); return $params; } /** * @param string $tab_name * @return array */ private static function get_tracking_data_from_settings( $tab_name ) { return self::get_tracking_data_from_settings_page( Plugin::$instance->settings->get_tabs(), $tab_name ); } /** * @param string $tab_name * @return array */ private static function get_tracking_data_from_tools( $tab_name ) { return self::get_tracking_data_from_settings_page( Plugin::$instance->tools->get_tabs(), $tab_name ); } private static function get_tracking_data_from_settings_page( $tabs, $tab_name ) { $result = []; if ( empty( $tabs[ $tab_name ] ) ) { return $result; } $tab = $tabs[ $tab_name ]; foreach ( $tab['sections'] as $section_name => $section ) { foreach ( $section['fields'] as $field_name => $field ) { // Skips fields with '_' prefix. if ( '_' === $field_name[0] ) { continue; } $default_value = null; $args = $field['field_args']; switch ( $args['type'] ) { case 'checkbox': $default_value = $args['value']; break; case 'select': case 'checkbox_list_cpt': $default_value = $args['std']; break; case 'checkbox_list_roles': $default_value = null; break; // 'raw_html' is used as action and not as data. case 'raw_html': continue 2; // Skip fields loop. default: trigger_error( 'Invalid type: \'' . $args['type'] . '\'' ); // phpcs:ignore } $result[ $field_name ] = get_option( 'elementor_' . $field_name, $default_value ); } } return $result; } } includes/embed.php000064400000017606152377341010010154 0ustar00 '/^.*(?:youtu\.be\/|youtube(?:-nocookie)?\.com\/(?:(?:watch)?\?(?:.*&)?vi?=|(?:embed|v|vi|user)\/))([^\?&\"\'>]+)/', 'vimeo' => '/^.*vimeo\.com\/(?:[a-z]*\/)*([‌​0-9]{6,11})[?]?.*/', 'dailymotion' => '/^.*dailymotion.com\/(?:video|hub)\/([^_]+)[^#]*(#video=([^_&]+))?/', ]; /** * Embed patterns. * * Holds a list of supported providers with their embed patters. * * @since 1.5.0 * @access private * @static * * @var array Embed patters. */ private static $embed_patterns = [ 'youtube' => 'https://www.youtube{NO_COOKIE}.com/embed/{VIDEO_ID}?feature=oembed', 'vimeo' => 'https://player.vimeo.com/video/{VIDEO_ID}#t={TIME}', 'dailymotion' => 'https://dailymotion.com/embed/video/{VIDEO_ID}', ]; /** * Get video properties. * * Retrieve the video properties for a given video URL. * * @since 1.5.0 * @access public * @static * * @param string $video_url Video URL. * * @return null|array The video properties, or null. */ public static function get_video_properties( $video_url ) { foreach ( self::$provider_match_masks as $provider => $match_mask ) { preg_match( $match_mask, $video_url, $matches ); if ( $matches ) { return [ 'provider' => $provider, 'video_id' => $matches[1], ]; } } return null; } /** * Get embed URL. * * Retrieve the embed URL for a given video. * * @since 1.5.0 * @access public * @static * * @param string $video_url Video URL. * @param array $embed_url_params Optional. Embed parameters. Default is an * empty array. * @param array $options Optional. Embed options. Default is an * empty array. * * @return null|array The video properties, or null. */ public static function get_embed_url( $video_url, array $embed_url_params = [], array $options = [] ) { $video_properties = self::get_video_properties( $video_url ); if ( ! $video_properties ) { return null; } $embed_pattern = self::$embed_patterns[ $video_properties['provider'] ]; $replacements = [ '{VIDEO_ID}' => $video_properties['video_id'], ]; if ( 'youtube' === $video_properties['provider'] ) { $replacements['{NO_COOKIE}'] = ! empty( $options['privacy'] ) ? '-nocookie' : ''; } elseif ( 'vimeo' === $video_properties['provider'] ) { $time_text = ''; if ( ! empty( $options['start'] ) ) { $time_text = date( 'H\hi\ms\s', $options['start'] ); // PHPCS:Ignore WordPress.DateTime.RestrictedFunctions.date_date } $replacements['{TIME}'] = $time_text; /** * Handle Vimeo private videos * * Vimeo requires an additional parameter when displaying private/unlisted videos. It has two ways of * passing that parameter: * * as an endpoint - vimeo.com/{video_id}/{privacy_token} * OR * * as a GET parameter named `h` - vimeo.com/{video_id}?h={privacy_token} * * The following regex match looks for either of these methods in the Vimeo URL, and if it finds a privacy * token, it adds it to the embed params array as the `h` parameter (which is how Vimeo can receive it when * using Oembed). */ $h_param = []; preg_match( '/(?|(?:[\?|\&]h={1})([\w]+)|\d\/([\w]+))/', $video_url, $h_param ); if ( ! empty( $h_param ) ) { $embed_url_params['h'] = $h_param[1]; } } $embed_pattern = str_replace( array_keys( $replacements ), $replacements, $embed_pattern ); return add_query_arg( $embed_url_params, $embed_pattern ); } /** * Get embed HTML. * * Retrieve the final HTML of the embedded URL. * * @since 1.5.0 * @access public * @static * * @param string $video_url Video URL. * @param array $embed_url_params Optional. Embed parameters. Default is an * empty array. * @param array $options Optional. Embed options. Default is an * empty array. * @param array $frame_attributes Optional. IFrame attributes. Default is an * empty array. * * @return string The embed HTML. */ public static function get_embed_html( $video_url, array $embed_url_params = [], array $options = [], array $frame_attributes = [] ) { $video_properties = self::get_video_properties( $video_url ); $default_frame_attributes = [ 'class' => 'elementor-video-iframe', 'allowfullscreen', 'title' => sprintf( /* translators: %s: Video provider */ __( '%s Video Player', 'elementor' ), $video_properties['provider'] ), ]; $video_embed_url = self::get_embed_url( $video_url, $embed_url_params, $options ); if ( ! $video_embed_url ) { return null; } if ( ! $options['lazy_load'] ) { $default_frame_attributes['src'] = $video_embed_url; } else { $default_frame_attributes['data-lazy-load'] = $video_embed_url; } $frame_attributes = array_merge( $default_frame_attributes, $frame_attributes ); $attributes_for_print = []; foreach ( $frame_attributes as $attribute_key => $attribute_value ) { $attribute_value = esc_attr( $attribute_value ); if ( is_numeric( $attribute_key ) ) { $attributes_for_print[] = $attribute_value; } else { $attributes_for_print[] = sprintf( '%1$s="%2$s"', $attribute_key, $attribute_value ); } } $attributes_for_print = implode( ' ', $attributes_for_print ); $iframe_html = ""; /** This filter is documented in wp-includes/class-oembed.php */ return apply_filters( 'oembed_result', $iframe_html, $video_url, $frame_attributes ); } /** * Get oembed data from the cache. * if not exists in the cache it will fetch from provider and then save to the cache. * * @param $oembed_url * @param $cached_post_id * * @return array|null */ public static function get_oembed_data( $oembed_url, $cached_post_id ) { $cached_oembed_data = json_decode( get_post_meta( $cached_post_id, '_elementor_oembed_cache', true ), true ); if ( isset( $cached_oembed_data[ $oembed_url ] ) ) { return $cached_oembed_data[ $oembed_url ]; } $normalize_oembed_data = self::fetch_oembed_data( $oembed_url ); if ( ! $cached_oembed_data ) { $cached_oembed_data = []; } update_post_meta( $cached_post_id, '_elementor_oembed_cache', wp_json_encode( array_merge( $cached_oembed_data, [ $oembed_url => $normalize_oembed_data, ] ) ) ); return $normalize_oembed_data; } /** * Fetch oembed data from oembed provider. * * @param $oembed_url * * @return array|null */ public static function fetch_oembed_data( $oembed_url ) { $oembed_data = _wp_oembed_get_object()->get_data( $oembed_url ); if ( ! $oembed_data ) { return null; } return [ 'thumbnail_url' => $oembed_data->thumbnail_url, 'title' => $oembed_data->title, ]; } /** * @param $oembed_url * @param null|string|int $cached_post_id * * @return string|null */ public static function get_embed_thumbnail_html( $oembed_url, $cached_post_id = null ) { $oembed_data = self::get_oembed_data( $oembed_url, $cached_post_id ); if ( ! $oembed_data ) { return null; } return '
' . sprintf( '%2$s', $oembed_data['thumbnail_url'], esc_attr( $oembed_data['title'] ), '100%' ) . '
'; } } includes/plugin.php000064400000040744152377341010010375 0ustar00add_cpt_support(); $this->init_components(); /** * Elementor init. * * Fires when Elementor components are initialized. * * After Elementor finished loading but before any headers are sent. * * @since 1.0.0 */ do_action( 'elementor/init' ); } /** * Get install time. * * Retrieve the time when Elementor was installed. * * @since 2.6.0 * @access public * @static * * @return int Unix timestamp when Elementor was installed. */ public function get_install_time() { $installed_time = get_option( '_elementor_installed_time' ); if ( ! $installed_time ) { $installed_time = time(); update_option( '_elementor_installed_time', $installed_time ); } return $installed_time; } /** * @since 2.3.0 * @access public */ public function on_rest_api_init() { // On admin/frontend sometimes the rest API is initialized after the common is initialized. if ( ! $this->common ) { $this->init_common(); } } /** * Init components. * * Initialize Elementor components. Register actions, run setting manager, * initialize all the components that run elementor, and if in admin page * initialize admin components. * * @since 1.0.0 * @access private */ private function init_components() { $this->experiments = new Experiments_Manager(); $this->breakpoints = new Breakpoints_Manager(); $this->inspector = new Inspector(); Settings_Manager::run(); $this->db = new DB(); $this->controls_manager = new Controls_Manager(); $this->documents = new Documents_Manager(); $this->kits_manager = new Kits_Manager(); $this->schemes_manager = new Schemes_Manager(); $this->elements_manager = new Elements_Manager(); $this->widgets_manager = new Widgets_Manager(); $this->skins_manager = new Skins_Manager(); $this->files_manager = new Files_Manager(); $this->assets_manager = new Assets_Manager(); $this->icons_manager = new Icons_Manager(); $this->settings = new Settings(); $this->tools = new Tools(); $this->editor = new Editor(); $this->preview = new Preview(); $this->frontend = new Frontend(); $this->maintenance_mode = new Maintenance_Mode(); $this->dynamic_tags = new Dynamic_Tags_Manager(); $this->modules_manager = new Modules_Manager(); $this->templates_manager = new TemplateLibrary\Manager(); $this->role_manager = new Core\RoleManager\Role_Manager(); $this->system_info = new System_Info_Module(); $this->revisions_manager = new Revisions_Manager(); $this->images_manager = new Images_Manager(); $this->wp = new Wp_Api(); $this->assets_loader = new Assets_Loader(); $this->uploads_manager = new Uploads_Manager(); User::init(); Api::init(); Tracker::init(); $this->upgrade = new Core\Upgrade\Manager(); $this->custom_tasks = new Core\Upgrade\Custom_Tasks_Manager(); $this->app = new Core\App\App(); if ( is_admin() ) { $this->heartbeat = new Heartbeat(); $this->wordpress_widgets_manager = new WordPress_Widgets_Manager(); $this->admin = new Admin(); $this->beta_testers = new Beta_Testers(); new Elementor_3_Re_Migrate_Globals(); } } /** * @since 2.3.0 * @access public */ public function init_common() { $this->common = new CommonApp(); $this->common->init_components(); } /** * Get Legacy Mode * * @since 3.0.0 * @deprecated 3.1.0 Use `Plugin::$instance->experiments->is_feature_active()` instead * * @param string $mode_name Optional. Default is null * * @return bool|bool[] */ public function get_legacy_mode( $mode_name = null ) { self::$instance->modules_manager->get_modules( 'dev-tools' )->deprecation ->deprecated_function( __METHOD__, '3.1.0', 'Plugin::$instance->experiments->is_feature_active()' ); $legacy_mode = [ 'elementWrappers' => ! self::$instance->experiments->is_feature_active( 'e_dom_optimization' ), ]; if ( ! $mode_name ) { return $legacy_mode; } if ( isset( $legacy_mode[ $mode_name ] ) ) { return $legacy_mode[ $mode_name ]; } // If there is no legacy mode with the given mode name; return false; } /** * Add custom post type support. * * Register Elementor support for all the supported post types defined by * the user in the admin screen and saved as `elementor_cpt_support` option * in WordPress `$wpdb->options` table. * * If no custom post type selected, usually in new installs, this method * will return the two default post types: `page` and `post`. * * @since 1.0.0 * @access private */ private function add_cpt_support() { $cpt_support = get_option( 'elementor_cpt_support', self::ELEMENTOR_DEFAULT_POST_TYPES ); foreach ( $cpt_support as $cpt_slug ) { add_post_type_support( $cpt_slug, 'elementor' ); } } /** * Register autoloader. * * Elementor autoloader loads all the classes needed to run the plugin. * * @since 1.6.0 * @access private */ private function register_autoloader() { require_once ELEMENTOR_PATH . '/includes/autoloader.php'; Autoloader::run(); } /** * Plugin Magic Getter * * @since 3.1.0 * @access public * * @param $property * @return mixed * @throws \Exception */ public function __get( $property ) { if ( 'posts_css_manager' === $property ) { self::$instance->modules_manager->get_modules( 'dev-tools' )->deprecation->deprecated_argument( 'Plugin::$instance->posts_css_manager', '2.7.0', 'Plugin::$instance->files_manager' ); return $this->files_manager; } if ( 'data_manager' === $property ) { return Data_Manager::instance(); } if ( property_exists( $this, $property ) ) { throw new \Exception( 'Cannot access private property' ); } return null; } /** * Plugin constructor. * * Initializing Elementor plugin. * * @since 1.0.0 * @access private */ private function __construct() { $this->register_autoloader(); $this->logger = Log_Manager::instance(); $this->data_manager_v2 = Data_Manager_V2::instance(); Maintenance::init(); Compatibility::register_actions(); add_action( 'init', [ $this, 'init' ], 0 ); add_action( 'rest_api_init', [ $this, 'on_rest_api_init' ], 9 ); } final public static function get_title() { return esc_html__( 'Elementor', 'elementor' ); } } if ( ! defined( 'ELEMENTOR_TESTS' ) ) { // In tests we run the instance manually. Plugin::instance(); } includes/autoloader.php000064400000020752152377341010011233 0ustar00 'includes/api.php', 'Base_Control' => 'includes/controls/base.php', 'Base_Data_Control' => 'includes/controls/base-data.php', 'Base_UI_Control' => 'includes/controls/base-ui.php', 'Beta_Testers' => 'includes/beta-testers.php', 'Compatibility' => 'includes/compatibility.php', 'Conditions' => 'includes/conditions.php', 'Controls_Manager' => 'includes/managers/controls.php', 'Controls_Stack' => 'includes/base/controls-stack.php', 'Sub_Controls_Stack' => 'includes/base/sub-controls-stack.php', 'DB' => 'includes/db.php', 'Elements_Manager' => 'includes/managers/elements.php', 'Embed' => 'includes/embed.php', 'Fonts' => 'includes/fonts.php', 'Frontend' => 'includes/frontend.php', 'Group_Control_Base' => 'includes/controls/groups/base.php', 'Group_Control_Interface' => 'includes/interfaces/group-control.php', 'Heartbeat' => 'includes/heartbeat.php', 'Images_Manager' => 'includes/managers/image.php', 'Maintenance' => 'includes/maintenance.php', 'Maintenance_Mode' => 'includes/maintenance-mode.php', 'Preview' => 'includes/preview.php', 'Rollback' => 'includes/rollback.php', 'Settings' => 'includes/settings/settings.php', 'Settings_Controls' => 'includes/settings/controls.php', 'Settings_Validations' => 'includes/settings/validations.php', 'Settings_Page' => 'includes/settings/settings-page.php', 'Shapes' => 'includes/shapes.php', 'Skins_Manager' => 'includes/managers/skins.php', 'Icons_Manager' => 'includes/managers/icons.php', 'Stylesheet' => 'includes/stylesheet.php', 'System_Info\Main' => 'includes/settings/system-info/main.php', 'TemplateLibrary\Classes\Import_Images' => 'includes/template-library/classes/class-import-images.php', 'TemplateLibrary\Manager' => 'includes/template-library/manager.php', 'TemplateLibrary\Source_Base' => 'includes/template-library/sources/base.php', 'TemplateLibrary\Source_Local' => 'includes/template-library/sources/local.php', 'TemplateLibrary\Source_Remote' => 'includes/template-library/sources/remote.php', 'Tools' => 'includes/settings/tools.php', 'Tracker' => 'includes/tracker.php', 'User' => 'includes/user.php', 'Utils' => 'includes/utils.php', 'Widget_WordPress' => 'includes/widgets/wordpress.php', 'Widgets_Manager' => 'includes/managers/widgets.php', 'WordPress_Widgets_Manager' => 'includes/managers/wordpress-widgets.php', ]; $controls_names = Controls_Manager::get_controls_names(); $controls_names = array_merge( $controls_names, [ 'base_multiple', 'base_units', ] ); foreach ( $controls_names as $control_name ) { $class_name = 'Control_' . self::normalize_class_name( $control_name, '_' ); self::$classes_map[ $class_name ] = 'includes/controls/' . str_replace( '_', '-', $control_name ) . '.php'; } $controls_groups_names = Controls_Manager::get_groups_names(); foreach ( $controls_groups_names as $group_name ) { $class_name = 'Group_Control_' . self::normalize_class_name( $group_name, '_' ); self::$classes_map[ $class_name ] = 'includes/controls/groups/' . $group_name . '.php'; } } /** * Normalize Class Name * * Used to convert control names to class names. * * @param $string * @param string $delimiter * * @return mixed */ private static function normalize_class_name( $string, $delimiter = ' ' ) { return ucwords( str_replace( '-', '_', $string ), $delimiter ); } private static function init_classes_aliases() { self::$classes_aliases = [ 'System_Info\Main' => [ 'replacement' => 'Modules\System_Info\Module', 'version' => '2.9.0', ], 'System_Info\Classes\Abstracts\Base_Reporter' => [ 'replacement' => 'Modules\System_Info\Reporters\Base', 'version' => '2.9.0', ], 'System_Info\Classes\Server_Reporter' => [ 'replacement' => 'Modules\System_Info\Reporters\Server', 'version' => '2.9.0', ], 'System_Info\Classes\MU_Plugins_Reporter' => [ 'replacement' => 'Modules\System_Info\Reporters\MU_Plugins', 'version' => '2.9.0', ], 'System_Info\Classes\Network_Plugins_Reporter' => [ 'replacement' => 'Modules\System_Info\Reporters\Network_Plugins', 'version' => '2.9.0', ], 'System_Info\Classes\Plugins_Reporter' => [ 'replacement' => 'Modules\System_Info\Reporters\Plugins', 'version' => '2.9.0', ], 'System_Info\Classes\Theme_Reporter' => [ 'replacement' => 'Modules\System_Info\Reporters\Theme', 'version' => '2.9.0', ], 'System_Info\Classes\User_Reporter' => [ 'replacement' => 'Modules\System_Info\Reporters\User', 'version' => '2.9.0', ], 'System_Info\Helpers\Model_Helper' => [ 'replacement' => 'Modules\System_Info\Helpers\Model_Helper', 'version' => '2.9.0', ], ]; } /** * Load class. * * For a given class name, require the class file. * * @since 1.6.0 * @access private * @static * * @param string $relative_class_name Class name. */ private static function load_class( $relative_class_name ) { $classes_map = self::get_classes_map(); if ( isset( $classes_map[ $relative_class_name ] ) ) { $filename = self::$default_path . '/' . $classes_map[ $relative_class_name ]; } else { $filename = strtolower( preg_replace( [ '/([a-z])([A-Z])/', '/_/', '/\\\/' ], [ '$1-$2', '-', DIRECTORY_SEPARATOR ], $relative_class_name ) ); $filename = self::$default_path . $filename . '.php'; } if ( is_readable( $filename ) ) { require $filename; } } /** * Autoload. * * For a given class, check if it exist and load it. * * @since 1.6.0 * @access private * @static * * @param string $class Class name. */ private static function autoload( $class ) { if ( 0 !== strpos( $class, self::$default_namespace . '\\' ) ) { return; } $relative_class_name = preg_replace( '/^' . self::$default_namespace . '\\\/', '', $class ); $classes_aliases = self::get_classes_aliases(); $has_class_alias = isset( $classes_aliases[ $relative_class_name ] ); // Backward Compatibility: Save old class name for set an alias after the new class is loaded if ( $has_class_alias ) { $alias_data = $classes_aliases[ $relative_class_name ]; $relative_class_name = $alias_data['replacement']; } $final_class_name = self::$default_namespace . '\\' . $relative_class_name; if ( ! class_exists( $final_class_name ) ) { self::load_class( $relative_class_name ); } if ( $has_class_alias ) { class_alias( $final_class_name, $class ); Utils::handle_deprecation( $class, $alias_data['version'], $final_class_name ); } } } includes/managers/controls.php000064400000061172152377341010012535 0ustar00 esc_html__( 'Content', 'elementor' ), self::TAB_STYLE => esc_html__( 'Style', 'elementor' ), self::TAB_ADVANCED => esc_html__( 'Advanced', 'elementor' ), self::TAB_RESPONSIVE => esc_html__( 'Responsive', 'elementor' ), self::TAB_LAYOUT => esc_html__( 'Layout', 'elementor' ), self::TAB_SETTINGS => esc_html__( 'Settings', 'elementor' ), ]; } /** * Get tabs. * * Retrieve the tabs of the current control. * * @since 1.6.0 * @access public * @static * * @return array Control tabs. */ public static function get_tabs() { if ( ! self::$tabs ) { self::init_tabs(); } return self::$tabs; } /** * Add tab. * * This method adds a new tab to the current control. * * @since 1.6.0 * @access public * @static * * @param string $tab_name Tab name. * @param string $tab_label Tab label. */ public static function add_tab( $tab_name, $tab_label = '' ) { if ( ! self::$tabs ) { self::init_tabs(); } if ( isset( self::$tabs[ $tab_name ] ) ) { return; } self::$tabs[ $tab_name ] = $tab_label; } public static function get_groups_names() { // Group name must use "-" instead of "_" return [ 'background', 'border', 'typography', 'image-size', 'box-shadow', 'css-filter', 'text-shadow', 'flex-container', 'flex-item', 'text-stroke', ]; } public static function get_controls_names() { return [ self::TEXT, self::NUMBER, self::TEXTAREA, self::SELECT, self::SWITCHER, self::BUTTON, self::HIDDEN, self::HEADING, self::RAW_HTML, self::POPOVER_TOGGLE, self::SECTION, self::TAB, self::TABS, self::DIVIDER, self::DEPRECATED_NOTICE, self::COLOR, self::MEDIA, self::SLIDER, self::DIMENSIONS, self::CHOOSE, self::WYSIWYG, self::CODE, self::FONT, self::IMAGE_DIMENSIONS, self::WP_WIDGET, self::URL, self::REPEATER, self::ICON, self::ICONS, self::GALLERY, self::STRUCTURE, self::SELECT2, self::DATE_TIME, self::BOX_SHADOW, self::TEXT_SHADOW, self::ANIMATION, self::HOVER_ANIMATION, self::EXIT_ANIMATION, ]; } /** * Register controls. * * This method creates a list of all the supported controls by requiring the * control files and initializing each one of them. * * The list of supported controls includes the regular controls and the group * controls. * * External developers can register new controls by hooking to the * `elementor/controls/controls_registered` action. * * @since 3.1.0 * @access private */ private function register_controls() { $this->controls = []; foreach ( self::get_controls_names() as $control_id ) { $control_class_id = str_replace( ' ', '_', ucwords( str_replace( '_', ' ', $control_id ) ) ); $class_name = __NAMESPACE__ . '\Control_' . $control_class_id; $this->register( new $class_name() ); } // Group Controls foreach ( self::get_groups_names() as $group_name ) { $group_class_id = str_replace( ' ', '_', ucwords( str_replace( '-', ' ', $group_name ) ) ); $class_name = __NAMESPACE__ . '\Group_Control_' . $group_class_id; $this->control_groups[ $group_name ] = new $class_name(); } /** * After controls registered. * * Fires after Elementor controls are registered. * * @since 1.0.0 * @deprecated 3.5.0 Use `elementor/controls/register` hook instead. * * @param Controls_Manager $this The controls manager. */ // TODO: Uncomment when Pro uses the new hook. //Plugin::$instance->modules_manager->get_modules( 'dev-tools' )->deprecation->do_deprecated_action( // 'elementor/controls/controls_registered', // [ $this ], // '3.5.0', // 'elementor/controls/register' //); do_action( 'elementor/controls/controls_registered', $this ); /** * After controls registered. * * Fires after Elementor controls are registered. * * @since 3.5.0 * * @param Controls_Manager $this The controls manager. */ do_action( 'elementor/controls/register', $this ); } /** * Register control. * * This method adds a new control to the controls list. It adds any given * control to any given control instance. * * @since 1.0.0 * @access public * @deprecated 3.5.0 Use `$this->register()` instead. * * @param string $control_id Control ID. * @param Base_Control $control_instance Control instance, usually the * current instance. */ public function register_control( $control_id, Base_Control $control_instance ) { // TODO: Uncomment when Pro uses the new hook. //Plugin::$instance->modules_manager->get_modules( 'dev-tools' )->deprecation->deprecated_function( // __METHOD__, // '3.5.0', // 'register' //); $this->register( $control_instance, $control_id ); } /** * Register control. * * This method adds a new control to the controls list. It adds any given * control to any given control instance. * * @since 3.5.0 * @access public * * @param Base_Control $control_instance Control instance, usually the current instance. * @param string $control_id Control ID. Deprecated parameter. * * @return void */ public function register( Base_Control $control_instance, $control_id = null ) { // TODO: For BC. Remove in the future. if ( $control_id ) { Plugin::instance()->modules_manager->get_modules( 'dev-tools' )->deprecation->deprecated_argument( '$control_id', '3.5.0' ); } else { $control_id = $control_instance->get_type(); } $this->controls[ $control_id ] = $control_instance; } /** * Unregister control. * * This method removes control from the controls list. * * @since 1.0.0 * @access public * @deprecated 3.5.0 Use `$this->unregister()` instead. * * @param string $control_id Control ID. * * @return bool True if the control was removed, False otherwise. */ public function unregister_control( $control_id ) { Plugin::$instance->modules_manager->get_modules( 'dev-tools' )->deprecation->deprecated_function( __METHOD__, '3.5.0', 'unregister' ); return $this->unregister( $control_id ); } /** * Unregister control. * * This method removes control from the controls list. * * @since 3.5.0 * @access public * * @param string $control_id Control ID. * * @return bool Whether the controls has been unregistered. */ public function unregister( $control_id ) { if ( ! isset( $this->controls[ $control_id ] ) ) { return false; } unset( $this->controls[ $control_id ] ); return true; } /** * Get controls. * * Retrieve the controls list from the current instance. * * @since 1.0.0 * @access public * * @return Base_Control[] Controls list. */ public function get_controls() { if ( null === $this->controls ) { $this->register_controls(); } return $this->controls; } /** * Get control. * * Retrieve a specific control from the current controls instance. * * @since 1.0.0 * @access public * * @param string $control_id Control ID. * * @return bool|Base_Control Control instance, or False otherwise. */ public function get_control( $control_id ) { $controls = $this->get_controls(); return isset( $controls[ $control_id ] ) ? $controls[ $control_id ] : false; } /** * Get controls data. * * Retrieve all the registered controls and all the data for each control. * * @since 1.0.0 * @access public * * @return array { * Control data. * * @type array $name Control data. * } */ public function get_controls_data() { $controls_data = []; foreach ( $this->get_controls() as $name => $control ) { $controls_data[ $name ] = $control->get_settings(); } return $controls_data; } /** * Render controls. * * Generate the final HTML for all the registered controls using the element * template. * * @since 1.0.0 * @access public */ public function render_controls() { foreach ( $this->get_controls() as $control ) { $control->print_template(); } } /** * Get control groups. * * Retrieve a specific group for a given ID, or a list of all the control * groups. * * If the given group ID is wrong, it will return `null`. When the ID valid, * it will return the group control instance. When no ID was given, it will * return all the control groups. * * @since 1.0.10 * @access public * * @param string $id Optional. Group ID. Default is null. * * @return null|Group_Control_Base|Group_Control_Base[] */ public function get_control_groups( $id = null ) { if ( $id ) { return isset( $this->control_groups[ $id ] ) ? $this->control_groups[ $id ] : null; } return $this->control_groups; } /** * Add group control. * * This method adds a new group control to the control groups list. It adds * any given group control to any given group control instance. * * @since 1.0.0 * @access public * * @param string $id Group control ID. * @param Group_Control_Base $instance Group control instance, usually the * current instance. * * @return Group_Control_Base Group control instance. */ public function add_group_control( $id, $instance ) { $this->control_groups[ $id ] = $instance; return $instance; } /** * Enqueue control scripts and styles. * * Used to register and enqueue custom scripts and styles used by the control. * * @since 1.0.0 * @access public */ public function enqueue_control_scripts() { foreach ( $this->get_controls() as $control ) { $control->enqueue(); } } /** * Open new stack. * * This method adds a new stack to the control stacks list. It adds any * given stack to the current control instance. * * @since 1.0.0 * @access public * * @param Controls_Stack $controls_stack Controls stack. */ public function open_stack( Controls_Stack $controls_stack ) { $stack_id = $controls_stack->get_unique_name(); $this->stacks[ $stack_id ] = [ 'tabs' => [], 'controls' => [], ]; } /** * Add control to stack. * * This method adds a new control to the stack. * * @since 1.0.0 * @access public * * @param Controls_Stack $element Element stack. * @param string $control_id Control ID. * @param array $control_data Control data. * @param array $options Optional. Control additional options. * Default is an empty array. * * @return bool True if control added, False otherwise. */ public function add_control_to_stack( Controls_Stack $element, $control_id, $control_data, $options = [] ) { $default_options = [ 'overwrite' => false, 'index' => null, ]; $options = array_merge( $default_options, $options ); $default_args = [ 'type' => self::TEXT, 'tab' => self::TAB_CONTENT, ]; $control_data['name'] = $control_id; $control_data = array_merge( $default_args, $control_data ); $control_type_instance = $this->get_control( $control_data['type'] ); if ( ! $control_type_instance ) { _doing_it_wrong( sprintf( '%1$s::%2$s', __CLASS__, __FUNCTION__ ), sprintf( 'Control type "%s" not found.', esc_html( $control_data['type'] ) ), '1.0.0' ); return false; } if ( $control_type_instance instanceof Base_Data_Control ) { $control_default_value = $control_type_instance->get_default_value(); if ( is_array( $control_default_value ) ) { $control_data['default'] = isset( $control_data['default'] ) ? array_merge( $control_default_value, $control_data['default'] ) : $control_default_value; } else { $control_data['default'] = isset( $control_data['default'] ) ? $control_data['default'] : $control_default_value; } } $stack_id = $element->get_unique_name(); if ( ! $options['overwrite'] && isset( $this->stacks[ $stack_id ]['controls'][ $control_id ] ) ) { _doing_it_wrong( sprintf( '%1$s::%2$s', __CLASS__, __FUNCTION__ ), sprintf( 'Cannot redeclare control with same name "%s".', esc_html( $control_id ) ), '1.0.0' ); return false; } $tabs = self::get_tabs(); if ( ! isset( $tabs[ $control_data['tab'] ] ) ) { $control_data['tab'] = $default_args['tab']; } $this->stacks[ $stack_id ]['tabs'][ $control_data['tab'] ] = $tabs[ $control_data['tab'] ]; $this->stacks[ $stack_id ]['controls'][ $control_id ] = $control_data; if ( null !== $options['index'] ) { $controls = $this->stacks[ $stack_id ]['controls']; $controls_keys = array_keys( $controls ); array_splice( $controls_keys, $options['index'], 0, $control_id ); $this->stacks[ $stack_id ]['controls'] = array_merge( array_flip( $controls_keys ), $controls ); } return true; } /** * Remove control from stack. * * This method removes a control a the stack. * * @since 1.0.0 * @access public * * @param string $stack_id Stack ID. * @param array|string $control_id The ID of the control to remove. * * @return bool|\WP_Error True if the stack was removed, False otherwise. */ public function remove_control_from_stack( $stack_id, $control_id ) { if ( is_array( $control_id ) ) { foreach ( $control_id as $id ) { $this->remove_control_from_stack( $stack_id, $id ); } return true; } if ( empty( $this->stacks[ $stack_id ]['controls'][ $control_id ] ) ) { return new \WP_Error( 'Cannot remove not-exists control.' ); } unset( $this->stacks[ $stack_id ]['controls'][ $control_id ] ); return true; } /** * Get control from stack. * * Retrieve a specific control for a given a specific stack. * * If the given control does not exist in the stack, or the stack does not * exist, it will return `WP_Error`. Otherwise, it will retrieve the control * from the stack. * * @since 1.1.0 * @access public * * @param string $stack_id Stack ID. * @param string $control_id Control ID. * * @return array|\WP_Error The control, or an error. */ public function get_control_from_stack( $stack_id, $control_id ) { if ( empty( $this->stacks[ $stack_id ]['controls'][ $control_id ] ) ) { return new \WP_Error( 'Cannot get a not-exists control.' ); } return $this->stacks[ $stack_id ]['controls'][ $control_id ]; } /** * Update control in stack. * * This method updates the control data for a given stack. * * @since 1.1.0 * @access public * * @param Controls_Stack $element Element stack. * @param string $control_id Control ID. * @param array $control_data Control data. * @param array $options Optional. Control additional options. * Default is an empty array. * * @return bool True if control updated, False otherwise. */ public function update_control_in_stack( Controls_Stack $element, $control_id, $control_data, array $options = [] ) { $old_control_data = $this->get_control_from_stack( $element->get_unique_name(), $control_id ); if ( is_wp_error( $old_control_data ) ) { return false; } if ( ! empty( $options['recursive'] ) ) { $control_data = array_replace_recursive( $old_control_data, $control_data ); } else { $control_data = array_merge( $old_control_data, $control_data ); } return $this->add_control_to_stack( $element, $control_id, $control_data, [ 'overwrite' => true, ] ); } /** * Get stacks. * * Retrieve a specific stack for the list of stacks. * * If the given stack is wrong, it will return `null`. When the stack valid, * it will return the the specific stack. When no stack was given, it will * return all the stacks. * * @since 1.7.1 * @access public * * @param string $stack_id Optional. stack ID. Default is null. * * @return null|array A list of stacks. */ public function get_stacks( $stack_id = null ) { if ( $stack_id ) { if ( isset( $this->stacks[ $stack_id ] ) ) { return $this->stacks[ $stack_id ]; } return null; } return $this->stacks; } /** * Get element stack. * * Retrieve a specific stack for the list of stacks from the current instance. * * @since 1.0.0 * @access public * * @param Controls_Stack $controls_stack Controls stack. * * @return null|array Stack data if it exist, `null` otherwise. */ public function get_element_stack( Controls_Stack $controls_stack ) { $stack_id = $controls_stack->get_unique_name(); if ( ! isset( $this->stacks[ $stack_id ] ) ) { return null; } return $this->stacks[ $stack_id ]; } /** * Add custom CSS controls. * * This method adds a new control for the "Custom CSS" feature. The free * version of elementor uses this method to display an upgrade message to * Elementor Pro. * * @since 1.0.0 * @access public * * @param Controls_Stack $controls_stack . * @param string $tab * @param array $additional_messages * */ public function add_custom_css_controls( Controls_Stack $controls_stack, $tab = self::TAB_ADVANCED, $additional_messages = [] ) { $controls_stack->start_controls_section( 'section_custom_css_pro', [ 'label' => esc_html__( 'Custom CSS', 'elementor' ), 'tab' => $tab, ] ); $messages = [ esc_html__( 'Custom CSS lets you add CSS code to any widget, and see it render live right in the editor.', 'elementor' ), ]; if ( $additional_messages ) { $messages = array_merge( $messages, $additional_messages ); } $controls_stack->add_control( 'custom_css_pro', [ 'type' => self::RAW_HTML, 'raw' => $this->get_teaser_template( [ 'title' => esc_html__( 'Meet Our Custom CSS', 'elementor' ), 'messages' => $messages, 'link' => 'https://go.elementor.com/go-pro-custom-css/', ] ), ] ); $controls_stack->end_controls_section(); } /** * Add Page Transitions controls. * * This method adds a new control for the "Page Transitions" feature. The Core * version of elementor uses this method to display an upgrade message to * Elementor Pro. * * @param Controls_Stack $controls_stack . * @param string $tab * @param array $additional_messages * * @return void */ public function add_page_transitions_controls( Controls_Stack $controls_stack, $tab = self::TAB_ADVANCED, $additional_messages = [] ) { $controls_stack->start_controls_section( 'section_page_transitions_teaser', [ 'label' => esc_html__( 'Page Transitions', 'elementor' ), 'tab' => $tab, ] ); $messages = [ esc_html__( 'Page Transitions let you style entrance and exit animations between pages as well as display loader until your page assets load.', 'elementor' ), ]; if ( $additional_messages ) { $messages = array_merge( $messages, $additional_messages ); } $controls_stack->add_control( 'page_transitions_teaser', [ 'type' => self::RAW_HTML, 'raw' => $this->get_teaser_template( [ 'title' => esc_html__( 'Meet Page Transitions', 'elementor' ), 'messages' => $messages, 'link' => 'https://go.elementor.com/go-pro-page-transitions/', ] ), ] ); $controls_stack->end_controls_section(); } public function get_teaser_template( $texts ) { ob_start(); ?>
start_controls_section( 'section_custom_attributes_pro', [ 'label' => esc_html__( 'Attributes', 'elementor' ), 'tab' => self::TAB_ADVANCED, ] ); $controls_stack->add_control( 'custom_attributes_pro', [ 'type' => self::RAW_HTML, 'raw' => $this->get_teaser_template( [ 'title' => esc_html__( 'Meet Our Attributes', 'elementor' ), 'messages' => [ esc_html__( 'Attributes lets you add custom HTML attributes to any element.', 'elementor' ), ], 'link' => 'https://go.elementor.com/go-pro-custom-attributes/', ] ), ] ); $controls_stack->end_controls_section(); } } includes/managers/widgets.php000064400000031506152377341010012336 0ustar00_widget_types = []; foreach ( $build_widgets_filename as $widget_filename ) { include( ELEMENTOR_PATH . 'includes/widgets/' . $widget_filename . '.php' ); $class_name = str_replace( '-', '_', $widget_filename ); $class_name = __NAMESPACE__ . '\Widget_' . $class_name; $this->register( new $class_name() ); } $this->register_wp_widgets(); /** * After widgets registered. * * Fires after Elementor widgets are registered. * * @since 1.0.0 * @deprecated 3.5.0 Use `elementor/widgets/register` hook instead. * * @param Widgets_Manager $this The widgets manager. */ Plugin::$instance->modules_manager->get_modules( 'dev-tools' )->deprecation->do_deprecated_action( 'elementor/widgets/widgets_registered', [ $this ], '3.5.0', 'elementor/widgets/register' ); /** * After widgets registered. * * Fires after Elementor widgets are registered. * * @since 3.5.0 * * @param Widgets_Manager $this The widgets manager. */ do_action( 'elementor/widgets/register', $this ); } /** * Register WordPress widgets. * * Add native WordPress widget to the list of registered widget types. * * Exclude the widgets that are in Elementor widgets black list. Theme and * plugin authors can filter the black list. * * @since 2.0.0 * @access private */ private function register_wp_widgets() { global $wp_widget_factory; // Skip Pojo widgets. $pojo_allowed_widgets = [ 'Pojo_Widget_Recent_Posts', 'Pojo_Widget_Posts_Group', 'Pojo_Widget_Gallery', 'Pojo_Widget_Recent_Galleries', 'Pojo_Slideshow_Widget', 'Pojo_Forms_Widget', 'Pojo_Widget_News_Ticker', 'Pojo_Widget_WC_Products', 'Pojo_Widget_WC_Products_Category', 'Pojo_Widget_WC_Product_Categories', ]; // Allow themes/plugins to filter out their widgets. $black_list = []; /** * Elementor widgets black list. * * Filters the widgets black list that won't be displayed in the panel. * * @since 1.0.0 * * @param array $black_list A black list of widgets. Default is an empty array. */ $black_list = apply_filters( 'elementor/widgets/black_list', $black_list ); foreach ( $wp_widget_factory->widgets as $widget_class => $widget_obj ) { if ( in_array( $widget_class, $black_list ) ) { continue; } if ( $widget_obj instanceof \Pojo_Widget_Base && ! in_array( $widget_class, $pojo_allowed_widgets ) ) { continue; } $elementor_widget_class = __NAMESPACE__ . '\Widget_WordPress'; $this->register( new $elementor_widget_class( [], [ 'widget_name' => $widget_class, ] ) ); } } /** * Require files. * * Require Elementor widget base class. * * @since 2.0.0 * @access private */ private function require_files() { require ELEMENTOR_PATH . 'includes/base/widget-base.php'; } /** * Register widget type. * * Add a new widget type to the list of registered widget types. * * @since 1.0.0 * @access public * @deprecated 3.5.0 Use `$this->register()` instead. * * @param Widget_Base $widget Elementor widget. * * @return true True if the widget was registered. */ public function register_widget_type( Widget_Base $widget ) { Plugin::$instance->modules_manager->get_modules( 'dev-tools' )->deprecation->deprecated_function( __METHOD__, '3.5.0', 'register' ); return $this->register( $widget ); } /** * Register a new widget type. * * @param \Elementor\Widget_Base $widget_instance Elementor Widget. * * @return true True if the widget was registered. * @since 3.5.0 * @access public * */ public function register( Widget_Base $widget_instance ) { if ( is_null( $this->_widget_types ) ) { $this->init_widgets(); } $this->_widget_types[ $widget_instance->get_name() ] = $widget_instance; return true; } /** * Unregister widget type. * * Removes widget type from the list of registered widget types. * * @since 1.0.0 * @access public * @deprecated 3.5.0 Use `$this->unregister()` instead. * * @param string $name Widget name. * * @return true True if the widget was unregistered, False otherwise. */ public function unregister_widget_type( $name ) { Plugin::$instance->modules_manager->get_modules( 'dev-tools' )->deprecation->deprecated_function( __METHOD__, '3.5.0', 'unregister' ); return $this->unregister( $name ); } /** * Unregister widget type. * * Removes widget type from the list of registered widget types. * * @since 3.5.0 * @access public * * @param string $name Widget name. * * @return boolean Whether the widget was unregistered. */ public function unregister( $name ) { if ( ! isset( $this->_widget_types[ $name ] ) ) { return false; } unset( $this->_widget_types[ $name ] ); return true; } /** * Get widget types. * * Retrieve the registered widget types list. * * @since 1.0.0 * @access public * * @param string $widget_name Optional. Widget name. Default is null. * * @return Widget_Base|Widget_Base[]|null Registered widget types. */ public function get_widget_types( $widget_name = null ) { if ( is_null( $this->_widget_types ) ) { $this->init_widgets(); } if ( null !== $widget_name ) { return isset( $this->_widget_types[ $widget_name ] ) ? $this->_widget_types[ $widget_name ] : null; } return $this->_widget_types; } /** * Get widget types config. * * Retrieve all the registered widgets with config for each widgets. * * @since 1.0.0 * @access public * * @return array Registered widget types with each widget config. */ public function get_widget_types_config() { $config = []; foreach ( $this->get_widget_types() as $widget_key => $widget ) { $config[ $widget_key ] = $widget->get_config(); } return $config; } public function ajax_get_widget_types_controls_config( array $data ) { $config = []; foreach ( $this->get_widget_types() as $widget_key => $widget ) { if ( isset( $data['exclude'][ $widget_key ] ) ) { continue; } $config[ $widget_key ] = [ 'controls' => $widget->get_stack( false )['controls'], 'tabs_controls' => $widget->get_tabs_controls(), ]; } return $config; } /** * Ajax render widget. * * Ajax handler for Elementor render_widget. * * Fired by `wp_ajax_elementor_render_widget` action. * * @since 1.0.0 * @access public * * @throws \Exception If current user don't have permissions to edit the post. * * @param array $request Ajax request. * * @return array { * Rendered widget. * * @type string $render The rendered HTML. * } */ public function ajax_render_widget( $request ) { $document = Plugin::$instance->documents->get( $request['editor_post_id'] ); if ( ! $document->is_editable_by_current_user() ) { throw new \Exception( 'Access denied.', Exceptions::FORBIDDEN ); } // Override the global $post for the render. query_posts( [ 'p' => $request['editor_post_id'], 'post_type' => 'any', ] ); $editor = Plugin::$instance->editor; $is_edit_mode = $editor->is_edit_mode(); $editor->set_edit_mode( true ); Plugin::$instance->documents->switch_to_document( $document ); $render_html = $document->render_element( $request['data'] ); $editor->set_edit_mode( $is_edit_mode ); return [ 'render' => $render_html, ]; } /** * Ajax get WordPress widget form. * * Ajax handler for Elementor editor get_wp_widget_form. * * Fired by `wp_ajax_elementor_editor_get_wp_widget_form` action. * * @since 1.0.0 * @access public * * @param array $request Ajax request. * * @return bool|string Rendered widget form. */ public function ajax_get_wp_widget_form( $request ) { if ( empty( $request['widget_type'] ) ) { return false; } if ( empty( $request['data'] ) ) { $request['data'] = []; } $element_data = [ 'id' => $request['id'], 'elType' => 'widget', 'widgetType' => $request['widget_type'], 'settings' => $request['data'], ]; /** * @var $widget_obj Widget_WordPress */ $widget_obj = Plugin::$instance->elements_manager->create_element_instance( $element_data ); if ( ! $widget_obj ) { return false; } return $widget_obj->get_form(); } /** * Render widgets content. * * Used to generate the widget templates on the editor using Underscore JS * template, for all the registered widget types. * * @since 1.0.0 * @access public */ public function render_widgets_content() { foreach ( $this->get_widget_types() as $widget ) { $widget->print_template(); } } /** * Get widgets frontend settings keys. * * Retrieve frontend controls settings keys for all the registered widget * types. * * @since 1.3.0 * @access public * * @return array Registered widget types with settings keys for each widget. */ public function get_widgets_frontend_settings_keys() { $keys = []; foreach ( $this->get_widget_types() as $widget_type_name => $widget_type ) { $widget_type_keys = $widget_type->get_frontend_settings_keys(); if ( $widget_type_keys ) { $keys[ $widget_type_name ] = $widget_type_keys; } } return $keys; } /** * Enqueue widgets scripts. * * Enqueue all the scripts defined as a dependency for each widget. * * @since 1.3.0 * @access public */ public function enqueue_widgets_scripts() { foreach ( $this->get_widget_types() as $widget ) { $widget->enqueue_scripts(); } } /** * Enqueue widgets styles * * Enqueue all the styles defined as a dependency for each widget * * @access public */ public function enqueue_widgets_styles() { foreach ( $this->get_widget_types() as $widget ) { $widget->enqueue_styles(); } } /** * Retrieve inline editing configuration. * * Returns general inline editing configurations like toolbar types etc. * * @access public * @since 1.8.0 * * @return array { * Inline editing configuration. * * @type array $toolbar { * Toolbar types and the actions each toolbar includes. * Note: Wysiwyg controls uses the advanced toolbar, textarea controls * uses the basic toolbar and text controls has no toolbar. * * @type array $basic Basic actions included in the edit tool. * @type array $advanced Advanced actions included in the edit tool. * } * } */ public function get_inline_editing_config() { $basic_tools = [ 'bold', 'underline', 'italic', ]; $advanced_tools = array_merge( $basic_tools, [ 'createlink', 'unlink', 'h1' => [ 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'p', 'blockquote', 'pre', ], 'list' => [ 'insertOrderedList', 'insertUnorderedList', ], ] ); return [ 'toolbar' => [ 'basic' => $basic_tools, 'advanced' => $advanced_tools, ], ]; } /** * Widgets manager constructor. * * Initializing Elementor widgets manager. * * @since 1.0.0 * @access public */ public function __construct() { $this->require_files(); add_action( 'elementor/ajax/register_actions', [ $this, 'register_ajax_actions' ] ); } /** * Register ajax actions. * * Add new actions to handle data after an ajax requests returned. * * @since 2.0.0 * @access public * * @param Ajax $ajax_manager */ public function register_ajax_actions( Ajax $ajax_manager ) { $ajax_manager->register_ajax_action( 'render_widget', [ $this, 'ajax_render_widget' ] ); $ajax_manager->register_ajax_action( 'editor_get_wp_widget_form', [ $this, 'ajax_get_wp_widget_form' ] ); $ajax_manager->register_ajax_action( 'get_widgets_config', [ $this, 'ajax_get_widget_types_controls_config' ] ); } } includes/managers/elements.php000064400000020251152377341010012477 0ustar00require_files(); } /** * Create element instance. * * This method creates a new element instance for any given element. * * @since 1.0.0 * @access public * * @param array $element_data Element data. * @param array $element_args Optional. Element arguments. Default is * an empty array. * @param Element_Base $element_type Optional. Element type. Default is null. * * @return Element_Base|null Element instance if element created, or null * otherwise. */ public function create_element_instance( array $element_data, array $element_args = [], Element_Base $element_type = null ) { if ( null === $element_type ) { if ( 'widget' === $element_data['elType'] ) { $element_type = Plugin::$instance->widgets_manager->get_widget_types( $element_data['widgetType'] ); } else { $element_type = $this->get_element_types( $element_data['elType'] ); } } if ( ! $element_type ) { return null; } $args = array_merge( $element_type->get_default_args(), $element_args ); $element_class = $element_type->get_class_name(); try { $element = new $element_class( $element_data, $args ); } catch ( \Exception $e ) { return null; } return $element; } /** * Get element categories. * * Retrieve the list of categories the element belongs to. * * @since 1.0.0 * @access public * * @return array Element categories. */ public function get_categories() { if ( null === $this->categories ) { $this->init_categories(); } return $this->categories; } /** * Add element category. * * Register new category for the element. * * @since 1.7.12 * @access public * * @param string $category_name Category name. * @param array $category_properties Category properties. */ public function add_category( $category_name, $category_properties ) { if ( null === $this->categories ) { $this->get_categories(); } if ( ! isset( $this->categories[ $category_name ] ) ) { $this->categories[ $category_name ] = $category_properties; } } /** * Register element type. * * Add new type to the list of registered types. * * @since 1.0.0 * @access public * * @param Element_Base $element Element instance. * * @return bool Whether the element type was registered. */ public function register_element_type( Element_Base $element ) { $this->_element_types[ $element->get_name() ] = $element; return true; } /** * Unregister element type. * * Remove element type from the list of registered types. * * @since 1.0.0 * @access public * * @param string $name Element name. * * @return bool Whether the element type was unregister, or not. */ public function unregister_element_type( $name ) { if ( ! isset( $this->_element_types[ $name ] ) ) { return false; } unset( $this->_element_types[ $name ] ); return true; } /** * Get element types. * * Retrieve the list of all the element types, or if a specific element name * was provided retrieve his element types. * * @since 1.0.0 * @access public * * @param string $element_name Optional. Element name. Default is null. * * @return null|Element_Base|Element_Base[] Element types, or a list of all the element * types, or null if element does not exist. */ public function get_element_types( $element_name = null ) { if ( is_null( $this->_element_types ) ) { $this->init_elements(); } if ( null !== $element_name ) { return isset( $this->_element_types[ $element_name ] ) ? $this->_element_types[ $element_name ] : null; } return $this->_element_types; } /** * Get element types config. * * Retrieve the config of all the element types. * * @since 1.0.0 * @access public * * @return array Element types config. */ public function get_element_types_config() { $config = []; foreach ( $this->get_element_types() as $element ) { $config[ $element->get_name() ] = $element->get_config(); } return $config; } /** * Render elements content. * * Used to generate the elements templates on the editor. * * @since 1.0.0 * @access public */ public function render_elements_content() { foreach ( $this->get_element_types() as $element_type ) { $element_type->print_template(); } } /** * Init elements. * * Initialize Elementor elements by registering the supported elements. * Elementor supports by default `section` element and `column` element. * * @since 2.0.0 * @access private */ private function init_elements() { $this->_element_types = []; foreach ( [ 'section', 'column' ] as $element_name ) { $class_name = __NAMESPACE__ . '\Element_' . $element_name; $this->register_element_type( new $class_name() ); } $experiments_manager = Plugin::$instance->experiments; if ( $experiments_manager->is_feature_active( 'container' ) ) { $this->register_element_type( new Container() ); } /** * After elements registered. * * Fires after Elementor elements are registered. * * @since 1.0.0 */ do_action( 'elementor/elements/elements_registered', $this ); } /** * Init categories. * * Initialize the element categories. * * @since 1.7.12 * @access private */ private function init_categories() { $this->categories = [ 'basic' => [ 'title' => esc_html__( 'Basic', 'elementor' ), 'icon' => 'eicon-font', ], 'pro-elements' => [ 'title' => esc_html__( 'Pro', 'elementor' ), ], 'general' => [ 'title' => esc_html__( 'General', 'elementor' ), 'icon' => 'eicon-font', ], 'theme-elements' => [ 'title' => esc_html__( 'Site', 'elementor' ), 'active' => false, ], 'woocommerce-elements' => [ 'title' => esc_html__( 'WooCommerce', 'elementor' ), 'active' => false, ], ]; // Not using the `add_category` because it doesn't allow 3rd party to inject a category on top the others. if ( Plugin::instance()->experiments->is_feature_active( 'favorite-widgets' ) ) { $this->categories = array_merge_recursive( [ 'favorites' => [ 'title' => esc_html__( 'Favorites', 'elementor' ), 'icon' => 'eicon-heart', 'sort' => 'a-z', 'hideIfEmpty' => false, ], ], $this->categories ); } /** * When categories are registered. * * Fires after basic categories are registered, before WordPress * category have been registered. * * This is where categories registered by external developers are * added. * * @since 2.0.0 * * @param Elements_Manager $this Elements manager instance. */ do_action( 'elementor/elements/categories_registered', $this ); $this->categories['pojo'] = [ 'title' => esc_html__( 'Pojo Themes', 'elementor' ), 'icon' => 'eicon-pojome', ]; $this->categories['wordpress'] = [ 'title' => esc_html__( 'WordPress', 'elementor' ), 'icon' => 'eicon-wordpress', 'active' => false, ]; } /** * Require files. * * Require Elementor element base class and column, section and repeater * elements. * * @since 1.0.0 * @access private */ private function require_files() { require_once ELEMENTOR_PATH . 'includes/base/element-base.php'; require ELEMENTOR_PATH . 'includes/elements/column.php'; require ELEMENTOR_PATH . 'includes/elements/section.php'; require ELEMENTOR_PATH . 'includes/elements/repeater.php'; } } includes/managers/wordpress-widgets.php000064400000005326152377341010014365 0ustar00= 4.9 - it's no needed, Keep for Backward compatibility. $wp_scripts->add( 'media-widgets', "/wp-admin/js/widgets/media-widgets$suffix.js", array( 'jquery', 'media-models', 'media-views' ) ); $wp_scripts->add_inline_script( 'media-widgets', 'wp.mediaWidgets.init();', 'after' ); $wp_scripts->add( 'media-audio-widget', "/wp-admin/js/widgets/media-audio-widget$suffix.js", array( 'media-widgets', 'media-audiovideo' ) ); $wp_scripts->add( 'media-image-widget', "/wp-admin/js/widgets/media-image-widget$suffix.js", array( 'media-widgets' ) ); $wp_scripts->add( 'media-video-widget', "/wp-admin/js/widgets/media-video-widget$suffix.js", array( 'media-widgets', 'media-audiovideo' ) ); $wp_scripts->add( 'text-widgets', "/wp-admin/js/widgets/text-widgets$suffix.js", array( 'jquery', 'editor', 'wp-util' ) ); $wp_scripts->add_inline_script( 'text-widgets', 'wp.textWidgets.init();', 'after' ); wp_enqueue_style( 'widgets' ); wp_enqueue_style( 'media-views' ); // End TODO. // Don't enqueue `code-editor` for WP Custom HTML widget. wp_get_current_user()->syntax_highlighting = 'false'; /** This action is documented in wp-admin/admin-header.php */ do_action( 'admin_print_scripts-widgets.php' ); } /** * WordPress widgets footer. * * Prints WordPress widgets scripts in Elementor editor footer. * * Fired by `elementor/editor/footer` action. * * @since 1.5.0 * @access public */ public function footer() { /** This action is documented in wp-admin/admin-footer.php */ do_action( 'admin_footer-widgets.php' ); } } includes/managers/image.php000064400000007415152377341010011754 0ustar00get_details( $item['id'], $item['size'], $item['is_first_time'] ); } wp_send_json_success( $urls ); } /** * Get image details. * * Retrieve single image details. * * Fired by `wp_ajax_elementor_get_image_details` action. * * @since 1.0.0 * @access public * * @param string $id Image attachment ID. * @param string|array $size Image size. Accepts any valid image * size, or an array of width and height * values in pixels (in that order). * @param string $is_first_time Set 'true' string to force reloading * all image sizes. * * @return array URLs with different image sizes. */ public function get_details( $id, $size, $is_first_time ) { if ( ! class_exists( 'Group_Control_Image_Size' ) ) { require_once ELEMENTOR_PATH . '/includes/controls/groups/image-size.php'; } if ( 'true' === $is_first_time ) { $sizes = get_intermediate_image_sizes(); $sizes[] = 'full'; } else { $sizes = []; } $sizes[] = $size; $urls = []; foreach ( $sizes as $size ) { if ( 0 === strpos( $size, 'custom_' ) ) { preg_match( '/custom_(\d*)x(\d*)/', $size, $matches ); $instance = [ 'image_size' => 'custom', 'image_custom_dimension' => [ 'width' => $matches[1], 'height' => $matches[2], ], ]; $urls[ $size ] = Group_Control_Image_Size::get_attachment_image_src( $id, 'image', $instance ); } else { $urls[ $size ] = wp_get_attachment_image_src( $id, $size )[0]; } } return $urls; } /** * Get Light-Box Image Attributes * * Used to retrieve an array of image attributes to be used for displaying an image in Elementor's Light Box module. * * @param int $id The ID of the image * * @return array An array of image attributes including `title` and `description`. * @since 2.9.0 * @access public */ public function get_lightbox_image_attributes( $id ) { $attributes = []; $kit = Plugin::$instance->kits_manager->get_active_kit(); $lightbox_title_src = $kit->get_settings( 'lightbox_title_src' ); $lightbox_description_src = $kit->get_settings( 'lightbox_description_src' ); $attachment = get_post( $id ); if ( $attachment ) { $image_data = [ 'alt' => get_post_meta( $attachment->ID, '_wp_attachment_image_alt', true ), 'caption' => $attachment->post_excerpt, 'description' => $attachment->post_content, 'title' => $attachment->post_title, ]; if ( $lightbox_title_src && $image_data[ $lightbox_title_src ] ) { $attributes['title'] = $image_data[ $lightbox_title_src ]; } if ( $lightbox_description_src && $image_data[ $lightbox_description_src ] ) { $attributes['description'] = $image_data[ $lightbox_description_src ]; } } return $attributes; } /** * Images manager constructor. * * Initializing Elementor images manager. * * @since 1.0.0 * @access public */ public function __construct() { add_action( 'wp_ajax_elementor_get_images_details', [ $this, 'get_images_details' ] ); } } includes/managers/skins.php000064400000004506152377341010012017 0ustar00get_name(); if ( ! isset( $this->_skins[ $widget_name ] ) ) { $this->_skins[ $widget_name ] = []; } $this->_skins[ $widget_name ][ $skin->get_id() ] = $skin; return true; } /** * Remove a skin. * * Unregister an existing skin from a widget. * * @since 1.0.0 * @access public * * @param Widget_Base $widget Elementor widget. * @param string $skin_id Elementor skin ID. * * @return true|\WP_Error True if skin removed, `WP_Error` otherwise. */ public function remove_skin( Widget_Base $widget, $skin_id ) { $widget_name = $widget->get_name(); if ( ! isset( $this->_skins[ $widget_name ][ $skin_id ] ) ) { return new \WP_Error( 'Cannot remove not-exists skin.' ); } unset( $this->_skins[ $widget_name ][ $skin_id ] ); return true; } /** * Get skins. * * Retrieve all the skins assigned for a specific widget. * * @since 1.0.0 * @access public * * @param Widget_Base $widget Elementor widget. * * @return false|array Skins if the widget has skins, False otherwise. */ public function get_skins( Widget_Base $widget ) { $widget_name = $widget->get_name(); if ( ! isset( $this->_skins[ $widget_name ] ) ) { return false; } return $this->_skins[ $widget_name ]; } /** * Skins manager constructor. * * Initializing Elementor skins manager by requiring the skin base class. * * @since 1.0.0 * @access public */ public function __construct() { require ELEMENTOR_PATH . 'includes/base/skin-base.php'; } } includes/managers/icons.php000064400000044345152377341010012010 0ustar00 $icon_type ) { if ( ! isset( $icon_type['url'] ) ) { continue; } $dependencies = []; if ( ! empty( $icon_type['enqueue'] ) ) { foreach ( (array) $icon_type['enqueue'] as $font_css_url ) { if ( ! in_array( $font_css_url, array_keys( $shared_styles ) ) ) { $style_handle = 'elementor-icons-shared-' . count( $shared_styles ); wp_register_style( $style_handle, $font_css_url, [], $icon_type['ver'] ); $shared_styles[ $font_css_url ] = $style_handle; } $dependencies[] = $shared_styles[ $font_css_url ]; } } wp_register_style( 'elementor-icons-' . $icon_type['name'], $icon_type['url'], $dependencies, $icon_type['ver'] ); } } /** * Init Tabs * * Initiate Icon Manager Tabs. * * @access private * @static * @since 2.4.0 */ private static function init_tabs() { $initial_tabs = [ 'fa-regular' => [ 'name' => 'fa-regular', 'label' => esc_html__( 'Font Awesome - Regular', 'elementor' ), 'url' => self::get_fa_asset_url( 'regular' ), 'enqueue' => [ self::get_fa_asset_url( 'fontawesome' ) ], 'prefix' => 'fa-', 'displayPrefix' => 'far', 'labelIcon' => 'fab fa-font-awesome-alt', 'ver' => '5.15.3', 'fetchJson' => self::get_fa_asset_url( 'regular', 'js', false ), 'native' => true, ], 'fa-solid' => [ 'name' => 'fa-solid', 'label' => esc_html__( 'Font Awesome - Solid', 'elementor' ), 'url' => self::get_fa_asset_url( 'solid' ), 'enqueue' => [ self::get_fa_asset_url( 'fontawesome' ) ], 'prefix' => 'fa-', 'displayPrefix' => 'fas', 'labelIcon' => 'fab fa-font-awesome', 'ver' => '5.15.3', 'fetchJson' => self::get_fa_asset_url( 'solid', 'js', false ), 'native' => true, ], 'fa-brands' => [ 'name' => 'fa-brands', 'label' => esc_html__( 'Font Awesome - Brands', 'elementor' ), 'url' => self::get_fa_asset_url( 'brands' ), 'enqueue' => [ self::get_fa_asset_url( 'fontawesome' ) ], 'prefix' => 'fa-', 'displayPrefix' => 'fab', 'labelIcon' => 'fab fa-font-awesome-flag', 'ver' => '5.15.3', 'fetchJson' => self::get_fa_asset_url( 'brands', 'js', false ), 'native' => true, ], ]; /** * Initial icon manager tabs. * * Filters the list of initial icon manager tabs. * * @param array $icon_manager_tabs Initial icon manager tabs. */ $initial_tabs = apply_filters( 'elementor/icons_manager/native', $initial_tabs ); self::$tabs = $initial_tabs; } /** * Get Icon Manager Tabs * @return array */ public static function get_icon_manager_tabs() { if ( self::is_font_icon_inline_svg() && ! Plugin::$instance->editor->is_edit_mode() && ! Plugin::$instance->preview->is_preview_mode() ) { self::$tabs = []; } elseif ( ! self::$tabs ) { self::init_tabs(); } $additional_tabs = []; /** * Additional icon manager tabs. * * Filters additional icon manager tabs. * * @param array $additional_tabs Additional icon manager tabs. Default is an empty array. */ $additional_tabs = apply_filters( 'elementor/icons_manager/additional_tabs', $additional_tabs ); return array_merge( self::$tabs, $additional_tabs ); } public static function enqueue_shim() { wp_enqueue_script( 'font-awesome-4-shim', self::get_fa_asset_url( 'v4-shims', 'js' ), [], ELEMENTOR_VERSION ); // Make sure that the CSS in the 'all' file does not override FA Pro's CSS if ( ! wp_script_is( 'font-awesome-pro' ) ) { wp_enqueue_style( 'font-awesome-5-all', self::get_fa_asset_url( 'all' ), [], ELEMENTOR_VERSION ); } wp_enqueue_style( 'font-awesome-4-shim', self::get_fa_asset_url( 'v4-shims' ), [], ELEMENTOR_VERSION ); } private static function get_fa_asset_url( $filename, $ext_type = 'css', $add_suffix = true ) { static $is_test_mode = null; if ( null === $is_test_mode ) { $is_test_mode = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG || defined( 'ELEMENTOR_TESTS' ) && ELEMENTOR_TESTS; } $url = ELEMENTOR_ASSETS_URL . 'lib/font-awesome/' . $ext_type . '/' . $filename; if ( ! $is_test_mode && $add_suffix ) { $url .= '.min'; } return $url . '.' . $ext_type; } public static function get_icon_manager_tabs_config() { $tabs = [ 'all' => [ 'name' => 'all', 'label' => esc_html__( 'All Icons', 'elementor' ), 'labelIcon' => 'eicon-filter', 'native' => true, ], ]; return array_values( array_merge( $tabs, self::get_icon_manager_tabs() ) ); } /** * is_font_awesome_inline * * @return bool */ private static function is_font_icon_inline_svg() { return Plugin::$instance->experiments->is_feature_active( 'e_font_icon_svg' ); } /** * render_svg_symbols * */ public static function render_svg_symbols() { if ( ! self::$font_icon_svg_symbols ) { return; } $svg = ''; Utils::print_unescaped_internal_string( $svg ); } public static function get_icon_svg_data( $icon ) { return self::$data_manager->get_font_icon_svg_data( $icon ); } /** * Get font awesome svg. * @param $icon array [ 'value' => string, 'library' => string ] * * @return bool|mixed|string */ public static function get_font_icon_svg( $icon, $attributes = [] ) { // Load the SVG from the database. $icon_data = self::get_icon_svg_data( $icon ); if ( ! $icon_data['path'] ) { return ''; } // Add the icon data to the symbols array for later use in page rendering process. if ( ! in_array( $icon_data['key'], self::$font_icon_svg_symbols, true ) ) { self::$font_icon_svg_symbols[ $icon_data['key'] ] = $icon_data; } if ( ! empty( $attributes['class'] ) && ! is_array( $attributes['class'] ) ) { $attributes['class'] = [ $attributes['class'] ]; } $attributes['class'][] = self::FONT_ICON_SVG_CLASS_NAME; $attributes['class'][] = 'e-' . $icon_data['key']; /** * If in edit mode inline the full svg, otherwise use the symbol. * Will be displayed only after page update or widget "blur". */ if ( Plugin::$instance->editor->is_edit_mode() ) { return ' '; } return ''; } public static function render_uploaded_svg_icon( $value ) { if ( ! isset( $value['id'] ) ) { return ''; } return Svg::get_inline_svg( $value['id'] ); } public static function render_font_icon( $icon, $attributes = [], $tag = 'i' ) { $icon_types = self::get_icon_manager_tabs(); if ( isset( $icon_types[ $icon['library'] ]['render_callback'] ) && is_callable( $icon_types[ $icon['library'] ]['render_callback'] ) ) { return call_user_func_array( $icon_types[ $icon['library'] ]['render_callback'], [ $icon, $attributes, $tag ] ); } $content = ''; $font_icon_svg_family = self::is_font_icon_inline_svg() ? Font_Icon_Svg_Data_Manager::get_font_family( $icon['library'] ) : ''; if ( $font_icon_svg_family ) { $icon['font_family'] = $font_icon_svg_family; $content = self::get_font_icon_svg( $icon, $attributes ); if ( $content ) { return $content; } } if ( ! $content ) { if ( empty( $attributes['class'] ) ) { $attributes['class'] = $icon['value']; } else { if ( is_array( $attributes['class'] ) ) { $attributes['class'][] = $icon['value']; } else { $attributes['class'] .= ' ' . $icon['value']; } } } return '<' . $tag . ' ' . Utils::render_html_attributes( $attributes ) . '>' . $content . ''; } /** * Render Icon * * Used to render Icon for \Elementor\Controls_Manager::ICONS * @param array $icon Icon Type, Icon value * @param array $attributes Icon HTML Attributes * @param string $tag Icon HTML tag, defaults to * * @return mixed|string */ public static function render_icon( $icon, $attributes = [], $tag = 'i' ) { if ( empty( $icon['library'] ) ) { return false; } $output = ''; /** * When the library value is svg it means that it's a SVG media attachment uploaded by the user. * Otherwise, it's the name of the font family that the icon belongs to. */ if ( 'svg' === $icon['library'] ) { $output = self::render_uploaded_svg_icon( $icon['value'] ); } else { $output = self::render_font_icon( $icon, $attributes, $tag ); } Utils::print_unescaped_internal_string( $output ); return true; } /** * Font Awesome 4 to font Awesome 5 Value Migration * * used to convert string value of Icon control to array value of Icons control * ex: 'fa fa-star' => [ 'value' => 'fas fa-star', 'library' => 'fa-solid' ] * * @param $value * * @return array */ public static function fa4_to_fa5_value_migration( $value ) { static $migration_dictionary = false; if ( '' === $value ) { return [ 'value' => '', 'library' => '', ]; } if ( false === $migration_dictionary ) { $migration_dictionary = json_decode( Utils::file_get_contents( ELEMENTOR_ASSETS_PATH . 'lib/font-awesome/migration/mapping.js' ), true ); } if ( isset( $migration_dictionary[ $value ] ) ) { return $migration_dictionary[ $value ]; } return [ 'value' => 'fas ' . str_replace( 'fa ', '', $value ), 'library' => 'fa-solid', ]; } /** * on_import_migration * @param array $element settings array * @param string $old_control old control id * @param string $new_control new control id * @param bool $remove_old boolean weather to remove old control or not * * @return array */ public static function on_import_migration( array $element, $old_control = '', $new_control = '', $remove_old = false ) { if ( ! isset( $element['settings'][ $old_control ] ) || isset( $element['settings'][ $new_control ] ) ) { return $element; } // Case when old value is saved as empty string $new_value = [ 'value' => '', 'library' => '', ]; // Case when old value needs migration if ( ! empty( $element['settings'][ $old_control ] ) && ! self::is_migration_allowed() ) { $new_value = self::fa4_to_fa5_value_migration( $element['settings'][ $old_control ] ); } $element['settings'][ $new_control ] = $new_value; //remove old value if ( $remove_old ) { unset( $element['settings'][ $old_control ] ); } return $element; } /** * is_migration_allowed * @return bool */ public static function is_migration_allowed() { static $migration_allowed = false; if ( false === $migration_allowed ) { $migration_allowed = null === self::get_needs_upgrade_option(); /** * Is icon migration allowed. * * Filters whther the icons migration allowed. * * @param bool $migration_allowed Is icon migration is allowed. */ $migration_allowed = apply_filters( 'elementor/icons_manager/migration_allowed', $migration_allowed ); } return $migration_allowed; } /** * Register_Admin Settings * * adds Font Awesome migration / update admin settings * @param Settings $settings */ public function register_admin_settings( Settings $settings ) { $settings->add_field( Settings::TAB_ADVANCED, Settings::TAB_ADVANCED, 'load_fa4_shim', [ 'label' => esc_html__( 'Load Font Awesome 4 Support', 'elementor' ), 'field_args' => [ 'type' => 'select', 'std' => '', 'options' => [ '' => esc_html__( 'No', 'elementor' ), 'yes' => esc_html__( 'Yes', 'elementor' ), ], 'desc' => esc_html__( 'Font Awesome 4 support script (shim.js) is a script that makes sure all previously selected Font Awesome 4 icons are displayed correctly while using Font Awesome 5 library.', 'elementor' ), ], ] ); } public function register_admin_tools_settings( Tools $settings ) { $settings->add_tab( 'fontawesome4_migration', [ 'label' => esc_html__( 'Font Awesome Upgrade', 'elementor' ) ] ); $settings->add_section( 'fontawesome4_migration', 'fontawesome4_migration', [ 'callback' => function() { echo '

' . esc_html__( 'Font Awesome Upgrade', 'elementor' ) . '

'; echo '

' . // PHPCS - Plain Text esc_html__( 'Access 1,500+ amazing Font Awesome 5 icons and enjoy faster performance and design flexibility.', 'elementor' ) . '
' . // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped esc_html__( 'By upgrading, whenever you edit a page containing a Font Awesome 4 icon, Elementor will convert it to the new Font Awesome 5 icon.', 'elementor' ) . // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped '

' . esc_html__( 'Please note that the upgrade process may cause some of the previously used Font Awesome 4 icons to look a bit different due to minor design changes made by Font Awesome.', 'elementor' ) . // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped '

' . esc_html__( 'The upgrade process includes a database update', 'elementor' ) . ' - ' . // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped esc_html__( 'We highly recommend backing up your database before performing this upgrade.', 'elementor' ) . // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped '

' . esc_html__( 'This action is not reversible and cannot be undone by rolling back to previous versions.', 'elementor' ) . // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped '

'; }, 'fields' => [ [ 'label' => esc_html__( 'Font Awesome Upgrade', 'elementor' ), 'field_args' => [ 'type' => 'raw_html', 'html' => sprintf( '%s', self::NEEDS_UPDATE_OPTION . '_upgrade', wp_create_nonce( self::NEEDS_UPDATE_OPTION ), esc_url( $this->get_upgrade_redirect_url() ), esc_html__( 'Upgrade To Font Awesome 5', 'elementor' ) ), ], ], ], ] ); } /** * Get redirect URL when upgrading font awesome. * * @return string */ public function get_upgrade_redirect_url() { if ( ! wp_verify_nonce( $_GET['_wpnonce'], 'tools-page-from-editor' ) ) { return ''; } $document_id = ! empty( $_GET['redirect_to_document'] ) ? absint( $_GET['redirect_to_document'] ) : null; if ( ! $document_id ) { return ''; } $document = Plugin::$instance->documents->get( $document_id ); if ( ! $document ) { return ''; } return $document->get_edit_url(); } /** * Ajax Upgrade to FontAwesome 5 */ public function ajax_upgrade_to_fa5() { check_ajax_referer( self::NEEDS_UPDATE_OPTION, '_nonce' ); delete_option( 'elementor_' . self::NEEDS_UPDATE_OPTION ); wp_send_json_success( [ 'message' => esc_html__( 'Hurray! The upgrade process to Font Awesome 5 was completed successfully.', 'elementor' ) ] ); } /** * Add Update Needed Flag * @param array $settings * * @return array; */ public function add_update_needed_flag( $settings ) { $settings['icons_update_needed'] = true; return $settings; } public function enqueue_fontawesome_css() { if ( ! self::is_migration_allowed() ) { wp_enqueue_style( 'font-awesome' ); } else { $current_filter = current_filter(); $load_shim = get_option( self::LOAD_FA4_SHIM_OPTION_KEY, false ); if ( 'elementor/editor/after_enqueue_styles' === $current_filter ) { self::enqueue_shim(); } else if ( 'yes' === $load_shim ) { self::enqueue_shim(); } } } /** * @deprecated 3.1.0 */ public function add_admin_strings() { Plugin::$instance->modules_manager->get_modules( 'dev-tools' )->deprecation->deprecated_function( __METHOD__, '3.1.0' ); return []; } /** * Icons Manager constructor */ public function __construct() { if ( is_admin() ) { // @todo: remove once we deprecate fa4 add_action( 'elementor/admin/after_create_settings/' . Settings::PAGE_ID, [ $this, 'register_admin_settings' ], 100 ); } if ( self::is_font_icon_inline_svg() ) { self::$data_manager = new Font_Icon_Svg_Data_Manager(); add_action( 'wp_footer', [ $this, 'render_svg_symbols' ], 10 ); } add_action( 'elementor/frontend/after_enqueue_styles', [ $this, 'enqueue_fontawesome_css' ] ); add_action( 'elementor/frontend/after_register_styles', [ $this, 'register_styles' ] ); if ( ! self::is_migration_allowed() ) { add_filter( 'elementor/editor/localize_settings', [ $this, 'add_update_needed_flag' ] ); add_action( 'elementor/admin/after_create_settings/' . Tools::PAGE_ID, [ $this, 'register_admin_tools_settings' ], 100 ); if ( ! empty( $_POST ) ) { // phpcs:ignore -- nonce validation done in callback add_action( 'wp_ajax_' . self::NEEDS_UPDATE_OPTION . '_upgrade', [ $this, 'ajax_upgrade_to_fa5' ] ); } } } } includes/heartbeat.php000064400000005113152377341010011025 0ustar00editor->get_locked_user( $post_id ); if ( ! $locked_user || ! empty( $data['elementor_force_post_lock'] ) ) { Plugin::$instance->editor->lock_post( $post_id ); } else { $response['locked_user'] = $locked_user->display_name; } /** @var Core\Common\Modules\Ajax\Module $ajax */ $ajax = Plugin::$instance->common->get_component( 'ajax' ); $response['elementorNonce'] = $ajax->create_nonce(); } return $response; } /** * Refresh nonces. * * Filter the nonces to send to the editor when editing with Elementor. Used * to refresh the nonce when the nonce expires while editing. This way the * user doesn't need to log-in again as Elementor fetches the new nonce from * the server using ajax. * * Fired by `wp_refresh_nonces` filter. * * @since 1.8.0 * @access public * * @param array $response The no-priv Heartbeat response object or array. * @param array $data The `$_POST` data sent. * * @return array Refreshed nonces. */ public function refresh_nonces( $response, $data ) { if ( isset( $data['elementor_post_lock']['post_ID'] ) ) { /** @var Core\Common\Modules\Ajax\Module $ajax */ $ajax = Plugin::$instance->common->get_component( 'ajax' ); $response['elementor-refresh-nonces'] = [ 'elementorNonce' => $ajax->create_nonce(), 'heartbeatNonce' => wp_create_nonce( 'heartbeat-nonce' ), ]; } return $response; } /** * Heartbeat constructor. * * Initializing Elementor heartbeat. * * @since 1.0.0 * @access public */ public function __construct() { add_filter( 'heartbeat_received', [ $this, 'heartbeat_received' ], 10, 2 ); add_filter( 'wp_refresh_nonces', [ $this, 'refresh_nonces' ], 30, 2 ); } } includes/controls/text-shadow.php000064400000006210152377341010013177 0ustar00 0, 'vertical' => 0, 'blur' => 10, 'color' => 'rgba(0,0,0,0.3)', ]; } /** * Get text shadow control sliders. * * Retrieve the sliders of the text shadow control. Sliders are used while * rendering the control output in the editor. * * @since 1.6.0 * @access public * * @return array Control sliders. */ public function get_sliders() { return [ 'blur' => [ 'label' => esc_html__( 'Blur', 'elementor' ), 'min' => 0, 'max' => 100, ], 'horizontal' => [ 'label' => esc_html__( 'Horizontal', 'elementor' ), 'min' => -100, 'max' => 100, ], 'vertical' => [ 'label' => esc_html__( 'Vertical', 'elementor' ), 'min' => -100, 'max' => 100, ], ]; } /** * Render text shadow control output in the editor. * * Used to generate the control HTML in the editor using Underscore JS * template. The variables for the class are available using `data` JS * object. * * @since 1.6.0 * @access public */ public function content_template() { ?>
get_sliders() as $slider_name => $slider ) : ?>
[], 'multiple' => false, // Select2 library options 'select2options' => [], // the lockedOptions array can be passed option keys. The passed option keys will be non-deletable. 'lockedOptions' => [], ]; } /** * Render select2 control output in the editor. * * Used to generate the control HTML in the editor using Underscore JS * template. The variables for the class are available using `data` JS * object. * * @since 1.0.0 * @access public */ public function content_template() { ?>
<# if ( data.label ) {#> <# } #>
<# var multiple = ( data.multiple ) ? 'multiple' : ''; #>
<# if ( data.description ) { #>
{{{ data.description }}}
<# } #> templates_manager->get_import_images_instance()->import( $attachment ); } // Filter out attachments that don't exist $settings = array_filter( $settings ); return $settings; } /** * Render gallery control output in the editor. * * Used to generate the control HTML in the editor using Underscore JS * template. The variables for the class are available using `data` JS * object. * * @since 1.0.0 * @access public */ public function content_template() { ?>
{{{ data.label }}}
<# if ( data.description ) { #>
{{{ data.description }}}
<# } #>
true, 'separator' => 'none', 'dynamic' => [ 'categories' => [ TagsModule::GALLERY_CATEGORY ], 'returnType' => 'object', ], ]; } /** * Get gallery control default values. * * Retrieve the default value of the gallery control. Used to return the default * values while initializing the gallery control. * * @since 1.0.0 * @access public * * @return array Control default value. */ public function get_default_value() { return []; } } includes/controls/switcher.php000064400000004116152377341010012563 0ustar00
<# if ( data.description ) { #>
{{{ data.description }}}
<# } #> esc_html__( 'No', 'elementor' ), 'label_on' => esc_html__( 'Yes', 'elementor' ), 'return_value' => 'yes', ]; } } includes/controls/select.php000064400000005046152377341010012215 0ustar00 [], ]; } /** * Render select control output in the editor. * * Used to generate the control HTML in the editor using Underscore JS * template. The variables for the class are available using `data` JS * object. * * @since 1.0.0 * @access public */ public function content_template() { ?>
<# if ( data.label ) {#> <# } #>
<# if ( data.description ) { #>
{{{ data.description }}}
<# } #> <# data.raw = elementor.compileTemplate( data.raw, { view } ); if ( data.label ) { #> {{{ data.label }}} <# } #>
{{{ data.raw }}}
'', 'content_classes' => '', ]; } } includes/controls/popover-toggle.php000064400000005051152377341010013703 0ustar00 'yes', ]; } /** * Render popover toggle control output in the editor. * * Used to generate the control HTML in the editor using Underscore JS * template. The variables for the class are available using `data` JS * object. * * @since 1.9.0 * @access public */ public function content_template() { ?>
[ 'fadeIn' => 'Fade Out', 'fadeInDown' => 'Fade Out Up', 'fadeInLeft' => 'Fade Out Left', 'fadeInRight' => 'Fade Out Right', 'fadeInUp' => 'Fade Out Down', ], 'Zooming' => [ 'zoomIn' => 'Zoom Out', 'zoomInDown' => 'Zoom Out Up', 'zoomInLeft' => 'Zoom Out Left', 'zoomInRight' => 'Zoom Out Right', 'zoomInUp' => 'Zoom Out Down', ], 'Sliding' => [ 'slideInDown' => 'Slide Out Up', 'slideInLeft' => 'Slide Out Left', 'slideInRight' => 'Slide Out Right', 'slideInUp' => 'Slide Out Down', ], 'Rotating' => [ 'rotateIn' => 'Rotate Out', 'rotateInDownLeft' => 'Rotate Out Up Left', 'rotateInDownRight' => 'Rotate Out Up Right', 'rotateInUpRight' => 'Rotate Out Down Left', 'rotateInUpLeft' => 'Rotate Out Down Right', ], 'Light Speed' => [ 'lightSpeedIn' => 'Light Speed Out', ], 'Specials' => [ 'rollIn' => 'Roll Out', ], ]; $additional_animations = []; /** * Exit animations. * * Filters the animations list displayed in the exit animations control. * * This hook can be used to register new animations in addition to the * basic Elementor exit animations. * * @since 2.5.0 * * @param array $additional_animations Additional animations array. */ $additional_animations = apply_filters( 'elementor/controls/exit-animations/additional_animations', $additional_animations ); return array_merge( $animations, $additional_animations ); } public static function get_assets( $setting ) { if ( ! $setting || 'none' === $setting ) { return []; } return [ 'styles' => [ 'e-animations' ], ]; } } includes/controls/repeater.php000064400000010534152377341010012543 0ustar00 [], 'title_field' => '', 'prevent_empty' => true, 'is_repeater' => true, 'item_actions' => [ 'add' => true, 'duplicate' => true, 'remove' => true, 'sort' => true, ], ]; } /** * Get repeater control value. * * Retrieve the value of the repeater control from a specific Controls_Stack. * * @since 1.0.0 * @access public * * @param array $control Control * @param array $settings Controls_Stack settings * * @return mixed Control values. */ public function get_value( $control, $settings ) { $value = parent::get_value( $control, $settings ); if ( ! empty( $value ) ) { foreach ( $value as &$item ) { foreach ( $control['fields'] as $field ) { $control_obj = Plugin::$instance->controls_manager->get_control( $field['type'] ); // Prior to 1.5.0 the fields may contains non-data controls. if ( ! $control_obj instanceof Base_Data_Control ) { continue; } $item[ $field['name'] ] = $control_obj->get_value( $field, $item ); } } } return $value; } /** * Import repeater. * * Used as a wrapper method for inner controls while importing Elementor * template JSON file, and replacing the old data. * * @since 1.8.0 * @access public * * @param array $settings Control settings. * @param array $control_data Optional. Control data. Default is an empty array. * * @return array Control settings. */ public function on_import( $settings, $control_data = [] ) { if ( empty( $settings ) || empty( $control_data['fields'] ) ) { return $settings; } $method = 'on_import'; foreach ( $settings as &$item ) { foreach ( $control_data['fields'] as $field ) { if ( empty( $field['name'] ) || empty( $item[ $field['name'] ] ) ) { continue; } $control_obj = Plugin::$instance->controls_manager->get_control( $field['type'] ); if ( ! $control_obj ) { continue; } if ( method_exists( $control_obj, $method ) ) { $item[ $field['name'] ] = $control_obj->{$method}( $item[ $field['name'] ], $field ); } } } return $settings; } /** * Render repeater control output in the editor. * * Used to generate the control HTML in the editor using Underscore JS * template. The variables for the class are available using `data` JS * object. * * @since 1.0.0 * @access public */ public function content_template() { ?>
<# if ( itemActions.add ) { #>
<# } #> _x( 'Text Shadow', 'Text Shadow Control', 'elementor' ), 'type' => Controls_Manager::TEXT_SHADOW, 'selectors' => [ '{{SELECTOR}}' => 'text-shadow: {{HORIZONTAL}}px {{VERTICAL}}px {{BLUR}}px {{COLOR}};', ], ]; return $controls; } /** * Get default options. * * Retrieve the default options of the text shadow control. Used to return the * default options while initializing the text shadow control. * * @since 1.9.0 * @access protected * * @return array Default text shadow control options. */ protected function get_default_options() { return [ 'popover' => [ 'starter_title' => _x( 'Text Shadow', 'Text Shadow Control', 'elementor' ), 'starter_name' => 'text_shadow_type', 'starter_value' => 'yes', 'settings' => [ 'render_type' => 'ui', ], ], ]; } } includes/controls/groups/flex-item.php000064400000012623152377341010014146 0ustar00 esc_html_x( 'Flex Basis', 'Flex Item Control', 'elementor' ), 'type' => Controls_Manager::SELECT, 'options' => [ '' => esc_html_x( 'Default', 'Flex Item Control', 'elementor' ), 'custom' => esc_html_x( 'Custom', 'Flex Item Control', 'elementor' ), ], 'responsive' => true, ]; $fields['basis'] = [ 'label' => esc_html_x( 'Custom Width', 'Flex Item Control', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'range' => [ 'px' => [ 'min' => 0, 'max' => 1000, ], '%' => [ 'min' => 0, 'max' => 100, ], 'vw' => [ 'min' => 0, 'max' => 100, ], ], 'default' => [ 'unit' => '%', ], 'size_units' => [ 'px', '%', 'vw' ], 'selectors' => [ '{{SELECTOR}}' => '--flex-basis: {{SIZE}}{{UNIT}};', ], 'condition' => [ 'basis_type' => 'custom', ], 'responsive' => true, ]; $fields['align_self'] = [ 'label' => esc_html_x( 'Align Self', 'Flex Item Control', 'elementor' ), 'type' => Controls_Manager::CHOOSE, 'options' => [ 'flex-start' => [ 'title' => esc_html_x( 'Flex Start', 'Flex Item Control', 'elementor' ), 'icon' => 'eicon-flex eicon-align-start-v', ], 'center' => [ 'title' => esc_html_x( 'Center', 'Flex Item Control', 'elementor' ), 'icon' => 'eicon-flex eicon-align-center-v', ], 'flex-end' => [ 'title' => esc_html_x( 'Flex End', 'Flex Item Control', 'elementor' ), 'icon' => 'eicon-flex eicon-align-end-v', ], 'stretch' => [ 'title' => esc_html_x( 'Stretch', 'Flex Item Control', 'elementor' ), 'icon' => 'eicon-flex eicon-align-stretch-v', ], ], 'default' => '', 'selectors' => [ '{{SELECTOR}}' => '--align-self: {{VALUE}};', ], 'responsive' => true, 'description' => esc_html_x( 'This control will affect contained elements only.', 'Flex Item Control', 'elementor' ), ]; $fields['order'] = [ 'label' => esc_html_x( 'Order', 'Flex Item Control', 'elementor' ), 'type' => Controls_Manager::CHOOSE, 'default' => '', 'options' => [ 'start' => [ 'title' => esc_html_x( 'Start', 'Flex Item Control', 'elementor' ), 'icon' => 'eicon-flex eicon-order-start', ], 'end' => [ 'title' => esc_html_x( 'End', 'Flex Item Control', 'elementor' ), 'icon' => 'eicon-flex eicon-order-end', ], 'custom' => [ 'title' => esc_html_x( 'Custom', 'Flex Item Control', 'elementor' ), 'icon' => 'eicon-ellipsis-v', ], ], 'selectors_dictionary' => [ // Hacks to set the order to start / end. // For example, if the user has 10 widgets, but wants to set the 5th one to be first, // this hack should do the trick while taking in account elements with `order: 0` or less. 'start' => '-99999 /* order start hack */', 'end' => '99999 /* order end hack */', 'custom' => '', ], 'selectors' => [ '{{SELECTOR}}' => '--order: {{VALUE}};', ], 'responsive' => true, 'description' => esc_html_x( 'This control will affect contained elements only.', 'Flex Item Control', 'elementor' ), ]; $fields['order_custom'] = [ 'label' => esc_html_x( 'Custom Order', 'Flex Item Control', 'elementor' ), 'type' => Controls_Manager::NUMBER, 'selectors' => [ '{{SELECTOR}}' => '--order: {{VALUE}};', ], 'responsive' => true, 'condition' => [ 'order' => 'custom', ], ]; $fields['size'] = [ 'label' => esc_html_x( 'Size', 'Flex Item Control', 'elementor' ), 'type' => Controls_Manager::CHOOSE, 'default' => '', 'options' => [ 'none' => [ 'title' => esc_html_x( 'None', 'Flex Item Control', 'elementor' ), 'icon' => 'eicon-ban', ], 'grow' => [ 'title' => esc_html_x( 'Grow', 'Flex Item Control', 'elementor' ), 'icon' => 'eicon-grow', ], 'shrink' => [ 'title' => esc_html_x( 'Shrink', 'Flex Item Control', 'elementor' ), 'icon' => 'eicon-shrink', ], 'custom' => [ 'title' => esc_html_x( 'Custom', 'Flex Item Control', 'elementor' ), 'icon' => 'eicon-ellipsis-v', ], ], 'selectors_dictionary' => [ 'grow' => '--flex-grow: 1; --flex-shrink: 0;', 'shrink' => '--flex-grow: 0; --flex-shrink: 1;', 'custom' => '', 'none' => '--flex-grow: 0; --flex-shrink: 0;', ], 'selectors' => [ '{{SELECTOR}}' => '{{VALUE}};', ], 'responsive' => true, ]; $fields['grow'] = [ 'label' => esc_html_x( 'Flex Grow', 'Flex Item Control', 'elementor' ), 'type' => Controls_Manager::NUMBER, 'selectors' => [ '{{SELECTOR}}' => '--flex-grow: {{VALUE}};', ], 'default' => 1, 'placeholder' => 1, 'responsive' => true, 'condition' => [ 'size' => 'custom', ], ]; $fields['shrink'] = [ 'label' => esc_html_x( 'Flex Shrink', 'Flex Item Control', 'elementor' ), 'type' => Controls_Manager::NUMBER, 'selectors' => [ '{{SELECTOR}}' => '--flex-shrink: {{VALUE}};', ], 'default' => 1, 'placeholder' => 1, 'responsive' => true, 'condition' => [ 'size' => 'custom', ], ]; return $fields; } protected function get_default_options() { return [ 'popover' => false, ]; } } includes/controls/groups/border.php000064400000005006152377341010013526 0ustar00 _x( 'Border Type', 'Border Control', 'elementor' ), 'type' => Controls_Manager::SELECT, 'options' => [ '' => esc_html__( 'None', 'elementor' ), 'solid' => _x( 'Solid', 'Border Control', 'elementor' ), 'double' => _x( 'Double', 'Border Control', 'elementor' ), 'dotted' => _x( 'Dotted', 'Border Control', 'elementor' ), 'dashed' => _x( 'Dashed', 'Border Control', 'elementor' ), 'groove' => _x( 'Groove', 'Border Control', 'elementor' ), ], 'selectors' => [ '{{SELECTOR}}' => 'border-style: {{VALUE}};', ], ]; $fields['width'] = [ 'label' => _x( 'Width', 'Border Control', 'elementor' ), 'type' => Controls_Manager::DIMENSIONS, 'selectors' => [ '{{SELECTOR}}' => 'border-width: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], 'condition' => [ 'border!' => '', ], 'responsive' => true, ]; $fields['color'] = [ 'label' => _x( 'Color', 'Border Control', 'elementor' ), 'type' => Controls_Manager::COLOR, 'default' => '', 'selectors' => [ '{{SELECTOR}}' => 'border-color: {{VALUE}};', ], 'condition' => [ 'border!' => '', ], ]; return $fields; } /** * Get default options. * * Retrieve the default options of the border control. Used to return the * default options while initializing the border control. * * @since 1.9.0 * @access protected * * @return array Default border control options. */ protected function get_default_options() { return [ 'popover' => false, ]; } } includes/controls/groups/base.php000064400000033655152377341010013176 0ustar00options ) { $this->init_options(); } if ( $option ) { if ( isset( $this->options[ $option ] ) ) { return $this->options[ $option ]; } return null; } return $this->options; } /** * Add new controls to stack. * * Register multiple controls to allow the user to set/update data. * * @since 1.0.0 * @access public * * @param Controls_Stack $element The element stack. * @param array $user_args The control arguments defined by the user. * @param array $options Optional. The element options. Default is * an empty array. */ final public function add_controls( Controls_Stack $element, array $user_args, array $options = [] ) { $this->init_args( $user_args ); // Filter which controls to display $filtered_fields = $this->filter_fields(); $filtered_fields = $this->prepare_fields( $filtered_fields ); // For php < 7 reset( $filtered_fields ); if ( isset( $this->args['separator'] ) ) { $filtered_fields[ key( $filtered_fields ) ]['separator'] = $this->args['separator']; } $has_injection = false; if ( ! empty( $options['position'] ) ) { $has_injection = true; $element->start_injection( $options['position'] ); unset( $options['position'] ); } if ( $this->get_options( 'popover' ) ) { $this->start_popover( $element ); } foreach ( $filtered_fields as $field_id => $field_args ) { // Add the global group args to the control $field_args = $this->add_group_args_to_field( $field_id, $field_args ); // Register the control $id = $this->get_controls_prefix() . $field_id; if ( ! empty( $field_args['responsive'] ) ) { unset( $field_args['responsive'] ); $element->add_responsive_control( $id, $field_args, $options ); } else { $element->add_control( $id, $field_args, $options ); } } if ( $this->get_options( 'popover' ) ) { $element->end_popover(); } if ( $has_injection ) { $element->end_injection(); } } /** * Get arguments. * * Retrieve group control arguments. * * @since 1.0.0 * @access public * * @return array Group control arguments. */ final public function get_args() { return $this->args; } /** * Get fields. * * Retrieve group control fields. * * @since 1.2.2 * @access public * * @return array Control fields. */ final public function get_fields() { if ( null === static::$fields ) { static::$fields = $this->init_fields(); } return static::$fields; } /** * Get controls prefix. * * Retrieve the prefix of the group control, which is `{{ControlName}}_`. * * @since 1.0.0 * @access public * * @return string Control prefix. */ public function get_controls_prefix() { return $this->args['name'] . '_'; } /** * Get group control classes. * * Retrieve the classes of the group control. * * @since 1.0.0 * @access public * * @return string Group control classes. */ public function get_base_group_classes() { return 'elementor-group-control-' . static::get_type() . ' elementor-group-control'; } /** * Init fields. * * Initialize group control fields. * * @abstract * @since 1.2.2 * @access protected */ abstract protected function init_fields(); /** * Get default options. * * Retrieve the default options of the group control. Used to return the * default options while initializing the group control. * * @since 1.9.0 * @access protected * * @return array Default group control options. */ protected function get_default_options() { return []; } /** * Get child default arguments. * * Retrieve the default arguments for all the child controls for a specific group * control. * * @since 1.2.2 * @access protected * * @return array Default arguments for all the child controls. */ protected function get_child_default_args() { return []; } /** * Filter fields. * * Filter which controls to display, using `include`, `exclude` and the * `condition` arguments. * * @since 1.2.2 * @access protected * * @return array Control fields. */ protected function filter_fields() { $args = $this->get_args(); $fields = $this->get_fields(); if ( ! empty( $args['include'] ) ) { $fields = array_intersect_key( $fields, array_flip( $args['include'] ) ); } if ( ! empty( $args['exclude'] ) ) { $fields = array_diff_key( $fields, array_flip( $args['exclude'] ) ); } return $fields; } /** * Add group arguments to field. * * Register field arguments to group control. * * @since 1.2.2 * @access protected * * @param string $control_id Group control id. * @param array $field_args Group control field arguments. * * @return array */ protected function add_group_args_to_field( $control_id, $field_args ) { $args = $this->get_args(); if ( ! empty( $args['tab'] ) ) { $field_args['tab'] = $args['tab']; } if ( ! empty( $args['section'] ) ) { $field_args['section'] = $args['section']; } $field_args['classes'] = $this->get_base_group_classes() . ' elementor-group-control-' . $control_id; foreach ( [ 'condition', 'conditions' ] as $condition_type ) { if ( ! empty( $args[ $condition_type ] ) ) { if ( empty( $field_args[ $condition_type ] ) ) { $field_args[ $condition_type ] = []; } $field_args[ $condition_type ] += $args[ $condition_type ]; } } return $field_args; } /** * Prepare fields. * * Process group control fields before adding them to `add_control()`. * * @since 1.2.2 * @access protected * * @param array $fields Group control fields. * * @return array Processed fields. */ protected function prepare_fields( $fields ) { $popover_options = $this->get_options( 'popover' ); $popover_name = ! $popover_options ? null : $popover_options['starter_name']; foreach ( $fields as $field_key => &$field ) { if ( $popover_name ) { $field['condition'][ $popover_name . '!' ] = ''; } if ( isset( $this->args['fields_options']['__all'] ) ) { $field = array_merge( $field, $this->args['fields_options']['__all'] ); } if ( isset( $this->args['fields_options'][ $field_key ] ) ) { $field = array_merge( $field, $this->args['fields_options'][ $field_key ] ); } if ( ! empty( $field['condition'] ) ) { $field = $this->add_condition_prefix( $field ); } if ( ! empty( $field['conditions'] ) ) { $field['conditions'] = $this->add_conditions_prefix( $field['conditions'] ); } if ( ! empty( $field['selectors'] ) ) { $field['selectors'] = $this->handle_selectors( $field['selectors'] ); } if ( ! empty( $field['device_args'] ) ) { foreach ( $field['device_args'] as $device => $device_arg ) { if ( ! empty( $field['device_args'][ $device ]['condition'] ) ) { $field['device_args'][ $device ] = $this->add_condition_prefix( $field['device_args'][ $device ] ); } if ( ! empty( $field['device_args'][ $device ]['conditions'] ) ) { $field['device_args'][ $device ]['conditions'] = $this->add_conditions_prefix( $field['device_args'][ $device ]['conditions'] ); } if ( ! empty( $device_arg['selectors'] ) ) { $field['device_args'][ $device ]['selectors'] = $this->handle_selectors( $device_arg['selectors'] ); } } } } return $fields; } /** * Init options. * * Initializing group control options. * * @since 1.9.0 * @access private */ private function init_options() { $default_options = [ 'popover' => [ 'starter_name' => 'popover_toggle', 'starter_value' => 'custom', 'starter_title' => '', ], ]; $this->options = array_replace_recursive( $default_options, $this->get_default_options() ); } /** * Init arguments. * * Initializing group control base class. * * @since 1.2.2 * @access protected * * @param array $args Group control settings value. */ protected function init_args( $args ) { $this->args = array_merge( $this->get_default_args(), $this->get_child_default_args(), $args ); if ( isset( $this->args['scheme'] ) ) { $this->args['global']['default'] = Plugin::$instance->kits_manager->convert_scheme_to_global( $this->args['scheme'] ); } } /** * Get default arguments. * * Retrieve the default arguments of the group control. Used to return the * default arguments while initializing the group control. * * @since 1.2.2 * @access private * * @return array Control default arguments. */ private function get_default_args() { return [ 'default' => '', 'selector' => '{{WRAPPER}}', 'fields_options' => [], ]; } /** * Add condition prefix. * * Used to add the group prefix to controls with conditions, to * distinguish them from other controls with the same name. * * This way Elementor can apply condition logic to a specific control in a * group control. * * @since 1.2.0 * @access private * * @param array $field Group control field. * * @return array Group control field. */ private function add_condition_prefix( $field ) { $controls_prefix = $this->get_controls_prefix(); $prefixed_condition_keys = array_map( function( $key ) use ( $controls_prefix ) { return $controls_prefix . $key; }, array_keys( $field['condition'] ) ); $field['condition'] = array_combine( $prefixed_condition_keys, $field['condition'] ); return $field; } private function add_conditions_prefix( $conditions ) { $controls_prefix = $this->get_controls_prefix(); foreach ( $conditions['terms'] as & $condition ) { if ( isset( $condition['terms'] ) ) { $condition = $this->add_conditions_prefix( $condition ); continue; } $condition['name'] = $controls_prefix . $condition['name']; } return $conditions; } /** * Handle selectors. * * Used to process the CSS selector of group control fields. When using * group control, Elementor needs to apply the selector to different fields. * This method handles the process. * * In addition, it handles selector values from other fields and process the * css. * * @since 1.2.2 * @access private * * @param array $selectors An array of selectors to process. * * @return array Processed selectors. */ private function handle_selectors( $selectors ) { $args = $this->get_args(); $selectors = array_combine( array_map( function( $key ) use ( $args ) { return str_replace( '{{SELECTOR}}', $args['selector'], $key ); }, array_keys( $selectors ) ), $selectors ); if ( ! $selectors ) { return $selectors; } $controls_prefix = $this->get_controls_prefix(); foreach ( $selectors as &$selector ) { $selector = preg_replace_callback( '/{{\K(.*?)(?=}})/', function( $matches ) use ( $controls_prefix ) { $is_external_reference = false; return preg_replace_callback( '/[^ ]+?(?=\.)\./', function( $sub_matches ) use ( $controls_prefix, &$is_external_reference ) { $placeholder = $sub_matches[0]; if ( 'external.' === $placeholder ) { $is_external_reference = true; return ''; } if ( $is_external_reference ) { $is_external_reference = false; return $placeholder; } return $controls_prefix . $placeholder; }, $matches[1] ); }, $selector ); } return $selectors; } /** * Start popover. * * Starts a group controls popover. * * @since 1.9.1 * @access private * @param Controls_Stack $element Element. */ private function start_popover( Controls_Stack $element ) { $popover_options = $this->get_options( 'popover' ); $settings = $this->get_args(); if ( isset( $settings['global'] ) ) { if ( ! isset( $popover_options['settings']['global'] ) ) { $popover_options['settings']['global'] = []; } $popover_options['settings']['global'] = array_replace_recursive( $popover_options['settings']['global'], $settings['global'] ); } if ( isset( $settings['label'] ) ) { $label = $settings['label']; } else { $label = $popover_options['starter_title']; } $control_params = [ 'type' => Controls_Manager::POPOVER_TOGGLE, 'label' => $label, 'return_value' => $popover_options['starter_value'], ]; if ( ! empty( $popover_options['settings'] ) ) { $control_params = array_replace_recursive( $control_params, $popover_options['settings'] ); } foreach ( [ 'condition', 'conditions' ] as $key ) { if ( ! empty( $settings[ $key ] ) ) { $control_params[ $key ] = $settings[ $key ]; } } $starter_name = $popover_options['starter_name']; if ( isset( $this->args['fields_options'][ $starter_name ] ) ) { $control_params = array_merge( $control_params, $this->args['fields_options'][ $starter_name ] ); } $control_params['groupPrefix'] = $this->get_controls_prefix(); $element->add_control( $this->get_controls_prefix() . $starter_name, $control_params ); $element->start_popover(); } } includes/controls/groups/text-stroke.php000064400000004725152377341010014551 0ustar00 esc_html__( 'Text Stroke', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'size_units' => [ 'px', 'em', 'rem' ], 'range' => [ 'px' => [ 'min' => 0, 'max' => 10, ], 'em' => [ 'min' => 0, 'max' => 1, 'step' => 0.01, ], 'rem' => [ 'min' => 0, 'max' => 1, 'step' => 0.01, ], ], 'responsive' => true, 'selector' => '{{WRAPPER}}', 'selectors' => [ '{{SELECTOR}}' => '-webkit-text-stroke-width: {{SIZE}}{{UNIT}}; stroke-width: {{SIZE}}{{UNIT}};', ], ]; $controls['stroke_color'] = [ 'label' => esc_html__( 'Stroke Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'default' => '#000', 'selector' => '{{WRAPPER}}', 'selectors' => [ '{{SELECTOR}}' => '-webkit-text-stroke-color: {{VALUE}}; stroke: {{VALUE}};', ], ]; return $controls; } /** * Get default options. * * Retrieve the default options of the text stroke control. Used to return the * default options while initializing the text stroke control. * * @since 3.5.0 * @access protected * * @return array Default text stroke control options. */ protected function get_default_options() { return [ 'popover' => [ 'starter_title' => _x( 'Text Stroke', 'Text Stroke Control', 'elementor' ), 'starter_name' => 'text_stroke_type', 'starter_value' => 'yes', 'settings' => [ 'render_type' => 'ui', ], ], ]; } } includes/controls/groups/background.php000064400000057534152377341010014405 0ustar00 [ 'title' => _x( 'Classic', 'Background Control', 'elementor' ), 'icon' => 'eicon-paint-brush', ], 'gradient' => [ 'title' => _x( 'Gradient', 'Background Control', 'elementor' ), 'icon' => 'eicon-barcode', ], 'video' => [ 'title' => _x( 'Video', 'Background Control', 'elementor' ), 'icon' => 'eicon-video-camera', ], 'slideshow' => [ 'title' => _x( 'Slideshow', 'Background Control', 'elementor' ), 'icon' => 'eicon-slideshow', ], ]; } /** * Init fields. * * Initialize background control fields. * * @since 1.2.2 * @access public * * @return array Control fields. */ public function init_fields() { $fields = []; $fields['background'] = [ 'label' => _x( 'Background Type', 'Background Control', 'elementor' ), 'type' => Controls_Manager::CHOOSE, 'render_type' => 'ui', ]; $fields['color'] = [ 'label' => _x( 'Color', 'Background Control', 'elementor' ), 'type' => Controls_Manager::COLOR, 'default' => '', 'title' => _x( 'Background Color', 'Background Control', 'elementor' ), 'selectors' => [ '{{SELECTOR}}' => 'background-color: {{VALUE}};', ], 'condition' => [ 'background' => [ 'classic', 'gradient' ], ], ]; $fields['color_stop'] = [ 'label' => _x( 'Location', 'Background Control', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'size_units' => [ '%' ], 'default' => [ 'unit' => '%', 'size' => 0, ], 'render_type' => 'ui', 'condition' => [ 'background' => [ 'gradient' ], ], 'of_type' => 'gradient', ]; $fields['color_b'] = [ 'label' => _x( 'Second Color', 'Background Control', 'elementor' ), 'type' => Controls_Manager::COLOR, 'default' => '#f2295b', 'render_type' => 'ui', 'condition' => [ 'background' => [ 'gradient' ], ], 'of_type' => 'gradient', ]; $fields['color_b_stop'] = [ 'label' => _x( 'Location', 'Background Control', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'size_units' => [ '%' ], 'default' => [ 'unit' => '%', 'size' => 100, ], 'render_type' => 'ui', 'condition' => [ 'background' => [ 'gradient' ], ], 'of_type' => 'gradient', ]; $fields['gradient_type'] = [ 'label' => _x( 'Type', 'Background Control', 'elementor' ), 'type' => Controls_Manager::SELECT, 'options' => [ 'linear' => _x( 'Linear', 'Background Control', 'elementor' ), 'radial' => _x( 'Radial', 'Background Control', 'elementor' ), ], 'default' => 'linear', 'render_type' => 'ui', 'condition' => [ 'background' => [ 'gradient' ], ], 'of_type' => 'gradient', ]; $fields['gradient_angle'] = [ 'label' => _x( 'Angle', 'Background Control', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'size_units' => [ 'deg' ], 'default' => [ 'unit' => 'deg', 'size' => 180, ], 'range' => [ 'deg' => [ 'step' => 10, ], ], 'selectors' => [ '{{SELECTOR}}' => 'background-color: transparent; background-image: linear-gradient({{SIZE}}{{UNIT}}, {{color.VALUE}} {{color_stop.SIZE}}{{color_stop.UNIT}}, {{color_b.VALUE}} {{color_b_stop.SIZE}}{{color_b_stop.UNIT}})', ], 'condition' => [ 'background' => [ 'gradient' ], 'gradient_type' => 'linear', ], 'of_type' => 'gradient', ]; $fields['gradient_position'] = [ 'label' => _x( 'Position', 'Background Control', 'elementor' ), 'type' => Controls_Manager::SELECT, 'options' => [ 'center center' => _x( 'Center Center', 'Background Control', 'elementor' ), 'center left' => _x( 'Center Left', 'Background Control', 'elementor' ), 'center right' => _x( 'Center Right', 'Background Control', 'elementor' ), 'top center' => _x( 'Top Center', 'Background Control', 'elementor' ), 'top left' => _x( 'Top Left', 'Background Control', 'elementor' ), 'top right' => _x( 'Top Right', 'Background Control', 'elementor' ), 'bottom center' => _x( 'Bottom Center', 'Background Control', 'elementor' ), 'bottom left' => _x( 'Bottom Left', 'Background Control', 'elementor' ), 'bottom right' => _x( 'Bottom Right', 'Background Control', 'elementor' ), ], 'default' => 'center center', 'selectors' => [ '{{SELECTOR}}' => 'background-color: transparent; background-image: radial-gradient(at {{VALUE}}, {{color.VALUE}} {{color_stop.SIZE}}{{color_stop.UNIT}}, {{color_b.VALUE}} {{color_b_stop.SIZE}}{{color_b_stop.UNIT}})', ], 'condition' => [ 'background' => [ 'gradient' ], 'gradient_type' => 'radial', ], 'of_type' => 'gradient', ]; $fields['image'] = [ 'label' => _x( 'Image', 'Background Control', 'elementor' ), 'type' => Controls_Manager::MEDIA, 'dynamic' => [ 'active' => true, ], 'responsive' => true, 'title' => _x( 'Background Image', 'Background Control', 'elementor' ), 'selectors' => [ '{{SELECTOR}}' => 'background-image: url("{{URL}}");', ], 'render_type' => 'template', 'condition' => [ 'background' => [ 'classic' ], ], ]; $fields['position'] = [ 'label' => _x( 'Position', 'Background Control', 'elementor' ), 'type' => Controls_Manager::SELECT, 'default' => '', 'responsive' => true, 'options' => [ '' => _x( 'Default', 'Background Control', 'elementor' ), 'center center' => _x( 'Center Center', 'Background Control', 'elementor' ), 'center left' => _x( 'Center Left', 'Background Control', 'elementor' ), 'center right' => _x( 'Center Right', 'Background Control', 'elementor' ), 'top center' => _x( 'Top Center', 'Background Control', 'elementor' ), 'top left' => _x( 'Top Left', 'Background Control', 'elementor' ), 'top right' => _x( 'Top Right', 'Background Control', 'elementor' ), 'bottom center' => _x( 'Bottom Center', 'Background Control', 'elementor' ), 'bottom left' => _x( 'Bottom Left', 'Background Control', 'elementor' ), 'bottom right' => _x( 'Bottom Right', 'Background Control', 'elementor' ), 'initial' => _x( 'Custom', 'Background Control', 'elementor' ), ], 'selectors' => [ '{{SELECTOR}}' => 'background-position: {{VALUE}};', ], 'condition' => [ 'background' => [ 'classic' ], 'image[url]!' => '', ], ]; $fields['xpos'] = [ 'label' => _x( 'X Position', 'Background Control', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'responsive' => true, 'size_units' => [ 'px', 'em', '%', 'vw' ], 'default' => [ 'unit' => 'px', 'size' => 0, ], 'tablet_default' => [ 'unit' => 'px', 'size' => 0, ], 'mobile_default' => [ 'unit' => 'px', 'size' => 0, ], 'range' => [ 'px' => [ 'min' => -800, 'max' => 800, ], 'em' => [ 'min' => -100, 'max' => 100, ], '%' => [ 'min' => -100, 'max' => 100, ], 'vw' => [ 'min' => -100, 'max' => 100, ], ], 'selectors' => [ '{{SELECTOR}}' => 'background-position: {{SIZE}}{{UNIT}} {{ypos.SIZE}}{{ypos.UNIT}}', ], 'condition' => [ 'background' => [ 'classic' ], 'position' => [ 'initial' ], 'image[url]!' => '', ], 'required' => true, 'device_args' => [ Breakpoints_Manager::BREAKPOINT_KEY_TABLET => [ 'selectors' => [ '{{SELECTOR}}' => 'background-position: {{SIZE}}{{UNIT}} {{ypos_tablet.SIZE}}{{ypos_tablet.UNIT}}', ], 'condition' => [ 'background' => [ 'classic' ], 'position_tablet' => [ 'initial' ], ], ], Breakpoints_Manager::BREAKPOINT_KEY_MOBILE => [ 'selectors' => [ '{{SELECTOR}}' => 'background-position: {{SIZE}}{{UNIT}} {{ypos_mobile.SIZE}}{{ypos_mobile.UNIT}}', ], 'condition' => [ 'background' => [ 'classic' ], 'position_mobile' => [ 'initial' ], ], ], ], ]; $fields['ypos'] = [ 'label' => _x( 'Y Position', 'Background Control', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'responsive' => true, 'size_units' => [ 'px', 'em', '%', 'vh' ], 'default' => [ 'unit' => 'px', 'size' => 0, ], 'tablet_default' => [ 'unit' => 'px', 'size' => 0, ], 'mobile_default' => [ 'unit' => 'px', 'size' => 0, ], 'range' => [ 'px' => [ 'min' => -800, 'max' => 800, ], 'em' => [ 'min' => -100, 'max' => 100, ], '%' => [ 'min' => -100, 'max' => 100, ], 'vh' => [ 'min' => -100, 'max' => 100, ], ], 'selectors' => [ '{{SELECTOR}}' => 'background-position: {{xpos.SIZE}}{{xpos.UNIT}} {{SIZE}}{{UNIT}}', ], 'condition' => [ 'background' => [ 'classic' ], 'position' => [ 'initial' ], 'image[url]!' => '', ], 'required' => true, 'device_args' => [ Breakpoints_Manager::BREAKPOINT_KEY_TABLET => [ 'selectors' => [ '{{SELECTOR}}' => 'background-position: {{xpos_tablet.SIZE}}{{xpos_tablet.UNIT}} {{SIZE}}{{UNIT}}', ], 'condition' => [ 'background' => [ 'classic' ], 'position_tablet' => [ 'initial' ], ], ], Breakpoints_Manager::BREAKPOINT_KEY_MOBILE => [ 'selectors' => [ '{{SELECTOR}}' => 'background-position: {{xpos_mobile.SIZE}}{{xpos_mobile.UNIT}} {{SIZE}}{{UNIT}}', ], 'condition' => [ 'background' => [ 'classic' ], 'position_mobile' => [ 'initial' ], ], ], ], ]; $fields['attachment'] = [ 'label' => _x( 'Attachment', 'Background Control', 'elementor' ), 'type' => Controls_Manager::SELECT, 'default' => '', 'options' => [ '' => _x( 'Default', 'Background Control', 'elementor' ), 'scroll' => _x( 'Scroll', 'Background Control', 'elementor' ), 'fixed' => _x( 'Fixed', 'Background Control', 'elementor' ), ], 'selectors' => [ '(desktop+){{SELECTOR}}' => 'background-attachment: {{VALUE}};', ], 'condition' => [ 'background' => [ 'classic' ], 'image[url]!' => '', ], ]; $fields['attachment_alert'] = [ 'type' => Controls_Manager::RAW_HTML, 'content_classes' => 'elementor-control-field-description', 'raw' => esc_html__( 'Note: Attachment Fixed works only on desktop.', 'elementor' ), 'separator' => 'none', 'condition' => [ 'background' => [ 'classic' ], 'image[url]!' => '', 'attachment' => 'fixed', ], ]; $fields['repeat'] = [ 'label' => _x( 'Repeat', 'Background Control', 'elementor' ), 'type' => Controls_Manager::SELECT, 'default' => '', 'responsive' => true, 'options' => [ '' => _x( 'Default', 'Background Control', 'elementor' ), 'no-repeat' => _x( 'No-repeat', 'Background Control', 'elementor' ), 'repeat' => _x( 'Repeat', 'Background Control', 'elementor' ), 'repeat-x' => _x( 'Repeat-x', 'Background Control', 'elementor' ), 'repeat-y' => _x( 'Repeat-y', 'Background Control', 'elementor' ), ], 'selectors' => [ '{{SELECTOR}}' => 'background-repeat: {{VALUE}};', ], 'condition' => [ 'background' => [ 'classic' ], 'image[url]!' => '', ], ]; $fields['size'] = [ 'label' => _x( 'Size', 'Background Control', 'elementor' ), 'type' => Controls_Manager::SELECT, 'responsive' => true, 'default' => '', 'options' => [ '' => _x( 'Default', 'Background Control', 'elementor' ), 'auto' => _x( 'Auto', 'Background Control', 'elementor' ), 'cover' => _x( 'Cover', 'Background Control', 'elementor' ), 'contain' => _x( 'Contain', 'Background Control', 'elementor' ), 'initial' => _x( 'Custom', 'Background Control', 'elementor' ), ], 'selectors' => [ '{{SELECTOR}}' => 'background-size: {{VALUE}};', ], 'condition' => [ 'background' => [ 'classic' ], 'image[url]!' => '', ], ]; $fields['bg_width'] = [ 'label' => _x( 'Width', 'Background Control', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'responsive' => true, 'size_units' => [ 'px', 'em', '%', 'vw' ], 'range' => [ 'px' => [ 'min' => 0, 'max' => 1000, ], '%' => [ 'min' => 0, 'max' => 100, ], 'vw' => [ 'min' => 0, 'max' => 100, ], ], 'default' => [ 'size' => 100, 'unit' => '%', ], 'required' => true, 'selectors' => [ '{{SELECTOR}}' => 'background-size: {{SIZE}}{{UNIT}} auto', ], 'condition' => [ 'background' => [ 'classic' ], 'size' => [ 'initial' ], 'image[url]!' => '', ], 'device_args' => [ Breakpoints_Manager::BREAKPOINT_KEY_TABLET => [ 'selectors' => [ '{{SELECTOR}}' => 'background-size: {{SIZE}}{{UNIT}} auto', ], 'condition' => [ 'background' => [ 'classic' ], 'size_tablet' => [ 'initial' ], ], ], Breakpoints_Manager::BREAKPOINT_KEY_MOBILE => [ 'selectors' => [ '{{SELECTOR}}' => 'background-size: {{SIZE}}{{UNIT}} auto', ], 'condition' => [ 'background' => [ 'classic' ], 'size_mobile' => [ 'initial' ], ], ], ], ]; $fields['video_link'] = [ 'label' => _x( 'Video Link', 'Background Control', 'elementor' ), 'type' => Controls_Manager::TEXT, 'placeholder' => 'https://www.youtube.com/watch?v=XHOmBV4js_E', 'description' => esc_html__( 'YouTube/Vimeo link, or link to video file (mp4 is recommended).', 'elementor' ), 'label_block' => true, 'default' => '', 'dynamic' => [ 'active' => true, 'categories' => [ TagsModule::POST_META_CATEGORY, TagsModule::URL_CATEGORY, ], ], 'condition' => [ 'background' => [ 'video' ], ], 'of_type' => 'video', 'frontend_available' => true, ]; $fields['video_start'] = [ 'label' => esc_html__( 'Start Time', 'elementor' ), 'type' => Controls_Manager::NUMBER, 'description' => esc_html__( 'Specify a start time (in seconds)', 'elementor' ), 'placeholder' => 10, 'condition' => [ 'background' => [ 'video' ], ], 'of_type' => 'video', 'frontend_available' => true, ]; $fields['video_end'] = [ 'label' => esc_html__( 'End Time', 'elementor' ), 'type' => Controls_Manager::NUMBER, 'description' => esc_html__( 'Specify an end time (in seconds)', 'elementor' ), 'placeholder' => 70, 'condition' => [ 'background' => [ 'video' ], ], 'of_type' => 'video', 'frontend_available' => true, ]; $fields['play_once'] = [ 'label' => esc_html__( 'Play Once', 'elementor' ), 'type' => Controls_Manager::SWITCHER, 'condition' => [ 'background' => [ 'video' ], ], 'of_type' => 'video', 'frontend_available' => true, ]; $fields['play_on_mobile'] = [ 'label' => esc_html__( 'Play On Mobile', 'elementor' ), 'type' => Controls_Manager::SWITCHER, 'condition' => [ 'background' => [ 'video' ], ], 'of_type' => 'video', 'frontend_available' => true, ]; // This control was added to handle a bug with the Youtube Embed API. The bug: If there is a video with Privacy // Mode on, and at the same time the page contains another video WITHOUT privacy mode on, one of the videos // will not run properly. This added control allows users to align all their videos to one host (either // youtube.com or youtube-nocookie.com, depending on whether the user wants privacy mode on or not). $fields['privacy_mode'] = [ 'label' => esc_html__( 'Privacy mode', 'elementor' ), 'type' => Controls_Manager::SWITCHER, 'description' => esc_html__( 'Only works for YouTube videos.', 'elementor' ), 'condition' => [ 'background' => [ 'video' ], ], 'of_type' => 'video', 'frontend_available' => true, ]; $fields['video_fallback'] = [ 'label' => _x( 'Background Fallback', 'Background Control', 'elementor' ), 'description' => esc_html__( 'This cover image will replace the background video in case that the video could not be loaded.', 'elementor' ), 'type' => Controls_Manager::MEDIA, 'dynamic' => [ 'active' => true, ], 'condition' => [ 'background' => [ 'video' ], ], 'selectors' => [ '{{SELECTOR}}' => 'background: url("{{URL}}") 50% 50%; background-size: cover;', ], 'of_type' => 'video', ]; $fields['slideshow_gallery'] = [ 'label' => _x( 'Images', 'Background Control', 'elementor' ), 'type' => Controls_Manager::GALLERY, 'condition' => [ 'background' => [ 'slideshow' ], ], 'show_label' => false, 'of_type' => 'slideshow', 'frontend_available' => true, ]; $fields['slideshow_loop'] = [ 'label' => esc_html__( 'Infinite Loop', 'elementor' ), 'type' => Controls_Manager::SWITCHER, 'default' => 'yes', 'condition' => [ 'background' => [ 'slideshow' ], ], 'of_type' => 'slideshow', 'frontend_available' => true, ]; $fields['slideshow_slide_duration'] = [ 'label' => esc_html__( 'Duration', 'elementor' ) . ' (ms)', 'type' => Controls_Manager::NUMBER, 'default' => 5000, 'condition' => [ 'background' => [ 'slideshow' ], ], 'frontend_available' => true, ]; $fields['slideshow_slide_transition'] = [ 'label' => esc_html__( 'Transition', 'elementor' ), 'type' => Controls_Manager::SELECT, 'default' => 'fade', 'options' => [ 'fade' => 'Fade', 'slide_right' => 'Slide Right', 'slide_left' => 'Slide Left', 'slide_up' => 'Slide Up', 'slide_down' => 'Slide Down', ], 'condition' => [ 'background' => [ 'slideshow' ], ], 'of_type' => 'slideshow', 'frontend_available' => true, ]; $fields['slideshow_transition_duration'] = [ 'label' => esc_html__( 'Transition Duration', 'elementor' ) . ' (ms)', 'type' => Controls_Manager::NUMBER, 'default' => 500, 'condition' => [ 'background' => [ 'slideshow' ], ], 'frontend_available' => true, ]; $fields['slideshow_background_size'] = [ 'label' => esc_html__( 'Background Size', 'elementor' ), 'type' => Controls_Manager::SELECT, 'responsive' => true, 'default' => '', 'options' => [ '' => esc_html__( 'Default', 'elementor' ), 'auto' => esc_html__( 'Auto', 'elementor' ), 'cover' => esc_html__( 'Cover', 'elementor' ), 'contain' => esc_html__( 'Contain', 'elementor' ), ], 'selectors' => [ '{{WRAPPER}} .elementor-background-slideshow__slide__image' => 'background-size: {{VALUE}};', ], 'condition' => [ 'background' => [ 'slideshow' ], ], ]; $fields['slideshow_background_position'] = [ 'label' => esc_html__( 'Background Position', 'elementor' ), 'type' => Controls_Manager::SELECT, 'default' => '', 'responsive' => true, 'options' => [ '' => esc_html__( 'Default', 'elementor' ), 'center center' => _x( 'Center Center', 'Background Control', 'elementor' ), 'center left' => _x( 'Center Left', 'Background Control', 'elementor' ), 'center right' => _x( 'Center Right', 'Background Control', 'elementor' ), 'top center' => _x( 'Top Center', 'Background Control', 'elementor' ), 'top left' => _x( 'Top Left', 'Background Control', 'elementor' ), 'top right' => _x( 'Top Right', 'Background Control', 'elementor' ), 'bottom center' => _x( 'Bottom Center', 'Background Control', 'elementor' ), 'bottom left' => _x( 'Bottom Left', 'Background Control', 'elementor' ), 'bottom right' => _x( 'Bottom Right', 'Background Control', 'elementor' ), ], 'selectors' => [ '{{WRAPPER}} .elementor-background-slideshow__slide__image' => 'background-position: {{VALUE}};', ], 'condition' => [ 'background' => [ 'slideshow' ], ], ]; $fields['slideshow_lazyload'] = [ 'label' => esc_html__( 'Lazyload', 'elementor' ), 'type' => Controls_Manager::SWITCHER, 'separator' => 'before', 'condition' => [ 'background' => [ 'slideshow' ], ], 'of_type' => 'slideshow', 'frontend_available' => true, ]; $fields['slideshow_ken_burns'] = [ 'label' => esc_html__( 'Ken Burns Effect', 'elementor' ), 'type' => Controls_Manager::SWITCHER, 'separator' => 'before', 'condition' => [ 'background' => [ 'slideshow' ], ], 'of_type' => 'slideshow', 'frontend_available' => true, ]; $fields['slideshow_ken_burns_zoom_direction'] = [ 'label' => esc_html__( 'Direction', 'elementor' ), 'type' => Controls_Manager::SELECT, 'default' => 'in', 'options' => [ 'in' => esc_html__( 'In', 'elementor' ), 'out' => esc_html__( 'Out', 'elementor' ), ], 'condition' => [ 'background' => [ 'slideshow' ], 'slideshow_ken_burns!' => '', ], 'of_type' => 'slideshow', 'frontend_available' => true, ]; return $fields; } /** * Get child default args. * * Retrieve the default arguments for all the child controls for a specific group * control. * * @since 1.2.2 * @access protected * * @return array Default arguments for all the child controls. */ protected function get_child_default_args() { return [ 'types' => [ 'classic', 'gradient' ], 'selector' => '{{WRAPPER}}:not(.elementor-motion-effects-element-type-background), {{WRAPPER}} > .elementor-motion-effects-container > .elementor-motion-effects-layer', ]; } /** * Filter fields. * * Filter which controls to display, using `include`, `exclude`, `condition` * and `of_type` arguments. * * @since 1.2.2 * @access protected * * @return array Control fields. */ protected function filter_fields() { $fields = parent::filter_fields(); $args = $this->get_args(); foreach ( $fields as &$field ) { if ( isset( $field['of_type'] ) && ! in_array( $field['of_type'], $args['types'] ) ) { unset( $field ); } } return $fields; } /** * Prepare fields. * * Process background control fields before adding them to `add_control()`. * * @since 1.2.2 * @access protected * * @param array $fields Background control fields. * * @return array Processed fields. */ protected function prepare_fields( $fields ) { $args = $this->get_args(); $background_types = self::get_background_types(); $choose_types = []; foreach ( $args['types'] as $type ) { if ( isset( $background_types[ $type ] ) ) { $choose_types[ $type ] = $background_types[ $type ]; } } $fields['background']['options'] = $choose_types; return parent::prepare_fields( $fields ); } /** * Get default options. * * Retrieve the default options of the background control. Used to return the * default options while initializing the background control. * * @since 1.9.0 * @access protected * * @return array Default background control options. */ protected function get_default_options() { return [ 'popover' => false, ]; } } includes/controls/groups/flex-container.php000064400000014242152377341010015171 0ustar00 esc_html_x( 'Direction', 'Flex Container Control', 'elementor' ), 'type' => Controls_Manager::CHOOSE, 'options' => [ 'row' => [ 'title' => esc_html_x( 'Row', 'Flex Container Control', 'elementor' ), 'icon' => 'eicon-arrow-' . $end, ], 'column' => [ 'title' => esc_html_x( 'Column', 'Flex Container Control', 'elementor' ), 'icon' => 'eicon-arrow-down', ], 'row-reverse' => [ 'title' => esc_html_x( 'Reversed Row', 'Flex Container Control', 'elementor' ), 'icon' => 'eicon-arrow-' . $start, ], 'column-reverse' => [ 'title' => esc_html_x( 'Reversed Column', 'Flex Container Control', 'elementor' ), 'icon' => 'eicon-arrow-up', ], ], 'default' => '', 'selectors' => [ '{{SELECTOR}}' => '--flex-direction: {{VALUE}};', ], 'responsive' => true, ]; $fields['_is_row'] = [ 'type' => Controls_Manager::HIDDEN, 'prefix_class' => 'e-container--', 'default' => 'row', 'condition' => [ 'direction' => [ 'row', 'row-reverse', ], ], ]; $fields['_is_column'] = [ 'type' => Controls_Manager::HIDDEN, 'prefix_class' => 'e-container--', 'default' => 'column', 'condition' => [ 'direction' => [ '', 'column', 'column-reverse', ], ], ]; $fields['align_items'] = [ 'label' => esc_html_x( 'Align Items', 'Flex Container Control', 'elementor' ), 'type' => Controls_Manager::CHOOSE, 'default' => '', 'options' => [ 'flex-start' => [ 'title' => esc_html_x( 'Flex Start', 'Flex Container Control', 'elementor' ), 'icon' => 'eicon-flex eicon-align-start-v', ], 'center' => [ 'title' => esc_html_x( 'Center', 'Flex Container Control', 'elementor' ), 'icon' => 'eicon-flex eicon-align-center-v', ], 'flex-end' => [ 'title' => esc_html_x( 'Flex End', 'Flex Container Control', 'elementor' ), 'icon' => 'eicon-flex eicon-align-end-v', ], 'stretch' => [ 'title' => esc_html_x( 'Stretch', 'Flex Container Control', 'elementor' ), 'icon' => 'eicon-flex eicon-align-stretch-v', ], ], 'selectors' => [ '{{SELECTOR}}' => '--align-items: {{VALUE}};', ], 'responsive' => true, ]; $fields['justify_content'] = [ 'label' => esc_html_x( 'Justify Content', 'Flex Container Control', 'elementor' ), 'type' => Controls_Manager::CHOOSE, 'label_block' => true, 'default' => '', 'options' => [ 'flex-start' => [ 'title' => esc_html_x( 'Flex Start', 'Flex Container Control', 'elementor' ), 'icon' => 'eicon-flex eicon-justify-start-h', ], 'center' => [ 'title' => esc_html_x( 'Center', 'Flex Container Control', 'elementor' ), 'icon' => 'eicon-flex eicon-justify-center-h', ], 'flex-end' => [ 'title' => esc_html_x( 'Flex End', 'Flex Container Control', 'elementor' ), 'icon' => 'eicon-flex eicon-justify-end-h', ], 'space-between' => [ 'title' => esc_html_x( 'Space Between', 'Flex Container Control', 'elementor' ), 'icon' => 'eicon-flex eicon-justify-space-between-h', ], 'space-around' => [ 'title' => esc_html_x( 'Space Around', 'Flex Container Control', 'elementor' ), 'icon' => 'eicon-flex eicon-justify-space-around-h', ], 'space-evenly' => [ 'title' => esc_html_x( 'Space Evenly', 'Flex Container Control', 'elementor' ), 'icon' => 'eicon-flex eicon-justify-space-evenly-h', ], ], 'selectors' => [ '{{SELECTOR}}' => '--justify-content: {{VALUE}};', ], 'responsive' => true, ]; $fields['gap'] = [ 'label' => esc_html_x( 'Gap', 'Flex Item Control', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'range' => [ 'px' => [ 'min' => 0, 'max' => 500, ], '%' => [ 'min' => 0, 'max' => 100, ], 'vw' => [ 'min' => 0, 'max' => 100, ], ], 'size_units' => [ 'px', '%', 'vw' ], 'selectors' => [ '{{SELECTOR}}' => '--gap: {{SIZE}}{{UNIT}};', ], 'responsive' => true, ]; $fields['wrap'] = [ 'label' => esc_html_x( 'Wrap', 'Flex Container Control', 'elementor' ), 'type' => Controls_Manager::CHOOSE, 'options' => [ 'nowrap' => [ 'title' => esc_html_x( 'No Wrap', 'Flex Container Control', 'elementor' ), 'icon' => 'eicon-flex eicon-nowrap', ], 'wrap' => [ 'title' => esc_html_x( 'Wrap', 'Flex Container Control', 'elementor' ), 'icon' => 'eicon-flex eicon-wrap', ], ], 'description' => esc_html_x( 'Define whether the items are forced in a single line (No Wrap) or can be flowed into multiple lines (Wrap)', 'Flex Container Control', 'elementor' ), 'default' => '', 'selectors' => [ '{{SELECTOR}}' => '--flex-wrap: {{VALUE}};', ], 'responsive' => true, ]; $fields['align_content'] = [ 'label' => esc_html_x( 'Align Content', 'Flex Container Control', 'elementor' ), 'type' => Controls_Manager::SELECT, 'default' => '', 'options' => [ '' => esc_html_x( 'Default', 'Flex Container Control', 'elementor' ), 'center' => esc_html_x( 'Center', 'Flex Container Control', 'elementor' ), 'flex-start' => esc_html_x( 'Flex Start', 'Flex Container Control', 'elementor' ), 'flex-end' => esc_html_x( 'Flex End', 'Flex Container Control', 'elementor' ), 'space-between' => esc_html_x( 'Space Between', 'Flex Container Control', 'elementor' ), 'space-around' => esc_html_x( 'Space Around', 'Flex Container Control', 'elementor' ), 'space-evenly' => esc_html_x( 'Space Evenly', 'Flex Container Control', 'elementor' ), ], 'selectors' => [ '{{SELECTOR}}' => '--align-content: {{VALUE}};', ], 'condition' => [ 'wrap' => 'wrap', ], 'responsive' => true, ]; return $fields; } protected function get_default_options() { return [ 'popover' => false, ]; } } includes/controls/groups/box-shadow.php000064400000004471152377341010014331 0ustar00 _x( 'Box Shadow', 'Box Shadow Control', 'elementor' ), 'type' => Controls_Manager::BOX_SHADOW, 'selectors' => [ '{{SELECTOR}}' => 'box-shadow: {{HORIZONTAL}}px {{VERTICAL}}px {{BLUR}}px {{SPREAD}}px {{COLOR}} {{box_shadow_position.VALUE}};', ], ]; $controls['box_shadow_position'] = [ 'label' => _x( 'Position', 'Box Shadow Control', 'elementor' ), 'type' => Controls_Manager::SELECT, 'options' => [ ' ' => _x( 'Outline', 'Box Shadow Control', 'elementor' ), 'inset' => _x( 'Inset', 'Box Shadow Control', 'elementor' ), ], 'default' => ' ', 'render_type' => 'ui', ]; return $controls; } /** * Get default options. * * Retrieve the default options of the box shadow control. Used to return the * default options while initializing the box shadow control. * * @since 1.9.0 * @access protected * * @return array Default box shadow control options. */ protected function get_default_options() { return [ 'popover' => [ 'starter_title' => _x( 'Box Shadow', 'Box Shadow Control', 'elementor' ), 'starter_name' => 'box_shadow_type', 'starter_value' => 'yes', 'settings' => [ 'render_type' => 'ui', ], ], ]; } } includes/controls/groups/css-filter.php000064400000006720152377341010014330 0ustar00 _x( 'Blur', 'Filter Control', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'required' => 'true', 'range' => [ 'px' => [ 'min' => 0, 'max' => 10, 'step' => 0.1, ], ], 'default' => [ 'size' => 0, ], 'selectors' => [ '{{SELECTOR}}' => 'filter: brightness( {{brightness.SIZE}}% ) contrast( {{contrast.SIZE}}% ) saturate( {{saturate.SIZE}}% ) blur( {{blur.SIZE}}px ) hue-rotate( {{hue.SIZE}}deg )', ], ]; $controls['brightness'] = [ 'label' => _x( 'Brightness', 'Filter Control', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'render_type' => 'ui', 'required' => 'true', 'default' => [ 'size' => 100, ], 'range' => [ 'px' => [ 'min' => 0, 'max' => 200, ], ], 'separator' => 'none', ]; $controls['contrast'] = [ 'label' => _x( 'Contrast', 'Filter Control', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'render_type' => 'ui', 'required' => 'true', 'default' => [ 'size' => 100, ], 'range' => [ 'px' => [ 'min' => 0, 'max' => 200, ], ], 'separator' => 'none', ]; $controls['saturate'] = [ 'label' => _x( 'Saturation', 'Filter Control', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'render_type' => 'ui', 'required' => 'true', 'default' => [ 'size' => 100, ], 'range' => [ 'px' => [ 'min' => 0, 'max' => 200, ], ], 'separator' => 'none', ]; $controls['hue'] = [ 'label' => _x( 'Hue', 'Filter Control', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'render_type' => 'ui', 'required' => 'true', 'default' => [ 'size' => 0, ], 'range' => [ 'px' => [ 'min' => 0, 'max' => 360, ], ], 'separator' => 'none', ]; return $controls; } /** * Get default options. * * Retrieve the default options of the CSS filter control. Used to return the * default options while initializing the CSS filter control. * * @since 2.1.0 * @access protected * * @return array Default CSS filter control options. */ protected function get_default_options() { return [ 'popover' => [ 'starter_name' => 'css_filter', 'starter_title' => _x( 'CSS Filters', 'Filter Control', 'elementor' ), 'settings' => [ 'render_type' => 'ui', ], ], ]; } } includes/controls/groups/typography.php000064400000020454152377341010014463 0ustar00kits_manager->get_active_kit_for_frontend(); /** * Retrieve the settings directly from DB, because of an open issue when a controls group is being initialized * from within another group */ $kit_settings = $kit->get_meta( PageManager::META_KEY ); $default_fonts = isset( $kit_settings['default_generic_fonts'] ) ? $kit_settings['default_generic_fonts'] : 'Sans-serif'; if ( $default_fonts ) { $default_fonts = ', ' . $default_fonts; } $fields['font_family'] = [ 'label' => _x( 'Family', 'Typography Control', 'elementor' ), 'type' => Controls_Manager::FONT, 'default' => '', 'selector_value' => 'font-family: "{{VALUE}}"' . $default_fonts . ';', ]; $fields['font_size'] = [ 'label' => _x( 'Size', 'Typography Control', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'size_units' => [ 'px', 'em', 'rem', 'vw' ], 'range' => [ 'px' => [ 'min' => 1, 'max' => 200, ], 'vw' => [ 'min' => 0.1, 'max' => 10, 'step' => 0.1, ], ], 'responsive' => true, 'selector_value' => 'font-size: {{SIZE}}{{UNIT}}', ]; $fields['font_weight'] = [ 'label' => _x( 'Weight', 'Typography Control', 'elementor' ), 'type' => Controls_Manager::SELECT, 'default' => '', 'options' => [ '100' => '100', '200' => '200', '300' => '300', '400' => '400', '500' => '500', '600' => '600', '700' => '700', '800' => '800', '900' => '900', '' => esc_html__( 'Default', 'elementor' ), 'normal' => esc_html__( 'Normal', 'elementor' ), 'bold' => esc_html__( 'Bold', 'elementor' ), ], ]; $fields['text_transform'] = [ 'label' => _x( 'Transform', 'Typography Control', 'elementor' ), 'type' => Controls_Manager::SELECT, 'default' => '', 'options' => [ '' => esc_html__( 'Default', 'elementor' ), 'uppercase' => _x( 'Uppercase', 'Typography Control', 'elementor' ), 'lowercase' => _x( 'Lowercase', 'Typography Control', 'elementor' ), 'capitalize' => _x( 'Capitalize', 'Typography Control', 'elementor' ), 'none' => _x( 'Normal', 'Typography Control', 'elementor' ), ], ]; $fields['font_style'] = [ 'label' => _x( 'Style', 'Typography Control', 'elementor' ), 'type' => Controls_Manager::SELECT, 'default' => '', 'options' => [ '' => esc_html__( 'Default', 'elementor' ), 'normal' => _x( 'Normal', 'Typography Control', 'elementor' ), 'italic' => _x( 'Italic', 'Typography Control', 'elementor' ), 'oblique' => _x( 'Oblique', 'Typography Control', 'elementor' ), ], ]; $fields['text_decoration'] = [ 'label' => _x( 'Decoration', 'Typography Control', 'elementor' ), 'type' => Controls_Manager::SELECT, 'default' => '', 'options' => [ '' => esc_html__( 'Default', 'elementor' ), 'underline' => _x( 'Underline', 'Typography Control', 'elementor' ), 'overline' => _x( 'Overline', 'Typography Control', 'elementor' ), 'line-through' => _x( 'Line Through', 'Typography Control', 'elementor' ), 'none' => _x( 'None', 'Typography Control', 'elementor' ), ], ]; $fields['line_height'] = [ 'label' => _x( 'Line-Height', 'Typography Control', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'desktop_default' => [ 'unit' => 'em', ], 'tablet_default' => [ 'unit' => 'em', ], 'mobile_default' => [ 'unit' => 'em', ], 'range' => [ 'px' => [ 'min' => 1, ], ], 'responsive' => true, 'size_units' => [ 'px', 'em' ], 'selector_value' => 'line-height: {{SIZE}}{{UNIT}}', ]; $fields['letter_spacing'] = [ 'label' => _x( 'Letter Spacing', 'Typography Control', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'range' => [ 'px' => [ 'min' => -5, 'max' => 10, 'step' => 0.1, ], ], 'responsive' => true, 'selector_value' => 'letter-spacing: {{SIZE}}{{UNIT}}', ]; $fields['word_spacing'] = [ 'label' => _x( 'Word Spacing', 'Typography Control', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'desktop_default' => [ 'unit' => 'em', ], 'tablet_default' => [ 'unit' => 'em', ], 'mobile_default' => [ 'unit' => 'em', ], 'size_units' => [ 'px', 'em' ], 'range' => [ 'px' => [ 'step' => 1, ], 'em' => [ 'step' => 0.1, ], ], 'responsive' => true, 'selector_value' => 'word-spacing: {{SIZE}}{{UNIT}}', ]; return $fields; } /** * Prepare fields. * * Process typography control fields before adding them to `add_control()`. * * @since 1.2.3 * @access protected * * @param array $fields Typography control fields. * * @return array Processed fields. */ protected function prepare_fields( $fields ) { array_walk( $fields, function( &$field, $field_name ) { if ( in_array( $field_name, [ 'typography', 'popover_toggle' ] ) ) { return; } $selector_value = ! empty( $field['selector_value'] ) ? $field['selector_value'] : str_replace( '_', '-', $field_name ) . ': {{VALUE}};'; $field['selectors'] = [ '{{SELECTOR}}' => $selector_value, ]; } ); return parent::prepare_fields( $fields ); } /** * Add group arguments to field. * * Register field arguments to typography control. * * @since 1.2.2 * @access protected * * @param string $control_id Typography control id. * @param array $field_args Typography control field arguments. * * @return array Field arguments. */ protected function add_group_args_to_field( $control_id, $field_args ) { $field_args = parent::add_group_args_to_field( $control_id, $field_args ); $field_args['groupPrefix'] = $this->get_controls_prefix(); $field_args['groupType'] = 'typography'; $args = $this->get_args(); if ( in_array( $control_id, self::get_scheme_fields_keys() ) && ! empty( $args['scheme'] ) ) { $field_args['scheme'] = [ 'type' => self::get_type(), 'value' => $args['scheme'], 'key' => $control_id, ]; } return $field_args; } /** * Get default options. * * Retrieve the default options of the typography control. Used to return the * default options while initializing the typography control. * * @since 1.9.0 * @access protected * * @return array Default typography control options. */ protected function get_default_options() { return [ 'popover' => [ 'starter_name' => 'typography', 'starter_title' => _x( 'Typography', 'Typography Control', 'elementor' ), 'settings' => [ 'render_type' => 'ui', 'groupType' => 'typography', 'global' => [ 'active' => true, ], ], ], ]; } } includes/controls/groups/image-size.php000064400000025764152377341010014320 0ustar00frontend->is_static_render_mode(); // On static mode don't use WP responsive images. if ( ! empty( $image['id'] ) && in_array( $size, $image_sizes ) && ! $is_static_render_mode ) { $image_class .= " attachment-$size size-$size"; $image_attr = [ 'class' => trim( $image_class ), ]; $html .= wp_get_attachment_image( $image['id'], $size, false, $image_attr ); } else { $image_src = self::get_attachment_image_src( $image['id'], $image_size_key, $settings ); if ( ! $image_src && isset( $image['url'] ) ) { $image_src = $image['url']; } if ( ! empty( $image_src ) ) { $image_class_html = ! empty( $image_class ) ? ' class="' . $image_class . '"' : ''; $html .= sprintf( '%s', esc_attr( $image_src ), Control_Media::get_image_title( $image ), Control_Media::get_image_alt( $image ), $image_class_html ); } } /** * Get Attachment Image HTML * * Filters the Attachment Image HTML * * @since 2.4.0 * @param string $html the attachment image HTML string * @param array $settings Control settings. * @param string $image_size_key Optional. Settings key for image size. * Default is `image`. * @param string $image_key Optional. Settings key for image. Default * is null. If not defined uses image size key * as the image key. */ return apply_filters( 'elementor/image_size/get_attachment_image_html', $html, $settings, $image_size_key, $image_key ); } /** * Safe print attachment image HTML. * * @uses get_attachment_image_html. * * @access public * @static * * @param array $settings Control settings. * @param string $image_size_key Optional. Settings key for image size. * Default is `image`. * @param string $image_key Optional. Settings key for image. Default * is null. If not defined uses image size key * as the image key. */ public static function print_attachment_image_html( array $settings, $image_size_key = 'image', $image_key = null ) { Utils::print_wp_kses_extended( self::get_attachment_image_html( $settings, $image_size_key, $image_key ), [ 'image' ] ); } /** * Get all image sizes. * * Retrieve available image sizes with data like `width`, `height` and `crop`. * * @since 1.0.0 * @access public * @static * * @return array An array of available image sizes. */ public static function get_all_image_sizes() { global $_wp_additional_image_sizes; $default_image_sizes = [ 'thumbnail', 'medium', 'medium_large', 'large' ]; $image_sizes = []; foreach ( $default_image_sizes as $size ) { $image_sizes[ $size ] = [ 'width' => (int) get_option( $size . '_size_w' ), 'height' => (int) get_option( $size . '_size_h' ), 'crop' => (bool) get_option( $size . '_crop' ), ]; } if ( $_wp_additional_image_sizes ) { $image_sizes = array_merge( $image_sizes, $_wp_additional_image_sizes ); } /** This filter is documented in wp-admin/includes/media.php */ return apply_filters( 'image_size_names_choose', $image_sizes ); } /** * Get attachment image src. * * Retrieve the attachment image source URL. * * @since 1.0.0 * @access public * @static * * @param string $attachment_id The attachment ID. * @param string $image_size_key Settings key for image size. * @param array $settings Control settings. * * @return string Attachment image source URL. */ public static function get_attachment_image_src( $attachment_id, $image_size_key, array $settings ) { if ( empty( $attachment_id ) ) { return false; } $size = $settings[ $image_size_key . '_size' ]; if ( 'custom' !== $size ) { $attachment_size = $size; } else { // Use BFI_Thumb script // TODO: Please rewrite this code. require_once ELEMENTOR_PATH . 'includes/libraries/bfi-thumb/bfi-thumb.php'; $custom_dimension = $settings[ $image_size_key . '_custom_dimension' ]; $attachment_size = [ // Defaults sizes 0 => null, // Width. 1 => null, // Height. 'bfi_thumb' => true, 'crop' => true, ]; $has_custom_size = false; if ( ! empty( $custom_dimension['width'] ) ) { $has_custom_size = true; $attachment_size[0] = $custom_dimension['width']; } if ( ! empty( $custom_dimension['height'] ) ) { $has_custom_size = true; $attachment_size[1] = $custom_dimension['height']; } if ( ! $has_custom_size ) { $attachment_size = 'full'; } } $image_src = wp_get_attachment_image_src( $attachment_id, $attachment_size ); if ( empty( $image_src[0] ) && 'thumbnail' !== $attachment_size ) { $image_src = wp_get_attachment_image_src( $attachment_id ); } return ! empty( $image_src[0] ) ? $image_src[0] : ''; } /** * Get child default arguments. * * Retrieve the default arguments for all the child controls for a specific group * control. * * @since 1.2.2 * @access protected * * @return array Default arguments for all the child controls. */ protected function get_child_default_args() { return [ 'include' => [], 'exclude' => [], ]; } /** * Init fields. * * Initialize image size control fields. * * @since 1.2.2 * @access protected * * @return array Control fields. */ protected function init_fields() { $fields = []; $fields['size'] = [ 'label' => _x( 'Image Size', 'Image Size Control', 'elementor' ), 'type' => Controls_Manager::SELECT, ]; $fields['custom_dimension'] = [ 'label' => _x( 'Image Dimension', 'Image Size Control', 'elementor' ), 'type' => Controls_Manager::IMAGE_DIMENSIONS, 'description' => esc_html__( 'You can crop the original image size to any custom size. You can also set a single value for height or width in order to keep the original size ratio.', 'elementor' ), 'condition' => [ 'size' => 'custom', ], 'separator' => 'none', ]; return $fields; } /** * Prepare fields. * * Process image size control fields before adding them to `add_control()`. * * @since 1.2.2 * @access protected * * @param array $fields Image size control fields. * * @return array Processed fields. */ protected function prepare_fields( $fields ) { $image_sizes = $this->get_image_sizes(); $args = $this->get_args(); if ( ! empty( $args['default'] ) && isset( $image_sizes[ $args['default'] ] ) ) { $default_value = $args['default']; } else { // Get the first item for default value. $default_value = array_keys( $image_sizes ); $default_value = array_shift( $default_value ); } $fields['size']['options'] = $image_sizes; $fields['size']['default'] = $default_value; if ( ! isset( $image_sizes['custom'] ) ) { unset( $fields['custom_dimension'] ); } return parent::prepare_fields( $fields ); } /** * Get image sizes. * * Retrieve available image sizes after filtering `include` and `exclude` arguments. * * @since 2.0.0 * @access private * * @return array Filtered image sizes. */ private function get_image_sizes() { $wp_image_sizes = self::get_all_image_sizes(); $args = $this->get_args(); if ( $args['include'] ) { $wp_image_sizes = array_intersect_key( $wp_image_sizes, array_flip( $args['include'] ) ); } elseif ( $args['exclude'] ) { $wp_image_sizes = array_diff_key( $wp_image_sizes, array_flip( $args['exclude'] ) ); } $image_sizes = []; foreach ( $wp_image_sizes as $size_key => $size_attributes ) { $control_title = ucwords( str_replace( '_', ' ', $size_key ) ); if ( is_array( $size_attributes ) ) { $control_title .= sprintf( ' - %d x %d', $size_attributes['width'], $size_attributes['height'] ); } $image_sizes[ $size_key ] = $control_title; } $image_sizes['full'] = _x( 'Full', 'Image Size Control', 'elementor' ); if ( ! empty( $args['include']['custom'] ) || ! in_array( 'custom', $args['exclude'] ) ) { $image_sizes['custom'] = _x( 'Custom', 'Image Size Control', 'elementor' ); } return $image_sizes; } /** * Get default options. * * Retrieve the default options of the image size control. Used to return the * default options while initializing the image size control. * * @since 1.9.0 * @access protected * * @return array Default image size control options. */ protected function get_default_options() { return [ 'popover' => false, ]; } } includes/controls/button.php000064400000003266152377341010012253 0ustar00 '', 'event' => '', 'button_type' => 'default', ]; } /** * Render button control output in the editor. * * Used to generate the control HTML in the editor using Underscore JS * template. The variables for the class are available using `data` JS * object. * * @since 1.9.0 * @access public */ public function content_template() { ?>
<# if ( data.description ) { #>
{{{ data.description }}}
<# } #> '', 'sizes' => [], ] ); } /** * Get slider control default settings. * * Retrieve the default settings of the slider control. Used to return the * default settings while initializing the slider control. * * @since 1.0.0 * @access protected * * @return array Control default settings. */ protected function get_default_settings() { return array_merge( parent::get_default_settings(), [ 'label_block' => true, 'labels' => [], 'scales' => 0, 'handles' => 'default', 'dynamic' => [ 'categories' => [ TagsModule::NUMBER_CATEGORY ], 'property' => 'size', ], ] ); } /** * Render slider control output in the editor. * * Used to generate the control HTML in the editor using Underscore JS * template. The variables for the class are available using `data` JS * object. * * @since 1.0.0 * @access public */ public function content_template() { ?>
print_units_template(); ?>
<# if ( isMultiple && ( data.labels.length || data.scales ) ) { #>
<# if ( data.labels.length ) { #>
<# jQuery.each( data.labels, ( index, label ) => { #>
{{{ label }}}
<# } ); #>
<# } if ( data.scales ) { #>
<# for ( var i = 0; i < data.scales; i++ ) { #>
<# } #>
<# } #>
<# } #>
<# if ( ! isMultiple ) { #>
<# } #>
<# if ( data.description ) { #>
{{{ data.description }}}
<# } #> start_controls_section()` * and `$widget->end_controls_section()` to wrap a set of controls. * * @since 1.0.0 */ class Control_Section extends Base_UI_Control { /** * Get section control type. * * Retrieve the control type, in this case `section`. * * @since 1.0.0 * @access public * * @return string Control type. */ public function get_type() { return 'section'; } /** * Render section control output in the editor. * * Used to generate the control HTML in the editor using Underscore JS * template. The variables for the class are available using `data` JS * object. * * @since 1.0.0 * @access public */ public function content_template() { ?>
{{{ data.label }}}
'none', ]; } } includes/controls/number.php000064400000004133152377341010012222 0ustar00 '', 'max' => '', 'step' => '', 'placeholder' => '', 'title' => '', 'dynamic' => [ 'categories' => [ TagsModule::NUMBER_CATEGORY ], ], ]; } /** * Render number control output in the editor. * * Used to generate the control HTML in the editor using Underscore JS * template. The variables for the class are available using `data` JS * object. * * @since 1.0.0 * @access public */ public function content_template() { ?>
<# if ( data.description ) { #>
{{{ data.description }}}
<# } #>
Loading..
true, 'rows' => 5, 'placeholder' => '', 'dynamic' => [ 'categories' => [ TagsModule::TEXT_CATEGORY ], ], ]; } /** * Render textarea control output in the editor. * * Used to generate the control HTML in the editor using Underscore JS * template. The variables for the class are available using `data` JS * object. * * @since 1.0.0 * @access public */ public function content_template() { ?>
<# if ( data.description ) { #>
{{{ data.description }}}
<# } #> [ 'fadeIn' => 'Fade In', 'fadeInDown' => 'Fade In Down', 'fadeInLeft' => 'Fade In Left', 'fadeInRight' => 'Fade In Right', 'fadeInUp' => 'Fade In Up', ], 'Zooming' => [ 'zoomIn' => 'Zoom In', 'zoomInDown' => 'Zoom In Down', 'zoomInLeft' => 'Zoom In Left', 'zoomInRight' => 'Zoom In Right', 'zoomInUp' => 'Zoom In Up', ], 'Bouncing' => [ 'bounceIn' => 'Bounce In', 'bounceInDown' => 'Bounce In Down', 'bounceInLeft' => 'Bounce In Left', 'bounceInRight' => 'Bounce In Right', 'bounceInUp' => 'Bounce In Up', ], 'Sliding' => [ 'slideInDown' => 'Slide In Down', 'slideInLeft' => 'Slide In Left', 'slideInRight' => 'Slide In Right', 'slideInUp' => 'Slide In Up', ], 'Rotating' => [ 'rotateIn' => 'Rotate In', 'rotateInDownLeft' => 'Rotate In Down Left', 'rotateInDownRight' => 'Rotate In Down Right', 'rotateInUpLeft' => 'Rotate In Up Left', 'rotateInUpRight' => 'Rotate In Up Right', ], 'Attention Seekers' => [ 'bounce' => 'Bounce', 'flash' => 'Flash', 'pulse' => 'Pulse', 'rubberBand' => 'Rubber Band', 'shake' => 'Shake', 'headShake' => 'Head Shake', 'swing' => 'Swing', 'tada' => 'Tada', 'wobble' => 'Wobble', 'jello' => 'Jello', ], 'Light Speed' => [ 'lightSpeedIn' => 'Light Speed In', ], 'Specials' => [ 'rollIn' => 'Roll In', ], ]; $additional_animations = []; /** * Entrance animations. * * Filters the animations list displayed in the animations control. * * This hook can be used to register animations in addition to the * basic Elementor animations. * * @since 2.4.0 * * @param array $additional_animations Additional animations array. */ $additional_animations = apply_filters( 'elementor/controls/animations/additional_animations', $additional_animations ); return array_merge( $animations, $additional_animations ); } /** * Render animations control template. * * Used to generate the control HTML in the editor using Underscore JS * template. The variables for the class are available using `data` JS * object. * * @since 1.0.0 * @access public */ public function content_template() { ?>
<# if ( data.description ) { #>
{{{ data.description }}}
<# } #> [ 'e-animations' ], ]; } } includes/controls/choose.php000064400000004333152377341010012214 0ustar00
<# _.each( data.options, function( options, value ) { #> <# } ); #>
<# if ( data.description ) { #>
{{{ data.description }}}
<# } #> [], 'toggle' => true, ]; } } includes/controls/base.php000064400000005453152377341010011652 0ustar00 '', 'description' => '', 'show_label' => true, 'label_block' => false, 'separator' => 'default', ]; /** * Get features. * * Retrieve the list of all the available features. Currently Elementor uses only * the `UI` feature. * * @since 1.5.0 * @access public * @static * * @return array Features array. */ public static function get_features() { return []; } /** * Get control type. * * Retrieve the control type. * * @since 1.5.0 * @access public * @abstract */ abstract public function get_type(); /** * Control base constructor. * * Initializing the control base class. * * @since 1.5.0 * @access public */ public function __construct() { $this->set_settings( array_merge( $this->_base_settings, $this->get_default_settings() ) ); $this->set_settings( 'features', static::get_features() ); } /** * Enqueue control scripts and styles. * * Used to register and enqueue custom scripts and styles used by the control. * * @since 1.5.0 * @access public */ public function enqueue() {} /** * Control content template. * * Used to generate the control HTML in the editor using Underscore JS * template. The variables for the class are available using `data` JS * object. * * Note that the content template is wrapped by Base_Control::print_template(). * * @since 1.5.0 * @access public * @abstract */ abstract public function content_template(); /** * Print control template. * * Used to generate the control HTML in the editor using Underscore JS * template. The variables for the class are available using `data` JS * object. * * @since 1.5.0 * @access public */ final public function print_template() { ?> '', 'height' => '', ]; } /** * Get image dimensions control default settings. * * Retrieve the default settings of the image dimensions control. Used to return * the default settings while initializing the image dimensions control. * * @since 1.0.0 * @access protected * * @return array Control default settings. */ protected function get_default_settings() { return [ 'show_label' => false, 'label_block' => true, ]; } /** * Render image dimensions control output in the editor. * * Used to generate the control HTML in the editor using Underscore JS * template. The variables for the class are available using `data` JS * object. * * @since 1.0.0 * @access public */ public function content_template() { if ( ! $this->is_image_editor_supports() ) : ?>
<# if ( data.description ) { #>
{{{ data.description }}}
<# } #>
x
'image/jpeg', ]; return ( wp_image_editor_supports( $arg ) ); } } includes/controls/divider.php000064400000002271152377341010012361 0ustar00 'none', ]; } /** * Render divider control output in the editor. * * Used to generate the control HTML in the editor using Underscore JS * template. The variables for the class are available using `data` JS * object. * * @since 2.0.0 * @access public */ public function content_template() {} } includes/controls/tabs.php000064400000002437152377341010011670 0ustar00start_controls_tabs()` * and in the end `$widget->end_controls_tabs()`. * * @since 1.0.0 */ class Control_Tabs extends Base_UI_Control { /** * Get tabs control type. * * Retrieve the control type, in this case `tabs`. * * @since 1.0.0 * @access public * * @return string Control type. */ public function get_type() { return 'tabs'; } /** * Render tabs control output in the editor. * * Used to generate the control HTML in the editor using Underscore JS * template. The variables for the class are available using `data` JS * object. * * @since 1.0.0 * @access public */ public function content_template() {} /** * Get tabs control default settings. * * Retrieve the default settings of the tabs control. Used to return the * default settings while initializing the tabs control. * * @since 1.0.0 * @access protected * * @return array Control default settings. */ protected function get_default_settings() { return [ 'separator' => 'none', ]; } } includes/controls/tab.php000064400000002562152377341010011504 0ustar00start_controls_tab()` * and in the end `$widget->end_controls_tab()`. * * @since 1.0.0 */ class Control_Tab extends Base_UI_Control { /** * Get tab control type. * * Retrieve the control type, in this case `tab`. * * @since 1.0.0 * @access public * * @return string Control type. */ public function get_type() { return 'tab'; } /** * Render tab control output in the editor. * * Used to generate the control HTML in the editor using Underscore JS * template. The variables for the class are available using `data` JS * object. * * @since 1.0.0 * @access public */ public function content_template() { ?>
{{{ data.label }}}
'none', ]; } } includes/controls/wysiwyg.php000064400000003255152377341010012460 0ustar00
{{{ data.label }}}
<# if ( data.description ) { #>
{{{ data.description }}}
<# } #> true, 'dynamic' => [ 'active' => true, 'categories' => [ TagsModule::TEXT_CATEGORY ], ], ]; } } includes/controls/url.php000064400000011634152377341010011540 0ustar00 '', 'is_external' => '', 'nofollow' => '', 'custom_attributes' => '', ]; } /** * Get url control default settings. * * Retrieve the default settings of the url control. Used to return the default * settings while initializing the url control. * * @since 1.0.0 * @access protected * * @return array Control default settings. */ protected function get_default_settings() { return [ 'label_block' => true, 'placeholder' => esc_html__( 'Paste URL or type', 'elementor' ), 'autocomplete' => true, 'options' => [ 'is_external', 'nofollow', 'custom_attributes' ], 'dynamic' => [ 'categories' => [ TagsModule::URL_CATEGORY ], 'property' => 'url', ], 'custom_attributes_description' => esc_html__( 'Set custom attributes for the link element. Separate attribute keys from values using the | (pipe) character. Separate key-value pairs with a comma.', 'elementor' ) . ' ' . esc_html__( 'Learn More', 'elementor' ) . '', ]; } /** * Render url control output in the editor. * * Used to generate the control HTML in the editor using Underscore JS * template. The variables for the class are available using `data` JS * object. * * @since 1.0.0 * @access public */ public function content_template() { ?>
<# if ( ( data.options && -1 !== data.options.indexOf( 'custom_attributes' ) ) && data.custom_attributes_description ) { #>
{{{ data.custom_attributes_description }}}
<# } #>
<# if ( data.description ) { #>
{{{ data.description }}}
<# } #> '500px', 'fa fa-address-book' => 'address-book', 'fa fa-address-book-o' => 'address-book-o', 'fa fa-address-card' => 'address-card', 'fa fa-address-card-o' => 'address-card-o', 'fa fa-adjust' => 'adjust', 'fa fa-adn' => 'adn', 'fa fa-align-center' => 'align-center', 'fa fa-align-justify' => 'align-justify', 'fa fa-align-left' => 'align-left', 'fa fa-align-right' => 'align-right', 'fa fa-amazon' => 'amazon', 'fa fa-ambulance' => 'ambulance', 'fa fa-american-sign-language-interpreting' => 'american-sign-language-interpreting', 'fa fa-anchor' => 'anchor', 'fa fa-android' => 'android', 'fa fa-angellist' => 'angellist', 'fa fa-angle-double-down' => 'angle-double-down', 'fa fa-angle-double-left' => 'angle-double-left', 'fa fa-angle-double-right' => 'angle-double-right', 'fa fa-angle-double-up' => 'angle-double-up', 'fa fa-angle-down' => 'angle-down', 'fa fa-angle-left' => 'angle-left', 'fa fa-angle-right' => 'angle-right', 'fa fa-angle-up' => 'angle-up', 'fa fa-apple' => 'apple', 'fa fa-archive' => 'archive', 'fa fa-area-chart' => 'area-chart', 'fa fa-arrow-circle-down' => 'arrow-circle-down', 'fa fa-arrow-circle-left' => 'arrow-circle-left', 'fa fa-arrow-circle-o-down' => 'arrow-circle-o-down', 'fa fa-arrow-circle-o-left' => 'arrow-circle-o-left', 'fa fa-arrow-circle-o-right' => 'arrow-circle-o-right', 'fa fa-arrow-circle-o-up' => 'arrow-circle-o-up', 'fa fa-arrow-circle-right' => 'arrow-circle-right', 'fa fa-arrow-circle-up' => 'arrow-circle-up', 'fa fa-arrow-down' => 'arrow-down', 'fa fa-arrow-left' => 'arrow-left', 'fa fa-arrow-right' => 'arrow-right', 'fa fa-arrow-up' => 'arrow-up', 'fa fa-arrows' => 'arrows', 'fa fa-arrows-alt' => 'arrows-alt', 'fa fa-arrows-h' => 'arrows-h', 'fa fa-arrows-v' => 'arrows-v', 'fa fa-asl-interpreting' => 'asl-interpreting', 'fa fa-assistive-listening-systems' => 'assistive-listening-systems', 'fa fa-asterisk' => 'asterisk', 'fa fa-at' => 'at', 'fa fa-audio-description' => 'audio-description', 'fa fa-automobile' => 'automobile', 'fa fa-backward' => 'backward', 'fa fa-balance-scale' => 'balance-scale', 'fa fa-ban' => 'ban', 'fa fa-bandcamp' => 'bandcamp', 'fa fa-bank' => 'bank', 'fa fa-bar-chart' => 'bar-chart', 'fa fa-bar-chart-o' => 'bar-chart-o', 'fa fa-barcode' => 'barcode', 'fa fa-bars' => 'bars', 'fa fa-bath' => 'bath', 'fa fa-bathtub' => 'bathtub', 'fa fa-battery' => 'battery', 'fa fa-battery-0' => 'battery-0', 'fa fa-battery-1' => 'battery-1', 'fa fa-battery-2' => 'battery-2', 'fa fa-battery-3' => 'battery-3', 'fa fa-battery-4' => 'battery-4', 'fa fa-battery-empty' => 'battery-empty', 'fa fa-battery-full' => 'battery-full', 'fa fa-battery-half' => 'battery-half', 'fa fa-battery-quarter' => 'battery-quarter', 'fa fa-battery-three-quarters' => 'battery-three-quarters', 'fa fa-bed' => 'bed', 'fa fa-beer' => 'beer', 'fa fa-behance' => 'behance', 'fa fa-behance-square' => 'behance-square', 'fa fa-bell' => 'bell', 'fa fa-bell-o' => 'bell-o', 'fa fa-bell-slash' => 'bell-slash', 'fa fa-bell-slash-o' => 'bell-slash-o', 'fa fa-bicycle' => 'bicycle', 'fa fa-binoculars' => 'binoculars', 'fa fa-birthday-cake' => 'birthday-cake', 'fa fa-bitbucket' => 'bitbucket', 'fa fa-bitbucket-square' => 'bitbucket-square', 'fa fa-bitcoin' => 'bitcoin', 'fa fa-black-tie' => 'black-tie', 'fa fa-blind' => 'blind', 'fa fa-bluetooth' => 'bluetooth', 'fa fa-bluetooth-b' => 'bluetooth-b', 'fa fa-bold' => 'bold', 'fa fa-bolt' => 'bolt', 'fa fa-bomb' => 'bomb', 'fa fa-book' => 'book', 'fa fa-bookmark' => 'bookmark', 'fa fa-bookmark-o' => 'bookmark-o', 'fa fa-braille' => 'braille', 'fa fa-briefcase' => 'briefcase', 'fa fa-btc' => 'btc', 'fa fa-bug' => 'bug', 'fa fa-building' => 'building', 'fa fa-building-o' => 'building-o', 'fa fa-bullhorn' => 'bullhorn', 'fa fa-bullseye' => 'bullseye', 'fa fa-bus' => 'bus', 'fa fa-buysellads' => 'buysellads', 'fa fa-cab' => 'cab', 'fa fa-calculator' => 'calculator', 'fa fa-calendar' => 'calendar', 'fa fa-calendar-check-o' => 'calendar-check-o', 'fa fa-calendar-minus-o' => 'calendar-minus-o', 'fa fa-calendar-o' => 'calendar-o', 'fa fa-calendar-plus-o' => 'calendar-plus-o', 'fa fa-calendar-times-o' => 'calendar-times-o', 'fa fa-camera' => 'camera', 'fa fa-camera-retro' => 'camera-retro', 'fa fa-car' => 'car', 'fa fa-caret-down' => 'caret-down', 'fa fa-caret-left' => 'caret-left', 'fa fa-caret-right' => 'caret-right', 'fa fa-caret-square-o-down' => 'caret-square-o-down', 'fa fa-caret-square-o-left' => 'caret-square-o-left', 'fa fa-caret-square-o-right' => 'caret-square-o-right', 'fa fa-caret-square-o-up' => 'caret-square-o-up', 'fa fa-caret-up' => 'caret-up', 'fa fa-cart-arrow-down' => 'cart-arrow-down', 'fa fa-cart-plus' => 'cart-plus', 'fa fa-cc' => 'cc', 'fa fa-cc-amex' => 'cc-amex', 'fa fa-cc-diners-club' => 'cc-diners-club', 'fa fa-cc-discover' => 'cc-discover', 'fa fa-cc-jcb' => 'cc-jcb', 'fa fa-cc-mastercard' => 'cc-mastercard', 'fa fa-cc-paypal' => 'cc-paypal', 'fa fa-cc-stripe' => 'cc-stripe', 'fa fa-cc-visa' => 'cc-visa', 'fa fa-certificate' => 'certificate', 'fa fa-chain' => 'chain', 'fa fa-chain-broken' => 'chain-broken', 'fa fa-check' => 'check', 'fa fa-check-circle' => 'check-circle', 'fa fa-check-circle-o' => 'check-circle-o', 'fa fa-check-square' => 'check-square', 'fa fa-check-square-o' => 'check-square-o', 'fa fa-chevron-circle-down' => 'chevron-circle-down', 'fa fa-chevron-circle-left' => 'chevron-circle-left', 'fa fa-chevron-circle-right' => 'chevron-circle-right', 'fa fa-chevron-circle-up' => 'chevron-circle-up', 'fa fa-chevron-down' => 'chevron-down', 'fa fa-chevron-left' => 'chevron-left', 'fa fa-chevron-right' => 'chevron-right', 'fa fa-chevron-up' => 'chevron-up', 'fa fa-child' => 'child', 'fa fa-chrome' => 'chrome', 'fa fa-circle' => 'circle', 'fa fa-circle-o' => 'circle-o', 'fa fa-circle-o-notch' => 'circle-o-notch', 'fa fa-circle-thin' => 'circle-thin', 'fa fa-clipboard' => 'clipboard', 'fa fa-clock-o' => 'clock-o', 'fa fa-clone' => 'clone', 'fa fa-close' => 'close', 'fa fa-cloud' => 'cloud', 'fa fa-cloud-download' => 'cloud-download', 'fa fa-cloud-upload' => 'cloud-upload', 'fa fa-cny' => 'cny', 'fa fa-code' => 'code', 'fa fa-code-fork' => 'code-fork', 'fa fa-codepen' => 'codepen', 'fa fa-codiepie' => 'codiepie', 'fa fa-coffee' => 'coffee', 'fa fa-cog' => 'cog', 'fa fa-cogs' => 'cogs', 'fa fa-columns' => 'columns', 'fa fa-comment' => 'comment', 'fa fa-comment-o' => 'comment-o', 'fa fa-commenting' => 'commenting', 'fa fa-commenting-o' => 'commenting-o', 'fa fa-comments' => 'comments', 'fa fa-comments-o' => 'comments-o', 'fa fa-compass' => 'compass', 'fa fa-compress' => 'compress', 'fa fa-connectdevelop' => 'connectdevelop', 'fa fa-contao' => 'contao', 'fa fa-copy' => 'copy', 'fa fa-copyright' => 'copyright', 'fa fa-creative-commons' => 'creative-commons', 'fa fa-credit-card' => 'credit-card', 'fa fa-credit-card-alt' => 'credit-card-alt', 'fa fa-crop' => 'crop', 'fa fa-crosshairs' => 'crosshairs', 'fa fa-css3' => 'css3', 'fa fa-cube' => 'cube', 'fa fa-cubes' => 'cubes', 'fa fa-cut' => 'cut', 'fa fa-cutlery' => 'cutlery', 'fa fa-dashboard' => 'dashboard', 'fa fa-dashcube' => 'dashcube', 'fa fa-database' => 'database', 'fa fa-deaf' => 'deaf', 'fa fa-deafness' => 'deafness', 'fa fa-dedent' => 'dedent', 'fa fa-delicious' => 'delicious', 'fa fa-desktop' => 'desktop', 'fa fa-deviantart' => 'deviantart', 'fa fa-diamond' => 'diamond', 'fa fa-digg' => 'digg', 'fa fa-dollar' => 'dollar', 'fa fa-dot-circle-o' => 'dot-circle-o', 'fa fa-download' => 'download', 'fa fa-dribbble' => 'dribbble', 'fa fa-drivers-license' => 'drivers-license', 'fa fa-drivers-license-o' => 'drivers-license-o', 'fa fa-dropbox' => 'dropbox', 'fa fa-drupal' => 'drupal', 'fa fa-edge' => 'edge', 'fa fa-edit' => 'edit', 'fa fa-eercast' => 'eercast', 'fa fa-eject' => 'eject', 'fa fa-ellipsis-h' => 'ellipsis-h', 'fa fa-ellipsis-v' => 'ellipsis-v', 'fa fa-empire' => 'empire', 'fa fa-envelope' => 'envelope', 'fa fa-envelope-o' => 'envelope-o', 'fa fa-envelope-open' => 'envelope-open', 'fa fa-envelope-open-o' => 'envelope-open-o', 'fa fa-envelope-square' => 'envelope-square', 'fa fa-envira' => 'envira', 'fa fa-eraser' => 'eraser', 'fa fa-etsy' => 'etsy', 'fa fa-eur' => 'eur', 'fa fa-euro' => 'euro', 'fa fa-exchange' => 'exchange', 'fa fa-exclamation' => 'exclamation', 'fa fa-exclamation-circle' => 'exclamation-circle', 'fa fa-exclamation-triangle' => 'exclamation-triangle', 'fa fa-expand' => 'expand', 'fa fa-expeditedssl' => 'expeditedssl', 'fa fa-external-link' => 'external-link', 'fa fa-external-link-square' => 'external-link-square', 'fa fa-eye' => 'eye', 'fa fa-eye-slash' => 'eye-slash', 'fa fa-eyedropper' => 'eyedropper', 'fa fa-fa' => 'fa', 'fa fa-facebook' => 'facebook', 'fa fa-facebook-f' => 'facebook-f', 'fa fa-facebook-official' => 'facebook-official', 'fa fa-facebook-square' => 'facebook-square', 'fa fa-fast-backward' => 'fast-backward', 'fa fa-fast-forward' => 'fast-forward', 'fa fa-fax' => 'fax', 'fa fa-feed' => 'feed', 'fa fa-female' => 'female', 'fa fa-fighter-jet' => 'fighter-jet', 'fa fa-file' => 'file', 'fa fa-file-archive-o' => 'file-archive-o', 'fa fa-file-audio-o' => 'file-audio-o', 'fa fa-file-code-o' => 'file-code-o', 'fa fa-file-excel-o' => 'file-excel-o', 'fa fa-file-image-o' => 'file-image-o', 'fa fa-file-movie-o' => 'file-movie-o', 'fa fa-file-o' => 'file-o', 'fa fa-file-pdf-o' => 'file-pdf-o', 'fa fa-file-photo-o' => 'file-photo-o', 'fa fa-file-picture-o' => 'file-picture-o', 'fa fa-file-powerpoint-o' => 'file-powerpoint-o', 'fa fa-file-sound-o' => 'file-sound-o', 'fa fa-file-text' => 'file-text', 'fa fa-file-text-o' => 'file-text-o', 'fa fa-file-video-o' => 'file-video-o', 'fa fa-file-word-o' => 'file-word-o', 'fa fa-file-zip-o' => 'file-zip-o', 'fa fa-files-o' => 'files-o', 'fa fa-film' => 'film', 'fa fa-filter' => 'filter', 'fa fa-fire' => 'fire', 'fa fa-fire-extinguisher' => 'fire-extinguisher', 'fa fa-firefox' => 'firefox', 'fa fa-first-order' => 'first-order', 'fa fa-flag' => 'flag', 'fa fa-flag-checkered' => 'flag-checkered', 'fa fa-flag-o' => 'flag-o', 'fa fa-flash' => 'flash', 'fa fa-flask' => 'flask', 'fa fa-flickr' => 'flickr', 'fa fa-floppy-o' => 'floppy-o', 'fa fa-folder' => 'folder', 'fa fa-folder-o' => 'folder-o', 'fa fa-folder-open' => 'folder-open', 'fa fa-folder-open-o' => 'folder-open-o', 'fa fa-font' => 'font', 'fa fa-font-awesome' => 'font-awesome', 'fa fa-fonticons' => 'fonticons', 'fa fa-fort-awesome' => 'fort-awesome', 'fa fa-forumbee' => 'forumbee', 'fa fa-forward' => 'forward', 'fa fa-foursquare' => 'foursquare', 'fa fa-free-code-camp' => 'free-code-camp', 'fa fa-frown-o' => 'frown-o', 'fa fa-futbol-o' => 'futbol-o', 'fa fa-gamepad' => 'gamepad', 'fa fa-gavel' => 'gavel', 'fa fa-gbp' => 'gbp', 'fa fa-ge' => 'ge', 'fa fa-gear' => 'gear', 'fa fa-gears' => 'gears', 'fa fa-genderless' => 'genderless', 'fa fa-get-pocket' => 'get-pocket', 'fa fa-gg' => 'gg', 'fa fa-gg-circle' => 'gg-circle', 'fa fa-gift' => 'gift', 'fa fa-git' => 'git', 'fa fa-git-square' => 'git-square', 'fa fa-github' => 'github', 'fa fa-github-alt' => 'github-alt', 'fa fa-github-square' => 'github-square', 'fa fa-gitlab' => 'gitlab', 'fa fa-gittip' => 'gittip', 'fa fa-glass' => 'glass', 'fa fa-glide' => 'glide', 'fa fa-glide-g' => 'glide-g', 'fa fa-globe' => 'globe', 'fa fa-google' => 'google', 'fa fa-google-plus' => 'google-plus', 'fa fa-google-plus-circle' => 'google-plus-circle', 'fa fa-google-plus-official' => 'google-plus-official', 'fa fa-google-plus-square' => 'google-plus-square', 'fa fa-google-wallet' => 'google-wallet', 'fa fa-graduation-cap' => 'graduation-cap', 'fa fa-gratipay' => 'gratipay', 'fa fa-grav' => 'grav', 'fa fa-group' => 'group', 'fa fa-h-square' => 'h-square', 'fa fa-hacker-news' => 'hacker-news', 'fa fa-hand-grab-o' => 'hand-grab-o', 'fa fa-hand-lizard-o' => 'hand-lizard-o', 'fa fa-hand-o-down' => 'hand-o-down', 'fa fa-hand-o-left' => 'hand-o-left', 'fa fa-hand-o-right' => 'hand-o-right', 'fa fa-hand-o-up' => 'hand-o-up', 'fa fa-hand-paper-o' => 'hand-paper-o', 'fa fa-hand-peace-o' => 'hand-peace-o', 'fa fa-hand-pointer-o' => 'hand-pointer-o', 'fa fa-hand-rock-o' => 'hand-rock-o', 'fa fa-hand-scissors-o' => 'hand-scissors-o', 'fa fa-hand-spock-o' => 'hand-spock-o', 'fa fa-hand-stop-o' => 'hand-stop-o', 'fa fa-handshake-o' => 'handshake-o', 'fa fa-hard-of-hearing' => 'hard-of-hearing', 'fa fa-hashtag' => 'hashtag', 'fa fa-hdd-o' => 'hdd-o', 'fa fa-header' => 'header', 'fa fa-headphones' => 'headphones', 'fa fa-heart' => 'heart', 'fa fa-heart-o' => 'heart-o', 'fa fa-heartbeat' => 'heartbeat', 'fa fa-history' => 'history', 'fa fa-home' => 'home', 'fa fa-hospital-o' => 'hospital-o', 'fa fa-hotel' => 'hotel', 'fa fa-hourglass' => 'hourglass', 'fa fa-hourglass-1' => 'hourglass-1', 'fa fa-hourglass-2' => 'hourglass-2', 'fa fa-hourglass-3' => 'hourglass-3', 'fa fa-hourglass-end' => 'hourglass-end', 'fa fa-hourglass-half' => 'hourglass-half', 'fa fa-hourglass-o' => 'hourglass-o', 'fa fa-hourglass-start' => 'hourglass-start', 'fa fa-houzz' => 'houzz', 'fa fa-html5' => 'html5', 'fa fa-i-cursor' => 'i-cursor', 'fa fa-id-badge' => 'id-badge', 'fa fa-id-card' => 'id-card', 'fa fa-id-card-o' => 'id-card-o', 'fa fa-ils' => 'ils', 'fa fa-image' => 'image', 'fa fa-imdb' => 'imdb', 'fa fa-inbox' => 'inbox', 'fa fa-indent' => 'indent', 'fa fa-industry' => 'industry', 'fa fa-info' => 'info', 'fa fa-info-circle' => 'info-circle', 'fa fa-inr' => 'inr', 'fa fa-instagram' => 'instagram', 'fa fa-institution' => 'institution', 'fa fa-internet-explorer' => 'internet-explorer', 'fa fa-intersex' => 'intersex', 'fa fa-ioxhost' => 'ioxhost', 'fa fa-italic' => 'italic', 'fa fa-joomla' => 'joomla', 'fa fa-jpy' => 'jpy', 'fa fa-jsfiddle' => 'jsfiddle', 'fa fa-key' => 'key', 'fa fa-keyboard-o' => 'keyboard-o', 'fa fa-krw' => 'krw', 'fa fa-language' => 'language', 'fa fa-laptop' => 'laptop', 'fa fa-lastfm' => 'lastfm', 'fa fa-lastfm-square' => 'lastfm-square', 'fa fa-leaf' => 'leaf', 'fa fa-leanpub' => 'leanpub', 'fa fa-legal' => 'legal', 'fa fa-lemon-o' => 'lemon-o', 'fa fa-level-down' => 'level-down', 'fa fa-level-up' => 'level-up', 'fa fa-life-bouy' => 'life-bouy', 'fa fa-life-buoy' => 'life-buoy', 'fa fa-life-ring' => 'life-ring', 'fa fa-life-saver' => 'life-saver', 'fa fa-lightbulb-o' => 'lightbulb-o', 'fa fa-line-chart' => 'line-chart', 'fa fa-link' => 'link', 'fa fa-linkedin' => 'linkedin', 'fa fa-linkedin-square' => 'linkedin-square', 'fa fa-linode' => 'linode', 'fa fa-linux' => 'linux', 'fa fa-list' => 'list', 'fa fa-list-alt' => 'list-alt', 'fa fa-list-ol' => 'list-ol', 'fa fa-list-ul' => 'list-ul', 'fa fa-location-arrow' => 'location-arrow', 'fa fa-lock' => 'lock', 'fa fa-long-arrow-down' => 'long-arrow-down', 'fa fa-long-arrow-left' => 'long-arrow-left', 'fa fa-long-arrow-right' => 'long-arrow-right', 'fa fa-long-arrow-up' => 'long-arrow-up', 'fa fa-low-vision' => 'low-vision', 'fa fa-magic' => 'magic', 'fa fa-magnet' => 'magnet', 'fa fa-mail-forward' => 'mail-forward', 'fa fa-mail-reply' => 'mail-reply', 'fa fa-mail-reply-all' => 'mail-reply-all', 'fa fa-male' => 'male', 'fa fa-map' => 'map', 'fa fa-map-marker' => 'map-marker', 'fa fa-map-o' => 'map-o', 'fa fa-map-pin' => 'map-pin', 'fa fa-map-signs' => 'map-signs', 'fa fa-mars' => 'mars', 'fa fa-mars-double' => 'mars-double', 'fa fa-mars-stroke' => 'mars-stroke', 'fa fa-mars-stroke-h' => 'mars-stroke-h', 'fa fa-mars-stroke-v' => 'mars-stroke-v', 'fa fa-maxcdn' => 'maxcdn', 'fa fa-meanpath' => 'meanpath', 'fa fa-medium' => 'medium', 'fa fa-medkit' => 'medkit', 'fa fa-meetup' => 'meetup', 'fa fa-meh-o' => 'meh-o', 'fa fa-mercury' => 'mercury', 'fa fa-microchip' => 'microchip', 'fa fa-microphone' => 'microphone', 'fa fa-microphone-slash' => 'microphone-slash', 'fa fa-minus' => 'minus', 'fa fa-minus-circle' => 'minus-circle', 'fa fa-minus-square' => 'minus-square', 'fa fa-minus-square-o' => 'minus-square-o', 'fa fa-mixcloud' => 'mixcloud', 'fa fa-mobile' => 'mobile', 'fa fa-mobile-phone' => 'mobile-phone', 'fa fa-modx' => 'modx', 'fa fa-money' => 'money', 'fa fa-moon-o' => 'moon-o', 'fa fa-mortar-board' => 'mortar-board', 'fa fa-motorcycle' => 'motorcycle', 'fa fa-mouse-pointer' => 'mouse-pointer', 'fa fa-music' => 'music', 'fa fa-navicon' => 'navicon', 'fa fa-neuter' => 'neuter', 'fa fa-newspaper-o' => 'newspaper-o', 'fa fa-object-group' => 'object-group', 'fa fa-object-ungroup' => 'object-ungroup', 'fa fa-odnoklassniki' => 'odnoklassniki', 'fa fa-odnoklassniki-square' => 'odnoklassniki-square', 'fa fa-opencart' => 'opencart', 'fa fa-openid' => 'openid', 'fa fa-opera' => 'opera', 'fa fa-optin-monster' => 'optin-monster', 'fa fa-outdent' => 'outdent', 'fa fa-pagelines' => 'pagelines', 'fa fa-paint-brush' => 'paint-brush', 'fa fa-paper-plane' => 'paper-plane', 'fa fa-paper-plane-o' => 'paper-plane-o', 'fa fa-paperclip' => 'paperclip', 'fa fa-paragraph' => 'paragraph', 'fa fa-paste' => 'paste', 'fa fa-pause' => 'pause', 'fa fa-pause-circle' => 'pause-circle', 'fa fa-pause-circle-o' => 'pause-circle-o', 'fa fa-paw' => 'paw', 'fa fa-paypal' => 'paypal', 'fa fa-pencil' => 'pencil', 'fa fa-pencil-square' => 'pencil-square', 'fa fa-pencil-square-o' => 'pencil-square-o', 'fa fa-percent' => 'percent', 'fa fa-phone' => 'phone', 'fa fa-phone-square' => 'phone-square', 'fa fa-photo' => 'photo', 'fa fa-picture-o' => 'picture-o', 'fa fa-pie-chart' => 'pie-chart', 'fa fa-pied-piper' => 'pied-piper', 'fa fa-pied-piper-alt' => 'pied-piper-alt', 'fa fa-pied-piper-pp' => 'pied-piper-pp', 'fa fa-pinterest' => 'pinterest', 'fa fa-pinterest-p' => 'pinterest-p', 'fa fa-pinterest-square' => 'pinterest-square', 'fa fa-plane' => 'plane', 'fa fa-play' => 'play', 'fa fa-play-circle' => 'play-circle', 'fa fa-play-circle-o' => 'play-circle-o', 'fa fa-plug' => 'plug', 'fa fa-plus' => 'plus', 'fa fa-plus-circle' => 'plus-circle', 'fa fa-plus-square' => 'plus-square', 'fa fa-plus-square-o' => 'plus-square-o', 'fa fa-podcast' => 'podcast', 'fa fa-power-off' => 'power-off', 'fa fa-print' => 'print', 'fa fa-product-hunt' => 'product-hunt', 'fa fa-pull-left' => 'pull-left', 'fa fa-pull-right' => 'pull-right', 'fa fa-puzzle-piece' => 'puzzle-piece', 'fa fa-qq' => 'qq', 'fa fa-qrcode' => 'qrcode', 'fa fa-question' => 'question', 'fa fa-question-circle' => 'question-circle', 'fa fa-question-circle-o' => 'question-circle-o', 'fa fa-quora' => 'quora', 'fa fa-quote-left' => 'quote-left', 'fa fa-quote-right' => 'quote-right', 'fa fa-ra' => 'ra', 'fa fa-random' => 'random', 'fa fa-ravelry' => 'ravelry', 'fa fa-rebel' => 'rebel', 'fa fa-recycle' => 'recycle', 'fa fa-reddit' => 'reddit', 'fa fa-reddit-alien' => 'reddit-alien', 'fa fa-reddit-square' => 'reddit-square', 'fa fa-refresh' => 'refresh', 'fa fa-registered' => 'registered', 'fa fa-remove' => 'remove', 'fa fa-renren' => 'renren', 'fa fa-reorder' => 'reorder', 'fa fa-repeat' => 'repeat', 'fa fa-reply' => 'reply', 'fa fa-reply-all' => 'reply-all', 'fa fa-resistance' => 'resistance', 'fa fa-retweet' => 'retweet', 'fa fa-rmb' => 'rmb', 'fa fa-road' => 'road', 'fa fa-rocket' => 'rocket', 'fa fa-rotate-left' => 'rotate-left', 'fa fa-rotate-right' => 'rotate-right', 'fa fa-rouble' => 'rouble', 'fa fa-rss' => 'rss', 'fa fa-rss-square' => 'rss-square', 'fa fa-rub' => 'rub', 'fa fa-ruble' => 'ruble', 'fa fa-rupee' => 'rupee', 'fa fa-s15' => 's15', 'fa fa-safari' => 'safari', 'fa fa-save' => 'save', 'fa fa-scissors' => 'scissors', 'fa fa-scribd' => 'scribd', 'fa fa-search' => 'search', 'fa fa-search-minus' => 'search-minus', 'fa fa-search-plus' => 'search-plus', 'fa fa-sellsy' => 'sellsy', 'fa fa-send' => 'send', 'fa fa-send-o' => 'send-o', 'fa fa-server' => 'server', 'fa fa-share' => 'share', 'fa fa-share-alt' => 'share-alt', 'fa fa-share-alt-square' => 'share-alt-square', 'fa fa-share-square' => 'share-square', 'fa fa-share-square-o' => 'share-square-o', 'fa fa-shekel' => 'shekel', 'fa fa-sheqel' => 'sheqel', 'fa fa-shield' => 'shield', 'fa fa-ship' => 'ship', 'fa fa-shirtsinbulk' => 'shirtsinbulk', 'fa fa-shopping-bag' => 'shopping-bag', 'fa fa-shopping-basket' => 'shopping-basket', 'fa fa-shopping-cart' => 'shopping-cart', 'fa fa-shower' => 'shower', 'fa fa-sign-in' => 'sign-in', 'fa fa-sign-language' => 'sign-language', 'fa fa-sign-out' => 'sign-out', 'fa fa-signal' => 'signal', 'fa fa-signing' => 'signing', 'fa fa-simplybuilt' => 'simplybuilt', 'fa fa-sitemap' => 'sitemap', 'fa fa-skyatlas' => 'skyatlas', 'fa fa-skype' => 'skype', 'fa fa-slack' => 'slack', 'fa fa-sliders' => 'sliders', 'fa fa-slideshare' => 'slideshare', 'fa fa-smile-o' => 'smile-o', 'fa fa-snapchat' => 'snapchat', 'fa fa-snapchat-ghost' => 'snapchat-ghost', 'fa fa-snapchat-square' => 'snapchat-square', 'fa fa-snowflake-o' => 'snowflake-o', 'fa fa-soccer-ball-o' => 'soccer-ball-o', 'fa fa-sort' => 'sort', 'fa fa-sort-alpha-asc' => 'sort-alpha-asc', 'fa fa-sort-alpha-desc' => 'sort-alpha-desc', 'fa fa-sort-amount-asc' => 'sort-amount-asc', 'fa fa-sort-amount-desc' => 'sort-amount-desc', 'fa fa-sort-asc' => 'sort-asc', 'fa fa-sort-desc' => 'sort-desc', 'fa fa-sort-down' => 'sort-down', 'fa fa-sort-numeric-asc' => 'sort-numeric-asc', 'fa fa-sort-numeric-desc' => 'sort-numeric-desc', 'fa fa-sort-up' => 'sort-up', 'fa fa-soundcloud' => 'soundcloud', 'fa fa-space-shuttle' => 'space-shuttle', 'fa fa-spinner' => 'spinner', 'fa fa-spoon' => 'spoon', 'fa fa-spotify' => 'spotify', 'fa fa-square' => 'square', 'fa fa-square-o' => 'square-o', 'fa fa-stack-exchange' => 'stack-exchange', 'fa fa-stack-overflow' => 'stack-overflow', 'fa fa-star' => 'star', 'fa fa-star-half' => 'star-half', 'fa fa-star-half-empty' => 'star-half-empty', 'fa fa-star-half-full' => 'star-half-full', 'fa fa-star-half-o' => 'star-half-o', 'fa fa-star-o' => 'star-o', 'fa fa-steam' => 'steam', 'fa fa-steam-square' => 'steam-square', 'fa fa-step-backward' => 'step-backward', 'fa fa-step-forward' => 'step-forward', 'fa fa-stethoscope' => 'stethoscope', 'fa fa-sticky-note' => 'sticky-note', 'fa fa-sticky-note-o' => 'sticky-note-o', 'fa fa-stop' => 'stop', 'fa fa-stop-circle' => 'stop-circle', 'fa fa-stop-circle-o' => 'stop-circle-o', 'fa fa-street-view' => 'street-view', 'fa fa-strikethrough' => 'strikethrough', 'fa fa-stumbleupon' => 'stumbleupon', 'fa fa-stumbleupon-circle' => 'stumbleupon-circle', 'fa fa-subscript' => 'subscript', 'fa fa-subway' => 'subway', 'fa fa-suitcase' => 'suitcase', 'fa fa-sun-o' => 'sun-o', 'fa fa-superpowers' => 'superpowers', 'fa fa-superscript' => 'superscript', 'fa fa-support' => 'support', 'fa fa-table' => 'table', 'fa fa-tablet' => 'tablet', 'fa fa-tachometer' => 'tachometer', 'fa fa-tag' => 'tag', 'fa fa-tags' => 'tags', 'fa fa-tasks' => 'tasks', 'fa fa-taxi' => 'taxi', 'fa fa-telegram' => 'telegram', 'fa fa-television' => 'television', 'fa fa-tencent-weibo' => 'tencent-weibo', 'fa fa-terminal' => 'terminal', 'fa fa-text-height' => 'text-height', 'fa fa-text-width' => 'text-width', 'fa fa-th' => 'th', 'fa fa-th-large' => 'th-large', 'fa fa-th-list' => 'th-list', 'fa fa-themeisle' => 'themeisle', 'fa fa-thermometer' => 'thermometer', 'fa fa-thermometer-0' => 'thermometer-0', 'fa fa-thermometer-1' => 'thermometer-1', 'fa fa-thermometer-2' => 'thermometer-2', 'fa fa-thermometer-3' => 'thermometer-3', 'fa fa-thermometer-4' => 'thermometer-4', 'fa fa-thermometer-empty' => 'thermometer-empty', 'fa fa-thermometer-full' => 'thermometer-full', 'fa fa-thermometer-half' => 'thermometer-half', 'fa fa-thermometer-quarter' => 'thermometer-quarter', 'fa fa-thermometer-three-quarters' => 'thermometer-three-quarters', 'fa fa-thumb-tack' => 'thumb-tack', 'fa fa-thumbs-down' => 'thumbs-down', 'fa fa-thumbs-o-down' => 'thumbs-o-down', 'fa fa-thumbs-o-up' => 'thumbs-o-up', 'fa fa-thumbs-up' => 'thumbs-up', 'fa fa-ticket' => 'ticket', 'fa fa-times' => 'times', 'fa fa-times-circle' => 'times-circle', 'fa fa-times-circle-o' => 'times-circle-o', 'fa fa-times-rectangle' => 'times-rectangle', 'fa fa-times-rectangle-o' => 'times-rectangle-o', 'fa fa-tint' => 'tint', 'fa fa-toggle-down' => 'toggle-down', 'fa fa-toggle-left' => 'toggle-left', 'fa fa-toggle-off' => 'toggle-off', 'fa fa-toggle-on' => 'toggle-on', 'fa fa-toggle-right' => 'toggle-right', 'fa fa-toggle-up' => 'toggle-up', 'fa fa-trademark' => 'trademark', 'fa fa-train' => 'train', 'fa fa-transgender' => 'transgender', 'fa fa-transgender-alt' => 'transgender-alt', 'fa fa-trash' => 'trash', 'fa fa-trash-o' => 'trash-o', 'fa fa-tree' => 'tree', 'fa fa-trello' => 'trello', 'fa fa-tripadvisor' => 'tripadvisor', 'fa fa-trophy' => 'trophy', 'fa fa-truck' => 'truck', 'fa fa-try' => 'try', 'fa fa-tty' => 'tty', 'fa fa-tumblr' => 'tumblr', 'fa fa-tumblr-square' => 'tumblr-square', 'fa fa-turkish-lira' => 'turkish-lira', 'fa fa-tv' => 'tv', 'fa fa-twitch' => 'twitch', 'fa fa-twitter' => 'twitter', 'fa fa-twitter-square' => 'twitter-square', 'fa fa-umbrella' => 'umbrella', 'fa fa-underline' => 'underline', 'fa fa-undo' => 'undo', 'fa fa-universal-access' => 'universal-access', 'fa fa-university' => 'university', 'fa fa-unlink' => 'unlink', 'fa fa-unlock' => 'unlock', 'fa fa-unlock-alt' => 'unlock-alt', 'fa fa-unsorted' => 'unsorted', 'fa fa-upload' => 'upload', 'fa fa-usb' => 'usb', 'fa fa-usd' => 'usd', 'fa fa-user' => 'user', 'fa fa-user-circle' => 'user-circle', 'fa fa-user-circle-o' => 'user-circle-o', 'fa fa-user-md' => 'user-md', 'fa fa-user-o' => 'user-o', 'fa fa-user-plus' => 'user-plus', 'fa fa-user-secret' => 'user-secret', 'fa fa-user-times' => 'user-times', 'fa fa-users' => 'users', 'fa fa-vcard' => 'vcard', 'fa fa-vcard-o' => 'vcard-o', 'fa fa-venus' => 'venus', 'fa fa-venus-double' => 'venus-double', 'fa fa-venus-mars' => 'venus-mars', 'fa fa-viacoin' => 'viacoin', 'fa fa-viadeo' => 'viadeo', 'fa fa-viadeo-square' => 'viadeo-square', 'fa fa-video-camera' => 'video-camera', 'fa fa-vimeo' => 'vimeo', 'fa fa-vimeo-square' => 'vimeo-square', 'fa fa-vine' => 'vine', 'fa fa-vk' => 'vk', 'fa fa-volume-control-phone' => 'volume-control-phone', 'fa fa-volume-down' => 'volume-down', 'fa fa-volume-off' => 'volume-off', 'fa fa-volume-up' => 'volume-up', 'fa fa-warning' => 'warning', 'fa fa-wechat' => 'wechat', 'fa fa-weibo' => 'weibo', 'fa fa-weixin' => 'weixin', 'fa fa-whatsapp' => 'whatsapp', 'fa fa-wheelchair' => 'wheelchair', 'fa fa-wheelchair-alt' => 'wheelchair-alt', 'fa fa-wifi' => 'wifi', 'fa fa-wikipedia-w' => 'wikipedia-w', 'fa fa-window-close' => 'window-close', 'fa fa-window-close-o' => 'window-close-o', 'fa fa-window-maximize' => 'window-maximize', 'fa fa-window-minimize' => 'window-minimize', 'fa fa-window-restore' => 'window-restore', 'fa fa-windows' => 'windows', 'fa fa-won' => 'won', 'fa fa-wordpress' => 'wordpress', 'fa fa-wpbeginner' => 'wpbeginner', 'fa fa-wpexplorer' => 'wpexplorer', 'fa fa-wpforms' => 'wpforms', 'fa fa-wrench' => 'wrench', 'fa fa-xing' => 'xing', 'fa fa-xing-square' => 'xing-square', 'fa fa-y-combinator' => 'y-combinator', 'fa fa-y-combinator-square' => 'y-combinator-square', 'fa fa-yahoo' => 'yahoo', 'fa fa-yc' => 'yc', 'fa fa-yc-square' => 'yc-square', 'fa fa-yelp' => 'yelp', 'fa fa-yen' => 'yen', 'fa fa-yoast' => 'yoast', 'fa fa-youtube' => 'youtube', 'fa fa-youtube-play' => 'youtube-play', 'fa fa-youtube-square' => 'youtube-square', ]; } /** * Get icons control default settings. * * Retrieve the default settings of the icons control. Used to return the default * settings while initializing the icons control. * * @since 1.0.0 * @access protected * * @return array Control default settings. */ protected function get_default_settings() { return [ 'options' => self::get_icons(), 'include' => '', 'exclude' => '', ]; } /** * Render icons control output in the editor. * * Used to generate the control HTML in the editor using Underscore JS * template. The variables for the class are available using `data` JS * object. * * @since 1.0.0 * @access public */ public function content_template() { ?>
<# if ( data.description ) { #>
{{ data.description }}
<# } #>
<# if ( data.description ) { #>
{{{ data.description }}}
<# } #> true, 'scheme' => '', 'dynamic' => [ 'categories' => [ TagsModule::COLOR_CATEGORY, ], 'active' => true, ], 'global' => [ 'active' => true, ], ]; } } includes/controls/base-icon-font.php000064400000001164152377341010013537 0ustar00 true, 'picker_options' => [], ]; } /** * Render date time control output in the editor. * * Used to generate the control HTML in the editor using Underscore JS * template. The variables for the class are available using `data` JS * object. * * @since 1.0.0 * @access public */ public function content_template() { ?>
<# if ( data.description ) { #>
{{{ data.description }}}
<# } #>
<# var morePresets = getMorePresets(); if ( morePresets.length ) { #>
<# _.each( morePresets, function( preset ) { #>
{{{ preset.preset.join( ', ' ) }}}
<# } ); #>
<# } #>
<# if ( data.description ) { #>
{{{ data.description }}}
<# } #> 'none', 'label_block' => true, 'show_label' => false, ]; } } includes/controls/box-shadow.php000064400000006622152377341010013012 0ustar00 0, 'vertical' => 0, 'blur' => 10, 'spread' => 0, 'color' => 'rgba(0,0,0,0.5)', ]; } /** * Get box shadow control sliders. * * Retrieve the sliders of the box shadow control. Sliders are used while * rendering the control output in the editor. * * @since 1.0.0 * @access public * * @return array Control sliders. */ public function get_sliders() { return [ 'horizontal' => [ 'label' => esc_html__( 'Horizontal', 'elementor' ), 'min' => -100, 'max' => 100, ], 'vertical' => [ 'label' => esc_html__( 'Vertical', 'elementor' ), 'min' => -100, 'max' => 100, ], 'blur' => [ 'label' => esc_html__( 'Blur', 'elementor' ), 'min' => 0, 'max' => 100, ], 'spread' => [ 'label' => esc_html__( 'Spread', 'elementor' ), 'min' => -100, 'max' => 100, ], ]; } /** * Render box shadow control output in the editor. * * Used to generate the control HTML in the editor using Underscore JS * template. The variables for the class are available using `data` JS * object. * * @since 1.0.0 * @access public */ public function content_template() { ?>
get_sliders() as $slider_name => $slider ) : ?>
'', 'id' => '', ]; } /** * Import media images. * * Used to import media control files from external sites while importing * Elementor template JSON file, and replacing the old data. * * @since 1.0.0 * @access public * * @param array $settings Control settings * * @return array Control settings. */ public function on_import( $settings ) { if ( empty( $settings['url'] ) ) { return $settings; } $settings = Plugin::$instance->templates_manager->get_import_images_instance()->import( $settings ); if ( ! $settings ) { $settings = [ 'id' => '', 'url' => Utils::get_placeholder_image_src(), ]; } return $settings; } /** * Support SVG and JSON Import * * Called by the 'upload_mimes' filter. Adds SVG and JSON mime types to the list of WordPress' allowed mime types. * * @since 3.4.6 * @deprecated 3.5.0 * * @param $mimes * @return mixed */ public function support_svg_and_json_import( $mimes ) { Plugin::$instance->modules_manager->get_modules( 'dev-tools' )->deprecation->deprecated_function( __METHOD__, '3.5.0' ); return $mimes; } /** * Enqueue media control scripts and styles. * * Used to register and enqueue custom scripts and styles used by the media * control. * * @since 1.0.0 * @access public */ public function enqueue() { global $wp_version; $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min'; wp_enqueue_media(); wp_enqueue_style( 'media', admin_url( '/css/media' . $suffix . '.css' ), [], $wp_version ); wp_register_script( 'image-edit', '/wp-admin/js/image-edit' . $suffix . '.js', [ 'jquery', 'json2', 'imgareaselect', ], $wp_version, true ); wp_enqueue_script( 'image-edit' ); } /** * Render media control output in the editor. * * Used to generate the control HTML in the editor using Underscore JS * template. The variables for the class are available using `data` JS * object. * * @since 1.0.0 * @access public */ public function content_template() { ?> <# // For BC. if ( data.media_type ) { data.media_types = [ data.media_type ]; } if ( data.should_include_svg_inline_option ) { data.media_types.push( 'svg' ); } // Determine if the current media type is viewable. const isViewable = () => { const viewable = [ 'image', 'video', 'svg', ]; // Make sure that all media types are viewable. return data.media_types.every( ( type ) => viewable.includes( type ) ); }; // Get the preview type for the current media type. const getPreviewType = () => { if ( data.media_types.includes( 'video' ) ) { return 'video'; } if ( data.media_types.includes( 'image' ) || data.media_types.includes( 'svg' ) ) { return 'image'; } return 'none'; } // Retrieve a button label by media type. const getButtonLabel = ( mediaType ) => { switch( mediaType ) { case 'image': return ''; case 'video': return ''; case 'svg': return ''; default: return ''; } } #>
<# if ( isViewable() ) { let inputWrapperClasses = 'elementor-control-input-wrapper elementor-aspect-ratio-219'; if ( ! data.label_block ) { inputWrapperClasses += ' elementor-control-unit-5'; } #>
<# switch( getPreviewType() ) { case 'image': #>
<# break; case 'video': #> <# break; } #>
<# data.media_types.forEach( ( type ) => { #>
{{{ getButtonLabel( type ) }}}
<# } ); #>
<# } /* endif isViewable() */ else { #>
<# } #> <# if ( data.description ) { #>
{{{ data.description }}}
<# } #>
true, 'media_types' => [ 'image', ], 'dynamic' => [ 'categories' => [ TagsModule::IMAGE_CATEGORY ], 'returnType' => 'object', ], ]; } /** * Get media control image title. * * Retrieve the `title` of the image selected by the media control. * * @since 1.0.0 * @access public * @static * * @param array $attachment Media attachment. * * @return string Image title. */ public static function get_image_title( $attachment ) { if ( empty( $attachment['id'] ) ) { return ''; } return get_the_title( $attachment['id'] ); } /** * Get media control image alt. * * Retrieve the `alt` value of the image selected by the media control. * * @since 1.0.0 * @access public * @static * * @param array $instance Media attachment. * * @return string Image alt. */ public static function get_image_alt( $instance ) { if ( empty( $instance['id'] ) ) { // For `Insert From URL` images. return isset( $instance['alt'] ) ? trim( strip_tags( $instance['alt'] ) ) : ''; } $attachment_id = $instance['id']; if ( ! $attachment_id ) { return ''; } $attachment = get_post( $attachment_id ); if ( ! $attachment ) { return ''; } $alt = get_post_meta( $attachment_id, '_wp_attachment_image_alt', true ); if ( ! $alt ) { $alt = $attachment->post_excerpt; if ( ! $alt ) { $alt = $attachment->post_title; } } return trim( strip_tags( $alt ) ); } } includes/controls/base-ui.php000064400000001004152377341010012251 0ustar00get_default_value(); if ( '' !== $default_value ) { $this->set_settings( 'default_value', $default_value ); } } /** * Get data control default value. * * Retrieve the default value of the data control. Used to return the default * values while initializing the data control. * * @since 1.5.0 * @access public * * @return string Control default value. */ public function get_default_value() { return ''; } /** * Get data control value. * * Retrieve the value of the data control from a specific Controls_Stack settings. * * @since 1.5.0 * @access public * * @param array $control Control * @param array $settings Element settings * * @return mixed Control values. */ public function get_value( $control, $settings ) { if ( ! isset( $control['default'] ) ) { $control['default'] = $this->get_default_value(); } if ( isset( $settings[ $control['name'] ] ) ) { $value = $settings[ $control['name'] ]; } else { $value = $control['default']; } return $value; } /** * Parse dynamic tags. * * Iterates through all the controls and renders all the dynamic tags. * * @since 2.0.0 * @access public * * @param string $dynamic_value The dynamic tag text. * @param array $dynamic_settings The dynamic tag settings. * * @return string|string[]|mixed A string or an array of strings with the * return value from each tag callback function. */ public function parse_tags( $dynamic_value, $dynamic_settings ) { $current_dynamic_settings = $this->get_settings( 'dynamic' ); if ( is_array( $current_dynamic_settings ) ) { $dynamic_settings = array_merge( $current_dynamic_settings, $dynamic_settings ); } return Plugin::$instance->dynamic_tags->parse_tags_text( $dynamic_value, $dynamic_settings, [ Plugin::$instance->dynamic_tags, 'get_tag_data_content' ] ); } /** * Get data control style value. * * Retrieve the style of the control. Used when adding CSS rules to the control * while extracting CSS from the `selectors` data argument. * * @since 1.5.0 * @since 2.3.3 New `$control_data` parameter added. * @access public * * @param string $css_property CSS property. * @param string $control_value Control value. * @param array $control_data Control Data. * * @return string Control style value. */ public function get_style_value( $css_property, $control_value, array $control_data ) { if ( 'DEFAULT' === $css_property ) { return $control_data['default']; } return $control_value; } /** * Get data control unique ID. * * Retrieve the unique ID of the control. Used to set a uniq CSS ID for the * element. * * @since 1.5.0 * @access protected * * @param string $input_type Input type. Default is 'default'. * * @return string Unique ID. */ protected function get_control_uid( $input_type = 'default' ) { return 'elementor-control-' . $input_type . '-{{{ data._cid }}}'; } /** * Safe Print data control unique ID. * * Retrieve the unique ID of the control. Used to set a unique CSS ID for the * element. * * @access protected * * @param string $input_type Input type. Default is 'default'. */ protected function print_control_uid( $input_type = 'default' ) { echo esc_attr( $this->get_control_uid( $input_type ) ); } } includes/controls/text.php000064400000004054152377341010011720 0ustar00
<# if ( data.label ) {#> <# } #>
<# if ( data.description ) { #>
{{{ data.description }}}
<# } #> 'text', 'placeholder' => '', 'title' => '', 'dynamic' => [ 'categories' => [ TagsModule::TEXT_CATEGORY, ], ], ]; } } includes/controls/dimensions.php000064400000011344152377341010013104 0ustar00 '', 'right' => '', 'bottom' => '', 'left' => '', 'isLinked' => true, ] ); } /** * Get dimensions control default settings. * * Retrieve the default settings of the dimensions control. Used to return the * default settings while initializing the dimensions control. * * @since 1.0.0 * @access protected * * @return array Control default settings. */ protected function get_default_settings() { return array_merge( parent::get_default_settings(), [ 'label_block' => true, 'allowed_dimensions' => 'all', 'placeholder' => '', ] ); } /** * Render dimensions control output in the editor. * * Used to generate the control HTML in the editor using Underscore JS * template. The variables for the class are available using `data` JS * object. * * @since 1.0.0 * @access public */ public function content_template() { $dimensions = [ 'top' => esc_html__( 'Top', 'elementor' ), 'right' => esc_html__( 'Right', 'elementor' ), 'bottom' => esc_html__( 'Bottom', 'elementor' ), 'left' => esc_html__( 'Left', 'elementor' ), ]; ?>
print_units_template(); ?>
    $dimension_title ) : ?>
  • ' ) ) { #> disabled <# } #> />
<# if ( data.description ) { #>
{{{ data.description }}}
<# } #> 'Grow', 'shrink' => 'Shrink', 'pulse' => 'Pulse', 'pulse-grow' => 'Pulse Grow', 'pulse-shrink' => 'Pulse Shrink', 'push' => 'Push', 'pop' => 'Pop', 'bounce-in' => 'Bounce In', 'bounce-out' => 'Bounce Out', 'rotate' => 'Rotate', 'grow-rotate' => 'Grow Rotate', 'float' => 'Float', 'sink' => 'Sink', 'bob' => 'Bob', 'hang' => 'Hang', 'skew' => 'Skew', 'skew-forward' => 'Skew Forward', 'skew-backward' => 'Skew Backward', 'wobble-vertical' => 'Wobble Vertical', 'wobble-horizontal' => 'Wobble Horizontal', 'wobble-to-bottom-right' => 'Wobble To Bottom Right', 'wobble-to-top-right' => 'Wobble To Top Right', 'wobble-top' => 'Wobble Top', 'wobble-bottom' => 'Wobble Bottom', 'wobble-skew' => 'Wobble Skew', 'buzz' => 'Buzz', 'buzz-out' => 'Buzz Out', ]; $additional_animations = []; /** * Hover animations. * * Filters the animations list displayed in the hover animations control. * * This hook can be used to register new animations in addition to the * basic Elementor hover animations. * * @since 2.4.0 * * @param array $additional_animations Additional animations array. */ $additional_animations = apply_filters( 'elementor/controls/hover_animations/additional_animations', $additional_animations ); self::$_animations = array_merge( self::$_animations, $additional_animations ); } return self::$_animations; } /** * Render hover animation control output in the editor. * * Used to generate the control HTML in the editor using Underscore JS * template. The variables for the class are available using `data` JS * object. * * @since 1.0.0 * @access public */ public function content_template() { ?>
<# if ( data.description ) { #>
{{{ data.description }}}
<# } #> true, ]; } public static function get_assets( $setting ) { if ( ! $setting || 'none' === $setting ) { return []; } return [ 'styles' => [ 'e-animations' ], ]; } } includes/controls/deprecated-notice.php000064400000004430152377341010014311 0ustar00 <# if ( data.label ) { #> {{{ data.label }}} <# } let notice = wp.i18n.sprintf( wp.i18n.__( 'The %1$s widget has been deprecated since %2$s %3$s.', 'elementor' ), data.widget, data.plugin, data.since ); if ( data.replacement ) { notice += '
' + wp.i18n.sprintf( wp.i18n.__( 'It has been replaced by %1$s.', 'elementor' ), data.replacement ); } if ( data.last ) { notice += '
' + wp.i18n.sprintf( wp.i18n.__( 'Note that %1$s will be completely removed once %2$s %3$s is released.', 'elementor' ), data.widget, data.plugin, data.last ); } #>
{{{ notice }}}
'', // Widgets name 'since' => '', // Plugin version widget was deprecated 'last' => '', // Plugin version in which the widget will be removed 'plugin' => '', // Plugin's title 'replacement' => '', // Widget replacement ]; } } includes/controls/base-units.php000064400000004354152377341010013011 0ustar00 'px', ]; } /** * Get units control default settings. * * Retrieve the default settings of the units control. Used to return the default * settings while initializing the units control. * * @since 1.0.0 * @access protected * * @return array Control default settings. */ protected function get_default_settings() { return [ 'size_units' => [ 'px' ], 'range' => [ 'px' => [ 'min' => 0, 'max' => 100, 'step' => 1, ], 'em' => [ 'min' => 0.1, 'max' => 10, 'step' => 0.1, ], 'rem' => [ 'min' => 0.1, 'max' => 10, 'step' => 0.1, ], '%' => [ 'min' => 0, 'max' => 100, 'step' => 1, ], 'deg' => [ 'min' => 0, 'max' => 360, 'step' => 1, ], 'vh' => [ 'min' => 0, 'max' => 100, 'step' => 1, ], 'vw' => [ 'min' => 0, 'max' => 100, 'step' => 1, ], ], ]; } /** * Print units control settings. * * Used to generate the units control template in the editor. * * @since 1.0.0 * @access protected */ protected function print_units_template() { ?> <# if ( data.size_units && data.size_units.length > 1 ) { #>
<# _.each( data.size_units, function( unit ) { #> <# } ); #>
<# } #> value` array. * * @since 1.0.0 * @abstract */ abstract class Control_Base_Multiple extends Base_Data_Control { /** * Get multiple control default value. * * Retrieve the default value of the multiple control. Used to return the default * values while initializing the multiple control. * * @since 1.0.0 * @access public * * @return array Control default value. */ public function get_default_value() { return []; } /** * Get multiple control value. * * Retrieve the value of the multiple control from a specific Controls_Stack settings. * * @since 1.0.0 * @access public * * @param array $control Control * @param array $settings Settings * * @return mixed Control values. */ public function get_value( $control, $settings ) { $value = parent::get_value( $control, $settings ); if ( empty( $control['default'] ) ) { $control['default'] = []; } if ( ! is_array( $value ) ) { $value = []; } $control['default'] = array_merge( $this->get_default_value(), $control['default'] ); return array_merge( $control['default'], $value ); } /** * Get multiple control style value. * * Retrieve the style of the control. Used when adding CSS rules to the control * while extracting CSS from the `selectors` data argument. * * @since 1.0.5 * @since 2.3.3 New `$control_data` parameter added. * @access public * * @param string $css_property CSS property. * @param array $control_value Control value. * @param array $control_data Control Data. * * @return array Control style value. */ public function get_style_value( $css_property, $control_value, array $control_data ) { return $control_value[ strtolower( $css_property ) ]; } } includes/controls/font.php000064400000004335152377341010011704 0ustar00 Fonts::get_font_groups(), 'options' => Fonts::get_fonts(), ]; } /** * Render font control output in the editor. * * Used to generate the control HTML in the editor using Underscore JS * template. The variables for the class are available using `data` JS * object. * * @since 1.0.0 * @access public */ public function content_template() { ?>
<# if ( data.description ) { #>
{{{ data.description }}}
<# } #> true, ]; } /** * Render heading control output in the editor. * * Used to generate the control HTML in the editor using Underscore JS * template. The variables for the class are available using `data` JS * object. * * @since 1.0.0 * @access public */ public function content_template() { ?>

{{{ data.label }}}

'', 'library' => '', ]; } /** * Render Icons control output in the editor. * * Used to generate the control HTML in the editor using Underscore JS * template. The variables for the class are available using `data` JS * object. * * @since 2.6.0 * @access public */ public function content_template() { ?> <# if ( 'inline' === data.skin ) { #> render_inline_skin(); ?> <# } else { #> render_media_skin(); ?> <# } #>
<# if ( data.description ) { #>
{{{ data.description }}}
<# } #>
<# const defaultSkinSettings = { none: { label: '', icon: 'eicon-ban', }, svg: { label: '', icon: 'eicon-upload', }, icon: { label: '', icon: 'eicon-circle', } }; const skinSettings = data.skin_settings.inline; const get = ( type, key ) => { if ( skinSettings[ type ] ) { return skinSettings[ type ]?.[ key ] || defaultSkinSettings[ type ][ key ]; } return defaultSkinSettings[ type ][ key ]; } #>
<# if ( ! data.exclude_inline_options.includes( 'svg' ) ) { #> <# } if ( ! data.exclude_inline_options.includes( 'icon' ) ) { #> <# } #>
<# if ( data.description ) { #>
{{{ data.description }}}
<# } #> true, 'dynamic' => [ 'categories' => [ TagsModule::IMAGE_CATEGORY ], 'returnType' => 'object', ], 'search_bar' => true, 'recommended' => false, 'skin' => 'media', 'exclude_inline_options' => [], 'disable_initial_active_state' => false, 'skin_settings' => [ 'inline' => [ 'none' => [ 'label' => esc_html__( 'None', 'elementor' ), 'icon' => 'eicon-ban', ], 'svg' => [ 'label' => esc_html__( 'Upload SVG', 'elementor' ), 'icon' => 'eicon-upload', ], 'icon' => [ 'label' => esc_html__( 'Icon Library', 'elementor' ), 'icon' => 'eicon-circle', ], ], ], ]; } /** * Support SVG Import * * @deprecated 3.5.0 * * @param $mimes * @return mixed */ public function support_svg_import( $mimes ) { Plugin::$instance->modules_manager->get_modules( 'dev-tools' )->deprecation->deprecated_function( __METHOD__, '3.5.0' ); $mimes['svg'] = 'image/svg+xml'; return $mimes; } public function on_import( $settings ) { if ( empty( $settings['library'] ) || 'svg' !== $settings['library'] || empty( $settings['value']['url'] ) ) { return $settings; } $imported = Plugin::$instance->templates_manager->get_import_images_instance()->import( $settings['value'] ); if ( ! $imported ) { $settings['value'] = ''; $settings['library'] = ''; } else { $settings['value'] = $imported; } return $settings; } } includes/controls/hidden.php000064400000001664152377341010012173 0ustar00 true, 'language' => 'html', // html/css 'rows' => 10, 'dynamic' => [ 'categories' => [ TagsModule::TEXT_CATEGORY ], ], ]; } /** * Render code control output in the editor. * * Used to generate the control HTML in the editor using Underscore JS * template. The variables for the class are available using `data` JS * object. * * @since 1.0.0 * @access public */ public function content_template() { ?>
<# if ( data.description ) { #>
{{{ data.description }}}
<# } #> transient_key ); if ( false === $beta_version ) { $beta_version = 'false'; $response = wp_remote_get( 'https://plugins.svn.wordpress.org/elementor/trunk/readme.txt' ); if ( ! is_wp_error( $response ) && ! empty( $response['body'] ) ) { preg_match( '/Beta tag: (.*)/i', $response['body'], $matches ); if ( isset( $matches[1] ) ) { $beta_version = $matches[1]; } } set_site_transient( $this->transient_key, $beta_version, 6 * HOUR_IN_SECONDS ); } return $beta_version; } /** * Check version. * * Checks whether a beta version exist, and retrieve the version data. * * Fired by `pre_set_site_transient_update_plugins` filter, before WordPress * runs the plugin update checker. * * @since 1.5.0 * @access public * * @param array $transient Plugin version data. * * @return array Plugin version data. */ public function check_version( $transient ) { if ( empty( $transient->checked ) ) { return $transient; } delete_site_transient( $this->transient_key ); $plugin_slug = basename( ELEMENTOR__FILE__, '.php' ); $beta_version = $this->get_beta_version(); if ( 'false' !== $beta_version && version_compare( $beta_version, ELEMENTOR_VERSION, '>' ) ) { $response = new \stdClass(); $response->plugin = $plugin_slug; $response->slug = $plugin_slug; $response->new_version = $beta_version; $response->url = 'https://elementor.com/'; $response->package = sprintf( 'https://downloads.wordpress.org/plugin/elementor.%s.zip', $beta_version ); $transient->response[ ELEMENTOR_PLUGIN_BASE ] = $response; } return $transient; } /** * Beta testers constructor. * * Initializing Elementor beta testers. * * @since 1.5.0 * @access public */ public function __construct() { if ( 'yes' !== get_option( 'elementor_beta', 'no' ) ) { return; } $this->transient_key = md5( 'elementor_beta_testers_response_key' ); add_filter( 'pre_set_site_transient_update_plugins', [ $this, 'check_version' ] ); } } includes/maintenance.php000064400000004142152377341010011351 0ustar00 'ids' ] ) ); return; } static::create_default_kit(); set_transient( 'elementor_activation_redirect', true, MINUTE_IN_SECONDS ); } /** * Uninstall Elementor. * * Set Elementor uninstallation hook. * * Fired by `register_uninstall_hook` when the plugin is uninstalled. * * @since 1.0.0 * @access public * @static */ public static function uninstall() { wp_clear_scheduled_hook( 'elementor/tracker/send_event' ); } /** * Init. * * Initialize Elementor Maintenance. * * @since 1.0.0 * @access public * @static */ public static function init() { register_activation_hook( ELEMENTOR_PLUGIN_BASE, [ __CLASS__, 'activation' ] ); register_uninstall_hook( ELEMENTOR_PLUGIN_BASE, [ __CLASS__, 'uninstall' ] ); add_action( 'wpmu_new_blog', function ( $site_id ) { if ( ! is_plugin_active_for_network( ELEMENTOR_PLUGIN_BASE ) ) { return; } static::create_default_kit( [ $site_id ] ); } ); } /** * @param array $site_ids */ private static function create_default_kit( array $site_ids = [] ) { if ( ! empty( $site_ids ) ) { foreach ( $site_ids as $site_id ) { switch_to_blog( $site_id ); Manager::create_default_kit(); restore_current_blog(); }; return; } Manager::create_default_kit(); } } includes/template-library/sources/base.php000064400000020720152377341010014741 0ustar00register_data(); } /** * Mark template as favorite. * * Update user meta containing his favorite templates. For a given template * ID, add the template to the favorite templates or remove it from the * favorites, based on the `favorite` parameter. * * @since 1.9.0 * @access public * * @param int $template_id The template ID. * @param bool $favorite Optional. Whether the template is marked as * favorite, or not. Default is true. * * @return int|bool User meta ID if the key didn't exist, true on successful * update, false on failure. */ public function mark_as_favorite( $template_id, $favorite = true ) { $favorites_templates = $this->get_user_meta( 'favorites' ); if ( ! $favorites_templates ) { $favorites_templates = []; } if ( $favorite ) { $favorites_templates[ $template_id ] = $favorite; } elseif ( isset( $favorites_templates[ $template_id ] ) ) { unset( $favorites_templates[ $template_id ] ); } return $this->update_user_meta( 'favorites', $favorites_templates ); } /** * Get current user meta. * * Retrieve Elementor meta data for the current user. * * @since 1.9.0 * @access public * * @param string $item Optional. User meta key. Default is null. * * @return null|array An array of user meta data, or null otherwise. */ public function get_user_meta( $item = null ) { if ( null === $this->user_meta ) { $this->user_meta = get_user_meta( get_current_user_id(), $this->get_user_meta_prefix(), true ); } if ( ! $this->user_meta ) { $this->user_meta = []; } if ( $item ) { if ( isset( $this->user_meta[ $item ] ) ) { return $this->user_meta[ $item ]; } return null; } return $this->user_meta; } /** * Update current user meta. * * Update user meta data based on meta key an value. * * @since 1.9.0 * @access public * * @param string $key Optional. User meta key. * @param mixed $value Optional. User meta value. * * @return int|bool User meta ID if the key didn't exist, true on successful * update, false on failure. */ public function update_user_meta( $key, $value ) { $meta = $this->get_user_meta(); $meta[ $key ] = $value; $this->user_meta = $meta; return update_user_meta( get_current_user_id(), $this->get_user_meta_prefix(), $meta ); } /** * Replace elements IDs. * * For any given Elementor content/data, replace the IDs with new randomly * generated IDs. * * @since 1.0.0 * @access protected * * @param array $content Any type of Elementor data. * * @return mixed Iterated data. */ protected function replace_elements_ids( $content ) { return Plugin::$instance->db->iterate_data( $content, function( $element ) { $element['id'] = Utils::generate_random_string(); return $element; } ); } /** * Get Elementor library user meta prefix. * * Retrieve user meta prefix used to save Elementor data. * * @since 1.9.0 * @access protected * * @return string User meta prefix. */ protected function get_user_meta_prefix() { return 'elementor_library_' . $this->get_id(); } /** * Process content for export/import. * * Process the content and all the inner elements, and prepare all the * elements data for export/import. * * @since 1.5.0 * @access protected * * @param array $content A set of elements. * @param string $method Accepts either `on_export` to export data or * `on_import` to import data. * * @return mixed Processed content data. */ protected function process_export_import_content( $content, $method ) { return Plugin::$instance->db->iterate_data( $content, function( $element_data ) use ( $method ) { $element = Plugin::$instance->elements_manager->create_element_instance( $element_data ); // If the widget/element isn't exist, like a plugin that creates a widget but deactivated if ( ! $element ) { return null; } return $this->process_element_export_import_content( $element, $method ); } ); } /** * Process single element content for export/import. * * Process any given element and prepare the element data for export/import. * * @since 1.5.0 * @access protected * * @param Controls_Stack $element * @param string $method * * @return array Processed element data. */ protected function process_element_export_import_content( Controls_Stack $element, $method ) { $element_data = $element->get_data(); if ( method_exists( $element, $method ) ) { // TODO: Use the internal element data without parameters. $element_data = $element->{$method}( $element_data ); } foreach ( $element->get_controls() as $control ) { $control_class = Plugin::$instance->controls_manager->get_control( $control['type'] ); // If the control isn't exist, like a plugin that creates the control but deactivated. if ( ! $control_class ) { return $element_data; } if ( method_exists( $control_class, $method ) ) { $element_data['settings'][ $control['name'] ] = $control_class->{$method}( $element->get_settings( $control['name'] ), $control ); } // On Export, check if the control has an argument 'export' => false. if ( 'on_export' === $method && isset( $control['export'] ) && false === $control['export'] ) { unset( $element_data['settings'][ $control['name'] ] ); } } return $element_data; } } includes/template-library/sources/remote.php000064400000013556152377341010015333 0ustar00prepare_template( $template_data ); } } return $templates; } /** * Get remote template. * * Retrieve a single remote template from Elementor.com servers. * * @since 1.0.0 * @access public * * @param int $template_id The template ID. * * @return array Remote template. */ public function get_item( $template_id ) { $templates = $this->get_items(); return $templates[ $template_id ]; } /** * Save remote template. * * Remote template from Elementor.com servers cannot be saved on the * database as they are retrieved from remote servers. * * @since 1.0.0 * @access public * * @param array $template_data Remote template data. * * @return \WP_Error */ public function save_item( $template_data ) { return new \WP_Error( 'invalid_request', 'Cannot save template to a remote source' ); } /** * Update remote template. * * Remote template from Elementor.com servers cannot be updated on the * database as they are retrieved from remote servers. * * @since 1.0.0 * @access public * * @param array $new_data New template data. * * @return \WP_Error */ public function update_item( $new_data ) { return new \WP_Error( 'invalid_request', 'Cannot update template to a remote source' ); } /** * Delete remote template. * * Remote template from Elementor.com servers cannot be deleted from the * database as they are retrieved from remote servers. * * @since 1.0.0 * @access public * * @param int $template_id The template ID. * * @return \WP_Error */ public function delete_template( $template_id ) { return new \WP_Error( 'invalid_request', 'Cannot delete template from a remote source' ); } /** * Export remote template. * * Remote template from Elementor.com servers cannot be exported from the * database as they are retrieved from remote servers. * * @since 1.0.0 * @access public * * @param int $template_id The template ID. * * @return \WP_Error */ public function export_template( $template_id ) { return new \WP_Error( 'invalid_request', 'Cannot export template from a remote source' ); } /** * Get remote template data. * * Retrieve the data of a single remote template from Elementor.com servers. * * @since 1.5.0 * @access public * * @param array $args Custom template arguments. * @param string $context Optional. The context. Default is `display`. * * @return array|\WP_Error Remote Template data. */ public function get_data( array $args, $context = 'display' ) { $data = Api::get_template_content( $args['template_id'] ); if ( is_wp_error( $data ) ) { return $data; } // Set the Request's state as an Elementor upload request, in order to support unfiltered file uploads. Plugin::$instance->uploads_manager->set_elementor_upload_state( true ); // BC. $data = (array) $data; $data['content'] = $this->replace_elements_ids( $data['content'] ); $data['content'] = $this->process_export_import_content( $data['content'], 'on_import' ); $post_id = $args['editor_post_id']; $document = Plugin::$instance->documents->get( $post_id ); if ( $document ) { $data['content'] = $document->get_elements_raw_data( $data['content'], true ); } // After the upload complete, set the elementor upload state back to false Plugin::$instance->uploads_manager->set_elementor_upload_state( false ); return $data; } /** * @since 2.2.0 * @access private */ private function prepare_template( array $template_data ) { $favorite_templates = $this->get_user_meta( 'favorites' ); return [ 'template_id' => $template_data['id'], 'source' => $this->get_id(), 'type' => $template_data['type'], 'subtype' => $template_data['subtype'], 'title' => $template_data['title'], 'thumbnail' => $template_data['thumbnail'], 'date' => $template_data['tmpl_created'], 'author' => $template_data['author'], 'tags' => json_decode( $template_data['tags'] ), 'isPro' => ( '1' === $template_data['is_pro'] ), 'accessLevel' => $template_data['access_level'], 'popularityIndex' => (int) $template_data['popularity_index'], 'trendIndex' => (int) $template_data['trend_index'], 'hasPageSettings' => ( '1' === $template_data['has_page_settings'] ), 'url' => $template_data['url'], 'favorite' => ! empty( $favorite_templates[ $template_data['id'] ] ), ]; } } includes/template-library/sources/local.php000064400000133105152377341010015123 0ustar00base && self::CPT === $current_screen->post_type; } /** * Add template type. * * Register new template type to the list of supported local template types. * * @since 1.0.3 * @access public * @static * * @param string $type Template type. */ public static function add_template_type( $type ) { self::$template_types[ $type ] = $type; } /** * Remove template type. * * Remove existing template type from the list of supported local template * types. * * @since 1.8.0 * @access public * @static * * @param string $type Template type. */ public static function remove_template_type( $type ) { if ( isset( self::$template_types[ $type ] ) ) { unset( self::$template_types[ $type ] ); } } public static function get_admin_url( $relative = false ) { $base_url = self::ADMIN_MENU_SLUG; if ( ! $relative ) { $base_url = admin_url( $base_url ); } return add_query_arg( 'tabs_group', 'library', $base_url ); } /** * Get local template ID. * * Retrieve the local template ID. * * @since 1.0.0 * @access public * * @return string The local template ID. */ public function get_id() { return 'local'; } /** * Get local template title. * * Retrieve the local template title. * * @since 1.0.0 * @access public * * @return string The local template title. */ public function get_title() { return esc_html__( 'Local', 'elementor' ); } /** * Register local template data. * * Used to register custom template data like a post type, a taxonomy or any * other data. * * The local template class registers a new `elementor_library` post type * and an `elementor_library_type` taxonomy. They are used to store data for * local templates saved by the user on his site. * * @since 1.0.0 * @access public */ public function register_data() { $admin_menu_rearrangement_active = Plugin::$instance->experiments->is_feature_active( 'admin_menu_rearrangement' ); if ( $admin_menu_rearrangement_active ) { $name = _x( 'Templates', 'Template Library', 'elementor' ); } else { $name = _x( 'My Templates', 'Template Library', 'elementor' ); } $labels = [ 'name' => $name, 'singular_name' => _x( 'Template', 'Template Library', 'elementor' ), 'add_new' => _x( 'Add New', 'Template Library', 'elementor' ), 'add_new_item' => _x( 'Add New Template', 'Template Library', 'elementor' ), 'edit_item' => _x( 'Edit Template', 'Template Library', 'elementor' ), 'new_item' => _x( 'New Template', 'Template Library', 'elementor' ), 'all_items' => _x( 'All Templates', 'Template Library', 'elementor' ), 'view_item' => _x( 'View Template', 'Template Library', 'elementor' ), 'search_items' => _x( 'Search Template', 'Template Library', 'elementor' ), 'not_found' => _x( 'No Templates found', 'Template Library', 'elementor' ), 'not_found_in_trash' => _x( 'No Templates found in Trash', 'Template Library', 'elementor' ), 'parent_item_colon' => '', 'menu_name' => _x( 'Templates', 'Template Library', 'elementor' ), ]; $args = [ 'labels' => $labels, 'public' => true, 'rewrite' => false, 'menu_icon' => 'dashicons-admin-page', 'show_ui' => true, 'show_in_menu' => ! $admin_menu_rearrangement_active, 'show_in_nav_menus' => false, 'exclude_from_search' => true, 'capability_type' => 'post', 'hierarchical' => false, 'supports' => [ 'title', 'thumbnail', 'author', 'elementor' ], ]; /** * Register template library post type args. * * Filters the post type arguments when registering elementor template library post type. * * @since 1.0.0 * * @param array $args Arguments for registering a post type. */ $args = apply_filters( 'elementor/template_library/sources/local/register_post_type_args', $args ); $this->post_type_object = register_post_type( self::CPT, $args ); $args = [ 'hierarchical' => false, 'show_ui' => false, 'show_in_nav_menus' => false, 'show_admin_column' => true, 'query_var' => is_admin(), 'rewrite' => false, 'public' => false, 'label' => _x( 'Type', 'Template Library', 'elementor' ), ]; /** * Register template library taxonomy args. * * Filters the taxonomy arguments when registering elementor template library taxonomy. * * @since 1.0.0 * * @param array $args Arguments for registering a taxonomy. */ $args = apply_filters( 'elementor/template_library/sources/local/register_taxonomy_args', $args ); $cpts_to_associate = [ self::CPT ]; /** * Custom post types to associate. * * Filters the list of custom post types when registering elementor template library taxonomy. * * @since 1.0.0 * * @param array $cpts_to_associate Custom post types. Default is `elementor_library` post type. */ $cpts_to_associate = apply_filters( 'elementor/template_library/sources/local/register_taxonomy_cpts', $cpts_to_associate ); register_taxonomy( self::TAXONOMY_TYPE_SLUG, $cpts_to_associate, $args ); /** * Categories */ $args = [ 'hierarchical' => true, 'show_ui' => true, 'show_in_nav_menus' => false, 'show_admin_column' => true, 'query_var' => is_admin(), 'rewrite' => false, 'public' => false, 'labels' => [ 'name' => _x( 'Categories', 'Template Library', 'elementor' ), 'singular_name' => _x( 'Category', 'Template Library', 'elementor' ), 'all_items' => _x( 'All Categories', 'Template Library', 'elementor' ), ], ]; /** * Register template library category args. * * Filters the category arguments when registering elementor template library category. * * @since 2.4.0 * * @param array $args Arguments for registering a category. */ $args = apply_filters( 'elementor/template_library/sources/local/register_category_args', $args ); register_taxonomy( self::TAXONOMY_CATEGORY_SLUG, self::CPT, $args ); } /** * Remove Add New item from admin menu. * * Fired by `admin_menu` action. * * @since 2.4.0 * @access public */ public function admin_menu_reorder() { global $submenu; if ( ! isset( $submenu[ self::ADMIN_MENU_SLUG ] ) ) { return; } $library_submenu = &$submenu[ self::ADMIN_MENU_SLUG ]; // Remove 'All Templates' menu. unset( $library_submenu[5] ); // If current use can 'Add New' - move the menu to end, and add the '#add_new' anchor. if ( isset( $library_submenu[10][2] ) ) { $library_submenu[700] = $library_submenu[10]; unset( $library_submenu[10] ); $library_submenu[700][2] = admin_url( self::ADMIN_MENU_SLUG . '#add_new' ); } // Move the 'Categories' menu to end. if ( isset( $library_submenu[15] ) ) { $library_submenu[800] = $library_submenu[15]; unset( $library_submenu[15] ); } if ( $this->is_current_screen() ) { $library_title = $this->get_library_title(); foreach ( $library_submenu as &$item ) { if ( $library_title === $item[0] ) { if ( ! isset( $item[4] ) ) { $item[4] = ''; } $item[4] .= ' current'; } } } } public function admin_menu() { add_submenu_page( self::ADMIN_MENU_SLUG, '', esc_html__( 'Saved Templates', 'elementor' ), Editor::EDITING_CAPABILITY, self::get_admin_url( true ) ); } public function admin_title( $admin_title, $title ) { $library_title = $this->get_library_title(); if ( $library_title ) { $admin_title = str_replace( $title, $library_title, $admin_title ); } return $admin_title; } public function replace_admin_heading() { $library_title = $this->get_library_title(); if ( $library_title ) { global $post_type_object; $post_type_object->labels->name = $library_title; } } /** * Get local templates. * * Retrieve local templates saved by the user on his site. * * @since 1.0.0 * @access public * * @param array $args Optional. Filter templates based on a set of * arguments. Default is an empty array. * * @return array Local templates. */ public function get_items( $args = [] ) { $template_types = array_values( self::$template_types ); if ( ! empty( $args['type'] ) ) { $template_types = $args['type']; unset( $args['type'] ); } $defaults = [ 'post_type' => self::CPT, 'post_status' => 'publish', 'posts_per_page' => -1, 'orderby' => 'title', 'order' => 'ASC', 'meta_query' => [ [ 'key' => Document::TYPE_META_KEY, 'value' => $template_types, ], ], ]; $query_args = wp_parse_args( $args, $defaults ); $templates_query = new \WP_Query( $query_args ); $templates = []; if ( $templates_query->have_posts() ) { foreach ( $templates_query->get_posts() as $post ) { $templates[] = $this->get_item( $post->ID ); } } return $templates; } /** * Save local template. * * Save new or update existing template on the database. * * @since 1.0.0 * @access public * * @param array $template_data Local template data. * * @return \WP_Error|int The ID of the saved/updated template, `WP_Error` otherwise. */ public function save_item( $template_data ) { if ( ! current_user_can( $this->post_type_object->cap->edit_posts ) ) { return new \WP_Error( 'save_error', esc_html__( 'Access denied.', 'elementor' ) ); } $defaults = [ 'title' => esc_html__( '(no title)', 'elementor' ), 'page_settings' => [], 'status' => current_user_can( 'publish_posts' ) ? 'publish' : 'pending', ]; $template_data = wp_parse_args( $template_data, $defaults ); $document = Plugin::$instance->documents->create( $template_data['type'], [ 'post_title' => $template_data['title'], 'post_status' => $template_data['status'], ] ); if ( is_wp_error( $document ) ) { /** * @var \WP_Error $document */ return $document; } if ( ! empty( $template_data['content'] ) ) { $template_data['content'] = $this->replace_elements_ids( $template_data['content'] ); } $document->save( [ 'elements' => $template_data['content'], 'settings' => $template_data['page_settings'], ] ); $template_id = $document->get_main_id(); /** * After template library save. * * Fires after Elementor template library was saved. * * @since 1.0.1 * * @param int $template_id The ID of the template. * @param array $template_data The template data. */ do_action( 'elementor/template-library/after_save_template', $template_id, $template_data ); /** * After template library update. * * Fires after Elementor template library was updated. * * @since 1.0.1 * * @param int $template_id The ID of the template. * @param array $template_data The template data. */ do_action( 'elementor/template-library/after_update_template', $template_id, $template_data ); return $template_id; } /** * Update local template. * * Update template on the database. * * @since 1.0.0 * @access public * * @param array $new_data New template data. * * @return \WP_Error|true True if template updated, `WP_Error` otherwise. */ public function update_item( $new_data ) { if ( ! current_user_can( $this->post_type_object->cap->edit_post, $new_data['id'] ) ) { return new \WP_Error( 'save_error', esc_html__( 'Access denied.', 'elementor' ) ); } $document = Plugin::$instance->documents->get( $new_data['id'] ); if ( ! $document ) { return new \WP_Error( 'save_error', esc_html__( 'Template not exist.', 'elementor' ) ); } $document->save( [ 'elements' => $new_data['content'], ] ); /** * After template library update. * * Fires after Elementor template library was updated. * * @since 1.0.0 * * @param int $new_data_id The ID of the new template. * @param array $new_data The new template data. */ do_action( 'elementor/template-library/after_update_template', $new_data['id'], $new_data ); return true; } /** * Get local template. * * Retrieve a single local template saved by the user on his site. * * @since 1.0.0 * @access public * * @param int $template_id The template ID. * * @return array Local template. */ public function get_item( $template_id ) { $post = get_post( $template_id ); $user = get_user_by( 'id', $post->post_author ); $page = SettingsManager::get_settings_managers( 'page' )->get_model( $template_id ); $page_settings = $page->get_data( 'settings' ); $date = strtotime( $post->post_date ); $data = [ 'template_id' => $post->ID, 'source' => $this->get_id(), 'type' => self::get_template_type( $post->ID ), 'title' => $post->post_title, 'thumbnail' => get_the_post_thumbnail_url( $post ), 'date' => $date, 'human_date' => date_i18n( get_option( 'date_format' ), $date ), 'human_modified_date' => date_i18n( get_option( 'date_format' ), strtotime( $post->post_modified ) ), 'author' => $user->display_name, 'status' => $post->post_status, 'hasPageSettings' => ! empty( $page_settings ), 'tags' => [], 'export_link' => $this->get_export_link( $template_id ), 'url' => get_permalink( $post->ID ), ]; /** * Get template library template. * * Filters the template data when retrieving a single template from the * template library. * * @since 1.0.0 * * @param array $data Template data. */ $data = apply_filters( 'elementor/template-library/get_template', $data ); return $data; } /** * Get template data. * * Retrieve the data of a single local template saved by the user on his site. * * @since 1.5.0 * @access public * * @param array $args Custom template arguments. * * @return array Local template data. */ public function get_data( array $args ) { $template_id = $args['template_id']; $document = Plugin::$instance->documents->get( $template_id ); $content = []; if ( $document ) { // TODO: Validate the data (in JS too!). if ( ! empty( $args['display'] ) ) { $content = $document->get_elements_raw_data( null, true ); } else { $content = $document->get_elements_data(); } if ( ! empty( $content ) ) { $content = $this->replace_elements_ids( $content ); } } $data = [ 'content' => $content, ]; if ( ! empty( $args['with_page_settings'] ) ) { $page = SettingsManager::get_settings_managers( 'page' )->get_model( $args['template_id'] ); $data['page_settings'] = $page->get_data( 'settings' ); } return $data; } /** * Delete local template. * * Delete template from the database. * * @since 1.0.0 * @access public * * @param int $template_id The template ID. * * @return \WP_Post|\WP_Error|false|null Post data on success, false or null * or 'WP_Error' on failure. */ public function delete_template( $template_id ) { if ( ! current_user_can( $this->post_type_object->cap->delete_post, $template_id ) ) { return new \WP_Error( 'template_error', esc_html__( 'Access denied.', 'elementor' ) ); } return wp_delete_post( $template_id, true ); } /** * Export local template. * * Export template to a file. * * @since 1.0.0 * @access public * * @param int $template_id The template ID. * * @return \WP_Error WordPress error if template export failed. */ public function export_template( $template_id ) { $file_data = $this->prepare_template_export( $template_id ); if ( is_wp_error( $file_data ) ) { return $file_data; } $this->send_file_headers( $file_data['name'], strlen( $file_data['content'] ) ); // Clear buffering just in case. @ob_end_clean(); flush(); // Output file contents. // PHPCS - Export widget json echo $file_data['content']; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped die; } /** * Export multiple local templates. * * Export multiple template to a ZIP file. * * @since 1.6.0 * @access public * * @param array $template_ids An array of template IDs. * * @return \WP_Error WordPress error if export failed. */ public function export_multiple_templates( array $template_ids ) { $files = []; $wp_upload_dir = wp_upload_dir(); $temp_path = $wp_upload_dir['basedir'] . '/' . self::TEMP_FILES_DIR; // Create temp path if it doesn't exist wp_mkdir_p( $temp_path ); // Create all json files foreach ( $template_ids as $template_id ) { $file_data = $this->prepare_template_export( $template_id ); if ( is_wp_error( $file_data ) ) { continue; } $complete_path = $temp_path . '/' . $file_data['name']; $put_contents = file_put_contents( $complete_path, $file_data['content'] ); if ( ! $put_contents ) { return new \WP_Error( '404', sprintf( 'Cannot create file "%s".', $file_data['name'] ) ); } $files[] = [ 'path' => $complete_path, 'name' => $file_data['name'], ]; } if ( ! $files ) { return new \WP_Error( 'empty_files', 'There is no files to export (probably all the requested templates are empty).' ); } // Create temporary .zip file $zip_archive_filename = 'elementor-templates-' . gmdate( 'Y-m-d' ) . '.zip'; $zip_archive = new \ZipArchive(); $zip_complete_path = $temp_path . '/' . $zip_archive_filename; $zip_archive->open( $zip_complete_path, \ZipArchive::CREATE ); foreach ( $files as $file ) { $zip_archive->addFile( $file['path'], $file['name'] ); } $zip_archive->close(); foreach ( $files as $file ) { unlink( $file['path'] ); } $this->send_file_headers( $zip_archive_filename, filesize( $zip_complete_path ) ); @ob_end_flush(); @readfile( $zip_complete_path ); unlink( $zip_complete_path ); die; } /** * Import local template. * * Import template from a file. * * @since 1.0.0 * @access public * * @param string $name - The file name * @param string $path - The file path * @return \WP_Error|array An array of items on success, 'WP_Error' on failure. */ public function import_template( $name, $path ) { if ( empty( $path ) ) { return new \WP_Error( 'file_error', 'Please upload a file to import' ); } // Set the Request's state as an Elementor upload request, in order to support unfiltered file uploads. Plugin::$instance->uploads_manager->set_elementor_upload_state( true ); $items = []; // If the import file is a Zip file with potentially multiple JSON files if ( 'zip' === pathinfo( $name, PATHINFO_EXTENSION ) ) { $extracted_files = Plugin::$instance->uploads_manager->extract_and_validate_zip( $path, [ 'json' ] ); if ( is_wp_error( $extracted_files ) ) { // Delete the temporary extraction directory, since it's now not necessary. Plugin::$instance->uploads_manager->remove_file_or_dir( $extracted_files['extraction_directory'] ); return $extracted_files; } foreach ( $extracted_files['files'] as $file_path ) { $import_result = $this->import_single_template( $file_path ); if ( is_wp_error( $import_result ) ) { // Delete the temporary extraction directory, since it's now not necessary. Plugin::$instance->uploads_manager->remove_file_or_dir( $extracted_files['extraction_directory'] ); return $import_result; } $items[] = $import_result; } // Delete the temporary extraction directory, since it's now not necessary. Plugin::$instance->uploads_manager->remove_file_or_dir( $extracted_files['extraction_directory'] ); } else { // If the import file is a single JSON file $import_result = $this->import_single_template( $path ); if ( is_wp_error( $import_result ) ) { return $import_result; } $items[] = $import_result; } return $items; } /** * Post row actions. * * Add an export link to the template library action links table list. * * Fired by `post_row_actions` filter. * * @since 1.0.0 * @access public * * @param array $actions An array of row action links. * @param \WP_Post $post The post object. * * @return array An updated array of row action links. */ public function post_row_actions( $actions, \WP_Post $post ) { if ( self::is_base_templates_screen() ) { if ( $this->is_template_supports_export( $post->ID ) ) { $actions['export-template'] = sprintf( '%2$s', $this->get_export_link( $post->ID ), esc_html__( 'Export Template', 'elementor' ) ); } } return $actions; } /** * Admin import template form. * * The import form displayed in "My Library" screen in WordPress dashboard. * * The form allows the user to import template in json/zip format to the site. * * Fired by `admin_footer` action. * * @since 1.0.0 * @access public */ public function admin_import_template_form() { if ( ! self::is_base_templates_screen() ) { return; } /** @var \Elementor\Core\Common\Modules\Ajax\Module $ajax */ $ajax = Plugin::$instance->common->get_component( 'ajax' ); ?>
post_type && isset( $post_states['elementor'] ) ) { unset( $post_states['elementor'] ); } return $post_states; } /** * Get template export link. * * Retrieve the link used to export a single template based on the template * ID. * * @since 2.0.0 * @access private * * @param int $template_id The template ID. * * @return string Template export URL. */ private function get_export_link( $template_id ) { // TODO: BC since 2.3.0 - Use `$ajax->create_nonce()` /** @var \Elementor\Core\Common\Modules\Ajax\Module $ajax */ // $ajax = Plugin::$instance->common->get_component( 'ajax' ); return add_query_arg( [ 'action' => 'elementor_library_direct_actions', 'library_action' => 'export_template', 'source' => $this->get_id(), '_nonce' => wp_create_nonce( 'elementor_ajax' ), 'template_id' => $template_id, ], admin_url( 'admin-ajax.php' ) ); } /** * On template save. * * Run this method when template is being saved. * * Fired by `save_post` action. * * @since 1.0.1 * @access public * * @param int $post_id Post ID. * @param \WP_Post $post The current post object. */ public function on_save_post( $post_id, \WP_Post $post ) { if ( self::CPT !== $post->post_type ) { return; } if ( self::get_template_type( $post_id ) ) { // It's already with a type return; } // Don't save type on import, the importer will do it. if ( did_action( 'import_start' ) ) { return; } $this->save_item_type( $post_id, 'page' ); } /** * Save item type. * * When saving/updating templates, this method is used to update the post * meta data and the taxonomy. * * @since 1.0.1 * @access private * * @param int $post_id Post ID. * @param string $type Item type. */ private function save_item_type( $post_id, $type ) { update_post_meta( $post_id, Document::TYPE_META_KEY, $type ); wp_set_object_terms( $post_id, $type, self::TAXONOMY_TYPE_SLUG ); } /** * Bulk export action. * * Adds an 'Export' action to the Bulk Actions drop-down in the template * library. * * Fired by `bulk_actions-edit-elementor_library` filter. * * @since 1.6.0 * @access public * * @param array $actions An array of the available bulk actions. * * @return array An array of the available bulk actions. */ public function admin_add_bulk_export_action( $actions ) { $actions[ self::BULK_EXPORT_ACTION ] = esc_html__( 'Export', 'elementor' ); return $actions; } /** * Add bulk export action. * * Handles the template library bulk export action. * * Fired by `handle_bulk_actions-edit-elementor_library` filter. * * @since 1.6.0 * @access public * * @param string $redirect_to The redirect URL. * @param string $action The action being taken. * @param array $post_ids The items to take the action on. */ public function admin_export_multiple_templates( $redirect_to, $action, $post_ids ) { if ( self::BULK_EXPORT_ACTION === $action ) { $result = $this->export_multiple_templates( $post_ids ); // If you reach this line, the export failed // PHPCS - Not user input. wp_die( $result->get_error_message() ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } } /** * Print admin tabs. * * Used to output the template library tabs with their labels. * * Fired by `views_edit-elementor_library` filter. * * @since 2.0.0 * @access public * * @param array $views An array of available list table views. * * @return array An updated array of available list table views. */ public function admin_print_tabs( $views ) { $current_type = ''; $active_class = ' nav-tab-active'; $current_tabs_group = $this->get_current_tab_group(); if ( ! empty( $_REQUEST[ self::TAXONOMY_TYPE_SLUG ] ) ) { $current_type = $_REQUEST[ self::TAXONOMY_TYPE_SLUG ]; $active_class = ''; } $url_args = [ 'post_type' => self::CPT, 'tabs_group' => $current_tabs_group, ]; $baseurl = add_query_arg( $url_args, admin_url( 'edit.php' ) ); $filter = [ 'admin_tab_group' => $current_tabs_group, ]; $operator = 'and'; if ( empty( $current_tabs_group ) ) { // Don't include 'not-supported' or other templates that don't set their `admin_tab_group`. $operator = 'NOT'; } $doc_types = Plugin::$instance->documents->get_document_types( $filter, $operator ); if ( 1 >= count( $doc_types ) ) { return $views; } ?> self::CPT, 'post_type' => get_query_var( 'elementor_library_type' ), ] ); if ( $args['cpt'] !== $post_type || 'bottom' !== $which ) { return; } global $wp_list_table; $total_items = $wp_list_table->get_pagination_arg( 'total_items' ); if ( ! empty( $total_items ) || ! empty( $_REQUEST['s'] ) ) { return; } $current_type = $args['post_type']; $document_types = Plugin::instance()->documents->get_document_types(); if ( empty( $document_types[ $current_type ] ) ) { return; } // TODO: Better way to exclude widget type. if ( 'widget' === $current_type ) { return; } // TODO: This code maybe unreachable see if above `if ( empty( $document_types[ $current_type ] ) )`. if ( empty( $current_type ) ) { $counts = (array) wp_count_posts( self::CPT ); unset( $counts['auto-draft'] ); $count = array_sum( $counts ); if ( 0 < $count ) { return; } $current_type = 'template'; $args['additional_inline_style'] = '#elementor-template-library-tabs-wrapper {display: none;}'; } $this->render_blank_state( $current_type, $args ); } private function render_blank_state( $current_type, array $args = [] ) { $current_type_label = $this->get_template_label_by_type( $current_type ); $inline_style = '#posts-filter .wp-list-table, #posts-filter .tablenav.top, .tablenav.bottom .actions, .wrap .subsubsub { display:none;}'; $args = wp_parse_args( $args, [ 'additional_inline_style' => '', 'href' => '', 'description' => esc_html__( 'Add templates and reuse them across your website. Easily export and import them to any other project, for an optimized workflow.', 'elementor' ), ] ); $inline_style .= $args['additional_inline_style']; ?>
print_blank_state_template( $current_type_label, $args['href'], $args['description'] ); ?>
labels->all_items; $dropdown_options = array( 'show_option_all' => $all_items, 'show_option_none' => $all_items, 'hide_empty' => 0, 'hierarchical' => 1, 'show_count' => 0, 'orderby' => 'name', 'value_field' => 'slug', 'taxonomy' => self::TAXONOMY_CATEGORY_SLUG, 'name' => self::TAXONOMY_CATEGORY_SLUG, 'selected' => empty( $_GET[ self::TAXONOMY_CATEGORY_SLUG ] ) ? '' : $_GET[ self::TAXONOMY_CATEGORY_SLUG ], ); echo ''; wp_dropdown_categories( $dropdown_options ); } /** * Import single template. * * Import template from a file to the database. * * @since 1.6.0 * @access private * * @param string $file_path File name. * * @return \WP_Error|int|array Local template array, or template ID, or * `WP_Error`. */ private function import_single_template( $file_path ) { $data = json_decode( Utils::file_get_contents( $file_path ), true ); if ( empty( $data ) ) { return new \WP_Error( 'file_error', 'Invalid File' ); } $content = $data['content']; if ( ! is_array( $content ) ) { return new \WP_Error( 'file_error', 'Invalid Content In File' ); } $content = $this->process_export_import_content( $content, 'on_import' ); $page_settings = []; if ( ! empty( $data['page_settings'] ) ) { $page = new Model( [ 'id' => 0, 'settings' => $data['page_settings'], ] ); $page_settings_data = $this->process_element_export_import_content( $page, 'on_import' ); if ( ! empty( $page_settings_data['settings'] ) ) { $page_settings = $page_settings_data['settings']; } } $template_id = $this->save_item( [ 'content' => $content, 'title' => $data['title'], 'type' => $data['type'], 'page_settings' => $page_settings, ] ); // Remove the temporary file, now that we're done with it. Plugin::$instance->uploads_manager->remove_file_or_dir( $file_path ); if ( is_wp_error( $template_id ) ) { return $template_id; } return $this->get_item( $template_id ); } /** * Prepare template to export. * * Retrieve the relevant template data and return them as an array. * * @since 1.6.0 * @access private * * @param int $template_id The template ID. * * @return \WP_Error|array Exported template data. */ private function prepare_template_export( $template_id ) { $document = Plugin::$instance->documents->get( $template_id ); $template_data = $document->get_export_data(); if ( empty( $template_data['content'] ) ) { return new \WP_Error( 'empty_template', 'The template is empty' ); } $export_data = [ 'content' => $template_data['content'], 'page_settings' => $template_data['settings'], 'version' => DB::DB_VERSION, 'title' => $document->get_main_post()->post_title, 'type' => self::get_template_type( $template_id ), ]; return [ 'name' => 'elementor-' . $template_id . '-' . gmdate( 'Y-m-d' ) . '.json', 'content' => wp_json_encode( $export_data ), ]; } /** * Send file headers. * * Set the file header when export template data to a file. * * @since 1.6.0 * @access private * * @param string $file_name File name. * @param int $file_size File size. */ private function send_file_headers( $file_name, $file_size ) { header( 'Content-Type: application/octet-stream' ); header( 'Content-Disposition: attachment; filename=' . $file_name ); header( 'Expires: 0' ); header( 'Cache-Control: must-revalidate' ); header( 'Pragma: public' ); header( 'Content-Length: ' . $file_size ); } /** * Get template label by type. * * Retrieve the template label for any given template type. * * @since 2.0.0 * @access private * * @param string $template_type Template type. * * @return string Template label. */ private function get_template_label_by_type( $template_type ) { $document_types = Plugin::instance()->documents->get_document_types(); if ( isset( $document_types[ $template_type ] ) ) { $template_label = call_user_func( [ $document_types[ $template_type ], 'get_title' ] ); } else { $template_label = ucwords( str_replace( [ '_', '-' ], ' ', $template_type ) ); } /** * Template label by template type. * * Filters the template label by template type in the template library . * * @since 2.0.0 * * @param string $template_label Template label. * @param string $template_type Template type. */ $template_label = apply_filters( 'elementor/template-library/get_template_label_by_type', $template_label, $template_type ); return $template_label; } /** * Filter template types in admin query. * * Update the template types in the main admin query. * * Fired by `parse_query` action. * * @since 2.4.0 * @access public * * @param \WP_Query $query The `WP_Query` instance. */ public function admin_query_filter_types( \WP_Query $query ) { if ( ! $this->is_current_screen() || ! empty( $query->query_vars['meta_key'] ) ) { return; } $current_tabs_group = $this->get_current_tab_group(); if ( isset( $query->query_vars[ self::TAXONOMY_CATEGORY_SLUG ] ) && '-1' === $query->query_vars[ self::TAXONOMY_CATEGORY_SLUG ] ) { unset( $query->query_vars[ self::TAXONOMY_CATEGORY_SLUG ] ); } if ( empty( $current_tabs_group ) ) { return; } $doc_types = Plugin::$instance->documents->get_document_types( [ 'admin_tab_group' => $current_tabs_group, ] ); $query->query_vars['meta_key'] = Document::TYPE_META_KEY; $query->query_vars['meta_value'] = array_keys( $doc_types ); } /** * Add template library actions. * * Register filters and actions for the template library. * * @since 2.0.0 * @access private */ private function add_actions() { if ( is_admin() ) { add_action( 'admin_menu', [ $this, 'admin_menu' ] ); add_action( 'admin_menu', [ $this, 'admin_menu_reorder' ], 800 ); add_filter( 'admin_title', [ $this, 'admin_title' ], 10, 2 ); add_action( 'all_admin_notices', [ $this, 'replace_admin_heading' ] ); add_filter( 'post_row_actions', [ $this, 'post_row_actions' ], 10, 2 ); add_action( 'admin_footer', [ $this, 'admin_import_template_form' ] ); add_action( 'save_post', [ $this, 'on_save_post' ], 10, 2 ); add_filter( 'display_post_states', [ $this, 'remove_elementor_post_state_from_library' ], 11, 2 ); add_action( 'parse_query', [ $this, 'admin_query_filter_types' ] ); // Template filter by category. add_action( 'restrict_manage_posts', [ $this, 'add_filter_by_category' ] ); // Template type column. add_action( 'manage_' . self::CPT . '_posts_columns', [ $this, 'admin_columns_headers' ] ); add_action( 'manage_' . self::CPT . '_posts_custom_column', [ $this, 'admin_columns_content' ], 10, 2 ); // Template library bulk actions. add_filter( 'bulk_actions-edit-elementor_library', [ $this, 'admin_add_bulk_export_action' ] ); add_filter( 'handle_bulk_actions-edit-elementor_library', [ $this, 'admin_export_multiple_templates' ], 10, 3 ); // Print template library tabs. add_filter( 'views_edit-' . self::CPT, [ $this, 'admin_print_tabs' ] ); // Show blank state. add_action( 'manage_posts_extra_tablenav', [ $this, 'maybe_render_blank_state' ] ); } add_action( 'template_redirect', [ $this, 'block_template_frontend' ] ); // Remove elementor library templates from WP Sitemap add_filter( 'wp_sitemaps_post_types', function( $post_types ) { return $this->remove_elementor_cpt_from_sitemap( $post_types ); } ); } /** * @since 2.0.6 * @access public */ public function admin_columns_content( $column_name, $post_id ) { if ( 'elementor_library_type' === $column_name ) { /** @var Document $document */ $document = Plugin::$instance->documents->get( $post_id ); if ( $document && $document instanceof Library_Document ) { $document->print_admin_column_type(); } } } /** * @since 2.0.6 * @access public */ public function admin_columns_headers( $posts_columns ) { // Replace original column that bind to the taxonomy - with another column. unset( $posts_columns['taxonomy-elementor_library_type'] ); $offset = 2; $posts_columns = array_slice( $posts_columns, 0, $offset, true ) + [ 'elementor_library_type' => esc_html__( 'Type', 'elementor' ), ] + array_slice( $posts_columns, $offset, null, true ); return $posts_columns; } public function get_current_tab_group( $default = '' ) { $current_tabs_group = $default; if ( ! empty( $_REQUEST[ self::TAXONOMY_TYPE_SLUG ] ) ) { $doc_type = Plugin::$instance->documents->get_document_type( $_REQUEST[ self::TAXONOMY_TYPE_SLUG ], '' ); if ( $doc_type ) { $current_tabs_group = $doc_type::get_property( 'admin_tab_group' ); } } elseif ( ! empty( $_REQUEST['tabs_group'] ) ) { $current_tabs_group = $_REQUEST['tabs_group']; } return $current_tabs_group; } private function get_library_title() { $title = ''; if ( $this->is_current_screen() ) { $current_tab_group = $this->get_current_tab_group(); if ( $current_tab_group ) { $titles = [ 'library' => esc_html__( 'Saved Templates', 'elementor' ), 'theme' => esc_html__( 'Theme Builder', 'elementor' ), 'popup' => esc_html__( 'Popups', 'elementor' ), ]; if ( ! empty( $titles[ $current_tab_group ] ) ) { $title = $titles[ $current_tab_group ]; } } } return $title; } private function is_current_screen() { global $pagenow, $typenow; return 'edit.php' === $pagenow && self::CPT === $typenow; } /** * @param array $post_types * * @return array */ private function remove_elementor_cpt_from_sitemap( array $post_types ) { unset( $post_types[ self::CPT ] ); return $post_types; } /** * Template library local source constructor. * * Initializing the template library local source base by registering custom * template data and running custom actions. * * @since 1.0.0 * @access public */ public function __construct() { parent::__construct(); $this->add_actions(); } } includes/template-library/classes/class-import-images.php000064400000013075152377341010017666 0ustar00_replace_image_ids[ $attachment['id'] ] ) ) { return $this->_replace_image_ids[ $attachment['id'] ]; } $post_id = $wpdb->get_var( $wpdb->prepare( 'SELECT `post_id` FROM `' . $wpdb->postmeta . '` WHERE `meta_key` = \'_elementor_source_image_hash\' AND `meta_value` = %s ;', $this->get_hash_image( $attachment['url'] ) ) ); if ( $post_id ) { $new_attachment = [ 'id' => $post_id, 'url' => wp_get_attachment_url( $post_id ), ]; $this->_replace_image_ids[ $attachment['id'] ] = $new_attachment; return $new_attachment; } return false; } /** * Import image. * * Import a single image from a remote server, upload the image WordPress * uploads folder, create a new attachment in the database and updates the * attachment metadata. * * @since 1.0.0 * @since 3.2.0 New `$parent_post_id` option added * @access public * * @param array $attachment The attachment. * @param int $parent_post_id Optional * * @return false|array Imported image data, or false. */ public function import( $attachment, $parent_post_id = null ) { if ( isset( $attachment['tmp_name'] ) ) { // Used when called to import a directly-uploaded file. $filename = $attachment['name']; $file_content = Utils::file_get_contents( $attachment['tmp_name'] ); } else { // Used when attachment information is passed to this method. if ( ! empty( $attachment['id'] ) ) { $saved_image = $this->get_saved_image( $attachment ); if ( $saved_image ) { return $saved_image; } } // Extract the file name and extension from the url. $filename = basename( $attachment['url'] ); $request = wp_safe_remote_get( $attachment['url'] ); // Make sure the request returns a valid result. if ( is_wp_error( $request ) || ( ! empty( $request['response']['code'] ) && 200 !== (int) $request['response']['code'] ) ) { return false; } $file_content = wp_remote_retrieve_body( $request ); } if ( empty( $file_content ) ) { return false; } $filetype = wp_check_filetype( $filename ); // If the file type is not recognized by WordPress, exit here to avoid creation of an empty attachment document. if ( ! $filetype['ext'] ) { return false; } if ( 'svg' === $filetype['ext'] ) { // In case that unfiltered-files upload is not enabled, SVG images should not be imported. if ( ! Uploads_Manager::are_unfiltered_uploads_enabled() ) { return false; } $svg_handler = Plugin::$instance->uploads_manager->get_file_type_handlers( 'svg' ); $file_content = $svg_handler->sanitizer( $file_content ); }; $upload = wp_upload_bits( $filename, null, $file_content ); $post = [ 'post_title' => $filename, 'guid' => $upload['url'], ]; $info = wp_check_filetype( $upload['file'] ); if ( $info ) { $post['post_mime_type'] = $info['type']; } else { // For now just return the origin attachment return $attachment; // return new \WP_Error( 'attachment_processing_error', esc_html__( 'Invalid file type.', 'elementor' ) ); } $post_id = wp_insert_attachment( $post, $upload['file'], $parent_post_id ); // On REST requests. if ( ! function_exists( 'wp_generate_attachment_metadata' ) ) { require_once ABSPATH . '/wp-admin/includes/image.php'; } if ( ! function_exists( 'wp_read_video_metadata' ) ) { require_once ABSPATH . '/wp-admin/includes/media.php'; } wp_update_attachment_metadata( $post_id, wp_generate_attachment_metadata( $post_id, $upload['file'] ) ); update_post_meta( $post_id, '_elementor_source_image_hash', $this->get_hash_image( $attachment['url'] ) ); $new_attachment = [ 'id' => $post_id, 'url' => $upload['url'], ]; if ( ! empty( $attachment['id'] ) ) { $this->_replace_image_ids[ $attachment['id'] ] = $new_attachment; } return $new_attachment; } /** * Template library import images constructor. * * Initializing the images import class used by the template library through * the WordPress Filesystem API. * * @since 1.0.0 * @access public */ public function __construct() { if ( ! function_exists( 'WP_Filesystem' ) ) { require_once ABSPATH . 'wp-admin/includes/file.php'; } WP_Filesystem(); } } includes/template-library/data/endpoints/templates.php000064400000003215152377341010017256 0ustar00documents->get_document_types( [ 'show_in_library' => true, ] ); $this->register_route( '', \WP_REST_Server::CREATABLE, [ 'is_multi' => true, 'title' => [ 'required' => false, 'type' => 'string', 'description' => 'The title of the document', ], 'type' => [ 'required' => true, 'description' => 'The document type.', 'type' => 'string', 'enum' => array_keys( $document_types ), ], 'content' => [ 'required' => false, 'description' => 'Elementor data object', 'type' => 'object', ], ] ); } public function get_name() { return 'templates'; } public function get_format() { return 'template-library/templates'; } public function get_items( $request ) { return Plugin::$instance->templates_manager->get_library_data( [ 'filter_sources' => [ $request->get_param( 'source' ) ] ] ); } public function create_items( $request ) { /** @var Source_Local $source */ $source = Plugin::$instance->templates_manager->get_source( 'local' ); $result = $source->save_item( [ 'title' => $request->get_param( 'title' ), 'type' => $request->get_param( 'type' ), 'content' => $request->get_param( 'content' ), ] ); if ( is_wp_error( $result ) ) { return $result; } return $source->get_item( $result ); } } includes/template-library/data/controller.php000064400000001266152377341010015444 0ustar00register_endpoint( new Endpoints\Templates( $this ) ); } protected function register_index_endpoint() { // Bypass, currently does not required. } public function get_permission_callback( $request ) { return User::is_current_user_can_edit_post_type( Source_Local::CPT ); } } includes/template-library/manager.php000064400000040502152377341010013756 0ustar00data_manager_v2->register_controller( new Controller() ); $this->register_default_sources(); $this->add_actions(); } /** * @since 2.3.0 * @access public */ public function add_actions() { add_action( 'elementor/ajax/register_actions', [ $this, 'register_ajax_actions' ] ); add_action( 'wp_ajax_elementor_library_direct_actions', [ $this, 'handle_direct_actions' ] ); } /** * Get `Import_Images` instance. * * Retrieve the instance of the `Import_Images` class. * * @since 1.0.0 * @access public * * @return Import_Images Imported images instance. */ public function get_import_images_instance() { if ( null === $this->_import_images ) { $this->_import_images = new Import_Images(); } return $this->_import_images; } /** * Register template source. * * Used to register new template sources displayed in the template library. * * @since 1.0.0 * @access public * * @param string $source_class The name of source class. * @param array $args Optional. Class arguments. Default is an * empty array. * * @return \WP_Error|true True if the source was registered, `WP_Error` * otherwise. */ public function register_source( $source_class, $args = [] ) { if ( ! class_exists( $source_class ) ) { return new \WP_Error( 'source_class_name_not_exists' ); } $source_instance = new $source_class( $args ); if ( ! $source_instance instanceof Source_Base ) { return new \WP_Error( 'wrong_instance_source' ); } $source_id = $source_instance->get_id(); if ( isset( $this->_registered_sources[ $source_id ] ) ) { return new \WP_Error( 'source_exists' ); } $this->_registered_sources[ $source_id ] = $source_instance; return true; } /** * Unregister template source. * * Remove an existing template sources from the list of registered template * sources. * * @deprecated 2.7.0 * * @since 1.0.0 * @access public * * @param string $id The source ID. * * @return bool Whether the source was unregistered. */ public function unregister_source( $id ) { return true; } /** * Get registered template sources. * * Retrieve registered template sources. * * @since 1.0.0 * @access public * * @return Source_Base[] Registered template sources. */ public function get_registered_sources() { return $this->_registered_sources; } /** * Get template source. * * Retrieve single template sources for a given template ID. * * @since 1.0.0 * @access public * * @param string $id The source ID. * * @return false|Source_Base Template sources if one exist, False otherwise. */ public function get_source( $id ) { $sources = $this->get_registered_sources(); if ( ! isset( $sources[ $id ] ) ) { return false; } return $sources[ $id ]; } /** * Get templates. * * Retrieve all the templates from all the registered sources. * * @param array $filter_sources * * @return array */ public function get_templates( $filter_sources = [] ) { $templates = []; foreach ( $this->get_registered_sources() as $source ) { if ( ! empty( $filter_sources ) && ! in_array( $source->get_id(), $filter_sources, true ) ) { continue; } $templates = array_merge( $templates, $source->get_items() ); } return $templates; } /** * Get library data. * * Retrieve the library data. * * @since 1.9.0 * @access public * * @param array $args Library arguments. * * @return array Library data. */ public function get_library_data( array $args ) { $library_data = Api::get_library_data( ! empty( $args['sync'] ) ); // Ensure all document are registered. Plugin::$instance->documents->get_document_types(); $filter_sources = ! empty( $args['filter_sources'] ) ? $args['filter_sources'] : []; return [ 'templates' => $this->get_templates( $filter_sources ), 'config' => $library_data['types_data'], ]; } /** * Save template. * * Save new or update existing template on the database. * * @since 1.0.0 * @access public * * @param array $args Template arguments. * * @return \WP_Error|int The ID of the saved/updated template. */ public function save_template( array $args ) { $validate_args = $this->ensure_args( [ 'post_id', 'source', 'content', 'type' ], $args ); if ( is_wp_error( $validate_args ) ) { return $validate_args; } $source = $this->get_source( $args['source'] ); if ( ! $source ) { return new \WP_Error( 'template_error', 'Template source not found.' ); } $args['content'] = json_decode( $args['content'], true ); $page = SettingsManager::get_settings_managers( 'page' )->get_model( $args['post_id'] ); $args['page_settings'] = $page->get_data( 'settings' ); $template_id = $source->save_item( $args ); if ( is_wp_error( $template_id ) ) { return $template_id; } return $source->get_item( $template_id ); } /** * Update template. * * Update template on the database. * * @since 1.0.0 * @access public * * @param array $template_data New template data. * * @return \WP_Error|Source_Base Template sources instance if the templates * was updated, `WP_Error` otherwise. */ public function update_template( array $template_data ) { $validate_args = $this->ensure_args( [ 'source', 'content', 'type' ], $template_data ); if ( is_wp_error( $validate_args ) ) { return $validate_args; } $source = $this->get_source( $template_data['source'] ); if ( ! $source ) { return new \WP_Error( 'template_error', 'Template source not found.' ); } $template_data['content'] = json_decode( $template_data['content'], true ); $update = $source->update_item( $template_data ); if ( is_wp_error( $update ) ) { return $update; } return $source->get_item( $template_data['id'] ); } /** * Update templates. * * Update template on the database. * * @since 1.0.0 * @access public * * @param array $args Template arguments. * * @return \WP_Error|true True if templates updated, `WP_Error` otherwise. */ public function update_templates( array $args ) { foreach ( $args['templates'] as $template_data ) { $result = $this->update_template( $template_data ); if ( is_wp_error( $result ) ) { return $result; } } return true; } /** * Get template data. * * Retrieve the template data. * * @since 1.5.0 * @access public * * @param array $args Template arguments. * * @return \WP_Error|bool|array ?? */ public function get_template_data( array $args ) { $validate_args = $this->ensure_args( [ 'source', 'template_id' ], $args ); if ( is_wp_error( $validate_args ) ) { return $validate_args; } if ( isset( $args['edit_mode'] ) ) { Plugin::$instance->editor->set_edit_mode( $args['edit_mode'] ); } $source = $this->get_source( $args['source'] ); if ( ! $source ) { return new \WP_Error( 'template_error', 'Template source not found.' ); } do_action( 'elementor/template-library/before_get_source_data', $args, $source ); $data = $source->get_data( $args ); do_action( 'elementor/template-library/after_get_source_data', $args, $source ); return $data; } /** * Delete template. * * Delete template from the database. * * @since 1.0.0 * @access public * * @param array $args Template arguments. * * @return \WP_Post|\WP_Error|false|null Post data on success, false or null * or 'WP_Error' on failure. */ public function delete_template( array $args ) { $validate_args = $this->ensure_args( [ 'source', 'template_id' ], $args ); if ( is_wp_error( $validate_args ) ) { return $validate_args; } $source = $this->get_source( $args['source'] ); if ( ! $source ) { return new \WP_Error( 'template_error', 'Template source not found.' ); } return $source->delete_template( $args['template_id'] ); } /** * Export template. * * Export template to a file. * * @since 1.0.0 * @access public * * @param array $args Template arguments. * * @return mixed Whether the export succeeded or failed. */ public function export_template( array $args ) { $validate_args = $this->ensure_args( [ 'source', 'template_id' ], $args ); if ( is_wp_error( $validate_args ) ) { return $validate_args; } $source = $this->get_source( $args['source'] ); if ( ! $source ) { return new \WP_Error( 'template_error', 'Template source not found' ); } return $source->export_template( $args['template_id'] ); } /** * @since 2.3.0 * @access public */ public function direct_import_template() { /** @var Source_Local $source */ $source = $this->get_source( 'local' ); return $source->import_template( $_FILES['file']['name'], $_FILES['file']['tmp_name'] ); } /** * Import template. * * Import template from a file. * * @since 1.0.0 * @access public * * @param array $data * * @return mixed Whether the export succeeded or failed. */ public function import_template( array $data ) { // If the template is a JSON file, allow uploading it. add_filter( 'elementor/files/allow-file-type/json', [ $this, 'enable_json_template_upload' ] ); add_filter( 'elementor/files/allow_unfiltered_upload', [ $this, 'enable_json_template_upload' ] ); // Imported templates can be either JSON files, or Zip files containing multiple JSON files $upload_result = Plugin::$instance->uploads_manager->handle_elementor_upload( $data, [ 'zip', 'json' ] ); remove_filter( 'elementor/files/allow-file-type/json', [ $this, 'enable_json_template_upload' ] ); remove_filter( 'elementor/files/allow_unfiltered_upload', [ $this, 'enable_json_template_upload' ] ); if ( is_wp_error( $upload_result ) ) { Plugin::$instance->uploads_manager->remove_file_or_dir( dirname( $upload_result['tmp_name'] ) ); return $upload_result; } /** @var Source_Local $source_local */ $source_local = $this->get_source( 'local' ); $import_result = $source_local->import_template( $upload_result['name'], $upload_result['tmp_name'] ); // Remove the temporary directory generated for the stream-uploaded file. Plugin::$instance->uploads_manager->remove_file_or_dir( dirname( $upload_result['tmp_name'] ) ); return $import_result; } /** * Enable JSON Template Upload * * Runs on the 'elementor/files/allow-file-type/json' Uploads Manager filter. * * @since 3.5.0 * @access public * * return bool */ public function enable_json_template_upload() { return true; } /** * Mark template as favorite. * * Add the template to the user favorite templates. * * @since 1.9.0 * @access public * * @param array $args Template arguments. * * @return mixed Whether the template marked as favorite. */ public function mark_template_as_favorite( $args ) { $validate_args = $this->ensure_args( [ 'source', 'template_id', 'favorite' ], $args ); if ( is_wp_error( $validate_args ) ) { return $validate_args; } $source = $this->get_source( $args['source'] ); return $source->mark_as_favorite( $args['template_id'], filter_var( $args['favorite'], FILTER_VALIDATE_BOOLEAN ) ); } /** * Register default template sources. * * Register the 'local' and 'remote' template sources that Elementor use by * default. * * @since 1.0.0 * @access private */ private function register_default_sources() { $sources = [ 'local', 'remote', ]; foreach ( $sources as $source_filename ) { $class_name = ucwords( $source_filename ); $class_name = str_replace( '-', '_', $class_name ); $this->register_source( __NAMESPACE__ . '\Source_' . $class_name ); } } /** * Handle ajax request. * * Fire authenticated ajax actions for any given ajax request. * * @since 1.0.0 * @access private * * @param string $ajax_request Ajax request. * * @param array $data * * @return mixed * @throws \Exception */ private function handle_ajax_request( $ajax_request, array $data ) { if ( ! User::is_current_user_can_edit_post_type( Source_Local::CPT ) ) { throw new \Exception( 'Access Denied' ); } if ( ! empty( $data['editor_post_id'] ) ) { $editor_post_id = absint( $data['editor_post_id'] ); if ( ! get_post( $editor_post_id ) ) { throw new \Exception( esc_html__( 'Post not found.', 'elementor' ) ); } Plugin::$instance->db->switch_to_post( $editor_post_id ); } $result = call_user_func( [ $this, $ajax_request ], $data ); if ( is_wp_error( $result ) ) { throw new \Exception( $result->get_error_message() ); } return $result; } /** * Init ajax calls. * * Initialize template library ajax calls for allowed ajax requests. * * @since 2.3.0 * @access public * * @param Ajax $ajax */ public function register_ajax_actions( Ajax $ajax ) { $library_ajax_requests = [ 'get_library_data', 'get_template_data', 'save_template', 'update_templates', 'delete_template', 'import_template', 'mark_template_as_favorite', ]; foreach ( $library_ajax_requests as $ajax_request ) { $ajax->register_ajax_action( $ajax_request, function( $data ) use ( $ajax_request ) { return $this->handle_ajax_request( $ajax_request, $data ); } ); } } /** * @since 2.3.0 * @access public */ public function handle_direct_actions() { if ( ! User::is_current_user_can_edit_post_type( Source_Local::CPT ) ) { return; } /** @var Ajax $ajax */ $ajax = Plugin::$instance->common->get_component( 'ajax' ); if ( ! $ajax->verify_request_nonce() ) { $this->handle_direct_action_error( 'Access Denied' ); } $action = $_REQUEST['library_action']; $result = $this->$action( $_REQUEST ); if ( is_wp_error( $result ) ) { /** @var \WP_Error $result */ $this->handle_direct_action_error( $result->get_error_message() . '.' ); } $callback = "on_{$action}_success"; if ( method_exists( $this, $callback ) ) { $this->$callback( $result ); } die; } /** * On successful template import. * * Redirect the user to the template library after template import was * successful finished. * * @since 2.3.0 * @access private */ private function on_direct_import_template_success() { wp_safe_redirect( admin_url( Source_Local::ADMIN_MENU_SLUG ) ); } /** * @since 2.3.0 * @access private */ private function handle_direct_action_error( $message ) { _default_wp_die_handler( $message, 'Elementor Library' ); } /** * Ensure arguments exist. * * Checks whether the required arguments exist in the specified arguments. * * @since 1.0.0 * @access private * * @param array $required_args Required arguments to check whether they * exist. * @param array $specified_args The list of all the specified arguments to * check against. * * @return \WP_Error|true True on success, 'WP_Error' otherwise. */ private function ensure_args( array $required_args, array $specified_args ) { $not_specified_args = array_diff( $required_args, array_keys( array_filter( $specified_args ) ) ); if ( $not_specified_args ) { return new \WP_Error( 'arguments_not_specified', sprintf( 'The required argument(s) "%s" not specified.', implode( ', ', $not_specified_args ) ) ); } return true; } } includes/settings/tools.php000064400000033561152377341010012076 0ustar00add_submenu( [ 'page_title' => esc_html__( 'Tools', 'elementor' ), 'menu_title' => esc_html__( 'Tools', 'elementor' ), 'menu_slug' => self::PAGE_ID, 'function' => [ $this, 'display_settings_page' ], 'index' => 50, ] ); } /** * Register admin menu legacy. * * Add new Elementor Tools admin menu. * * Fired by `admin_menu` action. * * @since 1.0.0 * @access private */ private function register_admin_menu_legacy() { add_submenu_page( Settings::PAGE_ID, esc_html__( 'Tools', 'elementor' ), esc_html__( 'Tools', 'elementor' ), 'manage_options', self::PAGE_ID, [ $this, 'display_settings_page' ] ); } /** * Clear cache. * * Delete post meta containing the post CSS file data. And delete the actual * CSS files from the upload directory. * * Fired by `wp_ajax_elementor_clear_cache` action. * * @since 1.0.0 * @access public */ public function ajax_elementor_clear_cache() { check_ajax_referer( 'elementor_clear_cache', '_nonce' ); Plugin::$instance->files_manager->clear_cache(); wp_send_json_success(); } /** * Recreate kit. * * Recreate default kit (only when default kit does not exist). * * Fired by `wp_ajax_elementor_recreate_kit` action. * * @since 1.0.0 * @access public */ public function ajax_elementor_recreate_kit() { check_ajax_referer( 'elementor_recreate_kit', '_nonce' ); $kit = Plugin::$instance->kits_manager->get_active_kit(); if ( $kit->get_id() ) { wp_send_json_error( [ 'message' => esc_html__( 'There\'s already an active kit.', 'elementor' ) ], 400 ); } $created_default_kit = Plugin::$instance->kits_manager->create_default(); if ( ! $created_default_kit ) { wp_send_json_error( [ 'message' => esc_html__( 'An error occurred while trying to create a kit.', 'elementor' ) ], 500 ); } update_option( Manager::OPTION_ACTIVE, $created_default_kit ); wp_send_json_success( esc_html__( 'New kit have been created successfully', 'elementor' ) ); } /** * Replace URLs. * * Sends an ajax request to replace old URLs to new URLs. This method also * updates all the Elementor data. * * Fired by `wp_ajax_elementor_replace_url` action. * * @since 1.1.0 * @access public */ public function ajax_elementor_replace_url() { check_ajax_referer( 'elementor_replace_url', '_nonce' ); $from = ! empty( $_POST['from'] ) ? $_POST['from'] : ''; $to = ! empty( $_POST['to'] ) ? $_POST['to'] : ''; try { $results = Utils::replace_urls( $from, $to ); wp_send_json_success( $results ); } catch ( \Exception $e ) { wp_send_json_error( $e->getMessage() ); } } /** * Elementor version rollback. * * Rollback to previous Elementor version. * * Fired by `admin_post_elementor_rollback` action. * * @since 1.5.0 * @access public */ public function post_elementor_rollback() { check_admin_referer( 'elementor_rollback' ); if ( ! static::can_user_rollback_versions() ) { wp_die( esc_html__( 'Not allowed to rollback versions', 'elementor' ) ); } $rollback_versions = $this->get_rollback_versions(); if ( empty( $_GET['version'] ) || ! in_array( $_GET['version'], $rollback_versions ) ) { wp_die( esc_html__( 'Error occurred, The version selected is invalid. Try selecting different version.', 'elementor' ) ); } $plugin_slug = basename( ELEMENTOR__FILE__, '.php' ); $rollback = new Rollback( [ 'version' => $_GET['version'], 'plugin_name' => ELEMENTOR_PLUGIN_BASE, 'plugin_slug' => $plugin_slug, 'package_url' => sprintf( 'https://downloads.wordpress.org/plugin/%s.%s.zip', $plugin_slug, $_GET['version'] ), ] ); $rollback->run(); wp_die( '', esc_html__( 'Rollback to Previous Version', 'elementor' ), [ 'response' => 200, ] ); } /** * Tools page constructor. * * Initializing Elementor "Tools" page. * * @since 1.0.0 * @access public */ public function __construct() { parent::__construct(); if ( Plugin::$instance->experiments->is_feature_active( 'admin_menu_rearrangement' ) ) { add_action( 'elementor/admin/menu_registered/elementor', function( MainMenu $menu ) { $this->register_admin_menu( $menu ); } ); } else { add_action( 'admin_menu', function() { $this->register_admin_menu_legacy(); }, 205 ); } add_action( 'wp_ajax_elementor_clear_cache', [ $this, 'ajax_elementor_clear_cache' ] ); add_action( 'wp_ajax_elementor_replace_url', [ $this, 'ajax_elementor_replace_url' ] ); add_action( 'wp_ajax_elementor_recreate_kit', [ $this, 'ajax_elementor_recreate_kit' ] ); add_action( 'admin_post_elementor_rollback', [ $this, 'post_elementor_rollback' ] ); } private function get_rollback_versions() { $rollback_versions = get_transient( 'elementor_rollback_versions_' . ELEMENTOR_VERSION ); if ( false === $rollback_versions ) { $max_versions = 30; require_once ABSPATH . 'wp-admin/includes/plugin-install.php'; $plugin_information = plugins_api( 'plugin_information', [ 'slug' => 'elementor', ] ); if ( empty( $plugin_information->versions ) || ! is_array( $plugin_information->versions ) ) { return []; } krsort( $plugin_information->versions ); $rollback_versions = []; $current_index = 0; foreach ( $plugin_information->versions as $version => $download_link ) { if ( $max_versions <= $current_index ) { break; } $lowercase_version = strtolower( $version ); $is_valid_rollback_version = ! preg_match( '/(trunk|beta|rc|dev)/i', $lowercase_version ); /** * Is rollback version is valid. * * Filters the check whether the rollback version is valid. * * @param bool $is_valid_rollback_version Whether the rollback version is valid. */ $is_valid_rollback_version = apply_filters( 'elementor/settings/tools/rollback/is_valid_rollback_version', $is_valid_rollback_version, $lowercase_version ); if ( ! $is_valid_rollback_version ) { continue; } if ( version_compare( $version, ELEMENTOR_VERSION, '>=' ) ) { continue; } $current_index++; $rollback_versions[] = $version; } set_transient( 'elementor_rollback_versions_' . ELEMENTOR_VERSION, $rollback_versions, WEEK_IN_SECONDS ); } return $rollback_versions; } /** * Create tabs. * * Return the tools page tabs, sections and fields. * * @since 1.5.0 * @access protected * * @return array An array with the page tabs, sections and fields. */ protected function create_tabs() { $rollback_html = ''; $tabs = [ 'general' => [ 'label' => esc_html__( 'General', 'elementor' ), 'sections' => [ 'tools' => [ 'fields' => [ 'clear_cache' => [ 'label' => esc_html__( 'Regenerate CSS & Data', 'elementor' ), 'field_args' => [ 'type' => 'raw_html', 'html' => sprintf( '', wp_create_nonce( 'elementor_clear_cache' ), esc_html__( 'Regenerate Files & Data', 'elementor' ) ), 'desc' => esc_html__( 'Styles set in Elementor are saved in CSS files in the uploads folder and in the site’s database. Recreate those files and settings, according to the most recent settings.', 'elementor' ), ], ], 'reset_api_data' => [ 'label' => esc_html__( 'Sync Library', 'elementor' ), 'field_args' => [ 'type' => 'raw_html', 'html' => sprintf( '', wp_create_nonce( 'elementor_reset_library' ), esc_html__( 'Sync Library', 'elementor' ) ), 'desc' => esc_html__( 'Elementor Library automatically updates on a daily basis. You can also manually update it by clicking on the sync button.', 'elementor' ), ], ], ], ], ], ], 'replace_url' => [ 'label' => esc_html__( 'Replace URL', 'elementor' ), 'sections' => [ 'replace_url' => [ 'callback' => function() { $intro_text = sprintf( /* translators: %s: WordPress backups documentation. */ __( 'Important: It is strongly recommended that you backup your database before using Replace URL.', 'elementor' ), 'http://go.elementor.com/wordpress-backups/' ); $intro_text = '
' . $intro_text . '
'; echo '

' . esc_html__( 'Replace URL', 'elementor' ) . '

'; Utils::print_unescaped_internal_string( $intro_text ); }, 'fields' => [ 'replace_url' => [ 'label' => esc_html__( 'Update Site Address (URL)', 'elementor' ), 'field_args' => [ 'type' => 'raw_html', 'html' => sprintf( '', wp_create_nonce( 'elementor_replace_url' ), esc_html__( 'Replace URL', 'elementor' ) ), 'desc' => esc_html__( 'Enter your old and new URLs for your WordPress installation, to update all Elementor data (Relevant for domain transfers or move to \'HTTPS\').', 'elementor' ), ], ], ], ], ], ], 'versions' => [ 'show_if' => static::can_user_rollback_versions(), 'label' => esc_html__( 'Version Control', 'elementor' ), 'sections' => [ 'rollback' => [ 'label' => esc_html__( 'Rollback to Previous Version', 'elementor' ), 'callback' => function() { $intro_text = sprintf( /* translators: %s: Elementor version. */ esc_html__( 'Experiencing an issue with Elementor version %s? Rollback to a previous version before the issue appeared.', 'elementor' ), ELEMENTOR_VERSION ); $intro_text = '

' . $intro_text . '

'; Utils::print_unescaped_internal_string( $intro_text ); }, 'fields' => [ 'rollback' => [ 'label' => esc_html__( 'Rollback Version', 'elementor' ), 'field_args' => [ 'type' => 'raw_html', 'html' => sprintf( $rollback_html . '%s', wp_nonce_url( admin_url( 'admin-post.php?action=elementor_rollback&version=VERSION' ), 'elementor_rollback' ), esc_html__( 'Reinstall', 'elementor' ) ), 'desc' => '' . esc_html__( 'Warning: Please backup your database before making the rollback.', 'elementor' ) . '', ], ], ], ], 'beta' => [ 'label' => esc_html__( 'Become a Beta Tester', 'elementor' ), 'callback' => function() { echo '

' . esc_html__( 'Turn-on Beta Tester, to get notified when a new beta version of Elementor or Elementor Pro is available. The Beta version will not install automatically. You always have the option to ignore it.', 'elementor' ) . '

'; echo sprintf( /* translators: 1: Link open tag, 2: Link close tag. */ esc_html__( '%1$sClick here%2$s to join our first-to-know email updates.', 'elementor' ), '', '' ); }, 'fields' => [ 'beta' => [ 'label' => esc_html__( 'Beta Tester', 'elementor' ), 'field_args' => [ 'type' => 'select', 'std' => 'no', 'options' => [ 'no' => esc_html__( 'Disable', 'elementor' ), 'yes' => esc_html__( 'Enable', 'elementor' ), ], 'desc' => '' . esc_html__( 'Please Note: We do not recommend updating to a beta version on production sites.', 'elementor' ) . '', ], ], ], ], ], ], ]; if ( ! Plugin::$instance->kits_manager->get_active_kit()->get_id() ) { $tabs['general']['sections']['tools']['fields']['recreate_kit'] = [ 'label' => __( 'Recreate Kit', 'elementor' ), 'field_args' => [ 'type' => 'raw_html', 'html' => sprintf( '', wp_create_nonce( 'elementor_recreate_kit' ), __( 'Recreate Kit', 'elementor' ) ), 'desc' => esc_html__( 'It seems like your site doesn\'t have any active Kit. The active Kit includes all of your Site Settings. By recreating your Kit you will able to start edit your Site Settings again.', 'elementor' ), ], ]; } return $tabs; } /** * Get tools page title. * * Retrieve the title for the tools page. * * @since 1.5.0 * @access protected * * @return string Tools page title. */ protected function get_page_title() { return esc_html__( 'Tools', 'elementor' ); } /** * Check if the current user can access the version control tab and rollback versions. * * @return bool */ public static function can_user_rollback_versions() { return current_user_can( 'activate_plugins' ) && current_user_can( 'update_plugins' ); } } includes/settings/controls.php000064400000016107152377341010012576 0ustar00 '', 'attributes' => [], 'std' => '', 'desc' => '', ]; $field = array_merge( $defaults, $field ); $method_name = $field['type']; if ( ! method_exists( __CLASS__, $method_name ) ) { $method_name = 'text'; } self::$method_name( $field ); } /** * Render text control. * * Generates the final HTML for text controls. * * @since 2.0.0 * @access private * @static * * @param array $field Field data. */ private static function text( array $field ) { if ( empty( $field['attributes']['class'] ) ) { $field['attributes']['class'] = 'regular-text'; } ?> />

$option_value ) : ?>

[], ]; $field = array_merge( $defaults, $field ); $post_types_objects = get_post_types( [ 'public' => true, ], 'objects' ); /** * Filters the list of post type objects used by Elementor. * * @since 2.8.0 * * @param array $post_types_objects List of post type objects used by Elementor. */ $post_types_objects = apply_filters( 'elementor/settings/controls/checkbox_list_cpt/post_type_objects', $post_types_objects ); $field['options'] = []; foreach ( $post_types_objects as $cpt_slug => $post_type ) { if ( in_array( $cpt_slug, $field['exclude'], true ) ) { continue; } $field['options'][ $cpt_slug ] = $post_type->labels->name; } self::checkbox_list( $field ); } /** * Render checkbox list control for user roles. * * Generates the final HTML for checkbox list controls populated with user roles. * * @since 2.0.0 * @access private * @static * * @param array $field Field data. */ private static function checkbox_list_roles( array $field ) { $defaults = [ 'exclude' => [], ]; $field = array_merge( $defaults, $field ); $field['options'] = []; $roles = get_editable_roles(); if ( is_multisite() ) { $roles = [ 'super_admin' => [ 'name' => esc_html__( 'Super Admin', 'elementor' ), ], ] + $roles; } foreach ( $roles as $role_slug => $role_data ) { if ( in_array( $role_slug, $field['exclude'] ) ) { continue; } $field['options'][ $role_slug ] = $role_data['name']; } self::checkbox_list( $field ); } /** * Render raw HTML control. * * Generates the final HTML for raw HTML controls. * * @since 2.0.0 * @access private * @static * * @param array $field Field data. */ private static function raw_html( array $field ) { if ( empty( $field['html'] ) ) { return; } ?>

files_manager->clear_cache(); return $input; } } includes/settings/settings-page.php000064400000024421152377341010013503 0ustar00ensure_tabs(); return $this->tabs; } /** * Add tab. * * Register a new tab to a settings page. * * @since 1.5.0 * @access public * * @param string $tab_id Tab ID. * @param array $tab_args Optional. Tab arguments. Default is an empty array. */ final public function add_tab( $tab_id, array $tab_args = [] ) { $this->ensure_tabs(); if ( isset( $this->tabs[ $tab_id ] ) ) { // Don't override an existing tab return; } if ( ! isset( $tab_args['sections'] ) ) { $tab_args['sections'] = []; } $this->tabs[ $tab_id ] = $tab_args; } /** * Add section. * * Register a new section to a tab. * * @since 1.5.0 * @access public * * @param string $tab_id Tab ID. * @param string $section_id Section ID. * @param array $section_args Optional. Section arguments. Default is an * empty array. */ final public function add_section( $tab_id, $section_id, array $section_args = [] ) { $this->ensure_tabs(); if ( ! isset( $this->tabs[ $tab_id ] ) ) { // If the requested tab doesn't exists, use the first tab $tab_id = key( $this->tabs ); } if ( isset( $this->tabs[ $tab_id ]['sections'][ $section_id ] ) ) { // Don't override an existing section return; } if ( ! isset( $section_args['fields'] ) ) { $section_args['fields'] = []; } $this->tabs[ $tab_id ]['sections'][ $section_id ] = $section_args; } /** * Add field. * * Register a new field to a section. * * @since 1.5.0 * @access public * * @param string $tab_id Tab ID. * @param string $section_id Section ID. * @param string $field_id Field ID. * @param array $field_args Field arguments. */ final public function add_field( $tab_id, $section_id, $field_id, array $field_args ) { $this->ensure_tabs(); if ( ! isset( $this->tabs[ $tab_id ] ) ) { // If the requested tab doesn't exists, use the first tab $tab_id = key( $this->tabs ); } if ( ! isset( $this->tabs[ $tab_id ]['sections'][ $section_id ] ) ) { // If the requested section doesn't exists, use the first section $section_id = key( $this->tabs[ $tab_id ]['sections'] ); } if ( isset( $this->tabs[ $tab_id ]['sections'][ $section_id ]['fields'][ $field_id ] ) ) { // Don't override an existing field return; } $this->tabs[ $tab_id ]['sections'][ $section_id ]['fields'][ $field_id ] = $field_args; } /** * Add fields. * * Register multiple fields to a section. * * @since 1.5.0 * @access public * * @param string $tab_id Tab ID. * @param string $section_id Section ID. * @param array $fields { * An array of fields. * * @type string $field_id Field ID. * @type array $field_args Field arguments. * } */ final public function add_fields( $tab_id, $section_id, array $fields ) { foreach ( $fields as $field_id => $field_args ) { $this->add_field( $tab_id, $section_id, $field_id, $field_args ); } } /** * Register settings fields. * * In each tab register his inner sections, and in each section register his * inner fields. * * @since 1.5.0 * @access public */ final public function register_settings_fields() { $controls_class_name = __NAMESPACE__ . '\Settings_Controls'; $tabs = $this->get_tabs(); foreach ( $tabs as $tab_id => $tab ) { foreach ( $tab['sections'] as $section_id => $section ) { $full_section_id = 'elementor_' . $section_id . '_section'; $label = isset( $section['label'] ) ? $section['label'] : ''; $section_callback = isset( $section['callback'] ) ? $section['callback'] : '__return_empty_string'; add_settings_section( $full_section_id, $label, $section_callback, static::PAGE_ID ); foreach ( $section['fields'] as $field_id => $field ) { $full_field_id = ! empty( $field['full_field_id'] ) ? $field['full_field_id'] : 'elementor_' . $field_id; $field['field_args']['id'] = $full_field_id; $field_classes = [ $full_field_id ]; if ( ! empty( $field['class'] ) ) { $field_classes[] = $field['field_args']['class']; } $field['field_args']['class'] = implode( ' ', $field_classes ); if ( ! isset( $field['render'] ) ) { $field['render'] = [ $controls_class_name, 'render' ]; } add_settings_field( $full_field_id, isset( $field['label'] ) ? $field['label'] : '', $field['render'], static::PAGE_ID, $full_section_id, $field['field_args'] ); $setting_args = []; if ( ! empty( $field['setting_args'] ) ) { $setting_args = $field['setting_args']; } register_setting( static::PAGE_ID, $full_field_id, $setting_args ); } } } } /** * Display settings page. * * Output the content for the settings page. * * @since 1.5.0 * @access public */ public function display_settings_page() { $this->register_settings_fields(); $tabs = $this->get_tabs(); ?>

get_page_title() ); ?>

$tab ) { if ( ! $this->should_render_tab( $tab ) ) { continue; } $active_class = ''; if ( 'general' === $tab_id ) { $active_class = ' elementor-active'; } $sanitized_tab_id = esc_attr( $tab_id ); // PHPCS - $active_class is a non-dynamic string and $sanitized_tab_id is escaped above. echo "
"; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped foreach ( $tab['sections'] as $section_id => $section ) { $full_section_id = 'elementor_' . $section_id . '_section'; if ( ! empty( $section['label'] ) ) { echo '

' . esc_html( $section['label'] ) . '

'; } if ( ! empty( $section['callback'] ) ) { $section['callback'](); } echo ''; do_settings_fields( static::PAGE_ID, $full_section_id ); echo '
'; } echo '
'; } submit_button(); ?>
[ 'label' => esc_html__( 'Usage Data Sharing', 'elementor' ), 'field_args' => [ 'type' => 'checkbox', 'value' => 'yes', 'default' => '', 'sub_desc' => esc_html__( 'Become a super contributor by opting in to share non-sensitive plugin data and to receive periodic email updates from us.', 'elementor' ) . sprintf( ' %2$s', 'https://go.elementor.com/usage-data-tracking/', esc_html__( 'Learn more.', 'elementor' ) ), ], 'setting_args' => [ __NAMESPACE__ . '\Tracker', 'check_for_settings_optin' ], ], ]; } /** * Ensure tabs. * * Make sure the settings page has tabs before inserting any new sections or * fields. * * @since 1.5.0 * @access private */ private function ensure_tabs() { if ( null === $this->tabs ) { $this->tabs = $this->create_tabs(); $page_id = static::PAGE_ID; /** * After create settings. * * Fires after the settings are created in Elementor admin page. * * The dynamic portion of the hook name, `$page_id`, refers to the current page ID. * * @since 1.0.0 * * @param Settings_Page $this The settings page. */ do_action( "elementor/admin/after_create_settings/{$page_id}", $this ); } } /** * Should it render the settings tab * * @param $tab * * @return bool */ private function should_render_tab( $tab ) { // BC - When 'show_if' prop is not exists, it actually should render the tab. return ! empty( $tab['sections'] ) && ( ! isset( $tab['show_if'] ) || $tab['show_if'] ); } } includes/settings/settings.php000064400000053031152377341010012570 0ustar00 $item ) { if ( 'elementor' === $item ) { $elementor_menu_order[] = 'separator-elementor'; $elementor_menu_order[] = $item; $elementor_menu_order[] = Source_Local::ADMIN_MENU_SLUG; unset( $menu_order[ $elementor_separator ] ); unset( $menu_order[ $elementor_library ] ); } elseif ( ! in_array( $item, [ 'separator-elementor' ], true ) ) { $elementor_menu_order[] = $item; } } // Return order. return $elementor_menu_order; } /** * Register Elementor Pro sub-menu. * * Add new Elementor Pro sub-menu under the main Elementor menu. * * Fired by `admin_menu` action. * * @since 1.0.0 * @access public */ public function register_pro_menu() { add_submenu_page( self::PAGE_ID, esc_html__( 'Submissions', 'elementor' ), esc_html__( 'Submissions', 'elementor' ), 'manage_options', 'e-form-submissions', function() { $this->elementor_form_submissions(); } ); add_submenu_page( self::PAGE_ID, esc_html__( 'Custom Fonts', 'elementor' ), esc_html__( 'Custom Fonts', 'elementor' ), 'manage_options', 'elementor_custom_fonts', [ $this, 'elementor_custom_fonts' ] ); add_submenu_page( self::PAGE_ID, esc_html__( 'Custom Icons', 'elementor' ), esc_html__( 'Custom Icons', 'elementor' ), 'manage_options', 'elementor_custom_icons', [ $this, 'elementor_custom_icons' ] ); add_submenu_page( self::PAGE_ID, __( 'Custom Code', 'elementor' ), __( 'Custom Code', 'elementor' ), 'manage_options', 'elementor_custom_custom_code', function() { $this->elementor_custom_code(); } ); add_submenu_page( self::PAGE_ID, '', ' ' . esc_html__( 'Go Pro', 'elementor' ), 'manage_options', 'go_elementor_pro', [ $this, 'handle_external_redirects' ] ); add_submenu_page( Source_Local::ADMIN_MENU_SLUG, esc_html__( 'Popups', 'elementor' ), esc_html__( 'Popups', 'elementor' ), 'manage_options', 'popup_templates', [ $this, 'elementor_popups' ] ); } /** * Register Elementor knowledge base sub-menu. * * Add new Elementor knowledge base sub-menu under the main Elementor menu. * * Fired by `admin_menu` action. * * @since 2.0.3 * @access public */ public function register_knowledge_base_menu() { add_submenu_page( self::PAGE_ID, '', __( 'Getting Started', 'elementor' ), 'manage_options', 'elementor-getting-started', [ $this, 'elementor_getting_started' ] ); add_submenu_page( self::PAGE_ID, '', esc_html__( 'Get Help', 'elementor' ), 'manage_options', 'go_knowledge_base_site', [ $this, 'handle_external_redirects' ] ); } /** * Go Elementor Pro. * * Redirect the Elementor Pro page the clicking the Elementor Pro menu link. * * Fired by `admin_init` action. * * @since 2.0.3 * @access public */ public function handle_external_redirects() { if ( empty( $_GET['page'] ) ) { return; } if ( 'go_elementor_pro' === $_GET['page'] ) { wp_redirect( Utils::get_pro_link( 'https://elementor.com/pro/?utm_source=wp-menu&utm_campaign=gopro&utm_medium=wp-dash' ) ); die; } if ( 'go_knowledge_base_site' === $_GET['page'] ) { wp_redirect( 'https://go.elementor.com/docs-admin-menu/' ); die; } } /** * Display settings page. * * Output the content for the getting started page. * * @since 2.2.0 * @access public */ public function elementor_getting_started() { if ( User::is_current_user_can_edit_post_type( 'page' ) ) { $create_new_label = esc_html__( 'Create Your First Page', 'elementor' ); $create_new_cpt = 'page'; } elseif ( User::is_current_user_can_edit_post_type( 'post' ) ) { $create_new_label = esc_html__( 'Create Your First Post', 'elementor' ); $create_new_cpt = 'post'; } ?>

handle_external_redirects(); $this->maybe_remove_all_admin_notices(); } /** * Change "Settings" menu name. * * Update the name of the Settings admin menu from "Elementor" to "Settings". * * Fired by `admin_menu` action. * * @since 1.0.0 * @access public */ public function admin_menu_change_name() { Utils::change_submenu_first_item_label( 'elementor', esc_html__( 'Settings', 'elementor' ) ); } /** * Update CSS print method. * * Clear post CSS cache. * * Fired by `add_option_elementor_css_print_method` and * `update_option_elementor_css_print_method` actions. * * @since 1.7.5 * @access public * @deprecated 3.0.0 */ public function update_css_print_method() { Plugin::$instance->files_manager->clear_cache(); } /** * Create tabs. * * Return the settings page tabs, sections and fields. * * @since 1.5.0 * @access protected * * @return array An array with the settings page tabs, sections and fields. */ protected function create_tabs() { $validations_class_name = __NAMESPACE__ . '\Settings_Validations'; return [ self::TAB_GENERAL => [ 'label' => esc_html__( 'General', 'elementor' ), 'sections' => [ 'general' => [ 'fields' => [ self::UPDATE_TIME_FIELD => [ 'full_field_id' => self::UPDATE_TIME_FIELD, 'field_args' => [ 'type' => 'hidden', ], 'setting_args' => [ $validations_class_name, 'current_time' ], ], 'cpt_support' => [ 'label' => esc_html__( 'Post Types', 'elementor' ), 'field_args' => [ 'type' => 'checkbox_list_cpt', 'std' => [ 'page', 'post' ], 'exclude' => [ 'attachment', 'elementor_library' ], ], 'setting_args' => [ $validations_class_name, 'checkbox_list' ], ], 'disable_color_schemes' => [ 'label' => esc_html__( 'Disable Default Colors', 'elementor' ), 'field_args' => [ 'type' => 'checkbox', 'value' => 'yes', 'sub_desc' => esc_html__( 'Checking this box will disable Elementor\'s Default Colors, and make Elementor inherit the colors from your theme.', 'elementor' ), ], ], 'disable_typography_schemes' => [ 'label' => esc_html__( 'Disable Default Fonts', 'elementor' ), 'field_args' => [ 'type' => 'checkbox', 'value' => 'yes', 'sub_desc' => esc_html__( 'Checking this box will disable Elementor\'s Default Fonts, and make Elementor inherit the fonts from your theme.', 'elementor' ), ], ], ], ], 'usage' => [ 'label' => esc_html__( 'Improve Elementor', 'elementor' ), 'fields' => $this->get_usage_fields(), ], ], ], self::TAB_INTEGRATIONS => [ 'label' => esc_html__( 'Integrations', 'elementor' ), 'sections' => [ 'google_maps' => [ 'label' => esc_html__( 'Google Maps Embed API', 'elementor' ), 'callback' => function() { printf( /* translators: 1: Link open tag, 2: Link close tag */ esc_html__( 'Google Maps Embed API is a free service by Google that allows embedding Google Maps in your site. For more details, visit Google Maps\' %1$sUsing API Keys%2$s page.', 'elementor' ), '', '' ); }, 'fields' => [ 'google_maps_api_key' => [ 'label' => esc_html__( 'API Key', 'elementor' ), 'field_args' => [ 'class' => 'elementor_google_maps_api_key', 'type' => 'text', ], ], ], ], ], ], self::TAB_ADVANCED => [ 'label' => esc_html__( 'Advanced', 'elementor' ), 'sections' => [ 'advanced' => [ 'fields' => [ 'css_print_method' => [ 'label' => esc_html__( 'CSS Print Method', 'elementor' ), 'field_args' => [ 'class' => 'elementor_css_print_method', 'type' => 'select', 'std' => 'external', 'options' => [ 'external' => esc_html__( 'External File', 'elementor' ), 'internal' => esc_html__( 'Internal Embedding', 'elementor' ), ], 'desc' => '', ], ], 'editor_break_lines' => [ 'label' => esc_html__( 'Switch Editor Loader Method', 'elementor' ), 'field_args' => [ 'type' => 'select', 'std' => '', 'options' => [ '' => esc_html__( 'Disable', 'elementor' ), '1' => esc_html__( 'Enable', 'elementor' ), ], 'desc' => esc_html__( 'For troubleshooting server configuration conflicts.', 'elementor' ), ], ], 'unfiltered_files_upload' => [ 'label' => esc_html__( 'Enable Unfiltered File Uploads', 'elementor' ), 'field_args' => [ 'type' => 'select', 'std' => '', 'options' => [ '' => esc_html__( 'Disable', 'elementor' ), '1' => esc_html__( 'Enable', 'elementor' ), ], 'desc' => esc_html__( 'Please note! Allowing uploads of any files (SVG & JSON included) is a potential security risk.', 'elementor' ) . '
' . esc_html__( 'Elementor will try to sanitize the unfiltered files, removing potential malicious code and scripts.', 'elementor' ) . '
' . esc_html__( 'We recommend you only enable this feature if you understand the security risks involved.', 'elementor' ), ], ], 'font_display' => [ 'label' => esc_html__( 'Google Fonts Load', 'elementor' ), 'field_args' => [ 'type' => 'select', 'std' => 'auto', 'options' => [ 'auto' => esc_html__( 'Default', 'elementor' ), 'block' => esc_html__( 'Blocking', 'elementor' ), 'swap' => esc_html__( 'Swap', 'elementor' ), 'fallback' => esc_html__( 'Fallback', 'elementor' ), 'optional' => esc_html__( 'Optional', 'elementor' ), ], 'desc' => esc_html__( 'Font-display property defines how font files are loaded and displayed by the browser.', 'elementor' ) . '
' . esc_html__( 'Set the way Google Fonts are being loaded by selecting the font-display property (Default: Auto).', 'elementor' ), ], ], ], ], ], ], ]; } /** * Get settings page title. * * Retrieve the title for the settings page. * * @since 1.5.0 * @access protected * * @return string Settings page title. */ protected function get_page_title() { if ( Plugin::$instance->experiments->is_feature_active( 'admin_menu_rearrangement' ) ) { return __( 'Settings', 'elementor' ); } return __( 'Elementor', 'elementor' ); } /** * @since 2.2.0 * @access private */ private function maybe_remove_all_admin_notices() { $elementor_pages = [ 'elementor-getting-started', 'elementor_custom_fonts', 'elementor_custom_icons', 'elementor-license', 'e-form-submissions', 'elementor_custom_custom_code', 'popup_templates', ]; if ( empty( $_GET['page'] ) || ! in_array( $_GET['page'], $elementor_pages, true ) ) { return; } remove_all_actions( 'admin_notices' ); } /** * Output the content for custom_code page. */ private function elementor_custom_code() { ?>

experiments->is_feature_active( 'admin_menu_rearrangement' ) ) { add_action( 'admin_menu', [ $this, 'register_admin_menu' ], 20 ); add_action( 'admin_menu', [ $this, 'admin_menu_change_name' ], 200 ); add_action( 'admin_menu', [ $this, 'register_pro_menu' ], self::MENU_PRIORITY_GO_PRO ); add_action( 'admin_menu', [ $this, 'register_knowledge_base_menu' ], 501 ); add_filter( 'custom_menu_order', '__return_true' ); add_filter( 'menu_order', [ $this, 'menu_order' ] ); } $clear_cache_callback = [ Plugin::$instance->files_manager, 'clear_cache' ]; // Clear CSS Meta after change css related methods. $css_settings = [ 'elementor_disable_color_schemes', 'elementor_disable_typography_schemes', 'elementor_css_print_method', ]; foreach ( $css_settings as $option_name ) { add_action( "add_option_{$option_name}", $clear_cache_callback ); add_action( "update_option_{$option_name}", $clear_cache_callback ); } } } includes/editor-templates/responsive-bar.php000064400000007151152377341010015313 0ustar00breakpoints->get_active_breakpoints(); $active_devices = Plugin::$instance->breakpoints->get_active_devices_list( [ 'reverse' => true ] ); $breakpoint_classes_map = array_intersect_key( Plugin::$instance->breakpoints->get_responsive_icons_classes_map(), array_flip( $active_devices ) ); /* translators: %1$s: Device Name */ $breakpoint_label = esc_html__( '%1$s
Settings added for the %1$s device will apply to %2$spx screens and down', 'elementor' ); ?> includes/editor-templates/hotkeys.php000064400000012417152377341010014043 0ustar00 includes/editor-templates/repeater.php000064400000002234152377341010014160 0ustar00 includes/editor-templates/templates.php000064400000042223152377341010014351 0ustar00 includes/editor-templates/global.php000064400000005335152377341010013616 0ustar00 includes/editor-templates/library-layout.php000064400000002346152377341010015334 0ustar00 includes/editor-templates/panel.php000064400000034205152377341010013453 0ustar00documents->get( Plugin::$instance->editor->get_post_id() ); ?> includes/editor-templates/editor-wrapper.php000064400000005155152377341010015322 0ustar00role_manager->user_can( 'design' ) ) { $body_classes[] = 'elementor-editor-content-only'; } $notice = Plugin::$instance->editor->notice_bar->get_notice(); ?> > <?php echo esc_html__( 'Elementor', 'elementor' ) . ' | ' . esc_html( get_the_title() ); ?>
includes/editor-templates/navigator.php000064400000004265152377341010014351 0ustar00 includes/editor-templates/panel-elements.php000064400000007002152377341010015260 0ustar00 includes/maintenance-mode.php000064400000026210152377341010012273 0ustar00preview->is_preview_mode() ) { return; } $user = wp_get_current_user(); $exclude_mode = self::get( 'exclude_mode', [] ); $is_login_page = false; /** * Is login page * * Filters whether the maintenance mode displaying the login page or a regular page. * * @since 1.0.4 * * @param bool $is_login_page Whether its a login page. */ $is_login_page = apply_filters( 'elementor/maintenance_mode/is_login_page', $is_login_page ); if ( $is_login_page ) { return; } if ( 'logged_in' === $exclude_mode && is_user_logged_in() ) { return; } if ( 'custom' === $exclude_mode ) { $exclude_roles = self::get( 'exclude_roles', [] ); $user_roles = $user->roles; if ( is_multisite() && is_super_admin() ) { $user_roles[] = 'super_admin'; } $compare_roles = array_intersect( $user_roles, $exclude_roles ); if ( ! empty( $compare_roles ) ) { return; } } add_filter( 'body_class', [ $this, 'body_class' ] ); if ( 'maintenance' === self::get( 'mode' ) ) { $protocol = wp_get_server_protocol(); header( "$protocol 503 Service Unavailable", true, 503 ); header( 'Content-Type: text/html; charset=utf-8' ); header( 'Retry-After: 600' ); } // Setup global post for Elementor\frontend so `_has_elementor_in_page = true`. $GLOBALS['post'] = get_post( self::get( 'template_id' ) ); // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited // Set the template as `$wp_query->current_object` for `wp_title` and etc. query_posts( [ 'p' => self::get( 'template_id' ), 'post_type' => Source_Local::CPT, ] ); } /** * Register settings fields. * * Adds new "Maintenance Mode" settings fields to Elementor admin page. * * The method need to receive the an instance of the Tools settings page * to add the new maintenance mode functionality. * * Fired by `elementor/admin/after_create_settings/{$page_id}` action. * * @since 1.4.0 * @access public * * @param Tools $tools An instance of the Tools settings page. */ public function register_settings_fields( Tools $tools ) { $templates = Plugin::$instance->templates_manager->get_source( 'local' )->get_items( [ 'type' => 'page', ] ); $templates_options = []; foreach ( $templates as $template ) { $templates_options[ $template['template_id'] ] = esc_html( $template['title'] ); } ob_start(); $this->print_template_description(); $template_description = ob_get_clean(); $tools->add_tab( 'maintenance_mode', [ 'label' => esc_html__( 'Maintenance Mode', 'elementor' ), 'sections' => [ 'maintenance_mode' => [ 'callback' => function() { echo '

' . esc_html__( 'Maintenance Mode', 'elementor' ) . '

'; echo '
' . esc_html__( 'Set your entire website as MAINTENANCE MODE, meaning the site is offline temporarily for maintenance, or set it as COMING SOON mode, meaning the site is offline until it is ready to be launched.', 'elementor' ) . '
'; }, 'fields' => [ 'maintenance_mode_mode' => [ 'label' => esc_html__( 'Choose Mode', 'elementor' ), 'field_args' => [ 'type' => 'select', 'std' => '', 'options' => [ '' => esc_html__( 'Disabled', 'elementor' ), self::MODE_COMING_SOON => esc_html__( 'Coming Soon', 'elementor' ), self::MODE_MAINTENANCE => esc_html__( 'Maintenance', 'elementor' ), ], 'desc' => '' . '' . '', ], ], 'maintenance_mode_exclude_mode' => [ 'label' => esc_html__( 'Who Can Access', 'elementor' ), 'field_args' => [ 'class' => 'elementor-default-hide', 'type' => 'select', 'std' => 'logged_in', 'options' => [ 'logged_in' => esc_html__( 'Logged In', 'elementor' ), 'custom' => esc_html__( 'Custom', 'elementor' ), ], ], ], 'maintenance_mode_exclude_roles' => [ 'label' => esc_html__( 'Roles', 'elementor' ), 'field_args' => [ 'class' => 'elementor-default-hide', 'type' => 'checkbox_list_roles', ], 'setting_args' => [ __NAMESPACE__ . '\Settings_Validations', 'checkbox_list' ], ], 'maintenance_mode_template_id' => [ 'label' => esc_html__( 'Choose Template', 'elementor' ), 'field_args' => [ 'class' => 'elementor-default-hide', 'type' => 'select', 'std' => '', 'show_select' => true, 'options' => $templates_options, 'desc' => $template_description, ], ], ], ], ], ] ); } /** * Add menu in admin bar. * * Adds "Maintenance Mode" items to the WordPress admin bar. * * Fired by `admin_bar_menu` filter. * * @since 1.4.0 * @access public * * @param \WP_Admin_Bar $wp_admin_bar WP_Admin_Bar instance, passed by reference. */ public function add_menu_in_admin_bar( \WP_Admin_Bar $wp_admin_bar ) { $wp_admin_bar->add_node( [ 'id' => 'elementor-maintenance-on', 'title' => esc_html__( 'Maintenance Mode ON', 'elementor' ), 'href' => Tools::get_url() . '#tab-maintenance_mode', ] ); $document = Plugin::$instance->documents->get( self::get( 'template_id' ) ); $wp_admin_bar->add_node( [ 'id' => 'elementor-maintenance-edit', 'parent' => 'elementor-maintenance-on', 'title' => esc_html__( 'Edit Template', 'elementor' ), 'href' => $document ? $document->get_edit_url() : '', ] ); } /** * Print style. * * Adds custom CSS to the HEAD html tag. The CSS that emphasise the maintenance * mode with red colors. * * Fired by `admin_head` and `wp_head` filters. * * @since 1.4.0 * @access public */ public function print_style() { ?> documents->get( $template_id )->get_edit_url(); } ?>
', '' ); ?>
function( $request_value, $object ) { if ( ! User::is_current_user_can_edit( $object->ID ) ) { return false; } $document = Plugin::$instance->documents->get( $object->ID ); if ( ! $document ) { return false; } $document->set_is_built_with_elementor( false ); return true; }, ] ); } /** * @since 2.1.0 * @access public */ public function enqueue_assets() { $document = Plugin::$instance->documents->get( get_the_ID() ); if ( ! $document || ! $document->is_editable_by_current_user() ) { return; } $this->is_gutenberg_editor_active = true; $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min'; wp_enqueue_script( 'elementor-gutenberg', ELEMENTOR_ASSETS_URL . 'js/gutenberg' . $suffix . '.js', [ 'jquery' ], ELEMENTOR_VERSION, true ); $elementor_settings = [ 'isElementorMode' => $document->is_built_with_elementor(), 'editLink' => $document->get_edit_url(), ]; Utils::print_js_config( 'elementor-gutenberg', 'ElementorGutenbergSettings', $elementor_settings ); } /** * @since 2.1.0 * @access public */ public function print_admin_js_template() { if ( ! $this->is_gutenberg_editor_active ) { return; } ?> register_ajax_action( 'enable_safe_mode', [ $this, 'ajax_enable_safe_mode' ] ); $ajax->register_ajax_action( 'disable_safe_mode', [ $this, 'disable_safe_mode' ] ); } /** * @param Tools $tools_page */ public function add_admin_button( $tools_page ) { $tools_page->add_fields( Settings::TAB_GENERAL, 'tools', [ 'safe_mode' => [ 'label' => esc_html__( 'Safe Mode', 'elementor' ), 'field_args' => [ 'type' => 'select', 'std' => $this->is_enabled() ? 'global' : '', 'options' => [ '' => esc_html__( 'Disable', 'elementor' ), 'global' => esc_html__( 'Enable', 'elementor' ), ], 'desc' => esc_html__( 'Safe Mode allows you to troubleshoot issues by only loading the editor, without loading the theme or any other plugin.', 'elementor' ), ], ], ] ); } public function on_update_safe_mode( $value ) { if ( 'yes' === $value || 'global' === $value ) { $this->enable_safe_mode(); } else { $this->disable_safe_mode(); } return $value; } public function ajax_enable_safe_mode( $data ) { // It will run `$this->>update_safe_mode`. update_option( 'elementor_safe_mode', 'yes' ); $document = Plugin::$instance->documents->get( $data['editor_post_id'] ); if ( $document ) { return add_query_arg( 'elementor-mode', 'safe', $document->get_edit_url() ); } return false; } public function enable_safe_mode() { if ( ! current_user_can( 'install_plugins' ) ) { return; } WP_Filesystem(); $this->update_allowed_plugins(); if ( ! is_dir( WPMU_PLUGIN_DIR ) ) { wp_mkdir_p( WPMU_PLUGIN_DIR ); add_option( 'elementor_safe_mode_created_mu_dir', true ); } if ( ! is_dir( WPMU_PLUGIN_DIR ) ) { wp_die( esc_html__( 'Cannot enable Safe Mode', 'elementor' ) ); } $results = copy_dir( __DIR__ . '/mu-plugin/', WPMU_PLUGIN_DIR ); if ( is_wp_error( $results ) ) { return; } $token = hash( 'sha256', wp_rand() ); // Only who own this key can use 'elementor-safe-mode'. update_option( self::OPTION_TOKEN, $token ); // Save for later use. setcookie( self::OPTION_TOKEN, $token, time() + HOUR_IN_SECONDS, COOKIEPATH, '', is_ssl(), true ); } public function disable_safe_mode() { if ( ! current_user_can( 'install_plugins' ) ) { return; } $file_path = WP_CONTENT_DIR . '/mu-plugins/elementor-safe-mode.php'; if ( file_exists( $file_path ) ) { unlink( $file_path ); } if ( get_option( 'elementor_safe_mode_created_mu_dir' ) ) { // It will be removed only if it's empty and don't have other mu-plugins. @rmdir( WPMU_PLUGIN_DIR ); } delete_option( 'elementor_safe_mode' ); delete_option( 'elementor_safe_mode_allowed_plugins' ); delete_option( 'theme_mods_elementor-safe' ); delete_option( 'elementor_safe_mode_created_mu_dir' ); delete_option( self::OPTION_TOKEN ); setcookie( self::OPTION_TOKEN, '', 1, '', '', is_ssl(), true ); } public function filter_preview_url( $url ) { return add_query_arg( 'elementor-mode', 'safe', $url ); } public function filter_template() { return ELEMENTOR_PATH . 'modules/page-templates/templates/canvas.php'; } public function print_safe_mode_css() { ?> print_safe_mode_css() ?>

  • ', // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped '' ); ?>
  • ', // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped '' ); ?>
', // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped '' ); ?>
is_allowed_post_type() ) { return; } $this->print_safe_mode_css(); ?> ' . esc_html__( 'Disable Safe Mode', 'elementor' ) . ''; return $actions; } public function on_deactivated_plugin( $plugin ) { if ( ELEMENTOR_PLUGIN_BASE === $plugin ) { $this->disable_safe_mode(); return; } $allowed_plugins = get_option( 'elementor_safe_mode_allowed_plugins', [] ); $plugin_key = array_search( $plugin, $allowed_plugins, true ); if ( $plugin_key ) { unset( $allowed_plugins[ $plugin_key ] ); update_option( 'elementor_safe_mode_allowed_plugins', $allowed_plugins ); } } public function update_allowed_plugins() { $allowed_plugins = [ 'elementor' => ELEMENTOR_PLUGIN_BASE, ]; if ( defined( 'ELEMENTOR_PRO_PLUGIN_BASE' ) ) { $allowed_plugins['elementor_pro'] = ELEMENTOR_PRO_PLUGIN_BASE; } if ( defined( 'WC_PLUGIN_BASENAME' ) ) { $allowed_plugins['woocommerce'] = WC_PLUGIN_BASENAME; } update_option( 'elementor_safe_mode_allowed_plugins', $allowed_plugins ); } public function __construct() { if ( current_user_can( 'install_plugins' ) ) { add_action( 'elementor/admin/after_create_settings/elementor-tools', [ $this, 'add_admin_button' ] ); } add_action( 'elementor/ajax/register_actions', [ $this, 'register_ajax_actions' ] ); $plugin_file = self::MU_PLUGIN_FILE_NAME; add_filter( "plugin_action_links_{$plugin_file}", [ $this, 'plugin_action_links' ] ); // Use pre_update, in order to catch cases that $value === $old_value and it not updated. add_filter( 'pre_update_option_elementor_safe_mode', [ $this, 'on_update_safe_mode' ], 10, 2 ); add_action( 'elementor/safe_mode/init', [ $this, 'run_safe_mode' ] ); add_action( 'elementor/editor/footer', [ $this, 'print_try_safe_mode' ] ); if ( $this->is_enabled() ) { add_action( 'activated_plugin', [ $this, 'update_allowed_plugins' ] ); add_action( 'deactivated_plugin', [ $this, 'on_deactivated_plugin' ] ); } } private function is_allowed_post_type() { $allowed_post_types = [ 'post', 'page', 'product', Source_Local::CPT, ]; $current_post_type = get_post_type( Plugin::$instance->editor->get_post_id() ); return in_array( $current_post_type, $allowed_post_types ); } } modules/safe-mode/mu-plugin/elementor-safe-mode.php000064400000007533152377341010016345 0ustar00 '' . esc_html__( 'Learn More', 'elementor' ) . '', ]; $plugin_meta = array_merge( $plugin_meta, $row_meta ); } return $plugin_meta; } public function __construct() { add_filter( 'plugin_row_meta', [ $this, 'plugin_row_meta' ], 10, 4 ); $enabled_type = $this->is_enabled(); if ( ! $enabled_type || ! $this->is_valid_token() ) { return; } if ( ! $this->is_requested() && 'global' !== $enabled_type ) { return; } if ( ! $this->is_editor() && ! $this->is_editor_preview() && ! $this->is_editor_ajax() ) { return; } $this->add_hooks(); } } new Safe_Mode(); modules/web-cli/module.php000064400000002040152377341010011533 0ustar00get_js_assets_url( 'web-cli' ), [], ELEMENTOR_VERSION, true ); $this->print_config( 'elementor-web-cli' ); } protected function get_init_settings() { return [ 'isDebug' => ( defined( 'WP_DEBUG' ) && WP_DEBUG ), 'urls' => [ 'rest' => get_rest_url(), 'assets' => ELEMENTOR_ASSETS_URL, ], 'nonce' => wp_create_nonce( 'wp_rest' ), ]; } } modules/admin-bar/module.php000064400000006323152377341010012053 0ustar00is_editable_by_current_user() ) { return; } $this->documents[ $document->get_main_id() ] = $document; } /** * Scripts for module. */ public function enqueue_scripts() { if ( empty( $this->documents ) ) { return; } // Should load 'elementor-admin-bar' before 'admin-bar' wp_dequeue_script( 'admin-bar' ); wp_enqueue_script( 'elementor-admin-bar', $this->get_js_assets_url( 'elementor-admin-bar' ), [ 'elementor-frontend-modules' ], ELEMENTOR_VERSION, true ); // This is a core script of WordPress, it is not required to pass the 'ver' argument. wp_enqueue_script( // phpcs:ignore WordPress.WP.EnqueuedResourceParameters 'admin-bar', null, [ 'elementor-admin-bar' ], false, true ); $this->print_config( 'elementor-admin-bar' ); } /** * Creates admin bar menu items config. * * @return array */ public function get_init_settings() { $settings = []; if ( ! empty( $this->documents ) ) { $settings['elementor_edit_page'] = $this->get_edit_button_config(); } /** * Admin bar settings in the frontend. * * Register admin_bar config to parse later in the frontend and add to the admin bar with JS. * * @since 3.0.0 * * @param array $settings the admin_bar config */ $settings = apply_filters( 'elementor/frontend/admin_bar/settings', $settings ); return $settings; } /** * Creates the config for 'Edit with elementor' menu item. * * @return array */ private function get_edit_button_config() { $queried_object_id = get_queried_object_id(); $href = null; if ( is_singular() && isset( $this->documents[ $queried_object_id ] ) ) { $href = $this->documents[ $queried_object_id ]->get_edit_url(); unset( $this->documents[ $queried_object_id ] ); } return [ 'id' => 'elementor_edit_page', 'title' => esc_html__( 'Edit with Elementor', 'elementor' ), 'href' => $href, 'children' => array_map( function ( $document ) { return [ 'id' => "elementor_edit_doc_{$document->get_main_id()}", 'title' => $document->get_post()->post_title, 'sub_title' => $document::get_title(), 'href' => $document->get_edit_url(), ]; }, $this->documents ), ]; } /** * Module constructor. */ public function __construct() { add_action( 'elementor/frontend/before_get_builder_content', [ $this, 'add_document_to_admin_bar' ], 10, 2 ); add_action( 'wp_footer', [ $this, 'enqueue_scripts' ], 11 /* after third party scripts */ ); } } modules/history/module.php000064400000003007152377341010011716 0ustar00modules_manager->get_modules( 'dev-tools' )->deprecation->deprecated_function( __METHOD__, '3.1.0' ); return []; } /** * @since 2.3.0 * @access public */ public function add_templates() { Plugin::$instance->common->add_template( __DIR__ . '/views/history-panel-template.php' ); Plugin::$instance->common->add_template( __DIR__ . '/views/revisions-panel-template.php' ); } /** * History module constructor. * * Initializing Elementor history module. * * @since 1.7.0 * @access public */ public function __construct() { add_action( 'elementor/editor/init', [ $this, 'add_templates' ] ); } } modules/history/revisions-manager.php000064400000023766152377341010014100 0ustar00documents->get( $post_id ); if ( $document && $document->is_built_with_elementor() ) { $post_content .= ''; } return $post_content; } /** * @since 2.0.0 * @access public * @static */ public static function remove_temp_post_content() { global $post; $document = Plugin::$instance->documents->get( $post->ID ); if ( ! $document || ! $document->is_built_with_elementor() ) { return; } $post->post_content = str_replace( '', '', $post->post_content ); } /** * @since 1.7.0 * @access public * @static * * @param int $post_id * @param array $query_args * @param bool $parse_result * * @return array */ public static function get_revisions( $post_id = 0, $query_args = [], $parse_result = true ) { $post = get_post( $post_id ); if ( ! $post || empty( $post->ID ) ) { return []; } $revisions = []; $default_query_args = [ 'posts_per_page' => self::MAX_REVISIONS_TO_DISPLAY, 'meta_key' => '_elementor_data', ]; $query_args = array_merge( $default_query_args, $query_args ); $posts = wp_get_post_revisions( $post->ID, $query_args ); if ( ! wp_revisions_enabled( $post ) ) { $autosave = Utils::get_post_autosave( $post->ID ); if ( $autosave ) { if ( $parse_result ) { array_unshift( $posts, $autosave ); } else { array_unshift( $posts, $autosave->ID ); } } } if ( $parse_result ) { array_unshift( $posts, $post ); } else { array_unshift( $posts, $post->ID ); return $posts; } $current_time = current_time( 'timestamp' ); /** @var \WP_Post $revision */ foreach ( $posts as $revision ) { $date = date_i18n( _x( 'M j @ H:i', 'revision date format', 'elementor' ), strtotime( $revision->post_modified ) ); $human_time = human_time_diff( strtotime( $revision->post_modified ), $current_time ); if ( $revision->ID === $post->ID ) { $type = 'current'; $type_label = esc_html__( 'Current Version', 'elementor' ); } elseif ( false !== strpos( $revision->post_name, 'autosave' ) ) { $type = 'autosave'; $type_label = esc_html__( 'Autosave', 'elementor' ); } else { $type = 'revision'; $type_label = esc_html__( 'Revision', 'elementor' ); } if ( ! isset( self::$authors[ $revision->post_author ] ) ) { self::$authors[ $revision->post_author ] = [ 'avatar' => get_avatar( $revision->post_author, 22 ), 'display_name' => get_the_author_meta( 'display_name', $revision->post_author ), ]; } $revisions[] = [ 'id' => $revision->ID, 'author' => self::$authors[ $revision->post_author ]['display_name'], 'timestamp' => strtotime( $revision->post_modified ), 'date' => sprintf( /* translators: 1: Human readable time difference, 2: Date. */ __( '%1$s ago (%2$s)', 'elementor' ), $human_time, $date ), 'type' => $type, 'typeLabel' => $type_label, 'gravatar' => self::$authors[ $revision->post_author ]['avatar'], ]; } return $revisions; } /** * @since 1.9.2 * @access public * @static */ public static function update_autosave( $autosave_data ) { self::save_revision( $autosave_data['ID'] ); } /** * @since 1.7.0 * @access public * @static */ public static function save_revision( $revision_id ) { $parent_id = wp_is_post_revision( $revision_id ); if ( $parent_id ) { Plugin::$instance->db->safe_copy_elementor_meta( $parent_id, $revision_id ); } } /** * @since 1.7.0 * @access public * @static */ public static function restore_revision( $parent_id, $revision_id ) { $parent = Plugin::$instance->documents->get( $parent_id ); $revision = Plugin::$instance->documents->get( $revision_id ); if ( ! $parent || ! $revision ) { return; } $is_built_with_elementor = $revision->is_built_with_elementor(); $parent->set_is_built_with_elementor( $is_built_with_elementor ); if ( ! $is_built_with_elementor ) { return; } Plugin::$instance->db->copy_elementor_meta( $revision_id, $parent_id ); $post_css = Post_CSS::create( $parent_id ); $post_css->update(); } /** * @since 2.3.0 * @access public * @static * * @param $data * * @return array * @throws \Exception */ public static function ajax_get_revision_data( array $data ) { if ( ! isset( $data['id'] ) ) { throw new \Exception( 'You must set the revision ID.' ); } $revision = Plugin::$instance->documents->get( $data['id'] ); if ( ! $revision ) { throw new \Exception( 'Invalid revision.' ); } if ( ! current_user_can( 'edit_post', $revision->get_id() ) ) { throw new \Exception( esc_html__( 'Access denied.', 'elementor' ) ); } $revision_data = [ 'settings' => $revision->get_settings(), 'elements' => $revision->get_elements_data(), ]; return $revision_data; } /** * @since 1.7.0 * @access public * @static */ public static function add_revision_support_for_all_post_types() { $post_types = get_post_types_by_support( 'elementor' ); foreach ( $post_types as $post_type ) { add_post_type_support( $post_type, 'revisions' ); } } /** * @since 2.0.0 * @access public * @static * @param array $return_data * @param Document $document * * @return array */ public static function on_ajax_save_builder_data( $return_data, $document ) { $post_id = $document->get_main_id(); $latest_revisions = self::get_revisions( $post_id, [ 'posts_per_page' => 1, ] ); $all_revision_ids = self::get_revisions( $post_id, [ 'fields' => 'ids', ], false ); // Send revisions data only if has revisions. if ( ! empty( $latest_revisions ) ) { $current_revision_id = self::current_revision_id( $post_id ); $return_data = array_replace_recursive( $return_data, [ 'config' => [ 'document' => [ 'revisions' => [ 'current_id' => $current_revision_id, ], ], ], 'latest_revisions' => $latest_revisions, 'revisions_ids' => $all_revision_ids, ] ); } return $return_data; } /** * @since 1.7.0 * @access public * @static */ public static function db_before_save( $status, $has_changes ) { if ( $has_changes ) { self::handle_revision(); } } public static function document_config( $settings, $post_id ) { $settings['revisions'] = [ 'enabled' => ( $post_id && wp_revisions_enabled( get_post( $post_id ) ) ), 'current_id' => self::current_revision_id( $post_id ), ]; return $settings; } /** * Localize settings. * * Add new localized settings for the revisions manager. * * Fired by `elementor/editor/editor_settings` filter. * * @since 1.7.0 * @access public * @static * @deprecated 3.1.0 */ public static function editor_settings() { Plugin::$instance->modules_manager->get_modules( 'dev-tools' )->deprecation->deprecated_function( __METHOD__, '3.1.0' ); return []; } public static function ajax_get_revisions() { return self::get_revisions(); } /** * @since 2.3.0 * @access public * @static */ public static function register_ajax_actions( Ajax $ajax ) { $ajax->register_ajax_action( 'get_revisions', [ __CLASS__, 'ajax_get_revisions' ] ); $ajax->register_ajax_action( 'get_revision_data', [ __CLASS__, 'ajax_get_revision_data' ] ); } /** * @since 1.7.0 * @access private * @static */ private static function register_actions() { add_action( 'wp_restore_post_revision', [ __CLASS__, 'restore_revision' ], 10, 2 ); add_action( 'init', [ __CLASS__, 'add_revision_support_for_all_post_types' ], 9999 ); add_filter( 'elementor/document/config', [ __CLASS__, 'document_config' ], 10, 2 ); add_action( 'elementor/db/before_save', [ __CLASS__, 'db_before_save' ], 10, 2 ); add_action( '_wp_put_post_revision', [ __CLASS__, 'save_revision' ] ); add_action( 'wp_creating_autosave', [ __CLASS__, 'update_autosave' ] ); add_action( 'elementor/ajax/register_actions', [ __CLASS__, 'register_ajax_actions' ] ); // Hack to avoid delete the auto-save revision in WP editor. add_filter( 'edit_post_content', [ __CLASS__, 'avoid_delete_auto_save' ], 10, 2 ); add_action( 'edit_form_after_title', [ __CLASS__, 'remove_temp_post_content' ] ); if ( wp_doing_ajax() ) { add_filter( 'elementor/documents/ajax_save/return_data', [ __CLASS__, 'on_ajax_save_builder_data' ], 10, 2 ); } } /** * @since 1.9.0 * @access private * @static */ private static function current_revision_id( $post_id ) { $current_revision_id = $post_id; $autosave = Utils::get_post_autosave( $post_id ); if ( is_object( $autosave ) ) { $current_revision_id = $autosave->ID; } return $current_revision_id; } } modules/history/views/revisions-panel-template.php000064400000007035152377341010016522 0ustar00 modules/history/views/history-panel-template.php000064400000003535152377341010016203 0ustar00 modules/library/module.php000064400000002611152377341010011661 0ustar00documents ->register_document_type( 'not-supported', Documents\Not_Supported::get_class_full_name() ) ->register_document_type( 'page', Documents\Page::get_class_full_name() ) ->register_document_type( 'section', Documents\Section::get_class_full_name() ); $experiments_manager = Plugin::$instance->experiments; // Register `Container` document type only if the experiment is active. if ( $experiments_manager->is_feature_active( 'container' ) ) { Plugin::$instance->documents ->register_document_type( 'container', Documents\Container::get_class_full_name() ); } } } modules/library/traits/library.php000064400000002021152377341010013341 0ustar00get_name() ); //PHPCS - Not a user input printf( '%s', $admin_filter_url, $this->get_title() ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } /** * Save document type. * * Set new/updated document type. * * @since 3.1.0 * @access public */ public function save_template_type() { parent::save_template_type(); wp_set_object_terms( $this->post->ID, $this->get_name(), Source_Local::TAXONOMY_TYPE_SLUG ); } } modules/library/documents/page.php000064400000003521152377341010013312 0ustar00get_main_id(); } /** * @since 3.1.0 * @access protected */ protected function register_controls() { parent::register_controls(); Post::register_hide_title_control( $this ); Post::register_style_controls( $this ); } protected function get_remote_library_config() { $config = parent::get_remote_library_config(); $config['type'] = 'page'; $config['default_route'] = 'templates/pages'; return $config; } } modules/library/documents/library-document.php000064400000003321152377341010015654 0ustar00 true, ]; return $config; } } modules/library/documents/section.php000064400000001655152377341010014050 0ustar00user_id = $user_id; } /** * @param null $vendor * @param null $resource * @param false $ignore_cache * * @return array */ public function get( $vendor = null, $resource = null, $ignore_cache = false ) { if ( $ignore_cache || empty( $this->cache ) ) { $this->cache = get_user_meta( $this->user_id, self::USER_META_KEY, true ); } if ( ! $this->cache || ! is_array( $this->cache ) ) { return []; } if ( $vendor && $resource ) { $key = $this->get_key( $vendor, $resource ); return isset( $this->cache[ $key ] ) ? $this->cache[ $key ] : []; } return $this->cache; } /** * @param $vendor * @param $resource * @param $id * * @return bool */ public function exists( $vendor, $resource, $id ) { return in_array( $id, $this->get( $vendor, $resource ), true ); } /** * @param $vendor * @param $resource * @param array $value * * @return $this * @throws \Exception */ public function save( $vendor, $resource, $value = [] ) { $all_favorites = $this->get(); $all_favorites[ $this->get_key( $vendor, $resource ) ] = $value; $result = update_user_meta( $this->user_id, self::USER_META_KEY, $all_favorites ); if ( false === $result ) { throw new \Exception( __( 'Failed to save user favorites', 'elementor' ) ); } $this->cache = $all_favorites; return $this; } /** * @param $vendor * @param $resource * @param $id * * @return $this * @throws \Exception */ public function add( $vendor, $resource, $id ) { $favorites = $this->get( $vendor, $resource ); if ( in_array( $id, $favorites, true ) ) { return $this; } $favorites[] = $id; $this->save( $vendor, $resource, $favorites ); return $this; } /** * @param $vendor * @param $resource * @param $id * * @return $this * @throws \Exception */ public function remove( $vendor, $resource, $id ) { $favorites = $this->get( $vendor, $resource ); if ( ! in_array( $id, $favorites, true ) ) { return $this; } $favorites = array_filter( $favorites, function ( $item ) use ( $id ) { return $item !== $id; } ); $this->save( $vendor, $resource, $favorites ); return $this; } /** * @param $vendor * @param $resource * * @return string */ private function get_key( $vendor, $resource ) { return "{$vendor}/{$resource}"; } } modules/compatibility-tag/module.php000064400000003251152377341010013640 0ustar00merge( $this->get_plugins_with_plugin_title_in_their_name() ); } /** * Get all the plugins that has the name of the current plugin in their name. * * @return Collection */ private function get_plugins_with_plugin_title_in_their_name() { return Plugin::$instance->wp ->get_plugins() ->except( [ 'elementor/elementor.php', 'elementor-beta/elementor-beta.php', 'block-builder/block-builder.php', ] ) ->filter( function ( array $data ) { return false !== strpos( strtolower( $data['Name'] ), 'elementor' ); } ); } } modules/compatibility-tag/views/plugin-update-message-compatibility.php000064400000004255152377341010022564 0ustar00
- get_plugin_label() ), $new_version->__toString() // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ); ?>

$plugin_data ) : ?> get_plugin_header() ] = esc_html__( 'Unknown', 'elementor' ); } ?>
get_plugin_label() ) ); ?>
get_plugin_header() ] ); ?>
modules/compatibility-tag/compatibility-tag-report.php000064400000010334152377341010017306 0ustar00compatibility_tag_service = $this->_properties['fields']['compatibility_tag_service']; $this->plugin_label = $this->_properties['fields']['plugin_label']; $this->plugin_version = $this->_properties['fields']['plugin_version']; $this->plugins_to_check = $this->_properties['fields']['plugins_to_check']; } /** * The title of the report * * @return string */ public function get_title() { return $this->plugin_label . ' - Compatibility Tag'; } /** * Report fields * * @return string[] */ public function get_fields() { return [ 'report_data' => '', ]; } /** * Report data. * * @return string[] * @throws \Exception */ public function get_report_data() { $compatibility_status = $this->compatibility_tag_service->check( $this->plugin_version, $this->plugins_to_check ); return [ 'value' => $compatibility_status, ]; } public function get_html_report_data() { $compatibility_status = $this->compatibility_tag_service->check( $this->plugin_version, $this->plugins_to_check ); $compatibility_status = $this->get_html_from_compatibility_status( $compatibility_status ); return [ 'value' => $compatibility_status, ]; } public function get_raw_report_data() { $compatibility_status = $this->compatibility_tag_service->check( $this->plugin_version, $this->plugins_to_check ); $compatibility_status = $this->get_raw_from_compatibility_status( $compatibility_status ); return [ 'value' => $compatibility_status, ]; } /** * Merge compatibility status with the plugins data. * * @param array $compatibility_status * * @return Collection */ private function merge_compatibility_status_with_plugins( array $compatibility_status ) { $labels = $this->get_report_labels(); $compatibility_status = ( new Collection( $compatibility_status ) ) ->map( function ( $value ) use ( $labels ) { $status = isset( $labels[ $value ] ) ? $labels[ $value ] : __( 'Unknown', 'elementor' ); return [ 'compatibility_status' => $status ]; } ); return Plugin::$instance->wp ->get_plugins() ->only( $compatibility_status->keys() ) ->merge_recursive( $compatibility_status ); } /** * Format compatibility status into HTML. * * @param array $compatibility_status * * @return string */ private function get_html_from_compatibility_status( array $compatibility_status ) { return $this->merge_compatibility_status_with_plugins( $compatibility_status ) ->map( function ( array $plugin ) { return " {$plugin['Name']} {$plugin['compatibility_status']} "; } ) ->implode( '' ); } /** * Format compatibility status into raw string. * * @param array $compatibility_status * * @return string */ private function get_raw_from_compatibility_status( array $compatibility_status ) { return PHP_EOL . $this->merge_compatibility_status_with_plugins( $compatibility_status ) ->map( function ( array $plugin ) { return "\t{$plugin['Name']}: {$plugin['compatibility_status']}"; } ) ->implode( PHP_EOL ); } /** * @return array */ private function get_report_labels() { return [ Compatibility_Tag::COMPATIBLE => __( 'Compatible', 'elementor' ), Compatibility_Tag::INCOMPATIBLE => __( 'Incompatible', 'elementor' ), Compatibility_Tag::HEADER_NOT_EXISTS => __( 'Compatibility not specified', 'elementor' ), Compatibility_Tag::INVALID_VERSION => __( 'Compatibility unknown', 'elementor' ), Compatibility_Tag::PLUGIN_NOT_EXISTS => __( 'Error', 'elementor' ), ]; } } modules/compatibility-tag/compatibility-tag.php000064400000003707152377341010016003 0ustar00header = $header; } /** * Return if plugins is compatible or not. * * @param Version $version * @param array $plugins_names * * @return array * @throws \Exception */ public function check( Version $version, array $plugins_names ) { return ( new Collection( $plugins_names ) ) ->map_with_keys( function ( $plugin_name ) use ( $version ) { return [ $plugin_name => $this->is_compatible( $version, $plugin_name ) ]; } ) ->all(); } /** * Check single plugin if is compatible or not. * * @param Version $version * @param $plugin_name * * @return string * @throws \Exception */ private function is_compatible( Version $version, $plugin_name ) { $plugins = Plugin::$instance->wp->get_plugins(); if ( ! isset( $plugins[ $plugin_name ] ) ) { return self::PLUGIN_NOT_EXISTS; } $requested_plugin = $plugins[ $plugin_name ]; if ( empty( $requested_plugin[ $this->header ] ) ) { return self::HEADER_NOT_EXISTS; } if ( ! Version::is_valid_version( $requested_plugin[ $this->header ] ) ) { return self::INVALID_VERSION; } if ( $version->compare( '>', $requested_plugin[ $this->header ], Version::PART_MAJOR_2 ) ) { return self::INCOMPATIBLE; } return self::COMPATIBLE; } } modules/compatibility-tag/base-module.php000064400000007505152377341010014556 0ustar00compatibility_tag_service ) { $this->compatibility_tag_service = new Compatibility_Tag( $this->get_plugin_header() ); } return $this->compatibility_tag_service; } /** * Add allowed headers to plugins. * * @param array $headers * @param $compatibility_tag_header * * @return array */ protected function enable_elementor_headers( array $headers, $compatibility_tag_header ) { $headers[] = $compatibility_tag_header; return $headers; } /** * @return Collection */ protected function get_plugins_to_check() { return $this->get_plugins_with_header(); } /** * Append a compatibility message to the update plugin warning. * * @param array $args * * @throws \Exception */ protected function on_plugin_update_message( array $args ) { $new_version = Version::create_from_string( $args['new_version'] ); if ( $new_version->compare( '=', $args['Version'], Version::PART_MAJOR_2 ) ) { return; } $plugins = $this->get_plugins_to_check(); $plugins_compatibility = $this->get_compatibility_tag_service()->check( $new_version, $plugins->keys() ); $plugins = $plugins->filter( function ( $data, $plugin_name ) use ( $plugins_compatibility ) { return Compatibility_Tag::COMPATIBLE !== $plugins_compatibility[ $plugin_name ]; } ); if ( $plugins->is_empty() ) { return; } include __DIR__ . '/views/plugin-update-message-compatibility.php'; } /** * Get all plugins with specific header. * * @return Collection */ private function get_plugins_with_header() { return Plugin::$instance->wp ->get_plugins() ->filter( function ( array $plugin ) { return ! empty( $plugin[ $this->get_plugin_header() ] ); } ); } /** * @return string */ abstract protected function get_plugin_header(); /** * @return string */ abstract protected function get_plugin_label(); /** * @return string */ abstract protected function get_plugin_name(); /** * @return string */ abstract protected function get_plugin_version(); /** * Base_Module constructor. * * @throws \Exception */ public function __construct() { add_filter( 'extra_plugin_headers', function ( array $headers ) { return $this->enable_elementor_headers( $headers, $this->get_plugin_header() ); } ); add_action( 'in_plugin_update_message-' . $this->get_plugin_name(), function ( array $args ) { $this->on_plugin_update_message( $args ); }, 11 /* After the warning message for backup */ ); add_action( 'elementor/system_info/get_allowed_reports', function () { $plugin_short_name = basename( $this->get_plugin_name(), '.php' ); System_Info::add_report( "{$plugin_short_name}_compatibility", [ 'file_name' => __DIR__ . '/compatibility-tag-report.php', 'class_name' => __NAMESPACE__ . '\Compatibility_Tag_Report', 'fields' => [ 'compatibility_tag_service' => $this->get_compatibility_tag_service(), 'plugin_label' => $this->get_plugin_label(), 'plugin_version' => Version::create_from_string( $this->get_plugin_version() ), 'plugins_to_check' => $this->get_plugins_to_check() ->only( get_option( 'active_plugins' ) ) ->keys(), ], ] ); } ); } } modules/wp-cli/module.php000064400000002451152377341010011412 0ustar00register_logger( 'cli', 'Elementor\Modules\WpCli\Cli_Logger' ); $logger->set_default_logger( 'cli' ); } public function init_common() { Plugin::$instance->init_common(); } /** * * @since 2.1.0 * @access public */ public function __construct() { add_action( 'cli_init', [ $this, 'init_common' ] ); add_action( 'elementor/loggers/register', [ $this, 'register_cli_logger' ] ); \WP_CLI::add_command( 'elementor', '\Elementor\Modules\WpCli\Command' ); \WP_CLI::add_command( 'elementor update', '\Elementor\Modules\WpCli\Update' ); \WP_CLI::add_command( 'elementor library', '\Elementor\Modules\WpCli\Library' ); } } modules/wp-cli/command.php000064400000010174152377341010011544 0ustar00 $blog ) { // Cast $blog as an array instead of object $blog_id = $blog->blog_id; switch_to_blog( $blog_id ); Plugin::$instance->files_manager->clear_cache(); \WP_CLI::success( 'Flushed the Elementor CSS Cache for site - ' . get_option( 'home' ) ); restore_current_blog(); } } else { Plugin::$instance->files_manager->clear_cache(); \WP_CLI::success( 'Flushed the Elementor CSS Cache' ); } } /** * Print system info powered by Elementor * * ## EXAMPLES * * 1. wp elementor system-info * - This will print the System Info in JSON format * * @since 3.0.11 * @access public * @alias system-info */ public function system_info() { echo wp_json_encode( \Elementor\Tracker::get_tracking_data() ); } /** * Replace old URLs with new URLs in all Elementor pages. * * [--force] * Suppress error messages. instead, return "0 affected rows.". * * ## EXAMPLES * * 1. wp elementor replace-urls * - This will replace all URLs with the URL. * * 2. wp elementor replace-urls --force * - This will replace all URLs with the URL without throw errors. * * @access public * @alias replace-urls */ public function replace_urls( $args, $assoc_args ) { if ( empty( $args[0] ) ) { \WP_CLI::error( 'Please set the `old` URL' ); } if ( empty( $args[1] ) ) { \WP_CLI::error( 'Please set the `new` URL' ); } try { $results = Utils::replace_urls( $args[0], $args[1] ); \WP_CLI::success( $results ); } catch ( \Exception $e ) { if ( isset( $assoc_args['force'] ) ) { \WP_CLI::success( '0 rows affected.' ); } else { \WP_CLI::error( $e->getMessage() ); } } } /** * Sync Elementor Library. * * ## EXAMPLES * * 1. wp elementor sync-library * - This will sync the library with Elementor cloud library. * * @since 2.1.0 * @access public * @alias sync-library */ public function sync_library( $args, $assoc_args ) { // TODO: // \WP_CLI::warning( 'command is deprecated since 2.8.0 Please use: wp elementor library sync' ); $data = Api::get_library_data( true ); if ( empty( $data ) ) { \WP_CLI::error( 'Cannot sync library.' ); } \WP_CLI::success( 'Library has been synced.' ); } /** * Import template files to the Library. * * ## EXAMPLES * * 1. wp elementor import-library * - This will import a file or a zip of multiple files to the library. * * @since 2.1.0 * @access public * @alias import-library */ public function import_library( $args, $assoc_args ) { // TODO: // \WP_CLI::warning( 'command is deprecated since 2.8.0 Please use: wp elementor library import' ); if ( empty( $args[0] ) ) { \WP_CLI::error( 'Please set file path.' ); } /** @var Source_Local $source */ $source = Plugin::$instance->templates_manager->get_source( 'local' ); $imported_items = $source->import_template( basename( $args[0] ), $args[0] ); if ( is_wp_error( $imported_items ) ) { \WP_CLI::error( $imported_items->get_error_message() ); } \WP_CLI::success( count( $imported_items ) . ' item(s) has been imported.' ); } } modules/wp-cli/library.php000064400000013565152377341010011601 0ustar00 $blog ) { // Cast $blog as an array instead of object $blog_id = $blog->blog_id; switch_to_blog( $blog_id ); \WP_CLI::line( 'Site #' . $blog_id . ' - ' . get_option( 'blogname' ) ); $this->do_sync( isset( $assoc_args['force'] ) ); \WP_CLI::success( 'Done! - ' . get_option( 'home' ) ); restore_current_blog(); } } else { $this->do_sync( isset( $assoc_args['force'] ) ); \WP_CLI::success( 'Done!' ); } } /** * Import template files to the Library. * * ## EXAMPLES * * 1. wp elementor library import * - This will import a file or a zip of multiple files to the library. * * @param $args * @param $assoc_args * * @since 2.8.0 * @access public */ public function import( $args ) { if ( empty( $args[0] ) ) { \WP_CLI::error( 'Please set file path.' ); } $file = $args[0]; /** @var Source_Local $source */ $source = Plugin::$instance->templates_manager->get_source( 'local' ); $imported_items = $source->import_template( basename( $file ), $file ); if ( is_wp_error( $imported_items ) ) { \WP_CLI::error( $imported_items->get_error_message() ); } \WP_CLI::success( count( $imported_items ) . ' item(s) has been imported.' ); } /** * Import all template files from a directory. * * ## EXAMPLES * * 1. wp elementor library import-dir * - This will import all JSON files from * * @param $args * * @since 3.4.7 * @access public * @alias import-dir */ public function import_dir( $args ) { if ( empty( $args[0] ) ) { \WP_CLI::error( 'Please set dir path.' ); } $dir = $args[0]; if ( ! file_exists( $dir ) ) { \WP_CLI::error( "Dir `{$dir}` not found." ); } $files = glob( $dir . '/*.json' ); if ( empty( $files ) ) { \WP_CLI::error( 'Files not found.' ); } /** @var Source_Local $source */ $source = Plugin::$instance->templates_manager->get_source( 'local' ); $succeed = []; $errors = []; foreach ( $files as $file ) { $basename = basename( $file ); if ( ! file_exists( $file ) ) { $errors[ $basename ] = $file . ' file not found.'; continue; } $imported_items = $source->import_template( $basename, $file ); if ( is_wp_error( $imported_items ) ) { $errors[ $basename ] = $imported_items->get_error_message(); } else { $succeed[ $basename ] = true; } } $succeed_message = count( $succeed ) . ' item(s) has been imported.'; if ( ! empty( $errors ) ) { $error_message = var_export( $errors, 1 ); if ( ! empty( $succeed ) ) { $error_message = $succeed_message . ' ' . count( $errors ) . ' has errors: ' . $error_message; } \WP_CLI::error( $error_message ); } \WP_CLI::success( $succeed_message ); } /** * Connect site to Elementor Library. * (Network is not supported) * * --user * The user to connect * * --token * A connect token from Elementor Account Dashboard. * * ## EXAMPLES * * 1. wp elementor library connect --user=admin --token= * - This will connect the admin to Elementor library. * * @param $args * @param $assoc_args * * @since 2.8.0 * @access public */ public function connect( $args, $assoc_args ) { if ( ! get_current_user_id() ) { \WP_CLI::error( 'Please set user to connect (--user=).' ); } if ( empty( $assoc_args['token'] ) ) { \WP_CLI::error( 'Please set connect token.' ); } $_REQUEST['mode'] = 'cli'; $_REQUEST['token'] = $assoc_args['token']; $app = $this->get_library_app(); $app->set_auth_mode( 'cli' ); $app->action_authorize(); $app->action_get_token(); } /** * Disconnect site from Elementor Library. * * --user * The user to disconnect * * ## EXAMPLES * * 1. wp elementor library disconnect --user=admin * - This will disconnect the admin from Elementor library. * * @param $args * @param $assoc_args * * @since 2.8.0 * @access public */ public function disconnect() { if ( ! get_current_user_id() ) { \WP_CLI::error( 'Please set user to connect (--user=).' ); } $_REQUEST['mode'] = 'cli'; $this->get_library_app()->action_disconnect(); } private function do_sync() { $data = Api::get_library_data( true ); if ( empty( $data ) ) { \WP_CLI::error( 'Cannot sync library.' ); } } /** * @return \Elementor\Core\Common\Modules\Connect\Apps\Library */ private function get_library_app() { $connect = Plugin::$instance->common->get_component( 'connect' ); $app = $connect->get_app( 'library' ); // Before init. if ( ! $app ) { $connect->init(); $app = $connect->get_app( 'library' ); } return $app; } } modules/wp-cli/cli-logger.php000064400000001154152377341010012150 0ustar00format( 'raw' ); switch ( $item->type ) { case self::LEVEL_WARNING: \WP_CLI::warning( $message ); break; case self::LEVEL_ERROR: \WP_CLI::error( $message, false ); break; default: \WP_CLI::log( $message ); break; } parent::save_log( $item ); } } modules/wp-cli/update.php000064400000005154152377341010011412 0ustar00 $blog ) { // Cast $blog as an array instead of object $blog_id = $blog->blog_id; switch_to_blog( $blog_id ); \WP_CLI::line( 'Site #' . $blog_id . ' - ' . get_option( 'blogname' ) ); $this->do_db_upgrade( $assoc_args ); \WP_CLI::success( 'Done! - ' . get_option( 'home' ) ); restore_current_blog(); } } else { $this->do_db_upgrade( $assoc_args ); } } protected function get_update_db_manager_class() { return '\Elementor\Core\Upgrade\Manager'; } protected function do_db_upgrade( $assoc_args ) { $manager_class = $this->get_update_db_manager_class(); /** @var \Elementor\Core\Upgrade\Manager $manager */ $manager = new $manager_class(); $updater = $manager->get_task_runner(); if ( $updater->is_process_locked() && empty( $assoc_args['force'] ) ) { \WP_CLI::warning( 'Oops! Process is already running. Use --force to force run.' ); return; } if ( ! $manager->should_upgrade() ) { \WP_CLI::success( 'The DB is already updated!' ); return; } $callbacks = $manager->get_upgrade_callbacks(); $did_tasks = false; if ( ! empty( $callbacks ) ) { Plugin::$instance->logger->get_logger()->info( 'Update DB has been started', [ 'meta' => [ 'plugin' => $manager->get_plugin_label(), 'from' => $manager->get_current_version(), 'to' => $manager->get_new_version(), ], ] ); $updater->handle_immediately( $callbacks ); $did_tasks = true; } $manager->on_runner_complete( $did_tasks ); \WP_CLI::success( count( $callbacks ) . ' updates(s) has been applied.' ); } } modules/shapes/module.php000064400000002521152377341010011500 0ustar00 esc_html__( 'Wave', 'elementor' ), 'arc' => esc_html__( 'Arc', 'elementor' ), 'circle' => esc_html__( 'Circle', 'elementor' ), 'line' => esc_html__( 'Line', 'elementor' ), 'oval' => esc_html__( 'Oval', 'elementor' ), 'spiral' => esc_html__( 'Spiral', 'elementor' ), ]; if ( $add_custom ) { $paths['custom'] = esc_html__( 'Custom', 'elementor' ); } return $paths; } /** * Get an SVG Path URL from the pre-defined ones. * * @param string $path - Path name. * * @return string */ public static function get_path_url( $path ) { return ELEMENTOR_ASSETS_URL . 'svg-paths/' . $path . '.svg'; } /** * Get the module's associated widgets. * * @return string[] */ protected function get_widgets() { return [ 'TextPath', ]; } /** * Retrieve the module name. * * @return string */ public function get_name() { return 'shapes'; } } modules/shapes/widgets/text-path.php000064400000034366152377341010013613 0ustar00start_controls_section( 'section_content_text_path', [ 'label' => esc_html__( 'Text Path', 'elementor' ), 'tab' => Controls_Manager::TAB_CONTENT, ] ); $this->add_control( 'text', [ 'label' => esc_html__( 'Text', 'elementor' ), 'type' => Controls_Manager::TEXT, 'label_block' => true, 'default' => esc_html__( 'Add Your Curvy Text Here', 'elementor' ), 'frontend_available' => true, 'render_type' => 'none', 'dynamic' => [ 'active' => true, ], ] ); $this->add_control( 'path', [ 'label' => esc_html__( 'Path Type', 'elementor' ), 'type' => Controls_Manager::SELECT, 'options' => Shapes_Module::get_paths(), 'default' => 'wave', ] ); $this->add_control( 'custom_path', [ 'label' => esc_html__( 'SVG', 'elementor' ), 'type' => Controls_Manager::MEDIA, 'media_types' => [ 'svg', ], 'condition' => [ 'path' => 'custom', ], 'dynamic' => [ 'active' => true, ], 'description' => sprintf( /* translators: 1: Link open tag, 2: Link close tag. */ esc_html__( 'Want to create custom text paths with SVG? %1$sLearn More%2$s', 'elementor' ), '', '' ), ] ); $this->add_control( 'link', [ 'label' => esc_html__( 'Link', 'elementor' ), 'type' => Controls_Manager::URL, 'label_block' => true, 'dynamic' => [ 'active' => true, ], 'placeholder' => esc_html__( 'Paste URL or type', 'elementor' ), 'frontend_available' => true, ] ); $this->add_responsive_control( 'align', [ 'label' => esc_html__( 'Alignment', 'elementor' ), 'type' => Controls_Manager::CHOOSE, 'default' => '', 'options' => [ 'left' => [ 'title' => esc_html__( 'Left', 'elementor' ), 'icon' => 'eicon-text-align-left', ], 'center' => [ 'title' => esc_html__( 'Center', 'elementor' ), 'icon' => 'eicon-text-align-center', ], 'right' => [ 'title' => esc_html__( 'Right', 'elementor' ), 'icon' => 'eicon-text-align-right', ], ], 'selectors' => [ '{{WRAPPER}}' => '--alignment: {{VALUE}}', ], 'frontend_available' => true, ] ); $this->add_control( 'text_path_direction', [ 'label' => esc_html__( 'Text Direction', 'elementor' ), 'type' => Controls_Manager::SELECT, 'default' => '', 'options' => [ '' => esc_html__( 'Default', 'elementor' ), 'rtl' => esc_html__( 'RTL', 'elementor' ), 'ltr' => esc_html__( 'LTR', 'elementor' ), ], 'selectors' => [ '{{WRAPPER}}' => '--direction: {{VALUE}}', ], 'frontend_available' => true, ] ); $this->add_control( 'show_path', [ 'label' => esc_html__( 'Show Path', 'elementor' ), 'type' => Controls_Manager::SWITCHER, 'label_on' => esc_html__( 'On', 'elementor' ), 'label_off' => esc_html__( 'Off', 'elementor' ), 'return_value' => self::DEFAULT_PATH_FILL, 'separator' => 'before', 'default' => '', 'selectors' => [ '{{WRAPPER}}' => '--path-stroke: {{VALUE}}; --path-fill: transparent;', ], ] ); $this->end_controls_section(); } /** * Register style controls under style tab. */ protected function register_style_tab() { /** * Text Path styling section. */ $this->start_controls_section( 'section_style_text_path', [ 'label' => esc_html__( 'Text Path', 'elementor' ), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_responsive_control( 'size', [ 'label' => esc_html__( 'Size', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'size_units' => [ '%', 'px' ], 'range' => [ '%' => [ 'min' => 0, 'max' => 100, 'step' => 10, ], 'px' => [ 'min' => 0, 'max' => 800, 'step' => 50, ], ], 'default' => [ 'unit' => 'px', 'size' => 500, ], 'tablet_default' => [ 'unit' => 'px', 'size' => 500, ], 'mobile_default' => [ 'unit' => 'px', 'size' => 500, ], 'selectors' => [ '{{WRAPPER}}' => '--width: {{SIZE}}{{UNIT}};', ], ] ); $this->add_responsive_control( 'rotation', [ 'label' => esc_html__( 'Rotate', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'size_units' => [ 'deg' ], 'range' => [ 'deg' => [ 'min' => 0, 'max' => 360, 'step' => 1, ], ], 'default' => [ 'unit' => 'deg', 'size' => '', ], 'tablet_default' => [ 'unit' => 'deg', 'size' => '', ], 'mobile_default' => [ 'unit' => 'deg', 'size' => '', ], 'selectors' => [ '{{WRAPPER}}' => '--rotate: {{SIZE}}{{UNIT}};', ], ] ); $this->add_control( 'text_heading', [ 'label' => esc_html__( 'Text', 'elementor' ), 'type' => Controls_Manager::HEADING, ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'text_typography', 'selector' => '{{WRAPPER}}', 'global' => [ 'default' => Global_Typography::TYPOGRAPHY_TEXT, ], 'fields_options' => [ 'font_size' => [ 'default' => [ 'size' => '20', 'unit' => 'px', ], 'size_units' => [ 'px' ], ], // Text decoration isn't an inherited property, so it's required to explicitly // target the specific `textPath` element. 'text_decoration' => [ 'selectors' => [ '{{WRAPPER}} textPath' => 'text-decoration: {{VALUE}};', ], ], ], ] ); $this->add_group_control( Group_Control_Text_Stroke::get_type(), [ 'name' => 'text_stroke', 'selector' => '{{WRAPPER}} textPath', ] ); $this->add_responsive_control( 'word_spacing', [ 'label' => esc_html__( 'Word Spacing', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'size_units' => [ 'px' ], 'range' => [ 'px' => [ 'min' => -20, 'max' => 20, 'step' => 1, ], ], 'default' => [ 'unit' => 'px', 'size' => '', ], 'tablet_default' => [ 'unit' => 'px', 'size' => '', ], 'mobile_default' => [ 'unit' => 'px', 'size' => '', ], 'selectors' => [ '{{WRAPPER}}' => '--word-spacing: {{SIZE}}{{UNIT}};', ], ] ); $this->add_control( 'start_point', [ 'label' => esc_html__( 'Starting Point', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'size_units' => [ '%' ], 'range' => [ 'px' => [ 'min' => -100, 'max' => 100, 'step' => 1, ], ], 'default' => [ 'unit' => '%', 'size' => 0, ], 'frontend_available' => true, 'render_type' => 'none', ] ); $this->start_controls_tabs( 'text_style' ); /** * Normal tab. */ $this->start_controls_tab( 'text_normal', [ 'label' => esc_html__( 'Normal', 'elementor' ), ] ); $this->add_control( 'text_color_normal', [ 'label' => esc_html__( 'Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'default' => '', 'selectors' => [ '{{WRAPPER}}' => '--text-color: {{VALUE}};', ], ] ); $this->end_controls_tab(); /** * Hover tab. */ $this->start_controls_tab( 'text_hover', [ 'label' => esc_html__( 'Hover', 'elementor' ), ] ); $this->add_control( 'text_color_hover', [ 'label' => esc_html__( 'Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'default' => '', 'selectors' => [ '{{WRAPPER}}' => '--text-color-hover: {{VALUE}};', ], ] ); $this->add_control( 'hover_animation', [ 'label' => esc_html__( 'Hover Animation', 'elementor' ), 'type' => Controls_Manager::HOVER_ANIMATION, ] ); $this->add_control( 'hover_transition', [ 'label' => esc_html__( 'Transition Duration', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'default' => [ 'size' => 0.3, 'unit' => 's', ], 'range' => [ 's' => [ 'min' => 0, 'max' => 3, 'step' => 0.1, ], ], 'selectors' => [ '{{WRAPPER}}' => '--transition: {{SIZE}}{{UNIT}}', ], ] ); $this->end_controls_tab(); $this->end_controls_tabs(); $this->end_controls_section(); /** * Path styling section. */ $this->start_controls_section( 'section_style_path', [ 'label' => esc_html__( 'Path', 'elementor' ), 'tab' => Controls_Manager::TAB_STYLE, 'condition' => [ 'show_path!' => '', ], ] ); $this->start_controls_tabs( 'path_style' ); /** * Normal tab. */ $this->start_controls_tab( 'path_normal', [ 'label' => esc_html__( 'Normal', 'elementor' ), ] ); $this->add_control( 'path_fill_normal', [ 'label' => esc_html__( 'Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'default' => '', 'selectors' => [ '{{WRAPPER}}' => '--path-fill: {{VALUE}};', ], ] ); $this->add_control( 'stroke_heading_normal', [ 'label' => esc_html__( 'Stroke', 'elementor' ), 'type' => Controls_Manager::HEADING, ] ); $this->add_control( 'stroke_color_normal', [ 'label' => esc_html__( 'Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'default' => self::DEFAULT_PATH_FILL, 'selectors' => [ '{{WRAPPER}}' => '--stroke-color: {{VALUE}};', ], ] ); $this->add_control( 'stroke_width_normal', [ 'label' => esc_html__( 'Width', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'default' => [ 'size' => 1, 'unit' => 'px', ], 'range' => [ 'px' => [ 'min' => 0, 'max' => 20, 'step' => 1, ], ], 'selectors' => [ '{{WRAPPER}}' => '--stroke-width: {{SIZE}}{{UNIT}}', ], ] ); $this->end_controls_tab(); /** * Hover tab. */ $this->start_controls_tab( 'path_hover', [ 'label' => esc_html__( 'Hover', 'elementor' ), ] ); $this->add_control( 'path_fill_hover', [ 'label' => esc_html__( 'Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'default' => '', 'selectors' => [ '{{WRAPPER}}' => '--path-fill-hover: {{VALUE}};', ], ] ); $this->add_control( 'stroke_heading_hover', [ 'label' => esc_html__( 'Stroke', 'elementor' ), 'type' => Controls_Manager::HEADING, ] ); $this->add_control( 'stroke_color_hover', [ 'label' => esc_html__( 'Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'default' => '', 'selectors' => [ '{{WRAPPER}}' => '--stroke-color-hover: {{VALUE}};', ], ] ); $this->add_control( 'stroke_width_hover', [ 'label' => esc_html__( 'Width', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'default' => [ 'size' => '', 'unit' => 'px', ], 'range' => [ 'px' => [ 'min' => 0, 'max' => 20, 'step' => 1, ], ], 'selectors' => [ '{{WRAPPER}}' => '--stroke-width-hover: {{SIZE}}{{UNIT}}', ], ] ); $this->add_control( 'stroke_transition', [ 'label' => esc_html__( 'Transition Duration', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'default' => [ 'size' => 0.3, 'unit' => 's', ], 'range' => [ 's' => [ 'min' => 0, 'max' => 3, 'step' => 0.1, ], ], 'selectors' => [ '{{WRAPPER}}' => '--stroke-transition: {{SIZE}}{{UNIT}}', ], ] ); $this->end_controls_tab(); $this->end_controls_tabs(); $this->end_controls_section(); } /** * Register Text Path widget controls. * * Adds different input fields to allow the user to change and customize the widget settings. * * @access protected */ protected function register_controls() { $this->register_content_tab(); $this->register_style_tab(); } /** * Render Text Path widget output on the frontend. * * Written in PHP and used to generate the final HTML. * * @access protected */ protected function render() { $settings = $this->get_settings_for_display(); // Get the path URL. $path_url = ( 'custom' === $settings['path'] ) ? wp_get_attachment_url( $settings['custom_path']['id'] ) : Shapes_Module::get_path_url( $settings['path'] ); // Remove the HTTP protocol to prevent Mixed Content error. $path_url = preg_replace( '/^https?:/i', '', $path_url ); // Add Text Path attributes. $this->add_render_attribute( 'text_path', [ 'class' => 'e-text-path', 'data-text' => esc_attr( $settings['text'] ), 'data-url' => esc_url( $path_url ), ] ); // Add hover animation. if ( ! empty( $settings['hover_animation'] ) ) { $this->add_render_attribute( 'text_path', 'class', 'elementor-animation-' . $settings['hover_animation'] ); } // Render. ?>
print_render_attribute_string( 'text_path' ); ?>>
[], 'wordpress' => [], 'theme' => [], 'user' => [], 'plugins' => [], 'network_plugins' => [], 'mu_plugins' => [], ]; /** * Main system info page constructor. * * Initializing Elementor system info page. * * @since 2.9.0 * @access public */ public function __construct() { $this->add_actions(); } /** * Get default settings. * * Retrieve the default settings. Used to reset the report settings on * initialization. * * @since 2.9.0 * @access protected * * @return array Default settings. */ protected function get_init_settings() { $settings = []; $reporter_properties = Base::get_properties_keys(); array_push( $reporter_properties, 'category', 'name', 'class_name' ); $settings['reporter_properties'] = $reporter_properties; $settings['reportFilePrefix'] = ''; return $settings; } /** * Add actions. * * Register filters and actions for the main system info page. * * @since 2.9.0 * @access private */ private function add_actions() { if ( ! Plugin::$instance->experiments->is_feature_active( 'admin_menu_rearrangement' ) ) { add_action( 'admin_menu', [ $this, 'register_menu' ], 500 ); } add_action( 'wp_ajax_elementor_system_info_download_file', [ $this, 'download_file' ] ); } /** * Register admin menu. * * Add new Elementor system info admin menu. * * Fired by `admin_menu` action. * * @since 2.9.0 * @access public */ public function register_menu() { $system_info_text = esc_html__( 'System Info', 'elementor' ); add_submenu_page( 'elementor', $system_info_text, $system_info_text, $this->capability, 'elementor-system-info', [ $this, 'display_page' ] ); } /** * Display page. * * Output the content for the main system info page. * * @since 2.9.0 * @access public */ public function display_page() { $reports_info = self::get_allowed_reports(); $reports = $this->load_reports( $reports_info ); ?>

print_report( $reports, 'html' ); ?>


capability ) ) { wp_die( esc_html__( 'You don\'t have permissions to download this file', 'elementor' ) ); } $reports_info = self::get_allowed_reports(); $reports = $this->load_reports( $reports_info ); $domain = parse_url( site_url(), PHP_URL_HOST ); header( 'Content-Type: text/plain' ); header( 'Content-Disposition:attachment; filename=system-info-' . $domain . '-' . gmdate( 'd-m-Y' ) . '.txt' ); $this->print_report( $reports ); die; } /** * Get report class. * * Retrieve the class of the report for any given report type. * * @since 2.9.0 * @access public * * @param string $reporter_type The type of the report. * * @return string The class of the report. */ public function get_reporter_class( $reporter_type ) { return __NAMESPACE__ . '\Reporters\\' . ucfirst( $reporter_type ); } /** * Load reports. * * Retrieve the system info reports. * * @since 2.9.0 * @access public * * @param array $reports An array of system info reports. * * @return array An array of system info reports. */ public function load_reports( $reports ) { $result = []; foreach ( $reports as $report_name => $report_info ) { $reporter_params = [ 'name' => $report_name, ]; $reporter_params = array_merge( $reporter_params, $report_info ); $reporter = $this->create_reporter( $reporter_params ); if ( ! $reporter instanceof Base ) { continue; } $result[ $report_name ] = [ 'report' => $reporter, 'label' => $reporter->get_title(), ]; if ( ! empty( $report_info['sub'] ) ) { $result[ $report_name ]['sub'] = $this->load_reports( $report_info['sub'] ); } } return $result; } /** * Create a report. * * Register a new report that will be displayed in Elementor system info page. * * @param array $properties Report properties. * * @return \WP_Error|false|Base Base instance if the report was created, * False or WP_Error otherwise. *@since 2.9.0 * @access public * */ public function create_reporter( array $properties ) { $properties = Model_Helper::prepare_properties( $this->get_settings( 'reporter_properties' ), $properties ); $reporter_class = $properties['class_name'] ? $properties['class_name'] : $this->get_reporter_class( $properties['name'] ); $reporter = new $reporter_class( $properties ); if ( ! ( $reporter instanceof Base ) ) { return new \WP_Error( 'Each reporter must to be an instance or sub-instance of `Base` class.' ); } if ( ! $reporter->is_enabled() ) { return false; } return $reporter; } /** * Print report. * * Output the system info page reports using an output template. * * @since 2.9.0 * @access public * * @param array $reports An array of system info reports. * @param string $template Output type from the templates folder. Available * templates are `raw` and `html`. Default is `raw`. */ public function print_report( $reports, $template = 'raw' ) { static $tabs_count = 0; $template_path = __DIR__ . '/templates/' . $template . '.php'; require $template_path; } /** * Get allowed reports. * * Retrieve the available reports in Elementor system info page. * * @since 2.9.0 * @access public * @static * * @return array Available reports in Elementor system info page. */ public static function get_allowed_reports() { do_action( 'elementor/system_info/get_allowed_reports' ); return self::$reports; } /** * Add report. * * Register a new report to Elementor system info page. * * @since 2.9.0 * @access public * @static * * @param string $report_name The name of the report. * @param array $report_info Report info. */ public static function add_report( $report_name, $report_info ) { self::$reports[ $report_name ] = $report_info; } } modules/system-info/templates/html.php000064400000001057152377341010014152 0ustar00 $report ) : ?>
print_html(); ?>
print_html_label( ( $report['label'] ) ); ?>
$report ) : $report['report']->print_raw( $tabs_count ); if ( ! empty( $report['sub'] ) ) : $this->print_report( $report['sub'], $template, true ); endif; endforeach; $tabs_count--; modules/system-info/helpers/model-helper.php000064400000003312152377341010015223 0ustar00ID; } /** * Get user reporter title. * * Retrieve user reporter title. * * @since 1.0.0 * @access public * * @return string Reporter title. */ public function get_title() { return 'User'; } /** * Get user report fields. * * Retrieve the required fields for the user report. * * @since 1.0.0 * @access public * * @return array Required report fields with field ID and field label. */ public function get_fields() { return [ 'role' => 'Role', 'locale' => 'WP Profile lang', 'agent' => 'User Agent', ]; } /** * Get user role. * * Retrieve the user role. * * @since 1.0.0 * @access public * * @return array { * Report data. * * @type string $value The user role. * } */ public function get_role() { $role = null; $current_user = wp_get_current_user(); if ( ! empty( $current_user->roles ) ) { $role = $current_user->roles[0]; } return [ 'value' => $role, ]; } /** * Get user profile language. * * Retrieve the user profile language. * * @since 1.0.0 * @access public * * @return array { * Report data. * * @type string $value User profile language. * } */ public function get_locale() { return [ 'value' => get_locale(), ]; } /** * Get user agent. * * Retrieve user agent. * * @since 1.0.0 * @access public * * @return array { * Report data. * * @type string $value HTTP user agent. * } */ public function get_agent() { return [ 'value' => esc_html( $_SERVER['HTTP_USER_AGENT'] ), ]; } } modules/system-info/reporters/plugins.php000064400000003740152377341010014717 0ustar00plugins ) { $this->plugins = Plugin::$instance->wp->get_active_plugins()->all(); } return $this->plugins; } /** * Get active plugins reporter title. * * Retrieve active plugins reporter title. * * @since 1.0.0 * @access public * * @return string Reporter title. */ public function get_title() { return 'Active Plugins'; } /** * Is enabled. * * Whether there are active plugins or not. * * @since 1.0.0 * @access public * * @return bool True if the site has active plugins, False otherwise. */ public function is_enabled() { return ! ! $this->get_plugins(); } /** * Get active plugins report fields. * * Retrieve the required fields for the active plugins report. * * @since 1.0.0 * @access public * * @return array Required report fields with field ID and field label. */ public function get_fields() { return [ 'active_plugins' => 'Active Plugins', ]; } /** * Get active plugins. * * Retrieve the sites active plugins. * * @since 1.0.0 * @access public * * @return array { * Report data. * * @type string $value The active plugins list. * } */ public function get_active_plugins() { return [ 'value' => $this->get_plugins(), ]; } } modules/system-info/reporters/theme.php000064400000012013152377341010014331 0ustar00 'Name', 'version' => 'Version', 'author' => 'Author', 'is_child_theme' => 'Child Theme', ]; if ( $this->get_parent_theme() ) { $parent_fields = [ 'parent_name' => 'Parent Theme Name', 'parent_version' => 'Parent Theme Version', 'parent_author' => 'Parent Theme Author', ]; $fields = array_merge( $fields, $parent_fields ); } return $fields; } /** * Get theme. * * Retrieve the theme. * * @since 1.0.0 * @access protected * @deprecated 3.1.0 * * @return \WP_Theme WordPress theme object. */ protected function _get_theme() { Plugin::$instance->modules_manager->get_modules( 'dev-tools' )->deprecation->deprecated_function( __METHOD__, '3.1.0', __CLASS__ . '::get_theme()' ); return $this->get_theme(); } /** * Get theme. * * Retrieve the theme. * * @since 3.1.0 * @access private * * @return \WP_Theme WordPress theme object. */ private function get_theme() { if ( is_null( $this->theme ) ) { $this->theme = wp_get_theme(); } return $this->theme; } /** * Get parent theme. * * Retrieve the parent theme. * * @since 1.0.0 * @access protected * * @return \WP_Theme|false WordPress theme object, or false if the current theme is not a child theme. */ protected function get_parent_theme() { return $this->get_theme()->parent(); } /** * Get theme name. * * Retrieve the theme name. * * @since 1.0.0 * @access public * * @return array { * Report data. * * @type string $value The theme name. * } */ public function get_name() { return [ 'value' => $this->get_theme()->get( 'Name' ), ]; } /** * Get theme author. * * Retrieve the theme author. * * @since 1.0.0 * @access public * * @return array { * Report data. * * @type string $value The theme author. * } */ public function get_author() { return [ 'value' => $this->get_theme()->get( 'Author' ), ]; } /** * Get theme version. * * Retrieve the theme version. * * @since 1.0.0 * @access public * * @return array { * Report data. * * @type string $value The theme version. * } */ public function get_version() { return [ 'value' => $this->get_theme()->get( 'Version' ), ]; } /** * Is the theme is a child theme. * * Whether the theme is a child theme. * * @since 1.0.0 * @access public * * @return array { * Report data. * * @type string $value Yes if the theme is a child theme, No otherwise. * @type string $recommendation Theme source code modification recommendation. * } */ public function get_is_child_theme() { $is_child_theme = is_child_theme(); $result = [ 'value' => $is_child_theme ? 'Yes' : 'No', ]; if ( ! $is_child_theme ) { $result['recommendation'] = sprintf( /* translators: %s: WordPress child themes documentation. */ _x( 'If you want to modify the source code of your theme, we recommend using a child theme.', 'System Info', 'elementor' ), 'https://go.elementor.com/wordpress-child-themes/' ); } return $result; } /** * Get parent theme version. * * Retrieve the parent theme version. * * @since 1.0.0 * @access public * * @return array { * Report data. * * @type string $value The parent theme version. * } */ public function get_parent_version() { return [ 'value' => $this->get_parent_theme()->get( 'Version' ), ]; } /** * Get parent theme author. * * Retrieve the parent theme author. * * @since 1.0.0 * @access public * * @return array { * Report data. * * @type string $value The parent theme author. * } */ public function get_parent_author() { return [ 'value' => $this->get_parent_theme()->get( 'Author' ), ]; } /** * Get parent theme name. * * Retrieve the parent theme name. * * @since 1.0.0 * @access public * * @return array { * Report data. * * @type string $value The parent theme name. * } */ public function get_parent_name() { return [ 'value' => $this->get_parent_theme()->get( 'Name' ), ]; } } modules/system-info/reporters/server.php000064400000022060152377341010014540 0ustar00 'Operating System', 'software' => 'Software', 'mysql_version' => 'MySQL version', 'php_version' => 'PHP Version', 'php_memory_limit' => 'PHP Memory Limit', 'php_max_input_vars' => 'PHP Max Input Vars', 'php_max_post_size' => 'PHP Max Post Size', 'gd_installed' => 'GD Installed', 'zip_installed' => 'ZIP Installed', 'write_permissions' => 'Write Permissions', 'elementor_library' => 'Elementor Library', ]; } /** * Get server operating system. * * Retrieve the server operating system. * * @since 1.0.0 * @access public * * @return array { * Report data. * * @type string $value Server operating system. * } */ public function get_os() { return [ 'value' => PHP_OS, ]; } /** * Get server software. * * Retrieve the server software. * * @since 1.0.0 * @access public * * @return array { * Report data. * * @type string $value Server software. * } */ public function get_software() { return [ 'value' => $_SERVER['SERVER_SOFTWARE'], ]; } /** * Get PHP version. * * Retrieve the PHP version. * * @since 1.0.0 * @access public * * @return array { * Report data. * * @type string $value PHP version. * @type string $recommendation Minimum PHP version recommendation. * @type bool $warning Whether to display a warning. * } */ public function get_php_version() { $result = [ 'value' => PHP_VERSION, ]; if ( version_compare( $result['value'], '5.4', '<' ) ) { $result['recommendation'] = _x( 'We recommend to use php 5.4 or higher', 'System Info', 'elementor' ); $result['warning'] = true; } return $result; } /** * Get PHP memory limit. * * Retrieve the PHP memory limit. * * @return array { * Report data. * * @type string $value PHP memory limit. * @type string $recommendation Recommendation memory limit. * @type bool $warning Whether to display a warning. True if the limit * is below the recommended 128M, False otherwise. * } */ public function get_php_memory_limit() { $result = [ 'value' => (string) get_cfg_var( 'memory_limit' ), ]; $min_recommended_memory = '128M'; $preferred_memory = '256M'; $memory_limit_bytes = wp_convert_hr_to_bytes( $result['value'] ); $min_recommended_bytes = wp_convert_hr_to_bytes( $min_recommended_memory ); if ( $memory_limit_bytes < $min_recommended_bytes ) { $result['recommendation'] = sprintf( /* translators: 1: Minimum recommended_memory, 2: Preferred memory, 3: WordPress wp-config memory documentation. */ _x( 'We recommend setting memory to at least %1$s. (%2$sMB or higher is preferred) For more information, read about how to Increase memory allocated to PHP.', 'System Info', 'elementor' ), $min_recommended_memory, $preferred_memory, 'https://go.elementor.com/wordpress-wp-config-memory/' ); $result['warning'] = true; } return $result; } /** * Get PHP `max_input_vars`. * * Retrieve the value of `max_input_vars` from `php.ini` configuration file. * * @since 1.0.0 * @access public * * @return array { * Report data. * * @type string $value PHP `max_input_vars`. * } */ public function get_php_max_input_vars() { return [ 'value' => ini_get( 'max_input_vars' ), ]; } /** * Get PHP `post_max_size`. * * Retrieve the value of `post_max_size` from `php.ini` configuration file. * * @since 1.0.0 * @access public * * @return array { * Report data. * * @type string $value PHP `post_max_size`. * } */ public function get_php_max_post_size() { return [ 'value' => ini_get( 'post_max_size' ), ]; } /** * Get GD installed. * * Whether the GD extension is installed. * * @since 1.0.0 * @access public * * @return array { * Report data. * * @type string $value Yes if the GD extension is installed, No otherwise. * @type bool $warning Whether to display a warning. True if the GD extension is installed, False otherwise. * } */ public function get_gd_installed() { $gd_installed = extension_loaded( 'gd' ); return [ 'value' => $gd_installed ? 'Yes' : 'No', 'warning' => ! $gd_installed, ]; } /** * Get ZIP installed. * * Whether the ZIP extension is installed. * * @since 2.1.0 * @access public * * @return array { * Report data. * * @type string $value Yes if the ZIP extension is installed, No otherwise. * @type bool $warning Whether to display a warning. True if the ZIP extension is installed, False otherwise. * } */ public function get_zip_installed() { $zip_installed = extension_loaded( 'zip' ); return [ 'value' => $zip_installed ? 'Yes' : 'No', 'warning' => ! $zip_installed, ]; } /** * Get MySQL version. * * Retrieve the MySQL version. * * @since 1.0.0 * @access public * * @return array { * Report data. * * @type string $value MySQL version. * } */ public function get_mysql_version() { global $wpdb; $db_server_version = $wpdb->get_results( "SHOW VARIABLES WHERE `Variable_name` IN ( 'version_comment', 'innodb_version' )", OBJECT_K ); return [ 'value' => $db_server_version['version_comment']->Value . ' v' . $db_server_version['innodb_version']->Value, ]; } /** * Get write permissions. * * Check whether the required folders has writing permissions. * * @since 1.9.0 * @access public * * @return array { * Report data. * * @type string $value Writing permissions status. * @type bool $warning Whether to display a warning. True if some required * folders don't have writing permissions, False otherwise. * } */ public function get_write_permissions() { $paths_to_check = [ ABSPATH => 'WordPress root directory', ]; $write_problems = []; $wp_upload_dir = wp_upload_dir(); if ( $wp_upload_dir['error'] ) { $write_problems[] = 'WordPress root uploads directory'; } $elementor_uploads_path = $wp_upload_dir['basedir'] . '/elementor'; if ( is_dir( $elementor_uploads_path ) ) { $paths_to_check[ $elementor_uploads_path ] = 'Elementor uploads directory'; } $htaccess_file = ABSPATH . '/.htaccess'; if ( file_exists( $htaccess_file ) ) { $paths_to_check[ $htaccess_file ] = '.htaccess file'; } foreach ( $paths_to_check as $dir => $description ) { if ( ! is_writable( $dir ) ) { $write_problems[] = $description; } } if ( $write_problems ) { $value = 'There are some writing permissions issues with the following directories/files:' . "\n\t\t - "; $value .= implode( "\n\t\t - ", $write_problems ); } else { $value = 'All right'; } return [ 'value' => $value, 'warning' => ! ! $write_problems, ]; } /** * Check for elementor library connectivity. * * Check whether the remote elementor library is reachable. * * @since 1.0.0 * @access public * * @return array { * Report data. * * @type string $value The status of elementor library connectivity. * @type bool $warning Whether to display a warning. True if elementor * * library is not reachable, False otherwise. * } */ public function get_elementor_library() { $response = wp_remote_get( Api::$api_info_url, [ 'timeout' => 5, 'body' => [ // Which API version is used 'api_version' => ELEMENTOR_VERSION, // Which language to return 'site_lang' => get_bloginfo( 'language' ), ], ] ); if ( is_wp_error( $response ) ) { return [ 'value' => 'Not connected (' . $response->get_error_message() . ')', 'warning' => true, ]; } $http_response_code = wp_remote_retrieve_response_code( $response ); if ( 200 !== (int) $http_response_code ) { $error_msg = 'HTTP Error (' . $http_response_code . ')'; return [ 'value' => 'Not connected (' . $error_msg . ')', 'warning' => true, ]; } $info_data = json_decode( wp_remote_retrieve_body( $response ), true ); if ( empty( $info_data ) ) { return [ 'value' => 'Not connected (Returns invalid JSON)', 'warning' => true, ]; } return [ 'value' => 'Connected', ]; } } modules/system-info/reporters/base.php000064400000012511152377341010014144 0ustar00get_report( 'html' ) as $field ) { $warning_class = ! empty( $field['warning'] ) ? ' class="elementor-warning"' : ''; $log_label = ! empty( $field['label'] ) ? $field['label'] . ':' : ''; ?> > get_report( 'raw' ); echo PHP_EOL . $indent . '== ' . $this->get_title() . ' =='; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped echo PHP_EOL; foreach ( $report as $field_name => $field ) : $sub_indent = str_repeat( "\t", $tabs_count ); $label = $field['label']; if ( ! empty( $label ) ) { $label .= ': '; } echo "{$sub_indent}{$label}{$field['value']}" . PHP_EOL; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped endforeach; } /** * Get report. * * Retrieve the report with all it's containing fields. * * @since 2.9.0 * @access public * * @return \WP_Error | array { * Report fields. * * @type string $name Field name. * @type string $label Field label. * } */ final public function get_report( $format = '' ) { $result = []; $format = ( empty( $format ) ) ? '' : $format . '_'; foreach ( $this->get_fields() as $field_name => $field_label ) { $method = 'get_' . $format . $field_name; if ( ! method_exists( $this, $method ) ) { $method = 'get_' . $field_name; //fallback: if ( ! method_exists( $this, $method ) ) { return new \WP_Error( sprintf( "Getter method for the field '%s' wasn't found in %s.", $field_name, get_called_class() ) ); } } $reporter_field = [ 'name' => $field_name, 'label' => $field_label, ]; $reporter_field = array_merge( $reporter_field, $this->$method() ); $result[ $field_name ] = $reporter_field; } return $result; } /** * Get properties keys. * * Retrieve the keys of the properties. * * @since 2.9.0 * @access public * @static * * @return array { * Property keys. * * @type string $name Property name. * @type string $fields Property fields. * } */ public static function get_properties_keys() { return [ 'name', 'format', 'fields', ]; } /** * Filter possible properties. * * Retrieve possible properties filtered by property keys. * * @since 2.9.0 * @access public * @static * * @param array $properties Properties to filter. * * @return array Possible properties filtered by property keys. */ final public static function filter_possible_properties( $properties ) { return Model_Helper::filter_possible_properties( self::get_properties_keys(), $properties ); } /** * Set properties. * * Add/update properties to the report. * * @since 2.9.0 * @access public * * @param array $key Property key. * @param array $value Optional. Property value. Default is `null`. */ final public function set_properties( $key, $value = null ) { if ( is_array( $key ) ) { $key = self::filter_possible_properties( $key ); foreach ( $key as $sub_key => $sub_value ) { $this->set_properties( $sub_key, $sub_value ); } return; } if ( ! in_array( $key, self::get_properties_keys(), true ) ) { return; } $this->_properties[ $key ] = $value; } /** * Reporter base constructor. * * Initializing the reporter base class. * * @since 2.9.0 * @access public * * @param array $properties Optional. Properties to filter. Default is `null`. */ public function __construct( $properties = null ) { $this->_properties = array_fill_keys( self::get_properties_keys(), null ); if ( $properties ) { $this->set_properties( $properties, null ); } } } modules/system-info/reporters/wordpress.php000064400000012562152377341010015270 0ustar00 'Version', 'site_url' => 'Site URL', 'home_url' => 'Home URL', 'is_multisite' => 'WP Multisite', 'max_upload_size' => 'Max Upload Size', 'memory_limit' => 'Memory limit', 'max_memory_limit' => 'Max Memory limit', 'permalink_structure' => 'Permalink Structure', 'language' => 'Language', 'timezone' => 'Timezone', 'admin_email' => 'Admin Email', 'debug_mode' => 'Debug Mode', ]; } /** * Get WordPress memory limit. * * Retrieve the WordPress memory limit. * * @since 1.0.0 * @access public * * @return array { * Report data. * * @type string $value WordPress memory limit. * } */ public function get_memory_limit() { return [ 'value' => (string) WP_MEMORY_LIMIT, ]; } /** * Get WordPress max memory limit. * * Retrieve the WordPress max memory limit. * * @return array { * Report data. * * @type string $value WordPress max memory limit. * } */ public function get_max_memory_limit() { return [ 'value' => (string) WP_MAX_MEMORY_LIMIT, ]; } /** * Get WordPress version. * * Retrieve the WordPress version. * * @since 1.0.0 * @access public * * @return array { * Report data. * * @type string $value WordPress version. * } */ public function get_version() { return [ 'value' => get_bloginfo( 'version' ), ]; } /** * Is multisite. * * Whether multisite is enabled or not. * * @since 1.0.0 * @access public * * @return array { * Report data. * * @type string $value Yes if multisite is enabled, No otherwise. * } */ public function get_is_multisite() { return [ 'value' => is_multisite() ? 'Yes' : 'No', ]; } /** * Get site URL. * * Retrieve WordPress site URL. * * @since 1.0.0 * @access public * * @return array { * Report data. * * @type string $value WordPress site URL. * } */ public function get_site_url() { return [ 'value' => get_site_url(), ]; } /** * Get home URL. * * Retrieve WordPress home URL. * * @since 1.0.0 * @access public * * @return array { * Report data. * * @type string $value WordPress home URL. * } */ public function get_home_url() { return [ 'value' => get_home_url(), ]; } /** * Get permalink structure. * * Retrieve the permalink structure * * @since 1.0.0 * @access public * * @return array { * Report data. * * @type string $value WordPress permalink structure. * } */ public function get_permalink_structure() { global $wp_rewrite; $structure = $wp_rewrite->permalink_structure; if ( ! $structure ) { $structure = 'Plain'; } return [ 'value' => $structure, ]; } /** * Get site language. * * Retrieve the site language. * * @since 1.0.0 * @access public * * @return array { * Report data. * * @type string $value WordPress site language. * } */ public function get_language() { return [ 'value' => get_bloginfo( 'language' ), ]; } /** * Get PHP `max_upload_size`. * * Retrieve the value of maximum upload file size defined in `php.ini` configuration file. * * @since 1.0.0 * @access public * * @return array { * Report data. * * @type string $value Maximum upload file size allowed. * } */ public function get_max_upload_size() { return [ 'value' => size_format( wp_max_upload_size() ), ]; } /** * Get WordPress timezone. * * Retrieve WordPress timezone. * * @since 1.0.0 * @access public * * @return array { * Report data. * * @type string $value WordPress timezone. * } */ public function get_timezone() { $timezone = get_option( 'timezone_string' ); if ( ! $timezone ) { $timezone = get_option( 'gmt_offset' ); } return [ 'value' => $timezone, ]; } /** * Get WordPress administrator email. * * Retrieve WordPress administrator email. * * @since 1.0.0 * @access public * * @return array { * Report data. * * @type string $value WordPress administrator email. * } */ public function get_admin_email() { return [ 'value' => get_option( 'admin_email' ), ]; } /** * Get debug mode. * * Whether WordPress debug mode is enabled or not. * * @since 1.0.0 * @access public * * @return array { * Report data. * * @type string $value Active if debug mode is enabled, Inactive otherwise. * } */ public function get_debug_mode() { return [ 'value' => WP_DEBUG ? 'Active' : 'Inactive', ]; } } modules/system-info/reporters/base-plugin.php000064400000004201152377341010015435 0ustar00get_report( 'html' ) as $field ) { foreach ( $field['value'] as $plugin_info ) : ?> %s', $plugin_info['PluginURI'], $plugin_info['Name'] ); else : $plugin_name = $plugin_info['Name']; endif; if ( $plugin_info['Version'] ) : $plugin_name .= ' - ' . $plugin_info['Version']; endif; Utils::print_unescaped_internal_string( $plugin_name ); ?> %s', $plugin_info['AuthorURI'], $plugin_info['Author'] ); else : $author = $plugin_info['Author']; endif; Utils::print_unescaped_internal_string( "By $author" ); endif; ?> get_report( 'raw' ) as $field_name => $field ) : $sub_indent = str_repeat( "\t", $tabs_count ); echo "== {$field['label']} ==" . PHP_EOL; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped foreach ( $field['value'] as $plugin_info ) : $plugin_properties = array_intersect_key( $plugin_info, $required_plugins_properties ); echo esc_html( $sub_indent . $plugin_info['Name'] ); foreach ( $plugin_properties as $property_name => $property ) : echo PHP_EOL . "{$sub_indent}\t{$property_name}: {$property}"; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped endforeach; echo PHP_EOL . PHP_EOL; endforeach; endforeach; } } modules/system-info/reporters/mu-plugins.php000064400000003660152377341010015337 0ustar00plugins ) { $this->plugins = get_mu_plugins(); } return $this->plugins; } /** * Is enabled. * * Whether there are must-use plugins or not. * * @since 1.0.0 * @access public * * @return bool True if the site has must-use plugins, False otherwise. */ public function is_enabled() { return ! ! $this->get_mu_plugins(); } /** * Get must-use plugins reporter title. * * Retrieve must-use plugins reporter title. * * @since 1.0.0 * @access public * * @return string Reporter title. */ public function get_title() { return 'Must-Use Plugins'; } /** * Get must-use plugins report fields. * * Retrieve the required fields for the must-use plugins report. * * @since 1.0.0 * @access public * * @return array Required report fields with field ID and field label. */ public function get_fields() { return [ 'must_use_plugins' => 'Must-Use Plugins', ]; } /** * Get must-use plugins. * * Retrieve the sites must-use plugins. * * @since 1.0.0 * @access public * * @return array { * Report data. * * @type string $value The must-use plugins list. * } */ public function get_must_use_plugins() { return [ 'value' => $this->get_mu_plugins(), ]; } } modules/system-info/reporters/network-plugins.php000064400000004273152377341010016410 0ustar00plugins ) { $active_plugins = get_site_option( 'active_sitewide_plugins' ); $this->plugins = array_intersect_key( get_plugins(), $active_plugins ); } return $this->plugins; } /** * Is enabled. * * Whether there are active network plugins or not. * * @since 1.0.0 * @access public * * @return bool True if the site has active network plugins, False otherwise. */ public function is_enabled() { if ( ! is_multisite() ) { return false; }; return ! ! $this->get_network_plugins(); } /** * Get network plugins report fields. * * Retrieve the required fields for the network plugins report. * * @since 1.0.0 * @access public * * @return array Required report fields with field ID and field label. */ public function get_fields() { return [ 'network_active_plugins' => 'Network Plugins', ]; } /** * Get active network plugins. * * Retrieve the sites active network plugins. * * @since 1.0.0 * @access public * * @return array { * Report data. * * @type string $value The active network plugins list. * } */ public function get_network_active_plugins() { return [ 'value' => $this->get_network_plugins(), ]; } } modules/dynamic-tags/module.php000064400000005577152377341010012613 0ustar00register_groups(); add_action( 'elementor/dynamic_tags/register', [ $this, 'register_tags' ] ); } /** * Get module name. * * Retrieve the dynamic tags module name. * * @since 2.0.0 * @access public * * @return string Module name. */ public function get_name() { return 'dynamic_tags'; } /** * Get classes names. * * Retrieve the dynamic tag classes names. * * @since 2.0.0 * @access public * * @return array Tag dynamic tag classes names. */ public function get_tag_classes_names() { return []; } /** * Get groups. * * Retrieve the dynamic tag groups. * * @since 2.0.0 * @access public * * @return array Tag dynamic tag groups. */ public function get_groups() { return [ self::BASE_GROUP => [ 'title' => 'Base Tags', ], ]; } /** * Register groups. * * Add all the available tag groups. * * @since 2.0.0 * @access private */ private function register_groups() { foreach ( $this->get_groups() as $group_name => $group_settings ) { Plugin::$instance->dynamic_tags->register_group( $group_name, $group_settings ); } } /** * Register tags. * * Add all the available dynamic tags. * * @since 2.0.0 * @access public * * @param Manager $dynamic_tags */ public function register_tags( $dynamic_tags ) { foreach ( $this->get_tag_classes_names() as $tag_class ) { /** @var Base_Tag $class_name */ $class_name = $this->get_reflection()->getNamespaceName() . '\Tags\\' . $tag_class; $dynamic_tags->register( new $class_name() ); } } } modules/container-converter/module.php000064400000007026152377341010014211 0ustar00experiments->is_feature_active( 'container' ); } /** * Enqueue the module scripts. * * @return void */ public function enqueue_scripts() { wp_enqueue_script( 'container-converter', $this->get_js_assets_url( 'container-converter' ), [ 'elementor-editor' ], ELEMENTOR_VERSION, true ); } /** * Enqueue the module styles. * * @return void */ public function enqueue_styles() { wp_enqueue_style( 'container-converter', $this->get_css_assets_url( 'modules/container-converter/editor' ), [], ELEMENTOR_VERSION ); } /** * Add a convert button to sections. * * @param \Elementor\Controls_Stack $controls_stack * * @return void */ protected function add_section_convert_button( Controls_Stack $controls_stack ) { if ( ! Plugin::$instance->editor->is_edit_mode() ) { return; } $controls_stack->start_injection( [ 'of' => '_title', ] ); $controls_stack->add_control( 'convert_to_container', [ 'type' => Controls_Manager::BUTTON, 'label' => esc_html__( 'Convert to container', 'elementor' ), 'text' => esc_html__( 'Convert', 'elementor' ), 'button_type' => 'default', 'description' => esc_html__( 'Copies all of the selected sections and columns and pastes them in a container beneath the original.', 'elementor' ), 'separator' => 'after', 'event' => static::EVENT_NAME, ] ); $controls_stack->end_injection(); } /** * Add a convert button to page settings. * * @param \Elementor\Controls_Stack $controls_stack * * @return void */ protected function add_page_convert_button( Controls_Stack $controls_stack ) { if ( ! Plugin::$instance->editor->is_edit_mode() ) { return; } $controls_stack->start_injection( [ 'of' => 'post_title', 'at' => 'before', ] ); $controls_stack->add_control( 'convert_to_container', [ 'type' => Controls_Manager::BUTTON, 'label' => esc_html__( 'Convert to container', 'elementor' ), 'text' => esc_html__( 'Convert', 'elementor' ), 'button_type' => 'default', 'description' => esc_html__( 'Copies all of the selected sections and columns and pastes them in a container beneath the original.', 'elementor' ), 'separator' => 'after', 'event' => static::EVENT_NAME, ] ); $controls_stack->end_injection(); } /** * Initialize the Container-Converter module. * * @return void */ public function __construct() { add_action( 'elementor/editor/after_enqueue_scripts', [ $this, 'enqueue_scripts' ] ); add_action( 'elementor/editor/after_enqueue_styles', [ $this, 'enqueue_styles' ] ); add_action( 'elementor/element/section/section_layout/after_section_end', function ( Controls_Stack $controls_stack ) { $this->add_section_convert_button( $controls_stack ); } ); add_action( 'elementor/documents/register_controls', function ( Controls_Stack $controls_stack ) { $this->add_page_convert_button( $controls_stack ); } ); } } modules/elements-color-picker/module.php000064400000002710152377341010014420 0ustar00 'elements-color-picker', 'title' => esc_html__( 'Color Sampler', 'elementor' ), 'default' => Manager::STATE_ACTIVE, 'release_status' => Experiments_Manager::RELEASE_STATUS_STABLE, 'description' => esc_html__( 'Adds a new color picker functionality that allows choose a color from other elements settings.', 'elementor' ), ]; } /** * Enqueue the `Color-Thief` library to pick colors from images. * * @return void */ public function enqueue_scripts() { wp_enqueue_script( 'color-thief', $this->get_js_assets_url( 'color-thief', 'assets/lib/color-thief/', true ), [ 'elementor-editor' ], ELEMENTOR_VERSION, true ); } /** * Module constructor - Initialize the Eye-Dropper module. * * @return void */ public function __construct() { add_action( 'elementor/editor/after_enqueue_scripts', [ $this, 'enqueue_scripts' ] ); } } modules/dev-tools/module.php000064400000001720152377341010012131 0ustar00deprecation = new Deprecation( ELEMENTOR_VERSION ); add_filter( 'elementor/editor/localize_settings', [ $this, 'localize_settings' ] ); } public function get_name() { return 'dev-tools'; } public function localize_settings( $settings ) { $settings = array_replace_recursive( $settings, [ 'dev_tools' => [ 'deprecation' => $this->deprecation->get_settings(), ], ] ); return $settings; } } modules/dev-tools/deprecation.php000064400000022161152377341010013143 0ustar00current_version = $current_version; } public function get_settings() { return [ 'soft_notices' => $this->soft_deprecated_notices, ]; } /** * Get total of major. * * Since `get_total_major` cannot determine how much really versions between 2.9.0 and 3.3.0 if there is 2.10.0 version for example, * versions with major2 more then 9 will be added to total. * * @since 3.1.0 * * @param array $parsed_version * * @return int */ public function get_total_major( $parsed_version ) { $major1 = $parsed_version['major1']; $major2 = $parsed_version['major2']; $major2 = $major2 > 9 ? 9 : $major2; $minor = 0; $total = intval( "{$major1}{$major2}{$minor}" ); if ( $total > 99 ) { $total = $total / 10; } else { $total = intval( $total / 10 ); } if ( $parsed_version['major2'] > 9 ) { $total += $parsed_version['major2'] - 9; } return $total; } /** * Get next version. * * @since 3.1.0 * * @param string $version * @param int $count * * @return string|false */ public function get_next_version( $version, $count = 1 ) { $version = $this->parse_version( $version ); if ( ! $version ) { return false; } $version['total'] = $this->get_total_major( $version ) + $count; $total = $version['total']; if ( $total > 9 ) { $version['major1'] = intval( $total / 10 ); $version['major2'] = $total % 10; } else { $version['major1'] = 0; $version['major2'] = $total; } $version['minor'] = 0; return $this->implode_version( $version ); } /** * Implode parsed version to string version. * * @since 3.1.0 * * @param array $parsed_version * * @return string */ public function implode_version( $parsed_version ) { $major1 = $parsed_version['major1']; $major2 = $parsed_version['major2']; $minor = $parsed_version['minor']; return "{$major1}.{$major2}.{$minor}"; } /** * Parse to an informative array. * * @since 3.1.0 * * @param string $version * * @return array|false */ public function parse_version( $version ) { $version_explode = explode( '.', $version ); $version_explode_count = count( $version_explode ); if ( $version_explode_count < 3 || $version_explode_count > 4 ) { trigger_error( 'Invalid Semantic Version string provided' ); return false; } list( $major1, $major2, $minor ) = $version_explode; $result = [ 'major1' => intval( $major1 ), 'major2' => intval( $major2 ), 'minor' => intval( $minor ), ]; if ( $version_explode_count > 3 ) { $result['build'] = $version_explode[3]; } return $result; } /** * Compare two versions, result is equal to diff of major versions. * Notice: If you want to compare between 2.9.0 and 3.3.0, and there is also a 2.10.0 version, you cannot get the right comparison * Since $this->deprecation->get_total_major cannot determine how much really versions between 2.9.0 and 3.3.0. * * @since 3.1.0 * * @param {string} $version1 * @param {string} $version2 * * @return int|false */ public function compare_version( $version1, $version2 ) { $version1 = self::parse_version( $version1 ); $version2 = self::parse_version( $version2 ); if ( $version1 && $version2 ) { $versions = [ &$version1, &$version2 ]; foreach ( $versions as &$version ) { $version['total'] = self::get_total_major( $version ); } return $version1['total'] - $version2['total']; } return false; } /** * Check Deprecation * * Checks whether the given entity is valid. If valid, this method checks whether the deprecation * should be soft (browser console notice) or hard (use WordPress' native deprecation methods). * * @since 3.1.0 * * @param string $entity - The Deprecated entity (the function/hook itself) * @param string $version * @param string $replacement Optional * @param string $base_version Optional. Default is `null` * * @return bool|void * @throws \Exception */ private function check_deprecation( $entity, $version, $replacement, $base_version = null ) { if ( null === $base_version ) { $base_version = $this->current_version; } $diff = $this->compare_version( $base_version, $version ); if ( false === $diff ) { throw new \Exception( 'Invalid deprecation diff' ); } $print_deprecated = false; if ( defined( 'WP_DEBUG' ) && WP_DEBUG && $diff <= self::SOFT_VERSIONS_COUNT ) { // Soft deprecated. if ( ! isset( $this->soft_deprecated_notices[ $entity ] ) ) { $this->soft_deprecated_notices[ $entity ] = [ $version, $replacement, ]; } if ( defined( 'ELEMENTOR_DEBUG' ) && ELEMENTOR_DEBUG ) { $print_deprecated = true; } } else { // Hard deprecated. $print_deprecated = true; } return $print_deprecated; } /** * Deprecated Function * * Handles the deprecation process for functions. * * @since 3.1.0 * * @param string $function * @param string $version * @param string $replacement Optional. Default is '' * @param string $base_version Optional. Default is `null` * @throws \Exception */ public function deprecated_function( $function, $version, $replacement = '', $base_version = null ) { $print_deprecated = $this->check_deprecation( $function, $version, $replacement, $base_version ); if ( $print_deprecated ) { // PHPCS - We need to echo special characters because they can exist in function calls. _deprecated_function( $function, esc_html( $version ), $replacement ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } } /** * Deprecated Hook * * Handles the deprecation process for hooks. * * @since 3.1.0 * * @param string $hook * @param string $version * @param string $replacement Optional. Default is '' * @param string $base_version Optional. Default is `null` * @throws \Exception */ public function deprecated_hook( $hook, $version, $replacement = '', $base_version = null ) { $print_deprecated = $this->check_deprecation( $hook, $version, $replacement, $base_version ); if ( $print_deprecated ) { _deprecated_hook( esc_html( $hook ), esc_html( $version ), esc_html( $replacement ) ); } } /** * Deprecated Argument * * Handles the deprecation process for function arguments. * * @since 3.1.0 * * @param string $argument * @param string $version * @param string $replacement * @param string $message * @throws \Exception */ public function deprecated_argument( $argument, $version, $replacement = '', $message = '' ) { $print_deprecated = $this->check_deprecation( $argument, $version, $replacement ); if ( $print_deprecated ) { $message = empty( $message ) ? '' : ' ' . $message; // These arguments are escaped because they are printed later, and are not escaped when printed. $error_message_args = [ esc_html( $argument ), esc_html( $version ) ]; if ( $replacement ) { /* translators: 1: Function argument, 2: Elementor version number, 3: Replacement argument name. */ $translation_string = esc_html__( 'The %1$s argument is deprecated since version %2$s! Use %3$s instead.', 'elementor' ); $error_message_args[] = $replacement; } else { /* translators: 1: Function argument, 2: Elementor version number. */ $translation_string = esc_html__( 'The %1$s argument is deprecated since version %2$s!', 'elementor' ); } trigger_error( vsprintf( // PHPCS - $translation_string is already escaped above. $translation_string, // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped // PHPCS - $error_message_args is an array. $error_message_args // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ) . esc_html( $message ), E_USER_DEPRECATED ); } } /** * Do Deprecated Action * * A method used to run deprecated actions through Elementor's deprecation process. * * @since 3.1.0 * * @param string $hook * @param array $args * @param string $version * @param string $replacement * @param null|string $base_version * * @throws \Exception */ public function do_deprecated_action( $hook, $args, $version, $replacement = '', $base_version = null ) { if ( ! has_action( $hook ) ) { return; } $this->deprecated_hook( $hook, $version, $replacement, $base_version ); do_action_ref_array( $hook, $args ); } /** * Apply Deprecated Filter * * A method used to run deprecated filters through Elementor's deprecation process. * * @since 3.2.0 * * @param string $hook * @param array $args * @param string $version * @param string $replacement * @param null|string $base_version * * @return mixed * @throws \Exception */ public function apply_deprecated_filter( $hook, $args, $version, $replacement = '', $base_version = null ) { if ( ! has_action( $hook ) ) { return; } $this->deprecated_hook( $hook, $version, $replacement, $base_version ); return apply_filters_ref_array( $hook, $args ); } } modules/page-templates/module.php000064400000026145152377341010013135 0ustar00documents->get_doc_for_frontend( get_the_ID() ); if ( $document && $document::get_property( 'support_wp_page_templates' ) ) { $page_template = $document->get_meta( '_wp_page_template' ); $template_path = $this->get_template_path( $page_template ); if ( self::TEMPLATE_THEME !== $page_template && ! $template_path && $document->is_built_with_elementor() ) { $kit_default_template = Plugin::$instance->kits_manager->get_current_settings( 'default_page_template' ); $template_path = $this->get_template_path( $kit_default_template ); } if ( $template_path ) { $template = $template_path; Plugin::$instance->inspector->add_log( 'Page Template', Plugin::$instance->inspector->parse_template_path( $template ), $document->get_edit_url() ); } } } return $template; } /** * Add WordPress templates. * * Adds Elementor templates to all the post types that support * Elementor. * * Fired by `init` action. * * @since 2.0.0 * @access public */ public function add_wp_templates_support() { $post_types = get_post_types_by_support( 'elementor' ); foreach ( $post_types as $post_type ) { add_filter( "theme_{$post_type}_templates", [ $this, 'add_page_templates' ], 10, 4 ); } } /** * Add page templates. * * Add the Elementor page templates to the theme templates. * * Fired by `theme_{$post_type}_templates` filter. * * @since 2.0.0 * @access public * @static * * @param array $page_templates Array of page templates. Keys are filenames, * checks are translated names. * * @param \WP_Theme $wp_theme * @param \WP_Post $post * * @return array Page templates. */ public function add_page_templates( $page_templates, $wp_theme, $post ) { if ( $post ) { // FIX ME: Gutenberg not send $post as WP_Post object, just the post ID. $post_id = ! empty( $post->ID ) ? $post->ID : $post; $document = Plugin::$instance->documents->get( $post_id ); if ( $document && ! $document::get_property( 'support_wp_page_templates' ) ) { return $page_templates; } } $page_templates = [ self::TEMPLATE_CANVAS => _x( 'Elementor Canvas', 'Page Template', 'elementor' ), self::TEMPLATE_HEADER_FOOTER => _x( 'Elementor Full Width', 'Page Template', 'elementor' ), self::TEMPLATE_THEME => _x( 'Theme', 'Page Template', 'elementor' ), ] + $page_templates; return $page_templates; } /** * Set print callback. * * Set the page template callback. * * @since 2.0.0 * @access public * * @param callable $callback */ public function set_print_callback( $callback ) { $this->print_callback = $callback; } /** * Print callback. * * Prints the page template content using WordPress loop. * * @since 2.0.0 * @access public */ public function print_callback() { while ( have_posts() ) : the_post(); the_content(); endwhile; } /** * Print content. * * Prints the page template content. * * @since 2.0.0 * @access public */ public function print_content() { if ( ! $this->print_callback ) { $this->print_callback = [ $this, 'print_callback' ]; } call_user_func( $this->print_callback ); } /** * Get page template path. * * Retrieve the path for any given page template. * * @since 2.0.0 * @access public * * @param string $page_template The page template name. * * @return string Page template path. */ public function get_template_path( $page_template ) { $template_path = ''; switch ( $page_template ) { case self::TEMPLATE_CANVAS: $template_path = __DIR__ . '/templates/canvas.php'; break; case self::TEMPLATE_HEADER_FOOTER: $template_path = __DIR__ . '/templates/header-footer.php'; break; } return $template_path; } /** * Register template control. * * Adds custom controls to any given document. * * Fired by `update_post_metadata` action. * * @since 2.0.0 * @access public * * @param Document $document The document instance. */ public function action_register_template_control( $document ) { if ( $document instanceof PageBase || $document instanceof LibraryPageDocument ) { $this->register_template_control( $document ); } } /** * Register template control. * * Adds custom controls to any given document. * * @since 2.0.0 * @access public * * @param Document $document The document instance. * @param string $control_id Optional. The control ID. Default is `template`. */ public function register_template_control( $document, $control_id = 'template' ) { if ( ! Utils::is_cpt_custom_templates_supported() ) { return; } require_once ABSPATH . '/wp-admin/includes/template.php'; $document->start_injection( [ 'of' => 'post_status', 'fallback' => [ 'of' => 'post_title', ], ] ); $control_options = [ 'options' => array_flip( get_page_templates( null, $document->get_main_post()->post_type ) ), ]; $this->add_template_controls( $document, $control_id, $control_options ); $document->end_injection(); } // The $options variable is an array of $control_options to overwrite the default public function add_template_controls( Document $document, $control_id, $control_options ) { // Default Control Options $default_control_options = [ 'label' => esc_html__( 'Page Layout', 'elementor' ), 'type' => Controls_Manager::SELECT, 'default' => 'default', 'options' => [ 'default' => esc_html__( 'Default', 'elementor' ), ], ]; $control_options = array_replace_recursive( $default_control_options, $control_options ); $document->add_control( $control_id, $control_options ); $document->add_control( $control_id . '_default_description', [ 'type' => Controls_Manager::RAW_HTML, 'raw' => '' . esc_html__( 'The default page template as defined in Elementor Panel → Hamburger Menu → Site Settings.', 'elementor' ) . '', 'content_classes' => 'elementor-descriptor', 'condition' => [ $control_id => 'default', ], ] ); $document->add_control( $control_id . '_theme_description', [ 'type' => Controls_Manager::RAW_HTML, 'raw' => '' . esc_html__( 'Default Page Template from your theme.', 'elementor' ) . '', 'content_classes' => 'elementor-descriptor', 'condition' => [ $control_id => self::TEMPLATE_THEME, ], ] ); $document->add_control( $control_id . '_canvas_description', [ 'type' => Controls_Manager::RAW_HTML, 'raw' => '' . esc_html__( 'No header, no footer, just Elementor', 'elementor' ) . '', 'content_classes' => 'elementor-descriptor', 'condition' => [ $control_id => self::TEMPLATE_CANVAS, ], ] ); $document->add_control( $control_id . '_header_footer_description', [ 'type' => Controls_Manager::RAW_HTML, 'raw' => '' . esc_html__( 'This template includes the header, full-width content and footer', 'elementor' ) . '', 'content_classes' => 'elementor-descriptor', 'condition' => [ $control_id => self::TEMPLATE_HEADER_FOOTER, ], ] ); if ( $document instanceof Kit ) { $document->add_control( 'reload_preview_description', [ 'type' => Controls_Manager::RAW_HTML, 'raw' => esc_html__( 'Changes will be reflected in the preview only after the page reloads.', 'elementor' ), 'content_classes' => 'elementor-descriptor', ] ); } } /** * Filter metadata update. * * Filters whether to update metadata of a specific type. * * Elementor don't allow WordPress to update the parent page template * during `wp_update_post`. * * Fired by `update_{$meta_type}_metadata` filter. * * @since 2.0.0 * @access public * * @param bool $check Whether to allow updating metadata for the given type. * @param int $object_id Object ID. * @param string $meta_key Meta key. * * @return bool Whether to allow updating metadata of a specific type. */ public function filter_update_meta( $check, $object_id, $meta_key ) { if ( '_wp_page_template' === $meta_key && Plugin::$instance->common ) { /** @var \Elementor\Core\Common\Modules\Ajax\Module $ajax */ $ajax = Plugin::$instance->common->get_component( 'ajax' ); $ajax_data = $ajax->get_current_action_data(); $is_autosave_action = $ajax_data && 'save_builder' === $ajax_data['action'] && Document::STATUS_AUTOSAVE === $ajax_data['data']['status']; // Don't allow WP to update the parent page template. // (during `wp_update_post` from page-settings or save_plain_text). if ( $is_autosave_action && ! wp_is_post_autosave( $object_id ) && Document::STATUS_DRAFT !== get_post_status( $object_id ) ) { $check = false; } } return $check; } /** * Support `wp_body_open` action, available since WordPress 5.2. * * @since 2.7.0 * @access public */ public static function body_open() { if ( function_exists( 'wp_body_open' ) ) { wp_body_open(); } else { do_action( 'wp_body_open' ); } } /** * Page templates module constructor. * * Initializing Elementor page templates module. * * @since 2.0.0 * @access public */ public function __construct() { add_action( 'init', [ $this, 'add_wp_templates_support' ] ); add_filter( 'template_include', [ $this, 'template_include' ], 11 /* After Plugins/WooCommerce */ ); add_action( 'elementor/documents/register_controls', [ $this, 'action_register_template_control' ] ); add_filter( 'update_post_metadata', [ $this, 'filter_update_meta' ], 10, 3 ); } } modules/page-templates/templates/canvas.php000064400000002517152377341010015116 0ustar00frontend->add_body_class( 'elementor-template-canvas' ); ?> > <?php echo wp_get_document_title(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?> > modules_manager->get_modules( 'page-templates' )->print_content(); /** * After canvas page template content. * * Fires after the content of Elementor canvas page template. * * @since 1.0.0 */ do_action( 'elementor/page_templates/canvas/after_content' ); wp_footer(); ?> modules/page-templates/templates/header-footer.php000064400000001332152377341010016361 0ustar00frontend->add_body_class( 'elementor-template-full-width' ); get_header(); /** * Before Header-Footer page template content. * * Fires before the content of Elementor Header-Footer page template. * * @since 2.0.0 */ do_action( 'elementor/page_templates/header-footer/before_content' ); \Elementor\Plugin::$instance->modules_manager->get_modules( 'page-templates' )->print_content(); /** * After Header-Footer page template content. * * Fires after the content of Elementor Header-Footer page template. * * @since 2.0.0 */ do_action( 'elementor/page_templates/header-footer/after_content' ); get_footer(); modules/favorites/module.php000064400000012461152377341010012223 0ustar00register( Widgets::class ); $this->populate(); Plugin::instance()->data_manager_v2->register_controller( new Controller() ); add_filter( 'elementor/tracker/send_tracking_data_params', [ $this, 'add_tracking_data' ] ); } public static function get_experimental_data() { return [ 'name' => 'favorite-widgets', 'title' => esc_html__( 'Favorite Widgets', 'elementor' ), 'description' => esc_html__( 'Mark widgets as favorites by right clicking them. Favorite widgets will always appear at the top of the editor panel for easy access.', 'elementor' ), 'release_status' => Manager::RELEASE_STATUS_STABLE, 'new_site' => [ 'default_active' => true, ], ]; } /** * Add usage data related to favorites. * * @param $params * * @return array */ public function add_tracking_data( $params ) { $params['usages']['favorites'] = $this->get(); return $params; } public function get_name() { return 'favorites'; } /** * Get user favorites by type. * * @param string[]|string $type * * @return array */ public function get( $type = null ) { if ( null === $type ) { $type = array_keys( $this->types ); } if ( is_array( $type ) ) { return array_intersect_key( $this->combined(), array_flip( (array) $type ) ); } return $this->type_instance( $type ) ->values(); } /** * Merge new user favorites to a type. * * @param string $type * @param array|string $favorites * @param bool $store * * @return array|bool */ public function merge( $type, $favorites, $store = true ) { return $this->update( $type, $favorites, static::ACTION_MERGE, $store ); } /** * Delete existing favorites from a type. * * @param string $type * @param array|string $favorites * @param bool $store * * @return array|int */ public function delete( $type, $favorites, $store = true ) { return $this->update( $type, $favorites, static::ACTION_DELETE, $store ); } /** * Update favorites on a type by merging or deleting from it. * * @param $type * @param $favorites * @param $action * @param bool $store * * @return array|boolean */ public function update( $type, $favorites, $action, $store = true ) { $type_instance = $this->type_instance( $type ); $favorites = $type_instance->prepare( $favorites ); switch ( $action ) { case static::ACTION_MERGE: $type_instance->merge( $favorites ); break; case static::ACTION_DELETE: $type_instance->filter( function( $value ) use ( $favorites ) { return ! in_array( $value, $favorites, true ); } ); break; default: $this->action_doesnt_exists( $action ); } if ( $store && ! $this->store() ) { return false; } return $type_instance->values(); } /** * Get registered favorites type instance. * * @param string $type * * @return Favorites_Type */ public function type_instance( $type ) { return $this->types[ $type ]; } /** * Register a new type class. * * @param string $class */ public function register( $class ) { $type_instance = new $class(); $this->types[ $type_instance->get_name() ] = $type_instance; } /** * Returns all available types keys. * * @return string[] */ public function available() { return array_keys( $this->types ); } /** * Combine favorites from all types into a single array. * * @return array */ protected function combined() { $all = []; foreach ( $this->types as $type ) { $favorites = $type->values(); if ( ! empty( $favorites ) ) { $all[ $type->get_name() ] = $favorites; } } return $all; } /** * Populate all type classes with the stored data. */ protected function populate() { $combined = $this->retrieve(); foreach ( $this->types as $key => $type ) { if ( isset( $combined[ $key ] ) ) { $type->merge( $combined[ $key ] ); } } } /** * Retrieve stored user favorites types. * * @return mixed|false */ protected function retrieve() { return get_user_option( static::OPTION_NAME ); } /** * Update all changes to user favorites type. * * @return int|bool */ protected function store() { return update_user_option( get_current_user_id(), static::OPTION_NAME, $this->combined() ); } /** * Throw action doesn't exist exception. * * @param string $action */ public function action_doesnt_exists( $action ) { throw new \InvalidArgumentException( sprintf( "Action '%s' to apply on favorites doesn't exists", $action ) ); } } modules/favorites/controller.php000064400000003720152377341010013117 0ustar00get_module(); $type = $request->get_param( 'id' ); $favorite = $request->get_param( 'favorite' ); $module->update( $type, $favorite, $module::ACTION_MERGE ); return $module->get( $type ); } public function delete_item( $request ) { $module = $this->get_module(); $type = $request->get_param( 'id' ); $favorite = $request->get_param( 'favorite' ); $module->update( $type, $favorite, $module::ACTION_DELETE ); return $module->get( $type ); } public function create_item_permissions_check( $request ) { return current_user_can( 'edit_posts' ); } public function delete_item_permissions_check( $request ) { return $this->create_item_permissions_check( $request ); } /** * Get the favorites module instance. * * @return Module */ protected function get_module() { return Plugin::instance()->modules_manager->get_modules( 'favorites' ); } public function register_endpoints() { $this->index_endpoint->register_item_route( \WP_REST_Server::CREATABLE, [ 'id_arg_type_regex' => '[\w]+', 'id' => [ 'description' => 'Type of favorites.', 'type' => 'string', 'required' => true, ], 'favorite' => [ 'description' => 'The favorite slug to create.', 'type' => 'string', 'required' => true, ], ] ); $this->index_endpoint->register_item_route( \WP_REST_Server::DELETABLE, [ 'id_arg_type_regex' => '[\w]+', 'id' => [ 'description' => 'Type of favorites.', 'type' => 'string', 'required' => true, ], 'favorite' => [ 'description' => 'The favorite slug to delete.', 'type' => 'string', 'required' => true, ], ] ); } } modules/favorites/types/widgets.php000064400000002767152377341010013560 0ustar00get_available() ); } /** * Get all available widgets. * * @return string[] */ public function get_available() { return array_merge( array_keys( Plugin::instance()->widgets_manager->get_widget_types() ), array_keys( Plugin::instance()->elements_manager->get_element_types() ) ); } /** * Update the categories of a widget inside a filter. * * @param $document */ public function update_widget_categories( $document ) { foreach ( $this->values() as $favorite ) { $widget = Plugin::$instance->widgets_manager->get_widget_types( $favorite ); // If it's not a widget, maybe it's an element. if ( ! $widget ) { $widget = Plugin::$instance->elements_manager->get_element_types( $favorite ); } if ( $widget ) { $widget->set_config( 'categories', [ static::CATEGORY_SLUG ] ); } } } } modules/favorites/favorites-type.php000064400000001446152377341010013720 0ustar00values(); } if ( ! is_array( $favorites ) ) { return [ $favorites ]; } return $favorites; } } modules/landing-pages/module.php000064400000042714152377341010012736 0ustar00 'landing-pages', 'title' => esc_html__( 'Landing Pages', 'elementor' ), 'description' => esc_html__( 'Adds a new Elementor content type that allows creating beautiful landing pages instantly in a streamlined workflow.', 'elementor' ), 'release_status' => Experiments_Manager::RELEASE_STATUS_STABLE, 'default' => Experiments_Manager::STATE_ACTIVE, 'new_site' => [ 'default_active' => true, 'minimum_installation_version' => '3.1.0-beta', ], ]; } /** * Get Trashed Landing Pages Posts * * Returns the posts property of a WP_Query run for Landing Pages with post_status of 'trash'. * * @since 3.1.0 * * @return array trashed posts */ private function get_trashed_landing_page_posts() { if ( $this->trashed_posts ) { return $this->trashed_posts; } // `'posts_per_page' => 1` is because this is only used as an indicator to whether there are any trashed landing pages. $trashed_posts_query = new \WP_Query( [ 'no_found_rows' => true, 'post_type' => self::CPT, 'post_status' => 'trash', 'posts_per_page' => 1, 'meta_key' => '_elementor_template_type', 'meta_value' => self::DOCUMENT_TYPE, ] ); $this->trashed_posts = $trashed_posts_query->posts; return $this->trashed_posts; } /** * Get Landing Pages Posts * * Returns the posts property of a WP_Query run for posts with the Landing Pages CPT. * * @since 3.1.0 * * @return array posts */ private function get_landing_page_posts() { if ( $this->posts ) { return $this->posts; } // `'posts_per_page' => 1` is because this is only used as an indicator to whether there are any landing pages. $posts_query = new \WP_Query( [ 'no_found_rows' => true, 'post_type' => self::CPT, 'post_status' => 'any', 'posts_per_page' => 1, 'meta_key' => '_elementor_template_type', 'meta_value' => self::DOCUMENT_TYPE, ] ); $this->posts = $posts_query->posts; return $this->posts; } /** * Is Elementor Landing Page. * * Check whether the post is an Elementor Landing Page. * * @since 3.1.0 * @access public * * @param \WP_Post $post Post Object * * @return bool Whether the post was built with Elementor. */ public function is_elementor_landing_page( $post ) { return self::CPT === $post->post_type; } private function get_menu_args() { $posts = $this->get_landing_page_posts(); // If there are no Landing Pages, show the "Create Your First Landing Page" page. // If there are, show the pages table. if ( ! empty( $posts ) ) { $menu_slug = self::ADMIN_PAGE_SLUG; $function = null; } else { $menu_slug = self::CPT; $function = [ $this, 'print_empty_landing_pages_page' ]; } return [ 'menu_slug' => $menu_slug, 'function' => $function, ]; } private function register_admin_menu( MainMenu $menu ) { $landing_pages_title = esc_html__( 'Landing Pages', 'elementor' ); $menu_args = array_merge( $this->get_menu_args(), [ 'page_title' => $landing_pages_title, 'menu_title' => $landing_pages_title, 'index' => 20, ] ); $menu->add_submenu( $menu_args ); } /** * Add Submenu Page * * Adds the 'Landing Pages' submenu item to the 'Templates' menu item. * * @since 3.1.0 */ private function register_admin_menu_legacy() { $landing_pages_title = esc_html__( 'Landing Pages', 'elementor' ); $menu_args = $this->get_menu_args(); add_submenu_page( Source_Local::ADMIN_MENU_SLUG, $landing_pages_title, $landing_pages_title, 'manage_options', $menu_args['menu_slug'], $menu_args['function'] ); } /** * Get 'Add New' Landing Page URL * * Retrieves the custom URL for the admin dashboard's 'Add New' button in the Landing Pages admin screen. This URL * creates a new Landing Pages and directly opens the Elementor Editor with the Template Library modal open on the * Landing Pages tab. * * @since 3.1.0 * * @return string */ private function get_add_new_landing_page_url() { if ( ! $this->new_lp_url ) { $this->new_lp_url = Plugin::$instance->documents->get_create_new_post_url( self::CPT, self::DOCUMENT_TYPE ) . '#library'; } return $this->new_lp_url; } /** * Get Empty Landing Pages Page * * Prints the HTML content of the page that is displayed when there are no existing landing pages in the DB. * Added as the callback to add_submenu_page. * * @since 3.1.0 */ public function print_empty_landing_pages_page() { $template_sources = Plugin::$instance->templates_manager->get_registered_sources(); $source_local = $template_sources['local']; $trashed_posts = $this->get_trashed_landing_page_posts(); ?>
print_blank_state_template( esc_html__( 'Landing Page', 'elementor' ), $this->get_add_new_landing_page_url(), esc_html__( 'Build Effective Landing Pages for your business\' marketing campaigns.', 'elementor' ) ); if ( ! empty( $trashed_posts ) ) : ?>
', '' ); ?>
base ) { return $this->is_elementor_landing_page( get_post() ); } return false; } /** * Admin Localize Settings * * Enables adding properties to the globally available elementorAdmin.config JS object in the Admin Dashboard. * Runs on the 'elementor/admin/localize_settings' filter. * * @since 3.1.0 * * @param $settings * @return array|null */ private function admin_localize_settings( $settings ) { $additional_settings = [ 'urls' => [ 'addNewLandingPageUrl' => $this->get_add_new_landing_page_url(), ], 'landingPages' => [ 'landingPagesHasPages' => [] !== $this->get_landing_page_posts(), 'isLandingPageAdminEdit' => $this->is_landing_page_admin_edit(), ], ]; return array_replace_recursive( $settings, $additional_settings ); } /** * Register Landing Pages CPT * * @since 3.1.0 */ private function register_landing_page_cpt() { $labels = [ 'name' => esc_html__( 'Landing Pages', 'elementor' ), 'singular_name' => esc_html__( 'Landing Page', 'elementor' ), 'add_new' => esc_html__( 'Add New', 'elementor' ), 'add_new_item' => esc_html__( 'Add New Landing Page', 'elementor' ), 'edit_item' => esc_html__( 'Edit Landing Page', 'elementor' ), 'new_item' => esc_html__( 'New Landing Page', 'elementor' ), 'all_items' => esc_html__( 'All Landing Pages', 'elementor' ), 'view_item' => esc_html__( 'View Landing Page', 'elementor' ), 'search_items' => esc_html__( 'Search Landing Pages', 'elementor' ), 'not_found' => esc_html__( 'No landing pages found', 'elementor' ), 'not_found_in_trash' => esc_html__( 'No landing pages found in trash', 'elementor' ), 'parent_item_colon' => '', 'menu_name' => esc_html__( 'Landing Pages', 'elementor' ), ]; $args = [ 'labels' => $labels, 'public' => true, 'show_in_menu' => 'edit.php?post_type=elementor_library&tabs_group=library', 'capability_type' => 'page', 'taxonomies' => [ Source_Local::TAXONOMY_TYPE_SLUG ], 'supports' => [ 'title', 'editor', 'comments', 'revisions', 'trackbacks', 'author', 'excerpt', 'page-attributes', 'thumbnail', 'custom-fields', 'post-formats', 'elementor' ], ]; register_post_type( self::CPT, $args ); } /** * Remove Post Type Slug * * Landing Pages are supposed to act exactly like pages. This includes their URLs being directly under the site's * domain name. Since "Landing Pages" is a CPT, WordPress automatically adds the landing page slug as a prefix to * it's posts' permalinks. This method checks if the post's post type is Landing Pages, and if it is, it removes * the CPT slug from the requested post URL. * * Runs on the 'post_type_link' filter. * * @since 3.1.0 * * @param $post_link * @param $post * @param $leavename * @return string|string[] */ private function remove_post_type_slug( $post_link, $post, $leavename ) { // Only try to modify the permalink if the post is a Landing Page. if ( self::CPT !== $post->post_type || 'publish' !== $post->post_status ) { return $post_link; } // Any slug prefixes need to be removed from the post link. return get_home_url() . '/' . $post->post_name . '/'; } /** * Adjust Landing Page Query * * Since Landing Pages are a CPT but should act like pages, the WP_Query that is used to fetch the page from the * database needs to be adjusted. This method adds the Landing Pages CPT to the list of queried post types, to * make sure the database query finds the correct Landing Page to display. * Runs on the 'pre_get_posts' action. * * @since 3.1.0 * * @param \WP_Query $query */ private function adjust_landing_page_query( \WP_Query $query ) { // Only handle actual pages. if ( ! $query->is_main_query() // If the query is not for a page. || ! isset( $query->query['page'] ) // If the query is for a static home/blog page. || is_home() // If the post type comes already set, the main query is probably a custom one made by another plugin. // In this case we do not want to intervene in order to not cause a conflict. || isset( $query->query['post_type'] ) ) { return; } // Create the post types property as an array and include the landing pages CPT in it. $query_post_types = [ 'post', 'page', self::CPT ]; // Since WordPress determined this is supposed to be a page, we'll pre-set the post_type query arg to make sure // it includes the Landing Page CPT, so when the query is parsed, our CPT will be a legitimate match to the // Landing Page's permalink (that is directly under the domain, without a CPT slug prefix). In some cases, // The 'name' property will be set, and in others it is the 'pagename', so we have to cover both cases. if ( ! empty( $query->query['name'] ) ) { $query->set( 'post_type', $query_post_types ); } elseif ( ! empty( $query->query['pagename'] ) && false === strpos( $query->query['pagename'], '/' ) ) { $query->set( 'post_type', $query_post_types ); // We also need to set the name query var since redirect_guess_404_permalink() relies on it. add_filter( 'pre_redirect_guess_404_permalink', function( $value ) use ( $query ) { set_query_var( 'name', $query->query['pagename'] ); return $value; } ); } } /** * Handle 404 * * This method runs after a page is not found in the database, but before a page is returned as a 404. * These cases are handled in this filter callback, that runs on the 'pre_handle_404' filter. * * In some cases (such as when a site uses custom permalink structures), WordPress's WP_Query does not identify a * Landing Page's URL as a post belonging to the Landing Page CPT. Some cases are handled successfully by the * adjust_landing_page_query() method, but some are not and still trigger a 404 process. This method handles such * cases by overriding the $wp_query global to fetch the correct landing page post entry. * * For example, since Landing Pages slugs come directly after the site domain name, WP_Query might parse the post * as a category page. Since there is no category matching the slug, it triggers a 404 process. In this case, we * run a query for a Landing Page post with the passed slug ($query->query['category_name']. If a Landing Page * with the passed slug is found, we override the global $wp_query with the new, correct query. * * @param $current_value * @param $query * @return false */ private function handle_404( $current_value, $query ) { global $wp_query; // If another plugin/theme already used this filter, exit here to avoid conflicts. if ( $current_value ) { return $current_value; } if ( // Make sure we only intervene in the main query. ! $query->is_main_query() // If a post was found, this is not a 404 case, so do not intervene. || ! empty( $query->posts ) // This filter is only meant to deal with wrong queries where the only query var is 'category_name'. // If there is no 'category_name' query var, do not intervene. || empty( $query->query['category_name'] ) // If the query is for a real taxonomy (determined by it including a table to search in, such as the // wp_term_relationships table), do not intervene. || ! empty( $query->tax_query->table_aliases ) ) { return false; } // Search for a Landing Page with the same name passed as the 'category name'. $possible_new_query = new \WP_Query( [ 'no_found_rows' => true, 'post_type' => self::CPT, 'name' => $query->query['category_name'], ] ); // Only if such a Landing Page is found, override the query to fetch the correct page. if ( ! empty( $possible_new_query->posts ) ) { $wp_query = $possible_new_query; //phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited } return false; } public function __construct() { $this->permalink_structure = get_option( 'permalink_structure' ); $this->register_landing_page_cpt(); // If there is a permalink structure set to the site, run the hooks that modify the Landing Pages permalinks to // match WordPress' native 'Pages' post type. if ( '' !== $this->permalink_structure ) { // Landing Pages' post link needs to be modified to be identical to the pages permalink structure. This // needs to happen in both the admin and the front end, since post links are also used in the admin pages. add_filter( 'post_type_link', function( $post_link, $post, $leavename ) { return $this->remove_post_type_slug( $post_link, $post, $leavename ); }, 10, 3 ); // The query itself only has to be manipulated when pages are viewed in the front end. if ( ! is_admin() || wp_doing_ajax() ) { add_action( 'pre_get_posts', function ( $query ) { $this->adjust_landing_page_query( $query ); } ); // Handle cases where visiting a Landing Page's URL returns 404. add_filter( 'pre_handle_404', function ( $value, $query ) { return $this->handle_404( $value, $query ); }, 10, 2 ); } } add_action( 'elementor/documents/register', function( Documents_Manager $documents_manager ) { $documents_manager->register_document_type( self::DOCUMENT_TYPE, Landing_Page::get_class_full_name() ); } ); if ( Plugin::$instance->experiments->is_feature_active( 'admin_menu_rearrangement' ) ) { add_action( 'elementor/admin/menu_registered/elementor', function( MainMenu $menu ) { $this->register_admin_menu( $menu ); } ); } else { add_action( 'admin_menu', function() { $this->register_admin_menu_legacy(); }, 30 ); } // Add the custom 'Add New' link for Landing Pages into Elementor's admin config. add_action( 'elementor/admin/localize_settings', function( array $settings ) { return $this->admin_localize_settings( $settings ); } ); add_filter( 'elementor/template_library/sources/local/register_taxonomy_cpts', function( array $cpts ) { $cpts[] = self::CPT; return $cpts; } ); // In the Landing Pages Admin Table page - Overwrite Template type column header title. add_action( 'manage_' . Landing_Pages_Module::CPT . '_posts_columns', function( $posts_columns ) { /** @var Source_Local $source_local */ $source_local = Plugin::$instance->templates_manager->get_source( 'local' ); return $source_local->admin_columns_headers( $posts_columns ); } ); // In the Landing Pages Admin Table page - Overwrite Template type column row values. add_action( 'manage_' . Landing_Pages_Module::CPT . '_posts_custom_column', function( $column_name, $post_id ) { /** @var Landing_Page $document */ $document = Plugin::$instance->documents->get( $post_id ); $document->admin_columns_content( $column_name ); }, 10, 2 ); // Overwrite the Admin Bar's 'New +' Landing Page URL with the link that creates the new LP in Elementor // with the Template Library modal open. add_action( 'admin_bar_menu', function( $admin_bar ) { // Get the Landing Page menu node. $new_landing_page_node = $admin_bar->get_node( 'new-e-landing-page' ); if ( $new_landing_page_node ) { $new_landing_page_node->href = $this->get_add_new_landing_page_url(); $admin_bar->add_node( $new_landing_page_node ); } }, 100 ); } } modules/landing-pages/documents/landing-page.php000064400000004427152377341010015777 0ustar00print_admin_column_type(); } } protected function get_remote_library_config() { $config = [ 'type' => 'lp', 'default_route' => 'templates/landing-pages', 'autoImportSettings' => true, ]; return array_replace_recursive( parent::get_remote_library_config(), $config ); } } modules/admin-top-bar/module.php000064400000005466152377341010012662 0ustar00 'admin-top-bar', 'title' => esc_html__( 'Admin Top Bar', 'elementor' ), 'description' => esc_html__( 'Adds a top bar to elementors pages in admin area.', 'elementor' ), 'release_status' => Manager::RELEASE_STATUS_STABLE, 'new_site' => [ 'default_active' => true, ], ]; } /** * @return string */ public function get_name() { return 'admin-top-bar'; } private function render_admin_top_bar() { ?>
get_css_assets_url( 'admin-top-bar', null, 'default', true ), [], ELEMENTOR_VERSION ); wp_enqueue_script( 'elementor-admin-top-bar', $this->get_js_assets_url( 'admin-top-bar' ), [ 'elementor-common', 'react', 'react-dom', 'tipsy', ], ELEMENTOR_VERSION, true ); $min_suffix = Utils::is_script_debug() ? '' : '.min'; wp_enqueue_script( 'tipsy', ELEMENTOR_ASSETS_URL . 'lib/tipsy/tipsy' . $min_suffix . '.js', [ 'jquery', ], '1.0.0', true ); $this->print_config(); } private function add_frontend_settings() { $settings = []; $settings['is_administrator'] = current_user_can( 'manage_options' ); $current_screen = get_current_screen(); /** @var \Elementor\Core\Common\Modules\Connect\Apps\Library $library */ $library = Plugin::$instance->common->get_component( 'connect' )->get_app( 'library' ); if ( $library ) { $settings = array_merge( $settings, [ 'is_user_connected' => $library->is_connected(), 'connect_url' => $library->get_admin_url( 'authorize', [ 'utm_source' => 'top-bar', 'utm_medium' => 'wp-dash', 'utm_campaign' => 'connect-account', 'utm_content' => $current_screen->id, 'source' => 'generic', ] ), ] ); } $this->set_settings( $settings ); do_action( 'elementor/admin-top-bar/init', $this ); } /** * Module constructor. */ public function __construct() { parent::__construct(); add_action( 'in_admin_header', function () { $this->render_admin_top_bar(); } ); add_action( 'admin_enqueue_scripts', function () { $this->enqueue_scripts(); } ); add_action( 'current_screen', function () { $this->add_frontend_settings(); } ); } } modules/usage/module.php000064400000037205152377341010011330 0ustar00 $elements ) { $doc_class = Plugin::$instance->documents->get_document_type( $doc_type ); if ( 'html' === $format && $doc_class ) { $doc_title = $doc_class::get_title(); } else { $doc_title = $doc_type; } $doc_count = $this->get_doc_type_count( $doc_class, $doc_type ); $tab_group = $doc_class::get_property( 'admin_tab_group' ); if ( 'html' === $format && $tab_group ) { $doc_title = ucwords( $tab_group ) . ' - ' . $doc_title; } // Replace element type with element title. foreach ( $elements as $element_type => $data ) { unset( $elements[ $element_type ] ); if ( in_array( $element_type, [ 'section', 'column' ], true ) ) { continue; } $widget_instance = Plugin::$instance->widgets_manager->get_widget_types( $element_type ); if ( 'html' === $format && $widget_instance ) { $widget_title = $widget_instance->get_title(); } else { $widget_title = $element_type; } $elements[ $widget_title ] = $data['count']; } // Sort elements by key. ksort( $elements ); $usage[ $doc_type ] = [ 'title' => $doc_title, 'elements' => $elements, 'count' => $doc_count, ]; // ' ? 1 : 0;' In sorters is compatibility for PHP8.0. // Sort usage by title. uasort( $usage, function( $a, $b ) { return ( $a['title'] > $b['title'] ) ? 1 : 0; } ); // If title includes '-' will have lower priority. uasort( $usage, function( $a ) { return strpos( $a['title'], '-' ) ? 1 : 0; } ); } return $usage; } /** * Before document Save. * * Called on elementor/document/before_save, remove document from global & set saving flag. * * @param Document $document * @param array $data new settings to save. */ public function before_document_save( $document, $data ) { $current_status = get_post_status( $document->get_post() ); $new_status = isset( $data['settings']['post_status'] ) ? $data['settings']['post_status'] : ''; if ( $current_status === $new_status ) { $this->remove_from_global( $document ); } $this->is_document_saving = true; } /** * After document save. * * Called on elementor/document/after_save, adds document to global & clear saving flag. * * @param Document $document */ public function after_document_save( $document ) { if ( Document::STATUS_PUBLISH === $document->get_post()->post_status || Document::STATUS_PRIVATE === $document->get_post()->post_status ) { $this->save_document_usage( $document ); } $this->is_document_saving = false; } /** * On status change. * * Called on transition_post_status. * * @param string $new_status * @param string $old_status * @param \WP_Post $post */ public function on_status_change( $new_status, $old_status, $post ) { if ( wp_is_post_autosave( $post ) ) { return; } // If it's from elementor editor, the usage should be saved via `before_document_save`/`after_document_save`. if ( $this->is_document_saving ) { return; } $document = Plugin::$instance->documents->get( $post->ID ); if ( ! $document ) { return; } $is_public_unpublish = 'publish' === $old_status && 'publish' !== $new_status; $is_private_unpublish = 'private' === $old_status && 'private' !== $new_status; if ( $is_public_unpublish || $is_private_unpublish ) { $this->remove_from_global( $document ); } $is_public_publish = 'publish' !== $old_status && 'publish' === $new_status; $is_private_publish = 'private' !== $old_status && 'private' === $new_status; if ( $is_public_publish || $is_private_publish ) { $this->save_document_usage( $document ); } } /** * On before delete post. * * Called on on_before_delete_post. * * @param int $post_id */ public function on_before_delete_post( $post_id ) { $document = Plugin::$instance->documents->get( $post_id ); if ( $document->get_id() !== $document->get_main_id() ) { return; } $this->remove_from_global( $document ); } /** * Add's tracking data. * * Called on elementor/tracker/send_tracking_data_params. * * @param array $params * * @return array */ public function add_tracking_data( $params ) { $params['usages']['elements'] = get_option( self::OPTION_NAME ); return $params; } /** * Recalculate usage. * * Recalculate usage for all elementor posts. * * @param int $limit * @param int $offset * * @return int */ public function recalc_usage( $limit = -1, $offset = 0 ) { // While requesting recalc_usage, data should be deleted. // if its in a batch the data should be deleted only on the first batch. if ( 0 === $offset ) { delete_option( self::OPTION_NAME ); } $post_types = get_post_types( array( 'public' => true ) ); $query = new \WP_Query( [ 'no_found_rows' => true, 'meta_key' => '_elementor_data', 'post_type' => $post_types, 'post_status' => [ 'publish', 'private' ], 'posts_per_page' => $limit, 'offset' => $offset, ] ); foreach ( $query->posts as $post ) { $document = Plugin::$instance->documents->get( $post->ID ); if ( ! $document ) { continue; } $this->after_document_save( $document ); } // Clear query memory before leave. wp_cache_flush(); return count( $query->posts ); } /** * Increase controls count. * * Increase controls count, for each element. * * @param array &$element_ref * @param string $tab * @param string $section * @param string $control * @param int $count */ private function increase_controls_count( &$element_ref, $tab, $section, $control, $count ) { if ( ! isset( $element_ref['controls'][ $tab ] ) ) { $element_ref['controls'][ $tab ] = []; } if ( ! isset( $element_ref['controls'][ $tab ][ $section ] ) ) { $element_ref['controls'][ $tab ][ $section ] = []; } if ( ! isset( $element_ref['controls'][ $tab ][ $section ][ $control ] ) ) { $element_ref['controls'][ $tab ][ $section ][ $control ] = 0; } $element_ref['controls'][ $tab ][ $section ][ $control ] += $count; } /** * Add Controls * * Add's controls to this element_ref, returns changed controls count. * * @param array $settings_controls * @param array $element_controls * @param array &$element_ref * * @return int ($changed_controls_count). */ private function add_controls( $settings_controls, $element_controls, &$element_ref ) { $changed_controls_count = 0; // Loop over all element settings. foreach ( $settings_controls as $control => $value ) { if ( empty( $element_controls[ $control ] ) ) { continue; } $control_config = $element_controls[ $control ]; if ( ! isset( $control_config['section'], $control_config['default'] ) ) { continue; } $tab = $control_config['tab']; $section = $control_config['section']; // If setting value is not the control default. if ( $value !== $control_config['default'] ) { $this->increase_controls_count( $element_ref, $tab, $section, $control, 1 ); $changed_controls_count++; } } return $changed_controls_count; } /** * Add general controls. * * Extract general controls to element ref, return clean `$settings_control`. * * @param array $settings_controls * @param array &$element_ref * * @return array ($settings_controls). */ private function add_general_controls( $settings_controls, &$element_ref ) { if ( ! empty( $settings_controls[ Manager::DYNAMIC_SETTING_KEY ] ) ) { $settings_controls = array_merge( $settings_controls, $settings_controls[ Manager::DYNAMIC_SETTING_KEY ] ); // Add dynamic count to controls under `general` tab. $this->increase_controls_count( $element_ref, self::GENERAL_TAB, Manager::DYNAMIC_SETTING_KEY, 'count', count( $settings_controls[ Manager::DYNAMIC_SETTING_KEY ] ) ); } return $settings_controls; } /** * Add to global. * * Add's usage to global (update database). * * @param string $doc_name * @param array $doc_usage */ private function add_to_global( $doc_name, $doc_usage ) { $global_usage = get_option( self::OPTION_NAME, [] ); foreach ( $doc_usage as $element_type => $element_data ) { if ( ! isset( $global_usage[ $doc_name ] ) ) { $global_usage[ $doc_name ] = []; } if ( ! isset( $global_usage[ $doc_name ][ $element_type ] ) ) { $global_usage[ $doc_name ][ $element_type ] = [ 'count' => 0, 'controls' => [], ]; } $global_element_ref = &$global_usage[ $doc_name ][ $element_type ]; $global_element_ref['count'] += $element_data['count']; if ( empty( $element_data['controls'] ) ) { continue; } foreach ( $element_data['controls'] as $tab => $sections ) { foreach ( $sections as $section => $controls ) { foreach ( $controls as $control => $count ) { $this->increase_controls_count( $global_element_ref, $tab, $section, $control, $count ); } } } } update_option( self::OPTION_NAME, $global_usage, false ); } /** * Remove from global. * * Remove's usage from global (update database). * * @param Document $document */ private function remove_from_global( $document ) { $prev_usage = $document->get_meta( self::META_KEY ); if ( empty( $prev_usage ) ) { return; } $doc_name = $document->get_name(); $global_usage = get_option( self::OPTION_NAME, [] ); foreach ( $prev_usage as $element_type => $doc_value ) { if ( isset( $global_usage[ $doc_name ][ $element_type ]['count'] ) ) { $global_usage[ $doc_name ][ $element_type ]['count'] -= $prev_usage[ $element_type ]['count']; if ( 0 === $global_usage[ $doc_name ][ $element_type ]['count'] ) { unset( $global_usage[ $doc_name ][ $element_type ] ); if ( 0 === count( $global_usage[ $doc_name ] ) ) { unset( $global_usage[ $doc_name ] ); } continue; } foreach ( $prev_usage[ $element_type ]['controls'] as $tab => $sections ) { foreach ( $sections as $section => $controls ) { foreach ( $controls as $control => $count ) { if ( isset( $global_usage[ $doc_name ][ $element_type ]['controls'][ $tab ][ $section ][ $control ] ) ) { $section_ref = &$global_usage[ $doc_name ][ $element_type ]['controls'][ $tab ][ $section ]; $section_ref[ $control ] -= $count; if ( 0 === $section_ref[ $control ] ) { unset( $section_ref[ $control ] ); } } } } } } } update_option( self::OPTION_NAME, $global_usage, false ); $document->delete_meta( self::META_KEY ); } /** * Get elements usage. * * Get's the current elements usage by passed elements array parameter. * * @param array $elements * * @return array */ private function get_elements_usage( $elements ) { $usage = []; Plugin::$instance->db->iterate_data( $elements, function ( $element ) use ( &$usage ) { if ( empty( $element['widgetType'] ) ) { $type = $element['elType']; $element_instance = Plugin::$instance->elements_manager->get_element_types( $type ); } else { $type = $element['widgetType']; $element_instance = Plugin::$instance->widgets_manager->get_widget_types( $type ); } if ( ! isset( $usage[ $type ] ) ) { $usage[ $type ] = [ 'count' => 0, 'control_percent' => 0, 'controls' => [], ]; } $usage[ $type ]['count']++; if ( ! $element_instance ) { return $element; } $element_controls = $element_instance->get_controls(); if ( isset( $element['settings'] ) ) { $settings_controls = $element['settings']; $element_ref = &$usage[ $type ]; // Add dynamic values. $settings_controls = $this->add_general_controls( $settings_controls, $element_ref ); $changed_controls_count = $this->add_controls( $settings_controls, $element_controls, $element_ref ); $percent = $changed_controls_count / ( count( $element_controls ) / 100 ); $usage[ $type ] ['control_percent'] = (int) round( $percent ); } return $element; } ); return $usage; } /** * Save document usage. * * Save requested document usage, and update global. * * @param Document $document */ private function save_document_usage( Document $document ) { if ( ! $document::get_property( 'is_editable' ) && ! $document->is_built_with_elementor() ) { return; } // Get data manually to avoid conflict with `\Elementor\Core\Base\Document::get_elements_data... convert_to_elementor`. $data = $document->get_json_meta( '_elementor_data' ); if ( ! empty( $data ) ) { try { $usage = $this->get_elements_usage( $document->get_elements_raw_data( $data ) ); $document->update_meta( self::META_KEY, $usage ); $this->add_to_global( $document->get_name(), $usage ); } catch ( \Exception $exception ) { Plugin::$instance->logger->get_logger()->error( $exception->getMessage(), [ 'document_id' => $document->get_id(), 'document_name' => $document->get_name(), ] ); return; }; } } /** * Add system info report. */ public function add_system_info_report() { System_Info::add_report( 'usage', [ 'file_name' => __DIR__ . '/usage-reporter.php', 'class_name' => __NAMESPACE__ . '\Usage_Reporter', ] ); } /** * Usage module constructor. * * Initializing Elementor usage module. * * @access public */ public function __construct() { if ( ! Tracker::is_allow_track() ) { return; } add_action( 'transition_post_status', [ $this, 'on_status_change' ], 10, 3 ); add_action( 'before_delete_post', [ $this, 'on_before_delete_post' ] ); add_action( 'elementor/document/before_save', [ $this, 'before_document_save' ], 10, 2 ); add_action( 'elementor/document/after_save', [ $this, 'after_document_save' ] ); add_filter( 'elementor/tracker/send_tracking_data_params', [ $this, 'add_tracking_data' ] ); add_action( 'admin_init', [ $this, 'add_system_info_report' ], 50 ); } } modules/usage/usage-reporter.php000064400000005701152377341010013003 0ustar00 '', ]; } public function print_html_label( $label ) { $title = $this->get_title(); if ( empty( $_GET[ self::RECALC_ACTION ] ) ) { // phpcs:ignore -- nonce validation is not required here. $nonce = wp_create_nonce( self::RECALC_ACTION ); $url = add_query_arg( [ self::RECALC_ACTION => 1, '_wpnonce' => $nonce, ] ); $title .= 'Recalculate'; } else { $title .= $this->get_remove_recalc_query_string_script(); } parent::print_html_label( $title ); } public function get_usage() { /** @var Module $module */ $module = Module::instance(); if ( ! empty( $_GET[ self::RECALC_ACTION ] ) ) { if ( empty( $_GET['_wpnonce'] ) || ! wp_verify_nonce( $_GET['_wpnonce'], self::RECALC_ACTION ) ) { wp_die( 'Invalid Nonce', 'Invalid Nonce', [ 'back_link' => true, ] ); } $module->recalc_usage(); } $usage = ''; foreach ( $module->get_formatted_usage() as $doc_type => $data ) { $usage .= '' . $data['title'] . ' ( ' . $data['count'] . ' )'; foreach ( $data['elements'] as $element => $count ) { $usage .= $element . ': ' . $count . PHP_EOL; } $usage .= ''; } return [ 'value' => $usage, ]; } public function get_raw_usage() { /** @var Module $module */ $module = Module::instance(); $usage = PHP_EOL; foreach ( $module->get_formatted_usage( 'raw' ) as $doc_type => $data ) { $usage .= "\t{$data['title']} : " . $data['count'] . PHP_EOL; foreach ( $data['elements'] as $element => $count ) { $usage .= "\t\t{$element} : {$count}" . PHP_EOL; } } return [ 'value' => $usage, ]; } /** * Removes the "elementor_usage_recalc" param from the query string to avoid recalc every refresh. * When using a redirect header in place of this approach it throws an error because some components have already output some content. * * @return string */ private function get_remove_recalc_query_string_script() { ob_start(); ?> Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The GNU General Public License is a free, copyleft license for software and other kinds of works. The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. The precise terms and conditions for copying, distribution and modification follow. TERMS AND CONDITIONS 0. Definitions. "This License" refers to version 3 of the GNU General Public License. "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. "The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations. To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. A "covered work" means either the unmodified Program or a work based on the Program. To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. 1. Source Code. The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work. A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. The Corresponding Source for a work in source code form is that same work. 2. Basic Permissions. All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. 3. Protecting Users' Legal Rights From Anti-Circumvention Law. No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. 4. Conveying Verbatim Copies. You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. 5. Conveying Modified Source Versions. You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: a) The work must carry prominent notices stating that you modified it, and giving a relevant date. b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices". c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. 6. Conveying Non-Source Forms. You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. "Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. 7. Additional Terms. "Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or d) Limiting the use for publicity purposes of names of licensors or authors of the material; or e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. 8. Termination. You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. 9. Acceptance Not Required for Having Copies. You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. 10. Automatic Licensing of Downstream Recipients. Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. 11. Patents. A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version". A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. 12. No Surrender of Others' Freedom. If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. 13. Use with the GNU Affero General Public License. Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. 14. Revised Versions of this License. The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. 15. Disclaimer of Warranty. THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. Limitation of Liability. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 17. Interpretation of Sections 15 and 16. If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: Copyright (C) This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an "about box". You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see . The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read . elementor.php000064400000006542152377341010007261 0ustar00=' ) ) { add_action( 'admin_notices', 'elementor_fail_php_version' ); } elseif ( ! version_compare( get_bloginfo( 'version' ), '5.2', '>=' ) ) { add_action( 'admin_notices', 'elementor_fail_wp_version' ); } else { require ELEMENTOR_PATH . 'includes/plugin.php'; } /** * Load Elementor textdomain. * * Load gettext translate for Elementor text domain. * * @since 1.0.0 * * @return void */ function elementor_load_plugin_textdomain() { load_plugin_textdomain( 'elementor' ); } /** * Elementor admin notice for minimum PHP version. * * Warning when the site doesn't have the minimum required PHP version. * * @since 1.0.0 * * @return void */ function elementor_fail_php_version() { /* translators: %s: PHP version. */ $message = sprintf( esc_html__( 'Elementor requires PHP version %s+, plugin is currently NOT RUNNING.', 'elementor' ), '5.6' ); $html_message = sprintf( '
%s
', wpautop( $message ) ); echo wp_kses_post( $html_message ); } /** * Elementor admin notice for minimum WordPress version. * * Warning when the site doesn't have the minimum required WordPress version. * * @since 1.5.0 * * @return void */ function elementor_fail_wp_version() { /* translators: %s: WordPress version. */ $message = sprintf( esc_html__( 'Elementor requires WordPress version %s+. Because you are using an earlier version, the plugin is currently NOT RUNNING.', 'elementor' ), '5.2' ); $html_message = sprintf( '
%s
', wpautop( $message ) ); echo wp_kses_post( $html_message ); } core/kits/documents/tabs/settings-custom-css.php000064400000001300152377341010016044 0ustar00controls_manager->add_custom_css_controls( $this->parent, $this->get_id() ); } } core/kits/documents/tabs/settings-background.php000064400000003036152377341010016073 0ustar00start_controls_section( 'section_background', [ 'label' => $this->get_title(), 'tab' => $this->get_id(), ] ); $this->add_group_control( Group_Control_Background::get_type(), [ 'name' => 'body_background', 'types' => [ 'classic', 'gradient' ], 'selector' => '{{WRAPPER}}', 'fields_options' => [ 'background' => [ 'frontend_available' => true, ], 'color' => [ 'dynamic' => [], ], 'color_b' => [ 'dynamic' => [], ], ], ] ); $this->add_control( 'mobile_browser_background', [ 'label' => esc_html__( 'Mobile Browser Background', 'elementor' ), 'type' => Controls_Manager::COLOR, 'description' => esc_html__( 'The `theme-color` meta tag will only be available in supported browsers and devices.', 'elementor' ), 'separator' => 'before', ] ); $this->end_controls_section(); } } core/kits/documents/tabs/theme-style-form-fields.php000064400000012141152377341010016560 0ustar00start_controls_section( 'section_form_fields', [ 'label' => esc_html__( 'Form Fields', 'elementor' ), 'tab' => $this->get_id(), ] ); $this->add_default_globals_notice(); $this->add_control( 'form_label_heading', [ 'type' => Controls_Manager::HEADING, 'label' => esc_html__( 'Label', 'elementor' ), ] ); $this->add_control( 'form_label_color', [ 'label' => esc_html__( 'Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'dynamic' => [], 'selectors' => [ $label_selector => 'color: {{VALUE}};', ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'label' => esc_html__( 'Typography', 'elementor' ), 'name' => 'form_label_typography', 'selector' => $label_selector, ] ); $this->add_control( 'form_field_heading', [ 'type' => Controls_Manager::HEADING, 'label' => esc_html__( 'Field', 'elementor' ), 'separator' => 'before', ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'label' => esc_html__( 'Typography', 'elementor' ), 'name' => 'form_field_typography', 'selector' => $input_selector, ] ); $this->start_controls_tabs( 'tabs_form_field_style' ); $this->start_controls_tab( 'tab_form_field_normal', [ 'label' => esc_html__( 'Normal', 'elementor' ), ] ); $this->add_form_field_state_tab_controls( 'form_field', $input_selector ); $this->end_controls_tab(); $this->start_controls_tab( 'tab_form_field_focus', [ 'label' => esc_html__( 'Focus', 'elementor' ), ] ); $this->add_form_field_state_tab_controls( 'form_field_focus', $input_focus_selector ); $this->add_control( 'form_field_focus_transition_duration', [ 'label' => esc_html__( 'Transition Duration', 'elementor' ) . ' (ms)', 'type' => Controls_Manager::SLIDER, 'selectors' => [ $input_selector => 'transition: {{SIZE}}ms', ], 'range' => [ 'px' => [ 'min' => 0, 'max' => 3000, ], ], ] ); $this->end_controls_tab(); $this->end_controls_tabs(); $this->add_responsive_control( 'form_field_padding', [ 'label' => esc_html__( 'Padding', 'elementor' ), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => [ 'px', 'em', '%' ], 'selectors' => [ $input_selector => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], 'separator' => 'before', ] ); $this->end_controls_section(); } private function add_form_field_state_tab_controls( $prefix, $selector ) { $this->add_control( $prefix . '_text_color', [ 'label' => esc_html__( 'Text Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'dynamic' => [], 'selectors' => [ $selector => 'color: {{VALUE}};', ], ] ); $this->add_control( $prefix . '_background_color', [ 'label' => esc_html__( 'Background Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'dynamic' => [], 'selectors' => [ $selector => 'background-color: {{VALUE}};', ], ] ); $this->add_group_control( Group_Control_Box_Shadow::get_type(), [ 'name' => $prefix . '_box_shadow', 'selector' => $selector, ] ); $this->add_group_control( Group_Control_Border::get_type(), [ 'name' => $prefix . '_border', 'selector' => $selector, 'fields_options' => [ 'color' => [ 'dynamic' => [], ], ], ] ); $this->add_control( $prefix . '_border_radius', [ 'label' => esc_html__( 'Border Radius', 'elementor' ), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => [ 'px', '%' ], 'selectors' => [ $selector => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); } } core/kits/documents/tabs/theme-style-buttons.php000064400000013104152377341010016047 0ustar00start_controls_section( 'section_buttons', [ 'label' => esc_html__( 'Buttons', 'elementor' ), 'tab' => $this->get_id(), ] ); $this->add_default_globals_notice(); $this->add_group_control( Group_Control_Typography::get_type(), [ 'label' => esc_html__( 'Typography', 'elementor' ), 'name' => 'button_typography', 'selector' => $button_selector, ] ); $this->add_group_control( Group_Control_Text_Shadow::get_type(), [ 'name' => 'button_text_shadow', 'selector' => $button_selector, ] ); $this->start_controls_tabs( 'tabs_button_style' ); $this->start_controls_tab( 'tab_button_normal', [ 'label' => esc_html__( 'Normal', 'elementor' ), ] ); $this->add_control( 'button_text_color', [ 'label' => esc_html__( 'Text Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'dynamic' => [], 'selectors' => [ $button_selector => 'color: {{VALUE}};', ], ] ); $this->add_group_control( Group_Control_Background::get_type(), [ 'name' => 'button_background', 'types' => [ 'classic', 'gradient' ], 'exclude' => [ 'image' ], 'selector' => $button_selector, 'fields_options' => [ 'background' => [ 'default' => 'classic', ], 'color' => [ 'dynamic' => [], ], 'color_b' => [ 'dynamic' => [], ], ], ] ); $this->add_group_control( Group_Control_Box_Shadow::get_type(), [ 'name' => 'button_box_shadow', 'selector' => $button_selector, ] ); $this->add_group_control( Group_Control_Border::get_type(), [ 'name' => 'button_border', 'selector' => $button_selector, 'fields_options' => [ 'color' => [ 'dynamic' => [], ], ], ] ); $this->add_control( 'button_border_radius', [ 'label' => esc_html__( 'Border Radius', 'elementor' ), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => [ 'px', '%' ], 'selectors' => [ $button_selector => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->end_controls_tab(); $this->start_controls_tab( 'tab_button_hover', [ 'label' => esc_html__( 'Hover', 'elementor' ), ] ); $this->add_control( 'button_hover_text_color', [ 'label' => esc_html__( 'Text Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'dynamic' => [], 'selectors' => [ $button_hover_selector => 'color: {{VALUE}};', ], ] ); $this->add_group_control( Group_Control_Background::get_type(), [ 'name' => 'button_hover_background', 'types' => [ 'classic', 'gradient' ], 'exclude' => [ 'image' ], 'selector' => $button_hover_selector, 'fields_options' => [ 'background' => [ 'default' => 'classic', ], 'color' => [ 'dynamic' => [], ], 'color_b' => [ 'dynamic' => [], ], ], ] ); $this->add_group_control( Group_Control_Box_Shadow::get_type(), [ 'name' => 'button_hover_box_shadow', 'selector' => $button_hover_selector, ] ); $this->add_group_control( Group_Control_Border::get_type(), [ 'name' => 'button_hover_border', 'selector' => $button_hover_selector, 'fields_options' => [ 'color' => [ 'dynamic' => [], ], ], ] ); $this->add_control( 'button_hover_border_radius', [ 'label' => esc_html__( 'Border Radius', 'elementor' ), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => [ 'px', '%' ], 'selectors' => [ $button_hover_selector => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->end_controls_tab(); $this->end_controls_tabs(); $this->add_responsive_control( 'button_padding', [ 'label' => esc_html__( 'Padding', 'elementor' ), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => [ 'px', 'em', '%' ], 'selectors' => [ $button_selector => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], 'separator' => 'before', ] ); $this->end_controls_section(); } } core/kits/documents/tabs/theme-style-typography.php000064400000011576152377341010016572 0ustar00start_controls_section( 'section_typography', [ 'label' => esc_html__( 'Typography', 'elementor' ), 'tab' => $this->get_id(), ] ); $this->add_default_globals_notice(); $this->add_control( 'body_heading', [ 'type' => Controls_Manager::HEADING, 'label' => esc_html__( 'Body', 'elementor' ), ] ); $this->add_control( 'body_color', [ 'label' => esc_html__( 'Text Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'dynamic' => [], 'selectors' => [ '{{WRAPPER}}' => 'color: {{VALUE}};', ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'label' => esc_html__( 'Typography', 'elementor' ), 'name' => 'body_typography', 'selector' => '{{WRAPPER}}', ] ); $this->add_responsive_control( 'paragraph_spacing', [ 'label' => esc_html__( 'Paragraph Spacing', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'selectors' => [ '{{WRAPPER}} p' => 'margin-bottom: {{SIZE}}{{UNIT}}', ], 'range' => [ 'px' => [ 'min' => 0, 'max' => 100, ], 'em' => [ 'min' => 0.1, 'max' => 20, ], 'vh' => [ 'min' => 0, 'max' => 100, ], ], 'size_units' => [ 'px', 'em', 'vh' ], ] ); //Link Selectors $link_selectors = [ '{{WRAPPER}} a', ]; $link_hover_selectors = [ '{{WRAPPER}} a:hover', ]; $link_selectors = implode( ',', $link_selectors ); $link_hover_selectors = implode( ',', $link_hover_selectors ); $this->add_control( 'link_heading', [ 'type' => Controls_Manager::HEADING, 'label' => esc_html__( 'Link', 'elementor' ), 'separator' => 'before', ] ); $this->start_controls_tabs( 'tabs_link_style' ); $this->start_controls_tab( 'tab_link_normal', [ 'label' => esc_html__( 'Normal', 'elementor' ), ] ); $this->add_control( 'link_normal_color', [ 'label' => esc_html__( 'Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'dynamic' => [], 'selectors' => [ $link_selectors => 'color: {{VALUE}};', ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'label' => esc_html__( 'Typography', 'elementor' ), 'name' => 'link_normal_typography', 'selector' => $link_selectors, ] ); $this->end_controls_tab(); $this->start_controls_tab( 'tab_link_hover', [ 'label' => esc_html__( 'Hover', 'elementor' ), ] ); $this->add_control( 'link_hover_color', [ 'label' => esc_html__( 'Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'dynamic' => [], 'selectors' => [ $link_hover_selectors => 'color: {{VALUE}};', ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'label' => esc_html__( 'Typography', 'elementor' ), 'name' => 'link_hover_typography', 'selector' => $link_hover_selectors, ] ); $this->end_controls_tab(); $this->end_controls_tabs(); // Headings. $this->add_element_controls( esc_html__( 'H1', 'elementor' ), 'h1', '{{WRAPPER}} h1' ); $this->add_element_controls( esc_html__( 'H2', 'elementor' ), 'h2', '{{WRAPPER}} h2' ); $this->add_element_controls( esc_html__( 'H3', 'elementor' ), 'h3', '{{WRAPPER}} h3' ); $this->add_element_controls( esc_html__( 'H4', 'elementor' ), 'h4', '{{WRAPPER}} h4' ); $this->add_element_controls( esc_html__( 'H5', 'elementor' ), 'h5', '{{WRAPPER}} h5' ); $this->add_element_controls( esc_html__( 'H6', 'elementor' ), 'h6', '{{WRAPPER}} h6' ); $this->end_controls_section(); } private function add_element_controls( $label, $prefix, $selector ) { $this->add_control( $prefix . '_heading', [ 'type' => Controls_Manager::HEADING, 'label' => $label, 'separator' => 'before', ] ); $this->add_control( $prefix . '_color', [ 'label' => esc_html__( 'Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'dynamic' => [], 'selectors' => [ $selector => 'color: {{VALUE}};', ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'label' => esc_html__( 'Typography', 'elementor' ), 'name' => $prefix . '_typography', 'selector' => $selector, ] ); } } core/kits/documents/tabs/global-typography.php000064400000012015152377341010015557 0ustar00start_controls_section( 'section_text_style', [ 'label' => esc_html__( 'Global Fonts', 'elementor' ), 'tab' => $this->get_id(), ] ); $repeater = new Repeater(); $repeater->add_control( 'title', [ 'type' => Controls_Manager::TEXT, 'label_block' => true, 'required' => true, ] ); $repeater->add_group_control( Group_Control_Typography::get_type(), [ 'name' => self::TYPOGRAPHY_NAME, 'label' => '', 'global' => [ 'active' => false, ], 'fields_options' => [ 'font_family' => [ 'selectors' => [ '{{SELECTOR}}' => '--e-global-typography-{{external._id.VALUE}}-font-family: "{{VALUE}}"', ], ], 'font_size' => [ 'selectors' => [ '{{SELECTOR}}' => '--e-global-typography-{{external._id.VALUE}}-font-size: {{SIZE}}{{UNIT}}', ], ], 'font_weight' => [ 'selectors' => [ '{{SELECTOR}}' => '--e-global-typography-{{external._id.VALUE}}-font-weight: {{VALUE}}', ], ], 'text_transform' => [ 'selectors' => [ '{{SELECTOR}}' => '--e-global-typography-{{external._id.VALUE}}-text-transform: {{VALUE}}', ], ], 'font_style' => [ 'selectors' => [ '{{SELECTOR}}' => '--e-global-typography-{{external._id.VALUE}}-font-style: {{VALUE}}', ], ], 'text_decoration' => [ 'selectors' => [ '{{SELECTOR}}' => '--e-global-typography-{{external._id.VALUE}}-text-decoration: {{VALUE}}', ], ], 'line_height' => [ 'selectors' => [ '{{SELECTOR}}' => '--e-global-typography-{{external._id.VALUE}}-line-height: {{SIZE}}{{UNIT}}', ], ], 'letter_spacing' => [ 'selectors' => [ '{{SELECTOR}}' => '--e-global-typography-{{external._id.VALUE}}-letter-spacing: {{SIZE}}{{UNIT}}', ], ], ], ] ); $typography_key = self::TYPOGRAPHY_GROUP_PREFIX . 'typography'; $font_family_key = self::TYPOGRAPHY_GROUP_PREFIX . 'font_family'; $font_weight_key = self::TYPOGRAPHY_GROUP_PREFIX . 'font_weight'; $default_typography = [ [ '_id' => 'primary', 'title' => esc_html__( 'Primary', 'elementor' ), $typography_key => 'custom', $font_family_key => 'Roboto', $font_weight_key => '600', ], [ '_id' => 'secondary', 'title' => esc_html__( 'Secondary', 'elementor' ), $typography_key => 'custom', $font_family_key => 'Roboto Slab', $font_weight_key => '400', ], [ '_id' => 'text', 'title' => esc_html__( 'Text', 'elementor' ), $typography_key => 'custom', $font_family_key => 'Roboto', $font_weight_key => '400', ], [ '_id' => 'accent', 'title' => esc_html__( 'Accent', 'elementor' ), $typography_key => 'custom', $font_family_key => 'Roboto', $font_weight_key => '500', ], ]; $this->add_control( 'heading_system_typography', [ 'type' => Controls_Manager::HEADING, 'label' => esc_html__( 'System Fonts', 'elementor' ), ] ); $this->add_control( 'system_typography', [ 'type' => Global_Style_Repeater::CONTROL_TYPE, 'fields' => $repeater->get_controls(), 'default' => $default_typography, 'item_actions' => [ 'add' => false, 'remove' => false, ], 'separator' => 'after', ] ); $this->add_control( 'heading_custom_typography', [ 'type' => Controls_Manager::HEADING, 'label' => esc_html__( 'Custom Fonts', 'elementor' ), ] ); $this->add_control( 'custom_typography', [ 'type' => Global_Style_Repeater::CONTROL_TYPE, 'fields' => $repeater->get_controls(), ] ); $this->add_control( 'default_generic_fonts', [ 'label' => esc_html__( 'Fallback Font Family', 'elementor' ), 'type' => Controls_Manager::TEXT, 'default' => 'Sans-serif', 'description' => esc_html__( 'The list of fonts used if the chosen font is not available.', 'elementor' ), 'label_block' => true, 'separator' => 'before', ] ); $this->end_controls_section(); } } core/kits/documents/tabs/tab-base.php000064400000004267152377341010013603 0ustar00register_tab(); $this->register_tab_controls(); } public function on_save( $data ) {} /** * Before Save * * Allows for modifying the kit data before it is saved to the database. * * @param array $data * @return array */ public function before_save( array $data ) { return $data; } protected function register_tab() { Controls_Manager::add_tab( $this->get_id(), $this->get_title() ); } protected function add_default_globals_notice() { // Get the current section config (array - section id and tab) to use for creating a unique control ID and name $current_section = $this->parent->get_current_section(); /** @var Manager $module */ $kits_manager = Plugin::$instance->kits_manager; if ( $kits_manager->is_custom_colors_enabled() || $kits_manager->is_custom_typography_enabled() ) { $this->add_control( $current_section['section'] . '_schemes_notice', [ 'name' => $current_section['section'] . '_schemes_notice', 'type' => Controls_Manager::RAW_HTML, 'raw' => sprintf( /* translators: 1: Link open tag, 2: Link close tag. */ esc_html__( 'In order for Theme Style to affect all relevant Elementor elements, please disable Default Colors and Fonts from the %1$sSettings Page%2$s.', 'elementor' ), '', '' ), 'content_classes' => 'elementor-panel-alert elementor-panel-alert-warning', 'render_type' => 'ui', ] ); } } } core/kits/documents/tabs/settings-site-identity.php000064400000007714152377341010016556 0ustar00start_controls_section( 'section_' . $this->get_id(), [ 'label' => $this->get_title(), 'tab' => $this->get_id(), ] ); $this->add_control( $this->get_id() . '_refresh_notice', [ 'type' => Controls_Manager::RAW_HTML, 'raw' => esc_html__( 'Changes will be reflected in the preview only after the page reloads.', 'elementor' ), 'content_classes' => 'elementor-panel-alert elementor-panel-alert-info', ] ); $this->add_control( 'site_name', [ 'label' => esc_html__( 'Site Name', 'elementor' ), 'default' => get_option( 'blogname' ), 'placeholder' => esc_html__( 'Choose name', 'elementor' ), 'label_block' => true, 'export' => false, ] ); $this->add_control( 'site_description', [ 'label' => esc_html__( 'Site Description', 'elementor' ), 'default' => get_option( 'blogdescription' ), 'placeholder' => esc_html__( 'Choose description', 'elementor' ), 'label_block' => true, 'export' => false, ] ); $this->add_control( 'site_logo', [ 'label' => esc_html__( 'Site Logo', 'elementor' ), 'type' => Controls_Manager::MEDIA, 'should_include_svg_inline_option' => $should_include_svg_inline_option, 'default' => [ 'id' => $custom_logo_id, 'url' => $custom_logo_src ? $custom_logo_src[0] : '', ], 'description' => esc_html__( 'Suggested image dimensions: 350 × 100 pixels.', 'elementor' ), 'export' => false, ] ); $this->add_control( 'site_favicon', [ 'label' => esc_html__( 'Site Favicon', 'elementor' ), 'type' => Controls_Manager::MEDIA, 'should_include_svg_inline_option' => $should_include_svg_inline_option, 'default' => [ 'id' => $site_icon_id, 'url' => $site_icon_src ? $site_icon_src[0] : '', ], 'description' => esc_html__( 'Suggested favicon dimensions: 512 × 512 pixels.', 'elementor' ), 'export' => false, ] ); $this->end_controls_section(); } public function on_save( $data ) { if ( ! isset( $data['settings']['post_status'] ) || Document::STATUS_PUBLISH !== $data['settings']['post_status'] || // Should check for the current action to avoid infinite loop // when updating options like: "blogname" and "blogdescription". strpos( current_action(), 'update_option_' ) === 0 ) { return; } if ( isset( $data['settings']['site_name'] ) ) { update_option( 'blogname', $data['settings']['site_name'] ); } if ( isset( $data['settings']['site_description'] ) ) { update_option( 'blogdescription', $data['settings']['site_description'] ); } if ( isset( $data['settings']['site_logo'] ) ) { set_theme_mod( 'custom_logo', $data['settings']['site_logo']['id'] ); } if ( isset( $data['settings']['site_favicon'] ) ) { update_option( 'site_icon', $data['settings']['site_favicon']['id'] ); } } } core/kits/documents/tabs/settings-page-transitions.php000064400000001363152377341010017244 0ustar00controls_manager->add_page_transitions_controls( $this->parent, $this->get_id() ); } } core/kits/documents/tabs/settings-layout.php000064400000025363152377341010015300 0ustar00start_controls_section( 'section_' . $this->get_id(), [ 'label' => esc_html__( 'Layout Settings', 'elementor' ), 'tab' => $this->get_id(), ] ); $this->add_responsive_control( 'container_width', [ 'label' => esc_html__( 'Content Width', 'elementor' ) . ' (px)', 'type' => Controls_Manager::SLIDER, 'default' => [ 'size' => '1140', ], 'tablet_default' => [ 'size' => $breakpoints_default_config[ $breakpoint_key_tablet ]['default_value'], ], 'mobile_default' => [ 'size' => $breakpoints_default_config[ $breakpoint_key_mobile ]['default_value'], ], 'range' => [ 'px' => [ 'min' => 300, 'max' => 1500, 'step' => 10, ], ], 'description' => esc_html__( 'Sets the default width of the content area (Default: 1140)', 'elementor' ), 'selectors' => [ '.elementor-section.elementor-section-boxed > .elementor-container' => 'max-width: {{SIZE}}{{UNIT}}', '.e-container' => '--container-max-width: {{SIZE}}{{UNIT}}', ], ] ); $is_container_active = Plugin::instance()->experiments->is_feature_active( 'container' ); $widgets_space_label = $is_container_active ? esc_html__( 'Elements Gap', 'elementor' ) : esc_html__( 'Widgets Space', 'elementor' ); $this->add_control( 'space_between_widgets', [ 'label' => $widgets_space_label . ' (px)', 'type' => Controls_Manager::SLIDER, 'default' => [ 'size' => 20, ], 'range' => [ 'px' => [ 'min' => 0, 'max' => 40, ], ], 'placeholder' => [ 'size' => '20', ], 'description' => esc_html__( 'Sets the default space between widgets (Default: 20)', 'elementor' ), 'selectors' => [ '.elementor-widget:not(:last-child)' => 'margin-bottom: {{SIZE}}{{UNIT}}', '.elementor-element' => '--widgets-spacing: {{SIZE}}{{UNIT}}', ], ] ); $this->add_control( 'page_title_selector', [ 'label' => esc_html__( 'Page Title Selector', 'elementor' ), 'type' => Controls_Manager::TEXT, 'default' => 'h1.entry-title', 'placeholder' => 'h1.entry-title', 'description' => esc_html__( 'Elementor lets you hide the page title. This works for themes that have "h1.entry-title" selector. If your theme\'s selector is different, please enter it above.', 'elementor' ), 'label_block' => true, 'selectors' => [ // Hack to convert the value into a CSS selector. '' => '}{{VALUE}}{display: var(--page-title-display)', ], ] ); $this->add_control( 'stretched_section_container', [ 'label' => esc_html__( 'Stretched Section Fit To', 'elementor' ), 'type' => Controls_Manager::TEXT, 'placeholder' => 'body', 'description' => esc_html__( 'Enter parent element selector to which stretched sections will fit to (e.g. #primary / .wrapper / main etc). Leave blank to fit to page width.', 'elementor' ), 'label_block' => true, 'frontend_available' => true, ] ); /** * @var PageTemplatesModule $page_templates_module */ $page_templates_module = Plugin::$instance->modules_manager->get_modules( 'page-templates' ); $page_templates = $page_templates_module->add_page_templates( [], null, null ); // Removes the Theme option from the templates because 'default' is already handled. unset( $page_templates[ PageTemplatesModule::TEMPLATE_THEME ] ); $page_template_control_options = [ 'label' => esc_html__( 'Default Page Layout', 'elementor' ), 'options' => [ // This is here because the "Theme" string is different than the default option's string. 'default' => esc_html__( 'Theme', 'elementor' ), ] + $page_templates, ]; $page_templates_module->add_template_controls( $this->parent, 'default_page_template', $page_template_control_options ); $this->end_controls_section(); $this->start_controls_section( 'section_breakpoints', [ 'label' => esc_html__( 'Breakpoints', 'elementor' ), 'tab' => $this->get_id(), ] ); $prefix = Breakpoints_Manager::BREAKPOINT_SETTING_PREFIX; $options = []; foreach ( $breakpoints_default_config as $breakpoint_key => $breakpoint ) { $options[ $prefix . $breakpoint_key ] = $breakpoint['label']; } if ( Plugin::$instance->experiments->is_feature_active( 'additional_custom_breakpoints' ) ) { $active_breakpoints_control_type = Controls_Manager::SELECT2; } else { $active_breakpoints_control_type = Controls_Manager::HIDDEN; } $this->add_control( self::ACTIVE_BREAKPOINTS_CONTROL_ID, [ 'label' => esc_html__( 'Active Breakpoints', 'elementor' ), 'type' => $active_breakpoints_control_type, 'description' => esc_html__( 'Mobile and Tablet options cannot be deleted.', 'elementor' ), 'options' => $options, 'default' => [ $prefix . $breakpoint_key_mobile, $prefix . $breakpoint_key_tablet, ], 'select2options' => [ 'allowClear' => false, ], 'lockedOptions' => [ $prefix . $breakpoint_key_mobile, $prefix . $breakpoint_key_tablet, ], 'label_block' => true, 'render_type' => 'none', 'frontend_available' => true, 'multiple' => true, ] ); $this->add_breakpoints_controls(); // Include the old mobile and tablet breakpoint controls as hidden for backwards compatibility. $this->add_control( 'viewport_md', [ 'type' => Controls_Manager::HIDDEN ] ); $this->add_control( 'viewport_lg', [ 'type' => Controls_Manager::HIDDEN ] ); $this->end_controls_section(); } /** * Before Save * * Runs Before the Kit document is saved. * * For backwards compatibility, when the mobile and tablet breakpoints are updated, we also update the * old breakpoint settings ('viewport_md', 'viewport_lg' ) with the saved values + 1px. The reason 1px * is added is because the old breakpoints system was min-width based, and the new system introduced in * Elementor v3.2.0 is max-width based. * * @since 3.2.0 * * @param array $data * @return array $data */ public function before_save( array $data ) { // When creating a default kit, $data['settings'] is empty and should remain empty, so settings. if ( empty( $data['settings'] ) ) { return $data; } $prefix = Breakpoints_Manager::BREAKPOINT_SETTING_PREFIX; $mobile_breakpoint_key = $prefix . Breakpoints_Manager::BREAKPOINT_KEY_MOBILE; $tablet_breakpoint_key = $prefix . Breakpoints_Manager::BREAKPOINT_KEY_TABLET; $default_breakpoint_config = Breakpoints_Manager::get_default_config(); // Update the old mobile breakpoint. If the setting is empty, use the default value. $data['settings'][ $prefix . 'md' ] = empty( $data['settings'][ $mobile_breakpoint_key ] ) ? $default_breakpoint_config[ Breakpoints_Manager::BREAKPOINT_KEY_MOBILE ]['default_value'] + 1 : $data['settings'][ $mobile_breakpoint_key ] + 1; // Update the old tablet breakpoint. If the setting is empty, use the default value. $data['settings'][ $prefix . 'lg' ] = empty( $data['settings'][ $tablet_breakpoint_key ] ) ? $default_breakpoint_config[ Breakpoints_Manager::BREAKPOINT_KEY_TABLET ]['default_value'] + 1 : $data['settings'][ $tablet_breakpoint_key ] + 1; return $data; } public function on_save( $data ) { if ( ! isset( $data['settings'] ) || ( isset( $data['settings']['post_status'] ) && Document::STATUS_PUBLISH !== $data['settings']['post_status'] ) ) { return; } $should_compile_css = false; $breakpoints_default_config = Breakpoints_Manager::get_default_config(); foreach ( $breakpoints_default_config as $breakpoint_key => $default_config ) { $breakpoint_setting_key = Breakpoints_Manager::BREAKPOINT_SETTING_PREFIX . $breakpoint_key; if ( isset( $data['settings'][ $breakpoint_setting_key ] ) ) { $should_compile_css = true; } } if ( $should_compile_css ) { Breakpoints_Manager::compile_stylesheet_templates(); } } private function add_breakpoints_controls() { $default_breakpoints_config = Breakpoints_Manager::get_default_config(); $prefix = Breakpoints_Manager::BREAKPOINT_SETTING_PREFIX; // If the ACB experiment is inactive, only add the mobile and tablet controls. if ( ! Plugin::$instance->experiments->is_feature_active( 'additional_custom_breakpoints' ) ) { $default_breakpoints_config = array_intersect_key( $default_breakpoints_config, array_flip( [ Breakpoints_Manager::BREAKPOINT_KEY_MOBILE, Breakpoints_Manager::BREAKPOINT_KEY_TABLET ] ) ); } // Add a control for each of the **default** breakpoints. foreach ( $default_breakpoints_config as $breakpoint_key => $default_breakpoint_config ) { $this->add_control( 'breakpoint_' . $breakpoint_key . '_heading', [ 'label' => $default_breakpoint_config['label'], 'type' => Controls_Manager::HEADING, 'conditions' => [ 'terms' => [ [ 'name' => 'active_breakpoints', 'operator' => 'contains', 'value' => $prefix . $breakpoint_key, ], ], ], ] ); $control_config = [ 'label' => esc_html__( 'Breakpoint', 'elementor' ) . ' (px)', 'type' => Controls_Manager::NUMBER, 'placeholder' => $default_breakpoint_config['default_value'], 'frontend_available' => true, 'validators' => [ 'Breakpoint' => [ 'breakpointName' => $breakpoint_key, ], ], 'conditions' => [ 'terms' => [ [ 'name' => 'active_breakpoints', 'operator' => 'contains', 'value' => $prefix . $breakpoint_key, ], ], ], ]; if ( Breakpoints_Manager::BREAKPOINT_KEY_WIDESCREEN === $breakpoint_key ) { $control_config['description'] = esc_html__( 'Widescreen breakpoint settings will apply from the selected value and up.', 'elementor' ); } // Add the breakpoint Control itself. $this->add_control( $prefix . $breakpoint_key, $control_config ); } } } core/kits/documents/tabs/settings-lightbox.php000064400000011212152377341010015567 0ustar00start_controls_section( 'section_' . $this->get_id(), [ 'label' => $this->get_title(), 'tab' => $this->get_id(), ] ); $this->add_control( 'global_image_lightbox', [ 'label' => esc_html__( 'Image Lightbox', 'elementor' ), 'type' => Controls_Manager::SWITCHER, 'default' => 'yes', 'description' => esc_html__( 'Open all image links in a lightbox popup window. The lightbox will automatically work on any link that leads to an image file.', 'elementor' ), 'frontend_available' => true, ] ); $this->add_control( 'lightbox_enable_counter', [ 'label' => esc_html__( 'Counter', 'elementor' ), 'type' => Controls_Manager::SWITCHER, 'default' => 'yes', 'frontend_available' => true, ] ); $this->add_control( 'lightbox_enable_fullscreen', [ 'label' => esc_html__( 'Fullscreen', 'elementor' ), 'type' => Controls_Manager::SWITCHER, 'default' => 'yes', 'frontend_available' => true, ] ); $this->add_control( 'lightbox_enable_zoom', [ 'label' => esc_html__( 'Zoom', 'elementor' ), 'type' => Controls_Manager::SWITCHER, 'default' => 'yes', 'frontend_available' => true, ] ); $this->add_control( 'lightbox_enable_share', [ 'label' => esc_html__( 'Share', 'elementor' ), 'type' => Controls_Manager::SWITCHER, 'default' => 'yes', 'frontend_available' => true, ] ); $this->add_control( 'lightbox_title_src', [ 'label' => esc_html__( 'Title', 'elementor' ), 'type' => Controls_Manager::SELECT, 'options' => [ '' => esc_html__( 'None', 'elementor' ), 'title' => esc_html__( 'Title', 'elementor' ), 'caption' => esc_html__( 'Caption', 'elementor' ), 'alt' => esc_html__( 'Alt', 'elementor' ), 'description' => esc_html__( 'Description', 'elementor' ), ], 'default' => 'title', 'frontend_available' => true, ] ); $this->add_control( 'lightbox_description_src', [ 'label' => esc_html__( 'Description', 'elementor' ), 'type' => Controls_Manager::SELECT, 'options' => [ '' => esc_html__( 'None', 'elementor' ), 'title' => esc_html__( 'Title', 'elementor' ), 'caption' => esc_html__( 'Caption', 'elementor' ), 'alt' => esc_html__( 'Alt', 'elementor' ), 'description' => esc_html__( 'Description', 'elementor' ), ], 'default' => 'description', 'frontend_available' => true, ] ); $this->add_control( 'lightbox_color', [ 'label' => esc_html__( 'Background Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'selectors' => [ '.elementor-lightbox' => 'background-color: {{VALUE}}', ], ] ); $this->add_control( 'lightbox_ui_color', [ 'label' => esc_html__( 'UI Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'selectors' => [ '.elementor-lightbox' => '--lightbox-ui-color: {{VALUE}}', ], ] ); $this->add_control( 'lightbox_ui_color_hover', [ 'label' => esc_html__( 'UI Hover Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'selectors' => [ '.elementor-lightbox' => '--lightbox-ui-color-hover: {{VALUE}}', ], ] ); $this->add_control( 'lightbox_text_color', [ 'label' => esc_html__( 'Text Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'selectors' => [ '.elementor-lightbox' => '--lightbox-text-color: {{VALUE}}', ], ] ); $this->add_control( 'lightbox_icons_size', [ 'label' => esc_html__( 'Toolbar Icons Size', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'selectors' => [ '.elementor-lightbox' => '--lightbox-header-icons-size: {{SIZE}}{{UNIT}}', ], 'separator' => 'before', ] ); $this->add_control( 'lightbox_slider_icons_size', [ 'label' => esc_html__( 'Navigation Icons Size', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'selectors' => [ '.elementor-lightbox' => '--lightbox-navigation-icons-size: {{SIZE}}{{UNIT}}', ], 'separator' => 'before', ] ); $this->end_controls_section(); } } core/kits/documents/tabs/theme-style-images.php000064400000010717152377341010015625 0ustar00start_controls_section( 'section_images', [ 'label' => esc_html__( 'Images', 'elementor' ), 'tab' => $this->get_id(), ] ); $this->add_default_globals_notice(); $this->start_controls_tabs( 'tabs_image_style' ); $this->start_controls_tab( 'tab_image_normal', [ 'label' => esc_html__( 'Normal', 'elementor' ), ] ); $this->add_group_control( Group_Control_Border::get_type(), [ 'name' => 'image_border', 'selector' => $image_selectors, 'fields_options' => [ 'color' => [ 'dynamic' => [], ], ], ] ); $this->add_responsive_control( 'image_border_radius', [ 'label' => esc_html__( 'Border Radius', 'elementor' ), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => [ 'px', '%' ], 'selectors' => [ $image_selectors => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->add_control( 'image_opacity', [ 'label' => esc_html__( 'Opacity', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'range' => [ 'px' => [ 'max' => 1, 'min' => 0.10, 'step' => 0.01, ], ], 'selectors' => [ $image_selectors => 'opacity: {{SIZE}};', ], ] ); $this->add_group_control( Group_Control_Box_Shadow::get_type(), [ 'name' => 'image_box_shadow', 'exclude' => [ 'box_shadow_position', ], 'selector' => $image_selectors, ] ); $this->add_group_control( Group_Control_Css_Filter::get_type(), [ 'name' => 'image_css_filters', 'selector' => '{{WRAPPER}} img', ] ); $this->end_controls_tab(); $this->start_controls_tab( 'tab_image_hover', [ 'label' => esc_html__( 'Hover', 'elementor' ), ] ); $this->add_group_control( Group_Control_Border::get_type(), [ 'name' => 'image_hover_border', 'selector' => '{{WRAPPER}} img:hover', 'fields_options' => [ 'color' => [ 'dynamic' => [], ], ], ] ); $this->add_responsive_control( 'image_hover_border_radius', [ 'label' => esc_html__( 'Border Radius', 'elementor' ), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => [ 'px', '%' ], 'selectors' => [ $image_hover_selectors => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->add_control( 'image_hover_opacity', [ 'label' => esc_html__( 'Opacity', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'range' => [ 'px' => [ 'max' => 1, 'min' => 0.10, 'step' => 0.01, ], ], 'selectors' => [ $image_hover_selectors => 'opacity: {{SIZE}};', ], ] ); $this->add_group_control( Group_Control_Box_Shadow::get_type(), [ 'name' => 'image_hover_box_shadow', 'exclude' => [ 'box_shadow_position', ], 'selector' => $image_hover_selectors, ] ); $this->add_group_control( Group_Control_Css_Filter::get_type(), [ 'name' => 'image_hover_css_filters', 'selector' => $image_hover_selectors, ] ); $this->add_control( 'image_hover_transition', [ 'label' => esc_html__( 'Transition Duration', 'elementor' ) . ' (s)', 'type' => Controls_Manager::SLIDER, 'range' => [ 'px' => [ 'max' => 3, 'step' => 0.1, ], ], 'selectors' => [ $image_selectors => 'transition-duration: {{SIZE}}s', ], ] ); $this->end_controls_tab(); $this->end_controls_tabs(); $this->end_controls_section(); } } core/kits/documents/tabs/global-colors.php000064400000005416152377341010014661 0ustar00start_controls_section( 'section_global_colors', [ 'label' => esc_html__( 'Global Colors', 'elementor' ), 'tab' => $this->get_id(), ] ); $repeater = new Repeater(); $repeater->add_control( 'title', [ 'type' => Controls_Manager::TEXT, 'label_block' => true, 'required' => true, ] ); // Color Value $repeater->add_control( 'color', [ 'type' => Controls_Manager::COLOR, 'label_block' => true, 'dynamic' => [], 'selectors' => [ '{{WRAPPER}}' => '--e-global-color-{{_id.VALUE}}: {{VALUE}}', ], 'global' => [ 'active' => false, ], ] ); $default_colors = [ [ '_id' => 'primary', 'title' => esc_html__( 'Primary', 'elementor' ), 'color' => '#6EC1E4', ], [ '_id' => 'secondary', 'title' => esc_html__( 'Secondary', 'elementor' ), 'color' => '#54595F', ], [ '_id' => 'text', 'title' => esc_html__( 'Text', 'elementor' ), 'color' => '#7A7A7A', ], [ '_id' => 'accent', 'title' => esc_html__( 'Accent', 'elementor' ), 'color' => '#61CE70', ], ]; $this->add_control( 'heading_system_colors', [ 'type' => Controls_Manager::HEADING, 'label' => esc_html__( 'System Colors', 'elementor' ), ] ); $this->add_control( 'system_colors', [ 'type' => Global_Style_Repeater::CONTROL_TYPE, 'fields' => $repeater->get_controls(), 'default' => $default_colors, 'item_actions' => [ 'add' => false, 'remove' => false, ], 'separator' => 'after', ] ); $this->add_control( 'heading_custom_colors', [ 'type' => Controls_Manager::HEADING, 'label' => esc_html__( 'Custom Colors', 'elementor' ), ] ); $this->add_control( 'custom_colors', [ 'type' => Global_Style_Repeater::CONTROL_TYPE, 'fields' => $repeater->get_controls(), ] ); $this->end_controls_section(); } } core/kits/documents/kit.php000064400000013702152377341010011755 0ustar00register_tabs(); } public static function get_properties() { $properties = parent::get_properties(); $properties['has_elements'] = false; $properties['show_in_finder'] = false; $properties['show_on_admin_bar'] = false; $properties['edit_capability'] = 'edit_theme_options'; $properties['support_kit'] = true; return $properties; } public static function get_type() { return 'kit'; } public static function get_title() { return esc_html__( 'Kit', 'elementor' ); } /** * @return Tabs\Tab_Base[] */ public function get_tabs() { return $this->tabs; } /** * Retrieve a tab by ID. * * @param $id * * @return Tabs\Tab_Base */ public function get_tab( $id ) { return self::get_items( $this->get_tabs(), $id ); } protected function get_have_a_look_url() { return ''; } public static function get_editor_panel_config() { $config = parent::get_editor_panel_config(); $config['default_route'] = 'panel/global/menu'; $config['needHelpUrl'] = 'https://go.elementor.com/global-settings/'; return $config; } public function get_css_wrapper_selector() { return '.elementor-kit-' . $this->get_main_id(); } public function save( $data ) { foreach ( $this->tabs as $tab ) { $data = $tab->before_save( $data ); } $saved = parent::save( $data ); if ( ! $saved ) { return false; } // Should set is_saving to true, to avoid infinite loop when updating // settings like: 'site_name" or "site_description". $this->set_is_saving( true ); foreach ( $this->tabs as $tab ) { $tab->on_save( $data ); } $this->set_is_saving( false ); // When deleting a global color or typo, the css variable still exists in the frontend // but without any value and it makes the element to be un styled even if there is a default style for the base element, // for that reason this method removes css files of the entire site. Plugin::instance()->files_manager->clear_cache(); return $saved; } /** * Register a kit settings menu. * * @param $id * @param $class */ public function register_tab( $id, $class ) { $this->tabs[ $id ] = new $class( $this ); } /** * @inheritDoc */ protected function get_initial_config() { $config = parent::get_initial_config(); foreach ( $this->tabs as $id => $tab ) { $config['tabs'][ $id ] = [ 'title' => $tab->get_title(), 'icon' => $tab->get_icon(), 'group' => $tab->get_group(), 'helpUrl' => $tab->get_help_url(), 'additionalContent' => $tab->get_additional_tab_content(), ]; } return $config; } /** * @since 3.1.0 * @access protected */ protected function register_controls() { $is_edit_mode = Plugin::$instance->editor->is_edit_mode(); if ( ! $is_edit_mode ) { // In the Front End, the Kit is initialized before CSS is generated, so we always duplicate controls in // the kit. $initial_responsive_controls_duplication_mode = Plugin::$instance->breakpoints->get_responsive_control_duplication_mode(); Plugin::$instance->breakpoints->set_responsive_control_duplication_mode( 'on' ); } $this->register_document_controls(); foreach ( $this->tabs as $tab ) { $tab->register_controls(); } if ( ! $is_edit_mode ) { Plugin::$instance->breakpoints->set_responsive_control_duplication_mode( $initial_responsive_controls_duplication_mode ); } } protected function get_post_statuses() { return [ 'draft' => sprintf( '%s (%s)', esc_html__( 'Disabled', 'elementor' ), esc_html__( 'Draft', 'elementor' ) ), 'publish' => esc_html__( 'Published', 'elementor' ), ]; } public function add_repeater_row( $control_id, $item ) { $meta_key = PageManager::META_KEY; $document_settings = $this->get_meta( $meta_key ); if ( ! $document_settings ) { $document_settings = []; } if ( ! isset( $document_settings[ $control_id ] ) ) { $document_settings[ $control_id ] = []; } $document_settings[ $control_id ][] = $item; $page_settings_manager = SettingsManager::get_settings_managers( 'page' ); $page_settings_manager->save_settings( $document_settings, $this->get_id() ); /** @var Kit $autosave **/ $autosave = $this->get_autosave(); if ( $autosave ) { $autosave->add_repeater_row( $control_id, $item ); } // Remove Post CSS. $post_css = Post_CSS::create( $this->post->ID ); $post_css->delete(); // Refresh Cache. Plugin::$instance->documents->get( $this->post->ID, false ); $post_css = Post_CSS::create( $this->post->ID ); $post_css->enqueue(); } /** * Register default tabs (menu pages) for site settings. */ private function register_tabs() { $tabs = [ 'global-colors' => Tabs\Global_Colors::class, 'global-typography' => Tabs\Global_Typography::class, 'theme-style-typography' => Tabs\Theme_Style_Typography::class, 'theme-style-buttons' => Tabs\Theme_Style_Buttons::class, 'theme-style-images' => Tabs\Theme_Style_Images::class, 'theme-style-form-fields' => Tabs\Theme_Style_Form_Fields::class, 'settings-site-identity' => Tabs\Settings_Site_Identity::class, 'settings-background' => Tabs\Settings_Background::class, 'settings-layout' => Tabs\Settings_Layout::class, 'settings-lightbox' => Tabs\Settings_Lightbox::class, 'settings-page-transitions' => Tabs\Settings_Page_Transitions::class, 'settings-custom-css' => Tabs\Settings_Custom_CSS::class, ]; foreach ( $tabs as $id => $class ) { $this->register_tab( $id, $class ); } do_action( 'elementor/kit/register_tabs', $this ); } } core/kits/manager.php000064400000030032152377341010010572 0ustar00documents->get( $this->get_active_id() ); if ( ! $this->is_valid_kit( $kit ) ) { return $this->get_empty_kit_instance(); } return $kit; } public function get_active_kit_for_frontend() { $kit = Plugin::$instance->documents->get_doc_for_frontend( $this->get_active_id() ); if ( ! $this->is_valid_kit( $kit ) ) { return $this->get_empty_kit_instance(); } return $kit; } /** * @param $kit * * @return bool */ private function is_valid_kit( $kit ) { return $kit && $kit instanceof Kit && 'trash' !== $kit->get_main_post()->post_status; } /** * Returns an empty kit for situation when there is no kit in the site. * * @return Kit * @throws \Exception */ private function get_empty_kit_instance() { return new Kit( [ 'settings' => [], 'post_id' => 0, ] ); } /** * Checks if specific post is a kit. * * @param $post_id * * @return bool */ public function is_kit( $post_id ) { $document = Plugin::$instance->documents->get( $post_id ); return $document && $document instanceof Kit && ! $document->is_revision(); } /** * Init kit controls. * * A temp solution in order to avoid init kit group control from within another group control. * * After moving the `default_font` to the kit, the Typography group control cause initialize the kit controls at: https://github.com/elementor/elementor/blob/e6e1db9eddef7e3c1a5b2ba0c2338e2af2a3bfe3/includes/controls/groups/typography.php#L91 * and because the group control is a singleton, its args are changed to the last kit group control. */ public function init_kit_controls() { $this->get_active_kit_for_frontend()->get_settings(); } public function get_current_settings( $setting = null ) { $kit = $this->get_active_kit_for_frontend(); if ( ! $kit ) { return ''; } return $kit->get_settings( $setting ); } public function create( array $kit_data = [], array $kit_meta_data = [] ) { $default_kit_data = [ 'post_status' => 'publish', ]; $kit_data = array_merge( $default_kit_data, $kit_data ); $kit_data['post_type'] = Source_Local::CPT; $kit = Plugin::$instance->documents->create( 'kit', $kit_data, $kit_meta_data ); if ( isset( $kit_data['settings'] ) ) { $kit->save( [ 'settings' => $kit_data['settings'] ] ); } return $kit->get_id(); } public function create_new_kit( $kit_name = '', $settings = [], $active = true ) { $kit_name = $kit_name ? $kit_name : esc_html__( 'Custom', 'elementor' ); $id = $this->create( [ 'post_title' => $kit_name, 'settings' => $settings, ] ); if ( $active ) { update_option( self::OPTION_PREVIOUS, $this->get_active_id() ); update_option( self::OPTION_ACTIVE, $id ); } return $id; } public function create_default() { return $this->create( [ 'post_title' => esc_html__( 'Default Kit', 'elementor' ), ] ); } /** * Create a default kit if needed. * * This action runs on activation hook, all the Plugin components do not exists and * the Document manager and Kits manager instances cannot be used. * * @return int|void|\WP_Error */ public static function create_default_kit() { if ( get_option( self::OPTION_ACTIVE ) ) { return; } $id = wp_insert_post( [ 'post_title' => __( 'Default Kit', 'elementor' ), 'post_type' => Source_Local::CPT, 'post_status' => 'publish', 'meta_input' => [ '_elementor_edit_mode' => 'builder', Document::TYPE_META_KEY => 'kit', ], ] ); update_option( self::OPTION_ACTIVE, $id ); return $id; } /** * @param Documents_Manager $documents_manager */ public function register_document( $documents_manager ) { $documents_manager->register_document_type( 'kit', Kit::get_class_full_name() ); } public function localize_settings( $settings ) { $kit = $this->get_active_kit(); $kit_controls = $kit->get_controls(); $design_system_controls = [ 'colors' => $kit_controls['system_colors']['fields'], 'typography' => $kit_controls['system_typography']['fields'], ]; $settings = array_replace_recursive( $settings, [ 'kit_id' => $kit->get_main_id(), 'kit_config' => [ 'typography_prefix' => Global_Typography::TYPOGRAPHY_GROUP_PREFIX, 'design_system_controls' => $design_system_controls, ], 'user' => [ 'can_edit_kit' => $kit->is_editable_by_current_user(), ], ] ); return $settings; } public function preview_enqueue_styles() { $kit = $this->get_kit_for_frontend(); if ( $kit ) { // On preview, the global style is not enqueued. $this->frontend_before_enqueue_styles(); Plugin::$instance->frontend->print_fonts_links(); } } public function frontend_before_enqueue_styles() { $kit = $this->get_kit_for_frontend(); if ( $kit ) { if ( $kit->is_autosave() ) { $css_file = Post_Preview::create( $kit->get_id() ); } else { $css_file = Post_CSS::create( $kit->get_id() ); } $css_file->enqueue(); } } public function render_panel_html() { require __DIR__ . '/views/panel.php'; } public function get_kit_for_frontend() { $kit = false; $active_kit = $this->get_active_kit(); $is_kit_preview = is_preview() && isset( $_GET['preview_id'] ) && $active_kit->get_main_id() === (int) $_GET['preview_id']; if ( $is_kit_preview ) { $kit = Plugin::$instance->documents->get_doc_or_auto_save( $active_kit->get_main_id(), get_current_user_id() ); } elseif ( 'publish' === $active_kit->get_main_post()->post_status ) { $kit = $active_kit; } return $kit; } public function update_kit_settings_based_on_option( $key, $value ) { /** @var Kit $active_kit */ $active_kit = $this->get_active_kit(); if ( $active_kit->is_saving() ) { return; } $active_kit->update_settings( [ $key => $value ] ); } /** * Map Scheme To Global * * Convert a given scheme value to its corresponding default global value * * @param string $type 'color'/'typography' * @param $value * @return mixed */ private function map_scheme_to_global( $type, $value ) { $schemes_to_globals_map = [ 'color' => [ '1' => Global_Colors::COLOR_PRIMARY, '2' => Global_Colors::COLOR_SECONDARY, '3' => Global_Colors::COLOR_TEXT, '4' => Global_Colors::COLOR_ACCENT, ], 'typography' => [ '1' => Global_Typography::TYPOGRAPHY_PRIMARY, '2' => Global_Typography::TYPOGRAPHY_SECONDARY, '3' => Global_Typography::TYPOGRAPHY_TEXT, '4' => Global_Typography::TYPOGRAPHY_ACCENT, ], ]; return $schemes_to_globals_map[ $type ][ $value ]; } /** * Convert Scheme to Default Global * * If a control has a scheme property, convert it to a default Global. * * @param $scheme - Control scheme property * @return array - Control/group control args * @since 3.0.0 * @access public */ public function convert_scheme_to_global( $scheme ) { if ( isset( $scheme['type'] ) && isset( $scheme['value'] ) ) { //_deprecated_argument( $args['scheme'], '3.0.0', 'Schemes are now deprecated - use $args[\'global\'] instead.' ); return $this->map_scheme_to_global( $scheme['type'], $scheme['value'] ); } // Typography control 'scheme' properties usually only include the string with the typography value ('1'-'4'). return $this->map_scheme_to_global( 'typography', $scheme ); } public function register_controls() { $controls_manager = Plugin::$instance->controls_manager; $controls_manager->register( new Repeater() ); } public function is_custom_colors_enabled() { return ! get_option( 'elementor_disable_color_schemes' ); } public function is_custom_typography_enabled() { return ! get_option( 'elementor_disable_typography_schemes' ); } /** * Add kit wrapper body class. * * It should be added even for non Elementor pages, * in order to support embedded templates. */ private function add_body_class() { $kit = $this->get_kit_for_frontend(); if ( $kit ) { Plugin::$instance->frontend->add_body_class( 'elementor-kit-' . $kit->get_main_id() ); } } /** * Send a confirm message before move a kit to trash, or if delete permanently not for trash. * * @param $post_id * @param false $is_permanently_delete */ private function before_delete_kit( $post_id, $is_permanently_delete = false ) { $document = Plugin::$instance->documents->get( $post_id ); if ( ! $document || ! $this->is_kit( $post_id ) || isset( $_GET['force_delete_kit'] ) || // phpcs:ignore -- nonce validation is not require here. ( $is_permanently_delete && $document->is_trash() ) ) { return; } ob_start(); require __DIR__ . '/views/trash-kit-confirmation.php'; $confirmation_content = ob_get_clean(); // PHPCS - the content does not contain user input value. wp_die( new \WP_Error( 'cant_delete_kit', $confirmation_content ) ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } /** * Add 'Edit with elementor -> Site Settings' in admin bar. * * @param [] $admin_bar_config * * @return array $admin_bar_config */ private function add_menu_in_admin_bar( $admin_bar_config ) { $document = Plugin::$instance->documents->get( get_the_ID() ); if ( ! $document || ! $document->is_built_with_elementor() ) { $recent_edited_post = Utils::get_recently_edited_posts_query( [ 'posts_per_page' => 1, ] ); if ( $recent_edited_post->post_count ) { $posts = $recent_edited_post->get_posts(); $document = Plugin::$instance->documents->get( reset( $posts )->ID ); } } if ( $document ) { $admin_bar_config['elementor_edit_page']['children'][] = [ 'id' => 'elementor_site_settings', 'title' => esc_html__( 'Site Settings', 'elementor' ), 'sub_title' => esc_html__( 'Site', 'elementor' ), 'href' => $document->get_edit_url() . '#' . self::E_HASH_COMMAND_OPEN_SITE_SETTINGS, 'class' => 'elementor-site-settings', 'parent_class' => 'elementor-second-section', ]; } return $admin_bar_config; } public function __construct() { add_action( 'elementor/documents/register', [ $this, 'register_document' ] ); add_filter( 'elementor/editor/localize_settings', [ $this, 'localize_settings' ] ); add_filter( 'elementor/editor/footer', [ $this, 'render_panel_html' ] ); add_action( 'elementor/frontend/after_enqueue_styles', [ $this, 'frontend_before_enqueue_styles' ], 0 ); add_action( 'elementor/preview/enqueue_styles', [ $this, 'preview_enqueue_styles' ], 0 ); add_action( 'elementor/controls/register', [ $this, 'register_controls' ] ); add_action( 'wp_trash_post', function ( $post_id ) { $this->before_delete_kit( $post_id ); } ); add_action( 'before_delete_post', function ( $post_id ) { $this->before_delete_kit( $post_id, true ); } ); add_action( 'update_option_blogname', function ( $old_value, $value ) { $this->update_kit_settings_based_on_option( 'site_name', $value ); }, 10, 2 ); add_action( 'update_option_blogdescription', function ( $old_value, $value ) { $this->update_kit_settings_based_on_option( 'site_description', $value ); }, 10, 2 ); add_action( 'wp_head', function() { $this->add_body_class(); } ); add_filter( 'elementor/frontend/admin_bar/settings', function ( $admin_bar_config ) { return $this->add_menu_in_admin_bar( $admin_bar_config ); }, 9 /* Before site-editor (theme-builder) */ ); } } core/kits/views/trash-kit-confirmation.php000064400000003157152377341010014721 0ustar00 '1' ], get_delete_post_link( $post_id, '', $is_permanently_delete ) ); ?>


core/kits/views/panel.php000064400000003154152377341010011421 0ustar00 core/kits/controls/repeater.php000064400000003165152377341010012641 0ustar00
<# if ( itemActions.add ) { #>
<# } #> get_default_scheme(); update_option( self::SCHEME_OPTION_PREFIX . static::get_type(), $scheme_value ); } return $scheme_value; } /** * Save scheme. * * Update Elementor scheme in the database, and update the last updated * scheme time. * * @since 1.0.0 * @access public * * @param array $posted */ public function save_scheme( array $posted ) { update_option( self::SCHEME_OPTION_PREFIX . static::get_type(), $posted ); update_option( self::LAST_UPDATED_META, time() ); } /** * Get scheme. * * Retrieve the scheme. * * @since 1.0.0 * @access public * * @return array The scheme. */ public function get_scheme() { $scheme = []; foreach ( $this->get_scheme_value() as $scheme_key => $scheme_value ) { $scheme[ $scheme_key ] = [ 'value' => $scheme_value, ]; } return $scheme; } } core/schemes/color-picker.php000064400000001707152377341010012235 0ustar00 '#6ec1e4', 2 => '#54595f', 3 => '#7a7a7a', 4 => '#61ce70', 5 => '#4054b2', 6 => '#23a455', 7 => '#000', 8 => '#fff', ]; } } core/schemes/manager.php000064400000017426152377341010011263 0ustar00_registered_schemes[ $scheme_instance::get_type() ] = $scheme_instance; } /** * Unregister scheme. * * Removes a scheme from the list of registered schemes. * * @since 1.0.0 * @access public * * @param string $id Scheme ID. * * @return bool True if the scheme was removed, False otherwise. */ public function unregister_scheme( $id ) { if ( ! isset( $this->_registered_schemes[ $id ] ) ) { return false; } unset( $this->_registered_schemes[ $id ] ); return true; } /** * Get registered schemes. * * Retrieve the registered schemes list from the current instance. * * @since 1.0.0 * @access public * * @return Base[] Registered schemes. */ public function get_registered_schemes() { return $this->_registered_schemes; } /** * Get schemes data. * * Retrieve all the registered schemes with data for each scheme. * * @since 1.0.0 * @access public * * @return array Registered schemes with each scheme data. */ public function get_registered_schemes_data() { $data = []; foreach ( $this->get_registered_schemes() as $scheme ) { $type = $scheme::get_type(); $data[ $type ] = [ 'items' => $scheme->get_scheme(), ]; if ( $scheme instanceof Base_UI ) { $data[ $type ]['title'] = $scheme->get_title(); $data[ $type ]['disabled_title'] = $scheme->get_disabled_title(); } } return $data; } /** * Get default schemes. * * Retrieve all the registered schemes with default scheme for each scheme. * * @since 1.0.0 * @access public * * @return array Registered schemes with with default scheme for each scheme. */ public function get_schemes_defaults() { $data = []; foreach ( $this->get_registered_schemes() as $scheme ) { $type = $scheme::get_type(); $data[ $type ] = [ 'items' => $scheme->get_default_scheme(), ]; if ( $scheme instanceof Base_UI ) { $data[ $type ]['title'] = $scheme->get_title(); } } return $data; } /** * Get system schemes. * * Retrieve all the registered ui schemes with system schemes for each scheme. * * @since 1.0.0 * @access public * * @return array Registered ui schemes with with system scheme for each scheme. */ public function get_system_schemes() { $data = []; foreach ( $this->get_registered_schemes() as $scheme ) { if ( $scheme instanceof Base_UI ) { $data[ $scheme::get_type() ] = $scheme->get_system_schemes(); } } return $data; } /** * Get scheme. * * Retrieve a single scheme from the list of all the registered schemes in * the current instance. * * @since 1.0.0 * @access public * * @param string $id Scheme ID. * * @return false|Base Scheme instance if scheme exist, False otherwise. */ public function get_scheme( $id ) { $schemes = $this->get_registered_schemes(); if ( ! isset( $schemes[ $id ] ) ) { return false; } return $schemes[ $id ]; } /** * Get scheme value. * * Retrieve the scheme value from the list of all the registered schemes in * the current instance. * * @since 1.0.0 * @access public * * @param string $scheme_type Scheme type. * @param string $scheme_value Scheme value. * * @return false|string Scheme value if scheme exist, False otherwise. */ public function get_scheme_value( $scheme_type, $scheme_value ) { $scheme = $this->get_scheme( $scheme_type ); if ( ! $scheme ) { return false; } return $scheme->get_scheme_value()[ $scheme_value ]; } /** * Ajax apply scheme. * * Ajax handler for Elementor apply_scheme. * * Fired by `wp_ajax_elementor_apply_scheme` action. * * @since 1.0.0 * @access public * * @param array $data * * @return bool */ public function ajax_apply_scheme( array $data ) { if ( ! User::is_current_user_can_edit_post_type( Source_Local::CPT ) ) { return false; } if ( ! isset( $data['scheme_name'] ) ) { return false; } $scheme_obj = $this->get_scheme( $data['scheme_name'] ); if ( ! $scheme_obj ) { return false; } $posted = json_decode( $data['data'], true ); $scheme_obj->save_scheme( $posted ); return true; } /** * Print ui schemes templates. * * Used to generate the scheme templates on the editor using Underscore JS * template, for all the registered ui schemes. * * @since 1.0.0 * @access public */ public function print_schemes_templates() { foreach ( $this->get_registered_schemes() as $scheme ) { if ( $scheme instanceof Base_UI ) { $scheme->print_template(); } } } /** * @param Ajax $ajax * * @since 2.3.0 * @access public */ public function register_ajax_actions( Ajax $ajax ) { $ajax->register_ajax_action( 'apply_scheme', [ $this, 'ajax_apply_scheme' ] ); } /** * Get enabled schemes. * * Retrieve all enabled schemes from the list of the registered schemes in * the current instance. * * @since 1.0.0 * @access public * @static * * @return array Enabled schemes. */ public static function get_enabled_schemes() { if ( null === self::$_enabled_schemes ) { $enabled_schemes = []; foreach ( self::$_schemes_types as $schemes_type ) { if ( 'yes' === get_option( 'elementor_disable_' . $schemes_type . '_schemes' ) ) { continue; } $enabled_schemes[] = $schemes_type; } /** * Enabled schemes. * * Filters the list of enabled schemes. * * @since 1.0.0 * * @param array $enabled_schemes The list of enabled schemes. */ $enabled_schemes = apply_filters( 'elementor/schemes/enabled_schemes', $enabled_schemes ); self::$_enabled_schemes = $enabled_schemes; } return self::$_enabled_schemes; } /** * Register default schemes. * * Add a default schemes to the register schemes list. * * This method is used to set initial schemes when initializing the class. * * @since 1.7.12 * @access private */ private function register_default_schemes() { foreach ( self::$_schemes_types as $scheme_type ) { $this->register_scheme( __NAMESPACE__ . '\\' . str_replace( '-', '_', ucwords( $scheme_type, '-' ) ) ); } } /** * Schemes manager constructor. * * Initializing Elementor schemes manager and register default schemes. * * @since 1.0.0 * @access public */ public function __construct() { $this->register_default_schemes(); add_action( 'elementor/ajax/register_actions', [ $this, 'register_ajax_actions' ] ); } } core/schemes/color.php000064400000015012152377341010010754 0ustar00 esc_html__( 'Primary', 'elementor' ), self::COLOR_2 => esc_html__( 'Secondary', 'elementor' ), self::COLOR_3 => esc_html__( 'Text', 'elementor' ), self::COLOR_4 => esc_html__( 'Accent', 'elementor' ), ]; } /** * Get default color scheme. * * Retrieve the default color scheme. * * @since 1.0.0 * @access public * * @return array Default color scheme. */ public function get_default_scheme() { return [ self::COLOR_1 => '#6ec1e4', self::COLOR_2 => '#54595f', self::COLOR_3 => '#7a7a7a', self::COLOR_4 => '#61ce70', ]; } /** * Print color scheme content template. * * Used to generate the HTML in the editor using Underscore JS template. The * variables for the class are available using `data` JS object. * * @since 1.0.0 * @access public */ public function print_template_content() { ?>
_get_system_schemes_to_print() as $scheme_name => $scheme ) : ?>
[ 'title' => 'Joker', 'items' => [ self::COLOR_1 => '#202020', self::COLOR_2 => '#b7b4b4', self::COLOR_3 => '#707070', self::COLOR_4 => '#f6121c', ], ], 'ocean' => [ 'title' => 'Ocean', 'items' => [ self::COLOR_1 => '#1569ae', self::COLOR_2 => '#b6c9db', self::COLOR_3 => '#545454', self::COLOR_4 => '#fdd247', ], ], 'royal' => [ 'title' => 'Royal', 'items' => [ self::COLOR_1 => '#d5ba7f', self::COLOR_2 => '#902729', self::COLOR_3 => '#ae4848', self::COLOR_4 => '#302a8c', ], ], 'violet' => [ 'title' => 'Violet', 'items' => [ self::COLOR_1 => '#747476', self::COLOR_2 => '#ebca41', self::COLOR_3 => '#6f1683', self::COLOR_4 => '#a43cbd', ], ], 'sweet' => [ 'title' => 'Sweet', 'items' => [ self::COLOR_1 => '#6ccdd9', self::COLOR_2 => '#763572', self::COLOR_3 => '#919ca7', self::COLOR_4 => '#f12184', ], ], 'urban' => [ 'title' => 'Urban', 'items' => [ self::COLOR_1 => '#db6159', self::COLOR_2 => '#3b3b3b', self::COLOR_3 => '#7a7979', self::COLOR_4 => '#2abf64', ], ], 'earth' => [ 'title' => 'Earth', 'items' => [ self::COLOR_1 => '#882021', self::COLOR_2 => '#c48e4c', self::COLOR_3 => '#825e24', self::COLOR_4 => '#e8c12f', ], ], 'river' => [ 'title' => 'River', 'items' => [ self::COLOR_1 => '#8dcfc8', self::COLOR_2 => '#565656', self::COLOR_3 => '#50656e', self::COLOR_4 => '#dc5049', ], ], 'pastel' => [ 'title' => 'Pastel', 'items' => [ self::COLOR_1 => '#f27f6f', self::COLOR_2 => '#f4cd78', self::COLOR_3 => '#a5b3c1', self::COLOR_4 => '#aac9c3', ], ], ]; } /** * Get system color schemes to print. * * Retrieve the system color schemes * * @since 1.0.0 * @access protected * * @return array The system color schemes. */ protected function _get_system_schemes_to_print() { return $this->get_system_schemes(); } /** * Get current color scheme title. * * Retrieve the current color scheme title. * * @since 1.0.0 * @access protected * @deprecated 3.3.0 * * @return string The current color scheme title. */ protected function _get_current_scheme_title() { Plugin::$instance->modules_manager->get_modules( 'dev-tools' )->deprecation->deprecated_function( __METHOD__, '3.3.0' ); return esc_html__( 'Color Palette', 'elementor' ); } } core/schemes/base-ui.php000064400000006334152377341010011172 0ustar00_system_schemes ) { $this->_system_schemes = $this->_init_system_schemes(); } return $this->_system_schemes; } /** * Print scheme template. * * Used to generate the scheme template on the editor using Underscore JS * template. * * @since 2.8.0 * @access public */ final public function print_template() { ?> get_scheme_titles(); foreach ( $this->get_scheme_value() as $scheme_key => $scheme_value ) { $scheme[ $scheme_key ] = [ 'title' => isset( $titles[ $scheme_key ] ) ? $titles[ $scheme_key ] : '', 'value' => $scheme_value, ]; } return $scheme; } } core/schemes/typography.php000064400000006057152377341010012055 0ustar00 esc_html__( 'Primary Headline', 'elementor' ), self::TYPOGRAPHY_2 => esc_html__( 'Secondary Headline', 'elementor' ), self::TYPOGRAPHY_3 => esc_html__( 'Body Text', 'elementor' ), self::TYPOGRAPHY_4 => esc_html__( 'Accent Text', 'elementor' ), ]; } /** * Get default typography scheme. * * Retrieve the default typography scheme. * * @since 1.0.0 * @access public * * @return array Default typography scheme. */ public function get_default_scheme() { return [ self::TYPOGRAPHY_1 => [ 'font_family' => 'Roboto', 'font_weight' => '600', ], self::TYPOGRAPHY_2 => [ 'font_family' => 'Roboto Slab', 'font_weight' => '400', ], self::TYPOGRAPHY_3 => [ 'font_family' => 'Roboto', 'font_weight' => '400', ], self::TYPOGRAPHY_4 => [ 'font_family' => 'Roboto', 'font_weight' => '500', ], ]; } /** * Init system typography schemes. * * Initialize the system typography schemes. * * @since 1.0.0 * @access protected * * @return array System typography schemes. */ protected function _init_system_schemes() { return []; } /** * Print typography scheme content template. * * Used to generate the HTML in the editor using Underscore JS template. The * variables for the class are available using `data` JS object. * * @since 1.0.0 * @access public */ public function print_template_content() { ?>
0, 'sm' => 480, 'md' => 768, 'lg' => 1025, 'xl' => 1440, 'xxl' => 1600, ]; /** * Editable breakpoint keys. * * Holds the editable breakpoint keys. * * @since 1.0.0 * @access private * @static * * @var array Editable breakpoint keys. */ private static $editable_breakpoints_keys = [ 'md', 'lg', ]; /** * Get default breakpoints. * * Retrieve the default responsive breakpoints. * * @since 1.0.0 * @access public * @static * * @return array Default breakpoints. */ public static function get_default_breakpoints() { Plugin::$instance->modules_manager->get_modules( 'dev-tools' )->deprecation->deprecated_function( __METHOD__, '3.2.0', 'Elementor\Core\Breakpoints\Manager::get_default_config()' ); return self::$default_breakpoints; } /** * Get editable breakpoints. * * Retrieve the editable breakpoints. * * @since 1.0.0 * @access public * @static * * @return array Editable breakpoints. */ public static function get_editable_breakpoints() { Plugin::$instance->modules_manager->get_modules( 'dev-tools' )->deprecation->deprecated_function( __METHOD__, '3.2.0' ); return array_intersect_key( self::get_breakpoints(), array_flip( self::$editable_breakpoints_keys ) ); } /** * Get breakpoints. * * Retrieve the responsive breakpoints. * * @since 1.0.0 * @deprecated 3.2.0 * @access public * @static * * @return array Responsive breakpoints. */ public static function get_breakpoints() { return array_reduce( array_keys( self::$default_breakpoints ), function( $new_array, $breakpoint_key ) { if ( ! in_array( $breakpoint_key, self::$editable_breakpoints_keys ) ) { $new_array[ $breakpoint_key ] = self::$default_breakpoints[ $breakpoint_key ]; } else { $saved_option = Plugin::$instance->kits_manager->get_current_settings( self::BREAKPOINT_OPTION_PREFIX . $breakpoint_key ); $new_array[ $breakpoint_key ] = $saved_option ? (int) $saved_option : self::$default_breakpoints[ $breakpoint_key ]; } return $new_array; }, [] ); } /** * @since 2.1.0 * @access public * @static */ public static function has_custom_breakpoints() { Plugin::$instance->modules_manager->get_modules( 'dev-tools' )->deprecation->deprecated_function( __METHOD__, '3.2.0', 'Plugin::$instance->breakpoints->has_custom_breakpoints()' ); return ! ! array_diff( self::$default_breakpoints, self::get_breakpoints() ); } /** * @since 2.1.0 * @access public * @static */ public static function get_stylesheet_templates_path() { Plugin::$instance->modules_manager->get_modules( 'dev-tools' )->deprecation->deprecated_function( __METHOD__, '3.2.0', 'Elementor\Core\Breakpoints\Manager::get_stylesheet_templates_path()' ); return Breakpoints_Manager::get_stylesheet_templates_path(); } /** * @since 2.1.0 * @access public * @static */ public static function compile_stylesheet_templates() { Plugin::$instance->modules_manager->get_modules( 'dev-tools' )->deprecation->deprecated_function( __METHOD__, '3.2.0', 'Elementor\Core\Breakpoints\Manager::compile_stylesheet_templates()' ); Breakpoints_Manager::compile_stylesheet_templates(); } } core/responsive/files/frontend.php000064400000011552152377341010013332 0ustar00template_file = $template_file; parent::__construct( $file_name ); } /** * @since 2.1.0 * @access public */ public function parse_content() { $breakpoints = Plugin::$instance->breakpoints->get_active_breakpoints(); $breakpoints_keys = array_keys( $breakpoints ); $file_content = Utils::file_get_contents( $this->template_file ); // The regex pattern parses placeholders located in the frontend _templates.scss file. $file_content = preg_replace_callback( '/ELEMENTOR_SCREEN_([A-Z_]+)(?:_(MIN|MAX|NEXT))/', function ( $placeholder_data ) use ( $breakpoints_keys, $breakpoints ) { // Handle BC for legacy template files and Elementor Pro builds. $placeholder_data = $this->maybe_convert_placeholder_data( $placeholder_data ); $breakpoint_index = array_search( strtolower( $placeholder_data[1] ), $breakpoints_keys, true ); if ( 'DESKTOP' === $placeholder_data[1] ) { if ( 'MIN' === $placeholder_data[2] ) { $value = Plugin::$instance->breakpoints->get_desktop_min_point(); } elseif ( isset( $breakpoints['widescreen'] ) ) { // If the 'widescreen' breakpoint is active, the Desktop's max value is the Widescreen breakpoint - 1px. $value = $breakpoints['widescreen']->get_value() - 1; } else { // If the 'widescreen' breakpoint is not active, the Desktop device should not have a max value. $value = 99999; } } elseif ( false === $breakpoint_index ) { // If the breakpoint in the placeholder is not active - use a -1 value for the media query, to make // sure the setting is printed (to avoid a PHP error) but doesn't apply. $value = -1; } elseif ( 'WIDESCREEN' === $placeholder_data[1] ) { $value = $breakpoints['widescreen']->get_value(); } else { $breakpoint_index = array_search( strtolower( $placeholder_data[1] ), $breakpoints_keys, true ); $is_max_point = 'MAX' === $placeholder_data[2]; // If the placeholder capture is `MOBILE_NEXT` or `TABLET_NEXT`, the original breakpoint value is used. if ( ! $is_max_point && 'NEXT' !== $placeholder_data[2] ) { $breakpoint_index--; } $value = $breakpoints[ $breakpoints_keys[ $breakpoint_index ] ]->get_value(); if ( ! $is_max_point ) { $value++; } } return $value . 'px'; }, $file_content ); return $file_content; } /** * Load meta. * * Retrieve the file meta data. * * @since 2.1.0 * @access protected */ protected function load_meta() { $option = $this->load_meta_option(); $file_meta_key = $this->get_file_meta_key(); if ( empty( $option[ $file_meta_key ] ) ) { return []; } return $option[ $file_meta_key ]; } /** * Update meta. * * Update the file meta data. * * @since 2.1.0 * @access protected * * @param array $meta New meta data. */ protected function update_meta( $meta ) { $option = $this->load_meta_option(); $option[ $this->get_file_meta_key() ] = $meta; update_option( static::META_KEY, $option ); } /** * Delete meta. * * Delete the file meta data. * * @since 2.1.0 * @access protected */ protected function delete_meta() { $option = $this->load_meta_option(); $file_meta_key = $this->get_file_meta_key(); if ( isset( $option[ $file_meta_key ] ) ) { unset( $option[ $file_meta_key ] ); } if ( $option ) { update_option( static::META_KEY, $option ); } else { delete_option( static::META_KEY ); } } /** * @since 2.1.0 * @access private */ private function get_file_meta_key() { return pathinfo( $this->get_file_name(), PATHINFO_FILENAME ); } /** * @since 2.1.0 * @access private */ private function load_meta_option() { $option = get_option( static::META_KEY ); if ( ! $option ) { $option = []; } return $option; } /** * Maybe Convert Placeholder Data * * Converts responsive placeholders in Elementor CSS template files from the legacy format into the new format. * Used for backwards compatibility for old Pro versions that were built with an Elementor Core version <3.2.0. * * @since 3.2.3 * * @param $placeholder_data * @return mixed */ private function maybe_convert_placeholder_data( $placeholder_data ) { switch ( $placeholder_data[1] ) { case 'SM': $placeholder_data[1] = 'MOBILE'; break; case 'MD': $placeholder_data[1] = 'TABLET'; break; case 'LG': $placeholder_data[1] = 'DESKTOP'; } return $placeholder_data; } } core/editor/editor.php000064400000060312152377341010010766 0ustar00set_post_id( absint( $_REQUEST['post'] ) ); if ( ! $this->is_edit_mode( $this->post_id ) ) { return; } // BC: From 2.9.0, the editor shouldn't handle the global post / current document. // Use requested id and not the global in order to avoid conflicts with plugins that changes the global post. query_posts( [ 'p' => $this->post_id, 'post_type' => get_post_type( $this->post_id ), ] ); Plugin::$instance->db->switch_to_post( $this->post_id ); $document = Plugin::$instance->documents->get( $this->post_id ); Plugin::$instance->documents->switch_to_document( $document ); // Change mode to Builder $document->set_is_built_with_elementor( true ); // End BC. Loading_Inspection_Manager::instance()->register_inspections(); // Send MIME Type header like WP admin-header. @header( 'Content-Type: ' . get_option( 'html_type' ) . '; charset=' . get_option( 'blog_charset' ) ); add_filter( 'show_admin_bar', '__return_false' ); // Remove all WordPress actions remove_all_actions( 'wp_head' ); remove_all_actions( 'wp_print_styles' ); remove_all_actions( 'wp_print_head_scripts' ); remove_all_actions( 'wp_footer' ); // Handle `wp_head` add_action( 'wp_head', 'wp_enqueue_scripts', 1 ); add_action( 'wp_head', 'wp_print_styles', 8 ); add_action( 'wp_head', 'wp_print_head_scripts', 9 ); add_action( 'wp_head', 'wp_site_icon' ); add_action( 'wp_head', [ $this, 'editor_head_trigger' ], 30 ); // Handle `wp_footer` add_action( 'wp_footer', 'wp_print_footer_scripts', 20 ); add_action( 'wp_footer', 'wp_auth_check_html', 30 ); add_action( 'wp_footer', [ $this, 'wp_footer' ] ); // Handle `wp_enqueue_scripts` remove_all_actions( 'wp_enqueue_scripts' ); // Also remove all scripts hooked into after_wp_tiny_mce. remove_all_actions( 'after_wp_tiny_mce' ); add_action( 'wp_enqueue_scripts', [ $this, 'enqueue_scripts' ], 999999 ); add_action( 'wp_enqueue_scripts', [ $this, 'enqueue_styles' ], 999999 ); // Setup default heartbeat options add_filter( 'heartbeat_settings', function( $settings ) { $settings['interval'] = 15; return $settings; } ); // Tell to WP Cache plugins do not cache this request. Utils::do_not_cache(); do_action( 'elementor/editor/init' ); $this->print_editor_template(); // From the action it's an empty string, from tests its `false` if ( false !== $die ) { die; } } /** * Retrieve post ID. * * Get the ID of the current post. * * @since 1.8.0 * @access public * * @return int Post ID. */ public function get_post_id() { return $this->post_id; } /** * Redirect to new URL. * * Used as a fallback function for the old URL structure of Elementor page * edit URL. * * Fired by `template_redirect` action. * * @since 1.6.0 * @access public */ public function redirect_to_new_url() { if ( ! isset( $_GET['elementor'] ) ) { return; } $document = Plugin::$instance->documents->get( get_the_ID() ); if ( ! $document ) { wp_die( esc_html__( 'Document not found.', 'elementor' ) ); } if ( ! $document->is_editable_by_current_user() || ! $document->is_built_with_elementor() ) { return; } wp_safe_redirect( $document->get_edit_url() ); die; } /** * Whether the edit mode is active. * * Used to determine whether we are in the edit mode. * * @since 1.0.0 * @access public * * @param int $post_id Optional. Post ID. Default is `null`, the current * post ID. * * @return bool Whether the edit mode is active. */ public function is_edit_mode( $post_id = null ) { if ( null !== $this->is_edit_mode ) { return $this->is_edit_mode; } if ( empty( $post_id ) ) { $post_id = $this->post_id; } $document = Plugin::$instance->documents->get( $post_id ); if ( ! $document || ! $document->is_editable_by_current_user() ) { return false; } /** @var Module ajax */ $ajax_data = Plugin::$instance->common->get_component( 'ajax' )->get_current_action_data(); if ( ! empty( $ajax_data ) && 'get_document_config' === $ajax_data['action'] ) { return true; } // Ajax request as Editor mode $actions = [ 'elementor', // Templates 'elementor_get_templates', 'elementor_save_template', 'elementor_get_template', 'elementor_delete_template', 'elementor_import_template', 'elementor_library_direct_actions', ]; if ( isset( $_REQUEST['action'] ) && in_array( $_REQUEST['action'], $actions ) ) { return true; } return false; } /** * Lock post. * * Mark the post as currently being edited by the current user. * * @since 1.0.0 * @access public * * @param int $post_id The ID of the post being edited. */ public function lock_post( $post_id ) { if ( ! function_exists( 'wp_set_post_lock' ) ) { require_once ABSPATH . 'wp-admin/includes/post.php'; } wp_set_post_lock( $post_id ); } /** * Get locked user. * * Check what user is currently editing the post. * * @since 1.0.0 * @access public * * @param int $post_id The ID of the post being edited. * * @return \WP_User|false User information or false if the post is not locked. */ public function get_locked_user( $post_id ) { if ( ! function_exists( 'wp_check_post_lock' ) ) { require_once ABSPATH . 'wp-admin/includes/post.php'; } $locked_user = wp_check_post_lock( $post_id ); if ( ! $locked_user ) { return false; } return get_user_by( 'id', $locked_user ); } /** * Print Editor Template. * * Include the wrapper template of the editor. * * @since 2.2.0 * @access public */ public function print_editor_template() { include ELEMENTOR_PATH . 'includes/editor-templates/editor-wrapper.php'; } /** * Enqueue scripts. * * Registers all the editor scripts and enqueues them. * * @since 1.0.0 * @access public */ public function enqueue_scripts() { remove_action( 'wp_enqueue_scripts', [ $this, __FUNCTION__ ], 999999 ); global $wp_styles, $wp_scripts; $plugin = Plugin::$instance; // Reset global variable $wp_styles = new \WP_Styles(); // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited $wp_scripts = new \WP_Scripts(); // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited $suffix = ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG || defined( 'ELEMENTOR_TESTS' ) && ELEMENTOR_TESTS ) ? '' : '.min'; wp_register_script( 'elementor-editor-modules', ELEMENTOR_ASSETS_URL . 'js/editor-modules' . $suffix . '.js', [ 'elementor-common-modules', ], ELEMENTOR_VERSION, true ); wp_register_script( 'elementor-editor-document', ELEMENTOR_ASSETS_URL . 'js/editor-document' . $suffix . '.js', [ 'elementor-common-modules', ], ELEMENTOR_VERSION, true ); // Hack for waypoint with editor mode. wp_register_script( 'elementor-waypoints', ELEMENTOR_ASSETS_URL . 'lib/waypoints/waypoints-for-editor.js', [ 'jquery', ], '4.0.2', true ); wp_register_script( 'perfect-scrollbar', ELEMENTOR_ASSETS_URL . 'lib/perfect-scrollbar/js/perfect-scrollbar' . $suffix . '.js', [], '1.4.0', true ); wp_register_script( 'jquery-easing', ELEMENTOR_ASSETS_URL . 'lib/jquery-easing/jquery-easing' . $suffix . '.js', [ 'jquery', ], '1.3.2', true ); wp_register_script( 'nprogress', ELEMENTOR_ASSETS_URL . 'lib/nprogress/nprogress' . $suffix . '.js', [], '0.2.0', true ); wp_register_script( 'tipsy', ELEMENTOR_ASSETS_URL . 'lib/tipsy/tipsy' . $suffix . '.js', [ 'jquery', ], '1.0.0', true ); wp_register_script( 'jquery-elementor-select2', ELEMENTOR_ASSETS_URL . 'lib/e-select2/js/e-select2.full' . $suffix . '.js', [ 'jquery', ], '4.0.6-rc.1', true ); wp_register_script( 'flatpickr', ELEMENTOR_ASSETS_URL . 'lib/flatpickr/flatpickr' . $suffix . '.js', [ 'jquery', ], '1.12.0', true ); wp_register_script( 'ace', 'https://cdnjs.cloudflare.com/ajax/libs/ace/1.2.5/ace.js', [], '1.2.5', true ); wp_register_script( 'ace-language-tools', 'https://cdnjs.cloudflare.com/ajax/libs/ace/1.2.5/ext-language_tools.js', [ 'ace', ], '1.2.5', true ); wp_register_script( 'jquery-hover-intent', ELEMENTOR_ASSETS_URL . 'lib/jquery-hover-intent/jquery-hover-intent' . $suffix . '.js', [], '1.0.0', true ); wp_register_script( 'nouislider', ELEMENTOR_ASSETS_URL . 'lib/nouislider/nouislider' . $suffix . '.js', [], '13.0.0', true ); wp_register_script( 'pickr', ELEMENTOR_ASSETS_URL . 'lib/pickr/pickr.min.js', [], '1.5.0', true ); wp_register_script( 'elementor-editor', ELEMENTOR_ASSETS_URL . 'js/editor' . $suffix . '.js', [ 'elementor-common', 'elementor-editor-modules', 'elementor-editor-document', 'wp-auth-check', 'jquery-ui-sortable', 'jquery-ui-resizable', 'perfect-scrollbar', 'nprogress', 'tipsy', 'imagesloaded', 'heartbeat', 'jquery-elementor-select2', 'flatpickr', 'ace', 'ace-language-tools', 'jquery-hover-intent', 'nouislider', 'pickr', 'react', 'react-dom', ], ELEMENTOR_VERSION, true ); /** * Before editor enqueue scripts. * * Fires before Elementor editor scripts are enqueued. * * @since 1.0.0 */ do_action( 'elementor/editor/before_enqueue_scripts' ); // Tweak for WP Admin menu icons wp_print_styles( 'editor-buttons' ); $settings = SettingsManager::get_settings_managers_config(); // Moved to document since 2.9.0. unset( $settings['page'] ); $document = Plugin::$instance->documents->get_doc_or_auto_save( $this->post_id ); $kits_manager = Plugin::$instance->kits_manager; $page_title_selector = $kits_manager->get_current_settings( 'page_title_selector' ); $page_title_selector .= ', .elementor-page-title .elementor-heading-title'; $config = [ 'initial_document' => $document->get_config(), 'version' => ELEMENTOR_VERSION, 'home_url' => home_url(), 'admin_settings_url' => admin_url( 'admin.php?page=' . Settings::PAGE_ID ), 'admin_tools_url' => admin_url( 'admin.php?page=' . Tools::PAGE_ID ), 'autosave_interval' => AUTOSAVE_INTERVAL, 'tabs' => $plugin->controls_manager->get_tabs(), 'controls' => $plugin->controls_manager->get_controls_data(), 'elements' => $plugin->elements_manager->get_element_types_config(), 'schemes' => [ 'items' => $plugin->schemes_manager->get_registered_schemes_data(), 'enabled_schemes' => Schemes_Manager::get_enabled_schemes(), ], 'globals' => [ 'defaults_enabled' => [ 'colors' => $kits_manager->is_custom_colors_enabled(), 'typography' => $kits_manager->is_custom_typography_enabled(), ], ], 'icons' => [ 'libraries' => Icons_Manager::get_icon_manager_tabs_config(), 'goProURL' => Utils::get_pro_link( 'https://elementor.com/pro/?utm_source=icon-library&utm_campaign=gopro&utm_medium=wp-dash' ), ], 'fa4_to_fa5_mapping_url' => ELEMENTOR_ASSETS_URL . 'lib/font-awesome/migration/mapping.js', 'default_schemes' => $plugin->schemes_manager->get_schemes_defaults(), 'settings' => $settings, 'system_schemes' => $plugin->schemes_manager->get_system_schemes(), 'wp_editor' => $this->get_wp_editor_config(), 'settings_page_link' => Settings::get_url(), 'tools_page_link' => Tools::get_url(), 'tools_page_nonce' => wp_create_nonce( 'tools-page-from-editor' ), 'elementor_site' => 'https://go.elementor.com/about-elementor/', 'docs_elementor_site' => 'https://go.elementor.com/docs/', 'help_the_content_url' => 'https://go.elementor.com/the-content-missing/', 'help_flexbox_bc_url' => 'https://go.elementor.com/flexbox-layout-bc/', 'elementPromotionURL' => 'https://go.elementor.com/go-pro-%s', 'dynamicPromotionURL' => 'https://go.elementor.com/go-pro-dynamic-tag', 'additional_shapes' => Shapes::get_additional_shapes_for_config(), 'user' => [ 'restrictions' => $plugin->role_manager->get_user_restrictions_array(), 'is_administrator' => current_user_can( 'manage_options' ), 'introduction' => User::get_introduction_meta(), ], 'preview' => [ 'help_preview_error_url' => 'https://go.elementor.com/preview-not-loaded/', 'help_preview_http_error_url' => 'https://go.elementor.com/preview-not-loaded/#permissions', 'help_preview_http_error_500_url' => 'https://go.elementor.com/500-error/', 'debug_data' => Loading_Inspection_Manager::instance()->run_inspections(), ], 'locale' => get_locale(), 'rich_editing_enabled' => filter_var( get_user_meta( get_current_user_id(), 'rich_editing', true ), FILTER_VALIDATE_BOOLEAN ), 'page_title_selector' => $page_title_selector, 'tinymceHasCustomConfig' => class_exists( 'Tinymce_Advanced' ) || class_exists( 'Advanced_Editor_Tools' ), 'inlineEditing' => Plugin::$instance->widgets_manager->get_inline_editing_config(), 'dynamicTags' => Plugin::$instance->dynamic_tags->get_config(), 'ui' => [ 'darkModeStylesheetURL' => ELEMENTOR_ASSETS_URL . 'css/editor-dark-mode' . $suffix . '.css', 'defaultGenericFonts' => $kits_manager->get_current_settings( 'default_generic_fonts' ), ], // Empty array for BC to avoid errors. 'i18n' => [], // 'responsive' contains the custom breakpoints config introduced in Elementor v3.2.0 'responsive' => [ 'breakpoints' => Plugin::$instance->breakpoints->get_breakpoints_config(), 'icons_map' => Plugin::$instance->breakpoints->get_responsive_icons_classes_map(), ], ]; if ( ! Utils::has_pro() && current_user_can( 'manage_options' ) ) { $config['promotionWidgets'] = Api::get_promotion_widgets(); } $this->bc_move_document_filters(); /** * Localize editor settings. * * Filters the editor localized settings. * * @since 1.0.0 * * @param array $config Editor configuration. * @param int $post_id The ID of the current post being edited. */ $config = apply_filters( 'elementor/editor/localize_settings', $config ); Utils::print_js_config( 'elementor-editor', 'ElementorConfig', $config ); wp_enqueue_script( 'elementor-editor' ); wp_set_script_translations( 'elementor-editor', 'elementor' ); $plugin->controls_manager->enqueue_control_scripts(); /** * After editor enqueue scripts. * * Fires after Elementor editor scripts are enqueued. * * @since 1.0.0 */ do_action( 'elementor/editor/after_enqueue_scripts' ); } /** * Enqueue styles. * * Registers all the editor styles and enqueues them. * * @since 1.0.0 * @access public */ public function enqueue_styles() { /** * Before editor enqueue styles. * * Fires before Elementor editor styles are enqueued. * * @since 1.0.0 */ do_action( 'elementor/editor/before_enqueue_styles' ); $suffix = Utils::is_script_debug() ? '' : '.min'; $direction_suffix = is_rtl() ? '-rtl' : ''; wp_register_style( 'font-awesome', ELEMENTOR_ASSETS_URL . 'lib/font-awesome/css/font-awesome' . $suffix . '.css', [], '4.7.0' ); wp_register_style( 'elementor-select2', ELEMENTOR_ASSETS_URL . 'lib/e-select2/css/e-select2' . $suffix . '.css', [], '4.0.6-rc.1' ); wp_register_style( 'google-font-roboto', 'https://fonts.googleapis.com/css?family=Roboto:300,400,500,700', [], ELEMENTOR_VERSION ); wp_register_style( 'flatpickr', ELEMENTOR_ASSETS_URL . 'lib/flatpickr/flatpickr' . $suffix . '.css', [], '1.12.0' ); wp_register_style( 'pickr', ELEMENTOR_ASSETS_URL . 'lib/pickr/themes/monolith.min.css', [], '1.5.0' ); wp_register_style( 'elementor-editor', ELEMENTOR_ASSETS_URL . 'css/editor' . $direction_suffix . $suffix . '.css', [ 'elementor-common', 'elementor-select2', 'elementor-icons', 'wp-auth-check', 'google-font-roboto', 'flatpickr', 'pickr', ], ELEMENTOR_VERSION ); wp_enqueue_style( 'elementor-editor' ); $ui_theme = SettingsManager::get_settings_managers( 'editorPreferences' )->get_model()->get_settings( 'ui_theme' ); if ( 'light' !== $ui_theme ) { $ui_theme_media_queries = 'all'; if ( 'auto' === $ui_theme ) { $ui_theme_media_queries = '(prefers-color-scheme: dark)'; } wp_enqueue_style( 'elementor-editor-dark-mode', ELEMENTOR_ASSETS_URL . 'css/editor-dark-mode' . $suffix . '.css', [ 'elementor-editor', ], ELEMENTOR_VERSION, $ui_theme_media_queries ); } $breakpoints = Plugin::$instance->breakpoints->get_breakpoints(); // The two breakpoints under 'tablet' need to be checked for values. if ( $breakpoints[ Breakpoints_Manager::BREAKPOINT_KEY_MOBILE ]->is_custom() || $breakpoints[ Breakpoints_Manager::BREAKPOINT_KEY_MOBILE_EXTRA ]->is_enabled() ) { wp_add_inline_style( 'elementor-editor', '.elementor-device-tablet #elementor-preview-responsive-wrapper { width: ' . Plugin::$instance->breakpoints->get_device_min_breakpoint( Breakpoints_Manager::BREAKPOINT_KEY_TABLET ) . 'px; }' ); } /** * After editor enqueue styles. * * Fires after Elementor editor styles are enqueued. * * @since 1.0.0 */ do_action( 'elementor/editor/after_enqueue_styles' ); } /** * Get WordPress editor config. * * Config the default WordPress editor with custom settings for Elementor use. * * @since 1.9.0 * @access private */ private function get_wp_editor_config() { // Remove all TinyMCE plugins. remove_all_filters( 'mce_buttons', 10 ); remove_all_filters( 'mce_external_plugins', 10 ); if ( ! class_exists( '\_WP_Editors', false ) ) { require ABSPATH . WPINC . '/class-wp-editor.php'; } // WordPress 4.8 and higher if ( method_exists( '\_WP_Editors', 'print_tinymce_scripts' ) ) { \_WP_Editors::print_default_editor_scripts(); \_WP_Editors::print_tinymce_scripts(); } ob_start(); wp_editor( '%%EDITORCONTENT%%', 'elementorwpeditor', [ 'editor_class' => 'elementor-wp-editor', 'editor_height' => 250, 'drag_drop_upload' => true, ] ); $config = ob_get_clean(); // Don't call \_WP_Editors methods again remove_action( 'admin_print_footer_scripts', [ '_WP_Editors', 'editor_js' ], 50 ); remove_action( 'admin_print_footer_scripts', [ '_WP_Editors', 'print_default_editor_scripts' ], 45 ); \_WP_Editors::editor_js(); return $config; } /** * Editor head trigger. * * Fires the 'elementor/editor/wp_head' action in the head tag in Elementor * editor. * * @since 1.0.0 * @access public */ public function editor_head_trigger() { /** * Elementor editor head. * * Fires on Elementor editor head tag. * * Used to prints scripts or any other data in the head tag. * * @since 1.0.0 */ do_action( 'elementor/editor/wp_head' ); } /** * WP footer. * * Prints Elementor editor with all the editor templates, and render controls, * widgets and content elements. * * Fired by `wp_footer` action. * * @since 1.0.0 * @access public */ public function wp_footer() { $plugin = Plugin::$instance; $plugin->controls_manager->render_controls(); $plugin->widgets_manager->render_widgets_content(); $plugin->elements_manager->render_elements_content(); $plugin->schemes_manager->print_schemes_templates(); $plugin->dynamic_tags->print_templates(); $this->init_editor_templates(); /** * Elementor editor footer. * * Fires on Elementor editor before closing the body tag. * * Used to prints scripts or any other HTML before closing the body tag. * * @since 1.0.0 */ do_action( 'elementor/editor/footer' ); } /** * Set edit mode. * * Used to update the edit mode. * * @since 1.0.0 * @access public * * @param bool $edit_mode Whether the edit mode is active. */ public function set_edit_mode( $edit_mode ) { $this->is_edit_mode = $edit_mode; } /** * Editor constructor. * * Initializing Elementor editor and redirect from old URL structure of * Elementor editor. * * @since 1.0.0 * @access public */ public function __construct() { Plugin::$instance->data_manager_v2->register_controller( new Data\Globals\Controller() ); $this->notice_bar = new Notice_Bar(); add_action( 'admin_action_elementor', [ $this, 'init' ] ); add_action( 'template_redirect', [ $this, 'redirect_to_new_url' ] ); // Handle autocomplete feature for URL control. add_filter( 'wp_link_query_args', [ $this, 'filter_wp_link_query_args' ] ); add_filter( 'wp_link_query', [ $this, 'filter_wp_link_query' ] ); } /** * @since 2.2.0 * @access public */ public function filter_wp_link_query_args( $query ) { $library_cpt_key = array_search( Source_Local::CPT, $query['post_type'], true ); if ( false !== $library_cpt_key ) { unset( $query['post_type'][ $library_cpt_key ] ); } return $query; } /** * @since 2.2.0 * @access public */ public function filter_wp_link_query( $results ) { // PHPCS - The user data is not used. if ( isset( $_POST['editor'] ) && 'elementor' === $_POST['editor'] ) { // phpcs:ignore WordPress.Security.NonceVerification.Missing $post_type_object = get_post_type_object( 'post' ); $post_label = $post_type_object->labels->singular_name; foreach ( $results as & $result ) { if ( 'post' === get_post_type( $result['ID'] ) ) { $result['info'] = $post_label; } } } return $results; } /** * Init editor templates. * * Initialize default elementor templates used in the editor panel. * * @since 1.7.0 * @access private */ private function init_editor_templates() { $template_names = [ 'global', 'panel', 'panel-elements', 'repeater', 'templates', 'navigator', 'hotkeys', 'responsive-bar', ]; foreach ( $template_names as $template_name ) { Plugin::$instance->common->add_template( ELEMENTOR_PATH . "includes/editor-templates/$template_name.php" ); } } private function bc_move_document_filters() { global $wp_filter; $old_tag = 'elementor/editor/localize_settings'; $new_tag = 'elementor/document/config'; if ( ! has_filter( $old_tag ) ) { return; } foreach ( $wp_filter[ $old_tag ] as $priority => $filters ) { foreach ( $filters as $filter_id => $filter_args ) { if ( 2 === $filter_args['accepted_args'] ) { remove_filter( $old_tag, $filter_id, $priority ); add_filter( $new_tag, $filter_args['function'], $priority, 2 ); // TODO: Hard deprecation // _deprecated_hook( '`' . $old_tag . ` is no longer using post_id', '2.9.0', $new_tag' ); } } } } public function set_post_id( $post_id ) { $this->post_id = $post_id; } } core/editor/data/globals/endpoints/base.php000064400000003160152377341010014747 0ustar00 '[\w]+', ]; $this->register_item_route( \WP_REST_Server::READABLE, $args ); $this->register_item_route( \WP_REST_Server::CREATABLE, $args ); $this->register_item_route( \WP_REST_Server::DELETABLE, $args ); } public function get_items( $request ) { return $this->get_kit_items(); } /** * @inheritDoc * @throws \Elementor\Data\V2\Base\Exceptions\Error_404 */ public function get_item( $id, $request ) { $items = $this->get_kit_items(); if ( ! isset( $items[ $id ] ) ) { throw new Error_404( __( 'The Global value you are trying to use is not available.', 'elementor' ), 'global_not_found' ); } return $items[ $id ]; } public function create_item( $id, $request ) { $item = $request->get_body_params(); if ( ! isset( $item['title'] ) ) { return new Data_Exception( __( 'Invalid title', 'elementor' ), 'invalid_title' ); } $kit = Plugin::$instance->kits_manager->get_active_kit(); $item['id'] = $id; $db_item = $this->convert_db_format( $item ); $kit->add_repeater_row( 'custom_' . $this->get_name(), $db_item ); return $item; } abstract protected function get_kit_items(); /** * @param array $item frontend format. * @return array backend format. */ abstract protected function convert_db_format( $item ); } core/editor/data/globals/endpoints/typography.php000064400000003123152377341010016242 0ustar00kits_manager->get_active_kit_for_frontend(); // Use raw settings that doesn't have default values. $kit_raw_settings = $kit->get_data( 'settings' ); if ( isset( $kit_raw_settings['system_typography'] ) ) { $system_items = $kit_raw_settings['system_typography']; } else { // Get default items, but without empty defaults. $control = $kit->get_controls( 'system_typography' ); $system_items = $control['default']; } $custom_items = $kit->get_settings( 'custom_typography' ); if ( ! $custom_items ) { $custom_items = []; } $items = array_merge( $system_items, $custom_items ); foreach ( $items as $index => &$item ) { foreach ( $item as $setting => $value ) { $new_setting = str_replace( 'styles_', '', $setting, $count ); if ( $count ) { $item[ $new_setting ] = $value; unset( $item[ $setting ] ); } } $id = $item['_id']; $result[ $id ] = [ 'title' => $item['title'], 'id' => $id, ]; unset( $item['_id'], $item['title'] ); $result[ $id ]['value'] = $item; } return $result; } protected function convert_db_format( $item ) { $db_format = [ '_id' => $item['id'], 'title' => $item['title'], ]; $db_format = array_merge( $item['value'], $db_format ); return $db_format; } } core/editor/data/globals/endpoints/colors.php000064400000001777152377341010015352 0ustar00kits_manager->get_active_kit_for_frontend(); $system_items = $kit->get_settings_for_display( 'system_colors' ); $custom_items = $kit->get_settings_for_display( 'custom_colors' ); if ( ! $system_items ) { $system_items = []; } if ( ! $custom_items ) { $custom_items = []; } $items = array_merge( $system_items, $custom_items ); foreach ( $items as $index => $item ) { $id = $item['_id']; $result[ $id ] = [ 'id' => $id, 'title' => $item['title'], 'value' => $item['color'], ]; } return $result; } protected function convert_db_format( $item ) { return [ '_id' => $item['id'], 'title' => $item['title'], 'color' => $item['value'], ]; } } core/editor/data/globals/controller.php000064400000002023152377341010014212 0ustar00register_endpoint( new Endpoints\Colors( $this ) ); $this->register_endpoint( new Endpoints\Typography( $this ) ); } public function get_collection_params() { // Does not have 'get_items' args (OPTIONS). // Maybe TODO: try `$this->get_index_endpoint()->get_collection_params()`. return []; } public function get_permission_callback( $request ) { // Allow internal get global values. (e.g render global.css for a visitor) if ( 'GET' === $request->get_method() && Plugin::$instance->data_manager_v2->is_internal() ) { return true; } return current_user_can( 'edit_posts' ); } protected function register_index_endpoint() { $this->register_endpoint( new Endpoint\Index\AllChildren( $this ) ); } } core/editor/notice-bar.php000064400000003150152377341010011520 0ustar00get_install_time() > strtotime( '-1 days' ) ) { return []; } return [ 'muted_period' => 14, 'option_key' => '_elementor_editor_upgrade_notice_dismissed', 'message' => esc_html__( 'Unleash the full power of Elementor\'s features and web creation tools.', 'elementor' ), 'action_title' => esc_html__( 'Upgrade Now', 'elementor' ), 'action_url' => 'https://go.elementor.com/go-pro-editor-notice-bar/', ]; } final public function get_notice() { if ( ! current_user_can( 'manage_options' ) ) { return null; } $settings = $this->get_settings(); if ( empty( $settings['option_key'] ) ) { return null; } $dismissed_time = get_option( $settings['option_key'] ); if ( $dismissed_time ) { if ( $dismissed_time > strtotime( '-' . $settings['muted_period'] . ' days' ) ) { return null; } $this->set_notice_dismissed(); } return $settings; } public function __construct() { add_action( 'elementor/ajax/register_actions', [ $this, 'register_ajax_actions' ] ); } public function set_notice_dismissed() { update_option( $this->get_settings( 'option_key' ), time() ); } public function register_ajax_actions( Ajax $ajax ) { $ajax->register_ajax_action( 'notice_bar_dismiss', [ $this, 'set_notice_dismissed' ] ); } } core/common/modules/event-tracker/module.php000064400000001642152377341010015212 0ustar00 Tracker::is_allow_track(), ]; } public function __construct() { // Initialize Events Database Table $this->add_component( 'events-db', new DB() ); // Handle User Data Deletion/Export requests. new Personal_Data(); Plugin::$instance->data_manager_v2->register_controller( new Controller() ); } } core/common/modules/event-tracker/data/controller.php000064400000003513152377341010017020 0ustar00index_endpoint->register_items_route( \WP_REST_Server::CREATABLE, [ 'event_data' => [ 'description' => 'All the recorded event data in JSON format', 'type' => 'object', 'required' => true, ], ] ); } /** * Get Permissions Callback * * This endpoint should only accept POST requests, and currently we only track site administrator actions. * * @since 3.6.0 * * @param \WP_REST_Request $request * @return bool */ public function get_permission_callback( $request ) { if ( WP_REST_Server::CREATABLE !== $request->get_method() ) { return false; } return current_user_can( 'manage_options' ); } /** * Create Items * * Receives a request for adding an event data entry into the database. If the request contains event data, this * method initiates creation of a database entry with the event data in the Events DB table. * * @since 3.6.0 * * @param \WP_REST_Request $request * @return bool */ public function create_items( $request ) { $request_body = $request->get_json_params(); if ( empty( $request_body['event_data'] ) ) { return false; } /** @var Events_DB_Manager $event_tracker_db_manager */ $event_tracker_db_manager = Plugin::$instance->common ->get_component( 'event-tracker' ) ->get_component( 'events-db' ); $event_tracker_db_manager->create_entry( $request_body['event_data'] ); return true; } } core/common/modules/event-tracker/db.php000064400000011405152377341010014310 0ustar00wpdb->prefix . self::TABLE_NAME; } /** * Prepare Database for Entry * * The events database should have a limit of up to 1000 event entries stored daily. * Before adding a new entry to the database, we make sure that the limit of 1000 events is not reached. * If there are 1000 or more entries in the DB, we delete the earliest-inserted entry before inserting a new one. * * @since 3.6.0 */ public function prepare_db_for_entry() { $events = $this->get_event_ids_from_db(); if ( 1000 <= count( $events ) ) { $event_ids = []; foreach ( $events as $event ) { $event_ids[] = $event->id; } // Sort the array by entry ID array_multisort( $event_ids, SORT_ASC, $events ); // Delete the smallest ID (which is the earliest DB entry) $this->wpdb->delete( $this->get_table_name(), [ 'ID' => $events[0]->id ] ); } } /** * Create Entry * * Adds an event entry to the database. * * @since 3.6.0 */ public function create_entry( $event_data ) { $this->prepare_db_for_entry(); $connect = Plugin::$instance->common->get_component( 'connect' ); /** @var Library $library */ $library = $connect->get_apps()['library']; if ( ! isset( $event_data['details'] ) ) { $event_data['details'] = []; } if ( $library->is_connected() ) { $user_connect_data = get_user_option( Common_App::OPTION_CONNECT_COMMON_DATA_KEY ); // Add the user's client ID to the event. $event_data['details']['client_id'] = $user_connect_data['client_id']; } $event_data['details'] = json_encode( $event_data['details'] ); $entry = [ 'event_data' => wp_json_encode( $event_data ), 'created_at' => $event_data['ts'], ]; $this->wpdb->insert( $this->get_table_name(), $entry ); } /** * Get Event IDs From DB * * Fetches the IDs of all events saved in the database. * * @since 3.6.0 * * @return array|object|null */ public function get_event_ids_from_db() { // phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared return $this->wpdb->get_results( "SELECT id FROM {$this->get_table_name()}" ); } /** * Reset Table * * Empties the contents of the Events DB table. * * @since 3.6.0 */ public static function reset_table() { global $wpdb; $table_name = $wpdb->prefix . self::TABLE_NAME; // Delete all content of the table. // phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared $wpdb->query( "TRUNCATE TABLE {$table_name}" ); } /** * Create Table * * Creates the `wp_e_events` database table. * * @since 3.6.0 * * @param string $query to that looks for the Events table in the DB. Used for checking if table was created. */ private function create_table( $query ) { require_once ABSPATH . 'wp-admin/includes/upgrade.php'; $table_name = $this->get_table_name(); $charset_collate = $this->wpdb->get_charset_collate(); $e_events_table = "CREATE TABLE `{$table_name}` ( id bigint(20) unsigned auto_increment primary key, event_data text null, created_at datetime not null ) {$charset_collate};"; // phpcs:disable WordPress.DB.PreparedSQL.NotPrepared $this->wpdb->query( $e_events_table ); // Check if table was created successfully. // phpcs:disable WordPress.DB.PreparedSQL.NotPrepared if ( $this->wpdb->get_var( $query ) === $table_name ) { update_option( self::DB_VERSION_OPTION_KEY, self::CURRENT_DB_VERSION, false ); } } /** * Add Indexes * * Adds an index to the events table for the creation date column. * * @since 3.6.0 */ private function add_indexes() { // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared $this->wpdb->query( 'ALTER TABLE ' . $this->get_table_name() . ' ADD INDEX `created_at_index` (`created_at`) ' ); } public function __construct() { global $wpdb; $this->wpdb = $wpdb; // Check if table exists. If not, create it. $query = $wpdb->prepare( 'SHOW TABLES LIKE %s', $wpdb->esc_like( $this->get_table_name() ) ); // phpcs:disable WordPress.DB.PreparedSQL.NotPrepared if ( $wpdb->get_var( $query ) !== $this->get_table_name() ) { $this->create_table( $query ); $this->add_indexes(); } } } core/common/modules/event-tracker/personal-data.php000064400000003711152377341010016456 0ustar00common ->get_component( 'event-tracker' ) ->get_component( 'events-db' ); $events = $event_tracker_db_manager->get_event_ids_from_db(); $events_count = count( $events ); DB::reset_table(); // Validate table deleted $updated_events = $event_tracker_db_manager->get_event_ids_from_db(); $updated_events_count = count( $updated_events ); return [ 'items_removed' => $events_count - $updated_events_count, 'items_retained' => 0, 'messages' => [], 'done' => 0 === $updated_events_count, ]; } /** * Add eraser to the list of erasers. * * @param $erasers * * @return array[] */ private function add_eraser( $erasers ) { return $erasers + [ self::WP_KEY => [ 'eraser_friendly_name' => $this->get_title(), 'callback' => function () { return $this->erase_data(); }, ], ]; } /** * Personal_Data constructor. */ public function __construct() { add_filter( 'wp_privacy_personal_data_erasers', function ( $exporters ) { return $this->add_eraser( $exporters ); } ); } } core/common/modules/ajax/module.php000064400000015707152377341010013372 0ustar00ajax_actions[ $tag ] = compact( 'tag', 'callback' ); } /** * Handle ajax request. * * Verify ajax nonce, and run all the registered actions for this request. * * Fired by `wp_ajax_elementor_ajax` action. * * @since 2.0.0 * @access public */ public function handle_ajax_request() { if ( ! $this->verify_request_nonce() ) { $this->add_response_data( false, esc_html__( 'Token Expired.', 'elementor' ) ) ->send_error( Exceptions::UNAUTHORIZED ); } $editor_post_id = 0; if ( ! empty( $_REQUEST['editor_post_id'] ) ) { $editor_post_id = absint( $_REQUEST['editor_post_id'] ); Plugin::$instance->db->switch_to_post( $editor_post_id ); } /** * Register ajax actions. * * Fires when an ajax request is received and verified. * * Used to register new ajax action handles. * * @since 2.0.0 * * @param self $this An instance of ajax manager. */ do_action( 'elementor/ajax/register_actions', $this ); $this->requests = json_decode( stripslashes( $_REQUEST['actions'] ), true ); foreach ( $this->requests as $id => $action_data ) { $this->current_action_id = $id; if ( ! isset( $this->ajax_actions[ $action_data['action'] ] ) ) { $this->add_response_data( false, esc_html__( 'Action not found.', 'elementor' ), Exceptions::BAD_REQUEST ); continue; } if ( $editor_post_id ) { $action_data['data']['editor_post_id'] = $editor_post_id; } try { $results = call_user_func( $this->ajax_actions[ $action_data['action'] ]['callback'], $action_data['data'], $this ); if ( false === $results ) { $this->add_response_data( false ); } else { $this->add_response_data( true, $results ); } } catch ( \Exception $e ) { $this->add_response_data( false, $e->getMessage(), $e->getCode() ); } } $this->current_action_id = null; $this->send_success(); } /** * Get current action data. * * Retrieve the data for the current ajax request. * * @since 2.0.1 * @access public * * @return bool|mixed Ajax request data if action exist, False otherwise. */ public function get_current_action_data() { if ( ! $this->current_action_id ) { return false; } return $this->requests[ $this->current_action_id ]; } /** * Create nonce. * * Creates a cryptographic token to * give the user an access to Elementor ajax actions. * * @since 2.3.0 * @access public * * @return string The nonce token. */ public function create_nonce() { return wp_create_nonce( self::NONCE_KEY ); } /** * Verify request nonce. * * Whether the request nonce verified or not. * * @since 2.3.0 * @access public * * @return bool True if request nonce verified, False otherwise. */ public function verify_request_nonce() { return ! empty( $_REQUEST['_nonce'] ) && wp_verify_nonce( $_REQUEST['_nonce'], self::NONCE_KEY ); } protected function get_init_settings() { return [ 'url' => admin_url( 'admin-ajax.php' ), 'nonce' => $this->create_nonce(), ]; } /** * Ajax success response. * * Send a JSON response data back to the ajax request, indicating success. * * @since 2.0.0 * @access protected */ private function send_success() { $response = [ 'success' => true, 'data' => [ 'responses' => $this->response_data, ], ]; $json = wp_json_encode( $response ); while ( ob_get_status() ) { ob_end_clean(); } if ( function_exists( 'gzencode' ) ) { $response = gzencode( $json ); header( 'Content-Type: application/json; charset=utf-8' ); header( 'Content-Encoding: gzip' ); header( 'Content-Length: ' . strlen( $response ) ); echo $response; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } else { echo $json; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } wp_die( '', '', [ 'response' => null ] ); } /** * Ajax failure response. * * Send a JSON response data back to the ajax request, indicating failure. * * @since 2.0.0 * @access protected * * @param null $code */ private function send_error( $code = null ) { wp_send_json_error( [ 'responses' => $this->response_data, ], $code ); } /** * Add response data. * * Add new response data to the array of all the ajax requests. * * @since 2.0.0 * @access protected * * @param bool $success True if the requests returned successfully, False * otherwise. * @param mixed $data Optional. Response data. Default is null. * * @param int $code Optional. Response code. Default is 200. * * @return Module An instance of ajax manager. */ private function add_response_data( $success, $data = null, $code = 200 ) { $this->response_data[ $this->current_action_id ] = [ 'success' => $success, 'code' => $code, 'data' => $data, ]; return $this; } } core/common/modules/finder/module.php000064400000004717152377341010013715 0ustar00categories_manager = new Categories_Manager(); $this->add_template(); add_action( 'elementor/ajax/register_actions', [ $this, 'register_ajax_actions' ] ); } /** * Get name. * * @since 2.3.0 * @access public * * @return string */ public function get_name() { return 'finder'; } /** * Add template. * * @since 2.3.0 * @access public */ public function add_template() { Plugin::$instance->common->add_template( __DIR__ . '/template.php' ); } /** * Register ajax actions. * * @since 2.3.0 * @access public * * @param Ajax $ajax */ public function register_ajax_actions( Ajax $ajax ) { $ajax->register_ajax_action( 'finder_get_category_items', [ $this, 'ajax_get_category_items' ] ); } /** * Ajax get category items. * * @since 2.3.0 * @access public * * @param array $data * * @return array */ public function ajax_get_category_items( array $data ) { $category = $this->categories_manager->get_categories( $data['category'] ); return $category->get_category_items( $data ); } /** * Get init settings. * * @since 2.3.0 * @access protected * * @return array */ protected function get_init_settings() { $categories = $this->categories_manager->get_categories(); $categories_data = []; foreach ( $categories as $category_name => $category ) { $categories_data[ $category_name ] = array_merge( $category->get_settings(), [ 'name' => $category_name ] ); } /** * Finder categories. * * Filters the list of finder categories. This hook is used to manage Finder * categories - to add new categories, remove and edit existing categories. * * @since 2.3.0 * * @param array $categories_data A list of finder categories. */ $categories_data = apply_filters( 'elementor/finder/categories', $categories_data ); return [ 'data' => $categories_data, ]; } } core/common/modules/finder/categories/tools.php000064400000004054152377341010015707 0ustar00 [ 'title' => esc_html__( 'Tools', 'elementor' ), 'icon' => 'tools', 'url' => $tools_url, 'keywords' => [ 'tools', 'regenerate css', 'safe mode', 'debug bar', 'sync library', 'elementor' ], ], 'replace-url' => [ 'title' => esc_html__( 'Replace URL', 'elementor' ), 'icon' => 'tools', 'url' => $tools_url . '#tab-replace_url', 'keywords' => [ 'tools', 'replace url', 'domain', 'elementor' ], ], 'maintenance-mode' => [ 'title' => esc_html__( 'Maintenance Mode', 'elementor' ), 'icon' => 'tools', 'url' => $tools_url . '#tab-maintenance_mode', 'keywords' => [ 'tools', 'maintenance', 'coming soon', 'elementor' ], ], 'import-export' => [ 'title' => esc_html__( 'Import Export', 'elementor' ), 'icon' => 'import-export', 'url' => $tools_url . '#tab-import-export-kit', 'keywords' => [ 'tools', 'import export', 'import', 'export', 'kit' ], ], ]; if ( ElementorTools::can_user_rollback_versions() ) { $items['version-control'] = [ 'title' => esc_html__( 'Version Control', 'elementor' ), 'icon' => 'time-line', 'url' => $tools_url . '#tab-versions', 'keywords' => [ 'tools', 'version', 'control', 'rollback', 'beta', 'elementor' ], ]; } return $items; } } core/common/modules/finder/categories/site.php000064400000004046152377341010015514 0ustar00 [ 'title' => esc_html__( 'Homepage', 'elementor' ), 'url' => home_url(), 'icon' => 'home-heart', 'keywords' => [ 'home', 'page' ], ], 'wordpress-dashboard' => [ 'title' => esc_html__( 'Dashboard', 'elementor' ), 'icon' => 'dashboard', 'url' => admin_url(), 'keywords' => [ 'dashboard', 'wordpress' ], ], 'wordpress-menus' => [ 'title' => esc_html__( 'Menus', 'elementor' ), 'icon' => 'wordpress', 'url' => admin_url( 'nav-menus.php' ), 'keywords' => [ 'menu', 'wordpress' ], ], 'wordpress-themes' => [ 'title' => esc_html__( 'Themes', 'elementor' ), 'icon' => 'wordpress', 'url' => admin_url( 'themes.php' ), 'keywords' => [ 'themes', 'wordpress' ], ], 'wordpress-customizer' => [ 'title' => esc_html__( 'Customizer', 'elementor' ), 'icon' => 'wordpress', 'url' => admin_url( 'customize.php' ), 'keywords' => [ 'customizer', 'wordpress' ], ], 'wordpress-plugins' => [ 'title' => esc_html__( 'Plugins', 'elementor' ), 'icon' => 'wordpress', 'url' => admin_url( 'plugins.php' ), 'keywords' => [ 'plugins', 'wordpress' ], ], 'wordpress-users' => [ 'title' => esc_html__( 'Users', 'elementor' ), 'icon' => 'wordpress', 'url' => admin_url( 'users.php' ), 'keywords' => [ 'users', 'profile', 'wordpress' ], ], ]; } } core/common/modules/finder/categories/general.php000064400000004464152377341010016171 0ustar00 [ 'title' => _x( 'Saved Templates', 'Template Library', 'elementor' ), 'icon' => 'library-save', 'url' => Source_Local::get_admin_url(), 'keywords' => [ 'template', 'section', 'page', 'library' ], ], 'system-info' => [ 'title' => esc_html__( 'System Info', 'elementor' ), 'icon' => 'info-circle-o', 'url' => admin_url( 'admin.php?page=elementor-system-info' ), 'keywords' => [ 'system', 'info', 'environment', 'elementor' ], ], 'role-manager' => [ 'title' => esc_html__( 'Role Manager', 'elementor' ), 'icon' => 'person', 'url' => Role_Manager::get_url(), 'keywords' => [ 'role', 'manager', 'user', 'elementor' ], ], 'knowledge-base' => [ 'title' => esc_html__( 'Knowledge Base', 'elementor' ), 'url' => admin_url( 'admin.php?page=go_knowledge_base_site' ), 'keywords' => [ 'help', 'knowledge', 'docs', 'elementor' ], ], 'theme-builder' => [ 'title' => esc_html__( 'Theme Builder', 'elementor' ), 'icon' => 'library-save', 'url' => Plugin::$instance->app->get_settings( 'menu_url' ), 'keywords' => [ 'template', 'header', 'footer', 'single', 'archive', 'search', '404', 'library' ], ], 'kit-library' => [ 'title' => esc_html__( 'Kit Library', 'elementor' ), 'icon' => 'kit-parts', 'url' => Plugin::$instance->app->get_base_url() . '#/kit-library', 'keywords' => [ 'kit library', 'kit', 'library', 'site parts', 'parts', 'assets', 'templates' ], ], ]; } } core/common/modules/finder/categories/edit.php000064400000005270152377341010015475 0ustar00 false, ] ); $post_types[] = Source_Local::CPT; $document_types = Plugin::$instance->documents->get_document_types( [ 'is_editable' => true, 'show_in_finder' => true, ] ); $recently_edited_query_args = [ 'no_found_rows' => true, 'post_type' => $post_types, 'post_status' => [ 'publish', 'draft', 'private', 'pending', 'future' ], 'posts_per_page' => '10', 'meta_query' => [ [ 'key' => '_elementor_edit_mode', 'value' => 'builder', ], [ 'relation' => 'or', [ 'key' => Document::TYPE_META_KEY, 'compare' => 'NOT EXISTS', ], [ 'key' => Document::TYPE_META_KEY, 'value' => array_keys( $document_types ), ], ], ], 'orderby' => 'modified', 's' => $options['filter'], ]; $recently_edited_query = new \WP_Query( $recently_edited_query_args ); $items = []; /** @var \WP_Post $post */ foreach ( $recently_edited_query->posts as $post ) { $document = Plugin::$instance->documents->get( $post->ID ); if ( ! $document ) { continue; } $is_template = Source_Local::CPT === $post->post_type; $description = $document->get_title(); $icon = 'document-file'; if ( $is_template ) { $description = esc_html__( 'Template', 'elementor' ) . ' / ' . $description; $icon = 'post-title'; } $items[] = [ 'icon' => $icon, 'title' => esc_html( $post->post_title ), 'description' => $description, 'url' => $document->get_edit_url(), 'actions' => [ [ 'name' => 'view', 'url' => $document->get_permalink(), 'icon' => 'preview-medium', ], ], ]; } return $items; } } core/common/modules/finder/categories/settings.php000064400000002575152377341010016415 0ustar00 [ 'title' => esc_html__( 'General Settings', 'elementor' ), 'url' => $settings_url, 'keywords' => [ 'general', 'settings', 'elementor' ], ], 'advanced' => [ 'title' => esc_html__( 'Advanced', 'elementor' ), 'url' => $settings_url . '#tab-advanced', 'keywords' => [ 'advanced', 'settings', 'elementor' ], ], 'experiments' => [ 'title' => esc_html__( 'Experiments', 'elementor' ), 'url' => $settings_url . '#tab-experiments', 'keywords' => [ 'settings', 'elementor', 'experiments' ], ], ]; } } core/common/modules/finder/categories/create.php000064400000005163152377341010016014 0ustar00documents->get_document_types(); // TODO: Remove - Support 'post' backwards compatibility - See `Documents_Manager::register_default_types()`. unset( $registered_document_types['post'] ); $elementor_supported_post_types = array_flip( get_post_types_by_support( 'elementor' ) ); foreach ( $registered_document_types as $document_name => $document_class ) { $document_properties = $document_class::get_properties(); if ( empty( $document_properties['show_in_finder'] ) ) { continue; } if ( ! empty( $document_properties['cpt'] ) ) { foreach ( $document_properties['cpt'] as $cpt ) { unset( $elementor_supported_post_types[ $cpt ] ); } } $result[ $document_name ] = $this->create_item_url_by_document_class( $document_class ); } foreach ( $elementor_supported_post_types as $post_type => $val ) { $result[ $post_type ] = $this->create_item_url_by_post_type( $post_type ); } return $result; } private function create_item_url_by_post_type( $post_type ) { $post_type_object = get_post_type_object( $post_type ); // If there is an old post type from inactive plugins. if ( ! $post_type_object ) { return false; } return $this->get_create_new_template( sprintf( __( 'Add New %s', 'elementor' ), $post_type_object->labels->singular_name ), Plugin::$instance->documents->get_create_new_post_url( $post_type ) ); } private function create_item_url_by_document_class( $document_class ) { return $this->get_create_new_template( $document_class::get_add_new_title(), $document_class::get_create_url() ); } private function get_create_new_template( $add_new_title, $url ) { return [ 'title' => $add_new_title, 'icon' => 'plus-circle-o', 'url' => $url, 'keywords' => [ $add_new_title, 'post', 'page', 'template', 'new', 'create' ], ]; } } core/common/modules/finder/template.php000064400000003331152377341010014232 0ustar00 core/common/modules/finder/categories-manager.php000064400000007201152377341010016154 0ustar00register()` instead. */ public function add_category( $category_name, Base_Category $category ) { Plugin::$instance->modules_manager->get_modules( 'dev-tools' )->deprecation->deprecated_function( __METHOD__, '3.5.0', 'register' ); $this->register( $category, $category_name ); } /** * Register finder category. * * @since 3.5.0 * @access public * * @param Base_Category $finder_category_instance An Instance of a category. * @param string $finder_category_name A Category name. Deprecated parameter. * * @return void */ public function register( Base_Category $finder_category_instance, $finder_category_name = null ) { // TODO: For BC. Remove in the future. if ( $finder_category_name ) { Plugin::instance()->modules_manager->get_modules( 'dev-tools' )->deprecation->deprecated_argument( '$finder_category_name', '3.5.0' ); } else { $finder_category_name = $finder_category_instance->get_id(); } $this->categories[ $finder_category_name ] = $finder_category_instance; } /** * Unregister a finder category. * * @param string $finder_category_name - Category to unregister. * * @return void * @since 3.6.0 * @access public */ public function unregister( $finder_category_name ) { unset( $this->categories[ $finder_category_name ] ); } /** * Get categories. * * Retrieve the registered categories, or a specific category if the category name * is provided as a parameter. * * @since 2.3.0 * @access public * * @param string $category Category name. * * @return Base_Category|Base_Category[]|null */ public function get_categories( $category = '' ) { if ( ! $this->categories ) { $this->init_categories(); } if ( $category ) { if ( isset( $this->categories[ $category ] ) ) { return $this->categories[ $category ]; } return null; } return $this->categories; } /** * Init categories. * * Used to initialize the native finder categories. * * @since 2.3.0 * @access private */ private function init_categories() { foreach ( $this->categories_list as $category_name ) { $class_name = __NAMESPACE__ . '\Categories\\' . $category_name; $this->register( new $class_name() ); } /** * Elementor Finder categories init. * * Fires after Elementor Finder initialize it's native categories. * * This hook should be used to add your own Finder categories. * * @since 2.3.0 * @deprecated 3.5.0 Use `elementor/finder/register` hook instead. * * @param Categories_Manager $this. */ Plugin::$instance->modules_manager->get_modules( 'dev-tools' )->deprecation->do_deprecated_action( 'elementor/finder/categories/init', [ $this ], '3.5.0', 'elementor/finder/register' ); /** * Elementor Finder categories registration. * * Fires after Elementor Finder initialize it's native categories. * * This hook should be used to register your own Finder categories. * * @since 3.5.0 * * @param Categories_Manager $this Finder Categories manager. */ do_action( 'elementor/finder/register', $this ); } } core/common/modules/finder/base-category.php000064400000003100152377341010015136 0ustar00modules_manager->get_modules( 'dev-tools' )->deprecation->deprecated_function( get_class( $this ) . '::' . __FUNCTION__, '3.5.0', 'This method will be replaced with an abstract method.' ); return ''; } /** * Get category items. * * @since 2.3.0 * @abstract * @access public * * @param array $options * * @return array */ abstract public function get_category_items( array $options = [] ); /** * Is dynamic. * * Determine if the category is dynamic. * * @since 2.3.0 * @access public * * @return bool */ public function is_dynamic() { return false; } /** * Get init settings. * * @since 2.3.0 * @access protected * * @return array */ protected function get_init_settings() { $settings = [ 'title' => $this->get_title(), 'dynamic' => $this->is_dynamic(), ]; if ( ! $settings['dynamic'] ) { $settings['items'] = $this->get_category_items(); } return $settings; } } core/common/modules/connect/module.php000064400000012171152377341010014070 0ustar00registered_apps = [ 'connect' => Connect::get_class_name(), 'library' => Library::get_class_name(), ]; // When using REST API the parent module is construct after the action 'elementor/init' // so this part of code make sure to register the module "apps". if ( did_action( 'elementor/init' ) ) { $this->init(); } else { // Note: The priority 11 is for allowing plugins to add their register callback on elementor init. add_action( 'elementor/init', [ $this, 'init' ], 11 ); } add_filter( 'elementor/tracker/send_tracking_data_params', function ( $params ) { return $this->add_tracking_data( $params ); } ); } /** * Register default apps. * * Registers the default apps. * * @since 2.3.0 * @access public */ public function init() { if ( is_admin() ) { $this->admin_page = new Admin(); } /** * Register Elementor apps. * * Fires after Elementor registers the default apps. * * @since 2.3.0 * * @param self $this The apps manager instance. */ do_action( 'elementor/connect/apps/register', $this ); foreach ( $this->registered_apps as $slug => $class ) { $this->apps[ $slug ] = new $class(); } } /** * @deprecated 3.1.0 */ public function localize_settings() { Plugin::$instance->modules_manager->get_modules( 'dev-tools' )->deprecation->deprecated_function( __METHOD__, '3.1.0' ); return []; } /** * Register app. * * Registers an app. * * @since 2.3.0 * @access public * * @param string $slug App slug. * @param string $class App full class name. * * @return self The updated apps manager instance. */ public function register_app( $slug, $class ) { $this->registered_apps[ $slug ] = $class; return $this; } /** * Get app instance. * * Retrieve the app instance. * * @since 2.3.0 * @access public * * @param $slug * * @return Base_App|null */ public function get_app( $slug ) { if ( isset( $this->apps[ $slug ] ) ) { return $this->apps[ $slug ]; } return null; } /** * @since 2.3.0 * @access public * @return Base_App[] */ public function get_apps() { return $this->apps; } /** * @since 2.3.0 * @access public */ public function register_category( $slug, $args ) { $this->categories[ $slug ] = $args; return $this; } /** * @since 2.3.0 * @access public */ public function get_categories() { return $this->categories; } /** * @param string $context Where this subscription plan should be shown. * * @return array */ public function get_subscription_plans( $context = '' ) { return [ static::ACCESS_LEVEL_CORE => [ 'label' => null, 'promotion_url' => null, 'color' => null, ], static::ACCESS_LEVEL_PRO => [ 'label' => 'Pro', 'promotion_url' => Utils::get_pro_link( "https://elementor.com/pro/?utm_source={$context}&utm_medium=wp-dash&utm_campaign=gopro" ), 'color' => '#92003B', ], static::ACCESS_LEVEL_EXPERT => [ 'label' => 'Expert', 'promotion_url' => Utils::get_pro_link( "https://elementor.com/pro/?utm_source={$context}&utm_medium=wp-dash&utm_campaign=goexpert" ), 'color' => '#010051', ], ]; } private function add_tracking_data( $params ) { $users = []; $users_query = new WP_User_Query( [ 'count_total' => false, // Disable SQL_CALC_FOUND_ROWS. 'meta_query' => [ 'key' => Common_App::OPTION_CONNECT_COMMON_DATA_KEY, 'compare' => 'EXISTS', ], ] ); foreach ( $users_query->get_results() as $user ) { $connect_common_data = get_user_option( Common_App::OPTION_CONNECT_COMMON_DATA_KEY, $user->ID ); if ( $connect_common_data ) { $users [] = [ 'id' => $user->ID, 'email' => $connect_common_data['user']->email, 'roles' => implode( ', ', $user->roles ), ]; } } $params['usages'][ $this->get_name() ] = [ 'site_key' => get_option( Base_App::OPTION_CONNECT_SITE_KEY ), 'count' => count( $users ), 'users' => $users, ]; return $params; } } core/common/modules/connect/apps/base-app.php000064400000045007152377341010015242 0ustar00get_slug(); } /** * @since 2.3.0 * @access protected * @abstract */ abstract protected function update_settings(); /** * @since 2.3.0 * @access public * @static */ public static function get_class_name() { return get_called_class(); } /** * @access public * @abstract */ public function render_admin_widget() { // PHPCS - the method get_title return a plain string. echo '

' . $this->get_title() . '

'; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped if ( $this->is_connected() ) { $remote_user = $this->get( 'user' ); /* translators: %s: Remote user. */ $title = sprintf( esc_html__( 'Connected as %s', 'elementor' ), '' . esc_html( $remote_user->email ) . '' ); $label = esc_html__( 'Disconnect', 'elementor' ); $url = $this->get_admin_url( 'disconnect' ); $attr = ''; echo sprintf( '%s %s', // PHPCS - the variable $title is already escaped above. $title, // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped // PHPCS - the variable $attr is a plain string. $attr, // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped esc_attr( $url ), esc_html( $label ) ); } else { echo 'Not Connected'; } echo '
'; $this->print_app_info(); if ( current_user_can( 'manage_options' ) ) { printf( '', esc_url( $this->get_admin_url( 'reset' ) ), esc_html__( 'Reset Data', 'elementor' ) ); } echo '
'; } /** * @since 2.3.0 * @access protected */ protected function get_option_name() { return static::OPTION_NAME_PREFIX . $this->get_slug(); } /** * @since 2.3.0 * @access public */ public function admin_notice() { $notices = $this->get( 'notices' ); if ( ! $notices ) { return; } $this->print_notices( $notices ); $this->delete( 'notices' ); } public function get_app_token_from_cli_token( $cli_token ) { $response = $this->request( 'get_app_token_from_cli_token', [ 'cli_token' => $cli_token, ] ); if ( is_wp_error( $response ) ) { // PHPCS - the variable $response does not contain a user input value. wp_die( $response, $response->get_error_message() ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } // Use state as usual. $_REQUEST['state'] = $this->get( 'state' ); $_REQUEST['code'] = $response->code; } /** * @since 2.3.0 * @access public */ public function action_authorize() { if ( $this->is_connected() ) { $this->add_notice( esc_html__( 'Already connected.', 'elementor' ), 'info' ); $this->redirect_to_admin_page(); return; } $this->set_client_id(); $this->set_request_state(); $this->redirect_to_remote_authorize_url(); } public function action_reset() { if ( current_user_can( 'manage_options' ) ) { delete_option( static::OPTION_CONNECT_SITE_KEY ); delete_option( 'elementor_remote_info_library' ); } $this->redirect_to_admin_page(); } /** * @since 2.3.0 * @access public */ public function action_get_token() { if ( $this->is_connected() ) { $this->redirect_to_admin_page(); } if ( empty( $_REQUEST['state'] ) || $_REQUEST['state'] !== $this->get( 'state' ) ) { $this->add_notice( 'Get Token: Invalid Request.', 'error' ); $this->redirect_to_admin_page(); } $response = $this->request( 'get_token', [ 'grant_type' => 'authorization_code', 'code' => $_REQUEST['code'], 'redirect_uri' => rawurlencode( $this->get_admin_url( 'get_token' ) ), 'client_id' => $this->get( 'client_id' ), ] ); if ( is_wp_error( $response ) ) { $notice = 'Cannot Get Token:' . $response->get_error_message(); $this->add_notice( $notice, 'error' ); $this->redirect_to_admin_page(); } if ( ! empty( $response->data_share_opted_in ) && current_user_can( 'manage_options' ) ) { Tracker::set_opt_in( true ); } $this->delete( 'state' ); $this->set( (array) $response ); $this->after_connect(); // Add the notice *after* the method `after_connect`, so an app can redirect without the notice. $this->add_notice( esc_html__( 'Connected Successfully.', 'elementor' ) ); $this->redirect_to_admin_page(); } /** * @since 2.3.0 * @access public */ public function action_disconnect() { if ( $this->is_connected() ) { $this->disconnect(); $this->add_notice( esc_html__( 'Disconnected Successfully.', 'elementor' ) ); } $this->redirect_to_admin_page(); } /** * @since 2.8.0 * @access public */ public function action_reconnect() { $this->disconnect(); $this->action_authorize(); } /** * @since 2.3.0 * @access public */ public function get_admin_url( $action, $params = [] ) { $params = [ 'app' => $this->get_slug(), 'action' => $action, 'nonce' => wp_create_nonce( $this->get_slug() . $action ), ] + $params; $admin_url = Str::encode_idn_url( get_admin_url() ); $admin_url .= 'admin.php?page=' . Admin::PAGE_ID; return add_query_arg( $params, $admin_url ); } /** * @since 2.3.0 * @access public */ public function is_connected() { return (bool) $this->get( 'access_token' ); } /** * @since 2.3.0 * @access protected */ protected function init() {} /** * @since 2.3.0 * @access protected */ protected function init_data() {} /** * @since 2.3.0 * @access protected */ protected function after_connect() {} /** * @since 2.3.0 * @access public */ public function get( $key, $default = null ) { $this->init_data(); return isset( $this->data[ $key ] ) ? $this->data[ $key ] : $default; } /** * @since 2.3.0 * @access protected */ protected function set( $key, $value = null ) { $this->init_data(); if ( is_array( $key ) ) { $this->data = array_replace_recursive( $this->data, $key ); } else { $this->data[ $key ] = $value; } $this->update_settings(); } /** * @since 2.3.0 * @access protected */ protected function delete( $key = null ) { $this->init_data(); if ( $key ) { unset( $this->data[ $key ] ); } else { $this->data = []; } $this->update_settings(); } /** * @since 2.3.0 * @access protected */ protected function add( $key, $value, $default = '' ) { $new_value = $this->get( $key, $default ); if ( is_array( $new_value ) ) { $new_value[] = $value; } elseif ( is_string( $new_value ) ) { $new_value .= $value; } elseif ( is_numeric( $new_value ) ) { $new_value += $value; } $this->set( $key, $new_value ); } /** * @since 2.3.0 * @access protected */ protected function add_notice( $content, $type = 'success' ) { $this->add( 'notices', compact( 'content', 'type' ), [] ); } /** * @param $action * @param array $request_body * @param false $as_array * * @return mixed|\WP_Error */ protected function request( $action, $request_body = [], $as_array = false ) { $request_body = $this->get_connect_info() + $request_body; return $this->http_request( 'POST', $action, [ 'timeout' => 25, 'body' => $request_body, 'headers' => $this->is_connected() ? [ 'X-Elementor-Signature' => $this->generate_signature( $request_body ) ] : [], ], [ 'return_type' => $as_array ? static::HTTP_RETURN_TYPE_ARRAY : static::HTTP_RETURN_TYPE_OBJECT, ] ); } /** * Get all the connect information * * @return array */ protected function get_connect_info() { $connect_info = [ 'app' => $this->get_slug(), 'access_token' => $this->get( 'access_token' ), 'client_id' => $this->get( 'client_id' ), 'local_id' => get_current_user_id(), 'site_key' => $this->get_site_key(), 'home_url' => trailingslashit( home_url() ), ]; $additional_info = []; /** * Additional connect info. * * Filters the connection information when connecting to Elementor servers. * This hook can be used to add more information or add more data. * * @param array $additional_info Additional connecting information array. * @param Base_App $this The base app instance. */ $additional_info = apply_filters( 'elementor/connect/additional-connect-info', $additional_info, $this ); return array_merge( $connect_info, $additional_info ); } /** * @param $endpoint * * @return array */ protected function generate_authentication_headers( $endpoint ) { $connect_info = ( new Collection( $this->get_connect_info() ) ) ->map_with_keys( function ( $value, $key ) { // For bc `get_connect_info` returns the connect info with underscore, // headers with underscore are not valid, so all the keys with underscore will be replaced to hyphen. return [ str_replace( '_', '-', $key ) => $value ]; } ) ->replace_recursive( [ 'endpoint' => $endpoint ] ) ->sort_keys(); return $connect_info ->merge( [ 'X-Elementor-Signature' => $this->generate_signature( $connect_info->all() ) ] ) ->all(); } /** * Send an http request * * @param $method * @param $endpoint * @param array $args * @param array $options * * @return mixed|\WP_Error */ protected function http_request( $method, $endpoint, $args = [], $options = [] ) { $options = wp_parse_args( $options, [ 'return_type' => static::HTTP_RETURN_TYPE_OBJECT, ] ); $args = array_replace_recursive( [ 'headers' => $this->is_connected() ? $this->generate_authentication_headers( $endpoint ) : [], 'method' => $method, 'timeout' => 10, ], $args ); $response = $this->http->request_with_fallback( $this->get_generated_urls( $endpoint ), $args ); if ( is_wp_error( $response ) ) { // PHPCS - the variable $response does not contain a user input value. wp_die( $response, [ 'back_link' => true ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } $body = wp_remote_retrieve_body( $response ); $response_code = (int) wp_remote_retrieve_response_code( $response ); if ( ! $response_code ) { return new \WP_Error( 500, 'No Response' ); } // Server sent a success message without content. if ( 'null' === $body ) { $body = true; } $body = json_decode( $body, static::HTTP_RETURN_TYPE_ARRAY === $options['return_type'] ); if ( false === $body ) { return new \WP_Error( 422, 'Wrong Server Response' ); } if ( 200 !== $response_code ) { // In case $as_array = true. $body = (object) $body; $message = isset( $body->message ) ? $body->message : wp_remote_retrieve_response_message( $response ); $code = (int) ( isset( $body->code ) ? $body->code : $response_code ); if ( 401 === $code ) { $this->delete(); if ( 'xhr' !== $this->auth_mode ) { $this->action_authorize(); } } return new \WP_Error( $code, $message ); } return $body; } /** * Create a signature for the http request * * @param array $payload * * @return false|string */ private function generate_signature( $payload = [] ) { return hash_hmac( 'sha256', wp_json_encode( $payload, JSON_NUMERIC_CHECK ), $this->get( 'access_token_secret' ) ); } /** * @since 2.3.0 * @access protected */ protected function get_api_url() { return static::API_URL . '/' . $this->get_slug(); } /** * @since 2.3.0 * @access protected */ protected function get_remote_site_url() { return static::SITE_URL . '/' . $this->get_slug(); } /** * @since 2.3.0 * @access protected */ protected function get_remote_authorize_url() { $redirect_uri = $this->get_auth_redirect_uri(); $allowed_query_params_to_propagate = [ 'utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'source', 'screen_hint', ]; $query_params = ( new Collection( $_GET ) ) // phpcs:ignore ->only( $allowed_query_params_to_propagate ) ->merge( [ 'action' => 'authorize', 'response_type' => 'code', 'client_id' => $this->get( 'client_id' ), 'auth_secret' => $this->get( 'auth_secret' ), 'state' => $this->get( 'state' ), 'redirect_uri' => rawurlencode( $redirect_uri ), 'may_share_data' => current_user_can( 'manage_options' ) && ! Tracker::is_allow_track(), 'reconnect_nonce' => wp_create_nonce( $this->get_slug() . 'reconnect' ), ] ); return add_query_arg( $query_params->all(), $this->get_remote_site_url() ); } /** * @since 2.3.0 * @access protected */ protected function redirect_to_admin_page( $url = '' ) { if ( ! $url ) { $url = Admin::$url; } switch ( $this->auth_mode ) { case 'popup': $this->print_popup_close_script( $url ); break; case 'cli': $this->admin_notice(); die; default: wp_safe_redirect( $url ); die; } } /** * @since 2.3.0 * @access protected */ protected function set_client_id() { if ( $this->get( 'client_id' ) ) { return; } $response = $this->request( 'get_client_id', [ // phpcs:ignore WordPress.Security.NonceVerification 'source' => isset( $_REQUEST['source'] ) ? esc_attr( $_REQUEST['source'] ) : '', ] ); if ( is_wp_error( $response ) ) { // PHPCS - the variable $response does not contain a user input value. wp_die( $response, $response->get_error_message() ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } $this->set( 'client_id', $response->client_id ); $this->set( 'auth_secret', $response->auth_secret ); } /** * @since 2.3.0 * @access protected */ protected function set_request_state() { $this->set( 'state', wp_generate_password( 12, false ) ); } protected function get_popup_success_event_data() { return []; } /** * @since 2.3.0 * @access protected */ protected function print_popup_close_script( $url ) { $data = $this->get_popup_success_event_data(); ?> is_connected() ) { // Try update the server, but not needed to handle errors. $this->request( 'disconnect' ); } $this->delete(); } /** * @since 2.3.0 * @access protected */ public function get_site_key() { $site_key = get_option( static::OPTION_CONNECT_SITE_KEY ); if ( ! $site_key ) { $site_key = md5( uniqid( wp_generate_password() ) ); update_option( static::OPTION_CONNECT_SITE_KEY, $site_key ); } return $site_key; } protected function redirect_to_remote_authorize_url() { switch ( $this->auth_mode ) { case 'cli': $this->get_app_token_from_cli_token( $_REQUEST['token'] ); return; default: wp_redirect( $this->get_remote_authorize_url() ); die; } } protected function get_auth_redirect_uri() { $redirect_uri = $this->get_admin_url( 'get_token' ); switch ( $this->auth_mode ) { case 'popup': $redirect_uri = add_query_arg( [ 'mode' => 'popup', 'callback_id' => esc_attr( $_REQUEST['callback_id'] ), ], $redirect_uri ); break; } return $redirect_uri; } protected function print_notices( $notices ) { switch ( $this->auth_mode ) { case 'cli': foreach ( $notices as $notice ) { printf( '[%s] %s', wp_kses_post( $notice['type'] ), wp_kses_post( $notice['content'] ) ); } break; default: /** * @var Admin_Notices $admin_notices */ $admin_notices = Plugin::$instance->admin->get_component( 'admin-notices' ); foreach ( $notices as $notice ) { $options = [ 'description' => wp_kses_post( wpautop( $notice['content'] ) ), 'type' => $notice['type'], 'icon' => false, ]; $admin_notices->print_admin_notice( $options ); } } } protected function get_app_info() { return []; } protected function print_app_info() { $app_info = $this->get_app_info(); foreach ( $app_info as $key => $item ) { if ( $item['value'] ) { $status = 'Exist'; $color = 'green'; } else { $status = 'Empty'; $color = 'red'; } // PHPCS - the values of $item['label'], $color, $status are plain strings. printf( '%s: %s
', $item['label'], $color, $status ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } } private function get_generated_urls( $endpoint ) { $base_urls = $this->get_api_url(); if ( ! is_array( $base_urls ) ) { $base_urls = [ $base_urls ]; } return array_map( function ( $base_url ) use ( $endpoint ) { return trailingslashit( $base_url ) . $endpoint; }, $base_urls ); } private function init_auth_mode() { $is_rest = defined( 'REST_REQUEST' ) && REST_REQUEST; $is_ajax = wp_doing_ajax(); if ( $is_rest || $is_ajax ) { // Set default to 'xhr' if rest or ajax request. $this->set_auth_mode( 'xhr' ); } if ( isset( $_REQUEST['mode'] ) ) { // phpcs:ignore -- nonce validation is not require here. $allowed_auth_modes = [ 'popup', ]; if ( defined( 'WP_CLI' ) && WP_CLI ) { $allowed_auth_modes[] = 'cli'; } $mode = $_REQUEST['mode']; // phpcs:ignore -- nonce validation is not require here. if ( in_array( $mode, $allowed_auth_modes, true ) ) { $this->set_auth_mode( $mode ); } } } public function set_auth_mode( $mode ) { $this->auth_mode = $mode; } /** * @since 2.3.0 * @access public */ public function __construct() { add_action( 'admin_notices', [ $this, 'admin_notice' ] ); $this->init_auth_mode(); $this->http = new Http(); /** * Allow extended apps to customize the __construct without call parent::__construct. */ $this->init(); } } core/common/modules/connect/apps/common-app.php000064400000001614152377341010015614 0ustar00data = & self::$common_data; } public function action_reset() { delete_user_option( get_current_user_id(), static::OPTION_CONNECT_COMMON_DATA_KEY ); parent::action_reset(); } } core/common/modules/connect/apps/library.php000064400000006433152377341010015216 0ustar00is_connected() ) { return new \WP_Error( '401', esc_html__( 'Connecting to the Library failed. Please try reloading the page and try again', 'elementor' ) ); } $body_args = [ 'id' => $id, // Which API version is used. 'api_version' => ELEMENTOR_VERSION, // Which language to return. 'site_lang' => get_bloginfo( 'language' ), ]; /** * API: Template body args. * * Filters the body arguments send with the GET request when fetching the content. * * @since 1.0.0 * * @param array $body_args Body arguments. */ $body_args = apply_filters( 'elementor/api/get_templates/body_args', $body_args ); $template_content = $this->request( 'get_template_content', $body_args, true ); if ( is_wp_error( $template_content ) && 401 === $template_content->get_error_code() ) { // Normalize 401 message return new \WP_Error( 401, __( 'Connecting to the Library failed. Please try reloading the page and try again', 'elementor' ) ); } return $template_content; } public function localize_settings( $settings ) { $is_connected = $this->is_connected(); /** @var ConnectModule $connect */ $connect = Plugin::$instance->common->get_component( 'connect' ); return array_replace_recursive( $settings, [ 'library_connect' => [ 'is_connected' => $is_connected, 'subscription_plans' => $connect->get_subscription_plans( 'template-library' ), 'base_access_level' => ConnectModule::ACCESS_LEVEL_CORE, 'current_access_level' => ConnectModule::ACCESS_LEVEL_CORE, ], ] ); } public function library_connect_popup_seen() { User::set_introduction_viewed( [ 'introductionKey' => 'library_connect', ] ); } /** * @param \Elementor\Core\Common\Modules\Ajax\Module $ajax_manager */ public function register_ajax_actions( $ajax_manager ) { $ajax_manager->register_ajax_action( 'library_connect_popup_seen', [ $this, 'library_connect_popup_seen' ] ); } protected function get_app_info() { return [ 'user_common_data' => [ 'label' => 'User Common Data', 'value' => get_user_option( $this->get_option_name(), get_current_user_id() ), ], 'connect_site_key' => [ 'label' => 'Site Key', 'value' => get_option( self::OPTION_CONNECT_SITE_KEY ), ], 'remote_info_library' => [ 'label' => 'Remote Library Info', 'value' => get_option( 'elementor_remote_info_library' ), ], ]; } protected function get_popup_success_event_data() { return [ 'access_level' => ConnectModule::ACCESS_LEVEL_CORE, ]; } protected function init() { add_filter( 'elementor/editor/localize_settings', [ $this, 'localize_settings' ] ); add_filter( 'elementor/common/localize_settings', [ $this, 'localize_settings' ] ); add_action( 'elementor/ajax/register_actions', [ $this, 'register_ajax_actions' ] ); } } core/common/modules/connect/apps/connect.php000064400000000673152377341010015203 0ustar00get_option_name(), $this->data ); } /** * @since 2.3.0 * @access protected */ protected function init_data() { $this->data = get_user_option( $this->get_option_name() ); if ( ! $this->data ) { $this->data = []; } } } core/common/modules/connect/admin.php000064400000004406152377341010013675 0ustar00common->get_component( 'connect' ); $app_slug = $_GET['app']; $app = $manager->get_app( $app_slug ); $nonce_action = $_GET['app'] . $_GET['action']; if ( ! $app ) { wp_die( 'Unknown app: ' . esc_attr( $app_slug ) ); } if ( empty( $_GET['nonce'] ) || ! wp_verify_nonce( $_GET['nonce'], $nonce_action ) ) { wp_die( 'Invalid Nonce', 'Invalid Nonce', [ 'back_link' => true, ] ); } $method = 'action_' . $_GET['action']; if ( method_exists( $app, $method ) ) { call_user_func( [ $app, $method ] ); } } } /** * @since 2.3.0 * @access public */ public function render_page() { $apps = Plugin::$instance->common->get_component( 'connect' )->get_apps(); ?>
'; $app->render_admin_widget(); echo '
'; } ?> add_default_templates(); add_action( 'elementor/editor/before_enqueue_scripts', [ $this, 'register_scripts' ] ); add_action( 'admin_enqueue_scripts', [ $this, 'register_scripts' ] ); add_action( 'wp_enqueue_scripts', [ $this, 'register_scripts' ] ); add_action( 'elementor/editor/before_enqueue_styles', [ $this, 'register_styles' ] ); add_action( 'admin_enqueue_scripts', [ $this, 'register_styles' ] ); add_action( 'wp_enqueue_scripts', [ $this, 'register_styles' ], 9 ); add_action( 'elementor/editor/footer', [ $this, 'print_templates' ] ); add_action( 'admin_footer', [ $this, 'print_templates' ] ); add_action( 'wp_footer', [ $this, 'print_templates' ] ); } /** * Init components * * Initializing common components. * * @since 2.3.0 * @access public */ public function init_components() { $this->add_component( 'ajax', new Ajax() ); if ( current_user_can( 'manage_options' ) ) { if ( ! is_customize_preview() ) { $this->add_component( 'finder', new Finder() ); } } $this->add_component( 'connect', new Connect() ); $this->add_component( 'event-tracker', new Event_Tracker() ); } /** * Get name. * * Retrieve the app name. * * @since 2.3.0 * @access public * * @return string Common app name. */ public function get_name() { return 'common'; } /** * Register scripts. * * Register common scripts. * * @since 2.3.0 * @access public */ public function register_scripts() { wp_register_script( 'elementor-common-modules', $this->get_js_assets_url( 'common-modules' ), [], ELEMENTOR_VERSION, true ); wp_register_script( 'backbone-marionette', $this->get_js_assets_url( 'backbone.marionette', 'assets/lib/backbone/' ), [ 'backbone', ], '2.4.5.e1', true ); wp_register_script( 'backbone-radio', $this->get_js_assets_url( 'backbone.radio', 'assets/lib/backbone/' ), [ 'backbone', ], '1.0.4', true ); wp_register_script( 'elementor-dialog', $this->get_js_assets_url( 'dialog', 'assets/lib/dialog/' ), [ 'jquery-ui-position', ], '4.9.0', true ); wp_enqueue_script( 'elementor-common', $this->get_js_assets_url( 'common' ), [ 'jquery', 'jquery-ui-draggable', 'backbone-marionette', 'backbone-radio', 'elementor-common-modules', 'elementor-web-cli', 'elementor-dialog', 'wp-api-request', ], ELEMENTOR_VERSION, true ); wp_set_script_translations( 'elementor-common', 'elementor' ); $this->print_config(); // Used for external plugins. do_action( 'elementor/common/after_register_scripts', $this ); } /** * Register styles. * * Register common styles. * * @since 2.3.0 * @access public */ public function register_styles() { wp_register_style( 'elementor-icons', $this->get_css_assets_url( 'elementor-icons', 'assets/lib/eicons/css/' ), [], '5.15.0' ); wp_enqueue_style( 'elementor-common', $this->get_css_assets_url( 'common', null, 'default', true ), [ 'elementor-icons', ], ELEMENTOR_VERSION ); } /** * Add template. * * @since 2.3.0 * @access public * * @param string $template Can be either a link to template file or template * HTML content. * @param string $type Optional. Whether to handle the template as path * or text. Default is `path`. */ public function add_template( $template, $type = 'path' ) { if ( 'path' === $type ) { ob_start(); include $template; $template = ob_get_clean(); } $this->templates[] = $template; } /** * Print Templates * * Prints all registered templates. * * @since 2.3.0 * @access public */ public function print_templates() { foreach ( $this->templates as $template ) { echo $template; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } } /** * Get init settings. * * Define the default/initial settings of the common app. * * @since 2.3.0 * @access protected * * @return array */ protected function get_init_settings() { $active_experimental_features = Plugin::$instance->experiments->get_active_features(); $active_experimental_features = array_fill_keys( array_keys( $active_experimental_features ), true ); $config = [ 'version' => ELEMENTOR_VERSION, 'isRTL' => is_rtl(), 'isDebug' => ( defined( 'WP_DEBUG' ) && WP_DEBUG ), 'isElementorDebug' => ( defined( 'ELEMENTOR_DEBUG' ) && ELEMENTOR_DEBUG ), 'activeModules' => array_keys( $this->get_components() ), 'experimentalFeatures' => $active_experimental_features, 'urls' => [ 'assets' => ELEMENTOR_ASSETS_URL, 'rest' => get_rest_url(), ], 'filesUpload' => [ 'unfilteredFiles' => Uploads_Manager::are_unfiltered_uploads_enabled(), ], ]; /** * Localize common settings. * * Filters the editor localized settings. * * @since 1.0.0 * * @param array $config Common configuration. */ return apply_filters( 'elementor/common/localize_settings', $config ); } /** * Add default templates. * * Register common app default templates. * @since 2.3.0 * @access private */ private function add_default_templates() { $default_templates = [ 'includes/editor-templates/library-layout.php', ]; foreach ( $default_templates as $template ) { $this->add_template( ELEMENTOR_PATH . $template ); } } } core/frontend/render-modes/render-mode-base.php000064400000004147152377341010015532 0ustar00post_id = intval( $post_id ); } /** * Returns the key name of the class. * * @return string * @throws \Exception */ public static function get_name() { throw new \Exception( 'You must implements `get_name` static method in ' . static::class ); } /** * @param $post_id * * @return string * @throws \Exception */ public static function get_url( $post_id ) { return Render_Mode_Manager::get_base_url( $post_id, static::get_name() ); } /** * Runs before the render, by default load scripts and styles. */ public function prepare_render() { add_action( 'wp_enqueue_scripts', function () { $this->enqueue_scripts(); }, static::ENQUEUE_SCRIPTS_PRIORITY ); add_action( 'wp_enqueue_scripts', function () { $this->enqueue_styles(); }, static::ENQUEUE_STYLES_PRIORITY ); } /** * By default do not do anything. */ protected function enqueue_scripts() { // } /** * By default do not do anything. */ protected function enqueue_styles() { // } /** * Check if the current user has permissions for the current render mode. * * @return bool */ public function get_permissions_callback() { return $this->get_document()->is_editable_by_current_user(); } /** * Checks if the current render mode is static render, By default returns false. * * @return bool */ public function is_static() { return false; } /** * @return Document */ public function get_document() { if ( ! $this->document ) { $this->document = Plugin::$instance->documents->get( $this->post_id ); } return $this->document; } } core/frontend/render-modes/render-mode-normal.php000064400000000632152377341010016103 0ustar00 $post_id, self::QUERY_STRING_PARAM_NAME => $render_mode_name, self::QUERY_STRING_NONCE_PARAM_NAME => wp_create_nonce( self::get_nonce_action( $post_id ) ), 'ver' => time(), ], get_permalink( $post_id ) ); } /** * @param $post_id * * @return string */ public static function get_nonce_action( $post_id ) { return str_replace( '{post_id}', $post_id, self::NONCE_ACTION_PATTERN ); } /** * Register a new render mode into the render mode manager. * * @param $class_name * * @return $this * @throws \Exception */ public function register_render_mode( $class_name ) { if ( ! is_subclass_of( $class_name, Render_Mode_Base::class ) ) { throw new \Exception( "'{$class_name}' must extends 'Render_Mode_Base'" ); } $this->render_modes[ $class_name::get_name() ] = $class_name; return $this; } /** * Get the current render mode. * * @return Render_Mode_Base */ public function get_current() { return $this->current; } /** * @param Render_Mode_Base $render_mode * * @return $this */ private function set_current( Render_Mode_Base $render_mode ) { $this->current = $render_mode; return $this; } /** * Set render mode. * * @return $this */ private function choose_render_mode() { $post_id = null; $key = null; $nonce = null; if ( isset( $_GET[ self::QUERY_STRING_POST_ID ] ) ) { $post_id = $_GET[ self::QUERY_STRING_POST_ID ]; // phpcs:ignore -- Nonce will be checked next line. } if ( isset( $_GET[ self::QUERY_STRING_NONCE_PARAM_NAME ] ) ) { $nonce = $_GET[ self::QUERY_STRING_NONCE_PARAM_NAME ]; // phpcs:ignore -- Nonce will be checked next line. } if ( isset( $_GET[ self::QUERY_STRING_PARAM_NAME ] ) ) { $key = $_GET[ self::QUERY_STRING_PARAM_NAME ]; // phpcs:ignore -- Nonce will be checked next line. } if ( $post_id && $nonce && wp_verify_nonce( $nonce, self::get_nonce_action( $post_id ) ) && $key && array_key_exists( $key, $this->render_modes ) ) { $this->set_current( new $this->render_modes[ $key ]( $post_id ) ); } else { $this->set_current( new Render_Mode_Normal( $post_id ) ); } return $this; } /** * Add actions base on the current render. * * @throws \Requests_Exception_HTTP_403 */ private function add_current_actions() { if ( ! $this->current->get_permissions_callback() ) { throw new \Requests_Exception_HTTP_403(); } // Run when 'template-redirect' actually because the the class is instantiate when 'template-redirect' run. $this->current->prepare_render(); } /** * Render_Mode_Manager constructor. * * @throws \Exception */ public function __construct() { $this->register_render_mode( Render_Mode_Normal::class ); do_action( 'elementor/frontend/render_mode/register', $this ); $this->choose_render_mode(); $this->add_current_actions(); } } core/role-manager/role-manager.php000064400000014447152377341010013144 0ustar00get_page_title() ); add_submenu_page( Settings::PAGE_ID, $sanitized_page_title, $sanitized_page_title, 'manage_options', self::PAGE_ID, [ $this, 'display_settings_page' ] ); } /** * @since 2.0.0 * @access protected */ protected function create_tabs() { $validation_class = 'Elementor\Settings_Validations'; return [ 'general' => [ 'label' => esc_html__( 'General', 'elementor' ), 'sections' => [ 'tools' => [ 'fields' => [ 'exclude_user_roles' => [ 'label' => esc_html__( 'Exclude Roles', 'elementor' ), 'field_args' => [ 'type' => 'checkbox_list_roles', 'exclude' => [ 'super_admin', 'administrator' ], ], 'setting_args' => [ 'sanitize_callback' => [ $validation_class, 'checkbox_list' ], ], ], ], ], ], ], ]; } /** * @since 2.0.0 * @access public */ public function display_settings_page() { $this->get_tabs(); ?>

get_page_title() ); ?>

'; foreach ( get_editable_roles() as $role_slug => $role_data ) { if ( 'administrator' === $role_slug ) { continue; } $this->display_role_controls( $role_slug, $role_data ); } submit_button(); ?>
get_role_manager_options(); } ?>
roles; $options = $this->get_user_restrictions(); $restrictions = []; if ( empty( $options ) ) { return $restrictions; } foreach ( $user_roles as $role ) { if ( ! isset( $options[ $role ] ) ) { continue; } $restrictions = array_merge( $restrictions, $options[ $role ] ); } return array_unique( $restrictions ); } /** * @since 2.0.0 * @access private */ private function get_user_restrictions() { static $restrictions = false; if ( ! $restrictions ) { $restrictions = []; /** * Editor user restrictions. * * Filters the user restrictions in the editor. * * @since 2.0.0 * * @param array $restrictions User restrictions. */ $restrictions = apply_filters( 'elementor/editor/user/restrictions', $restrictions ); } return $restrictions; } /** * @since 2.0.0 * @access public * * @param $capability * * @return bool */ public function user_can( $capability ) { $options = $this->get_user_restrictions_array(); if ( in_array( $capability, $options, true ) ) { return false; } return true; } /** * @since 2.0.0 * @access public */ public function __construct() { parent::__construct(); if ( ! Plugin::$instance->experiments->is_feature_active( 'admin_menu_rearrangement' ) ) { add_action( 'admin_menu', [ $this, 'register_admin_menu' ], 100 ); } add_action( 'elementor/role/restrictions/controls', [ $this, 'get_go_pro_link_html' ] ); } } core/logger/loggers/base.php000064400000004520152377341010012044 0ustar00create_item( $item, $type, $args ); } $this->save_log( $item ); } public function info( $message, $args = [] ) { $this->log( $message, self::LEVEL_INFO, $args ); } public function notice( $message, $args = [] ) { $this->log( $message, self::LEVEL_NOTICE, $args ); } public function warning( $message, $args = [] ) { $this->log( $message, self::LEVEL_WARNING, $args ); } public function error( $message, $args = [] ) { $this->log( $message, self::LEVEL_ERROR, $args ); } /** * @param string $message * @param string $type * @param array $args * * @return Log_Item_Interface */ private function create_item( $message, $type, $args = [] ) { $args['message'] = $message; $args['type'] = $type; $item = new Log_Item( $args ); return $item; } public function get_formatted_log_entries( $max_entries, $table = true ) { $entries = $this->get_log(); if ( empty( $entries ) ) { return [ 'All' => [ 'total_count' => 0, 'count' => 0, 'entries' => '', ], ]; } $sorted_entries = []; $open_tag = $table ? '' : ''; $close_tab = $table ? '' : PHP_EOL; $format = $table ? 'html' : 'raw'; foreach ( $entries as $entry ) { /** @var Log_Item $entry */ $sorted_entries[ $entry->get_name() ][] = $open_tag . $entry->format( $format ) . $close_tab; } $formatted_entries = []; foreach ( $sorted_entries as $key => $sorted_entry ) { $formatted_entries[ $key ]['total_count'] = count( $sorted_entry ); $formatted_entries[ $key ]['count'] = count( $sorted_entry ); $sorted_entry = array_slice( $sorted_entry, -$max_entries ); $formatted_entries[ $key ]['count'] = count( $sorted_entry ); $formatted_entries[ $key ]['entries'] = implode( $sorted_entry ); } return $formatted_entries; } } core/logger/loggers/db.php000064400000002006152377341010011514 0ustar00maybe_truncate_log(); $id = $item->get_fingerprint(); if ( empty( $log[ $id ] ) ) { $log[ $id ] = $item; } $log[ $id ]->increase_times( $item ); update_option( self::LOG_NAME, $log, 'no' ); } public function clear() { delete_option( self::LOG_NAME ); } private function maybe_truncate_log() { /** @var Log_Item[] $log */ $log = $this->get_log(); if ( Log_Item::MAX_LOG_ENTRIES < count( $log ) ) { $log = array_slice( $log, -Log_Item::MAX_LOG_ENTRIES ); } return $log; } public function get_log() { // Clear cache. wp_cache_delete( self::LOG_NAME, 'options' ); $log = get_option( self::LOG_NAME, [] ); // In case the DB log is corrupted. if ( ! is_array( $log ) ) { $log = []; } return $log; } } core/logger/loggers/logger-interface.php000064400000002364152377341010014353 0ustar00 in format * * @return array [ 'key' => [ 'total_count' => int, 'count' => int, 'entries' => Log_Item[] ] ] */ public function get_formatted_log_entries( $max_entries, $table = true ); } core/logger/log-reporter.php000064400000005720152377341010012114 0ustar00 '', ]; } public function print_html_label( $log_label ) { $title = $this->get_title(); if ( empty( $_GET[ self::CLEAR_LOG_ACTION ] ) ) { // phpcs:ignore -- nonce validation is not require here. $nonce = wp_create_nonce( self::CLEAR_LOG_ACTION ); $url = add_query_arg( [ self::CLEAR_LOG_ACTION => 1, '_wpnonce' => $nonce, ] ); $title .= '' . esc_html__( 'Clear Log', 'elementor' ) . ''; $title .= ''; } parent::print_html_label( $title ); } public function get_log_entries() { /** @var \Elementor\Core\Logger\Manager $manager */ $manager = Manager::instance(); /** @var \Elementor\Core\Logger\Loggers\Db $logger */ $logger = $manager->get_logger( 'db' ); if ( ! empty( $_GET[ self::CLEAR_LOG_ACTION ] ) ) { if ( empty( $_GET['_wpnonce'] ) || ! wp_verify_nonce( $_GET['_wpnonce'], self::CLEAR_LOG_ACTION ) ) { wp_die( 'Invalid Nonce', 'Invalid Nonce', [ 'back_link' => true, ] ); } $logger->clear(); } $log_string = 'No entries to display'; $log_entries = $logger->get_formatted_log_entries( self::MAX_ENTRIES, false ); if ( ! empty( $log_entries ) ) { $entries_string = ''; foreach ( $log_entries as $key => $log_entry ) { if ( $log_entry['count'] ) { $entries_string .= '

' . sprintf( '%s: showing %s of %s', $key, $log_entry['count'], $log_entry['total_count'] ) . '

'; $entries_string .= '
' . $log_entry['entries'] . '
'; } } if ( ! empty( $entries_string ) ) { $log_string = $entries_string; } } return [ 'value' => $log_string, ]; } public function get_raw_log_entries() { $log_string = 'No entries to display'; /** @var \Elementor\Core\Logger\Manager $manager */ $manager = Manager::instance(); $logger = $manager->get_logger(); $log_entries = $logger->get_formatted_log_entries( self::MAX_ENTRIES, false ); if ( ! empty( $log_entries ) ) { $entries_string = PHP_EOL; foreach ( $log_entries as $key => $log_entry ) { if ( $log_entry['count'] ) { $entries_string .= sprintf( '%s: showing %s of %s', $key, $log_entry['count'], $log_entry['total_count'] ) . $log_entry['entries'] . PHP_EOL; } } if ( ! empty( $entries_string ) ) { $log_string = $entries_string; } } return [ 'value' => $log_string, ]; } } core/logger/manager.php000064400000015360152377341010011106 0ustar00get_log_type_from_php_error( $last_error['type'] ); $last_error['trace'] = true; $item = new PHP( $last_error ); $this->get_logger()->log( $item ); if ( $should_exit ) { exit; } } public function rest_error_handler( $error_number, $error_message, $error_file, $error_line ) { // Temporary solution until all PHP notices will be fixed in the core and pro. if ( Utils::is_wp_cli() ) { return null; } $error = new \WP_Error( $error_number, $error_message, [ 'type' => $error_number, 'message' => $error_message, 'file' => $error_file, 'line' => $error_line, ] ); if ( ! Utils::is_elementor_path( $error_file ) ) { // Do execute PHP internal error handler. return false; } $is_an_error = in_array( // It can be notice or warning $error_number, [ E_ERROR, E_CORE_ERROR, E_COMPILE_ERROR, E_USER_ERROR ], true ); $error_data = $error->get_error_data(); // TODO: This part should be modular, temporary hard-coded. // Notify $e.data. if ( $is_an_error && ! headers_sent() ) { header( 'Content-Type: application/json; charset=UTF-8' ); http_response_code( 500 ); if ( defined( 'WP_DEBUG' ) && WP_DEBUG ) { echo wp_json_encode( $error_data ); } else { echo wp_json_encode( [ 'message' => 'Server error, see Elementor => System Info', ] ); } } $this->shutdown( $error_data, $is_an_error ); } public function register_error_handler() { set_error_handler( [ $this, 'rest_error_handler' ], E_ALL ); } public function add_system_info_report() { System_Info::add_report( 'log', [ 'file_name' => __DIR__ . '/log-reporter.php', 'class_name' => __NAMESPACE__ . '\Log_Reporter', ] ); } /** * Javascript log. * * Log Elementor errors and save them in the database. * * Fired by `wp_ajax_elementor_js_log` action. * */ public function js_log() { /** @var Module $ajax */ $ajax = Plugin::$instance->common->get_component( 'ajax' ); // PHPCS ignore is added throughout this method because nonce verification happens in the $ajax->verify_request_nonce() method. if ( ! $ajax->verify_request_nonce() || empty( $_POST['data'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Missing wp_send_json_error(); } // PHPCS - See comment above. array_walk_recursive( $_POST['data'], function( &$value ) { // phpcs:ignore WordPress.Security.NonceVerification.Missing $value = sanitize_text_field( $value ); } ); // PHPCS - See comment above. foreach ( $_POST['data'] as $error ) { // phpcs:ignore WordPress.Security.NonceVerification.Missing $error['type'] = Logger_Interface::LEVEL_ERROR; if ( ! empty( $error['customFields'] ) ) { $error['meta'] = $error['customFields']; } $item = new JS( $error ); $this->get_logger()->log( $item ); } wp_send_json_success(); } public function register_logger( $name, $class ) { $this->loggers[ $name ] = $class; } public function set_default_logger( $name ) { if ( ! empty( $this->loggers[ $name ] ) ) { $this->default_logger = $name; } } public function register_default_loggers() { $this->register_logger( 'db', 'Elementor\Core\Logger\Loggers\Db' ); $this->set_default_logger( 'db' ); } /** * @param string $name * * @return Logger_Interface */ public function get_logger( $name = '' ) { $this->register_loggers(); if ( empty( $name ) || ! isset( $this->loggers[ $name ] ) ) { $name = $this->default_logger; } if ( ! $this->get_component( $name ) ) { $this->add_component( $name, new $this->loggers[ $name ]() ); } return $this->get_component( $name ); } /** * @param string $message * @param array $args * * @return void */ public function log( $message, $args = [] ) { $this->get_logger()->log( $message, $args ); } /** * @param string $message * @param array $args * * @return void */ public function info( $message, $args = [] ) { $this->get_logger()->info( $message, $args ); } /** * @param string $message * @param array $args * * @return void */ public function notice( $message, $args = [] ) { $this->get_logger()->notice( $message, $args ); } /** * @param string $message * @param array $args * * @return void */ public function warning( $message, $args = [] ) { $this->get_logger()->warning( $message, $args ); } /** * @param string $message * @param array $args * * @return void */ public function error( $message, $args = [] ) { $this->get_logger()->error( $message, $args ); } private function get_log_type_from_php_error( $type ) { $error_map = [ E_CORE_ERROR => Logger_Interface::LEVEL_ERROR, E_ERROR => Logger_Interface::LEVEL_ERROR, E_USER_ERROR => Logger_Interface::LEVEL_ERROR, E_COMPILE_ERROR => Logger_Interface::LEVEL_ERROR, E_RECOVERABLE_ERROR => Logger_Interface::LEVEL_ERROR, E_PARSE => Logger_Interface::LEVEL_ERROR, E_STRICT => Logger_Interface::LEVEL_ERROR, E_WARNING => Logger_Interface::LEVEL_WARNING, E_USER_WARNING => Logger_Interface::LEVEL_WARNING, E_CORE_WARNING => Logger_Interface::LEVEL_WARNING, E_COMPILE_WARNING => Logger_Interface::LEVEL_WARNING, E_NOTICE => Logger_Interface::LEVEL_NOTICE, E_USER_NOTICE => Logger_Interface::LEVEL_NOTICE, E_DEPRECATED => Logger_Interface::LEVEL_NOTICE, E_USER_DEPRECATED => Logger_Interface::LEVEL_NOTICE, ]; return isset( $error_map[ $type ] ) ? $error_map[ $type ] : Logger_Interface::LEVEL_ERROR; } private function register_loggers() { if ( ! did_action( 'elementor/loggers/register' ) ) { do_action( 'elementor/loggers/register', $this ); } } public function __construct() { register_shutdown_function( [ $this, 'shutdown' ] ); add_action( 'admin_init', [ $this, 'add_system_info_report' ], 80 ); add_action( 'wp_ajax_elementor_js_log', [ $this, 'js_log' ] ); add_action( 'elementor/loggers/register', [ $this, 'register_default_loggers' ] ); } } core/logger/items/log-item-interface.php000064400000002307152377341010014265 0ustar00file = empty( $args['file'] ) ? '' : $args['file']; $this->line = empty( $args['line'] ) ? '' : $args['line']; } #[\ReturnTypeWillChange] public function jsonSerialize() { $json_arr = parent::jsonSerialize(); $json_arr['file'] = $this->file; $json_arr['line'] = $this->line; return $json_arr; } public function deserialize( $properties ) { parent::deserialize( $properties ); $this->file = ! empty( $properties['file'] ) && is_string( $properties['file'] ) ? $properties['file'] : ''; $this->line = ! empty( $properties['line'] ) && is_string( $properties['line'] ) ? $properties['line'] : ''; } public function get_name() { return 'File'; } } core/logger/items/base.php000064400000012275152377341010011531 0ustar00date = current_time( 'mysql' ); $this->message = ! empty( $args['message'] ) ? esc_html( $args['message'] ) : ''; $this->type = ! empty( $args['type'] ) ? $args['type'] : 'info'; $this->meta = ! empty( $args['meta'] ) ? $args['meta'] : []; $this->args = $args; $this->set_trace(); } public function __get( $name ) { if ( property_exists( $this, $name ) ) { return $this->{$name}; } return ''; } public function __toString() { $vars = get_object_vars( $this ); return strtr( static::FORMAT, $vars ); } #[\ReturnTypeWillChange] public function jsonSerialize() { return [ 'class' => get_class( $this ), 'item' => [ 'date' => $this->date, 'message' => $this->message, 'type' => $this->type, 'meta' => $this->meta, 'times' => $this->times, 'times_dates' => $this->times_dates, 'args' => $this->args, ], ]; } public function deserialize( $properties ) { $this->date = ! empty( $properties['date'] ) && is_string( $properties['date'] ) ? $properties['date'] : ''; $this->message = ! empty( $properties['message'] ) && is_string( $properties['message'] ) ? $properties['message'] : ''; $this->type = ! empty( $properties['type'] ) && is_string( $properties['type'] ) ? $properties['type'] : ''; $this->meta = ! empty( $properties['meta'] ) && is_array( $properties['meta'] ) ? $properties['meta'] : []; $this->times = ! empty( $properties['times'] ) && is_string( $properties['times'] ) ? $properties['times'] : ''; $this->times_dates = ! empty( $properties['times_dates'] ) && is_array( $properties['times_dates'] ) ? $properties['times_dates'] : []; $this->args = ! empty( $properties['args'] ) && is_array( $properties['args'] ) ? $properties['args'] : []; } /** * @return Log_Item_Interface | null */ public static function from_json( $str ) { $obj = json_decode( $str, true ); if ( ! array_key_exists( 'class', $obj ) ) { return null; } $class = $obj['class']; if ( class_exists( $class ) ) { /** @var Base $item */ $item = new $class( $obj['item']['message'] ); $item->deserialize( $obj['item'] ); return $item; } return null; } public function to_formatted_string( $output_format = 'html' ) { $vars = get_object_vars( $this ); $format = static::FORMAT; if ( 'html' === $output_format ) { $format = str_replace( 'message', 'message', static::FORMAT ); } if ( empty( $vars['meta'] ) ) { $format = str_replace( '[meta]', '', $format ); } else { $vars['meta'] = stripslashes( var_export( $vars['meta'], true ) ); // @codingStandardsIgnoreLine } return strtr( $format, $vars ); } public function get_fingerprint() { $unique_key = $this->type . $this->message . var_export( $this->meta, true ); // @codingStandardsIgnoreLine //info messages are not be aggregated: if ( 'info' === $this->type ) { $unique_key .= $this->date; } return md5( $unique_key ); } public function increase_times( $item, $truncate = true ) { $this->times++; $this->times_dates[] = $item->date; if ( $truncate && ( self::MAX_LOG_ENTRIES < count( $this->times_dates ) ) ) { $this->times_dates = array_slice( $this->times_dates, -self::MAX_LOG_ENTRIES ); } } public function format( $format = 'html' ) { $trace = $this->format_trace(); if ( empty( $trace ) ) { return $this->to_formatted_string( $format ); } $copy = clone $this; $copy->meta['trace'] = $trace; return $copy->to_formatted_string( $format ); } public function get_name() { return 'Log'; } private function format_trace() { $trace = empty( $this->meta['trace'] ) ? '' : $this->meta['trace']; if ( is_string( $trace ) ) { return $trace; } $trace_str = ''; foreach ( $trace as $key => $trace_line ) { $format = static::TRACE_FORMAT; $trace_line['key'] = $key; if ( empty( $trace_line['file'] ) ) { $format = str_replace( 'file(line): ', '', $format ); } $trace_str .= PHP_EOL . strtr( $format, $trace_line ); $trace_str .= empty( $trace_line['args'] ) ? '' : var_export( $trace_line['args'], true ); // @codingStandardsIgnoreLine } return $trace_str . PHP_EOL; } private function set_trace() { if ( ! empty( $this->args['trace'] ) && true === $this->args['trace'] ) { $limit = empty( $this->args['trace_limit'] ) ? static::TRACE_LIMIT : $this->args['trace_limit']; $stack = debug_backtrace( DEBUG_BACKTRACE_IGNORE_ARGS ); // @codingStandardsIgnoreLine while ( ! empty( $stack ) && ! empty( $stack[0]['file'] ) && ( false !== strpos( $stack[0]['file'], 'core' . DIRECTORY_SEPARATOR . 'logger' ) ) ) { array_shift( $stack ); } $this->meta['trace'] = array_slice( $stack, 0, $limit ); return; } if ( is_array( $this->args ) ) { unset( $this->args['trace'] ); } } } core/logger/items/js.php000064400000001536152377341010011231 0ustar00column = $args['column']; $this->file = $args['url']; $this->date = gmdate( 'Y-m-d H:i:s', $args['timestamp'] ); } #[\ReturnTypeWillChange] public function jsonSerialize() { $json_arr = parent::jsonSerialize(); $json_arr['column'] = $this->column; return $json_arr; } public function deserialize( $properties ) { parent::deserialize( $properties ); $this->column = ! empty( $properties['column'] ) && is_string( $properties['column'] ) ? $properties['column'] : ''; } public function get_name() { return 'JS'; } } core/logger/items/php.php000064400000000412152377341010011374 0ustar00assets = [ 'styles' => [ 'e-animations' => [ 'src' => $this->get_css_assets_url( 'animations', 'assets/lib/animations/', true ), 'version' => ELEMENTOR_VERSION, 'dependencies' => [], ], ], 'scripts' => [], ]; } public function get_assets() { if ( ! $this->assets ) { $this->init_assets(); } return $this->assets; } /** * @param array $assets { * @type array 'styles' * @type array 'scripts' * } */ public function enable_assets( array $assets_data ) { if ( ! $this->assets ) { $this->init_assets(); } foreach ( $assets_data as $assets_type => $assets_list ) { foreach ( $assets_list as $asset_name ) { $this->assets[ $assets_type ][ $asset_name ]['enabled'] = true; } } } /** * @param array $assets { * @type array 'styles' * @type array 'scripts' * } */ public function add_assets( array $assets ) { if ( ! $this->assets ) { $this->init_assets(); } $this->assets = array_replace_recursive( $this->assets, $assets ); } public function enqueue_assets() { $assets = $this->get_assets(); $is_preview_mode = Plugin::$instance->preview->is_preview_mode(); $is_optimized_assets_loading = Plugin::$instance->experiments->is_feature_active( 'e_optimized_assets_loading' ); foreach ( $assets as $assets_type => $assets_type_data ) { foreach ( $assets_type_data as $asset_name => $asset_data ) { if ( ! empty( $asset_data['enabled'] ) || $is_preview_mode || ! $is_optimized_assets_loading ) { if ( 'scripts' === $assets_type ) { wp_enqueue_script( $asset_name, $asset_data['src'], $asset_data['dependencies'], $asset_data['version'], true ); } else { wp_enqueue_style( $asset_name, $asset_data['src'], $asset_data['dependencies'], $asset_data['version'] ); } } } } } private function register_assets() { $assets = $this->get_assets(); foreach ( $assets as $assets_type => $assets_type_data ) { foreach ( $assets_type_data as $asset_name => $asset_data ) { if ( 'scripts' === $assets_type ) { wp_register_script( $asset_name, $asset_data['src'], $asset_data['dependencies'], $asset_data['version'], true ); } else { wp_register_style( $asset_name, $asset_data['src'], $asset_data['dependencies'], $asset_data['version'] ); } } } } public function __construct() { parent::__construct(); $this->register_assets(); } } core/page-assets/data-managers/widgets-css.php000064400000001600152377341010015361 0ustar00get_file_data( 'size' ); $widget_css = ''; if ( $asset_css_file_size ) { // If the file size is larger than 8KB then calling the external CSS file, otherwise, printing inline CSS. if ( $asset_css_file_size > 8000 ) { $asset_url = $this->get_config_data( 'file_url' ); $widget_css = sprintf( '', $asset_url ); } else { $widget_css = $this->get_file_data( 'content' ); $widget_css = sprintf( '', $widget_css ); } } return $widget_css; } } core/page-assets/data-managers/base.php000064400000015714152377341010014052 0ustar00assets_config['key']; } /** * Get Relative Version. * * The asset data will be re-evaluated according the version number. * * @since 3.3.0 * @access protected * * @return string */ protected function get_version() { return $this->assets_config['version']; } /** * Get Asset Path. * * The asset data will be extracted from the file path. * * @since 3.3.0 * @access protected * * @return string */ protected function get_file_path() { return $this->assets_config['file_path']; } /** * Get Config Data. * * Holds a unique data relevant for the specific assets category type. * * @since 3.3.0 * @access protected * * @return string|array */ protected function get_config_data( $key = '' ) { if ( isset( $this->assets_config['data'] ) ) { if ( $key ) { if ( isset( $this->assets_config['data'][ $key ] ) ) { return $this->assets_config['data'][ $key ]; } return ''; } return $this->assets_config['data']; } return []; } /** * Set Asset Data. * * Responsible for setting the current asset data. * * @since 3.3.0 * @access protected * * @return void */ protected function set_asset_data( $asset_key ) { if ( ! isset( $this->assets_data[ $asset_key ] ) ) { $this->assets_data[ $asset_key ] = []; } $this->assets_data[ $asset_key ]['content'] = $this->get_asset_content(); $this->assets_data[ $asset_key ]['version'] = $this->get_version(); $this->save_asset_data( $asset_key ); } /** * Save Asset Data. * * Responsible for saving the asset data in the DB. * * @since 3.3.0 * @access protected * * @param string $asset_key * * @return void */ protected function save_asset_data( $asset_key ) { $assets_data = $this->get_saved_assets_data(); $content_type = $this->content_type; $assets_category = $this->assets_category; $assets_data[ $content_type ][ $assets_category ][ $asset_key ] = $this->assets_data[ $asset_key ]; update_option( self::ASSETS_DATA_KEY, $assets_data ); } /** * Is Asset Version Changed. * * Responsible for comparing the saved asset data version to the current relative version. * * @since 3.3.0 * @access protected * * @param string $asset_key * * @return boolean */ protected function is_asset_version_changed( $version ) { return $this->get_version() !== $version; } /** * Get File Data. * * Getting a file content or size. * * @since 3.3.0 * @access protected * * @param string $data_type (content|size) * @param string $file_key - In case that the same file data is needed for multiple assets (like a JSON file), the file data key should be the same for all shared assets to make sure that the file is being read only once. * * @return string|number */ protected function get_file_data( $data_type, $file_key = '' ) { $asset_key = $file_key ? $file_key : $this->get_key(); if ( isset( $this->files_data[ $asset_key ][ $data_type ] ) ) { return $this->files_data[ $asset_key ][ $data_type ]; } if ( ! isset( $this->files_data[ $asset_key ] ) ) { $this->files_data[ $asset_key ] = []; } $asset_path = $this->get_file_path(); if ( 'content' === $data_type ) { $data = Utils::file_get_contents( $asset_path ); if ( ! $data ) { $data = ''; } } elseif ( 'size' === $data_type ) { $data = file_exists( $asset_path ) ? filesize( $asset_path ) : 0; } $this->files_data[ $asset_key ][ $data_type ] = $data; return $data; } /** * Get Saved Assets Data. * * Getting the assets data from the DB. * * @since 3.3.0 * @access protected * * @return array */ protected function get_saved_assets_data() { $assets_data = get_option( self::ASSETS_DATA_KEY, [] ); $content_type = $this->content_type; $assets_category = $this->assets_category; if ( ! isset( $assets_data[ $content_type ] ) ) { $assets_data[ $content_type ] = []; } if ( ! isset( $assets_data[ $content_type ][ $assets_category ] ) ) { $assets_data[ $content_type ][ $assets_category ] = []; } return $assets_data; } /** * Get Config. * * Getting the assets data config. * * @since 3.5.0 * @access protected * * @return array */ protected function get_config( $data ) { return []; } /** * Init Asset Data. * * Initialize the asset data and handles the asset content updates when needed. * * @since 3.3.0 * @access public * * @param array $config { * @type string 'key' * @type string 'version' * @type string 'file_path' * @type array 'data' * } * * @return void */ public function init_asset_data( $config ) { $this->assets_config = $config; $asset_key = $config['key']; $asset_data = isset( $this->assets_data[ $asset_key ] ) ? $this->assets_data[ $asset_key ] : []; if ( ! $asset_data || $this->is_asset_version_changed( $asset_data['version'] ) ) { $this->set_asset_data( $asset_key ); } } /** * Get Asset Data From Config. * * Getting the asset data content from config. * * @since 3.3.0 * @access public * * @param array $config { * @type string 'key' * @type string 'version' * @type string 'file_path' * @type array 'data' * } * * @return mixed */ public function get_asset_data_from_config( array $config ) { $this->init_asset_data( $config ); $asset_key = $config['key']; return $this->assets_data[ $asset_key ]['content']; } /** * Get Asset Data. * * Getting the asset data content. * * @since 3.5.0 * @access public * * @param array $data * * @return mixed */ public function get_asset_data( array $data ) { $config = $this->get_config( $data ); return $this->get_asset_data_from_config( $config ); } public function __construct() { $assets_data = $this->get_saved_assets_data(); $content_type = $this->content_type; $assets_category = $this->assets_category; $this->assets_data = $assets_data[ $content_type ][ $assets_category ]; } } core/page-assets/data-managers/font-icon-svg/base.php000064400000000673152377341010016541 0ustar00 $icon_key, 'version' => self::LIBRARY_CURRENT_VERSION, 'file_path' => ELEMENTOR_ASSETS_PATH . 'lib/font-awesome/json/' . $icon_file_name . '.json', 'data' => [ 'icon_data' => [ 'name' => $icon_name, 'library' => $icon['library'], ], ], ]; } protected function get_asset_content() { $icon_data = $this->get_config_data( 'icon_data' ); $file_data = json_decode( $this->get_file_data( 'content', $icon_data['library'] ), true ); $icon_name = $icon_data['name']; $svg_data = $file_data['icons'][ $icon_name ]; return [ 'width' => $svg_data[0], 'height' => $svg_data[1], 'path' => $svg_data[4], 'key' => $this->get_key(), ]; } } core/page-assets/data-managers/font-icon-svg/manager.php000064400000002064152377341010017235 0ustar00 [ 'regex' => '/^fa-/', 'manager' => new Font_Awesome(), ], 'eicons' => [ 'regex' => '/^eicons$/', 'manager' => new E_Icons(), ], ]; } return self::$data; } public static function get_font_icon_svg_data( $icon ) { $data = self::get_data(); $font_family = $icon['font_family']; $font_family_manager = $data[ $font_family ]['manager']; return $font_family_manager->get_asset_data( $icon ); } public static function get_font_family( $icon_library ) { foreach ( self::get_data() as $family => $data ) { if ( preg_match( $data['regex'], $icon_library ) ) { return $family; } } return ''; } } core/page-assets/data-managers/font-icon-svg/e-icons.php000064400000002011152377341010017150 0ustar00 $icon['value'], 'version' => self::LIBRARY_CURRENT_VERSION, 'file_path' => ELEMENTOR_ASSETS_PATH . 'lib/eicons/eicons.json', 'data' => [ 'icon_data' => [ 'name' => $icon['value'], 'library' => $icon['library'], ], ], ]; } protected function get_asset_content() { $icon_data = $this->get_config_data( 'icon_data' ); $file_data = json_decode( $this->get_file_data( 'content', $icon_data['library'] ), true ); $icon_name = str_replace( 'eicon-', '', $icon_data['name'] ); $svg_data = $file_data[ $icon_name ]; return [ 'width' => $svg_data['width'], 'height' => $svg_data['height'], 'path' => $svg_data['path'], 'key' => $this->get_key(), ]; } } core/page-assets/data-managers/responsive-widgets.php000064400000001153152377341010016771 0ustar00get_file_data( 'content' ); if ( $data ) { $data = json_decode( $data, true ); } return $data; } } core/files/css/post-preview.php000064400000002375152377341010012555 0ustar00post_id_for_data = $post_id; $parent_id = wp_get_post_parent_id( $post_id ); parent::__construct( $parent_id ); } protected function get_post_id_for_data() { return $this->post_id_for_data; } /** * Get file handle ID. * * Retrieve the handle ID for the previewed post CSS file. * * @since 1.9.0 * @access protected * * @return string CSS file handle ID. */ protected function get_file_handle_id() { return 'elementor-preview-' . $this->get_post_id_for_data(); } } core/files/css/global-css.php000064400000007670152377341010012142 0ustar00render_schemes_and_globals_css(); } /** * Get inline dependency. * * Retrieve the name of the stylesheet used by `wp_add_inline_style()`. * * @since 1.2.0 * @access protected * * @return string Name of the stylesheet. */ protected function get_inline_dependency() { return 'elementor-frontend'; } /** * Is update required. * * Whether the CSS requires an update. When there are new schemes or settings * updates. * * @since 1.2.0 * @access protected * * @return bool True if the CSS requires an update, False otherwise. */ protected function is_update_required() { return $this->get_meta( 'time' ) < get_option( Settings::UPDATE_TIME_FIELD ); } /** * Render schemes CSS. * * Parse the CSS for all the widgets and all the scheme controls. * * @since 1.2.0 * @access private */ private function render_schemes_and_globals_css() { $elementor = Plugin::$instance; /** @var Manager $module */ $kits_manager = Plugin::$instance->kits_manager; $custom_colors_enabled = $kits_manager->is_custom_colors_enabled(); $custom_typography_enabled = $kits_manager->is_custom_typography_enabled(); // If both default colors and typography are disabled, there is no need to render schemes and default global css. if ( ! $custom_colors_enabled && ! $custom_typography_enabled ) { return; } foreach ( $elementor->widgets_manager->get_widget_types() as $widget ) { $controls = $widget->get_controls(); $global_controls = []; $global_values['__globals__'] = []; foreach ( $controls as $control ) { $is_color_control = 'color' === $control['type']; $is_typography_control = isset( $control['groupType'] ) && 'typography' === $control['groupType']; // If it is a color/typography control and default colors/typography are disabled, // don't add the default CSS. if ( ( $is_color_control && ! $custom_colors_enabled ) || ( $is_typography_control && ! $custom_typography_enabled ) ) { continue; } $global_control = $control; // Handle group controls that don't have a default global property. if ( ! empty( $control['groupType'] ) ) { $global_control = $controls[ $control['groupPrefix'] . $control['groupType'] ]; } // If the control has a default global defined, add it to the globals array // that is used in add_control_rules. if ( ! empty( $control['global']['default'] ) ) { $global_values['__globals__'][ $control['name'] ] = $global_control['global']['default']; } if ( ! empty( $global_control['global']['default'] ) ) { $global_controls[] = $control; } } foreach ( $global_controls as $control ) { $this->add_control_rules( $control, $controls, function( $control ) {}, [ '{{WRAPPER}}' ], [ '.elementor-widget-' . $widget->get_name() ], $global_values ); } } } } core/files/css/base.php000064400000060364152377341010011025 0ustar00update_file(); $meta = $this->get_meta(); $meta['time'] = time(); $content = $this->get_content(); if ( empty( $content ) ) { $meta['status'] = self::CSS_STATUS_EMPTY; $meta['css'] = ''; } else { $use_external_file = $this->use_external_file(); if ( $use_external_file ) { $meta['status'] = self::CSS_STATUS_FILE; } else { $meta['status'] = self::CSS_STATUS_INLINE; $meta['css'] = $content; } } $meta['dynamic_elements_ids'] = $this->dynamic_elements_ids; $this->update_meta( $meta ); } /** * @since 2.1.0 * @access public */ public function write() { if ( $this->use_external_file() ) { parent::write(); } } /** * @since 3.0.0 * @access public */ public function delete() { if ( $this->use_external_file() ) { parent::delete(); } else { $this->delete_meta(); } } /** * Get Responsive Control Duplication Mode * * @since 3.4.0 * * @return string */ protected function get_responsive_control_duplication_mode() { return 'on'; } /** * Enqueue CSS. * * Either enqueue the CSS file in Elementor or add inline style. * * This method is also responsible for loading the fonts. * * @since 1.2.0 * @access public */ public function enqueue() { $handle_id = $this->get_file_handle_id(); if ( isset( self::$printed[ $handle_id ] ) ) { return; } self::$printed[ $handle_id ] = true; $meta = $this->get_meta(); if ( self::CSS_STATUS_EMPTY === $meta['status'] ) { return; } // First time after clear cache and etc. if ( '' === $meta['status'] || $this->is_update_required() ) { $this->update(); $meta = $this->get_meta(); } if ( self::CSS_STATUS_INLINE === $meta['status'] ) { $dep = $this->get_inline_dependency(); // If the dependency has already been printed ( like a template in footer ) if ( wp_styles()->query( $dep, 'done' ) ) { printf( '', $this->get_file_handle_id(), $meta['css'] ); // XSS ok. } else { wp_add_inline_style( $dep, $meta['css'] ); } } elseif ( self::CSS_STATUS_FILE === $meta['status'] ) { // Re-check if it's not empty after CSS update. wp_enqueue_style( $this->get_file_handle_id(), $this->get_url(), $this->get_enqueue_dependencies(), null ); // phpcs:ignore WordPress.WP.EnqueuedResourceParameters.MissingVersion } // Handle fonts. if ( ! empty( $meta['fonts'] ) ) { foreach ( $meta['fonts'] as $font ) { Plugin::$instance->frontend->enqueue_font( $font ); } } if ( ! empty( $meta['icons'] ) ) { $icons_types = Icons_Manager::get_icon_manager_tabs(); foreach ( $meta['icons'] as $icon_font ) { if ( ! isset( $icons_types[ $icon_font ] ) ) { continue; } Plugin::$instance->frontend->enqueue_font( $icon_font ); } } $name = $this->get_name(); /** * Enqueue CSS file. * * Fires when CSS file is enqueued on Elementor. * * The dynamic portion of the hook name, `$name`, refers to the CSS file name. * * @since 2.0.0 * * @param Base $this The current CSS file. */ do_action( "elementor/css-file/{$name}/enqueue", $this ); } /** * Print CSS. * * Output the final CSS inside the `'; // XSS ok. Plugin::$instance->frontend->print_fonts_links(); } /** * Add control rules. * * Parse the CSS for all the elements inside any given control. * * This method recursively renders the CSS for all the selectors in the control. * * @since 1.2.0 * @access public * * @param array $control The controls. * @param array $controls_stack The controls stack. * @param callable $value_callback Callback function for the value. * @param array $placeholders Placeholders. * @param array $replacements Replacements. * @param array $values Global Values. */ public function add_control_rules( array $control, array $controls_stack, callable $value_callback, array $placeholders, array $replacements, array $values = [] ) { if ( empty( $control['selectors'] ) ) { return; } $control_global_key = $control['name']; if ( ! empty( $control['groupType'] ) ) { $control_global_key = $control['groupPrefix'] . $control['groupType']; } $global_values = []; $global_key = ''; if ( ! empty( $values['__globals__'] ) ) { $global_values = $values['__globals__']; } if ( ! empty( $global_values[ $control_global_key ] ) ) { $global_key = $global_values[ $control_global_key ]; } if ( ! $global_key ) { $value = call_user_func( $value_callback, $control ); if ( null === $value ) { return; } } $stylesheet = $this->get_stylesheet(); foreach ( $control['selectors'] as $selector => $css_property ) { $output_css_property = ''; if ( $global_key ) { $selector_global_value = $this->get_selector_global_value( $control, $global_key ); if ( $selector_global_value ) { $output_css_property = preg_replace( '/(:)[^;]+(;?)/', '$1' . $selector_global_value . '$2', $css_property ); } } else { try { $output_css_property = preg_replace_callback( '/{{(?:([^.}]+)\.)?([^}| ]*)(?: *\|\| *(?:([^.}]+)\.)?([^}| ]*) *)*}}/', function( $matches ) use ( $control, $value_callback, $controls_stack, $value, $css_property ) { $external_control_missing = $matches[1] && ! isset( $controls_stack[ $matches[1] ] ); $parsed_value = ''; if ( ! $external_control_missing ) { $parsed_value = $this->parse_property_placeholder( $control, $value, $controls_stack, $value_callback, $matches[2], $matches[1] ); } if ( '' === $parsed_value ) { if ( isset( $matches[4] ) ) { $parsed_value = $matches[4]; $is_string_value = preg_match( '/^([\'"])(.*)\1$/', $parsed_value, $string_matches ); if ( $is_string_value ) { $parsed_value = $string_matches[2]; } elseif ( ! is_numeric( $parsed_value ) ) { if ( $matches[3] && ! isset( $controls_stack[ $matches[3] ] ) ) { return ''; } $parsed_value = $this->parse_property_placeholder( $control, $value, $controls_stack, $value_callback, $matches[4], $matches[3] ); } } if ( '' === $parsed_value ) { if ( $external_control_missing ) { return ''; } throw new \Exception(); } } return $parsed_value; }, $css_property ); } catch ( \Exception $e ) { return; } } if ( ! $output_css_property ) { continue; } $device_pattern = '/^(?:\([^\)]+\)){1,2}/'; preg_match( $device_pattern, $selector, $device_rules ); $query = []; if ( $device_rules ) { $selector = preg_replace( $device_pattern, '', $selector ); preg_match_all( '/\(([^)]+)\)/', $device_rules[0], $pure_device_rules ); $pure_device_rules = $pure_device_rules[1]; foreach ( $pure_device_rules as $device_rule ) { if ( Breakpoints_Manager::BREAKPOINT_KEY_DESKTOP === $device_rule ) { continue; } $device = preg_replace( '/\+$/', '', $device_rule ); $endpoint = $device === $device_rule ? 'max' : 'min'; $query[ $endpoint ] = $device; } } $parsed_selector = str_replace( $placeholders, $replacements, $selector ); if ( ! $query && ! empty( $control['responsive'] ) ) { $query = array_intersect_key( $control['responsive'], array_flip( [ 'min', 'max' ] ) ); if ( ! empty( $query['max'] ) && Breakpoints_Manager::BREAKPOINT_KEY_DESKTOP === $query['max'] ) { unset( $query['max'] ); } } $stylesheet->add_rules( $parsed_selector, $output_css_property, $query ); } } /** * @param array $control * @param mixed $value * @param array $controls_stack * @param callable $value_callback * @param string $placeholder * @param string $parser_control_name * * @return string */ public function parse_property_placeholder( array $control, $value, array $controls_stack, $value_callback, $placeholder, $parser_control_name = null ) { if ( $parser_control_name ) { $control = $controls_stack[ $parser_control_name ]; $value = call_user_func( $value_callback, $control ); } if ( Controls_Manager::FONT === $control['type'] ) { $this->fonts[] = $value; } /** @var Base_Data_Control $control_obj */ $control_obj = Plugin::$instance->controls_manager->get_control( $control['type'] ); return (string) $control_obj->get_style_value( $placeholder, $value, $control ); } /** * Get the fonts. * * Retrieve the list of fonts. * * @since 1.9.0 * @access public * * @return array Fonts. */ public function get_fonts() { return $this->fonts; } /** * Get stylesheet. * * Retrieve the CSS file stylesheet instance. * * @since 1.2.0 * @access public * * @return Stylesheet The stylesheet object. */ public function get_stylesheet() { if ( ! $this->stylesheet_obj ) { $this->init_stylesheet(); } return $this->stylesheet_obj; } /** * Add controls stack style rules. * * Parse the CSS for all the elements inside any given controls stack. * * This method recursively renders the CSS for all the child elements in the stack. * * @since 1.6.0 * @access public * * @param Controls_Stack $controls_stack The controls stack. * @param array $controls Controls array. * @param array $values Values array. * @param array $placeholders Placeholders. * @param array $replacements Replacements. * @param array $all_controls All controls. */ public function add_controls_stack_style_rules( Controls_Stack $controls_stack, array $controls, array $values, array $placeholders, array $replacements, array $all_controls = null ) { if ( ! $all_controls ) { $all_controls = $controls_stack->get_controls(); } $parsed_dynamic_settings = $controls_stack->parse_dynamic_settings( $values, $controls ); foreach ( $controls as $control ) { if ( ! empty( $control['style_fields'] ) ) { $this->add_repeater_control_style_rules( $controls_stack, $control, $values[ $control['name'] ], $placeholders, $replacements ); } if ( ! empty( $control[ Manager::DYNAMIC_SETTING_KEY ][ $control['name'] ] ) ) { $this->add_dynamic_control_style_rules( $control, $control[ Manager::DYNAMIC_SETTING_KEY ][ $control['name'] ] ); } if ( Controls_Manager::ICONS === $control['type'] ) { $this->icons_fonts[] = $values[ $control['name'] ]['library']; } if ( ! empty( $parsed_dynamic_settings[ Manager::DYNAMIC_SETTING_KEY ][ $control['name'] ] ) ) { // Dynamic CSS should not be added to the CSS files. // Instead it's handled by \Elementor\Core\DynamicTags\Dynamic_CSS // and printed in a style tag. unset( $parsed_dynamic_settings[ $control['name'] ] ); $this->dynamic_elements_ids[] = $controls_stack->get_id(); continue; } if ( empty( $control['selectors'] ) ) { continue; } $this->add_control_style_rules( $control, $parsed_dynamic_settings, $all_controls, $placeholders, $replacements ); } } /** * Get file handle ID. * * Retrieve the file handle ID. * * @since 1.2.0 * @access protected * @abstract * * @return string CSS file handle ID. */ abstract protected function get_file_handle_id(); /** * Render CSS. * * Parse the CSS. * * @since 1.2.0 * @access protected * @abstract */ abstract protected function render_css(); protected function get_default_meta() { return array_merge( parent::get_default_meta(), [ 'fonts' => array_unique( $this->fonts ), 'icons' => array_unique( $this->icons_fonts ), 'dynamic_elements_ids' => [], 'status' => '', ] ); } /** * Get enqueue dependencies. * * Retrieve the name of the stylesheet used by `wp_enqueue_style()`. * * @since 1.2.0 * @access protected * * @return array Name of the stylesheet. */ protected function get_enqueue_dependencies() { return []; } /** * Get inline dependency. * * Retrieve the name of the stylesheet used by `wp_add_inline_style()`. * * @since 1.2.0 * @access protected * * @return string Name of the stylesheet. */ protected function get_inline_dependency() { return ''; } /** * Is update required. * * Whether the CSS requires an update. When there are new schemes or settings * updates. * * @since 1.2.0 * @access protected * * @return bool True if the CSS requires an update, False otherwise. */ protected function is_update_required() { return false; } /** * Parse CSS. * * Parsing the CSS file. * * @since 1.2.0 * @access protected */ protected function parse_content() { $initial_responsive_controls_duplication_mode = Plugin::$instance->breakpoints->get_responsive_control_duplication_mode(); Plugin::$instance->breakpoints->set_responsive_control_duplication_mode( $this->get_responsive_control_duplication_mode() ); $this->render_css(); $name = $this->get_name(); /** * Parse CSS file. * * Fires when CSS file is parsed on Elementor. * * The dynamic portion of the hook name, `$name`, refers to the CSS file name. * * @since 2.0.0 * * @param Base $this The current CSS file. */ do_action( "elementor/css-file/{$name}/parse", $this ); Plugin::$instance->breakpoints->set_responsive_control_duplication_mode( $initial_responsive_controls_duplication_mode ); return $this->get_stylesheet()->__toString(); } /** * Add control style rules. * * Register new style rules for the control. * * @since 1.6.0 * @access private * * @param array $control The control. * @param array $values Values array. * @param array $controls The controls stack. * @param array $placeholders Placeholders. * @param array $replacements Replacements. */ protected function add_control_style_rules( array $control, array $values, array $controls, array $placeholders, array $replacements ) { $this->add_control_rules( $control, $controls, function( $control ) use ( $values ) { return $this->get_style_control_value( $control, $values ); }, $placeholders, $replacements, $values ); } /** * Get style control value. * * Retrieve the value of the style control for any give control and values. * * It will retrieve the control name and return the style value. * * @since 1.6.0 * @access private * * @param array $control The control. * @param array $values Values array. * * @return mixed Style control value. */ private function get_style_control_value( array $control, array $values ) { if ( ! empty( $values['__globals__'][ $control['name'] ] ) ) { // When the control itself has no global value, but it refers to another control global value return $this->get_selector_global_value( $control, $values['__globals__'][ $control['name'] ] ); } $value = $values[ $control['name'] ]; if ( isset( $control['selectors_dictionary'][ $value ] ) ) { $value = $control['selectors_dictionary'][ $value ]; } if ( ! is_numeric( $value ) && ! is_float( $value ) && empty( $value ) ) { return null; } return $value; } /** * Init stylesheet. * * Initialize CSS file stylesheet by creating a new `Stylesheet` object and register new * breakpoints for the stylesheet. * * @since 1.2.0 * @access private */ private function init_stylesheet() { $this->stylesheet_obj = new Stylesheet(); $active_breakpoints = Plugin::$instance->breakpoints->get_active_breakpoints(); foreach ( $active_breakpoints as $breakpoint_name => $breakpoint ) { $this->stylesheet_obj->add_device( $breakpoint_name, $breakpoint->get_value() ); } } /** * Add repeater control style rules. * * Register new style rules for the repeater control. * * @since 2.0.0 * @access private * * @param Controls_Stack $controls_stack The control stack. * @param array $repeater_control The repeater control. * @param array $repeater_values Repeater values array. * @param array $placeholders Placeholders. * @param array $replacements Replacements. */ protected function add_repeater_control_style_rules( Controls_Stack $controls_stack, array $repeater_control, array $repeater_values, array $placeholders, array $replacements ) { $placeholders = array_merge( $placeholders, [ '{{CURRENT_ITEM}}' ] ); foreach ( $repeater_control['style_fields'] as $index => $item ) { $this->add_controls_stack_style_rules( $controls_stack, $item, $repeater_values[ $index ], $placeholders, array_merge( $replacements, [ '.elementor-repeater-item-' . $repeater_values[ $index ]['_id'] ] ), $repeater_control['fields'] ); } } /** * Add dynamic control style rules. * * Register new style rules for the dynamic control. * * @since 2.0.0 * @access private * * @param array $control The control. * @param string $value The value. */ protected function add_dynamic_control_style_rules( array $control, $value ) { Plugin::$instance->dynamic_tags->parse_tags_text( $value, $control, function( $id, $name, $settings ) { $tag = Plugin::$instance->dynamic_tags->create_tag( $id, $name, $settings ); if ( ! $tag instanceof Tag ) { return; } $this->add_controls_stack_style_rules( $tag, $this->get_style_controls( $tag ), $tag->get_active_settings(), [ '{{WRAPPER}}' ], [ '#elementor-tag-' . $id ] ); } ); } private function get_selector_global_value( $control, $global_key ) { $data = Plugin::$instance->data_manager_v2->run( $global_key ); if ( empty( $data['value'] ) ) { return null; } $global_args = explode( '?id=', $global_key ); $id = $global_args[1]; if ( ! empty( $control['groupType'] ) ) { $strings_to_replace = [ $control['groupPrefix'] ]; $active_breakpoint_keys = array_keys( Plugin::$instance->breakpoints->get_active_breakpoints() ); foreach ( $active_breakpoint_keys as $breakpoint ) { $strings_to_replace[] = '_' . $breakpoint; } $property_name = str_replace( $strings_to_replace, '', $control['name'] ); // TODO: This check won't retrieve the proper answer for array values (multiple controls). if ( empty( $data['value'][ Global_Typography::TYPOGRAPHY_GROUP_PREFIX . $property_name ] ) ) { return null; } $property_name = str_replace( '_', '-', $property_name ); $value = "var( --e-global-$control[groupType]-$id-$property_name )"; if ( $control['groupPrefix'] . 'font_family' === $control['name'] ) { $default_generic_fonts = Plugin::$instance->kits_manager->get_current_settings( 'default_generic_fonts' ); if ( $default_generic_fonts ) { $value .= ", $default_generic_fonts"; } } } else { $value = "var( --e-global-$control[type]-$id )"; } return $value; } final protected function get_active_controls( Controls_Stack $controls_stack, array $controls = null, array $settings = null ) { if ( ! $controls ) { $controls = $controls_stack->get_controls(); } if ( ! $settings ) { $settings = $controls_stack->get_controls_settings(); } if ( $this->is_global_parsing_supported() ) { $settings = $this->parse_global_settings( $settings, $controls ); } $active_controls = array_reduce( array_keys( $controls ), function( $active_controls, $control_key ) use ( $controls_stack, $controls, $settings ) { $control = $controls[ $control_key ]; if ( $controls_stack->is_control_visible( $control, $settings ) ) { $active_controls[ $control_key ] = $control; } return $active_controls; }, [] ); return $active_controls; } final public function get_style_controls( Controls_Stack $controls_stack, array $controls = null, array $settings = null ) { $controls = $this->get_active_controls( $controls_stack, $controls, $settings ); $style_controls = []; foreach ( $controls as $control_name => $control ) { $control_obj = Plugin::$instance->controls_manager->get_control( $control['type'] ); if ( ! $control_obj instanceof Base_Data_Control ) { continue; } $control = array_merge( $control_obj->get_settings(), $control ); if ( $control_obj instanceof Control_Repeater ) { $style_fields = []; foreach ( $controls_stack->get_settings( $control_name ) as $item ) { $style_fields[] = $this->get_style_controls( $controls_stack, $control['fields'], $item ); } $control['style_fields'] = $style_fields; } if ( ! empty( $control['selectors'] ) || ! empty( $control['dynamic'] ) || $this->is_global_control( $controls_stack, $control_name, $controls ) || ! empty( $control['style_fields'] ) ) { $style_controls[ $control_name ] = $control; } } return $style_controls; } private function parse_global_settings( array $settings, array $controls ) { foreach ( $controls as $control ) { $control_name = $control['name']; $control_obj = Plugin::$instance->controls_manager->get_control( $control['type'] ); if ( ! $control_obj instanceof Base_Data_Control ) { continue; } if ( $control_obj instanceof Control_Repeater ) { foreach ( $settings[ $control_name ] as & $field ) { $field = $this->parse_global_settings( $field, $control['fields'] ); } continue; } if ( empty( $control['global']['active'] ) ) { continue; } if ( empty( $settings['__globals__'][ $control_name ] ) ) { continue; } $settings[ $control_name ] = 'global'; } return $settings; } private function is_global_control( Controls_Stack $controls_stack, $control_name, $controls ) { $control = $controls[ $control_name ]; $control_global_key = $control_name; if ( ! empty( $control['groupType'] ) ) { $control_global_key = $control['groupPrefix'] . $control['groupType']; } if ( empty( $controls[ $control_global_key ]['global']['active'] ) ) { return false; } $globals = $controls_stack->get_settings( '__globals__' ); return ! empty( $globals[ $control_global_key ] ); } } core/files/css/post-local-cache.php000064400000001366152377341010013226 0ustar00meta_cache; } protected function delete_meta() { $this->meta_cache = []; } protected function update_meta( $meta ) { $this->meta_cache = $meta; } protected function get_data() { $document = Plugin::$instance->documents->get( $this->get_post_id_for_data() ); return $document ? $document->get_elements_data() : []; } } core/files/css/post.php000064400000015341152377341010011073 0ustar00post_id = $post_id; parent::__construct( static::FILE_PREFIX . $post_id . '.css' ); } /** * Get CSS file name. * * Retrieve the CSS file name. * * @since 1.6.0 * @access public * * @return string CSS file name. */ public function get_name() { return 'post'; } /** * Get post ID. * * Retrieve the ID of current post. * * @since 1.2.0 * @access public * * @return int Post ID. */ public function get_post_id() { return $this->post_id; } /** * Get unique element selector. * * Retrieve the unique selector for any given element. * * @since 1.2.0 * @access public * * @param Element_Base $element The element. * * @return string Unique element selector. */ public function get_element_unique_selector( Element_Base $element ) { return '.elementor-' . $this->post_id . ' .elementor-element' . $element->get_unique_selector(); } /** * Load meta data. * * Retrieve the post CSS file meta data. * * @since 1.2.0 * @access protected * * @return array Post CSS file meta data. */ protected function load_meta() { return get_post_meta( $this->post_id, static::META_KEY, true ); } /** * Update meta data. * * Update the global CSS file meta data. * * @since 1.2.0 * @access protected * * @param array $meta New meta data. */ protected function update_meta( $meta ) { update_post_meta( $this->post_id, static::META_KEY, $meta ); } /** * Delete meta. * * Delete the file meta data. * * @since 2.1.0 * @access protected */ protected function delete_meta() { delete_post_meta( $this->post_id, static::META_KEY ); } /** * Get post data. * * Retrieve raw post data from the database. * * @since 1.9.0 * @access protected * * @return array Post data. */ protected function get_data() { $document = Plugin::$instance->documents->get( $this->post_id ); return $document ? $document->get_elements_data() : []; } /** * Render CSS. * * Parse the CSS for all the elements. * * @since 1.2.0 * @access protected */ protected function render_css() { $data = $this->get_data(); if ( ! empty( $data ) ) { foreach ( $data as $element_data ) { $element = Plugin::$instance->elements_manager->create_element_instance( $element_data ); if ( ! $element ) { continue; } $this->render_styles( $element ); } } } /** * Enqueue CSS. * * Enqueue the post CSS file in Elementor. * * This method ensures that the post was actually built with elementor before * enqueueing the post CSS file. * * @since 1.2.2 * @access public */ public function enqueue() { $document = Plugin::$instance->documents->get( $this->post_id ); if ( ! $document || ! $document->is_built_with_elementor() ) { return; } parent::enqueue(); } /** * Add controls-stack style rules. * * Parse the CSS for all the elements inside any given controls stack. * * This method recursively renders the CSS for all the child elements in the stack. * * @since 1.6.0 * @access public * * @param Controls_Stack $controls_stack The controls stack. * @param array $controls Controls array. * @param array $values Values array. * @param array $placeholders Placeholders. * @param array $replacements Replacements. * @param array $all_controls All controls. */ public function add_controls_stack_style_rules( Controls_Stack $controls_stack, array $controls, array $values, array $placeholders, array $replacements, array $all_controls = null ) { parent::add_controls_stack_style_rules( $controls_stack, $controls, $values, $placeholders, $replacements, $all_controls ); if ( $controls_stack instanceof Element_Base ) { foreach ( $controls_stack->get_children() as $child_element ) { $this->render_styles( $child_element ); } } } /** * Get enqueue dependencies. * * Retrieve the name of the stylesheet used by `wp_enqueue_style()`. * * @since 1.2.0 * @access protected * * @return array Name of the stylesheet. */ protected function get_enqueue_dependencies() { return [ 'elementor-frontend' ]; } /** * Get inline dependency. * * Retrieve the name of the stylesheet used by `wp_add_inline_style()`. * * @since 1.2.0 * @access protected * * @return string Name of the stylesheet. */ protected function get_inline_dependency() { return 'elementor-frontend'; } /** * Get file handle ID. * * Retrieve the handle ID for the post CSS file. * * @since 1.2.0 * @access protected * * @return string CSS file handle ID. */ protected function get_file_handle_id() { return 'elementor-post-' . $this->post_id; } /** * Render styles. * * Parse the CSS for any given element. * * @since 1.2.0 * @access protected * * @param Element_Base $element The element. */ protected function render_styles( Element_Base $element ) { /** * Before element parse CSS. * * Fires before the CSS of the element is parsed. * * @since 1.2.0 * * @param Post $this The post CSS file. * @param Element_Base $element The element. */ do_action( 'elementor/element/before_parse_css', $this, $element ); $element_settings = $element->get_settings(); $this->add_controls_stack_style_rules( $element, $this->get_style_controls( $element, null, $element->get_parsed_dynamic_settings() ), $element_settings, [ '{{ID}}', '{{WRAPPER}}' ], [ $element->get_id(), $this->get_element_unique_selector( $element ) ] ); /** * After element parse CSS. * * Fires after the CSS of the element is parsed. * * @since 1.2.0 * * @param Post $this The post CSS file. * @param Element_Base $element The element. */ do_action( 'elementor/element/parse_css', $this, $element ); } } core/files/file-types/svg.php000064400000044142152377341010012177 0ustar00is_encoded( $original_content ); if ( $is_encoded ) { $decoded = $this->decode_svg( $original_content ); if ( false === $decoded ) { return false; } $original_content = $decoded; } $valid_svg = $this->sanitizer( $original_content ); if ( false === $valid_svg ) { return false; } // If we were gzipped, we need to re-zip if ( $is_encoded ) { $valid_svg = $this->encode_svg( $valid_svg ); } file_put_contents( $filename, $valid_svg ); return true; } /** * Validate File * * @since 3.3.0 * @access public * * @param $file * @return bool|\WP_Error */ public function validate_file( $file ) { if ( ! $this->sanitize_svg( $file['tmp_name'] ) ) { return new \WP_Error( Exceptions::FORBIDDEN, esc_html__( 'This file is not allowed for security reasons.', 'elementor' ) ); } return true; } /** * Sanitizer * * @since 3.5.0 * @access public * * @param $content * @return bool|string */ public function sanitizer( $content ) { // Strip php tags $content = $this->strip_comments( $content ); $content = $this->strip_php_tags( $content ); $content = $this->strip_line_breaks( $content ); // Find the start and end tags so we can cut out miscellaneous garbage. $start = strpos( $content, '' ); if ( false === $start || false === $end ) { return false; } $content = substr( $content, $start, ( $end - $start + 6 ) ); // If the server's PHP version is 8 or up, make sure to Disable the ability to load external entities $php_version_under_eight = version_compare( PHP_VERSION, '8.0.0', '<' ); if ( $php_version_under_eight ) { $libxml_disable_entity_loader = libxml_disable_entity_loader( true ); // phpcs:ignore Generic.PHP.DeprecatedFunctions.Deprecated } // Suppress the errors $libxml_use_internal_errors = libxml_use_internal_errors( true ); // Create DomDocument instance $this->svg_dom = new \DOMDocument(); $this->svg_dom->formatOutput = false; $this->svg_dom->preserveWhiteSpace = false; $this->svg_dom->strictErrorChecking = false; $open_svg = $this->svg_dom->loadXML( $content ); if ( ! $open_svg ) { return false; } $this->strip_doctype(); $this->sanitize_elements(); // Export sanitized svg to string // Using documentElement to strip out svg_dom->saveXML( $this->svg_dom->documentElement, LIBXML_NOEMPTYTAG ); // Restore defaults if ( $php_version_under_eight ) { libxml_disable_entity_loader( $libxml_disable_entity_loader ); // phpcs:ignore Generic.PHP.DeprecatedFunctions.Deprecated } libxml_use_internal_errors( $libxml_use_internal_errors ); return $sanitized; } /** * WP Prepare Attachment For J * * Runs on the `wp_prepare_attachment_for_js` filter. * * @since 3.5.0 * @access public * * @param $attachment_data * @param $attachment * @param $meta * * @return mixed */ public function wp_prepare_attachment_for_js( $attachment_data, $attachment, $meta ) { if ( 'image' !== $attachment_data['type'] || 'svg+xml' !== $attachment_data['subtype'] || ! class_exists( 'SimpleXMLElement' ) ) { return $attachment_data; } $svg = self::get_inline_svg( $attachment->ID ); if ( ! $svg ) { return $attachment_data; } try { $svg = new \SimpleXMLElement( $svg ); } catch ( \Exception $e ) { return $attachment_data; } $src = $attachment_data['url']; $width = (int) $svg['width']; $height = (int) $svg['height']; // Media Gallery $attachment_data['image'] = compact( 'src', 'width', 'height' ); $attachment_data['thumb'] = compact( 'src', 'width', 'height' ); // Single Details of Image $attachment_data['sizes']['full'] = [ 'height' => $height, 'width' => $width, 'url' => $src, 'orientation' => $height > $width ? 'portrait' : 'landscape', ]; return $attachment_data; } /** * Set Svg Meta Data * * Adds dimensions metadata to uploaded SVG files, since WordPress doesn't do it. * * @since 3.5.0 * @access public * * @return mixed */ public function set_svg_meta_data( $data, $id ) { $attachment = get_post( $id ); // Filter makes sure that the post is an attachment. $mime_type = $attachment->post_mime_type; // If the attachment is an svg if ( 'image/svg+xml' === $mime_type ) { // If the svg metadata are empty or the width is empty or the height is empty. // then get the attributes from xml. if ( empty( $data ) || empty( $data['width'] ) || empty( $data['height'] ) ) { $attachment = wp_get_attachment_url( $id ); $xml = simplexml_load_file( $attachment ); if ( ! empty( $xml ) ) { $attr = $xml->attributes(); $view_box = explode( ' ', $attr->viewBox );// phpcs:ignore WordPress.NamingConventions.ValidVariableName.UsedPropertyNotSnakeCase $data['width'] = isset( $attr->width ) && preg_match( '/\d+/', $attr->width, $value ) ? (int) $value[0] : ( 4 === count( $view_box ) ? (int) $view_box[2] : null ); $data['height'] = isset( $attr->height ) && preg_match( '/\d+/', $attr->height, $value ) ? (int) $value[0] : ( 4 === count( $view_box ) ? (int) $view_box[3] : null ); } } } return $data; } /** * Delete Meta Cache * * Deletes the Inline SVG post meta entry. * * @since 3.5.0 * @access public */ public function delete_meta_cache() { delete_post_meta_by_key( self::META_KEY ); } /** * File Sanitizer Can Run * * Checks if the classes required for the file sanitizer are in memory. * * @since 3.5.0 * @access public * @static * * @return bool */ public static function file_sanitizer_can_run() { return class_exists( 'DOMDocument' ) && class_exists( 'SimpleXMLElement' ); } /** * Get Inline SVG * * @since 3.5.0 * @access public * @static * * @param $attachment_id * @return bool|mixed|string */ public static function get_inline_svg( $attachment_id ) { $svg = get_post_meta( $attachment_id, self::META_KEY, true ); if ( ! empty( $svg ) ) { return $svg; } $attachment_file = get_attached_file( $attachment_id ); if ( ! file_exists( $attachment_file ) ) { return ''; } $svg = Utils::file_get_contents( $attachment_file ); if ( ! empty( $svg ) ) { update_post_meta( $attachment_id, self::META_KEY, $svg ); } return $svg; } /** * Is Encoded * * Check if the contents of the SVG file are gzipped * @see http://www.gzip.org/zlib/rfc-gzip.html#member-format * * @since 3.5.0 * @access private * * @param $contents * * @return bool */ private function is_encoded( $contents ) { $needle = "\x1f\x8b\x08"; if ( function_exists( 'mb_strpos' ) ) { return 0 === mb_strpos( $contents, $needle ); } else { return 0 === strpos( $contents, $needle ); } } /** * Encode SVG * * @since 3.5.0 * @access private * * @param $content * @return string */ private function encode_svg( $content ) { return gzencode( $content ); } /** * Decode SVG * * @since 3.5.0 * @access private * * @param $content * * @return string */ private function decode_svg( $content ) { return gzdecode( $content ); } /** * Is Allowed Tag * * @since 3.5.0 * @access private * * @param $element * @return bool */ private function is_allowed_tag( $element ) { static $allowed_tags = false; if ( false === $allowed_tags ) { $allowed_tags = $this->get_allowed_elements(); } $tag_name = $element->tagName; // phpcs:ignore -- php DomDocument if ( ! in_array( strtolower( $tag_name ), $allowed_tags ) ) { $this->remove_element( $element ); return false; } return true; } /** * Remove Element * * Removes the passed element from its DomDocument tree * * @since 3.5.0 * @access private * * @param $element */ private function remove_element( $element ) { $element->parentNode->removeChild( $element ); // phpcs:ignore -- php DomDocument } /** * Is It An Attribute * * @since 3.5.0 * @access private * * @param $name * @param $check * @return bool */ private function is_a_attribute( $name, $check ) { return 0 === strpos( $name, $check . '-' ); } /** * Is Remote Value * * @since 3.5.0 * @access private * * @param $value * @return string */ private function is_remote_value( $value ) { $value = trim( preg_replace( '/[^ -~]/xu', '', $value ) ); $wrapped_in_url = preg_match( '~^url\(\s*[\'"]\s*(.*)\s*[\'"]\s*\)$~xi', $value, $match ); if ( ! $wrapped_in_url ) { return false; } $value = trim( $match[1], '\'"' ); return preg_match( '~^((https?|ftp|file):)?//~xi', $value ); } /** * Has JS Value * * @since 3.5.0 * @access private * * @param $value * @return false|int */ private function has_js_value( $value ) { return preg_match( '/base64|data|(?:java)?script|alert\(|window\.|document/i', $value ); } /** * Get Allowed Attributes * * Returns an array of allowed tag attributes in SVG files. * * @since 3.5.0 * @access private * * @return array */ private function get_allowed_attributes() { $allowed_attributes = [ 'class', 'clip-path', 'clip-rule', 'fill', 'fill-opacity', 'fill-rule', 'filter', 'id', 'mask', 'opacity', 'stroke', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke-width', 'style', 'systemlanguage', 'transform', 'href', 'xlink:href', 'xlink:title', 'cx', 'cy', 'r', 'requiredfeatures', 'clippathunits', 'type', 'rx', 'ry', 'color-interpolation-filters', 'stddeviation', 'filterres', 'filterunits', 'height', 'primitiveunits', 'width', 'x', 'y', 'font-size', 'display', 'font-family', 'font-style', 'font-weight', 'text-anchor', 'marker-end', 'marker-mid', 'marker-start', 'x1', 'x2', 'y1', 'y2', 'gradienttransform', 'gradientunits', 'spreadmethod', 'markerheight', 'markerunits', 'markerwidth', 'orient', 'preserveaspectratio', 'refx', 'refy', 'viewbox', 'maskcontentunits', 'maskunits', 'd', 'patterncontentunits', 'patterntransform', 'patternunits', 'points', 'fx', 'fy', 'offset', 'stop-color', 'stop-opacity', 'xmlns', 'xmlns:se', 'xmlns:xlink', 'xml:space', 'method', 'spacing', 'startoffset', 'dx', 'dy', 'rotate', 'textlength', ]; /** * Allowed attributes in SVG file. * * Filters the list of allowed attributes in SVG files. * * Since SVG files can run JS code that may inject malicious code, all attributes * are removed except the allowed attributes. * * This hook can be used to manage allowed SVG attributes. To either add new * attributes or delete existing attributes. To strengthen or weaken site security. * * @param array $allowed_attributes A list of allowed attributes. */ $allowed_attributes = apply_filters( 'elementor/files/svg/allowed_attributes', $allowed_attributes ); return $allowed_attributes; } /** * Get Allowed Elements * * Returns an array of allowed element tags to be in SVG files. * * @since 3.5.0 * @access private * * @return array */ private function get_allowed_elements() { $allowed_elements = [ 'a', 'circle', 'clippath', 'defs', 'style', 'desc', 'ellipse', 'fegaussianblur', 'filter', 'foreignobject', 'g', 'image', 'line', 'lineargradient', 'marker', 'mask', 'metadata', 'path', 'pattern', 'polygon', 'polyline', 'radialgradient', 'rect', 'stop', 'svg', 'switch', 'symbol', 'text', 'textpath', 'title', 'tspan', 'use', ]; /** * Allowed elements in SVG file. * * Filters the list of allowed elements in SVG files. * * Since SVG files can run JS code that may inject malicious code, all elements * are removed except the allowed elements. * * This hook can be used to manage SVG elements. To either add new elements or * delete existing elements. To strengthen or weaken site security. * * @param array $allowed_elements A list of allowed elements. */ $allowed_elements = apply_filters( 'elementor/files/svg/allowed_elements', $allowed_elements ); return $allowed_elements; } /** * Validate Allowed Attributes * * @since 3.5.0 * @access private * * @param \DOMElement $element */ private function validate_allowed_attributes( $element ) { static $allowed_attributes = false; if ( false === $allowed_attributes ) { $allowed_attributes = $this->get_allowed_attributes(); } for ( $index = $element->attributes->length - 1; $index >= 0; $index-- ) { // get attribute name $attr_name = $element->attributes->item( $index )->name; $attr_name_lowercase = strtolower( $attr_name ); // Remove attribute if not in whitelist if ( ! in_array( $attr_name_lowercase, $allowed_attributes ) && ! $this->is_a_attribute( $attr_name_lowercase, 'aria' ) && ! $this->is_a_attribute( $attr_name_lowercase, 'data' ) ) { $element->removeAttribute( $attr_name ); continue; } $attr_value = $element->attributes->item( $index )->value; // Remove attribute if it has a remote reference or js or data-URI/base64 if ( ! empty( $attr_value ) && ( $this->is_remote_value( $attr_value ) || $this->has_js_value( $attr_value ) ) ) { $element->removeAttribute( $attr_name ); continue; } } } /** * Strip xlinks * * @since 3.5.0 * @access private * * @param \DOMElement $element */ private function strip_xlinks( $element ) { $xlinks = $element->getAttributeNS( 'http://www.w3.org/1999/xlink', 'href' ); if ( ! $xlinks ) { return; } $allowed_links = [ 'data:image/png', // PNG 'data:image/gif', // GIF 'data:image/jpg', // JPG 'data:image/jpe', // JPEG 'data:image/pjp', // PJPEG ]; if ( 1 === preg_match( self::SCRIPT_REGEX, $xlinks ) ) { if ( ! in_array( substr( $xlinks, 0, 14 ), $allowed_links, true ) ) { $element->removeAttributeNS( 'http://www.w3.org/1999/xlink', 'href' ); } } } /** * Validate Use Tag * * @since 3.5.0 * @access private * * @param $element */ private function validate_use_tag( $element ) { $xlinks = $element->getAttributeNS( 'http://www.w3.org/1999/xlink', 'href' ); if ( $xlinks && '#' !== substr( $xlinks, 0, 1 ) ) { $element->parentNode->removeChild( $element ); // phpcs:ignore -- php DomNode } } /** * Strip Doctype * * @since 3.5.0 * @access private * */ private function strip_doctype() { foreach ( $this->svg_dom->childNodes as $child ) { if ( XML_DOCUMENT_TYPE_NODE === $child->nodeType ) { // phpcs:ignore -- php DomDocument $child->parentNode->removeChild( $child ); // phpcs:ignore -- php DomDocument } } } /** * Sanitize Elements * * @since 3.5.0 * @access private */ private function sanitize_elements() { $elements = $this->svg_dom->getElementsByTagName( '*' ); // loop through all elements // we do this backwards so we don't skip anything if we delete a node // see comments at: http://php.net/manual/en/class.domnamednodemap.php for ( $index = $elements->length - 1; $index >= 0; $index-- ) { /** * @var \DOMElement $current_element */ $current_element = $elements->item( $index ); // If the tag isn't in the whitelist, remove it and continue with next iteration if ( ! $this->is_allowed_tag( $current_element ) ) { continue; } //validate element attributes $this->validate_allowed_attributes( $current_element ); $this->strip_xlinks( $current_element ); if ( 'use' === strtolower( $current_element->tagName ) ) { // phpcs:ignore -- php DomDocument $this->validate_use_tag( $current_element ); } } } /** * Strip PHP Tags * * @since 3.5.0 * @access private * * @param $string * @return string */ private function strip_php_tags( $string ) { $string = preg_replace( '/<\?(=|php)(.+?)\?>/i', '', $string ); // Remove XML, ASP, etc. $string = preg_replace( '/<\?(.*)\?>/Us', '', $string ); $string = preg_replace( '/<\%(.*)\%>/Us', '', $string ); if ( ( false !== strpos( $string, '/Us', '', $string ); $string = preg_replace( '/\/\*(.*)\*\//Us', '', $string ); if ( ( false !== strpos( $string, '', 'post_modified' => current_time( 'mysql' ), ] ); Plugin::$instance->db->copy_elementor_meta( $this->post->ID, $autosave_id ); $document = Plugin::$instance->documents->get( $autosave_id ); $document->save_template_type(); } else { $document = false; } return $document; } /** * Add/Remove edit link in dashboard. * * Add or remove an edit link to the post/page action links on the post/pages list table. * * Fired by `post_row_actions` and `page_row_actions` filters. * * @access public * * @param array $actions An array of row action links. * * @return array An updated array of row action links. */ public function filter_admin_row_actions( $actions ) { if ( $this->is_built_with_elementor() && $this->is_editable_by_current_user() ) { $actions['edit_with_elementor'] = sprintf( '%2$s', $this->get_edit_url(), __( 'Edit with Elementor', 'elementor' ) ); } return $actions; } /** * @since 2.0.0 * @access public */ public function is_editable_by_current_user() { $edit_capability = static::get_property( 'edit_capability' ); if ( $edit_capability && ! current_user_can( $edit_capability ) ) { return false; } return self::get_property( 'is_editable' ) && User::is_current_user_can_edit( $this->get_main_id() ); } /** * @since 2.9.0 * @access protected */ protected function get_initial_config() { // Get document data *after* the scripts hook - so plugins can run compatibility before get data, but *before* enqueue the editor script - so elements can enqueue their own scripts that depended in editor script. $locked_user = Plugin::$instance->editor->get_locked_user( $this->get_main_id() ); if ( $locked_user ) { $locked_user = $locked_user->display_name; } $post_type_object = get_post_type_object( $this->get_main_post()->post_type ); $settings = SettingsManager::get_settings_managers_config(); $config = [ 'id' => $this->get_main_id(), 'type' => $this->get_name(), 'version' => $this->get_main_meta( '_elementor_version' ), 'settings' => $settings['page'], 'remoteLibrary' => $this->get_remote_library_config(), 'last_edited' => $this->get_last_edited(), 'panel' => static::get_editor_panel_config(), 'container' => 'body', 'post_type_title' => $this->get_post_type_title(), 'user' => [ 'can_publish' => current_user_can( $post_type_object->cap->publish_posts ), // Deprecated config since 2.9.0. 'locked' => $locked_user, ], 'urls' => [ 'exit_to_dashboard' => $this->get_exit_to_dashboard_url(), 'preview' => $this->get_preview_url(), 'wp_preview' => $this->get_wp_preview_url(), 'permalink' => $this->get_permalink(), 'have_a_look' => $this->get_have_a_look_url(), ], ]; do_action( 'elementor/document/before_get_config', $this ); if ( static::get_property( 'has_elements' ) ) { $container_config = []; $experiments_manager = Plugin::$instance->experiments; if ( $experiments_manager->is_feature_active( 'container' ) ) { $container_config = [ 'container' => Plugin::$instance->elements_manager->get_element_types( 'container' )->get_config(), ]; } $config['elements'] = $this->get_elements_raw_data( null, true ); $config['widgets'] = $container_config + Plugin::$instance->widgets_manager->get_widget_types_config(); } $additional_config = []; /** * Additional document configuration. * * Filters the document configuration by adding additional configuration. * External developers can use this hook to add custom configuration in * addition to Elementor's initial configuration. * * Use the $post_id to add custom configuration for different pages. * * @param array $additional_config The additional document configuration. * @param int $post_id The post ID of the document. */ $additional_config = apply_filters( 'elementor/document/config', $additional_config, $this->get_main_id() ); if ( ! empty( $additional_config ) ) { $config = array_replace_recursive( $config, $additional_config ); } return $config; } /** * @since 3.1.0 * @access protected */ protected function register_controls() { $this->register_document_controls(); /** * Register document controls. * * Fires after Elementor registers the document controls. * * External developers can use this hook to add new controls to the document. * * @since 2.0.0 * * @param Document $this The document instance. */ do_action( 'elementor/documents/register_controls', $this ); } /** * @since 2.0.0 * @access public * * @param $data * * @return bool */ public function save( $data ) { /** * Document save data. * * Filter the document data before saving process starts. * * External developers can use this hook to change the data before * saving it to the database. * * @since 3.3.0 * * @param array $data The document data. * @param \Elementor\Core\Base\Document $this The document instance. */ $data = apply_filters( 'elementor/document/save/data', $data, $this ); $this->add_handle_revisions_changed_filter(); if ( ! $this->is_editable_by_current_user() ) { return false; } $this->set_is_saving( true ); /** * Before document save. * * Fires when document save starts on Elementor. * * @since 2.5.12 * * @param \Elementor\Core\Base\Document $this The current document. * @param $data. */ do_action( 'elementor/document/before_save', $this, $data ); if ( ! current_user_can( 'unfiltered_html' ) ) { $data = wp_kses_post_deep( $data ); } if ( ! empty( $data['settings'] ) ) { if ( isset( $data['settings']['post_status'] ) && self::STATUS_AUTOSAVE === $data['settings']['post_status'] ) { if ( ! defined( 'DOING_AUTOSAVE' ) ) { define( 'DOING_AUTOSAVE', true ); } } $this->save_settings( $data['settings'] ); $this->refresh_post(); } // Don't check is_empty, because an empty array should be saved. if ( isset( $data['elements'] ) && is_array( $data['elements'] ) ) { $this->save_elements( $data['elements'] ); } $this->save_template_type(); $this->save_version(); // Remove Post CSS $post_css = Post_CSS::create( $this->post->ID ); $post_css->delete(); /** * After document save. * * Fires when document save is complete. * * @since 2.5.12 * * @param \Elementor\Core\Base\Document $this The current document. * @param $data. */ do_action( 'elementor/document/after_save', $this, $data ); $this->set_is_saving( false ); $this->remove_handle_revisions_changed_filter(); return true; } public function refresh_post() { $this->post = get_post( $this->post->ID ); } /** * @param array $new_settings * * @return static */ public function update_settings( array $new_settings ) { $document_settings = $this->get_meta( PageManager::META_KEY ); if ( ! $document_settings ) { $document_settings = []; } $this->save_settings( array_replace_recursive( $document_settings, $new_settings ) ); return $this; } /** * Is built with Elementor. * * Check whether the post was built with Elementor. * * @since 2.0.0 * @access public * * @return bool Whether the post was built with Elementor. */ public function is_built_with_elementor() { return ! ! $this->get_meta( self::BUILT_WITH_ELEMENTOR_META_KEY ); } /** * Mark the post as "built with elementor" or not. * * @param bool $is_built_with_elementor * * @return $this */ public function set_is_built_with_elementor( $is_built_with_elementor ) { if ( $is_built_with_elementor ) { // Use the string `builder` and not a boolean for rollback compatibility $this->update_meta( self::BUILT_WITH_ELEMENTOR_META_KEY, 'builder' ); } else { $this->delete_meta( self::BUILT_WITH_ELEMENTOR_META_KEY ); } return $this; } /** * @since 2.0.0 * @access public * @static * * @return mixed */ public function get_edit_url() { $url = add_query_arg( [ 'post' => $this->get_main_id(), 'action' => 'elementor', ], admin_url( 'post.php' ) ); /** * Document edit url. * * Filters the document edit url. * * @since 2.0.0 * * @param string $url The edit url. * @param Document $this The document instance. */ $url = apply_filters( 'elementor/document/urls/edit', $url, $this ); return $url; } /** * @since 2.0.0 * @access public */ public function get_preview_url() { /** * Use a static var - to avoid change the `ver` parameter on every call. */ static $url; if ( empty( $url ) ) { add_filter( 'pre_option_permalink_structure', '__return_empty_string' ); $url = set_url_scheme( add_query_arg( [ 'elementor-preview' => $this->get_main_id(), 'ver' => time(), ], $this->get_permalink() ) ); remove_filter( 'pre_option_permalink_structure', '__return_empty_string' ); /** * Document preview URL. * * Filters the document preview URL. * * @since 2.0.0 * * @param string $url The preview URL. * @param Document $this The document instance. */ $url = apply_filters( 'elementor/document/urls/preview', $url, $this ); } return $url; } /** * @since 2.0.0 * @access public * * @param string $key * * @return array */ public function get_json_meta( $key ) { $meta = get_post_meta( $this->post->ID, $key, true ); if ( is_string( $meta ) && ! empty( $meta ) ) { $meta = json_decode( $meta, true ); } if ( empty( $meta ) ) { $meta = []; } return $meta; } /** * @since 2.0.0 * @access public * * @param null $data * @param bool $with_html_content * * @return array */ public function get_elements_raw_data( $data = null, $with_html_content = false ) { if ( ! static::get_property( 'has_elements' ) ) { return []; } if ( is_null( $data ) ) { $data = $this->get_elements_data(); } // Change the current documents, so widgets can use `documents->get_current` and other post data Plugin::$instance->documents->switch_to_document( $this ); $editor_data = []; foreach ( $data as $element_data ) { if ( ! is_array( $element_data ) ) { throw new \Exception( 'Invalid data: ' . wp_json_encode( [ 'data' => $data, 'element' => $element_data, ] ) ); } $element = Plugin::$instance->elements_manager->create_element_instance( $element_data ); if ( ! $element ) { continue; } if ( $this->is_saving ) { $element_data = $element->get_data_for_save(); } else { $element_data = $element->get_raw_data( $with_html_content ); } $editor_data[] = $element_data; } // End foreach(). Plugin::$instance->documents->restore_document(); return $editor_data; } /** * @since 2.0.0 * @access public * * @param string $status * * @return array */ public function get_elements_data( $status = self::STATUS_PUBLISH ) { $elements = $this->get_json_meta( '_elementor_data' ); if ( self::STATUS_DRAFT === $status ) { $autosave = $this->get_newer_autosave(); if ( is_object( $autosave ) ) { $autosave_elements = Plugin::$instance->documents ->get( $autosave->get_post()->ID ) ->get_json_meta( '_elementor_data' ); } } if ( Plugin::$instance->editor->is_edit_mode() ) { if ( empty( $elements ) && empty( $autosave_elements ) ) { // Convert to Elementor. $elements = $this->convert_to_elementor(); if ( $this->is_autosave() ) { Plugin::$instance->db->copy_elementor_meta( $this->post->post_parent, $this->post->ID ); } } } if ( ! empty( $autosave_elements ) ) { $elements = $autosave_elements; } return $elements; } /** * Get document setting from DB. * * @return array */ public function get_db_document_settings() { return $this->get_meta( static::PAGE_META_KEY ); } /** * @since 2.3.0 * @access public */ public function convert_to_elementor() { $this->save( [] ); if ( empty( $this->post->post_content ) ) { return []; } // Check if it's only a shortcode. preg_match_all( '/' . get_shortcode_regex() . '/', $this->post->post_content, $matches, PREG_SET_ORDER ); if ( ! empty( $matches ) ) { foreach ( $matches as $shortcode ) { if ( trim( $this->post->post_content ) === $shortcode[0] ) { $widget_type = Plugin::$instance->widgets_manager->get_widget_types( 'shortcode' ); $settings = [ 'shortcode' => $this->post->post_content, ]; break; } } } if ( empty( $widget_type ) ) { $widget_type = Plugin::$instance->widgets_manager->get_widget_types( 'text-editor' ); $settings = [ 'editor' => $this->post->post_content, ]; } // TODO: Better coding to start template for editor return [ [ 'id' => Utils::generate_random_string(), 'elType' => 'section', 'elements' => [ [ 'id' => Utils::generate_random_string(), 'elType' => 'column', 'elements' => [ [ 'id' => Utils::generate_random_string(), 'elType' => $widget_type::get_type(), 'widgetType' => $widget_type->get_name(), 'settings' => $settings, ], ], ], ], ], ]; } /** * @since 2.1.3 * @access public */ public function print_elements_with_wrapper( $elements_data = null ) { if ( ! $elements_data ) { $elements_data = $this->get_elements_data(); } $is_dom_optimization_active = Plugin::$instance->experiments->is_feature_active( 'e_dom_optimization' ); ?>
get_container_attributes() ); ?>>
print_elements( $elements_data ); ?>
sprintf( esc_html__( '%s Settings', 'elementor' ), static::get_title() ), ]; } /** * @since 2.0.0 * @access public */ public function get_post() { return $this->post; } /** * @since 2.0.0 * @access public */ public function get_permalink() { return get_permalink( $this->get_main_id() ); } /** * @since 2.0.8 * @access public */ public function get_content( $with_css = false ) { return Plugin::$instance->frontend->get_builder_content( $this->post->ID, $with_css ); } /** * @since 2.0.0 * @access public */ public function delete() { if ( 'revision' === $this->post->post_type ) { $deleted = wp_delete_post_revision( $this->post ); } else { $deleted = wp_delete_post( $this->post->ID ); } return $deleted && ! is_wp_error( $deleted ); } /** * * @since 3.6.0 * * @param array $config * * @param array $map_old_new_post_ids */ public static function on_import_replace_dynamic_content( $config, $map_old_new_post_ids ) { foreach ( $config as &$element_config ) { $element_instance = Plugin::$instance->elements_manager->create_element_instance( $element_config ); if ( $element_instance ) { $element_config = $element_instance::on_import_replace_dynamic_content( $element_config, $map_old_new_post_ids ); $element_config['elements'] = static::on_import_replace_dynamic_content( $element_config['elements'], $map_old_new_post_ids ); } } return $config; } /** * Save editor elements. * * Save data from the editor to the database. * * @since 2.0.0 * @access protected * * @param array $elements */ protected function save_elements( $elements ) { $editor_data = $this->get_elements_raw_data( $elements ); // We need the `wp_slash` in order to avoid the unslashing during the `update_post_meta` $json_value = wp_slash( wp_json_encode( $editor_data ) ); // Don't use `update_post_meta` that can't handle `revision` post type $is_meta_updated = update_metadata( 'post', $this->post->ID, '_elementor_data', $json_value ); /** * Before saving data. * * Fires before Elementor saves data to the database. * * @since 1.0.0 * * @param string $status Post status. * @param int|bool $is_meta_updated Meta ID if the key didn't exist, true on successful update, false on failure. */ do_action( 'elementor/db/before_save', $this->post->post_status, $is_meta_updated ); Plugin::$instance->db->save_plain_text( $this->post->ID ); $elements_iteration_actions = $this->get_elements_iteration_actions(); if ( $elements_iteration_actions ) { $this->iterate_elements( $elements, $elements_iteration_actions, 'save' ); } /** * After saving data. * * Fires after Elementor saves data to the database. * * @since 1.0.0 * * @param int $post_id The ID of the post. * @param array $editor_data Sanitize posted data. */ do_action( 'elementor/editor/after_save', $this->post->ID, $editor_data ); } /** * @since 2.0.0 * @access public * * @param int $user_id Optional. User ID. Default value is `0`. * * @return bool|int */ public function get_autosave_id( $user_id = 0 ) { if ( ! $user_id ) { $user_id = get_current_user_id(); } $autosave = Utils::get_post_autosave( $this->post->ID, $user_id ); if ( $autosave ) { return $autosave->ID; } return false; } public function save_version() { if ( ! defined( 'IS_ELEMENTOR_UPGRADE' ) ) { // Save per revision. $this->update_meta( '_elementor_version', ELEMENTOR_VERSION ); /** * Document version save. * * Fires when document version is saved on Elementor. * Will not fire during Elementor Upgrade. * * @since 2.5.12 * * @param \Elementor\Core\Base\Document $this The current document. * */ do_action( 'elementor/document/save_version', $this ); } } /** * @since 2.3.0 * @access public */ public function save_template_type() { return $this->update_main_meta( self::TYPE_META_KEY, $this->get_name() ); } /** * @since 2.3.0 * @access public */ public function get_template_type() { return $this->get_main_meta( self::TYPE_META_KEY ); } /** * @since 2.0.0 * @access public * * @param string $key Meta data key. * * @return mixed */ public function get_main_meta( $key ) { return get_post_meta( $this->get_main_id(), $key, true ); } /** * @since 2.0.4 * @access public * * @param string $key Meta data key. * @param string $value Meta data value. * * @return bool|int */ public function update_main_meta( $key, $value ) { return update_post_meta( $this->get_main_id(), $key, $value ); } /** * @since 2.0.4 * @access public * * @param string $key Meta data key. * @param string $value Optional. Meta data value. Default is an empty string. * * @return bool */ public function delete_main_meta( $key, $value = '' ) { return delete_post_meta( $this->get_main_id(), $key, $value ); } /** * @since 2.0.0 * @access public * * @param string $key Meta data key. * * @return mixed */ public function get_meta( $key ) { return get_post_meta( $this->post->ID, $key, true ); } /** * @since 2.0.0 * @access public * * @param string $key Meta data key. * @param mixed $value Meta data value. * * @return bool|int */ public function update_meta( $key, $value ) { // Use `update_metadata` in order to work also with revisions. return update_metadata( 'post', $this->post->ID, $key, $value ); } /** * @since 2.0.3 * @access public * * @param string $key Meta data key. * @param string $value Meta data value. * * @return bool */ public function delete_meta( $key, $value = '' ) { // Use `delete_metadata` in order to work also with revisions. return delete_metadata( 'post', $this->post->ID, $key, $value ); } /** * @since 2.0.0 * @access public */ public function get_last_edited() { $post = $this->post; $autosave_post = $this->get_autosave(); if ( $autosave_post ) { $post = $autosave_post->get_post(); } $date = date_i18n( _x( 'M j, H:i', 'revision date format', 'elementor' ), strtotime( $post->post_modified ) ); $display_name = get_the_author_meta( 'display_name', $post->post_author ); if ( $autosave_post || 'revision' === $post->post_type ) { /* translators: 1: Saving date, 2: Author display name. */ $last_edited = sprintf( esc_html__( 'Draft saved on %1$s by %2$s', 'elementor' ), '', $display_name ); } else { /* translators: 1: Editing date, 2: Author display name. */ $last_edited = sprintf( esc_html__( 'Last edited on %1$s by %2$s', 'elementor' ), '', $display_name ); } return $last_edited; } /** * @return bool */ public function is_saving() { return $this->is_saving; } /** * @param $is_saving * * @return $this */ public function set_is_saving( $is_saving ) { $this->is_saving = $is_saving; return $this; } /** * @since 2.0.0 * @access public * * @param array $data * * @throws \Exception If the post does not exist. */ public function __construct( array $data = [] ) { if ( $data ) { if ( empty( $data['post_id'] ) ) { $this->post = new \WP_Post( (object) [] ); } else { $this->post = get_post( $data['post_id'] ); if ( ! $this->post ) { throw new \Exception( sprintf( 'Post ID #%s does not exist.', $data['post_id'] ), Exceptions::NOT_FOUND ); } } // Each Control_Stack is based on a unique ID. $data['id'] = $data['post_id']; if ( ! isset( $data['settings'] ) ) { $data['settings'] = []; } $saved_settings = get_post_meta( $this->post->ID, '_elementor_page_settings', true ); if ( ! empty( $saved_settings ) && is_array( $saved_settings ) ) { $data['settings'] += $saved_settings; } } parent::__construct( $data ); } /* * Get Export Data * * Filters a document's data on export * * @since 3.2.0 * @access public * * @return array The data to export */ public function get_export_data() { $content = Plugin::$instance->db->iterate_data( $this->get_elements_data(), function( $element_data ) { $element_data['id'] = Utils::generate_random_string(); $element = Plugin::$instance->elements_manager->create_element_instance( $element_data ); // If the widget/element isn't exist, like a plugin that creates a widget but deactivated if ( ! $element ) { return null; } return $this->process_element_import_export( $element, 'on_export' ); } ); return [ 'content' => $content, 'settings' => $this->get_data( 'settings' ), 'metadata' => $this->get_export_metadata(), ]; } public function get_export_summary() { return [ 'title' => $this->post->post_title, 'doc_type' => $this->get_name(), 'thumbnail' => get_the_post_thumbnail_url( $this->post ), ]; } /* * Get Import Data * * Filters a document's data on import * * @since 3.2.0 * @access public * * @return array The data to import */ public function get_import_data( array $data ) { $data['content'] = Plugin::$instance->db->iterate_data( $data['content'], function( $element_data ) { $element = Plugin::$instance->elements_manager->create_element_instance( $element_data ); // If the widget/element isn't exist, like a plugin that creates a widget but deactivated if ( ! $element ) { return null; } return $this->process_element_import_export( $element, 'on_import' ); } ); if ( ! empty( $data['settings'] ) ) { $template_model = new Page_Model( [ 'id' => 0, 'settings' => $data['settings'], ] ); $page_data = $this->process_element_import_export( $template_model, 'on_import' ); $data['settings'] = $page_data['settings']; } return $data; } /** * Import * * Allows to import an external data to a document * * @since 3.2.0 * @access public * * @param array $data */ public function import( array $data ) { $data = $this->get_import_data( $data ); $this->save( [ 'elements' => $data['content'], 'settings' => $data['settings'], ] ); if ( $data['import_settings']['thumbnail'] ) { $attachment = Plugin::$instance->templates_manager->get_import_images_instance()->import( [ 'url' => $data['import_settings']['thumbnail'] ] ); set_post_thumbnail( $this->get_main_post(), $attachment['id'] ); } if ( ! empty( $data['metadata'] ) ) { foreach ( $data['metadata'] as $key => $value ) { $this->update_meta( $key, $value ); } } } private function process_element_import_export( Controls_Stack $element, $method ) { $element_data = $element->get_data(); if ( method_exists( $element, $method ) ) { // TODO: Use the internal element data without parameters. $element_data = $element->{$method}( $element_data ); } foreach ( $element->get_controls() as $control ) { $control_class = Plugin::$instance->controls_manager->get_control( $control['type'] ); // If the control isn't exist, like a plugin that creates the control but deactivated. if ( ! $control_class ) { return $element_data; } if ( method_exists( $control_class, $method ) ) { $element_data['settings'][ $control['name'] ] = $control_class->{$method}( $element->get_settings( $control['name'] ), $control ); } // On Export, check if the control has an argument 'export' => false. if ( 'on_export' === $method && isset( $control['export'] ) && false === $control['export'] ) { unset( $element_data['settings'][ $control['name'] ] ); } } return $element_data; } protected function get_export_metadata() { $metadata = get_post_meta( $this->get_main_id() ); foreach ( $metadata as $meta_key => $meta_value ) { if ( is_protected_meta( $meta_key, 'post' ) ) { unset( $metadata[ $meta_key ] ); continue; } $metadata[ $meta_key ] = $meta_value[0]; } return $metadata; } protected function get_remote_library_config() { $config = [ 'type' => 'block', 'default_route' => 'templates/blocks', 'category' => $this->get_name(), 'autoImportSettings' => false, ]; return $config; } /** * @since 2.0.4 * @access protected * * @param $settings */ protected function save_settings( $settings ) { $page_settings_manager = SettingsManager::get_settings_managers( 'page' ); $page_settings_manager->ajax_before_save_settings( $settings, $this->post->ID ); $page_settings_manager->save_settings( $settings, $this->post->ID ); } /** * @since 2.1.3 * @access protected */ protected function print_elements( $elements_data ) { // Collect all data updaters that should be updated on runtime. $runtime_elements_iteration_actions = $this->get_runtime_elements_iteration_actions(); if ( $runtime_elements_iteration_actions ) { $this->iterate_elements( $elements_data, $runtime_elements_iteration_actions, 'render' ); } foreach ( $elements_data as $element_data ) { $element = Plugin::$instance->elements_manager->create_element_instance( $element_data ); if ( ! $element ) { continue; } $element->print_element(); } } protected function register_document_controls() { $this->start_controls_section( 'document_settings', [ 'label' => esc_html__( 'General Settings', 'elementor' ), 'tab' => Controls_Manager::TAB_SETTINGS, ] ); $this->add_control( 'post_title', [ 'label' => esc_html__( 'Title', 'elementor' ), 'type' => Controls_Manager::TEXT, 'default' => $this->post->post_title, 'label_block' => true, ] ); $post_type_object = get_post_type_object( $this->post->post_type ); $can_publish = $post_type_object && current_user_can( $post_type_object->cap->publish_posts ); $is_published = self::STATUS_PUBLISH === $this->post->post_status || self::STATUS_PRIVATE === $this->post->post_status; if ( $is_published || $can_publish || ! Plugin::$instance->editor->is_edit_mode() ) { $statuses = $this->get_post_statuses(); if ( 'future' === $this->get_main_post()->post_status ) { $statuses['future'] = esc_html__( 'Future', 'elementor' ); } $this->add_control( 'post_status', [ 'label' => esc_html__( 'Status', 'elementor' ), 'type' => Controls_Manager::SELECT, 'default' => $this->get_main_post()->post_status, 'options' => $statuses, ] ); } $this->end_controls_section(); } protected function get_post_statuses() { return get_post_statuses(); } protected function get_have_a_look_url() { return $this->get_permalink(); } public function handle_revisions_changed( $post_has_changed, $last_revision, $post ) { // In case default, didn't determine the changes. if ( ! $post_has_changed ) { $last_revision_id = $last_revision->ID; $last_revision_document = Plugin::instance()->documents->get( $last_revision_id ); $post_document = Plugin::instance()->documents->get( $post->ID ); $last_revision_settings = $last_revision_document->get_settings(); $post_settings = $post_document->get_settings(); // TODO: Its better to add crc32 signature for each revision and then only compare one part of the checksum. $post_has_changed = $last_revision_settings !== $post_settings; } return $post_has_changed; } private function add_handle_revisions_changed_filter() { add_filter( 'wp_save_post_revision_post_has_changed', [ $this, 'handle_revisions_changed' ], 10, 3 ); } private function remove_handle_revisions_changed_filter() { remove_filter( 'wp_save_post_revision_post_has_changed', [ $this, 'handle_revisions_changed' ] ); } private function get_runtime_elements_iteration_actions() { $runtime_elements_iteration_actions = []; $elements_iteration_actions = $this->get_elements_iteration_actions(); foreach ( $elements_iteration_actions as $elements_iteration_action ) { if ( $elements_iteration_action->is_action_needed() ) { $runtime_elements_iteration_actions[] = $elements_iteration_action; } } return $runtime_elements_iteration_actions; } private function iterate_elements( $elements, $elements_iteration_actions, $mode ) { $unique_page_elements = []; foreach ( $elements_iteration_actions as $elements_iteration_action ) { $elements_iteration_action->set_mode( $mode ); } Plugin::$instance->db->iterate_data( $elements, function( array $element_data ) use ( &$unique_page_elements, $elements_iteration_actions ) { $element_type = 'widget' === $element_data['elType'] ? $element_data['widgetType'] : $element_data['elType']; $element = Plugin::$instance->elements_manager->create_element_instance( $element_data ); if ( $element ) { if ( ! in_array( $element_type, $unique_page_elements, true ) ) { $unique_page_elements[] = $element_type; foreach ( $elements_iteration_actions as $elements_iteration_action ) { $elements_iteration_action->unique_element_action( $element ); } } foreach ( $elements_iteration_actions as $elements_iteration_action ) { $elements_iteration_action->element_action( $element ); } } return $element_data; } ); foreach ( $elements_iteration_actions as $elements_iteration_action ) { $elements_iteration_action->after_elements_iteration(); } } private function get_elements_iteration_actions() { if ( ! $this->elements_iteration_actions ) { $this->elements_iteration_actions[] = new Assets_Iteration_Action( $this ); } return $this->elements_iteration_actions; } } core/base/background-process/wp-async-request.php000064400000005605152377341010016152 0ustar00identifier = $this->prefix . '_' . $this->action; add_action( 'wp_ajax_' . $this->identifier, array( $this, 'maybe_handle' ) ); add_action( 'wp_ajax_nopriv_' . $this->identifier, array( $this, 'maybe_handle' ) ); } /** * Set data used during the request * * @param array $data Data. * * @return $this */ public function data( $data ) { $this->data = $data; return $this; } /** * Dispatch the async request * * @return array|\WP_Error */ public function dispatch() { $url = add_query_arg( $this->get_query_args(), $this->get_query_url() ); $args = $this->get_post_args(); return wp_remote_post( esc_url_raw( $url ), $args ); } /** * Get query args * * @return array */ protected function get_query_args() { if ( property_exists( $this, 'query_args' ) ) { return $this->query_args; } return array( 'action' => $this->identifier, 'nonce' => wp_create_nonce( $this->identifier ), ); } /** * Get query URL * * @return string */ protected function get_query_url() { if ( property_exists( $this, 'query_url' ) ) { return $this->query_url; } return admin_url( 'admin-ajax.php' ); } /** * Get post args * * @return array */ protected function get_post_args() { if ( property_exists( $this, 'post_args' ) ) { return $this->post_args; } return array( 'timeout' => 0.01, 'blocking' => false, 'body' => $this->data, 'cookies' => $_COOKIE, /** This filter is documented in wp-includes/class-wp-http-streams.php */ 'sslverify' => apply_filters( 'https_local_ssl_verify', false ), ); } /** * Maybe handle * * Check for correct nonce and pass to handler. */ public function maybe_handle() { // Don't lock up other requests while processing session_write_close(); check_ajax_referer( $this->identifier, 'nonce' ); $this->handle(); wp_die(); } /** * Handle * * Override this method to perform any actions required * during the async request. */ abstract protected function handle(); } core/base/background-process/wp-background-process.php000064400000025474152377341010017150 0ustar00cron_hook_identifier = $this->identifier . '_cron'; $this->cron_interval_identifier = $this->identifier . '_cron_interval'; add_action( $this->cron_hook_identifier, array( $this, 'handle_cron_healthcheck' ) ); add_filter( 'cron_schedules', array( $this, 'schedule_cron_healthcheck' ) ); } /** * Dispatch * * @access public * @return array|\WP_Error */ public function dispatch() { // Schedule the cron healthcheck. $this->schedule_event(); // Perform remote post. return parent::dispatch(); } /** * Push to queue * * @param mixed $data Data. * * @return $this */ public function push_to_queue( $data ) { $this->data[] = $data; return $this; } /** * Save queue * * @return $this */ public function save() { $key = $this->generate_key(); if ( ! empty( $this->data ) ) { update_site_option( $key, $this->data ); } return $this; } /** * Update queue * * @param string $key Key. * @param array $data Data. * * @return $this */ public function update( $key, $data ) { if ( ! empty( $data ) ) { update_site_option( $key, $data ); } return $this; } /** * Delete queue * * @param string $key Key. * * @return $this */ public function delete( $key ) { delete_site_option( $key ); return $this; } /** * Generate key * * Generates a unique key based on microtime. Queue items are * given a unique key so that they can be merged upon save. * * @param int $length Length. * * @return string */ protected function generate_key( $length = 64 ) { $unique = md5( microtime() . rand() ); $prepend = $this->identifier . '_batch_'; return substr( $prepend . $unique, 0, $length ); } /** * Maybe process queue * * Checks whether data exists within the queue and that * the process is not already running. */ public function maybe_handle() { // Don't lock up other requests while processing session_write_close(); if ( $this->is_process_running() ) { // Background process already running. wp_die(); } if ( $this->is_queue_empty() ) { // No data to process. wp_die(); } check_ajax_referer( $this->identifier, 'nonce' ); $this->handle(); wp_die(); } /** * Is queue empty * * @return bool */ protected function is_queue_empty() { global $wpdb; $table = $wpdb->options; $column = 'option_name'; if ( is_multisite() ) { $table = $wpdb->sitemeta; $column = 'meta_key'; } $key = $wpdb->esc_like( $this->identifier . '_batch_' ) . '%'; // phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared // Can't use placeholders for table/column names, it will be wrapped by a single quote (') instead of a backquote (`). $count = $wpdb->get_var( $wpdb->prepare( " SELECT COUNT(*) FROM {$table} WHERE {$column} LIKE %s ", $key ) ); // phpcs:enable return ( $count > 0 ) ? false : true; } /** * Is process running * * Check whether the current process is already running * in a background process. */ protected function is_process_running() { if ( get_site_transient( $this->identifier . '_process_lock' ) ) { // Process already running. return true; } return false; } /** * Lock process * * Lock the process so that multiple instances can't run simultaneously. * Override if applicable, but the duration should be greater than that * defined in the time_exceeded() method. */ protected function lock_process() { $this->start_time = time(); // Set start time of current process. $lock_duration = ( property_exists( $this, 'queue_lock_time' ) ) ? $this->queue_lock_time : 60; // 1 minute $lock_duration = apply_filters( $this->identifier . '_queue_lock_time', $lock_duration ); set_site_transient( $this->identifier . '_process_lock', microtime(), $lock_duration ); } /** * Unlock process * * Unlock the process so that other instances can spawn. * * @return $this */ protected function unlock_process() { delete_site_transient( $this->identifier . '_process_lock' ); return $this; } /** * Get batch * * @return \stdClass Return the first batch from the queue */ protected function get_batch() { global $wpdb; $table = $wpdb->options; $column = 'option_name'; $key_column = 'option_id'; $value_column = 'option_value'; if ( is_multisite() ) { $table = $wpdb->sitemeta; $column = 'meta_key'; $key_column = 'meta_id'; $value_column = 'meta_value'; } $key = $wpdb->esc_like( $this->identifier . '_batch_' ) . '%'; // phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared // Can't use placeholders for table/column names, it will be wrapped by a single quote (') instead of a backquote (`). $query = $wpdb->get_row( $wpdb->prepare( " SELECT * FROM {$table} WHERE {$column} LIKE %s ORDER BY {$key_column} ASC LIMIT 1 ", $key ) ); // phpcs:enable $batch = new \stdClass(); $batch->key = $query->$column; $batch->data = maybe_unserialize( $query->$value_column ); return $batch; } /** * Handle * * Pass each queue item to the task handler, while remaining * within server memory and time limit constraints. */ protected function handle() { $this->lock_process(); do { $batch = $this->get_batch(); foreach ( $batch->data as $key => $value ) { $task = $this->task( $value ); if ( false !== $task ) { $batch->data[ $key ] = $task; } else { unset( $batch->data[ $key ] ); } if ( $this->time_exceeded() || $this->memory_exceeded() ) { // Batch limits reached. break; } } // Update or delete current batch. if ( ! empty( $batch->data ) ) { $this->update( $batch->key, $batch->data ); } else { $this->delete( $batch->key ); } } while ( ! $this->time_exceeded() && ! $this->memory_exceeded() && ! $this->is_queue_empty() ); $this->unlock_process(); // Start next batch or complete process. if ( ! $this->is_queue_empty() ) { $this->dispatch(); } else { $this->complete(); } wp_die(); } /** * Memory exceeded * * Ensures the batch process never exceeds 90% * of the maximum WordPress memory. * * @return bool */ protected function memory_exceeded() { $memory_limit = $this->get_memory_limit() * 0.9; // 90% of max memory $current_memory = memory_get_usage( true ); $return = false; if ( $current_memory >= $memory_limit ) { $return = true; } return apply_filters( $this->identifier . '_memory_exceeded', $return ); } /** * Get memory limit * * @return int */ protected function get_memory_limit() { if ( function_exists( 'ini_get' ) ) { $memory_limit = ini_get( 'memory_limit' ); } else { // Sensible default. $memory_limit = '128M'; } if ( ! $memory_limit || -1 === intval( $memory_limit ) ) { // Unlimited, set to 32GB. $memory_limit = '32000M'; } return intval( $memory_limit ) * 1024 * 1024; } /** * Time exceeded. * * Ensures the batch never exceeds a sensible time limit. * A timeout limit of 30s is common on shared hosting. * * @return bool */ protected function time_exceeded() { $finish = $this->start_time + apply_filters( $this->identifier . '_default_time_limit', 20 ); // 20 seconds $return = false; if ( time() >= $finish ) { $return = true; } return apply_filters( $this->identifier . '_time_exceeded', $return ); } /** * Complete. * * Override if applicable, but ensure that the below actions are * performed, or, call parent::complete(). */ protected function complete() { // Unschedule the cron healthcheck. $this->clear_scheduled_event(); } /** * Schedule cron healthcheck * * @access public * @param mixed $schedules Schedules. * @return mixed */ public function schedule_cron_healthcheck( $schedules ) { $interval = apply_filters( $this->identifier . '_cron_interval', 5 ); if ( property_exists( $this, 'cron_interval' ) ) { $interval = apply_filters( $this->identifier . '_cron_interval', $this->cron_interval ); } // Adds every 5 minutes to the existing schedules. $schedules[ $this->identifier . '_cron_interval' ] = array( 'interval' => MINUTE_IN_SECONDS * $interval, /* translators: %d: Interval in minutes. */ 'display' => sprintf( esc_html__( 'Every %d Minutes', 'elementor' ), $interval ), ); return $schedules; } /** * Handle cron healthcheck * * Restart the background process if not already running * and data exists in the queue. */ public function handle_cron_healthcheck() { if ( $this->is_process_running() ) { // Background process already running. exit; } if ( $this->is_queue_empty() ) { // No data to process. $this->clear_scheduled_event(); exit; } $this->handle(); exit; } /** * Schedule event */ protected function schedule_event() { if ( ! wp_next_scheduled( $this->cron_hook_identifier ) ) { wp_schedule_event( time(), $this->cron_interval_identifier, $this->cron_hook_identifier ); } } /** * Clear scheduled event */ protected function clear_scheduled_event() { $timestamp = wp_next_scheduled( $this->cron_hook_identifier ); if ( $timestamp ) { wp_unschedule_event( $timestamp, $this->cron_hook_identifier ); } } /** * Cancel Process * * Stop processing queue items, clear cronjob and delete batch. * */ public function cancel_process() { if ( ! $this->is_queue_empty() ) { $batch = $this->get_batch(); $this->delete( $batch->key ); wp_clear_scheduled_hook( $this->cron_hook_identifier ); } } /** * Task * * Override this method to perform any actions required on each * queue item. Return the modified item for further processing * in the next pass through. Or, return false to remove the * item from the queue. * * @param mixed $item Queue item to iterate over. * * @return mixed */ abstract protected function task( $item ); } core/base/db-upgrades-manager.php000064400000013620152377341010012731 0ustar00query_limit; } public function set_query_limit( $limit ) { $this->query_limit = $limit; } public function get_current_version() { if ( null === $this->current_version ) { $this->current_version = get_option( $this->get_version_option_name() ); } return $this->current_version; } public function should_upgrade() { $current_version = $this->get_current_version(); // It's a new install. if ( ! $current_version ) { $this->update_db_version(); return false; } return version_compare( $this->get_new_version(), $current_version, '>' ); } public function on_runner_start() { parent::on_runner_start(); if ( ! defined( 'IS_ELEMENTOR_UPGRADE' ) ) { define( 'IS_ELEMENTOR_UPGRADE', true ); } } public function on_runner_complete( $did_tasks = false ) { $logger = Plugin::$instance->logger->get_logger(); $logger->info( 'Elementor data updater process has been completed.', [ 'meta' => [ 'plugin' => $this->get_plugin_label(), 'from' => $this->current_version, 'to' => $this->get_new_version(), ], ] ); Plugin::$instance->files_manager->clear_cache(); $this->update_db_version(); if ( $did_tasks ) { $this->add_flag( 'completed' ); } } public function admin_notice_start_upgrade() { /** * @var Admin_Notices $admin_notices */ $admin_notices = Plugin::$instance->admin->get_component( 'admin-notices' ); $options = [ 'title' => $this->get_updater_label(), 'description' => esc_html__( 'Your site database needs to be updated to the latest version.', 'elementor' ), 'type' => 'error', 'icon' => false, 'button' => [ 'text' => esc_html__( 'Update Now', 'elementor' ), 'url' => $this->get_start_action_url(), 'class' => 'e-button e-button--cta', ], ]; $admin_notices->print_admin_notice( $options ); } public function admin_notice_upgrade_is_running() { /** * @var Admin_Notices $admin_notices */ $admin_notices = Plugin::$instance->admin->get_component( 'admin-notices' ); $options = [ 'title' => $this->get_updater_label(), 'description' => esc_html__( 'Database update process is running in the background. Taking a while?', 'elementor' ), 'type' => 'warning', 'icon' => false, 'button' => [ 'text' => esc_html__( 'Click here to run it now', 'elementor' ), 'url' => $this->get_continue_action_url(), 'class' => 'e-button e-button--primary', ], ]; $admin_notices->print_admin_notice( $options ); } public function admin_notice_upgrade_is_completed() { $this->delete_flag( 'completed' ); $message = esc_html__( 'The database update process is now complete. Thank you for updating to the latest version!', 'elementor' ); /** * @var Admin_Notices $admin_notices */ $admin_notices = Plugin::$instance->admin->get_component( 'admin-notices' ); $options = [ 'description' => '' . $this->get_updater_label() . ' - ' . $message, 'type' => 'success', 'icon' => false, ]; $admin_notices->print_admin_notice( $options ); } /** * @access protected */ protected function start_run() { $updater = $this->get_task_runner(); if ( $updater->is_running() ) { return; } $upgrade_callbacks = $this->get_upgrade_callbacks(); if ( empty( $upgrade_callbacks ) ) { $this->on_runner_complete(); return; } foreach ( $upgrade_callbacks as $callback ) { $updater->push_to_queue( [ 'callback' => $callback, ] ); } $updater->save()->dispatch(); Plugin::$instance->logger->get_logger()->info( 'Elementor data updater process has been queued.', [ 'meta' => [ 'plugin' => $this->get_plugin_label(), 'from' => $this->current_version, 'to' => $this->get_new_version(), ], ] ); } protected function update_db_version() { update_option( $this->get_version_option_name(), $this->get_new_version() ); } public function get_upgrade_callbacks() { $prefix = '_v_'; $upgrades_class = $this->get_upgrades_class(); $upgrades_reflection = new \ReflectionClass( $upgrades_class ); $callbacks = []; foreach ( $upgrades_reflection->getMethods() as $method ) { $method_name = $method->getName(); if ( '_on_each_version' === $method_name ) { $callbacks[] = [ $upgrades_class, $method_name ]; continue; } if ( false === strpos( $method_name, $prefix ) ) { continue; } if ( ! preg_match_all( "/$prefix(\d+_\d+_\d+)/", $method_name, $matches ) ) { continue; } $method_version = str_replace( '_', '.', $matches[1][0] ); if ( ! version_compare( $method_version, $this->current_version, '>' ) ) { continue; } $callbacks[] = [ $upgrades_class, $method_name ]; } return $callbacks; } public function __construct() { // If upgrade is completed - show the notice only for admins. // Note: in this case `should_upgrade` returns false, because it's already upgraded. if ( is_admin() && current_user_can( 'update_plugins' ) && $this->get_flag( 'completed' ) ) { add_action( 'admin_notices', [ $this, 'admin_notice_upgrade_is_completed' ] ); } if ( ! $this->should_upgrade() ) { return; } $updater = $this->get_task_runner(); $this->start_run(); if ( $updater->is_running() && current_user_can( 'update_plugins' ) ) { add_action( 'admin_notices', [ $this, 'admin_notice_upgrade_is_running' ] ); } parent::__construct(); } } core/base/base-object.php000064400000013064152377341010011304 0ustar00ensure_settings(); return self::get_items( $this->settings, $setting ); } /** * Set settings. * * @since 2.3.0 * @access public * * @param array|string $key If key is an array, the settings are overwritten by that array. Otherwise, the * settings of the key will be set to the given `$value` param. * * @param mixed $value Optional. Default is null. */ final public function set_settings( $key, $value = null ) { $this->ensure_settings(); if ( is_array( $key ) ) { $this->settings = $key; } else { $this->settings[ $key ] = $value; } } /** * Delete setting. * * Deletes the settings array or a specific key of the settings array if `$key` is specified. * @since 2.3.0 * @access public * * @param string $key Optional. Default is null. */ public function delete_setting( $key = null ) { if ( $key ) { unset( $this->settings[ $key ] ); } else { $this->settings = []; } } final public function merge_properties( array $default_props, array $custom_props, array $allowed_props_keys = [] ) { $props = array_replace_recursive( $default_props, $custom_props ); if ( $allowed_props_keys ) { $props = array_intersect_key( $props, array_flip( $allowed_props_keys ) ); } return $props; } /** * Get items. * * Utility method that receives an array with a needle and returns all the * items that match the needle. If needle is not defined the entire haystack * will be returned. * * @since 2.3.0 * @access protected * @static * * @param array $haystack An array of items. * @param string $needle Optional. Needle. Default is null. * * @return mixed The whole haystack or the needle from the haystack when requested. */ final protected static function get_items( array $haystack, $needle = null ) { if ( $needle ) { return isset( $haystack[ $needle ] ) ? $haystack[ $needle ] : null; } return $haystack; } /** * Get init settings. * * Used to define the default/initial settings of the object. Inheriting classes may implement this method to define * their own default/initial settings. * * @since 2.3.0 * @access protected * * @return array */ protected function get_init_settings() { return []; } /** * Ensure settings. * * Ensures that the `$settings` member is initialized * * @since 2.3.0 * @access private */ private function ensure_settings() { if ( null === $this->settings ) { $this->settings = $this->get_init_settings(); } } /** * Has Own Method * * Used for check whether the method passed as a parameter was declared in the current instance or inherited. * If a base_class_name is passed, it checks whether the method was declared in that class. If the method's * declaring class is the class passed as $base_class_name, it returns false. Otherwise (method was NOT declared * in $base_class_name), it returns true. * * Example #1 - only $method_name is passed: * The initial declaration of `register_controls()` happens in the `Controls_Stack` class. However, all * widgets which have their own controls declare this function as well, overriding the original * declaration. If `has_own_method()` would be called by a Widget's class which implements `register_controls()`, * with 'register_controls' passed as the first parameter - `has_own_method()` will return true. If the Widget * does not declare `register_controls()`, `has_own_method()` will return false. * * Example #2 - both $method_name and $base_class_name are passed * In this example, the widget class inherits from a base class `Widget_Base`, and the base implements * `register_controls()` to add certain controls to all widgets inheriting from it. `has_own_method()` is called by * the widget, with the string 'register_controls' passed as the first parameter, and 'Elementor\Widget_Base' (its full name * including the namespace) passed as the second parameter. If the widget class implements `register_controls()`, * `has_own_method` will return true. If the widget class DOESN'T implement `register_controls()`, it will return * false (because `Widget_Base` is the declaring class for `register_controls()`, and not the class that called * `has_own_method()`). * * @since 3.1.0 * * @param string $method_name * @param string $base_class_name * * @return bool True if the method was declared by the current instance, False if it was inherited. */ public function has_own_method( $method_name, $base_class_name = null ) { try { $reflection_method = new \ReflectionMethod( $this, $method_name ); // If a ReflectionMethod is successfully created, get its declaring class. $declaring_class = $reflection_method->getDeclaringClass(); } catch ( \Exception $e ) { return false; } if ( $base_class_name ) { return $base_class_name !== $declaring_class->name; } return get_called_class() === $declaring_class->name; } } core/base/elements-iteration-actions/base.php000064400000003307152377341010015305 0ustar00mode = $mode; } public function __construct( $document ) { $this->document = $document; } } core/base/elements-iteration-actions/assets.php000064400000012056152377341010015676 0ustar00get_active_settings(); $controls = $element_data->get_controls(); $element_assets = $this->get_assets( $settings, $controls ); if ( $element_assets ) { $this->update_page_assets( $element_assets ); } } public function is_action_needed() { // No need to evaluate in preview mode, will be made in the saving process. if ( ! $this->is_active_page_assets_mode() ) { return false; } $page_assets = $this->get_saved_page_assets(); // When $page_assets is array it means that the assets registration has already been made at least once. if ( is_array( $page_assets ) ) { return false; } return true; } public function after_elements_iteration() { // In case that the page assets value is empty, it should still be saved as an empty array as an indication that at lease one iteration has occurred. if ( ! is_array( $this->page_assets ) ) { $this->page_assets = []; } $this->get_document_assets(); // Saving the page assets data. $this->document->update_meta( self::ASSETS_META_KEY, $this->page_assets ); if ( 'render' === $this->mode && $this->page_assets ) { Plugin::$instance->assets_loader->enable_assets( $this->page_assets ); } } private function get_saved_page_assets( $force_meta_fetch = false ) { if ( ! is_array( $this->saved_page_assets ) || $force_meta_fetch ) { $this->saved_page_assets = $this->document->get_meta( self::ASSETS_META_KEY ); } return $this->saved_page_assets; } private function update_page_assets( $new_assets ) { if ( ! is_array( $this->page_assets ) ) { $this->page_assets = []; } foreach ( $new_assets as $assets_type => $assets_type_data ) { if ( ! isset( $this->page_assets[ $assets_type ] ) ) { $this->page_assets[ $assets_type ] = []; } foreach ( $new_assets[ $assets_type ] as $asset_name ) { if ( ! isset( $this->page_assets[ $assets_type ][ $asset_name ] ) ) { $this->page_assets[ $assets_type ][] = $asset_name; } } } } private function get_assets( $settings, $controls ) { $assets = []; foreach ( $settings as $setting_key => $setting ) { if ( ! isset( $controls[ $setting_key ] ) ) { continue; } $control = $controls[ $setting_key ]; // Enabling assets loading from the registered control fields. if ( ! empty( $control['assets'] ) ) { foreach ( $control['assets'] as $assets_type => $dependencies ) { foreach ( $dependencies as $dependency ) { if ( ! empty( $dependency['conditions'] ) ) { $is_condition_fulfilled = Conditions::check( $dependency['conditions'], $settings ); if ( ! $is_condition_fulfilled ) { continue; } } if ( ! isset( $assets[ $assets_type ] ) ) { $assets[ $assets_type ] = []; } $assets[ $assets_type ][] = $dependency['name']; } } } // Enabling assets loading from the control object. $control_obj = Plugin::$instance->controls_manager->get_control( $control['type'] ); $control_conditional_assets = $control_obj::get_assets( $setting ); if ( $control_conditional_assets ) { foreach ( $control_conditional_assets as $assets_type => $dependencies ) { foreach ( $dependencies as $dependency ) { if ( ! isset( $assets[ $assets_type ] ) ) { $assets[ $assets_type ] = []; } $assets[ $assets_type ][] = $dependency; } } } } return $assets; } private function is_active_page_assets_mode() { $is_optimized_mode = Plugin::$instance->experiments->is_feature_active( 'e_optimized_assets_loading' ); return ! Plugin::$instance->preview->is_preview_mode() && $is_optimized_mode; } private function get_document_assets() { $document_id = $this->document->get_post()->ID; // Getting the document instance in order to get the most updated settings. $updated_document = Plugin::$instance->documents->get( $document_id, false ); $document_settings = $updated_document->get_settings(); $document_controls = $this->document->get_controls(); $document_assets = $this->get_assets( $document_settings, $document_controls ); if ( $document_assets ) { $this->update_page_assets( $document_assets ); } } public function __construct( $document ) { parent::__construct( $document ); // No need to enable assets in preview mode, all assets will be loaded by default by the assets loader. if ( ! $this->is_active_page_assets_mode() ) { return; } $page_assets = $this->get_saved_page_assets(); // If $page_assets is not empty then enabling the assets for loading. if ( $page_assets ) { Plugin::$instance->assets_loader->enable_assets( $page_assets ); } } } core/modules-manager.php000064400000005272152377341010011276 0ustar00get_modules_namespace_prefix(); foreach ( $this->get_modules_names() as $module_name ) { $class_name = str_replace( '-', ' ', $module_name ); $class_name = str_replace( ' ', '', ucwords( $class_name ) ); $class_name = $modules_namespace_prefix . '\\Modules\\' . $class_name . '\Module'; /** @var Module $class_name */ $experimental_data = $class_name::get_experimental_data(); if ( $experimental_data ) { Plugin::$instance->experiments->add_feature( $experimental_data ); if ( ! Plugin::$instance->experiments->is_feature_active( $experimental_data['name'] ) ) { continue; } } if ( $class_name::is_active() ) { $this->modules[ $module_name ] = $class_name::instance(); } } } /** * Get modules names. * * Retrieve the modules names. * * @since 2.0.0 * @access public * * @return string[] Modules names. */ public function get_modules_names() { return [ 'admin-bar', 'history', 'library', 'dynamic-tags', 'page-templates', 'gutenberg', 'wp-cli', 'safe-mode', 'usage', 'dev-tools', 'landing-pages', 'compatibility-tag', 'elements-color-picker', 'shapes', 'favorites', 'admin-top-bar', 'container-converter', 'web-cli', ]; } /** * Get modules. * * Retrieve all the registered modules or a specific module. * * @since 2.0.0 * @access public * * @param string $module_name Module name. * * @return null|Module|Module[] All the registered modules or a specific module. */ public function get_modules( $module_name ) { if ( $module_name ) { if ( isset( $this->modules[ $module_name ] ) ) { return $this->modules[ $module_name ]; } return null; } return $this->modules; } /** * Get modules namespace prefix. * * Retrieve the modules namespace prefix. * * @since 2.0.0 * @access protected * * @return string Modules namespace prefix. */ protected function get_modules_namespace_prefix() { return 'Elementor'; } } core/debug/inspector.php000064400000006467152377341010011321 0ustar00is_enabled = is_null( $option ) ? $is_debug : 'enable' === $option; if ( $this->is_enabled ) { add_action( 'admin_bar_menu', [ $this, 'add_menu_in_admin_bar' ], 201 ); } add_action( 'elementor/admin/after_create_settings/' . Tools::PAGE_ID, [ $this, 'register_admin_tools_fields' ], 50 ); } /** * @since 2.1.3 * @access public */ public function is_enabled() { return $this->is_enabled; } /** * @since 2.1.3 * @access public */ public function register_admin_tools_fields( Tools $tools ) { $tools->add_fields( Settings::TAB_GENERAL, 'tools', [ 'enable_inspector' => [ 'label' => esc_html__( 'Debug Bar', 'elementor' ), 'field_args' => [ 'type' => 'select', 'std' => $this->is_enabled ? 'enable' : '', 'options' => [ '' => esc_html__( 'Disable', 'elementor' ), 'enable' => esc_html__( 'Enable', 'elementor' ), ], 'desc' => esc_html__( 'Debug Bar adds an admin bar menu that lists all the templates that are used on a page that is being displayed.', 'elementor' ), ], ], ] ); } /** * @since 2.1.2 * @access public */ public function parse_template_path( $template ) { // `untrailingslashit` for windows path style. if ( 0 === strpos( $template, untrailingslashit( ELEMENTOR_PATH ) ) ) { return 'Elementor - ' . basename( $template ); } if ( 0 === strpos( $template, get_stylesheet_directory() ) ) { return wp_get_theme()->get( 'Name' ) . ' - ' . basename( $template ); } $plugins_dir = dirname( ELEMENTOR_PATH ); if ( 0 === strpos( $template, $plugins_dir ) ) { return ltrim( str_replace( $plugins_dir, '', $template ), '/\\' ); } return str_replace( WP_CONTENT_DIR, '', $template ); } /** * @since 2.1.2 * @access public */ public function add_log( $module, $title, $url = '' ) { if ( ! $this->is_enabled ) { return; } if ( ! isset( $this->log[ $module ] ) ) { $this->log[ $module ] = []; } $this->log[ $module ][] = [ 'title' => $title, 'url' => $url, ]; } /** * @since 2.1.2 * @access public */ public function add_menu_in_admin_bar( \WP_Admin_Bar $wp_admin_bar ) { if ( empty( $this->log ) ) { return; } $wp_admin_bar->add_node( [ 'id' => 'elementor_inspector', 'title' => esc_html__( 'Elementor Debugger', 'elementor' ), ] ); foreach ( $this->log as $module => $log ) { $module_id = sanitize_key( $module ); $wp_admin_bar->add_menu( [ 'id' => 'elementor_inspector_' . $module_id, 'parent' => 'elementor_inspector', 'title' => $module, ] ); foreach ( $log as $index => $row ) { $url = $row['url']; unset( $row['url'] ); $wp_admin_bar->add_menu( [ 'id' => 'elementor_inspector_log_' . $module_id . '_' . $index, 'parent' => 'elementor_inspector_' . $module_id, 'href' => $url, 'title' => implode( ' > ', $row ), 'meta' => [ 'target' => '_blank', ], ] ); } } } } core/debug/classes/htaccess.php000064400000002324152377341010012531 0ustar00message = esc_html__( 'Your site\'s .htaccess file appears to be missing.', 'elementor' ); } public function run() { $safe_mode_enabled = get_option( Safe_Mode::OPTION_ENABLED, '' ); if ( empty( $safe_mode_enabled ) || is_multisite() ) { return true; } $permalink_structure = get_option( 'permalink_structure' ); if ( empty( $permalink_structure ) || empty( $_SERVER['SERVER_SOFTWARE'] ) ) { return true; } $server = strtoupper( $_SERVER['SERVER_SOFTWARE'] ); if ( strstr( $server, 'APACHE' ) ) { $htaccess_file = get_home_path() . '.htaccess'; /* translators: %s: Path to .htaccess file. */ $this->message .= ' ' . sprintf( esc_html__( 'File Path: %s', 'elementor' ), $htaccess_file ) . ' '; return file_exists( $htaccess_file ); } return true; } public function get_name() { return 'apache-htaccess'; } public function get_message() { return $this->message; } public function get_help_doc_url() { return 'https://go.elementor.com/preview-not-loaded/#htaccess'; } } core/debug/classes/inspection-base.php000064400000000766152377341010014027 0ustar00exists(); } public function get_name() { return 'theme-missing'; } public function get_message() { return esc_html__( 'Some of your theme files are missing.', 'elementor' ); } public function get_help_doc_url() { return 'https://go.elementor.com/preview-not-loaded/#theme-files'; } } core/debug/loading-inspection-manager.php000064400000002727152377341010014504 0ustar00inspections['theme-missing'] = new Theme_Missing(); $this->inspections['htaccess'] = new Htaccess(); } /** * @param Inspection_Base $inspection */ public function register_inspection( $inspection ) { $this->inspections[ $inspection->get_name() ] = $inspection; } public function run_inspections() { $debug_data = [ 'message' => esc_html__( 'We\'re sorry, but something went wrong. Click on \'Learn more\' and follow each of the steps to quickly solve it.', 'elementor' ), 'header' => esc_html__( 'The preview could not be loaded', 'elementor' ), 'doc_url' => 'https://go.elementor.com/preview-not-loaded/', ]; foreach ( $this->inspections as $inspection ) { if ( ! $inspection->run() ) { $debug_data = [ 'message' => $inspection->get_message(), 'header' => $inspection->get_header_message(), 'doc_url' => $inspection->get_help_doc_url(), 'error' => true, ]; break; } } return $debug_data; } } core/admin/admin-notices.php000064400000042621152377341010012037 0ustar00install_time ) { $this->install_time = Plugin::$instance->get_install_time(); } return $this->install_time; } private function get_elementor_pages_count() { if ( null === $this->elementor_pages_count ) { $elementor_pages = new \WP_Query( [ 'no_found_rows' => true, 'post_type' => 'any', 'post_status' => 'publish', 'fields' => 'ids', 'update_post_meta_cache' => false, 'update_post_term_cache' => false, 'meta_key' => '_elementor_edit_mode', 'meta_value' => 'builder', ] ); $this->elementor_pages_count = $elementor_pages->post_count; } return $this->elementor_pages_count; } private function notice_api_upgrade_plugin() { $upgrade_notice = Api::get_upgrade_notice(); if ( empty( $upgrade_notice ) ) { return false; } if ( ! current_user_can( 'update_plugins' ) ) { return false; } if ( ! in_array( $this->current_screen_id, [ 'toplevel_page_elementor', 'edit-elementor_library', 'elementor_page_elementor-system-info', 'dashboard' ], true ) ) { return false; } // Check if have any upgrades. $update_plugins = get_site_transient( 'update_plugins' ); $has_remote_update_package = ! ( empty( $update_plugins ) || empty( $update_plugins->response[ ELEMENTOR_PLUGIN_BASE ] ) || empty( $update_plugins->response[ ELEMENTOR_PLUGIN_BASE ]->package ) ); if ( ! $has_remote_update_package && empty( $upgrade_notice['update_link'] ) ) { return false; } if ( $has_remote_update_package ) { $product = $update_plugins->response[ ELEMENTOR_PLUGIN_BASE ]; $details_url = self_admin_url( 'plugin-install.php?tab=plugin-information&plugin=' . $product->slug . '§ion=changelog&TB_iframe=true&width=600&height=800' ); $upgrade_url = wp_nonce_url( self_admin_url( 'update.php?action=upgrade-plugin&plugin=' . ELEMENTOR_PLUGIN_BASE ), 'upgrade-plugin_' . ELEMENTOR_PLUGIN_BASE ); $new_version = $product->new_version; } else { $upgrade_url = $upgrade_notice['update_link']; $details_url = $upgrade_url; $new_version = $upgrade_notice['version']; } // Check if have upgrade notices to show. if ( version_compare( ELEMENTOR_VERSION, $upgrade_notice['version'], '>=' ) ) { return false; } $notice_id = 'upgrade_notice_' . $upgrade_notice['version']; if ( User::is_user_notice_viewed( $notice_id ) ) { return false; } $message = sprintf( /* translators: 1: Details URL, 2: Accessibility text, 3: Version number, 4: Update URL, 5: Accessibility text. */ __( 'There is a new version of Elementor Page Builder available. View version %3$s details or update now.', 'elementor' ), esc_url( $details_url ), esc_attr( sprintf( /* translators: %s: Elementor version. */ __( 'View Elementor version %s details', 'elementor' ), $new_version ) ), $new_version, esc_url( $upgrade_url ), esc_attr( esc_html__( 'Update Elementor Now', 'elementor' ) ) ); $options = [ 'title' => esc_html__( 'Update Notification', 'elementor' ), 'description' => $message, 'button' => [ 'icon_classes' => 'dashicons dashicons-update', 'text' => esc_html__( 'Update Now', 'elementor' ), 'url' => $upgrade_url, ], 'id' => $notice_id, ]; $this->print_admin_notice( $options ); return true; } private function notice_api_notice() { $admin_notice = Api::get_admin_notice(); if ( empty( $admin_notice ) ) { return false; } if ( ! current_user_can( 'manage_options' ) ) { return false; } if ( ! in_array( $this->current_screen_id, [ 'toplevel_page_elementor', 'edit-elementor_library', 'elementor_page_elementor-system-info', 'dashboard' ], true ) ) { return false; } $notice_id = 'admin_notice_api_' . $admin_notice['notice_id']; if ( User::is_user_notice_viewed( $notice_id ) ) { return false; } $options = [ 'title' => esc_html__( 'Update Notification', 'elementor' ), 'description' => $admin_notice['notice_text'], 'id' => $notice_id, ]; $this->print_admin_notice( $options ); return true; } private function notice_tracker() { if ( ! current_user_can( 'manage_options' ) ) { return false; } // Show tracker notice after 24 hours from installed time. if ( strtotime( '+24 hours', $this->get_install_time() ) > time() ) { return false; } if ( '1' === get_option( 'elementor_tracker_notice' ) ) { return false; } if ( Tracker::is_allow_track() ) { return false; } if ( 2 > $this->get_elementor_pages_count() ) { return false; } // TODO: Skip for development env. $optin_url = wp_nonce_url( add_query_arg( 'elementor_tracker', 'opt_into' ), 'opt_into' ); $optout_url = wp_nonce_url( add_query_arg( 'elementor_tracker', 'opt_out' ), 'opt_out' ); $tracker_description_text = esc_html__( 'Become a super contributor by opting in to share non-sensitive plugin data and to receive periodic email updates from us.', 'elementor' ); /** * Tracker admin description text. * * Filters the admin notice text for non-sensitive data collection. * * @since 1.0.0 * * @param string $tracker_description_text Description text displayed in admin notice. */ $tracker_description_text = apply_filters( 'elementor/tracker/admin_description_text', $tracker_description_text ); $message = esc_html( $tracker_description_text ) . ' ' . esc_html__( 'Learn more.', 'elementor' ) . ''; $options = [ 'title' => esc_html__( 'Love using Elementor?', 'elementor' ), 'description' => $message, 'button' => [ 'text' => esc_html__( 'Sure! I\'d love to help', 'elementor' ), 'url' => $optin_url, 'type' => 'cta', ], 'button_secondary' => [ 'text' => esc_html__( 'No thanks', 'elementor' ), 'url' => $optout_url, 'variant' => 'outline', 'type' => 'cta', ], ]; $this->print_admin_notice( $options ); return true; } private function notice_rate_us_feedback() { $notice_id = 'rate_us_feedback'; if ( ! current_user_can( 'manage_options' ) ) { return false; } if ( 'dashboard' !== $this->current_screen_id || User::is_user_notice_viewed( $notice_id ) ) { return false; } if ( 10 >= $this->get_elementor_pages_count() ) { return false; } $dismiss_url = add_query_arg( [ 'action' => 'elementor_set_admin_notice_viewed', 'notice_id' => esc_attr( $notice_id ), ], admin_url( 'admin-post.php' ) ); $options = [ 'title' => esc_html__( 'Congrats!', 'elementor' ), 'description' => esc_html__( 'You created over 10 pages with Elementor. Great job! If you can spare a minute, please help us by leaving a five star review on WordPress.org.', 'elementor' ), 'id' => $notice_id, 'button' => [ 'text' => esc_html__( 'Happy To Help', 'elementor' ), 'url' => 'https://go.elementor.com/admin-review/', 'new_tab' => true, 'type' => 'cta', ], 'button_secondary' => [ 'text' => esc_html__( 'Hide Notification', 'elementor' ), 'classes' => [ 'e-notice-dismiss' ], 'url' => esc_url_raw( $dismiss_url ), 'new_tab' => true, 'type' => 'cta', ], ]; $this->print_admin_notice( $options ); return true; } private function notice_woocommerce_promote() { $notice_id = 'woocommerce_promote'; if ( Utils::has_pro() || ! function_exists( 'WC' ) ) { return false; } if ( ! current_user_can( 'install_plugins' ) ) { return false; } if ( ! in_array( $this->current_screen_id, [ 'edit-product', 'woocommerce_page_wc-settings' ], true ) || User::is_user_notice_viewed( $notice_id ) ) { return false; } if ( strtotime( '2019-08-01' ) > $this->get_install_time() ) { return false; } if ( strtotime( '+24 hours', $this->get_install_time() ) > time() ) { return false; } $options = [ 'title' => esc_html__( 'Using WooCommerce?', 'elementor' ), 'description' => esc_html__( 'With Elementor Pro’s WooCommerce Builder, you’ll be able to design your store without coding!', 'elementor' ), 'id' => $notice_id, 'button' => [ 'text' => esc_html__( 'Learn More', 'elementor' ), 'url' => 'https://go.elementor.com/plugin-promotion-woocommerce/', 'new_tab' => true, 'type' => 'cta', ], ]; $this->print_admin_notice( $options ); return true; } private function notice_cf7_promote() { $notice_id = 'cf7_promote'; if ( Utils::has_pro() || ! defined( 'WPCF7_VERSION' ) ) { return false; } if ( ! current_user_can( 'install_plugins' ) ) { return false; } if ( ! in_array( $this->current_screen_id, [ 'toplevel_page_wpcf7', 'contact_page_wpcf7-integration' ], true ) || User::is_user_notice_viewed( $notice_id ) ) { return false; } if ( strtotime( '2019-08-01' ) > $this->get_install_time() ) { return false; } if ( strtotime( '+24 hours', $this->get_install_time() ) > time() ) { return false; } $options = [ 'title' => esc_html__( 'Using Elementor & Contact Form 7?', 'elementor' ), 'description' => esc_html__( 'Try out Elementor Pro and design your forms visually with one powerful tool.', 'elementor' ), 'id' => $notice_id, 'button' => [ 'text' => esc_html__( 'Learn More', 'elementor' ), 'url' => 'https://go.elementor.com/plugin-promotion-contactform7/', 'new_tab' => true, 'type' => 'cta', ], ]; $this->print_admin_notice( $options ); return true; } private function notice_mc4wp_promote() { $notice_id = 'mc4wp_promote'; if ( Utils::has_pro() || ! defined( 'MC4WP_VERSION' ) ) { return false; } if ( ! current_user_can( 'install_plugins' ) ) { return false; } if ( ! in_array( $this->current_screen_id, [ 'toplevel_page_mailchimp-for-wp', 'mc4wp_page_mailchimp-for-wp-forms', 'mc4wp_page_mailchimp-for-wp-integrations', 'mc4wp_page_mailchimp-for-wp-other', 'mc4wp_page_mailchimp-for-wp-extensions' ], true ) || User::is_user_notice_viewed( $notice_id ) ) { return false; } if ( strtotime( '2019-08-01' ) > $this->get_install_time() ) { return false; } if ( strtotime( '+24 hours', $this->get_install_time() ) > time() ) { return false; } $options = [ 'title' => esc_html__( 'Want to design better MailChimp forms?', 'elementor' ), 'description' => esc_html__( 'Use Elementor Pro and enjoy unlimited integrations, visual design, templates and more.', 'elementor' ), 'dismissible' => true, 'id' => $notice_id, 'button' => [ 'text' => esc_html__( 'Learn More', 'elementor' ), 'url' => 'https://go.elementor.com/plugin-promotion-mc4wp/', 'new_tab' => true, 'type' => 'cta', ], ]; $this->print_admin_notice( $options ); return true; } private function notice_popup_maker_promote() { $notice_id = 'popup_maker_promote'; if ( Utils::has_pro() || ! class_exists( 'Popup_Maker' ) ) { return false; } if ( ! current_user_can( 'install_plugins' ) ) { return false; } if ( ! in_array( $this->current_screen_id, [ 'edit-popup', 'popup_page_pum-settings' ], true ) || User::is_user_notice_viewed( $notice_id ) ) { return false; } if ( strtotime( '2019-08-01' ) > $this->get_install_time() ) { return false; } if ( strtotime( '+24 hours', $this->get_install_time() ) > time() ) { return false; } $options = [ 'title' => esc_html__( 'Using popups on your site?', 'elementor' ), 'description' => esc_html__( 'Build outstanding popups using Elementor Pro and get more leads, sales and subscribers.', 'elementor' ), 'dismissible' => true, 'id' => $notice_id, 'button' => [ 'text' => esc_html__( 'Learn More', 'elementor' ), 'url' => 'https://go.elementor.com/plugin-promotion-popupmaker/', 'new_tab' => true, 'type' => 'cta', ], ]; $this->print_admin_notice( $options ); return true; } private function notice_role_manager_promote() { $notice_id = 'role_manager_promote'; if ( Utils::has_pro() ) { return false; } if ( ! current_user_can( 'manage_options' ) ) { return false; } if ( 'elementor_page_elementor-role-manager' !== $this->current_screen_id || User::is_user_notice_viewed( $notice_id ) ) { return false; } $users = new \WP_User_Query( [ 'fields' => 'ID', 'number' => 10, ] ); if ( 5 > $users->get_total() ) { return false; } $options = [ 'title' => esc_html__( 'Managing a multi-user site?', 'elementor' ), 'description' => esc_html__( 'With Elementor Pro, you can control user access and make sure no one messes up your design.', 'elementor' ), 'id' => $notice_id, 'button' => [ 'text' => esc_html__( 'Learn More', 'elementor' ), 'url' => 'https://go.elementor.com/plugin-promotion-role-manager/', 'new_tab' => true, 'type' => 'cta', ], ]; $this->print_admin_notice( $options ); return true; } public function print_admin_notice( array $options ) { global $pagenow; if ( in_array( $pagenow, self::EXCLUDE_PAGES ) ) { return; } $default_options = [ 'id' => null, 'title' => '', 'description' => '', 'classes' => [ 'notice', 'e-notice' ], // We include WP's default notice class so it will be properly handled by WP's js handler 'type' => '', 'dismissible' => true, 'icon' => 'eicon-elementor', 'button' => [], 'button_secondary' => [], ]; $options = array_replace_recursive( $default_options, $options ); $notice_classes = $options['classes']; $dismiss_button = ''; $icon = ''; if ( $options['type'] ) { $notice_classes[] = 'e-notice--' . $options['type']; } if ( $options['dismissible'] ) { $label = esc_html__( 'Dismiss', 'elementor' ); $notice_classes[] = 'e-notice--dismissible'; $dismiss_button = ''; } if ( $options['icon'] ) { $notice_classes[] = 'e-notice--extended'; $icon = '
'; } $wrapper_attributes = [ 'class' => $notice_classes, ]; if ( $options['id'] ) { $wrapper_attributes['data-notice_id'] = $options['id']; } ?>
>

$button_settings ) { if ( empty( $button_settings['variant'] ) && $index ) { $button_settings['variant'] = 'outline'; } if ( empty( $button_settings['text'] ) ) { continue; } $button = new Button( $button_settings ); $button->print_button(); } ?>
install_time = Plugin::$instance->get_install_time(); $this->current_screen_id = get_current_screen()->id; foreach ( $this->plain_notices as $notice ) { $method_callback = "notice_{$notice}"; if ( $this->$method_callback() ) { return; } } /** @var Base_Notice $notice_instance */ foreach ( $this->get_notices() as $notice_instance ) { if ( ! $notice_instance->should_print() ) { continue; } $this->print_admin_notice( $notice_instance->get_config() ); // It exits the method to make sure it prints only one notice. return; } } /** * @since 2.9.0 * @access public */ public function __construct() { add_action( 'admin_notices', [ $this, 'admin_notices' ], 20 ); } /** * Get module name. * * Retrieve the module name. * * @since 2.9.0 * @access public * * @return string Module name. */ public function get_name() { return 'admin-notices'; } } core/admin/feedback.php000064400000013343152377341010011030 0ustar00is_plugins_screen() ) { return; } add_action( 'admin_enqueue_scripts', [ $this, 'enqueue_feedback_dialog_scripts' ] ); } ); // Ajax. add_action( 'wp_ajax_elementor_deactivate_feedback', [ $this, 'ajax_elementor_deactivate_feedback' ] ); } /** * Get module name. * * Retrieve the module name. * * @since 1.7.0 * @access public * * @return string Module name. */ public function get_name() { return 'feedback'; } /** * Enqueue feedback dialog scripts. * * Registers the feedback dialog scripts and enqueues them. * * @since 1.0.0 * @access public */ public function enqueue_feedback_dialog_scripts() { add_action( 'admin_footer', [ $this, 'print_deactivate_feedback_dialog' ] ); $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min'; wp_register_script( 'elementor-admin-feedback', ELEMENTOR_ASSETS_URL . 'js/admin-feedback' . $suffix . '.js', [ 'elementor-common', ], ELEMENTOR_VERSION, true ); wp_enqueue_script( 'elementor-admin-feedback' ); } /** * @since 2.3.0 * @deprecated 3.1.0 */ public function localize_feedback_dialog_settings() { Plugin::$instance->modules_manager->get_modules( 'dev-tools' )->deprecation->deprecated_function( __METHOD__, '3.1.0' ); return []; } /** * Print deactivate feedback dialog. * * Display a dialog box to ask the user why he deactivated Elementor. * * Fired by `admin_footer` filter. * * @since 1.0.0 * @access public */ public function print_deactivate_feedback_dialog() { $deactivate_reasons = [ 'no_longer_needed' => [ 'title' => esc_html__( 'I no longer need the plugin', 'elementor' ), 'input_placeholder' => '', ], 'found_a_better_plugin' => [ 'title' => esc_html__( 'I found a better plugin', 'elementor' ), 'input_placeholder' => esc_html__( 'Please share which plugin', 'elementor' ), ], 'couldnt_get_the_plugin_to_work' => [ 'title' => esc_html__( 'I couldn\'t get the plugin to work', 'elementor' ), 'input_placeholder' => '', ], 'temporary_deactivation' => [ 'title' => esc_html__( 'It\'s a temporary deactivation', 'elementor' ), 'input_placeholder' => '', ], 'elementor_pro' => [ 'title' => esc_html__( 'I have Elementor Pro', 'elementor' ), 'input_placeholder' => '', 'alert' => esc_html__( 'Wait! Don\'t deactivate Elementor. You have to activate both Elementor and Elementor Pro in order for the plugin to work.', 'elementor' ), ], 'other' => [ 'title' => esc_html__( 'Other', 'elementor' ), 'input_placeholder' => esc_html__( 'Please share the reason', 'elementor' ), ], ]; ?>
$reason ) : ?>
id, [ 'plugins', 'plugins-network' ] ); } } core/admin/canary-deployment.php000064400000011655152377341010012743 0ustar00response ) ) { return $transient; } // Placeholder $stable_version = '0.0.0'; if ( ! empty( $transient->response[ static::PLUGIN_BASE ]->new_version ) ) { $stable_version = $transient->response[ static::PLUGIN_BASE ]->new_version; } if ( null === $this->canary_deployment_info ) { $this->canary_deployment_info = $this->get_canary_deployment_info(); } // Can be false - if canary version is not available. if ( empty( $this->canary_deployment_info ) ) { return $transient; } if ( ! version_compare( $this->canary_deployment_info['new_version'], $stable_version, '>' ) ) { return $transient; } $canary_deployment_info = $this->canary_deployment_info; // Most of plugin info comes from the $transient but on first check - the response is empty. if ( ! empty( $transient->response[ static::PLUGIN_BASE ] ) ) { $canary_deployment_info = array_merge( (array) $transient->response[ static::PLUGIN_BASE ], $canary_deployment_info ); } $transient->response[ static::PLUGIN_BASE ] = (object) $canary_deployment_info; return $transient; } protected function get_canary_deployment_remote_info( $force ) { return Api::get_canary_deployment_info( $force ); } private function get_canary_deployment_info() { global $pagenow; $force = 'update-core.php' === $pagenow && isset( $_GET['force-check'] ); $canary_deployment = $this->get_canary_deployment_remote_info( $force ); if ( empty( $canary_deployment['plugin_info']['new_version'] ) ) { return false; } $canary_version = $canary_deployment['plugin_info']['new_version']; if ( version_compare( $canary_version, static::CURRENT_VERSION, '<=' ) ) { return false; } if ( ! empty( $canary_deployment['conditions'] ) && ! $this->check_conditions( $canary_deployment['conditions'] ) ) { return false; } return $canary_deployment['plugin_info']; } private function check_conditions( $groups ) { foreach ( $groups as $group ) { if ( $this->check_group( $group ) ) { return true; } } return false; } private function check_group( $group ) { $is_or_relation = ! empty( $group['relation'] ) && 'OR' === $group['relation']; unset( $group['relation'] ); $result = false; foreach ( $group as $condition ) { // Reset results for each condition. $result = false; switch ( $condition['type'] ) { case 'wordpress': // phpcs:ignore WordPress.WP.CapitalPDangit.Misspelled // include an unmodified $wp_version include ABSPATH . WPINC . '/version.php'; $result = version_compare( $wp_version, $condition['version'], $condition['operator'] ); break; case 'multisite': $result = is_multisite() === $condition['multisite']; break; case 'language': $in_array = in_array( get_locale(), $condition['languages'], true ); $result = 'in' === $condition['operator'] ? $in_array : ! $in_array; break; case 'plugin': if ( ! empty( $condition['plugin_file'] ) ) { $plugin_file = $condition['plugin_file']; // For PHP Unit tests. } else { $plugin_file = WP_PLUGIN_DIR . '/' . $condition['plugin']; // Default. } $version = ''; if ( is_plugin_active( $condition['plugin'] ) && file_exists( $plugin_file ) ) { $plugin_data = get_plugin_data( $plugin_file ); if ( isset( $plugin_data['Version'] ) ) { $version = $plugin_data['Version']; } } $result = version_compare( $version, $condition['version'], $condition['operator'] ); break; case 'theme': $theme = wp_get_theme(); if ( wp_get_theme()->parent() ) { $theme = wp_get_theme()->parent(); } if ( $theme->get_template() === $condition['theme'] ) { $version = $theme->version; } else { $version = ''; } $result = version_compare( $version, $condition['version'], $condition['operator'] ); break; } if ( ( $is_or_relation && $result ) || ( ! $is_or_relation && ! $result ) ) { return $result; } } return $result; } /** * @since 2.6.0 * @access public */ public function __construct() { add_filter( 'pre_set_site_transient_update_plugins', [ $this, 'check_version' ] ); } } core/admin/menu/base.php000064400000007040152377341010011157 0ustar00init_args(); $this->init_options(); add_action( 'admin_menu', function() { $this->register(); } ); if ( $this->options['separator'] ) { add_action( 'admin_menu', function() { $this->add_menu_separator(); } ); add_filter( 'custom_menu_order', '__return_true' ); add_filter( 'menu_order', function( $menu_order ) { return $this->rearrange_menu_separator( $menu_order ); } ); } } public function get_args( $arg = null ) { return self::get_items( $this->args, $arg ); } public function add_submenu( $submenu_args ) { $default_submenu_args = [ 'page_title' => '', 'capability' => $this->args['capability'], 'function' => null, 'index' => null, ]; $this->submenus[] = array_merge( $default_submenu_args, $submenu_args ); } protected function get_init_options() { return []; } protected function register_default_submenus() {} protected function register() { $args = $this->args; add_menu_page( $args['page_title'], $args['menu_title'], $args['capability'], $args['menu_slug'], $args['function'], $args['icon_url'], $args['position'] ); $this->register_default_submenus(); do_action( 'elementor/admin/menu_registered/' . $args['menu_slug'], $this ); usort( $this->submenus, function( $a, $b ) { return $a['index'] - $b['index']; } ); foreach ( $this->submenus as $index => $submenu_item ) { $submenu_args = [ $args['menu_slug'], $submenu_item['page_title'], $submenu_item['menu_title'], $submenu_item['capability'], $submenu_item['menu_slug'], $submenu_item['function'], ]; if ( 0 === $submenu_item['index'] ) { $submenu_args[] = 0; } add_submenu_page( ...$submenu_args ); if ( ! empty( $submenu_item['class'] ) ) { global $submenu; $submenu[ $args['menu_slug'] ][ $index + 1 ][4] = $submenu_item['class']; // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited } } } private function init_args() { $default_args = [ 'function' => null, 'icon_url' => null, 'position' => null, ]; $this->args = array_merge( $default_args, $this->get_init_args() ); } private function init_options() { $default_options = [ 'separator' => false, ]; $this->options = array_merge( $default_options, $this->get_init_options() ); } private function add_menu_separator() { global $menu; $slug = $this->args['menu_slug']; $menu[] = [ '', 'read', 'separator-' . $slug, '', 'wp-menu-separator ' . $slug ]; // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited } private function rearrange_menu_separator( $menu_order ) { // Initialize our custom order array. $custom_menu_order = []; $slug = $this->args['menu_slug']; $separator_name = 'separator-' . $slug; // Get the index of our custom separator. $custom_separator = array_search( $separator_name, $menu_order, true ); // Loop through menu order and do some rearranging. foreach ( $menu_order as $item ) { if ( $slug === $item ) { $custom_menu_order[] = $separator_name; $custom_menu_order[] = $item; unset( $menu_order[ $custom_separator ] ); } elseif ( $separator_name !== $item ) { $custom_menu_order[] = $item; } } // Return order. return $custom_menu_order; } } core/admin/menu/main.php000064400000004011152377341010011164 0ustar00 esc_html__( 'Elementor', 'elementor' ), 'menu_title' => esc_html__( 'Elementor', 'elementor' ), 'capability' => 'manage_options', 'menu_slug' => 'elementor', 'function' => [ Plugin::$instance->settings, 'display_settings_page' ], 'position' => 58.5, ]; } protected function get_init_options() { return [ 'separator' => true, ]; } protected function register_default_submenus() { $this->add_submenu( [ 'page_title' => esc_html_x( 'Templates', 'Template Library', 'elementor' ), 'menu_title' => esc_html_x( 'Templates', 'Template Library', 'elementor' ), 'menu_slug' => Source_Local::ADMIN_MENU_SLUG, 'index' => 0, ] ); $this->add_submenu( [ 'menu_title' => esc_html__( 'Help', 'elementor' ), 'menu_slug' => 'go_knowledge_base_site', 'function' => [ Plugin::$instance->settings, 'handle_external_redirects' ], 'index' => 150, ] ); } protected function register() { parent::register(); $this->rearrange_elementor_submenu(); } private function rearrange_elementor_submenu() { global $submenu; $elementor_menu_slug = $this->get_args( 'menu_slug' ); $elementor_submenu_old_index = null; $tools_submenu_index = null; foreach ( $submenu[ $elementor_menu_slug ] as $index => $submenu_item ) { if ( $elementor_menu_slug === $submenu_item[2] ) { $elementor_submenu_old_index = $index; } elseif ( Tools::PAGE_ID === $submenu_item[2] ) { $tools_submenu_index = $index; break; } } $elementor_submenu = array_splice( $submenu[ $elementor_menu_slug ], $elementor_submenu_old_index, 1 ); $elementor_submenu[0][0] = esc_html__( 'Settings', 'elementor' ); array_splice( $submenu[ $elementor_menu_slug ], $tools_submenu_index, 0, $elementor_submenu ); } } core/admin/admin.php000064400000057450152377341010010403 0ustar00=' ); } else { // If `$latest_install` is not set, Elementor was never installed on this site. $is_new_install = true; } if ( $already_had_onboarding || ! $is_new_install ) { return; } wp_safe_redirect( admin_url( 'admin.php?page=elementor-app#onboarding' ) ); exit; } /** * Enqueue admin scripts. * * Registers all the admin scripts and enqueues them. * * Fired by `admin_enqueue_scripts` action. * * @since 1.0.0 * @access public */ public function enqueue_scripts() { wp_register_script( 'elementor-admin-modules', $this->get_js_assets_url( 'admin-modules' ), [], ELEMENTOR_VERSION, true ); wp_register_script( 'elementor-admin', $this->get_js_assets_url( 'admin' ), [ 'elementor-common', 'elementor-admin-modules', ], ELEMENTOR_VERSION, true ); wp_enqueue_script( 'elementor-admin' ); $this->print_config(); } /** * Enqueue admin styles. * * Registers all the admin styles and enqueues them. * * Fired by `admin_enqueue_scripts` action. * * @since 1.0.0 * @access public */ public function enqueue_styles() { $direction_suffix = is_rtl() ? '-rtl' : ''; wp_register_style( 'elementor-admin', $this->get_css_assets_url( 'admin' . $direction_suffix ), [ 'elementor-common', ], ELEMENTOR_VERSION ); wp_enqueue_style( 'elementor-admin' ); // It's for upgrade notice. // TODO: enqueue this just if needed. add_thickbox(); } /** * Print switch mode button. * * Adds a switch button in post edit screen (which has cpt support). To allow * the user to switch from the native WordPress editor to Elementor builder. * * Fired by `edit_form_after_title` action. * * @since 1.0.0 * @access public * * @param \WP_Post $post The current post object. */ public function print_switch_mode_button( $post ) { // Exit if Gutenberg are active. if ( did_action( 'enqueue_block_editor_assets' ) ) { return; } $document = Plugin::$instance->documents->get( $post->ID ); if ( ! $document || ! $document->is_editable_by_current_user() ) { return; } wp_nonce_field( basename( __FILE__ ), '_elementor_edit_mode_nonce' ); ?>
documents->get( $post_id )->set_is_built_with_elementor( ! empty( $_POST['_elementor_post_mode'] ) ); } /** * Add Elementor post state. * * Adds a new "Elementor" post state to the post table. * * Fired by `display_post_states` filter. * * @since 1.8.0 * @access public * * @param array $post_states An array of post display states. * @param \WP_Post $post The current post object. * * @return array A filtered array of post display states. */ public function add_elementor_post_state( $post_states, $post ) { $document = Plugin::$instance->documents->get( $post->ID ); if ( $document && $document->is_built_with_elementor() && $document->is_editable_by_current_user() ) { $post_states['elementor'] = esc_html__( 'Elementor', 'elementor' ); } return $post_states; } /** * Body status classes. * * Adds CSS classes to the admin body tag. * * Fired by `admin_body_class` filter. * * @since 1.0.0 * @access public * * @param string $classes Space-separated list of CSS classes. * * @return string Space-separated list of CSS classes. */ public function body_status_classes( $classes ) { global $pagenow; if ( in_array( $pagenow, [ 'post.php', 'post-new.php' ], true ) && Utils::is_post_support() ) { $post = get_post(); $document = Plugin::$instance->documents->get( $post->ID ); $mode_class = $document && $document->is_built_with_elementor() ? 'elementor-editor-active' : 'elementor-editor-inactive'; $classes .= ' ' . $mode_class; } return $classes; } /** * Plugin action links. * * Adds action links to the plugin list table * * Fired by `plugin_action_links` filter. * * @since 1.0.0 * @access public * * @param array $links An array of plugin action links. * * @return array An array of plugin action links. */ public function plugin_action_links( $links ) { $settings_link = sprintf( '%2$s', admin_url( 'admin.php?page=' . Settings::PAGE_ID ), esc_html__( 'Settings', 'elementor' ) ); array_unshift( $links, $settings_link ); $links['go_pro'] = sprintf( '%2$s', Utils::get_pro_link( 'https://elementor.com/pro/?utm_source=wp-plugins&utm_campaign=gopro&utm_medium=wp-dash' ), esc_html__( 'Go Pro', 'elementor' ) ); return $links; } /** * Plugin row meta. * * Adds row meta links to the plugin list table * * Fired by `plugin_row_meta` filter. * * @since 1.1.4 * @access public * * @param array $plugin_meta An array of the plugin's metadata, including * the version, author, author URI, and plugin URI. * @param string $plugin_file Path to the plugin file, relative to the plugins * directory. * * @return array An array of plugin row meta links. */ public function plugin_row_meta( $plugin_meta, $plugin_file ) { if ( ELEMENTOR_PLUGIN_BASE === $plugin_file ) { $row_meta = [ 'docs' => '' . esc_html__( 'Docs & FAQs', 'elementor' ) . '', 'ideo' => '' . esc_html__( 'Video Tutorials', 'elementor' ) . '', ]; $plugin_meta = array_merge( $plugin_meta, $row_meta ); } return $plugin_meta; } /** * Admin footer text. * * Modifies the "Thank you" text displayed in the admin footer. * * Fired by `admin_footer_text` filter. * * @since 1.0.0 * @access public * * @param string $footer_text The content that will be printed. * * @return string The content that will be printed. */ public function admin_footer_text( $footer_text ) { $current_screen = get_current_screen(); $is_elementor_screen = ( $current_screen && false !== strpos( $current_screen->id, 'elementor' ) ); if ( $is_elementor_screen ) { $footer_text = sprintf( /* translators: 1: Elementor, 2: Link to plugin review */ __( 'Enjoyed %1$s? Please leave us a %2$s rating. We really appreciate your support!', 'elementor' ), '' . esc_html__( 'Elementor', 'elementor' ) . '', '★★★★★' ); } return $footer_text; } /** * Register dashboard widgets. * * Adds a new Elementor widgets to WordPress dashboard. * * Fired by `wp_dashboard_setup` action. * * @since 1.9.0 * @access public */ public function register_dashboard_widgets() { wp_add_dashboard_widget( 'e-dashboard-overview', esc_html__( 'Elementor Overview', 'elementor' ), [ $this, 'elementor_dashboard_overview_widget' ] ); // Move our widget to top. global $wp_meta_boxes; $dashboard = $wp_meta_boxes['dashboard']['normal']['core']; $ours = [ 'e-dashboard-overview' => $dashboard['e-dashboard-overview'], ]; $wp_meta_boxes['dashboard']['normal']['core'] = array_merge( $ours, $dashboard ); // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited } /** * Elementor dashboard widget. * * Displays the Elementor dashboard widget. * * Fired by `wp_add_dashboard_widget` function. * * @since 1.9.0 * @access public */ public function elementor_dashboard_overview_widget() { $elementor_feed = Api::get_feed_data(); $recently_edited_query = Utils::get_recently_edited_posts_query(); if ( User::is_current_user_can_edit_post_type( 'page' ) ) { $create_new_label = esc_html__( 'Create New Page', 'elementor' ); $create_new_post_type = 'page'; } elseif ( User::is_current_user_can_edit_post_type( 'post' ) ) { $create_new_label = esc_html__( 'Create New Post', 'elementor' ); $create_new_post_type = 'post'; } ?>
v
have_posts() ) : ?>

    have_posts() ) : $recently_edited_query->the_post(); $document = Plugin::$instance->documents->get( get_the_ID() ); $date = date_i18n( _x( 'M jS', 'Dashboard Overview Widget Recently Date', 'elementor' ), get_the_modified_time( 'U' ) ); ?>
  • ,
[ 'title' => esc_html__( 'Blog', 'elementor' ), 'link' => 'https://go.elementor.com/overview-widget-blog/', ], 'help' => [ 'title' => esc_html__( 'Help', 'elementor' ), 'link' => 'https://go.elementor.com/overview-widget-docs/', ], ]; $additions_actions = [ 'go-pro' => [ 'title' => esc_html__( 'Upgrade', 'elementor' ), 'link' => 'https://go.elementor.com/go-pro-wp-overview-widget/', ], ]; // Visible to all core users when Elementor Pro is not installed. $additions_actions['find_an_expert'] = [ 'title' => esc_html__( 'Find an Expert', 'elementor' ), 'link' => 'https://go.elementor.com/go-pro-find-an-expert/', ]; /** * Dashboard widget footer actions. * * Filters the additions actions displayed in Elementor dashboard widget. * * Developers can add new action links to Elementor dashboard widget * footer using this filter. * * @since 1.9.0 * * @param array $additions_actions Elementor dashboard widget footer actions. */ $additions_actions = apply_filters( 'elementor/admin/dashboard_overview_widget/footer_actions', $additions_actions ); $actions = $base_actions + $additions_actions; return $actions; } /** * Admin action new post. * * When a new post action is fired the title is set to 'Elementor' and the post ID. * * Fired by `admin_action_elementor_new_post` action. * * @since 1.9.0 * @access public */ public function admin_action_new_post() { check_admin_referer( 'elementor_action_new_post' ); if ( empty( $_GET['post_type'] ) ) { $post_type = 'post'; } else { $post_type = $_GET['post_type']; } if ( ! User::is_current_user_can_edit_post_type( $post_type ) ) { return; } if ( empty( $_GET['template_type'] ) ) { $type = 'post'; } else { $type = sanitize_text_field( $_GET['template_type'] ); } $post_data = isset( $_GET['post_data'] ) ? $_GET['post_data'] : []; $meta = []; /** * Create new post meta data. * * Filters the meta data of any new post created. * * @since 2.0.0 * * @param array $meta Post meta data. */ $meta = apply_filters( 'elementor/admin/create_new_post/meta', $meta ); $post_data['post_type'] = $post_type; $document = Plugin::$instance->documents->create( $type, $post_data, $meta ); if ( is_wp_error( $document ) ) { wp_die( $document ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } wp_redirect( $document->get_edit_url() ); die; } /** * @since 2.3.0 * @access public */ public function add_new_template_template() { Plugin::$instance->common->add_template( ELEMENTOR_PATH . 'includes/admin-templates/new-template.php' ); } /** * @access public */ public function enqueue_new_template_scripts() { $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min'; wp_enqueue_script( 'elementor-new-template', ELEMENTOR_ASSETS_URL . 'js/new-template' . $suffix . '.js', [], ELEMENTOR_VERSION, true ); } /** * @since 2.6.0 * @access public */ public function add_beta_tester_template() { Plugin::$instance->common->add_template( ELEMENTOR_PATH . 'includes/admin-templates/beta-tester.php' ); } /** * @access public */ public function enqueue_beta_tester_scripts() { $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min'; wp_enqueue_script( 'elementor-beta-tester', ELEMENTOR_ASSETS_URL . 'js/beta-tester' . $suffix . '.js', [], ELEMENTOR_VERSION, true ); } /** * @access public */ public function init_new_template() { if ( 'edit-elementor_library' !== get_current_screen()->id ) { return; } // Allow plugins to add their templates on admin_head. add_action( 'admin_head', [ $this, 'add_new_template_template' ] ); add_action( 'admin_enqueue_scripts', [ $this, 'enqueue_new_template_scripts' ] ); } public function version_update_warning( $current_version, $new_version ) { $current_version_minor_part = explode( '.', $current_version )[1]; $new_version_minor_part = explode( '.', $new_version )[1]; if ( $current_version_minor_part === $new_version_minor_part ) { return; } ?>
', '' ); ?>
base ) || 'elementor_page_elementor-tools' === $current_screen->id ) { add_action( 'admin_head', [ $this, 'add_beta_tester_template' ] ); add_action( 'admin_enqueue_scripts', [ $this, 'enqueue_beta_tester_scripts' ] ); } } /** * Admin constructor. * * Initializing Elementor in WordPress admin. * * @since 1.0.0 * @access public */ public function __construct() { Plugin::$instance->init_common(); $this->add_component( 'feedback', new Feedback() ); $this->add_component( 'canary-deployment', new Canary_Deployment() ); $this->add_component( 'admin-notices', new Admin_Notices() ); if ( Plugin::$instance->experiments->is_feature_active( 'admin_menu_rearrangement' ) ) { $this->register_menu(); } add_action( 'admin_init', [ $this, 'maybe_redirect_to_getting_started' ] ); add_action( 'admin_enqueue_scripts', [ $this, 'enqueue_scripts' ] ); add_action( 'admin_enqueue_scripts', [ $this, 'enqueue_styles' ] ); add_action( 'edit_form_after_title', [ $this, 'print_switch_mode_button' ] ); add_action( 'save_post', [ $this, 'save_post' ] ); add_filter( 'display_post_states', [ $this, 'add_elementor_post_state' ], 10, 2 ); add_filter( 'plugin_action_links_' . ELEMENTOR_PLUGIN_BASE, [ $this, 'plugin_action_links' ] ); add_filter( 'plugin_row_meta', [ $this, 'plugin_row_meta' ], 10, 2 ); add_filter( 'admin_body_class', [ $this, 'body_status_classes' ] ); add_filter( 'admin_footer_text', [ $this, 'admin_footer_text' ] ); // Register Dashboard Widgets. add_action( 'wp_dashboard_setup', [ $this, 'register_dashboard_widgets' ] ); // Admin Actions add_action( 'admin_action_elementor_new_post', [ $this, 'admin_action_new_post' ] ); add_action( 'current_screen', [ $this, 'init_new_template' ] ); add_action( 'current_screen', [ $this, 'init_beta_tester' ] ); add_action( 'in_plugin_update_message-' . ELEMENTOR_PLUGIN_BASE, function( $plugin_data ) { $this->version_update_warning( ELEMENTOR_VERSION, $plugin_data['new_version'] ); } ); add_filter( 'elementor/core/admin/notices', function( $notices ) { $notices[] = new Update_Php_Notice(); return $notices; } ); } /** * @since 2.3.0 * @access protected */ protected function get_init_settings() { $beta_tester_email = get_user_meta( get_current_user_id(), User::BETA_TESTER_META_KEY, true ); $elementor_beta = get_option( 'elementor_beta', 'no' ); $all_introductions = User::get_introduction_meta(); $beta_tester_signup_dismissed = array_key_exists( Beta_Testers::BETA_TESTER_SIGNUP, $all_introductions ); $settings = [ 'home_url' => home_url(), 'settings_url' => Settings::get_url(), 'user' => [ 'introduction' => User::get_introduction_meta(), ], 'beta_tester' => [ 'beta_tester_signup' => Beta_Testers::BETA_TESTER_SIGNUP, 'has_email' => $beta_tester_email, 'option_enabled' => 'no' !== $elementor_beta, 'signup_dismissed' => $beta_tester_signup_dismissed, ], ]; /** * Localize settings. * * Filters the initial localize settings in the admin. * * WordPress has it's own way to pass localized data from PHP (backend) to * JS (frontend). Elementor uses this method to pass localize data in the * admin. This hook can be used to add more localized settings in addition * to the initial Elementor settings. * * @since 2.3.0 * * @param array $settings Initial localize settings. */ $settings = apply_filters( 'elementor/admin/localize_settings', $settings ); return $settings; } private function register_menu() { $this->menus['main'] = new MainMenu(); } } core/admin/notices/base-notice.php000064400000001003152377341010013127 0ustar00 static::ID, 'title' => esc_html__( 'Update your PHP to keep getting Elementor updates', 'elementor' ), 'description' => esc_html__( 'Elementor\'s upcoming v3.7 will include a deprecation of PHP v5.6 that prevents you from receiving future updates. Make sure you update now - either manually or with your hosting provider.', 'elementor' ), 'button' => [ 'text' => '' . esc_html__( 'Show me how', 'elementor' ), 'url' => 'https://go.elementor.com/wp-dash-php-deprecated/', 'new_tab' => true, 'type' => 'cta', ], ]; } } core/admin/notices/elementor-dev-notice.php000064400000010353152377341010014773 0ustar00is_elementor_dev_installed() && ! $this->is_install_screen() && ( ( $this->has_at_least_one_active_experiment() && $this->is_elementor_setting_page() ) || $this->is_promotion_plugins_installed() || $this->is_promotion_options_enabled() ); } /** * @inheritDoc */ public function get_config() { return [ 'id' => static::ID, 'title' => esc_html__( 'Elementor Developer Edition', 'elementor' ), 'description' => __( 'Get a sneak peek at our in progress development versions, and help us improve Elementor to perfection. Developer Edition releases contain experimental functionality for testing purposes.', 'elementor' ), 'button' => [ 'text' => esc_html__( 'Install & Activate', 'elementor' ), 'url' => wp_nonce_url( self_admin_url( 'update.php?action=install-plugin&plugin=' . static::PLUGIN_SLUG ), 'install-plugin_' . static::PLUGIN_SLUG ), 'type' => 'cta', ], ]; } /** * Return all the plugins names. * * This method is protected so it can be mocked in tests. * * @return array */ protected function get_plugins() { if ( ! $this->plugins ) { $this->plugins = array_keys( get_plugins() ); } return $this->plugins; } /** * Checks if elementor dev is installed * * @return bool */ private function is_elementor_dev_installed() { return in_array( static::PLUGIN_NAME, $this->get_plugins(), true ); } /** * Checks if the admin screen is install screen. * * @return bool */ private function is_install_screen() { $screen = get_current_screen(); if ( ! $screen ) { return false; } return 'update' === $screen->id; } /** * Checks if is one of the promotion plugins is installed * * @return bool */ private function is_promotion_plugins_installed() { return array_reduce( $this->promotion_plugins, function ( $should_show_notice, $plugin_name ) { if ( $should_show_notice ) { return true; } return in_array( $plugin_name, $this->get_plugins(), true ); }, false ); } /** * Checks if is one of the promotion options is enabled. * * @return bool */ private function is_promotion_options_enabled() { return array_reduce( $this->promotion_options, function ( $should_show_notice, $option ) { if ( $should_show_notice ) { return true; } return 'yes' === get_option( $option, 'no' ); }, false ); } /** * Checks if as at least one active experiment (The state must be "active" and not default-active). * * @return bool */ private function has_at_least_one_active_experiment() { foreach ( Plugin::$instance->experiments->get_features() as $feature_name => $feature ) { if ( Experiments_Manager::STATE_ACTIVE === $feature['state'] ) { return true; } } return false; } /** * Checks if the current page is elementor settings page * * @return bool */ private function is_elementor_setting_page() { $current_screen = get_current_screen(); return $current_screen && 'toplevel_page_' . Settings::PAGE_ID === $current_screen->id; } } core/admin/ui/components/button.php000064400000004565152377341010013427 0ustar00get_options(); if ( empty( $options['text'] ) ) { return; } $html_tag = ! empty( $options['url'] ) ? 'a' : 'button'; $before = ''; $icon = ''; $attributes = []; if ( ! empty( $options['icon'] ) ) { $icon = ''; } $classes = $options['classes']; $default_classes = $this->get_default_options( 'classes' ); $classes = array_merge( $classes, $default_classes ); if ( ! empty( $options['type'] ) ) { $classes[] = 'e-button--' . $options['type']; } if ( ! empty( $options['variant'] ) ) { $classes[] = 'e-button--' . $options['variant']; } if ( ! empty( $options['before'] ) ) { $before = '' . wp_kses_post( $options['before'] ) . ''; } if ( ! empty( $options['url'] ) ) { $attributes['href'] = $options['url']; if ( $options['new_tab'] ) { $attributes['target'] = '_blank'; } } $attributes['class'] = $classes; $html = $before . '<' . $html_tag . ' ' . Utils::render_html_attributes( $attributes ) . '>'; $html .= $icon; $html .= '' . sanitize_text_field( $options['text'] ) . ''; $html .= ''; echo $html; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } /** * @param string $option Optional default is null * @return array|mixed */ private function get_options( $option = null ) { return $this->get_items( $this->options, $option ); } /** * @param null $option * @return array */ private function get_default_options( $option = null ) { $default_options = [ 'classes' => [ 'e-button' ], 'icon' => '', 'new_tab' => false, 'text' => '', 'type' => '', 'url' => '', 'variant' => '', 'before' => '', ]; if ( null !== $option && -1 !== in_array( $option, $default_options ) ) { return $default_options[ $option ]; } return $default_options; } public function __construct( array $options ) { $this->options = $this->merge_properties( $this->get_default_options(), $options ); } } core/documents-manager.php000064400000042776152377341010011641 0ustar00register_ajax_action( 'save_builder', [ $this, 'ajax_save' ] ); $ajax_manager->register_ajax_action( 'discard_changes', [ $this, 'ajax_discard_changes' ] ); $ajax_manager->register_ajax_action( 'get_document_config', [ $this, 'ajax_get_document_config' ] ); } /** * Register default types. * * Registers the default document types. * * @since 2.0.0 * @access public */ public function register_default_types() { $default_types = [ 'post' => Post::get_class_full_name(), // BC. 'wp-post' => Post::get_class_full_name(), 'wp-page' => Page::get_class_full_name(), ]; foreach ( $default_types as $type => $class ) { $this->register_document_type( $type, $class ); } } /** * Register document type. * * Registers a single document. * * @since 2.0.0 * @access public * * @param string $type Document type name. * @param string $class The name of the class that registers the document type. * Full name with the namespace. * * @return Documents_Manager The updated document manager instance. */ public function register_document_type( $type, $class ) { $this->types[ $type ] = $class; $cpt = $class::get_property( 'cpt' ); if ( $cpt ) { foreach ( $cpt as $post_type ) { $this->cpt[ $post_type ] = $type; } } if ( $class::get_property( 'register_type' ) ) { Source_Local::add_template_type( $type ); } return $this; } /** * Get document. * * Retrieve the document data based on a post ID. * * @since 2.0.0 * @access public * * @param int $post_id Post ID. * @param bool $from_cache Optional. Whether to retrieve cached data. Default is true. * * @return false|Document Document data or false if post ID was not entered. */ public function get( $post_id, $from_cache = true ) { $this->register_types(); $post_id = absint( $post_id ); if ( ! $post_id || ! get_post( $post_id ) ) { return false; } /** * Retrieve document post ID. * * Filters the document post ID. * * @since 2.0.7 * * @param int $post_id The post ID of the document. */ $post_id = apply_filters( 'elementor/documents/get/post_id', $post_id ); if ( ! $from_cache || ! isset( $this->documents[ $post_id ] ) ) { if ( wp_is_post_autosave( $post_id ) ) { $post_type = get_post_type( wp_get_post_parent_id( $post_id ) ); } else { $post_type = get_post_type( $post_id ); } $doc_type = 'post'; if ( isset( $this->cpt[ $post_type ] ) ) { $doc_type = $this->cpt[ $post_type ]; } $meta_type = get_post_meta( $post_id, Document::TYPE_META_KEY, true ); if ( $meta_type && isset( $this->types[ $meta_type ] ) ) { $doc_type = $meta_type; } $doc_type_class = $this->get_document_type( $doc_type ); $this->documents[ $post_id ] = new $doc_type_class( [ 'post_id' => $post_id, ] ); } return $this->documents[ $post_id ]; } /** * Get document or autosave. * * Retrieve either the document or the autosave. * * @since 2.0.0 * @access public * * @param int $id Optional. Post ID. Default is `0`. * @param int $user_id Optional. User ID. Default is `0`. * * @return false|Document The document if it exist, False otherwise. */ public function get_doc_or_auto_save( $id, $user_id = 0 ) { $document = $this->get( $id ); if ( $document && $document->get_autosave_id( $user_id ) ) { $document = $document->get_autosave( $user_id ); } return $document; } /** * Get document for frontend. * * Retrieve the document for frontend use. * * @since 2.0.0 * @access public * * @param int $post_id Optional. Post ID. Default is `0`. * * @return false|Document The document if it exist, False otherwise. */ public function get_doc_for_frontend( $post_id ) { if ( is_preview() || Plugin::$instance->preview->is_preview_mode() ) { $document = $this->get_doc_or_auto_save( $post_id, get_current_user_id() ); } else { $document = $this->get( $post_id ); } return $document; } /** * Get document type. * * Retrieve the type of any given document. * * @since 2.0.0 * @access public * * @param string $type * * @param string $fallback * * @return Document|bool The type of the document. */ public function get_document_type( $type, $fallback = 'post' ) { $types = $this->get_document_types(); if ( isset( $types[ $type ] ) ) { return $types[ $type ]; } if ( isset( $types[ $fallback ] ) ) { return $types[ $fallback ]; } return false; } /** * Get document types. * * Retrieve the all the registered document types. * * @since 2.0.0 * @access public * * @param array $args Optional. An array of key => value arguments to match against * the properties. Default is empty array. * @param string $operator Optional. The logical operation to perform. 'or' means only one * element from the array needs to match; 'and' means all elements * must match; 'not' means no elements may match. Default 'and'. * * @return Document[] All the registered document types. */ public function get_document_types( $args = [], $operator = 'and' ) { $this->register_types(); if ( ! empty( $args ) ) { $types_properties = $this->get_types_properties(); $filtered = wp_filter_object_list( $types_properties, $args, $operator ); return array_intersect_key( $this->types, $filtered ); } return $this->types; } /** * Get document types with their properties. * * @return array A list of properties arrays indexed by the type. */ public function get_types_properties() { $types_properties = []; foreach ( $this->get_document_types() as $type => $class ) { $types_properties[ $type ] = $class::get_properties(); } return $types_properties; } /** * Create a document. * * Create a new document using any given parameters. * * @since 2.0.0 * @access public * * @param string $type Document type. * @param array $post_data An array containing the post data. * @param array $meta_data An array containing the post meta data. * * @return Document The type of the document. */ public function create( $type, $post_data = [], $meta_data = [] ) { $class = $this->get_document_type( $type, false ); if ( ! $class ) { return new \WP_Error( 500, sprintf( 'Type %s does not exist.', $type ) ); } if ( empty( $post_data['post_title'] ) ) { $post_data['post_title'] = esc_html__( 'Elementor', 'elementor' ); if ( 'post' !== $type ) { $post_data['post_title'] = sprintf( /* translators: %s: Document title. */ __( 'Elementor %s', 'elementor' ), call_user_func( [ $class, 'get_title' ] ) ); } $update_title = true; } $meta_data['_elementor_edit_mode'] = 'builder'; // Save the type as-is for plugins that hooked at `wp_insert_post`. $meta_data[ Document::TYPE_META_KEY ] = $type; $post_data['meta_input'] = $meta_data; $post_types = $class::get_property( 'cpt' ); if ( ! empty( $post_types[0] ) && empty( $post_data['post_type'] ) ) { $post_data['post_type'] = $post_types[0]; } $post_id = wp_insert_post( $post_data ); if ( ! empty( $update_title ) ) { $post_data['ID'] = $post_id; $post_data['post_title'] .= ' #' . $post_id; // The meta doesn't need update. unset( $post_data['meta_input'] ); wp_update_post( $post_data ); } /** @var Document $document */ $document = new $class( [ 'post_id' => $post_id, ] ); // Let the $document to re-save the template type by his way + version. $document->save( [] ); return $document; } /** * Remove user edit capabilities if document is not editable. * * Filters the user capabilities to disable editing in admin. * * @param array $allcaps An array of all the user's capabilities. * @param array $caps Actual capabilities for meta capability. * @param array $args Optional parameters passed to has_cap(), typically object ID. * * @return array */ public function remove_user_edit_cap( $allcaps, $caps, $args ) { global $pagenow; if ( ! in_array( $pagenow, [ 'post.php', 'edit.php' ], true ) ) { return $allcaps; } // Don't touch not existing or not allowed caps. if ( empty( $caps[0] ) || empty( $allcaps[ $caps[0] ] ) ) { return $allcaps; } $capability = $args[0]; if ( 'edit_post' !== $capability ) { return $allcaps; } if ( empty( $args[2] ) ) { return $allcaps; } $post_id = $args[2]; $document = Plugin::$instance->documents->get( $post_id ); if ( ! $document ) { return $allcaps; } $allcaps[ $caps[0] ] = $document::get_property( 'is_editable' ); return $allcaps; } /** * Filter Post Row Actions. * * Let the Document to filter the array of row action links on the Posts list table. * * @param array $actions * @param \WP_Post $post * * @return array */ public function filter_post_row_actions( $actions, $post ) { $document = $this->get( $post->ID ); if ( $document ) { $actions = $document->filter_admin_row_actions( $actions ); } return $actions; } /** * Save document data using ajax. * * Save the document on the builder using ajax, when saving the changes, and refresh the editor. * * @since 2.0.0 * @access public * * @param $request Post ID. * * @throws \Exception If current user don't have permissions to edit the post or the post is not using Elementor. * * @return array The document data after saving. */ public function ajax_save( $request ) { $document = $this->get( $request['editor_post_id'] ); if ( ! $document->is_built_with_elementor() || ! $document->is_editable_by_current_user() ) { throw new \Exception( 'Access denied.' ); } $this->switch_to_document( $document ); // Set the post as global post. Plugin::$instance->db->switch_to_post( $document->get_post()->ID ); $status = Document::STATUS_DRAFT; if ( isset( $request['status'] ) && in_array( $request['status'], [ Document::STATUS_PUBLISH, Document::STATUS_PRIVATE, Document::STATUS_PENDING, Document::STATUS_AUTOSAVE ], true ) ) { $status = $request['status']; } if ( Document::STATUS_AUTOSAVE === $status ) { // If the post is a draft - save the `autosave` to the original draft. // Allow a revision only if the original post is already published. if ( in_array( $document->get_post()->post_status, [ Document::STATUS_PUBLISH, Document::STATUS_PRIVATE ], true ) ) { $document = $document->get_autosave( 0, true ); } } // Set default page template because the footer-saver doesn't send default values, // But if the template was changed from canvas to default - it needed to save. if ( Utils::is_cpt_custom_templates_supported() && ! isset( $request['settings']['template'] ) ) { $request['settings']['template'] = 'default'; } $data = [ 'elements' => $request['elements'], 'settings' => $request['settings'], ]; $document->save( $data ); // Refresh after save. $document = $this->get( $document->get_post()->ID, false ); $return_data = [ 'status' => $document->get_post()->post_status, 'config' => [ 'document' => [ 'last_edited' => $document->get_last_edited(), 'urls' => [ 'wp_preview' => $document->get_wp_preview_url(), ], ], ], ]; /** * Returned documents ajax saved data. * * Filters the ajax data returned when saving the post on the builder. * * @since 2.0.0 * * @param array $return_data The returned data. * @param Document $document The document instance. */ $return_data = apply_filters( 'elementor/documents/ajax_save/return_data', $return_data, $document ); return $return_data; } /** * Ajax discard changes. * * Load the document data from an autosave, deleting unsaved changes. * * @since 2.0.0 * @access public * * @param $request * * @return bool True if changes discarded, False otherwise. */ public function ajax_discard_changes( $request ) { $document = $this->get( $request['editor_post_id'] ); $autosave = $document->get_autosave(); if ( $autosave ) { $success = $autosave->delete(); } else { $success = true; } return $success; } public function ajax_get_document_config( $request ) { $post_id = absint( $request['id'] ); Plugin::$instance->editor->set_post_id( $post_id ); $document = $this->get_doc_or_auto_save( $post_id ); if ( ! $document ) { throw new \Exception( 'Not Found.' ); } if ( ! $document->is_editable_by_current_user() ) { throw new \Exception( 'Access denied.' ); } // Set the global data like $post, $authordata and etc Plugin::$instance->db->switch_to_post( $post_id ); $this->switch_to_document( $document ); // Change mode to Builder $document->set_is_built_with_elementor( true ); $doc_config = $document->get_config(); return $doc_config; } /** * Switch to document. * * Change the document to any new given document type. * * @since 2.0.0 * @access public * * @param Document $document The document to switch to. */ public function switch_to_document( $document ) { // If is already switched, or is the same post, return. if ( $this->current_doc === $document ) { $this->switched_data[] = false; return; } $this->switched_data[] = [ 'switched_doc' => $document, 'original_doc' => $this->current_doc, // Note, it can be null if the global isn't set ]; $this->current_doc = $document; } /** * Restore document. * * Rollback to the original document. * * @since 2.0.0 * @access public */ public function restore_document() { $data = array_pop( $this->switched_data ); // If not switched, return. if ( ! $data ) { return; } $this->current_doc = $data['original_doc']; } /** * Get current document. * * Retrieve the current document. * * @since 2.0.0 * @access public * * @return Document The current document. */ public function get_current() { return $this->current_doc; } public function localize_settings( $settings ) { $translations = []; foreach ( $this->get_document_types() as $type => $class ) { $translations[ $type ] = $class::get_title(); } return array_replace_recursive( $settings, [ 'i18n' => $translations, ] ); } private function register_types() { if ( ! did_action( 'elementor/documents/register' ) ) { /** * Register Elementor documents. * * @since 2.0.0 * * @param Documents_Manager $this The document manager instance. */ do_action( 'elementor/documents/register', $this ); } } /** * Get create new post URL. * * Retrieve a custom URL for creating a new post/page using Elementor. * * @param string $post_type Optional. Post type slug. Default is 'page'. * @param string|null $template_type Optional. Query arg 'template_type'. Default is null. * * @return string A URL for creating new post using Elementor. */ public static function get_create_new_post_url( $post_type = 'page', $template_type = null ) { $query_args = [ 'action' => 'elementor_new_post', 'post_type' => $post_type, ]; if ( $template_type ) { $query_args['template_type'] = $template_type; } $new_post_url = add_query_arg( $query_args, admin_url( 'edit.php' ) ); $new_post_url = add_query_arg( '_wpnonce', wp_create_nonce( 'elementor_action_new_post' ), $new_post_url ); return $new_post_url; } } core/utils/str.php000064400000001103152377341010010153 0ustar00collection = new Collection( $items ); $this->unique_values = $unique_values; } /** * Since this class is a wrapper, every call will be forwarded to wrapped class. * Most of the collection methods returns a new collection instance, and therefore * it will be assigned as the current collection instance after executing any method. * * @param string $name * @param array $arguments */ public function __call( $name, $arguments ) { $call = call_user_func_array( [ $this->collection, $name ], $arguments ); if ( $call instanceof Collection ) { $this->collection = $this->unique_values ? $call->unique() : $call; } return $call; } } core/utils/import-export/parsers/wxr-parser-simple-xml.php000064400000020477152377341010020071 0ustar00loadXML( Utils::file_get_contents( $file ) ); if ( $libxml_disable_entity_loader_exists && ! is_null( $old_value ) ) { libxml_disable_entity_loader( $old_value ); // phpcs:ignore Generic.PHP.DeprecatedFunctions.Deprecated } if ( ! $success || isset( $dom->doctype ) ) { return new WP_Error( 'SimpleXML_parse_error', esc_html__( 'There was an error when reading this WXR file', 'elementor' ), libxml_get_errors() ); } $xml = simplexml_import_dom( $dom ); unset( $dom ); // Halt if loading produces an error. if ( ! $xml ) { return new WP_Error( 'SimpleXML_parse_error', esc_html__( 'There was an error when reading this WXR file', 'elementor' ), libxml_get_errors() ); } $wxr_version = $xml->xpath( '/rss/channel/wp:wxr_version' ); if ( ! $wxr_version ) { return new WP_Error( 'WXR_parse_error', esc_html__( 'This does not appear to be a WXR file, missing/invalid WXR version number', 'elementor' ) ); } $wxr_version = (string) trim( $wxr_version[0] ); // Confirm that we are dealing with the correct file format. if ( ! preg_match( '/^\d+\.\d+$/', $wxr_version ) ) { return new WP_Error( 'WXR_parse_error', esc_html__( 'This does not appear to be a WXR file, missing/invalid WXR version number', 'elementor' ) ); } $base_url = $xml->xpath( '/rss/channel/wp:base_site_url' ); $base_url = (string) trim( isset( $base_url[0] ) ? $base_url[0] : '' ); $base_blog_url = $xml->xpath( '/rss/channel/wp:base_blog_url' ); if ( $base_blog_url ) { $base_blog_url = (string) trim( $base_blog_url[0] ); } else { $base_blog_url = $base_url; } $page_on_front = $xml->xpath( '/rss/channel/wp:page_on_front' ); if ( $page_on_front ) { $page_on_front = (int) $page_on_front[0]; } $namespaces = $xml->getDocNamespaces(); if ( ! isset( $namespaces['wp'] ) ) { $namespaces['wp'] = 'http://wordpress.org/export/1.1/'; } if ( ! isset( $namespaces['excerpt'] ) ) { $namespaces['excerpt'] = 'http://wordpress.org/export/1.1/excerpt/'; } // Grab authors. foreach ( $xml->xpath( '/rss/channel/wp:author' ) as $author_arr ) { $a = $author_arr->children( $namespaces['wp'] ); $login = (string) $a->author_login; $authors[ $login ] = [ 'author_id' => (int) $a->author_id, 'author_login' => $login, 'author_email' => (string) $a->author_email, 'author_display_name' => (string) $a->author_display_name, 'author_first_name' => (string) $a->author_first_name, 'author_last_name' => (string) $a->author_last_name, ]; } // Grab cats, tags and terms. foreach ( $xml->xpath( '/rss/channel/wp:category' ) as $term_arr ) { $t = $term_arr->children( $namespaces['wp'] ); $category = [ 'term_id' => (int) $t->term_id, 'category_nicename' => (string) $t->category_nicename, 'category_parent' => (string) $t->category_parent, 'cat_name' => (string) $t->cat_name, 'category_description' => (string) $t->category_description, ]; foreach ( $t->termmeta as $meta ) { $category['termmeta'][] = [ 'key' => (string) $meta->meta_key, 'value' => (string) $meta->meta_value, ]; } $categories[] = $category; } foreach ( $xml->xpath( '/rss/channel/wp:tag' ) as $term_arr ) { $t = $term_arr->children( $namespaces['wp'] ); $tag = [ 'term_id' => (int) $t->term_id, 'tag_slug' => (string) $t->tag_slug, 'tag_name' => (string) $t->tag_name, 'tag_description' => (string) $t->tag_description, ]; foreach ( $t->termmeta as $meta ) { $tag['termmeta'][] = [ 'key' => (string) $meta->meta_key, 'value' => (string) $meta->meta_value, ]; } $tags[] = $tag; } foreach ( $xml->xpath( '/rss/channel/wp:term' ) as $term_arr ) { $t = $term_arr->children( $namespaces['wp'] ); $term = [ 'term_id' => (int) $t->term_id, 'term_taxonomy' => (string) $t->term_taxonomy, 'slug' => (string) $t->term_slug, 'term_parent' => (string) $t->term_parent, 'term_name' => (string) $t->term_name, 'term_description' => (string) $t->term_description, ]; foreach ( $t->termmeta as $meta ) { $term['termmeta'][] = [ 'key' => (string) $meta->meta_key, 'value' => (string) $meta->meta_value, ]; } $terms[] = $term; } // Grab posts. foreach ( $xml->channel->item as $item ) { $post = [ 'post_title' => (string) $item->title, 'guid' => (string) $item->guid, ]; $dc = $item->children( 'http://purl.org/dc/elements/1.1/' ); $post['post_author'] = (string) $dc->creator; $content = $item->children( 'http://purl.org/rss/1.0/modules/content/' ); $excerpt = $item->children( $namespaces['excerpt'] ); $post['post_content'] = (string) $content->encoded; $post['post_excerpt'] = (string) $excerpt->encoded; $wp = $item->children( $namespaces['wp'] ); $post['post_id'] = (int) $wp->post_id; $post['post_date'] = (string) $wp->post_date; $post['post_date_gmt'] = (string) $wp->post_date_gmt; $post['comment_status'] = (string) $wp->comment_status; $post['ping_status'] = (string) $wp->ping_status; $post['post_name'] = (string) $wp->post_name; $post['status'] = (string) $wp->status; $post['post_parent'] = (int) $wp->post_parent; $post['menu_order'] = (int) $wp->menu_order; $post['post_type'] = (string) $wp->post_type; $post['post_password'] = (string) $wp->post_password; $post['is_sticky'] = (int) $wp->is_sticky; if ( isset( $wp->attachment_url ) ) { $post['attachment_url'] = (string) $wp->attachment_url; } foreach ( $item->category as $c ) { $att = $c->attributes(); if ( isset( $att['nicename'] ) ) { $post['terms'][] = [ 'name' => (string) $c, 'slug' => (string) $att['nicename'], 'domain' => (string) $att['domain'], ]; } } foreach ( $wp->postmeta as $meta ) { $post['postmeta'][] = [ 'key' => (string) $meta->meta_key, 'value' => (string) $meta->meta_value, ]; } foreach ( $wp->comment as $comment ) { $meta = []; if ( isset( $comment->commentmeta ) ) { foreach ( $comment->commentmeta as $m ) { $meta[] = [ 'key' => (string) $m->meta_key, 'value' => (string) $m->meta_value, ]; } } $post['comments'][] = [ 'comment_id' => (int) $comment->comment_id, 'comment_author' => (string) $comment->comment_author, 'comment_author_email' => (string) $comment->comment_author_email, 'comment_author_IP' => (string) $comment->comment_author_IP, 'comment_author_url' => (string) $comment->comment_author_url, 'comment_date' => (string) $comment->comment_date, 'comment_date_gmt' => (string) $comment->comment_date_gmt, 'comment_content' => (string) $comment->comment_content, 'comment_approved' => (string) $comment->comment_approved, 'comment_type' => (string) $comment->comment_type, 'comment_parent' => (string) $comment->comment_parent, 'comment_user_id' => (int) $comment->comment_user_id, 'commentmeta' => $meta, ]; } $posts[] = $post; } return [ 'authors' => $authors, 'posts' => $posts, 'categories' => $categories, 'tags' => $tags, 'terms' => $terms, 'base_url' => $base_url, 'base_blog_url' => $base_blog_url, 'page_on_front' => $page_on_front, 'version' => $wxr_version, ]; } } core/utils/import-export/parsers/wxr-parser.php000064400000002557152377341010016003 0ustar00parse( $file ); // If SimpleXML succeeds or this is an invalid WXR file then return the results. if ( ! is_wp_error( $result ) || 'SimpleXML_parse_error' != $result->get_error_code() ) { return $result; } } elseif ( extension_loaded( 'xml' ) ) { $parser = new WXR_Parser_XML(); $result = $parser->parse( $file ); // If XMLParser succeeds or this is an invalid WXR file then return the results. if ( ! is_wp_error( $result ) || 'XML_parse_error' != $result->get_error_code() ) { return $result; } } // Use regular expressions if nothing else available or this is bad XML. $parser = new WXR_Parser_Regex(); return $parser->parse( $file ); } } core/utils/import-export/parsers/wxr-parser-xml.php000064400000016712152377341010016577 0ustar00clear(); $xml = xml_parser_create( 'UTF-8' ); xml_parser_set_option( $xml, XML_OPTION_SKIP_WHITE, 1 ); xml_parser_set_option( $xml, XML_OPTION_CASE_FOLDING, 0 ); xml_set_object( $xml, $this ); xml_set_character_data_handler( $xml, function ( $parser, $cdata ) { $this->cdata( $cdata ); } ); $tag_open_callback = function ( $parse, $tag, $attr ) { $this->tag_open( $tag, $attr ); }; $tag_close_callback = function ( $parser, $tag ) { $this->tag_close( $tag ); }; xml_set_element_handler( $xml, $tag_open_callback, $tag_close_callback ); if ( ! xml_parse( $xml, Utils::file_get_contents( $file ), true ) ) { $current_line = xml_get_current_line_number( $xml ); $current_column = xml_get_current_column_number( $xml ); $error_code = xml_get_error_code( $xml ); $error_string = xml_error_string( $error_code ); return new WP_Error( 'XML_parse_error', 'There was an error when reading this WXR file', [ $current_line, $current_column, $error_string, ] ); } xml_parser_free( $xml ); if ( ! preg_match( '/^\d+\.\d+$/', $this->wxr_version ) ) { return new WP_Error( 'WXR_parse_error', esc_html__( 'This does not appear to be a WXR file, missing/invalid WXR version number', 'elementor' ) ); } return array( 'authors' => $this->authors, 'posts' => $this->posts, 'categories' => $this->category, 'tags' => $this->tag, 'terms' => $this->term, 'base_url' => $this->base_url, 'base_blog_url' => $this->base_blog_url, 'version' => $this->wxr_version, ); } private function tag_open( $tag, $attr ) { if ( in_array( $tag, self::$wp_tags ) ) { $this->in_tag = substr( $tag, 3 ); return; } if ( in_array( $tag, self::$wp_sub_tags ) ) { $this->in_sub_tag = substr( $tag, 3 ); return; } switch ( $tag ) { case 'category': if ( isset( $attr['domain'], $attr['nicename'] ) ) { $this->sub_data['domain'] = $attr['domain']; $this->sub_data['slug'] = $attr['nicename']; } break; case 'item': $this->in_post = true; // No break !!!. case 'title': if ( $this->in_post ) { $this->in_tag = 'post_title'; } break; case 'guid': $this->in_tag = 'guid'; break; case 'dc:creator': $this->in_tag = 'post_author'; break; case 'content:encoded': $this->in_tag = 'post_content'; break; case 'excerpt:encoded': $this->in_tag = 'post_excerpt'; break; case 'wp:term_slug': $this->in_tag = 'slug'; break; case 'wp:meta_key': $this->in_sub_tag = 'key'; break; case 'wp:meta_value': $this->in_sub_tag = 'value'; break; } } private function cdata( $cdata ) { if ( ! trim( $cdata ) ) { return; } if ( false !== $this->in_tag || false !== $this->in_sub_tag ) { $this->cdata .= $cdata; } else { $this->cdata .= trim( $cdata ); } } private function tag_close( $tag ) { switch ( $tag ) { case 'wp:comment': unset( $this->sub_data['key'], $this->sub_data['value'] ); // Remove meta sub_data. if ( ! empty( $this->sub_data ) ) { $this->data['comments'][] = $this->sub_data; } $this->sub_data = []; break; case 'wp:commentmeta': $this->sub_data['commentmeta'][] = [ 'key' => $this->sub_data['key'], 'value' => $this->sub_data['value'], ]; break; case 'category': if ( ! empty( $this->sub_data ) ) { $this->sub_data['name'] = $this->cdata; $this->data['terms'][] = $this->sub_data; } $this->sub_data = []; break; case 'wp:postmeta': if ( ! empty( $this->sub_data ) ) { $this->data['postmeta'][] = $this->sub_data; } $this->sub_data = []; break; case 'item': $this->posts[] = $this->data; $this->data = []; break; case 'wp:category': case 'wp:tag': case 'wp:term': $n = substr( $tag, 3 ); array_push( $this->$n, $this->data ); $this->data = []; break; case 'wp:termmeta': if ( ! empty( $this->sub_data ) ) { $this->data['termmeta'][] = $this->sub_data; } $this->sub_data = []; break; case 'wp:author': if ( ! empty( $this->data['author_login'] ) ) { $this->authors[ $this->data['author_login'] ] = $this->data; } $this->data = []; break; case 'wp:base_site_url': $this->base_url = $this->cdata; if ( ! isset( $this->base_blog_url ) ) { $this->base_blog_url = $this->cdata; } break; case 'wp:base_blog_url': $this->base_blog_url = $this->cdata; break; case 'wp:wxr_version': $this->wxr_version = $this->cdata; break; default: if ( $this->in_sub_tag ) { $this->sub_data[ $this->in_sub_tag ] = $this->cdata; $this->in_sub_tag = false; } else if ( $this->in_tag ) { $this->data[ $this->in_tag ] = $this->cdata; $this->in_tag = false; } } $this->cdata = ''; } private function clear() { $this->wxr_version = ''; $this->cdata = ''; $this->data = []; $this->sub_data = []; $this->in_post = false; $this->in_tag = false; $this->in_sub_tag = false; $this->authors = []; $this->posts = []; $this->term = []; $this->category = []; $this->tag = []; } } core/utils/import-export/parsers/wxr-parser-regex.php000064400000026572152377341010017116 0ustar00 [ 'posts', function ( $post ) { return $this->process_post( $post ); }, ], 'wp:category' => [ 'categories', function ( $category ) { return $this->process_category( $category ); }, ], 'wp:tag' => [ 'tags', function ( $tag ) { return $this->process_tag( $tag ); }, ], 'wp:term' => [ 'terms', function ( $term ) { return $this->process_term( $term ); }, ], ]; $fp = $this->fopen( $file, 'r' ); if ( $fp ) { while ( ! $this->feof( $fp ) ) { $importline = rtrim( $this->fgets( $fp ) ); if ( ! $wxr_version && preg_match( '|(\d+\.\d+)|', $importline, $version ) ) { $wxr_version = $version[1]; } if ( false !== strpos( $importline, '' ) ) { preg_match( '|(.*?)|is', $importline, $url ); $this->base_url = $url[1]; continue; } if ( false !== strpos( $importline, '' ) ) { preg_match( '|(.*?)|is', $importline, $blog_url ); $this->base_blog_url = $blog_url[1]; continue; } else { $this->base_blog_url = $this->base_url; } if ( false !== strpos( $importline, '' ) ) { preg_match( '|(.*?)|is', $importline, $author ); $a = $this->process_author( $author[1] ); $this->authors[ $a['author_login'] ] = $a; continue; } foreach ( $multiline_tags as $tag => $handler ) { // Handle multi-line tags on a singular line. if ( preg_match( '|<' . $tag . '>(.*?)|is', $importline, $matches ) ) { $this->{$handler[0]}[] = call_user_func( $handler[1], $matches[1] ); continue; } $pos = strpos( $importline, "<$tag>" ); if ( false !== $pos ) { // Take note of any content after the opening tag. $multiline_content = trim( substr( $importline, $pos + strlen( $tag ) + 2 ) ); // We don't want to have this line added to `$is_multiline` below. $importline = ''; $in_multiline = $tag; continue; } $pos = strpos( $importline, "" ); if ( false !== $pos ) { $in_multiline = false; $multiline_content .= trim( substr( $importline, 0, $pos ) ); $this->{$handler[0]}[] = call_user_func( $handler[1], $multiline_content ); } } if ( $in_multiline && $importline ) { $multiline_content .= $importline . "\n"; } } $this->fclose( $fp ); } if ( ! $wxr_version ) { return new WP_Error( 'WXR_parse_error', esc_html__( 'This does not appear to be a WXR file, missing/invalid WXR version number', 'elementor' ) ); } return [ 'authors' => $this->authors, 'posts' => $this->posts, 'categories' => $this->categories, 'tags' => $this->tags, 'terms' => $this->terms, 'base_url' => $this->base_url, 'base_blog_url' => $this->base_blog_url, 'version' => $wxr_version, ]; } private function process_category( $category ) { $term = [ 'term_id' => $this->get_tag( $category, 'wp:term_id' ), 'cat_name' => $this->get_tag( $category, 'wp:cat_name' ), 'category_nicename' => $this->get_tag( $category, 'wp:category_nicename' ), 'category_parent' => $this->get_tag( $category, 'wp:category_parent' ), 'category_description' => $this->get_tag( $category, 'wp:category_description' ), ]; $term_meta = $this->process_meta( $category, 'wp:termmeta' ); if ( ! empty( $term_meta ) ) { $term['termmeta'] = $term_meta; } return $term; } private function process_tag( $tag ) { $term = [ 'term_id' => $this->get_tag( $tag, 'wp:term_id' ), 'tag_name' => $this->get_tag( $tag, 'wp:tag_name' ), 'tag_slug' => $this->get_tag( $tag, 'wp:tag_slug' ), 'tag_description' => $this->get_tag( $tag, 'wp:tag_description' ), ]; $term_meta = $this->process_meta( $tag, 'wp:termmeta' ); if ( ! empty( $term_meta ) ) { $term['termmeta'] = $term_meta; } return $term; } private function process_term( $term ) { $term_data = [ 'term_id' => $this->get_tag( $term, 'wp:term_id' ), 'term_taxonomy' => $this->get_tag( $term, 'wp:term_taxonomy' ), 'slug' => $this->get_tag( $term, 'wp:term_slug' ), 'term_parent' => $this->get_tag( $term, 'wp:term_parent' ), 'term_name' => $this->get_tag( $term, 'wp:term_name' ), 'term_description' => $this->get_tag( $term, 'wp:term_description' ), ]; $term_meta = $this->process_meta( $term, 'wp:termmeta' ); if ( ! empty( $term_meta ) ) { $term_data['termmeta'] = $term_meta; } return $term_data; } private function process_meta( $string, $tag ) { $parsed_meta = []; preg_match_all( "|<$tag>(.+?)|is", $string, $meta ); if ( ! isset( $meta[1] ) ) { return $parsed_meta; } foreach ( $meta[1] as $m ) { $parsed_meta[] = [ 'key' => $this->get_tag( $m, 'wp:meta_key' ), 'value' => $this->get_tag( $m, 'wp:meta_value' ), ]; } return $parsed_meta; } private function process_author( $a ) { return [ 'author_id' => $this->get_tag( $a, 'wp:author_id' ), 'author_login' => $this->get_tag( $a, 'wp:author_login' ), 'author_email' => $this->get_tag( $a, 'wp:author_email' ), 'author_display_name' => $this->get_tag( $a, 'wp:author_display_name' ), 'author_first_name' => $this->get_tag( $a, 'wp:author_first_name' ), 'author_last_name' => $this->get_tag( $a, 'wp:author_last_name' ), ]; } private function process_post( $post ) { $normalize_tag_callback = function ( $matches ) { return $this->normalize_tag( $matches ); }; $post_id = $this->get_tag( $post, 'wp:post_id' ); $post_title = $this->get_tag( $post, 'title' ); $post_date = $this->get_tag( $post, 'wp:post_date' ); $post_date_gmt = $this->get_tag( $post, 'wp:post_date_gmt' ); $comment_status = $this->get_tag( $post, 'wp:comment_status' ); $ping_status = $this->get_tag( $post, 'wp:ping_status' ); $status = $this->get_tag( $post, 'wp:status' ); $post_name = $this->get_tag( $post, 'wp:post_name' ); $post_parent = $this->get_tag( $post, 'wp:post_parent' ); $menu_order = $this->get_tag( $post, 'wp:menu_order' ); $post_type = $this->get_tag( $post, 'wp:post_type' ); $post_password = $this->get_tag( $post, 'wp:post_password' ); $is_sticky = $this->get_tag( $post, 'wp:is_sticky' ); $guid = $this->get_tag( $post, 'guid' ); $post_author = $this->get_tag( $post, 'dc:creator' ); $post_excerpt = $this->get_tag( $post, 'excerpt:encoded' ); $post_excerpt = preg_replace_callback( '|<(/?[A-Z]+)|', $normalize_tag_callback, $post_excerpt ); $post_excerpt = str_replace( '
', '
', $post_excerpt ); $post_excerpt = str_replace( '
', '
', $post_excerpt ); $post_content = $this->get_tag( $post, 'content:encoded' ); $post_content = preg_replace_callback( '|<(/?[A-Z]+)|', $normalize_tag_callback, $post_content ); $post_content = str_replace( '
', '
', $post_content ); $post_content = str_replace( '
', '
', $post_content ); $postdata = compact( 'post_id', 'post_author', 'post_date', 'post_date_gmt', 'post_content', 'post_excerpt', 'post_title', 'status', 'post_name', 'comment_status', 'ping_status', 'guid', 'post_parent', 'menu_order', 'post_type', 'post_password', 'is_sticky' ); $attachment_url = $this->get_tag( $post, 'wp:attachment_url' ); if ( $attachment_url ) { $postdata['attachment_url'] = $attachment_url; } preg_match_all( '|(.+?)|is', $post, $terms, PREG_SET_ORDER ); foreach ( $terms as $t ) { $post_terms[] = [ 'slug' => $t[2], 'domain' => $t[1], 'name' => str_replace( [ '' ], '', $t[3] ), ]; } if ( ! empty( $post_terms ) ) { $postdata['terms'] = $post_terms; } preg_match_all( '|(.+?)|is', $post, $comments ); $comments = $comments[1]; if ( $comments ) { foreach ( $comments as $comment ) { $post_comments[] = [ 'comment_id' => $this->get_tag( $comment, 'wp:comment_id' ), 'comment_author' => $this->get_tag( $comment, 'wp:comment_author' ), 'comment_author_email' => $this->get_tag( $comment, 'wp:comment_author_email' ), 'comment_author_IP' => $this->get_tag( $comment, 'wp:comment_author_IP' ), 'comment_author_url' => $this->get_tag( $comment, 'wp:comment_author_url' ), 'comment_date' => $this->get_tag( $comment, 'wp:comment_date' ), 'comment_date_gmt' => $this->get_tag( $comment, 'wp:comment_date_gmt' ), 'comment_content' => $this->get_tag( $comment, 'wp:comment_content' ), 'comment_approved' => $this->get_tag( $comment, 'wp:comment_approved' ), 'comment_type' => $this->get_tag( $comment, 'wp:comment_type' ), 'comment_parent' => $this->get_tag( $comment, 'wp:comment_parent' ), 'comment_user_id' => $this->get_tag( $comment, 'wp:comment_user_id' ), 'commentmeta' => $this->process_meta( $comment, 'wp:commentmeta' ), ]; } } if ( ! empty( $post_comments ) ) { $postdata['comments'] = $post_comments; } $post_meta = $this->process_meta( $post, 'wp:postmeta' ); if ( ! empty( $post_meta ) ) { $postdata['postmeta'] = $post_meta; } return $postdata; } private function get_tag( $string, $tag ) { preg_match( "|<$tag.*?>(.*?)|is", $string, $return ); if ( isset( $return[1] ) ) { if ( substr( $return[1], 0, 9 ) == '' ) !== false ) { preg_match_all( '||s', $return[1], $matches ); $return = ''; foreach ( $matches[1] as $match ) { $return .= $match; } } else { $return = preg_replace( '|^$|s', '$1', $return[1] ); } } else { $return = $return[1]; } } else { $return = ''; } return $return; } private function normalize_tag( $matches ) { return '<' . strtolower( $matches[1] ); } private function fopen( $filename, $mode = 'r' ) { if ( $this->has_gzip ) { return gzopen( $filename, $mode ); } return fopen( $filename, $mode ); } private function feof( $fp ) { if ( $this->has_gzip ) { return gzeof( $fp ); } return feof( $fp ); } private function fgets( $fp, $len = 8192 ) { if ( $this->has_gzip ) { return gzgets( $fp, $len ); } return fgets( $fp, $len ); } private function fclose( $fp ) { if ( $this->has_gzip ) { return gzclose( $fp ); } return fclose( $fp ); } public function __construct() { $this->has_gzip = is_callable( 'gzopen' ); } } core/utils/import-export/wp-import.php000064400000127220152377341010014143 0ustar00output` append. * Removed `die` ( exit(s) ). */ if ( ! class_exists( 'WP_Importer' ) ) { $class_wp_importer = ABSPATH . 'wp-admin/includes/class-wp-importer.php'; if ( file_exists( $class_wp_importer ) ) { require $class_wp_importer; } } class WP_Import extends \WP_Importer { const DEFAULT_BUMP_REQUEST_TIMEOUT = 60; const DEFAULT_ALLOW_CREATE_USERS = true; const DEFAULT_IMPORT_ATTACHMENT_SIZE_LIMIT = 0; // 0 = unlimited. /** * @var string */ private $requested_file_path; /** * @var array */ private $args; /** * @var array */ private $output = [ 'status' => 'failed', 'errors' => [], ]; /* * WXR attachment ID */ private $id; // Information to import from WXR file. private $version; private $authors = []; private $posts = []; private $terms = []; private $categories = []; private $tags = []; private $base_url = ''; private $page_on_front; // Mappings from old information to new. private $processed_terms = []; private $processed_posts = []; private $processed_authors = []; private $author_mapping = []; private $processed_menu_items = []; private $post_orphans = []; private $menu_item_orphans = []; private $mapped_terms_slug = []; private $fetch_attachments = false; private $url_remap = []; private $featured_images = []; /** * Parses filename from a Content-Disposition header value. * * As per RFC6266: * * content-disposition = "Content-Disposition" ":" * disposition-type *( ";" disposition-parm ) * * disposition-type = "inline" | "attachment" | disp-ext-type * ; case-insensitive * disp-ext-type = token * * disposition-parm = filename-parm | disp-ext-parm * * filename-parm = "filename" "=" value * | "filename*" "=" ext-value * * disp-ext-parm = token "=" value * | ext-token "=" ext-value * ext-token = * * @param string[] $disposition_header List of Content-Disposition header values. * * @return string|null Filename if available, or null if not found. * @link http://tools.ietf.org/html/rfc2388 * @link http://tools.ietf.org/html/rfc6266 * * @see WP_REST_Attachments_Controller::get_filename_from_disposition() * */ protected static function get_filename_from_disposition( $disposition_header ) { // Get the filename. $filename = null; foreach ( $disposition_header as $value ) { $value = trim( $value ); if ( strpos( $value, ';' ) === false ) { continue; } list( $type, $attr_parts ) = explode( ';', $value, 2 ); $attr_parts = explode( ';', $attr_parts ); $attributes = []; foreach ( $attr_parts as $part ) { if ( strpos( $part, '=' ) === false ) { continue; } list( $key, $value ) = explode( '=', $part, 2 ); $attributes[ trim( $key ) ] = trim( $value ); } if ( empty( $attributes['filename'] ) ) { continue; } $filename = trim( $attributes['filename'] ); // Unquote quoted filename, but after trimming. if ( substr( $filename, 0, 1 ) === '"' && substr( $filename, -1, 1 ) === '"' ) { $filename = substr( $filename, 1, -1 ); } } return $filename; } /** * Retrieves file extension by mime type. * * @param string $mime_type Mime type to search extension for. * * @return string|null File extension if available, or null if not found. */ protected static function get_file_extension_by_mime_type( $mime_type ) { static $map = null; if ( is_array( $map ) ) { return isset( $map[ $mime_type ] ) ? $map[ $mime_type ] : null; } $mime_types = wp_get_mime_types(); $map = array_flip( $mime_types ); // Some types have multiple extensions, use only the first one. foreach ( $map as $type => $extensions ) { $map[ $type ] = strtok( $extensions, '|' ); } return isset( $map[ $mime_type ] ) ? $map[ $mime_type ] : null; } /** * The main controller for the actual import stage. * * @param string $file Path to the WXR file for importing */ private function import( $file ) { add_filter( 'import_post_meta_key', function ( $key ) { return $this->is_valid_meta_key( $key ); } ); add_filter( 'http_request_timeout', function () { return self::DEFAULT_BUMP_REQUEST_TIMEOUT; } ); if ( ! $this->import_start( $file ) ) { return; } $this->set_author_mapping(); wp_suspend_cache_invalidation( true ); $imported_summary = [ 'categories' => $this->process_categories(), 'tags' => $this->process_tags(), 'terms' => $this->process_terms(), 'posts' => $this->process_posts(), ]; wp_suspend_cache_invalidation( false ); // Update incorrect/missing information in the DB. $this->backfill_parents(); $this->backfill_attachment_urls(); $this->remap_featured_images(); $this->import_end(); $is_some_succeed = false; foreach ( $imported_summary as $item ) { if ( $item > 0 ) { $is_some_succeed = true; break; } } if ( $is_some_succeed ) { $this->output['status'] = 'success'; $this->output['summary'] = $imported_summary; } } /** * Parses the WXR file and prepares us for the task of processing parsed data. * * @param string $file Path to the WXR file for importing */ private function import_start( $file ) { if ( ! is_file( $file ) ) { $this->output['errors'] = [ esc_html__( 'The file does not exist, please try again.', 'elementor' ) ]; return false; } $import_data = $this->parse( $file ); if ( is_wp_error( $import_data ) ) { $this->output['errors'] = [ $import_data->get_error_message() ]; return false; } $this->version = $import_data['version']; $this->set_authors_from_import( $import_data ); $this->posts = $import_data['posts']; $this->terms = $import_data['terms']; $this->categories = $import_data['categories']; $this->tags = $import_data['tags']; $this->base_url = esc_url( $import_data['base_url'] ); $this->page_on_front = $import_data['page_on_front']; wp_defer_term_counting( true ); wp_defer_comment_counting( true ); do_action( 'import_start' ); return true; } /** * Performs post-import cleanup of files and the cache */ private function import_end() { wp_import_cleanup( $this->id ); wp_cache_flush(); foreach ( get_taxonomies() as $tax ) { delete_option( "{$tax}_children" ); _get_term_hierarchy( $tax ); } wp_defer_term_counting( false ); wp_defer_comment_counting( false ); do_action( 'import_end' ); } /** * Retrieve authors from parsed WXR data and set it to `$this->>authors`. * * Uses the provided author information from WXR 1.1 files * or extracts info from each post for WXR 1.0 files * * @param array $import_data Data returned by a WXR parser */ private function set_authors_from_import( $import_data ) { if ( ! empty( $import_data['authors'] ) ) { $this->authors = $import_data['authors']; // No author information, grab it from the posts. } else { foreach ( $import_data['posts'] as $post ) { $login = sanitize_user( $post['post_author'], true ); if ( empty( $login ) ) { /* translators: %s: Post author. */ $this->output['errors'][] = sprintf( esc_html__( 'Failed to import author %s. Their posts will be attributed to the current user.', 'elementor' ), $post['post_author'] ); continue; } if ( ! isset( $this->authors[ $login ] ) ) { $this->authors[ $login ] = [ 'author_login' => $login, 'author_display_name' => $post['post_author'], ]; } } } } /** * Map old author logins to local user IDs based on decisions made * in import options form. Can map to an existing user, create a new user * or falls back to the current user in case of error with either of the previous */ private function set_author_mapping() { if ( ! isset( $this->args['imported_authors'] ) ) { return; } $create_users = apply_filters( 'import_allow_create_users', self::DEFAULT_ALLOW_CREATE_USERS ); foreach ( (array) $this->args['imported_authors'] as $i => $old_login ) { // Multisite adds strtolower to sanitize_user. Need to sanitize here to stop breakage in process_posts. $santized_old_login = sanitize_user( $old_login, true ); $old_id = isset( $this->authors[ $old_login ]['author_id'] ) ? intval( $this->authors[ $old_login ]['author_id'] ) : false; if ( ! empty( $this->args['user_map'][ $i ] ) ) { $user = get_userdata( intval( $this->args['user_map'][ $i ] ) ); if ( isset( $user->ID ) ) { if ( $old_id ) { $this->processed_authors[ $old_id ] = $user->ID; } $this->author_mapping[ $santized_old_login ] = $user->ID; } } elseif ( $create_users ) { $user_id = 0; if ( ! empty( $this->args['user_new'][ $i ] ) ) { $user_id = wp_create_user( $this->args['user_new'][ $i ], wp_generate_password() ); } elseif ( '1.0' !== $this->version ) { $user_data = [ 'user_login' => $old_login, 'user_pass' => wp_generate_password(), 'user_email' => isset( $this->authors[ $old_login ]['author_email'] ) ? $this->authors[ $old_login ]['author_email'] : '', 'display_name' => $this->authors[ $old_login ]['author_display_name'], 'first_name' => isset( $this->authors[ $old_login ]['author_first_name'] ) ? $this->authors[ $old_login ]['author_first_name'] : '', 'last_name' => isset( $this->authors[ $old_login ]['author_last_name'] ) ? $this->authors[ $old_login ]['author_last_name'] : '', ]; $user_id = wp_insert_user( $user_data ); } if ( ! is_wp_error( $user_id ) ) { if ( $old_id ) { $this->processed_authors[ $old_id ] = $user_id; } $this->author_mapping[ $santized_old_login ] = $user_id; } else { /* translators: %s: Author display name. */ $error = sprintf( esc_html__( 'Failed to create new user for %s. Their posts will be attributed to the current user.', 'elementor' ), $this->authors[ $old_login ]['author_display_name'] ); if ( defined( 'IMPORT_DEBUG' ) && IMPORT_DEBUG ) { $error .= PHP_EOL . $user_id->get_error_message(); } $this->output['errors'][] = $error; } } // Failsafe: if the user_id was invalid, default to the current user. if ( ! isset( $this->author_mapping[ $santized_old_login ] ) ) { if ( $old_id ) { $this->processed_authors[ $old_id ] = (int) get_current_user_id(); } $this->author_mapping[ $santized_old_login ] = (int) get_current_user_id(); } } } /** * Create new categories based on import information * * Doesn't create a new category if its slug already exists * * @return int number of imported categories. */ private function process_categories() { $result = 0; $this->categories = apply_filters( 'wp_import_categories', $this->categories ); if ( empty( $this->categories ) ) { return $result; } foreach ( $this->categories as $cat ) { // if the category already exists leave it alone $term_id = term_exists( $cat['category_nicename'], 'category' ); if ( $term_id ) { if ( is_array( $term_id ) ) { $term_id = $term_id['term_id']; } if ( isset( $cat['term_id'] ) ) { $this->processed_terms[ intval( $cat['term_id'] ) ] = (int) $term_id; } continue; } $parent = empty( $cat['category_parent'] ) ? 0 : category_exists( $cat['category_parent'] ); $description = isset( $cat['category_description'] ) ? $cat['category_description'] : ''; $data = [ 'category_nicename' => $cat['category_nicename'], 'category_parent' => $parent, 'cat_name' => wp_slash( $cat['cat_name'] ), 'category_description' => wp_slash( $description ), ]; $id = wp_insert_category( $data ); if ( ! is_wp_error( $id ) && $id > 0 ) { if ( isset( $cat['term_id'] ) ) { $this->processed_terms[ intval( $cat['term_id'] ) ] = $id; } $result++; } else { /* translators: %s: Category name. */ $error = sprintf( esc_html__( 'Failed to import category %s', 'elementor' ), $cat['category_nicename'] ); if ( defined( 'IMPORT_DEBUG' ) && IMPORT_DEBUG ) { $error .= PHP_EOL . $id->get_error_message(); } $this->output['errors'][] = $error; continue; } $this->process_termmeta( $cat, $id ); } unset( $this->categories ); return $result; } /** * Create new post tags based on import information * * Doesn't create a tag if its slug already exists * * @return int number of imported tags. */ private function process_tags() { $result = 0; $this->tags = apply_filters( 'wp_import_tags', $this->tags ); if ( empty( $this->tags ) ) { return $result; } foreach ( $this->tags as $tag ) { // if the tag already exists leave it alone $term_id = term_exists( $tag['tag_slug'], 'post_tag' ); if ( $term_id ) { if ( is_array( $term_id ) ) { $term_id = $term_id['term_id']; } if ( isset( $tag['term_id'] ) ) { $this->processed_terms[ intval( $tag['term_id'] ) ] = (int) $term_id; } continue; } $description = isset( $tag['tag_description'] ) ? $tag['tag_description'] : ''; $args = [ 'slug' => $tag['tag_slug'], 'description' => wp_slash( $description ), ]; $id = wp_insert_term( wp_slash( $tag['tag_name'] ), 'post_tag', $args ); if ( ! is_wp_error( $id ) ) { if ( isset( $tag['term_id'] ) ) { $this->processed_terms[ intval( $tag['term_id'] ) ] = $id['term_id']; } $result++; } else { /* translators: %s: Tag name. */ $error = sprintf( esc_html__( 'Failed to import post tag %s', 'elementor' ), $tag['tag_name'] ); if ( defined( 'IMPORT_DEBUG' ) && IMPORT_DEBUG ) { $error .= PHP_EOL . $id->get_error_message(); } $this->output['errors'][] = $error; continue; } $this->process_termmeta( $tag, $id['term_id'] ); } unset( $this->tags ); return $result; } /** * Create new terms based on import information * * Doesn't create a term its slug already exists * * @return int number of imported terms. */ private function process_terms() { $result = 0; $this->terms = apply_filters( 'wp_import_terms', $this->terms ); if ( empty( $this->terms ) ) { return $result; } foreach ( $this->terms as $term ) { // if the term already exists in the correct taxonomy leave it alone $term_id = term_exists( $term['slug'], $term['term_taxonomy'] ); if ( $term_id ) { if ( is_array( $term_id ) ) { $term_id = $term_id['term_id']; } if ( isset( $term['term_id'] ) ) { if ( 'nav_menu' === $term['term_taxonomy'] ) { $term = $this->handle_duplicated_nav_menu_term( $term ); } else { $this->processed_terms[ intval( $term['term_id'] ) ] = (int) $term_id; continue; } } } if ( empty( $term['term_parent'] ) ) { $parent = 0; } else { $parent = term_exists( $term['term_parent'], $term['term_taxonomy'] ); if ( is_array( $parent ) ) { $parent = $parent['term_id']; } } $description = isset( $term['term_description'] ) ? $term['term_description'] : ''; $args = [ 'slug' => $term['slug'], 'description' => wp_slash( $description ), 'parent' => (int) $parent, ]; $id = wp_insert_term( wp_slash( $term['term_name'] ), $term['term_taxonomy'], $args ); if ( ! is_wp_error( $id ) ) { if ( isset( $term['term_id'] ) ) { $this->processed_terms[ intval( $term['term_id'] ) ] = $id['term_id']; } $result++; } else { /* translators: 1: Term taxonomy, 2: Term name. */ $error = sprintf( esc_html__( 'Failed to import %1$s %2$s', 'elementor' ), $term['term_taxonomy'], $term['term_name'] ); if ( defined( 'IMPORT_DEBUG' ) && IMPORT_DEBUG ) { $error .= PHP_EOL . $id->get_error_message(); } $this->output['errors'][] = $error; continue; } $this->process_termmeta( $term, $id['term_id'] ); } unset( $this->terms ); return $result; } /** * Add metadata to imported term. * * @param array $term Term data from WXR import. * @param int $term_id ID of the newly created term. */ private function process_termmeta( $term, $term_id ) { if ( ! function_exists( 'add_term_meta' ) ) { return; } if ( ! isset( $term['termmeta'] ) ) { $term['termmeta'] = []; } /** * Filters the metadata attached to an imported term. * * @param array $termmeta Array of term meta. * @param int $term_id ID of the newly created term. * @param array $term Term data from the WXR import. */ $term['termmeta'] = apply_filters( 'wp_import_term_meta', $term['termmeta'], $term_id, $term ); if ( empty( $term['termmeta'] ) ) { return; } foreach ( $term['termmeta'] as $meta ) { /** * Filters the meta key for an imported piece of term meta. * * @param string $meta_key Meta key. * @param int $term_id ID of the newly created term. * @param array $term Term data from the WXR import. */ $key = apply_filters( 'import_term_meta_key', $meta['key'], $term_id, $term ); if ( ! $key ) { continue; } // Export gets meta straight from the DB so could have a serialized string $value = maybe_unserialize( $meta['value'] ); add_term_meta( $term_id, wp_slash( $key ), wp_slash_strings_only( $value ) ); /** * Fires after term meta is imported. * * @param int $term_id ID of the newly created term. * @param string $key Meta key. * @param mixed $value Meta value. */ do_action( 'import_term_meta', $term_id, $key, $value ); } } /** * Create new posts based on import information * * Posts marked as having a parent which doesn't exist will become top level items. * Doesn't create a new post if: the post type doesn't exist, the given post ID * is already noted as imported or a post with the same title and date already exists. * Note that new/updated terms, comments and meta are imported for the last of the above. * * @return array the ids of succeed/failed imported posts. */ private function process_posts() { $result = [ 'succeed' => [], 'failed' => [], ]; $this->posts = apply_filters( 'wp_import_posts', $this->posts ); foreach ( $this->posts as $post ) { $post = apply_filters( 'wp_import_post_data_raw', $post ); if ( ! post_type_exists( $post['post_type'] ) ) { /* translators: 1: Post title, 2: Post type. */ $this->output['errors'][] = sprintf( esc_html__( 'Failed to import %1$s: Invalid post type %2$s', 'elementor' ), $post['post_title'], $post['post_type'] ); do_action( 'wp_import_post_exists', $post ); continue; } if ( isset( $this->processed_posts[ $post['post_id'] ] ) && ! empty( $post['post_id'] ) ) { continue; } if ( 'auto-draft' === $post['status'] ) { continue; } if ( 'nav_menu_item' === $post['post_type'] ) { $result['succeed'] += $this->process_menu_item( $post ); continue; } $post_type_object = get_post_type_object( $post['post_type'] ); $post_parent = (int) $post['post_parent']; if ( $post_parent ) { // if we already know the parent, map it to the new local ID. if ( isset( $this->processed_posts[ $post_parent ] ) ) { $post_parent = $this->processed_posts[ $post_parent ]; // otherwise record the parent for later. } else { $this->post_orphans[ intval( $post['post_id'] ) ] = $post_parent; $post_parent = 0; } } // Map the post author. $author = sanitize_user( $post['post_author'], true ); if ( isset( $this->author_mapping[ $author ] ) ) { $author = $this->author_mapping[ $author ]; } else { $author = (int) get_current_user_id(); } $postdata = [ 'post_author' => $author, 'post_content' => $post['post_content'], 'post_excerpt' => $post['post_excerpt'], 'post_title' => $post['post_title'], 'post_status' => $post['status'], 'post_name' => $post['post_name'], 'comment_status' => $post['comment_status'], 'ping_status' => $post['ping_status'], 'guid' => $post['guid'], 'post_parent' => $post_parent, 'menu_order' => $post['menu_order'], 'post_type' => $post['post_type'], 'post_password' => $post['post_password'], ]; $original_post_id = $post['post_id']; $postdata = apply_filters( 'wp_import_post_data_processed', $postdata, $post ); $postdata = wp_slash( $postdata ); if ( 'attachment' === $postdata['post_type'] ) { $remote_url = ! empty( $post['attachment_url'] ) ? $post['attachment_url'] : $post['guid']; // try to use _wp_attached file for upload folder placement to ensure the same location as the export site // e.g. location is 2003/05/image.jpg but the attachment post_date is 2010/09, see media_handle_upload() $postdata['upload_date'] = $post['post_date']; if ( isset( $post['postmeta'] ) ) { foreach ( $post['postmeta'] as $meta ) { if ( '_wp_attached_file' === $meta['key'] ) { if ( preg_match( '%^[0-9]{4}/[0-9]{2}%', $meta['value'], $matches ) ) { $postdata['upload_date'] = $matches[0]; } break; } } } $post_id = $this->process_attachment( $postdata, $remote_url ); $comment_post_id = $post_id; } else { $post_id = wp_insert_post( $postdata, true ); $comment_post_id = $post_id; do_action( 'wp_import_insert_post', $post_id, $original_post_id, $postdata, $post ); } if ( is_wp_error( $post_id ) ) { /* translators: 1: Post type singular label, 2: Post title. */ $error = sprintf( __( 'Failed to import %1$s %2$s', 'elementor' ), $post_type_object->labels->singular_name, $post['post_title'] ); if ( defined( 'IMPORT_DEBUG' ) && IMPORT_DEBUG ) { $error .= PHP_EOL . $post_id->get_error_message(); } $result['failed'][] = $original_post_id; $this->output['errors'][] = $error; continue; } $result['succeed'][ $original_post_id ] = $post_id; if ( 1 === $post['is_sticky'] ) { stick_post( $post_id ); } if ( $this->page_on_front === $original_post_id ) { update_option( 'page_on_front', $post_id ); } // Map pre-import ID to local ID. $this->processed_posts[ intval( $post['post_id'] ) ] = (int) $post_id; if ( ! isset( $post['terms'] ) ) { $post['terms'] = []; } $post['terms'] = apply_filters( 'wp_import_post_terms', $post['terms'], $post_id, $post ); // add categories, tags and other terms if ( ! empty( $post['terms'] ) ) { $terms_to_set = []; foreach ( $post['terms'] as $term ) { // back compat with WXR 1.0 map 'tag' to 'post_tag' $taxonomy = ( 'tag' === $term['domain'] ) ? 'post_tag' : $term['domain']; $term_exists = term_exists( $term['slug'], $taxonomy ); $term_id = is_array( $term_exists ) ? $term_exists['term_id'] : $term_exists; if ( ! $term_id ) { $t = wp_insert_term( $term['name'], $taxonomy, [ 'slug' => $term['slug'] ] ); if ( ! is_wp_error( $t ) ) { $term_id = $t['term_id']; do_action( 'wp_import_insert_term', $t, $term, $post_id, $post ); } else { /* translators: 1: Taxonomy name, 2: Term name. */ $error = sprintf( esc_html__( 'Failed to import %1$s %2$s', 'elementor' ), $taxonomy, $term['name'] ); if ( defined( 'IMPORT_DEBUG' ) && IMPORT_DEBUG ) { $error .= PHP_EOL . $t->get_error_message(); } $this->output['errors'][] = $error; do_action( 'wp_import_insert_term_failed', $t, $term, $post_id, $post ); continue; } } $terms_to_set[ $taxonomy ][] = intval( $term_id ); } foreach ( $terms_to_set as $tax => $ids ) { $tt_ids = wp_set_post_terms( $post_id, $ids, $tax ); do_action( 'wp_import_set_post_terms', $tt_ids, $ids, $tax, $post_id, $post ); } unset( $post['terms'], $terms_to_set ); } if ( ! isset( $post['comments'] ) ) { $post['comments'] = []; } $post['comments'] = apply_filters( 'wp_import_post_comments', $post['comments'], $post_id, $post ); // Add/update comments. if ( ! empty( $post['comments'] ) ) { $num_comments = 0; $inserted_comments = []; foreach ( $post['comments'] as $comment ) { $comment_id = $comment['comment_id']; $newcomments[ $comment_id ]['comment_post_ID'] = $comment_post_id; $newcomments[ $comment_id ]['comment_author'] = $comment['comment_author']; $newcomments[ $comment_id ]['comment_author_email'] = $comment['comment_author_email']; $newcomments[ $comment_id ]['comment_author_IP'] = $comment['comment_author_IP']; $newcomments[ $comment_id ]['comment_author_url'] = $comment['comment_author_url']; $newcomments[ $comment_id ]['comment_date'] = $comment['comment_date']; $newcomments[ $comment_id ]['comment_date_gmt'] = $comment['comment_date_gmt']; $newcomments[ $comment_id ]['comment_content'] = $comment['comment_content']; $newcomments[ $comment_id ]['comment_approved'] = $comment['comment_approved']; $newcomments[ $comment_id ]['comment_type'] = $comment['comment_type']; $newcomments[ $comment_id ]['comment_parent'] = $comment['comment_parent']; $newcomments[ $comment_id ]['commentmeta'] = isset( $comment['commentmeta'] ) ? $comment['commentmeta'] : []; if ( isset( $this->processed_authors[ $comment['comment_user_id'] ] ) ) { $newcomments[ $comment_id ]['user_id'] = $this->processed_authors[ $comment['comment_user_id'] ]; } } ksort( $newcomments ); foreach ( $newcomments as $key => $comment ) { if ( isset( $inserted_comments[ $comment['comment_parent'] ] ) ) { $comment['comment_parent'] = $inserted_comments[ $comment['comment_parent'] ]; } $comment_data = wp_slash( $comment ); unset( $comment_data['commentmeta'] ); // Handled separately, wp_insert_comment() also expects `comment_meta`. $comment_data = wp_filter_comment( $comment_data ); $inserted_comments[ $key ] = wp_insert_comment( $comment_data ); do_action( 'wp_import_insert_comment', $inserted_comments[ $key ], $comment, $comment_post_id, $post ); foreach ( $comment['commentmeta'] as $meta ) { $value = maybe_unserialize( $meta['value'] ); add_comment_meta( $inserted_comments[ $key ], wp_slash( $meta['key'] ), wp_slash_strings_only( $value ) ); } $num_comments++; } unset( $newcomments, $inserted_comments, $post['comments'] ); } if ( ! isset( $post['postmeta'] ) ) { $post['postmeta'] = []; } $post['postmeta'] = apply_filters( 'wp_import_post_meta', $post['postmeta'], $post_id, $post ); // Add/update post meta. if ( ! empty( $post['postmeta'] ) ) { foreach ( $post['postmeta'] as $meta ) { $key = apply_filters( 'import_post_meta_key', $meta['key'], $post_id, $post ); $value = false; if ( '_edit_last' === $key ) { if ( isset( $this->processed_authors[ intval( $meta['value'] ) ] ) ) { $value = $this->processed_authors[ intval( $meta['value'] ) ]; } else { $key = false; } } if ( $key ) { // Export gets meta straight from the DB so could have a serialized string. if ( ! $value ) { $value = maybe_unserialize( $meta['value'] ); } add_post_meta( $post_id, wp_slash( $key ), wp_slash_strings_only( $value ) ); do_action( 'import_post_meta', $post_id, $key, $value ); // If the post has a featured image, take note of this in case of remap. if ( '_thumbnail_id' === $key ) { $this->featured_images[ $post_id ] = (int) $value; } } } } } unset( $this->posts ); return $result; } /** * Attempt to create a new menu item from import data * * Fails for draft, orphaned menu items and those without an associated nav_menu * or an invalid nav_menu term. If the post type or term object which the menu item * represents doesn't exist then the menu item will not be imported (waits until the * end of the import to retry again before discarding). * * @param array $item Menu item details from WXR file */ private function process_menu_item( $item ) { $result = []; // Skip draft, orphaned menu items. if ( 'draft' === $item['status'] ) { return; } $menu_slug = false; if ( isset( $item['terms'] ) ) { // Loop through terms, assume first nav_menu term is correct menu. foreach ( $item['terms'] as $term ) { if ( 'nav_menu' === $term['domain'] ) { $menu_slug = $term['slug']; break; } } } // No nav_menu term associated with this menu item. if ( ! $menu_slug ) { $this->output['errors'][] = esc_html__( 'Menu item skipped due to missing menu slug', 'elementor' ); return $result; } // If menu was already exists, refer the items to the duplicated menu created. if ( array_key_exists( $menu_slug, $this->mapped_terms_slug ) ) { $menu_slug = $this->mapped_terms_slug[ $menu_slug ]; } $menu_id = term_exists( $menu_slug, 'nav_menu' ); if ( ! $menu_id ) { /* translators: %s: Menu slug. */ $this->output['errors'][] = sprintf( esc_html__( 'Menu item skipped due to invalid menu slug: %s', 'elementor' ), $menu_slug ); return $result; } else { $menu_id = is_array( $menu_id ) ? $menu_id['term_id'] : $menu_id; } $post_meta_key_value = []; foreach ( $item['postmeta'] as $meta ) { $post_meta_key_value[ $meta['key'] ] = $meta['value']; } // Skip menu items 'taxonomy' type, when the taxonomy is not exits. if ( 'taxonomy' === $post_meta_key_value['_menu_item_type'] && ! get_taxonomy( $post_meta_key_value['_menu_item_object'] ) ) { return $result; } $_menu_item_object_id = $post_meta_key_value['_menu_item_object_id']; if ( 'taxonomy' === $post_meta_key_value['_menu_item_type'] && isset( $this->processed_terms[ intval( $_menu_item_object_id ) ] ) ) { $_menu_item_object_id = $this->processed_terms[ intval( $_menu_item_object_id ) ]; } elseif ( 'post_type' === $post_meta_key_value['_menu_item_type'] && isset( $this->processed_posts[ intval( $_menu_item_object_id ) ] ) ) { $_menu_item_object_id = $this->processed_posts[ intval( $_menu_item_object_id ) ]; } $_menu_item_menu_item_parent = $post_meta_key_value['_menu_item_menu_item_parent']; if ( isset( $this->processed_menu_items[ intval( $_menu_item_menu_item_parent ) ] ) ) { $_menu_item_menu_item_parent = $this->processed_menu_items[ intval( $_menu_item_menu_item_parent ) ]; } elseif ( $_menu_item_menu_item_parent ) { $this->menu_item_orphans[ intval( $item['post_id'] ) ] = (int) $_menu_item_menu_item_parent; $_menu_item_menu_item_parent = 0; } // wp_update_nav_menu_item expects CSS classes as a space separated string $_menu_item_classes = maybe_unserialize( $post_meta_key_value['_menu_item_classes'] ); if ( is_array( $_menu_item_classes ) ) { $_menu_item_classes = implode( ' ', $_menu_item_classes ); } $args = [ 'menu-item-object-id' => $_menu_item_object_id, 'menu-item-object' => $post_meta_key_value['_menu_item_object'], 'menu-item-parent-id' => $_menu_item_menu_item_parent, 'menu-item-position' => intval( $item['menu_order'] ), 'menu-item-type' => $post_meta_key_value['_menu_item_type'], 'menu-item-title' => $item['post_title'], 'menu-item-url' => $post_meta_key_value['_menu_item_url'], 'menu-item-description' => $item['post_content'], 'menu-item-attr-title' => $item['post_excerpt'], 'menu-item-target' => $post_meta_key_value['_menu_item_target'], 'menu-item-classes' => $_menu_item_classes, 'menu-item-xfn' => $post_meta_key_value['_menu_item_xfn'], 'menu-item-status' => $item['status'], ]; $id = wp_update_nav_menu_item( $menu_id, 0, $args ); if ( $id && ! is_wp_error( $id ) ) { $this->processed_menu_items[ intval( $item['post_id'] ) ] = (int) $id; $result[ $item['post_id'] ] = $id; } return $result; } /** * If fetching attachments is enabled then attempt to create a new attachment * * @param array $post Attachment post details from WXR * @param string $url URL to fetch attachment from * * @return int|WP_Error Post ID on success, WP_Error otherwise */ private function process_attachment( $post, $url ) { if ( ! $this->fetch_attachments ) { return new WP_Error( 'attachment_processing_error', esc_html__( 'Fetching attachments is not enabled', 'elementor' ) ); } // if the URL is absolute, but does not contain address, then upload it assuming base_site_url. if ( preg_match( '|^/[\w\W]+$|', $url ) ) { $url = rtrim( $this->base_url, '/' ) . $url; } $upload = $this->fetch_remote_file( $url, $post ); if ( is_wp_error( $upload ) ) { return $upload; } $info = wp_check_filetype( $upload['file'] ); if ( $info ) { $post['post_mime_type'] = $info['type']; } else { return new WP_Error( 'attachment_processing_error', esc_html__( 'Invalid file type', 'elementor' ) ); } $post['guid'] = $upload['url']; // As per wp-admin/includes/upload.php. $post_id = wp_insert_attachment( $post, $upload['file'] ); wp_update_attachment_metadata( $post_id, wp_generate_attachment_metadata( $post_id, $upload['file'] ) ); // Remap resized image URLs, works by stripping the extension and remapping the URL stub. if ( preg_match( '!^image/!', $info['type'] ) ) { $parts = pathinfo( $url ); $name = basename( $parts['basename'], ".{$parts['extension']}" ); // PATHINFO_FILENAME in PHP 5.2 $parts_new = pathinfo( $upload['url'] ); $name_new = basename( $parts_new['basename'], ".{$parts_new['extension']}" ); $this->url_remap[ $parts['dirname'] . '/' . $name ] = $parts_new['dirname'] . '/' . $name_new; } return $post_id; } /** * Attempt to download a remote file attachment * * @param string $url URL of item to fetch * @param array $post Attachment details * * @return array|WP_Error Local file location details on success, WP_Error otherwise */ private function fetch_remote_file( $url, $post ) { // Extract the file name from the URL. $file_name = basename( parse_url( $url, PHP_URL_PATH ) ); if ( ! $file_name ) { $file_name = md5( $url ); } $tmp_file_name = wp_tempnam( $file_name ); if ( ! $tmp_file_name ) { return new WP_Error( 'import_no_file', esc_html__( 'Could not create temporary file.', 'elementor' ) ); } // Fetch the remote URL and write it to the placeholder file. $remote_response = wp_safe_remote_get( $url, [ 'timeout' => 300, 'stream' => true, 'filename' => $tmp_file_name, 'headers' => [ 'Accept-Encoding' => 'identity', ], ] ); if ( is_wp_error( $remote_response ) ) { @unlink( $tmp_file_name ); return new WP_Error( 'import_file_error', sprintf( /* translators: 1: WordPress error message, 2: WordPress error code. */ esc_html__( 'Request failed due to an error: %1$s (%2$s)', 'elementor' ), esc_html( $remote_response->get_error_message() ), esc_html( $remote_response->get_error_code() ) ) ); } $remote_response_code = (int) wp_remote_retrieve_response_code( $remote_response ); // Make sure the fetch was successful. if ( 200 !== $remote_response_code ) { @unlink( $tmp_file_name ); return new WP_Error( 'import_file_error', sprintf( /* translators: 1: HTTP error message, 2: HTTP error code. */ esc_html__( 'Remote server returned the following unexpected result: %1$s (%2$s)', 'elementor' ), get_status_header_desc( $remote_response_code ), esc_html( $remote_response_code ) ) ); } $headers = wp_remote_retrieve_headers( $remote_response ); // Request failed. if ( ! $headers ) { @unlink( $tmp_file_name ); return new WP_Error( 'import_file_error', esc_html__( 'Remote server did not respond', 'elementor' ) ); } $filesize = (int) filesize( $tmp_file_name ); if ( 0 === $filesize ) { @unlink( $tmp_file_name ); return new WP_Error( 'import_file_error', esc_html__( 'Zero size file downloaded', 'elementor' ) ); } if ( ! isset( $headers['content-encoding'] ) && isset( $headers['content-length'] ) && $filesize !== (int) $headers['content-length'] ) { @unlink( $tmp_file_name ); return new WP_Error( 'import_file_error', esc_html__( 'Downloaded file has incorrect size', 'elementor' ) ); } $max_size = (int) apply_filters( 'import_attachment_size_limit', self::DEFAULT_IMPORT_ATTACHMENT_SIZE_LIMIT ); if ( ! empty( $max_size ) && $filesize > $max_size ) { @unlink( $tmp_file_name ); /* translators: %s: Max file size. */ return new WP_Error( 'import_file_error', sprintf( esc_html__( 'Remote file is too large, limit is %s', 'elementor' ), size_format( $max_size ) ) ); } // Override file name with Content-Disposition header value. if ( ! empty( $headers['content-disposition'] ) ) { $file_name_from_disposition = self::get_filename_from_disposition( (array) $headers['content-disposition'] ); if ( $file_name_from_disposition ) { $file_name = $file_name_from_disposition; } } // Set file extension if missing. $file_ext = pathinfo( $file_name, PATHINFO_EXTENSION ); if ( ! $file_ext && ! empty( $headers['content-type'] ) ) { $extension = self::get_file_extension_by_mime_type( $headers['content-type'] ); if ( $extension ) { $file_name = "{$file_name}.{$extension}"; } } // Handle the upload like _wp_handle_upload() does. $wp_filetype = wp_check_filetype_and_ext( $tmp_file_name, $file_name ); $ext = empty( $wp_filetype['ext'] ) ? '' : $wp_filetype['ext']; $type = empty( $wp_filetype['type'] ) ? '' : $wp_filetype['type']; $proper_filename = empty( $wp_filetype['proper_filename'] ) ? '' : $wp_filetype['proper_filename']; // Check to see if wp_check_filetype_and_ext() determined the filename was incorrect. if ( $proper_filename ) { $file_name = $proper_filename; } if ( ( ! $type || ! $ext ) && ! current_user_can( 'unfiltered_upload' ) ) { return new WP_Error( 'import_file_error', esc_html__( 'Sorry, this file type is not permitted for security reasons.', 'elementor' ) ); } $uploads = wp_upload_dir( $post['upload_date'] ); if ( ! ( $uploads && false === $uploads['error'] ) ) { return new WP_Error( 'upload_dir_error', $uploads['error'] ); } // Move the file to the uploads dir. $file_name = wp_unique_filename( $uploads['path'], $file_name ); $new_file = $uploads['path'] . "/$file_name"; $move_new_file = copy( $tmp_file_name, $new_file ); if ( ! $move_new_file ) { @unlink( $tmp_file_name ); return new WP_Error( 'import_file_error', esc_html__( 'The uploaded file could not be moved', 'elementor' ) ); } // Set correct file permissions. $stat = stat( dirname( $new_file ) ); $perms = $stat['mode'] & 0000666; chmod( $new_file, $perms ); $upload = [ 'file' => $new_file, 'url' => $uploads['url'] . "/$file_name", 'type' => $wp_filetype['type'], 'error' => false, ]; // Keep track of the old and new urls so we can substitute them later. $this->url_remap[ $url ] = $upload['url']; $this->url_remap[ $post['guid'] ] = $upload['url']; // r13735, really needed? // Keep track of the destination if the remote url is redirected somewhere else. if ( isset( $headers['x-final-location'] ) && $headers['x-final-location'] !== $url ) { $this->url_remap[ $headers['x-final-location'] ] = $upload['url']; } return $upload; } /** * Attempt to associate posts and menu items with previously missing parents * * An imported post's parent may not have been imported when it was first created * so try again. Similarly for child menu items and menu items which were missing * the object (e.g. post) they represent in the menu */ private function backfill_parents() { global $wpdb; // Find parents for post orphans. foreach ( $this->post_orphans as $child_id => $parent_id ) { $local_child_id = false; $local_parent_id = false; if ( isset( $this->processed_posts[ $child_id ] ) ) { $local_child_id = $this->processed_posts[ $child_id ]; } if ( isset( $this->processed_posts[ $parent_id ] ) ) { $local_parent_id = $this->processed_posts[ $parent_id ]; } if ( $local_child_id && $local_parent_id ) { $wpdb->update( $wpdb->posts, [ 'post_parent' => $local_parent_id ], [ 'ID' => $local_child_id ], '%d', '%d' ); clean_post_cache( $local_child_id ); } } // Find parents for menu item orphans. foreach ( $this->menu_item_orphans as $child_id => $parent_id ) { $local_child_id = 0; $local_parent_id = 0; if ( isset( $this->processed_menu_items[ $child_id ] ) ) { $local_child_id = $this->processed_menu_items[ $child_id ]; } if ( isset( $this->processed_menu_items[ $parent_id ] ) ) { $local_parent_id = $this->processed_menu_items[ $parent_id ]; } if ( $local_child_id && $local_parent_id ) { update_post_meta( $local_child_id, '_menu_item_menu_item_parent', (int) $local_parent_id ); } } } /** * Use stored mapping information to update old attachment URLs */ private function backfill_attachment_urls() { global $wpdb; // Make sure we do the longest urls first, in case one is a substring of another. uksort( $this->url_remap, function ( $a, $b ) { // Return the difference in length between two strings. return strlen( $b ) - strlen( $a ); } ); foreach ( $this->url_remap as $from_url => $to_url ) { // Remap urls in post_content. $wpdb->query( $wpdb->prepare( "UPDATE {$wpdb->posts} SET post_content = REPLACE(post_content, %s, %s)", $from_url, $to_url ) ); // Remap enclosure urls. $wpdb->query( $wpdb->prepare( "UPDATE {$wpdb->postmeta} SET meta_value = REPLACE(meta_value, %s, %s) WHERE meta_key='enclosure'", $from_url, $to_url ) ); } } /** * Update _thumbnail_id meta to new, imported attachment IDs */ private function remap_featured_images() { // Cycle through posts that have a featured image. foreach ( $this->featured_images as $post_id => $value ) { if ( isset( $this->processed_posts[ $value ] ) ) { $new_id = $this->processed_posts[ $value ]; // Only update if there's a difference. if ( $new_id !== $value ) { update_post_meta( $post_id, '_thumbnail_id', $new_id ); } } } } /** * Parse a WXR file * * @param string $file Path to WXR file for parsing * * @return array Information gathered from the WXR file */ private function parse( $file ) { $parser = new WXR_Parser(); return $parser->parse( $file ); } /** * Decide if the given meta key maps to information we will want to import * * @param string $key The meta key to check * * @return string|bool The key if we do want to import, false if not */ private function is_valid_meta_key( $key ) { // Skip attachment metadata since we'll regenerate it from scratch. // Skip _edit_lock as not relevant for import if ( in_array( $key, [ '_wp_attached_file', '_wp_attachment_metadata', '_edit_lock' ] ) ) { return false; } return $key; } /** * @param $term * @return mixed */ private function handle_duplicated_nav_menu_term( $term ) { $duplicate_slug = $term['slug'] . '-duplicate'; $duplicate_name = $term['term_name'] . ' duplicate'; while ( term_exists( $duplicate_slug, 'nav_menu' ) ) { $duplicate_slug .= '-duplicate'; $duplicate_name .= ' duplicate'; } $this->mapped_terms_slug[ $term['slug'] ] = $duplicate_slug; $term['slug'] = $duplicate_slug; $term['term_name'] = $duplicate_name; return $term; } public function run() { $this->import( $this->requested_file_path ); return $this->output; } /** * @param $file * @param $args */ public function __construct( $file, $args = [] ) { $this->requested_file_path = $file; $this->args = $args; if ( ! empty( $this->args['fetch_attachments'] ) ) { $this->fetch_attachments = true; } } } core/utils/import-export/wp-exporter.php000064400000065333152377341010014507 0ustar00 'all', 'author' => false, 'category' => false, 'start_date' => false, 'end_date' => false, 'status' => false, 'offset' => 0, 'limit' => -1, 'meta_query' => [], // If specified `meta_key` then will include all post(s) that have this meta_key. ]; /** * @var array */ private $args; /** * @var \wpdb */ private $wpdb; /** * Run export, by requested args. * Returns XML with exported data. * * @return array */ public function run() { if ( 'all' !== $this->args['content'] && post_type_exists( $this->args['content'] ) ) { $ptype = get_post_type_object( $this->args['content'] ); if ( ! $ptype->can_export ) { $this->args['content'] = 'post'; } $where = $this->wpdb->prepare( "{$this->wpdb->posts}.post_type = %s", $this->args['content'] );// phpcs:ignore } else { $post_types = get_post_types( [ 'can_export' => true ] ); $esses = array_fill( 0, count( $post_types ), '%s' ); $where = $this->wpdb->prepare( "{$this->wpdb->posts}.post_type IN (" . implode( ',', $esses ) . ')', $post_types );// phpcs:ignore } if ( $this->args['status'] && ( 'post' === $this->args['content'] || 'page' === $this->args['content'] || 'nav_menu_item' === $this->args['content'] ) ) { $where .= $this->wpdb->prepare( " AND {$this->wpdb->posts}.post_status = %s", $this->args['status'] );// phpcs:ignore } else { $where .= " AND {$this->wpdb->posts}.post_status != 'auto-draft'"; } $join = ''; if ( $this->args['category'] && ( 'post' === $this->args['content'] || 'nav_menu_item' === $this->args['content'] ) ) { $term = term_exists( $this->args['category'], 'category' ); if ( $term ) { $join = "INNER JOIN {$this->wpdb->term_relationships} ON ({$this->wpdb->posts}.ID = {$this->wpdb->term_relationships}.object_id)"; $where .= $this->wpdb->prepare( " AND {$this->wpdb->term_relationships}.term_taxonomy_id = %d", $term['term_taxonomy_id'] );// phpcs:ignore } } if ( in_array( $this->args['content'], [ 'post', 'page', 'attachment' ], true ) ) { if ( $this->args['author'] ) { $where .= $this->wpdb->prepare( " AND {$this->wpdb->posts}.post_author = %d", $this->args['author'] );// phpcs:ignore } if ( $this->args['start_date'] ) { $where .= $this->wpdb->prepare( " AND {$this->wpdb->posts}.post_date >= %s", gmdate( 'Y-m-d', strtotime( $this->args['start_date'] ) ) );// phpcs:ignore } if ( $this->args['end_date'] ) { $where .= $this->wpdb->prepare( " AND {$this->wpdb->posts}.post_date < %s", gmdate( 'Y-m-d', strtotime( '+1 month', strtotime( $this->args['end_date'] ) ) ) );// phpcs:ignore } } $limit = ''; if ( -1 !== (int) $this->args['limit'] ) { $limit = 'LIMIT ' . (int) $this->args['limit'] . ' OFFSET ' . (int) $this->args['offset']; } if ( ! empty( $this->args['meta_query'] ) ) { if ( $join ) { $join .= ' '; } if ( $where ) { $where .= ' '; } $meta_query = new \WP_Meta_Query( $this->args['meta_query'] ); global $wpdb; $query_clauses = $meta_query->get_sql( 'post', $wpdb->posts, 'ID' ); $join .= $query_clauses['join']; $where .= $query_clauses['where']; } // Grab a snapshot of post IDs, just in case it changes during the export. $post_ids = $this->wpdb->get_col( "SELECT ID FROM {$this->wpdb->posts} $join WHERE $where $limit" );// phpcs:ignore if ( ! empty( $this->args['include_post_featured_image_as_attachment'] ) ) { foreach ( $post_ids as $post_id ) { $thumbnail_id = get_post_meta( $post_id, '_thumbnail_id', true ); if ( $thumbnail_id && false === array_search( $thumbnail_id, $post_ids, true ) ) { $post_ids [] = $thumbnail_id; } } } /* * Get the requested terms ready, empty unless posts filtered by category * or all content. */ $cats = []; $tags = []; $terms = []; if ( isset( $term ) && $term ) { $cat = get_term( $term['term_id'], 'category' ); $cats = [ $cat->term_id => $cat ]; unset( $term, $cat ); } elseif ( 'all' === $this->args['content'] ) { $categories = (array) get_categories( [ 'get' => 'all' ] ); $tags = (array) get_tags( array( 'get' => 'all' ) ); $custom_taxonomies = get_taxonomies( [ '_builtin' => false ] ); $custom_terms = (array) get_terms( [ 'taxonomy' => $custom_taxonomies, 'get' => 'all', ] ); // Put categories in order with no child going before its parent. while ( $cat = array_shift( $categories ) ) { if ( 0 == $cat->parent || isset( $cats[ $cat->parent ] ) ) { $cats[ $cat->term_id ] = $cat; } else { $categories[] = $cat; } } // Put terms in order with no child going before its parent. while ( $t = array_shift( $custom_terms ) ) { if ( 0 == $t->parent || isset( $terms[ $t->parent ] ) ) { $terms[ $t->term_id ] = $t; } else { $custom_terms[] = $t; } } unset( $categories, $custom_taxonomies, $custom_terms ); } return [ 'ids' => $post_ids, 'xml' => $this->get_xml_export( $post_ids, $cats, $tags, $terms ), ]; } /** * Return tabulation characters, by `$columns`. * * @param int $columns * * @return string */ private function indent( $columns = 1 ) { $output = ''; for ( $i = 0; $i < $columns; $i++ ) { $output .= "\t"; } return (string) $output; } /** * Return wrapped given string in XML CDATA tag. * * @param string $str String to wrap in XML CDATA tag. * * @return string */ private function wxr_cdata( $str ) { $str = (string) $str; if ( ! seems_utf8( $str ) ) { $str = utf8_encode( $str ); } $str = '', ']]]]>', $str ) . ']]>'; return $str; } /** * Return the URL of the site. * * @return string Site URL. */ private function wxr_site_url() { if ( is_multisite() ) { // Multisite: the base URL. return network_home_url(); } else { // WordPress (single site): the blog URL. return get_bloginfo_rss( 'url' ); } } /** * Return a cat_name XML tag from a given category object. * * @param \WP_Term $category Category Object * * @return string */ private function wxr_cat_name( $category ) { if ( empty( $category->name ) ) { return ''; } return $this->indent( 3 ) . '' . $this->wxr_cdata( $category->name ) . '' . PHP_EOL; } /** * Return a category_description XML tag from a given category object. * * @param \WP_Term $category Category Object * * @return string */ private function wxr_category_description( $category ) { if ( empty( $category->description ) ) { return ''; } return $this->indent( 3 ) . '' . $this->wxr_cdata( $category->description ) . "\n"; } /** * Return a tag_name XML tag from a given tag object. * * @param \WP_Term $tag Tag Object * * @return string */ private function wxr_tag_name( $tag ) { if ( empty( $tag->name ) ) { return ''; } return $this->indent( 3 ) . '' . $this->wxr_cdata( $tag->name ) . '' . PHP_EOL; } /** * Return a tag_description XML tag from a given tag object. * * @param \WP_Term $tag Tag Object * * @return string */ private function wxr_tag_description( $tag ) { if ( empty( $tag->description ) ) { return ''; } return $this->indent( 3 ) . '' . $this->wxr_cdata( $tag->description ) . '' . PHP_EOL; } /** * Return a term_name XML tag from a given term object. * * @param \WP_Term $term Term Object * * @return string */ private function wxr_term_name( $term ) { if ( empty( $term->name ) ) { return ''; } return $this->indent( 3 ) . '' . $this->wxr_cdata( $term->name ) . '' . PHP_EOL; } /** * Return a term_description XML tag from a given term object. * * @param \WP_Term $term Term Object * * @return string */ private function wxr_term_description( $term ) { if ( empty( $term->description ) ) { return ''; } return $this->indent( 3 ) . '' . $this->wxr_cdata( $term->description ) . '' . PHP_EOL; } /** * Return term meta XML tags for a given term object. * * @param \WP_Term $term Term object. * * @return string */ private function wxr_term_meta( $term ) { $result = ''; $termmeta = $this->wpdb->get_results( $this->wpdb->prepare( "SELECT * FROM {$this->wpdb->termmeta} WHERE term_id = %d", $term->term_id ) );// phpcs:ignore foreach ( $termmeta as $meta ) { /** * Filters whether to selectively skip term meta used for WXR exports. * * Returning a truthy value from the filter will skip the current meta * object from being exported. * * @since 4.6.0 * * @param bool $skip Whether to skip the current piece of term meta. Default false. * @param string $meta_key Current meta key. * @param object $meta Current meta object. */ if ( ! apply_filters( 'wxr_export_skip_termmeta', false, $meta->meta_key, $meta ) ) { $result .= sprintf( $this->indent( 3 ) . "\n\t\t\t%s\n\t\t\t%s\n\t\t\n", wxr_cdata( $meta->meta_key ), wxr_cdata( $meta->meta_value ) ); } } return $result; } /** * Return list of authors with posts. * * @param int[] $post_ids Optional. Array of post IDs to filter the query by. * * @return string */ private function wxr_authors_list( array $post_ids = null ) { $result = ''; if ( ! empty( $post_ids ) ) { $post_ids = array_map( 'absint', $post_ids ); $and = 'AND ID IN ( ' . implode( ', ', $post_ids ) . ')'; } else { $and = ''; } $authors = []; $results = $this->wpdb->get_results( "SELECT DISTINCT post_author FROM {$this->wpdb->posts} WHERE post_status != 'auto-draft' $and" );// phpcs:ignore foreach ( (array) $results as $r ) { $authors[] = get_userdata( $r->post_author ); } $authors = array_filter( $authors ); foreach ( $authors as $author ) { $result .= $this->indent( 2 ) . '' . PHP_EOL; $result .= $this->indent( 3 ) . '' . (int) $author->ID . '' . PHP_EOL; $result .= $this->indent( 3 ) . '' . $this->wxr_cdata( $author->user_login ) . '' . PHP_EOL; $result .= $this->indent( 3 ) . '' . $this->wxr_cdata( $author->user_email ) . '' . PHP_EOL; $result .= $this->indent( 3 ) . '' . $this->wxr_cdata( $author->display_name ) . '' . PHP_EOL; $result .= $this->indent( 3 ) . '' . $this->wxr_cdata( $author->first_name ) . '' . PHP_EOL; $result .= $this->indent( 3 ) . '' . $this->wxr_cdata( $author->last_name ) . '' . PHP_EOL; $result .= $this->indent( 2 ) . '' . PHP_EOL; } return $result; } /** * Return list of categories. * * @param array $cats * * @return string */ private function wxr_categories_list( array $cats ) { $result = ''; foreach ( $cats as $c ) { $result .= $this->indent( 2 ) . '' . PHP_EOL; $result .= $this->indent( 3 ) . '' . (int) $c->term_id . '' . PHP_EOL; $result .= $this->indent( 3 ) . '' . $this->wxr_cdata( $c->slug ) . '' . PHP_EOL; $result .= $this->indent( 3 ) . '' . $this->wxr_cdata( $c->parent ? $cats[ $c->parent ]->slug : '' ) . '' . PHP_EOL; $result .= $this->wxr_cat_name( $c ) . $this->wxr_category_description( $c ) . $this->wxr_term_meta( $c ); $result .= $this->indent( 2 ) . '' . PHP_EOL; } return $result; } /** * Return list of tags. * * @param array $tags * * @return string */ private function wxr_tags_list( array $tags ) { $result = ''; foreach ( $tags as $t ) { $result .= $this->indent( 2 ) . '' . PHP_EOL; $result .= $this->indent( 3 ) . '' . (int) $t->term_id . '' . PHP_EOL; $result .= $this->indent( 3 ) . '' . $this->wxr_cdata( $t->slug ) . '' . PHP_EOL; $result .= $this->wxr_tag_name( $t ) . $this->wxr_tag_description( $t ) . $this->wxr_term_meta( $t ); $result .= $this->indent( 2 ) . '' . PHP_EOL; } return $result; } /** * Return list of terms. * * @param array $terms * * @return string */ private function wxr_terms_list( array $terms ) { $result = ''; foreach ( $terms as $t ) { $result .= $this->indent( 2 ) . '' . PHP_EOL; $result .= $this->indent( 3 ) . '' . $this->wxr_cdata( $t->taxonomy ) . '' . PHP_EOL; $result .= $this->indent( 3 ) . '' . $this->wxr_cdata( $t->slug ) . '' . PHP_EOL; $result .= $this->indent( 3 ) . '' . $this->wxr_cdata( $t->parent ? $terms[ $t->parent ]->slug : '' ) . '' . PHP_EOL; $result .= $this->wxr_term_name( $t ) . $this->wxr_term_description( $t ) . $this->wxr_term_meta( $t ); $result .= $this->indent( 2 ) . '' . PHP_EOL; } return $result; } /** * Return list of posts, by requested `$post_ids`. * * @param array $post_ids * * @return string */ private function wxr_posts_list( array $post_ids ) { $result = ''; if ( $post_ids ) { global $wp_query; // Fake being in the loop. $wp_query->in_the_loop = true; // Fetch 20 posts at a time rather than loading the entire table into memory. while ( $next_posts = array_splice( $post_ids, 0, 20 ) ) { $where = 'WHERE ID IN (' . implode( ',', $next_posts ) . ')'; $posts = $this->wpdb->get_results( "SELECT * FROM {$this->wpdb->posts} $where" );// phpcs:ignore // Begin Loop. foreach ( $posts as $post ) { setup_postdata( $post ); $title = apply_filters( 'the_title_rss', $post->post_title ); /** * Filters the post content used for WXR exports. * * @since 2.5.0 * * @param string $post_content Content of the current post. */ $content = $this->wxr_cdata( apply_filters( 'the_content_export', $post->post_content ) ); /** * Filters the post excerpt used for WXR exports. * * @since 2.6.0 * * @param string $post_excerpt Excerpt for the current post. */ $excerpt = $this->wxr_cdata( apply_filters( 'the_excerpt_export', $post->post_excerpt ) ); $result .= $this->indent( 2 ) . '' . PHP_EOL; $result .= $this->indent( 3 ) . '' . $title . '' . PHP_EOL; $result .= $this->indent( 3 ) . '' . esc_url( get_permalink() ) . '' . PHP_EOL; $result .= $this->indent( 3 ) . '' . mysql2date( 'D, d M Y H:i:s +0000', get_post_time( 'Y-m-d H:i:s', true ), false ) . '' . PHP_EOL; $result .= $this->indent( 3 ) . '' . $this->wxr_cdata( get_the_author_meta( 'login' ) ) . '' . PHP_EOL; $result .= $this->indent( 3 ) . '' . $this->wxr_cdata( get_the_author_meta( 'login' ) ) . '' . PHP_EOL; $result .= $this->indent( 3 ) . '' . PHP_EOL; $result .= $this->indent( 3 ) . '' . $content . '' . PHP_EOL; $result .= $this->indent( 3 ) . '' . $excerpt . '' . PHP_EOL; $result .= $this->indent( 3 ) . '' . (int) $post->ID . '' . PHP_EOL; $result .= $this->indent( 3 ) . '' . $this->wxr_cdata( $post->post_date ) . '' . PHP_EOL; $result .= $this->indent( 3 ) . '' . $this->wxr_cdata( $post->post_date_gmt ) . '' . PHP_EOL; $result .= $this->indent( 3 ) . '' . $this->wxr_cdata( $post->comment_status ) . '' . PHP_EOL; $result .= $this->indent( 3 ) . '' . $this->wxr_cdata( $post->ping_status ) . '' . PHP_EOL; $result .= $this->indent( 3 ) . '' . $this->wxr_cdata( $post->post_name ) . '' . PHP_EOL; $result .= $this->indent( 3 ) . '' . $this->wxr_cdata( $post->post_status ) . '' . PHP_EOL; $result .= $this->indent( 3 ) . '' . $this->wxr_cdata( $post->post_parent ) . '' . PHP_EOL; $result .= $this->indent( 3 ) . '' . (int) $post->menu_order . '' . PHP_EOL; $result .= $this->indent( 3 ) . '' . $this->wxr_cdata( $post->post_type ) . '' . PHP_EOL; $result .= $this->indent( 3 ) . '' . $this->wxr_cdata( $post->post_password ) . '' . PHP_EOL; $result .= $this->indent( 3 ) . '' . ( is_sticky( $post->ID ) ? 1 : 0 ) . '' . PHP_EOL; if ( 'attachment' === $post->post_type ) { $result .= $this->indent( 3 ) . '' . $this->wxr_cdata( wp_get_attachment_url( $post->ID ) ) . '' . PHP_EOL; } $result .= $this->wxr_post_taxonomy( $post ); $postmeta = $this->wpdb->get_results( $this->wpdb->prepare( "SELECT * FROM {$this->wpdb->postmeta} WHERE post_id = %d", $post->ID ) );// phpcs:ignore foreach ( $postmeta as $meta ) { /** * Filters whether to selectively skip post meta used for WXR exports. * * Returning a truthy value from the filter will skip the current meta * object from being exported. * * @since 3.3.0 * * @param bool $skip Whether to skip the current post meta. Default false. * @param string $meta_key Current meta key. * @param object $meta Current meta object. */ if ( apply_filters( 'wxr_export_skip_postmeta', false, $meta->meta_key, $meta ) ) { continue; } $result .= $this->indent( 3 ) . '' . PHP_EOL; $result .= $this->indent( 4 ) . '' . $this->wxr_cdata( $meta->meta_key ) . '' . PHP_EOL; $result .= $this->indent( 4 ) . '' . $this->wxr_cdata( $meta->meta_value ) . '' . PHP_EOL; $result .= $this->indent( 3 ) . '' . PHP_EOL; } $_comments = $this->wpdb->get_results( $this->wpdb->prepare( "SELECT * FROM {$this->wpdb->comments} WHERE comment_post_ID = %d AND comment_approved <> 'spam'", $post->ID ) );// phpcs:ignore $comments = array_map( 'get_comment', $_comments ); foreach ( $comments as $c ) { $result .= $this->indent( 3 ) . '' . PHP_EOL; $result .= $this->indent( 4 ) . '' . (int) $c->comment_ID . '' . PHP_EOL; $result .= $this->indent( 4 ) . '' . $this->wxr_cdata( $c->comment_author ) . '' . PHP_EOL; $result .= $this->indent( 4 ) . '' . $this->wxr_cdata( $c->comment_author_email ) . '' . PHP_EOL; $result .= $this->indent( 4 ) . '' . $this->wxr_cdata( $c->comment_author_url ) . '' . PHP_EOL; $result .= $this->indent( 4 ) . '' . $this->wxr_cdata( $c->comment_author_IP ) . '' . PHP_EOL; $result .= $this->indent( 4 ) . '' . $this->wxr_cdata( $c->comment_date ) . '' . PHP_EOL; $result .= $this->indent( 4 ) . '' . $this->wxr_cdata( $c->comment_date_gmt ) . '' . PHP_EOL; $result .= $this->indent( 4 ) . '' . $this->wxr_cdata( $c->comment_content ) . '' . PHP_EOL; $result .= $this->indent( 4 ) . '' . $this->wxr_cdata( $c->comment_approved ) . '' . PHP_EOL; $result .= $this->indent( 4 ) . '' . $this->wxr_cdata( $c->comment_type ) . '' . PHP_EOL; $result .= $this->indent( 4 ) . '' . $this->wxr_cdata( $c->comment_parent ) . '' . PHP_EOL; $result .= $this->indent( 4 ) . '' . (int) $c->user_id . '' . PHP_EOL; $c_meta = $this->wpdb->get_results( $this->wpdb->prepare( "SELECT * FROM {$this->wpdb->commentmeta} WHERE comment_id = %d", $c->comment_ID ) );// phpcs:ignore foreach ( $c_meta as $meta ) { /** * Filters whether to selectively skip comment meta used for WXR exports. * * Returning a truthy value from the filter will skip the current meta * object from being exported. * * @since 4.0.0 * * @param bool $skip Whether to skip the current comment meta. Default false. * @param string $meta_key Current meta key. * @param object $meta Current meta object. */ if ( apply_filters( 'wxr_export_skip_commentmeta', false, $meta->meta_key, $meta ) ) { continue; } $result .= $this->indent( 4 ) . '' . PHP_EOL; $result .= $this->indent( 5 ) . '' . $this->wxr_cdata( $meta->meta_key ) . '' . PHP_EOL; $result .= $this->indent( 5 ) . '' . $this->wxr_cdata( $meta->meta_key ) . '' . PHP_EOL; $result .= $this->indent( 4 ) . '' . PHP_EOL; } $result .= $this->indent( 3 ) . '' . PHP_EOL; } $result .= $this->indent( 2 ) . '' . PHP_EOL; } } } return $result; } /** * Return all navigation menu terms * * @return string */ private function wxr_nav_menu_terms() { $nav_menus = wp_get_nav_menus(); if ( empty( $nav_menus ) || ! is_array( $nav_menus ) ) { return ''; } $result = ''; foreach ( $nav_menus as $menu ) { $result .= $this->indent( 2 ) . '' . PHP_EOL; $result .= $this->indent( 3 ) . '' . (int) $menu->term_id . '' . PHP_EOL; $result .= $this->indent( 3 ) . 'nav_menu' . PHP_EOL; $result .= $this->indent( 3 ) . '' . $this->wxr_cdata( $menu->slug ) . '' . PHP_EOL; $result .= $this->indent( 3 ) . '' . $this->wxr_cdata( $menu->name ) . '' . PHP_EOL; $result .= $this->indent( 2 ) . '' . PHP_EOL; } return $result; } /** * Return list of taxonomy terms, in XML tag format, associated with a post * * @param \WP_Post $post * * @return string */ private function wxr_post_taxonomy( $post ) { $result = ''; $taxonomies = get_object_taxonomies( $post->post_type ); if ( empty( $taxonomies ) ) { return $result; } $terms = wp_get_object_terms( $post->ID, $taxonomies ); foreach ( (array) $terms as $term ) { $result .= $this->indent( 3 ) . "taxonomy}\" nicename=\"{$term->slug}\">" . $this->wxr_cdata( $term->name ) . '' . PHP_EOL; } return $result; } /** * Get's the XML export. * * @param $post_ids * @param $cats * @param $tags * @param $terms * * @return string */ private function get_xml_export( array $post_ids, array $cats, array $tags, array $terms ) { $charset = get_bloginfo( 'charset' ); $generator = get_the_generator( 'export' ); $wxr_version = self::WXR_VERSION; $wxr_site_url = $this->wxr_site_url(); $rss_info_name = get_bloginfo_rss( 'name' ); $rss_info_url = get_bloginfo_rss( 'url' ); $rss_info_description = get_bloginfo_rss( 'description' ); $rss_info_language = get_bloginfo_rss( 'language' ); $pub_date = gmdate( 'D, d M Y H:i:s +0000' ); $show_page_on_front = 'page' === get_option( 'show_on_front' ); $page_on_front_xml = ''; if ( $show_page_on_front ) { $page_on_front_id = (int) get_option( 'page_on_front' ); if ( in_array( $page_on_front_id, $post_ids ) ) { $page_on_front_xml = "$page_on_front_id"; } } $dynamic = $this->wxr_authors_list( $post_ids ) . $this->wxr_categories_list( $cats ) . $this->wxr_tags_list( $tags ) . $this->wxr_terms_list( $terms ); ob_start(); /** This action is documented in wp-includes/feed-rss2.php */ do_action( 'rss2_head' ); $rss2_head = ob_get_clean(); $dynamic .= $rss2_head; if ( 'all' === $this->args['content'] || 'nav_menu_item' === $this->args['content'] ) { $dynamic .= $this->wxr_nav_menu_terms(); } $dynamic .= $this->wxr_posts_list( $post_ids ); $result = << $generator $rss_info_name $rss_info_url $rss_info_description $pub_date $rss_info_language $wxr_version $wxr_site_url $rss_info_url $page_on_front_xml $dynamic EOT; return $result; } public function __construct( array $args = [] ) { global $wpdb; $this->args = wp_parse_args( $args, self::$default_args ); $this->wpdb = $wpdb; } } core/utils/http.php000064400000001725152377341010010334 0ustar00request( $url, $args ); if ( $this->is_successful_response( $response ) ) { return $response; } } return $response; } /** * @param $response * * @return bool */ private function is_successful_response( $response ) { if ( is_wp_error( $response ) ) { return false; } $response_code = (int) wp_remote_retrieve_response_code( $response ); if ( in_array( $response_code, [ 0, 404, 500 ], true ) ) { return false; } return true; } } core/utils/exceptions.php000064400000001304152377341010011527 0ustar00items = $items; } /** * @param callable|null $callback * * @return $this */ public function filter( callable $callback = null ) { if ( ! $callback ) { return new static( array_filter( $this->items ) ); } return new static( array_filter( $this->items, $callback, ARRAY_FILTER_USE_BOTH ) ); } /** * @param $items * * @return $this */ public function merge( $items ) { if ( $items instanceof Collection ) { $items = $items->all(); } return new static( array_merge( $this->items, $items ) ); } /** * Union the collection with the given items. * * @param array $items * * @return $this */ public function union( array $items ) { return new static( $this->all() + $items ); } /** * Merge array recursively * * @param $items * * @return $this */ public function merge_recursive( $items ) { if ( $items instanceof Collection ) { $items = $items->all(); } return new static( array_merge_recursive( $this->items, $items ) ); } /** * Replace array recursively * * @param $items * * @return $this */ public function replace_recursive( $items ) { if ( $items instanceof Collection ) { $items = $items->all(); } return new static( array_replace_recursive( $this->items, $items ) ); } /** * Implode the items * * @param $glue * * @return string */ public function implode( $glue ) { return implode( $glue, $this->items ); } /** * Run a map over each of the items. * * @param callable $callback * @return $this */ public function map( callable $callback ) { $keys = array_keys( $this->items ); $items = array_map( $callback, $this->items, $keys ); return new static( array_combine( $keys, $items ) ); } /** * @param callable $callback * @param null $initial * * @return mixed|null */ public function reduce( callable $callback, $initial = null ) { $result = $initial; foreach ( $this->all() as $key => $value ) { $result = $callback( $result, $value, $key ); } return $result; } /** * @param callable $callback * * @return $this */ public function map_with_keys( callable $callback ) { $result = []; foreach ( $this->items as $key => $value ) { $assoc = $callback( $value, $key ); foreach ( $assoc as $map_key => $map_value ) { $result[ $map_key ] = $map_value; } } return new static( $result ); } /** * Get all items except for those with the specified keys. * * @param array $keys * * @return $this */ public function except( array $keys ) { return $this->filter( function ( $value, $key ) use ( $keys ) { return ! in_array( $key, $keys, true ); } ); } /** * Get the items with the specified keys. * * @param array $keys * * @return $this */ public function only( array $keys ) { return $this->filter( function ( $value, $key ) use ( $keys ) { return in_array( $key, $keys, true ); } ); } /** * Run over the collection to get specific prop from the collection item. * * @param $key * * @return $this */ public function pluck( $key ) { $result = []; foreach ( $this->items as $item ) { $result[] = $this->get_item_value( $item, $key ); } return new static( $result ); } /** * Group the collection items by specific key in each collection item. * * @param $group_by * * @return $this */ public function group_by( $group_by ) { $result = []; foreach ( $this->items as $item ) { $group_key = $this->get_item_value( $item, $group_by, 0 ); $result[ $group_key ][] = $item; } return new static( $result ); } /** * Sort keys * * @param false $descending * * @return $this */ public function sort_keys( $descending = false ) { $items = $this->items; if ( $descending ) { krsort( $items ); } else { ksort( $items ); } return new static( $items ); } /** * Get specific item from the collection. * * @param $key * @param null $default * * @return mixed|null */ public function get( $key, $default = null ) { if ( ! array_key_exists( $key, $this->items ) ) { return $default; } return $this->items[ $key ]; } /** * Get the first item. * * @param null $default * * @return mixed|null */ public function first( $default = null ) { if ( $this->is_empty() ) { return $default; } foreach ( $this->items as $item ) { return $item; } } /** * Find an element from the items. * * @param callable $callback * @param null $default * * @return mixed|null */ public function find( callable $callback, $default = null ) { foreach ( $this->all() as $key => $item ) { if ( $callback( $item, $key ) ) { return $item; } } return $default; } /** * Make sure all the values inside the array are uniques. * * @param null|string|string[] $keys * * @return $this */ public function unique( $keys = null ) { if ( ! $keys ) { return new static( array_unique( $this->items ) ); } if ( ! is_array( $keys ) ) { $keys = [ $keys ]; } $exists = []; return $this->filter( function ( $item ) use ( $keys, &$exists ) { $value = null; foreach ( $keys as $key ) { $current_value = $this->get_item_value( $item, $key ); $value .= "{$key}:{$current_value};"; } // If no value for the specific key return the item. if ( null === $value ) { return true; } // If value is not exists, add to the exists array and return the item. if ( ! in_array( $value, $exists, true ) ) { $exists[] = $value; return true; } return false; } ); } /** * @return array */ public function keys() { return array_keys( $this->items ); } /** * @return bool */ public function is_empty() { return empty( $this->items ); } /** * @return array */ public function all() { return $this->items; } /** * @return array */ public function values() { return array_values( $this->all() ); } /** * Support only one level depth. * * @return $this */ public function flatten() { $result = []; foreach ( $this->all() as $item ) { $item = $item instanceof Collection ? $item->all() : $item; if ( ! is_array( $item ) ) { $result[] = $item; } else { $values = array_values( $item ); foreach ( $values as $value ) { $result[] = $value; } } } return new static( $result ); } /** * @param ...$values * * @return $this */ public function push( ...$values ) { foreach ( $values as $value ) { $this->items[] = $value; } return $this; } /** * @param mixed $offset * * @return bool */ #[\ReturnTypeWillChange] public function offsetExists( $offset ) { return isset( $this->items[ $offset ] ); } /** * @param mixed $offset * * @return mixed */ #[\ReturnTypeWillChange] public function offsetGet( $offset ) { return $this->items[ $offset ]; } /** * @param mixed $offset * @param mixed $value */ #[\ReturnTypeWillChange] public function offsetSet( $offset, $value ) { if ( is_null( $offset ) ) { $this->items[] = $value; } else { $this->items[ $offset ] = $value; } } /** * @param mixed $offset */ #[\ReturnTypeWillChange] public function offsetUnset( $offset ) { unset( $this->items[ $offset ] ); } /** * @return \ArrayIterator|\Traversable */ #[\ReturnTypeWillChange] public function getIterator() { return new \ArrayIterator( $this->items ); } /** * @return int|void */ #[\ReturnTypeWillChange] public function count() { return count( $this->items ); } /** * @param $item * @param $key * @param null $default * * @return mixed|null */ private function get_item_value( $item, $key, $default = null ) { $value = $default; if ( is_object( $item ) && isset( $item->{$key} ) ) { $value = $item->{$key}; } elseif ( is_array( $item ) && isset( $item[ $key ] ) ) { $value = $item[ $key ]; } return $value; } } core/utils/plugins-manager.php000064400000005532152377341010012446 0ustar00upgrader = $upgrader; } else { $skin = new WP_Ajax_Upgrader_Skin(); $this->upgrader = new Plugin_Upgrader( $skin ); } } /** * Install plugin or an array of plugins. * * @since 3.6.2 * * @param string|array $plugins * @return array [ 'succeeded' => [] , 'failed' => [] ] */ public function install( $plugins ) { $succeeded = []; $failed = []; $already_installed_plugins = Plugin::$instance->wp->get_plugins(); if ( ! is_array( $plugins ) ) { $plugins = [ $plugins ]; } foreach ( $plugins as $plugin ) { if ( in_array( $plugin, $already_installed_plugins->keys(), true ) ) { $succeeded[] = $plugin; continue; } $slug = $this->clean_slug( $plugin ); $api = Plugin::$instance->wp->plugins_api('plugin_information', [ 'slug' => $slug, 'fields' => array( 'short_description' => false, 'sections' => false, 'requires' => false, 'rating' => false, 'ratings' => false, 'downloaded' => false, 'last_updated' => false, 'added' => false, 'tags' => false, 'compatibility' => false, 'homepage' => false, 'donate_link' => false, ), ] ); if ( ! isset( $api->download_link ) ) { $failed[] = $plugin; continue; } $installation = $this->upgrader->install( $api->download_link ); if ( $installation ) { $succeeded[] = $plugin; } else { $failed[] = $plugin; } } return [ 'succeeded' => $succeeded, 'failed' => $failed, ]; } /** * Activate plugin or array off plugins. * * @since 3.6.2 * * @param array|string $plugins * @return array [ 'succeeded' => [] , 'failed' => [] ] */ public function activate( $plugins ) { $succeeded = []; $failed = []; if ( ! is_array( $plugins ) ) { $plugins = [ $plugins ]; } foreach ( $plugins as $plugin ) { if ( Plugin::$instance->wp->is_plugin_active( $plugin ) ) { $succeeded[] = $plugin; continue; } Plugin::$instance->wp->activate_plugin( $plugin ); if ( Plugin::$instance->wp->is_plugin_active( $plugin ) ) { $succeeded[] = $plugin; } else { $failed[] = $plugin; } } return [ 'succeeded' => $succeeded, 'failed' => $failed, ]; } private function clean_slug( $initial_slug ) { return explode( '/', $initial_slug )[0]; } } core/utils/version.php000064400000007211152377341010011036 0ustar00major1 = $major1; $this->major2 = $major2; $this->patch = $patch; $this->stage = $stage; } /** * Create Version instance. * * @param string $major1 * @param string $major2 * @param string $patch * @param null $stage * * @return static */ public static function create( $major1 = '0', $major2 = '0', $patch = '0', $stage = null ) { return new static( $major1, $major2, $patch, $stage ); } /** * Checks if the current version string is valid. * * @param $version * * @return bool */ public static function is_valid_version( $version ) { return ! ! preg_match( '/^(\d+\.)?(\d+\.)?(\*|\d+)(-.+)?$/', $version ); } /** * Creates a Version instance from a string. * * @param $version * @param bool $should_validate * * @return static * @throws \Exception */ public static function create_from_string( $version, $should_validate = true ) { if ( $should_validate && ! static::is_valid_version( $version ) ) { throw new \Exception( "{$version} is an invalid version." ); } $parts = explode( '.', $version ); $patch_parts = []; $major1 = '0'; $major2 = '0'; $patch = '0'; $stage = null; if ( isset( $parts[0] ) ) { $major1 = $parts[0]; } if ( isset( $parts[1] ) ) { $major2 = $parts[1]; } if ( isset( $parts[2] ) ) { $patch_parts = explode( '-', $parts[2] ); $patch = $patch_parts[0]; } if ( isset( $patch_parts[1] ) ) { $stage = $patch_parts[1]; } return static::create( $major1, $major2, $patch, $stage ); } /** * Compare the current version instance with another version. * * @param $operator * @param $version * @param string $part * * @return bool * @throws \Exception */ public function compare( $operator, $version, $part = self::PART_STAGE ) { if ( ! ( $version instanceof Version ) ) { if ( ! static::is_valid_version( $version ) ) { $version = '0.0.0'; } $version = static::create_from_string( $version, false ); } $current_version = clone $this; $compare_version = clone $version; if ( in_array( $part, [ self::PART_PATCH, self::PART_MAJOR_2, self::PART_MAJOR_1 ], true ) ) { $current_version->stage = null; $compare_version->stage = null; } if ( in_array( $part, [ self::PART_MAJOR_2, self::PART_MAJOR_1 ], true ) ) { $current_version->patch = '0'; $compare_version->patch = '0'; } if ( self::PART_MAJOR_1 === $part ) { $current_version->major2 = '0'; $compare_version->major2 = '0'; } return version_compare( $current_version, $compare_version, $operator ); } /** * Implode the version and return it as string. * * @return string */ public function __toString() { $version = implode( '.', [ $this->major1, $this->major2, $this->patch ] ); if ( $this->stage ) { $version .= '-' . $this->stage; } return $version; } } core/experiments/experiments-reporter.php000064400000005774152377341010014773 0ustar00 '', ]; } /** * Get Experiments. */ public function get_experiments() { $result = []; $experiments_manager = Plugin::$instance->experiments; // TODO: Those keys should be at `$experiments_manager`. $tracking_keys = [ 'default', 'state', ]; foreach ( $experiments_manager->get_features() as $feature_name => $feature_data ) { $data_to_collect = []; // Extract only tracking keys. foreach ( $tracking_keys as $tracking_key ) { $data_to_collect[ $tracking_key ] = $feature_data[ $tracking_key ]; } $result[ $feature_name ] = $data_to_collect; } return [ 'value' => $result, ]; } /** * Get Raw Experiments. * * Retrieve a string containing the list of Elementor experiments and each experiment's status (active/inactive). * The string is formatted in a non-table structure, and it is meant for export/download of the system info reports. * * @return array */ public function get_raw_experiments() { $experiments = Plugin::$instance->experiments->get_features(); $output = ''; $is_first_item = true; foreach ( $experiments as $experiment ) { // If the state is default, add the default state to the string. $state = Plugin::$instance->experiments->get_feature_state_label( $experiment ); // The first item automatically has a tab character before it. Add tabs only to the rest of the items. if ( ! $is_first_item ) { $output .= "\t"; } $output .= $experiment['title'] . ': ' . $state . PHP_EOL; $is_first_item = false; } return [ 'value' => $output, ]; } /** * Get HTML Experiments. * * Retrieve the list of Elementor experiments and each experiment's status (active/inactive), in HTML table format. * * @return array */ public function get_html_experiments() { $experiments = Plugin::$instance->experiments->get_features(); $output = ''; foreach ( $experiments as $experiment ) { // If the state is default, add the default state to the string. $state = Plugin::$instance->experiments->get_feature_state_label( $experiment ); $title = isset( $experiment['title'] ) ? $experiment['title'] : $experiment['name']; $output .= '' . esc_html( $title ) . ': '; $output .= '' . esc_html( $state ) . ''; $output .= ''; } return [ 'value' => $output, ]; } } core/experiments/manager.php000064400000051256152377341010012176 0ustar00features[ $options['name'] ] ) ) { return null; } $default_experimental_data = [ 'description' => '', 'release_status' => self::RELEASE_STATUS_ALPHA, 'default' => self::STATE_INACTIVE, 'mutable' => true, 'new_site' => [ 'default_active' => false, 'always_active' => false, 'minimum_installation_version' => null, ], 'on_state_change' => null, ]; $allowed_options = [ 'name', 'title', 'description', 'release_status', 'default', 'mutable', 'new_site', 'on_state_change' ]; $experimental_data = $this->merge_properties( $default_experimental_data, $options, $allowed_options ); $new_site = $experimental_data['new_site']; if ( $new_site['default_active'] || $new_site['always_active'] ) { $is_new_installation = Upgrade_Manager::install_compare( $new_site['minimum_installation_version'], '>=' ); if ( $is_new_installation ) { if ( $new_site['always_active'] ) { $experimental_data['state'] = self::STATE_ACTIVE; $experimental_data['mutable'] = false; } elseif ( $new_site['default_active'] ) { $experimental_data['default'] = self::STATE_ACTIVE; } } } if ( $experimental_data['mutable'] ) { $experimental_data['state'] = $this->get_saved_feature_state( $options['name'] ); } if ( empty( $experimental_data['state'] ) ) { $experimental_data['state'] = self::STATE_DEFAULT; } $this->features[ $options['name'] ] = $experimental_data; if ( $experimental_data['mutable'] && is_admin() ) { $feature_option_key = $this->get_feature_option_key( $options['name'] ); $on_state_change_callback = function( $old_state, $new_state ) use ( $experimental_data ) { $this->on_feature_state_change( $experimental_data, $new_state ); }; add_action( 'add_option_' . $feature_option_key, $on_state_change_callback, 10, 2 ); add_action( 'update_option_' . $feature_option_key, $on_state_change_callback, 10, 2 ); } do_action( 'elementor/experiments/feature-registered', $this, $experimental_data ); return $experimental_data; } /** * Remove Feature * * @since 3.1.0 * @access public * * @param string $feature_name */ public function remove_feature( $feature_name ) { unset( $this->features[ $feature_name ] ); } /** * Get Features * * @since 3.1.0 * @access public * * @param string $feature_name Optional. Default is null * * @return array|null */ public function get_features( $feature_name = null ) { return self::get_items( $this->features, $feature_name ); } /** * Get Active Features * * @since 3.1.0 * @access public * * @return array */ public function get_active_features() { return array_filter( $this->features, [ $this, 'is_feature_active' ], ARRAY_FILTER_USE_KEY ); } /** * Is Feature Active * * @since 3.1.0 * @access public * * @param string $feature_name * * @return bool */ public function is_feature_active( $feature_name ) { $feature = $this->get_features( $feature_name ); if ( ! $feature ) { return false; } return self::STATE_ACTIVE === $this->get_feature_actual_state( $feature ); } /** * Set Feature Default State * * @since 3.1.0 * @access public * * @param string $feature_name * @param int $default_state */ public function set_feature_default_state( $feature_name, $default_state ) { $feature = $this->get_features( $feature_name ); if ( ! $feature ) { return; } $this->features[ $feature_name ]['default'] = $default_state; } /** * Get Feature Option Key * * @since 3.1.0 * @access public * * @param string $feature_name * * @return string */ public function get_feature_option_key( $feature_name ) { return 'elementor_experiment-' . $feature_name; } private function add_default_features() { $this->add_feature( [ 'name' => 'e_dom_optimization', 'title' => esc_html__( 'Optimized DOM Output', 'elementor' ), 'description' => esc_html__( 'Developers, Please Note! This experiment includes some markup changes. If you\'ve used custom code in Elementor, you might have experienced a snippet of code not running. Turning this experiment off allows you to keep prior Elementor markup output settings, and have that lovely code running again.', 'elementor' ) . ' ' . esc_html__( 'Learn More', 'elementor' ) . '', 'release_status' => self::RELEASE_STATUS_STABLE, 'new_site' => [ 'default_active' => true, 'minimum_installation_version' => '3.1.0-beta', ], ] ); $this->add_feature( [ 'name' => 'e_optimized_assets_loading', 'title' => esc_html__( 'Improved Asset Loading', 'elementor' ), 'description' => esc_html__( 'Please Note! The "Improved Asset Loading" mode reduces the amount of code that is loaded on the page by default. When activated, parts of the infrastructure code will be loaded dynamically, only when needed. Keep in mind that activating this experiment may cause conflicts with incompatible plugins.', 'elementor' ) . ' ' . esc_html__( 'Learn More', 'elementor' ) . '', 'release_status' => self::RELEASE_STATUS_BETA, 'new_site' => [ 'default_active' => true, 'minimum_installation_version' => '3.2.0-beta', ], ] ); $this->add_feature( [ 'name' => 'e_optimized_css_loading', 'title' => esc_html__( 'Improved CSS Loading', 'elementor' ), 'description' => esc_html__( 'Please Note! The “Improved CSS Loading” mode reduces the amount of CSS code that is loaded on the page by default. When activated, the CSS code will be loaded, rather inline or in a dedicated file, only when needed. Activating this experiment may cause conflicts with incompatible plugins.', 'elementor' ) . ' ' . esc_html__( 'Learn More', 'elementor' ) . '', 'release_status' => self::RELEASE_STATUS_BETA, 'new_site' => [ 'default_active' => true, 'minimum_installation_version' => '3.3.0-beta', ], ] ); $this->add_feature( [ 'name' => 'e_font_icon_svg', 'title' => esc_html__( 'Inline Font Icons', 'elementor' ), 'description' => esc_html__( 'The “Inline Font Icons” will render the icons as inline SVG without loading the Font-Awsome and the eicons libraries and its related CSS files and fonts. Learn More.', 'elementor' ) . ' ' . esc_html__( 'Learn More', 'elementor' ) . '', 'release_status' => self::RELEASE_STATUS_ALPHA, ] ); $this->add_feature( [ 'name' => 'a11y_improvements', 'title' => esc_html__( 'Accessibility Improvements', 'elementor' ), 'description' => esc_html__( 'An array of accessibility enhancements in Elementor pages.', 'elementor' ) . '
' . esc_html__( 'Please note!', 'elementor' ) . ' ' . esc_html__( 'These enhancements may include some markup changes to existing elementor widgets', 'elementor' ) . ' ' . esc_html__( 'Learn More', 'elementor' ) . '', 'release_status' => self::RELEASE_STATUS_STABLE, 'new_site' => [ 'default_active' => true, 'minimum_installation_version' => '3.1.0-beta', ], ] ); $this->add_feature( [ 'name' => 'e_import_export', 'title' => esc_html__( 'Import Export Template Kit', 'elementor' ), 'description' => esc_html__( 'Design sites faster with a template kit that contains some or all components of a complete site, like templates, content & site settings.', 'elementor' ) . '
' . esc_html__( 'You can import a kit and apply it to your site, or export the elements from this site to be used anywhere else.', 'elementor' ), 'release_status' => self::RELEASE_STATUS_STABLE, 'default' => self::STATE_ACTIVE, 'new_site' => [ 'default_active' => true, 'minimum_installation_version' => '3.2.0-beta', ], ] ); $this->add_feature( [ 'name' => 'additional_custom_breakpoints', 'title' => esc_html__( 'Additional Custom Breakpoints', 'elementor' ), 'description' => esc_html__( 'Get pixel-perfect design for every screen size. You can now add up to 6 customizable breakpoints beyond the default desktop setting: mobile, mobile extra, tablet, tablet extra, laptop, and widescreen.', 'elementor' ) . '
' . esc_html__( 'Please note! Conditioning controls on values of responsive controls is not supported when this mode is active.', 'elementor' ) . '' . ' ' . esc_html__( 'Learn More', 'elementor' ) . '', 'release_status' => self::RELEASE_STATUS_BETA, 'new_site' => [ 'default_active' => true, 'minimum_installation_version' => '3.4.0-beta', ], ] ); $this->add_feature( [ 'name' => 'e_hidden_wordpress_widgets', 'title' => esc_html__( 'Hide native WordPress widgets from search results', 'elementor' ), 'description' => esc_html__( 'WordPress widgets will not be shown when searching in the editor panel. Instead, these widgets can be found in the “WordPress” dropdown at the bottom of the panel.', 'elementor' ), 'release_status' => self::RELEASE_STATUS_STABLE, 'default' => self::STATE_ACTIVE, ] ); $this->add_feature( [ 'name' => 'admin_menu_rearrangement', 'mutable' => false, ] ); $this->add_feature( [ 'name' => 'container', 'title' => esc_html__( 'Flexbox Container', 'elementor' ), 'description' => sprintf( esc_html__( 'Create advanced layouts and responsive designs with the new Flexbox Container element. This experiment replaces the current section/column structure, but you\'ll still keep your existing Sections, Inner Sections and Columns and be able to edit them. %1$sLearn More%2$s', 'elementor' ), '', '' ), 'release_status' => self::RELEASE_STATUS_ALPHA, 'default' => self::STATE_INACTIVE, ] ); } /** * Init States * * @since 3.1.0 * @access private */ private function init_states() { $this->states = [ self::STATE_DEFAULT => esc_html__( 'Default', 'elementor' ), self::STATE_ACTIVE => esc_html__( 'Active', 'elementor' ), self::STATE_INACTIVE => esc_html__( 'Inactive', 'elementor' ), ]; } /** * Init Statuses * * @since 3.1.0 * @access private */ private function init_release_statuses() { $this->release_statuses = [ self::RELEASE_STATUS_DEV => esc_html__( 'Development', 'elementor' ), self::RELEASE_STATUS_ALPHA => esc_html__( 'Alpha', 'elementor' ), self::RELEASE_STATUS_BETA => esc_html__( 'Beta', 'elementor' ), self::RELEASE_STATUS_RC => esc_html__( 'Release Candidate', 'elementor' ), self::RELEASE_STATUS_STABLE => esc_html__( 'Stable', 'elementor' ), ]; } /** * Init Features * * @since 3.1.0 * @access private */ private function init_features() { $this->features = []; $this->add_default_features(); do_action( 'elementor/experiments/default-features-registered', $this ); } /** * Register Settings Fields * * @param Settings $settings * * @since 3.1.0 * @access private * */ private function register_settings_fields( Settings $settings ) { $features = $this->get_features(); $fields = []; foreach ( $features as $feature_name => $feature ) { if ( ! $feature['mutable'] ) { unset( $features[ $feature_name ] ); continue; } $feature_key = 'experiment-' . $feature_name; $section = 'stable' === $feature['release_status'] ? 'stable' : 'ongoing'; $fields[ $section ][ $feature_key ]['label'] = $this->get_feature_settings_label_html( $feature ); $fields[ $section ][ $feature_key ]['field_args'] = $feature; $fields[ $section ][ $feature_key ]['render'] = function( $feature ) { $this->render_feature_settings_field( $feature ); }; } foreach ( [ 'stable', 'ongoing' ] as $section ) { if ( ! isset( $fields[ $section ] ) ) { $fields[ $section ]['no_features'] = [ 'label' => esc_html__( 'No available experiments', 'elementor' ), 'field_args' => [ 'type' => 'raw_html', 'html' => esc_html__( 'The current version of Elementor doesn\'t have any experimental features . if you\'re feeling curious make sure to come back in future versions.', 'elementor' ), ], ]; } if ( ! Tracker::is_allow_track() && 'stable' === $section ) { $fields[ $section ] += $settings->get_usage_fields(); } } $settings->add_tab( 'experiments', [ 'label' => esc_html__( 'Experiments', 'elementor' ), 'sections' => [ 'ongoing_experiments' => [ 'callback' => function() { $this->render_settings_intro(); }, 'fields' => $fields['ongoing'], ], 'stable_experiments' => [ 'callback' => function() { $this->render_stable_section_title(); }, 'fields' => $fields['stable'], ], ], ] ); } private function render_stable_section_title() { ?>

', '' ); ?>

', '' ); ?>

get_features() ) { ?>

release_statuses[ $feature['release_status'] ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
is_feature_active( $feature['name'] ); $indicator_classes = 'e-experiment__title__indicator'; if ( $is_feature_active ) { $indicator_classes .= ' e-experiment__title__indicator--active'; } $indicator_tooltip = $this->get_feature_state_label( $feature ); ?>
is_feature_active( $feature['name'] ); if ( self::STATE_DEFAULT === $feature['state'] ) { $label = $is_feature_active ? esc_html__( 'Active by default', 'elementor' ) : esc_html__( 'Inactive by default', 'elementor' ); } else { $label = self::STATE_ACTIVE === $feature['state'] ? esc_html__( 'Active', 'elementor' ) : esc_html__( 'Inactive', 'elementor' ); } return $label; } /** * Get Feature Settings Label HTML * * @since 3.1.0 * @access private * * @param string $feature_name * * @return int */ private function get_saved_feature_state( $feature_name ) { return get_option( $this->get_feature_option_key( $feature_name ) ); } /** * Get Feature Actual State * * @since 3.1.0 * @access private * * @param array $feature * * @return string */ private function get_feature_actual_state( array $feature ) { if ( self::STATE_DEFAULT !== $feature['state'] ) { return $feature['state']; } return $feature['default']; } /** * On Feature State Change * * @since 3.1.0 * @access private * * @param array $old_feature_data * @param string $new_state */ private function on_feature_state_change( array $old_feature_data, $new_state ) { $this->features[ $old_feature_data['name'] ]['state'] = $new_state; $new_feature_data = $this->get_features( $old_feature_data['name'] ); $actual_old_state = $this->get_feature_actual_state( $old_feature_data ); $actual_new_state = $this->get_feature_actual_state( $new_feature_data ); if ( $actual_old_state === $actual_new_state ) { return; } Plugin::$instance->files_manager->clear_cache(); if ( $new_feature_data['on_state_change'] ) { $new_feature_data['on_state_change']( $actual_old_state, $actual_new_state ); } } public function __construct() { $this->init_states(); $this->init_release_statuses(); $this->init_features(); add_action( 'admin_init', function () { System_Info::add_report( 'experiments', [ 'file_name' => __DIR__ . '/experiments-reporter.php', 'class_name' => __NAMESPACE__ . '\Experiments_Reporter', ] ); }, 79 /* Before log */ ); if ( is_admin() ) { $page_id = Settings::PAGE_ID; add_action( "elementor/admin/after_create_settings/{$page_id}", function( Settings $settings ) { $this->register_settings_fields( $settings ); }, 11 ); } // Register CLI commands. if ( Utils::is_wp_cli() ) { \WP_CLI::add_command( 'elementor experiments', WP_CLI::class ); } } } core/experiments/wp-cli.php000064400000006463152377341010011757 0ustar00is_network( $assoc_args ); // Activate experiment callback. $activate = function ( $site = '', $id = null ) use ( $args, $is_network ) { $success = 'Experiment activated successfully'; $error = 'Cannot activate experiment'; if ( $is_network ) { $success .= " for site {$site}"; $error .= " for site {$site}"; } $experiments_manager = Plugin::instance()->experiments; $option = $experiments_manager->get_feature_option_key( $args[0] ); update_option( $option, Experiments_Manager::STATE_ACTIVE ); try { \WP_CLI::success( $success ); } catch ( \Exception $e ) { \WP_CLI::error( $error ); } }; if ( $is_network ) { $this->foreach_sites( $activate ); } else { $activate(); } } /** * Deactivate an Experiment * * ## EXAMPLES * * 1. wp elementor experiments deactivate container * - This will deactivate the Container experiment. * * @param array $args * @param array|null $assoc_args - Arguments from WP CLI command. */ public function deactivate( $args, $assoc_args ) { if ( empty( $args[0] ) ) { \WP_CLI::error( 'Please specify an experiment.' ); } $is_network = $this->is_network( $assoc_args ); // Activate experiment callback. $activate = function ( $site = '' ) use ( $args, $is_network ) { $success = 'Experiment deactivated successfully'; $error = 'Cannot deactivate experiment'; if ( $is_network ) { $success .= " for site {$site}"; $error .= " for site {$site}"; } $experiments_manager = Plugin::instance()->experiments; $option = $experiments_manager->get_feature_option_key( $args[0] ); update_option( $option, Experiments_Manager::STATE_INACTIVE ); try { \WP_CLI::success( $success ); } catch ( \Exception $e ) { \WP_CLI::error( $error ); } }; if ( $is_network ) { $this->foreach_sites( $activate ); } else { $activate(); } } /** * Determine if the current website is a multisite. * * @param array|null $assoc_args - Arguments from WP CLI command. * * @return bool */ private function is_network( $assoc_args ) { return ! empty( $assoc_args['network'] ) && is_multisite(); } /** * Iterate over network sites and execute a callback. * * @param callable $callback - Callback to execute. Gets the site name & id as parameters. * * @return void */ private function foreach_sites( callable $callback ) { /** @var \WP_Site[] $sites */ $sites = get_sites(); foreach ( $sites as $keys => $site ) { // Cast $blog as an array instead of object $blog_id = $site->blog_id; switch_to_blog( $blog_id ); $callback( get_option( 'home' ), $blog_id ); restore_current_blog(); } } } core/wp-api.php000064400000002165152377341010007411 0ustar00plugins ) { $this->plugins = new Collection( get_plugins() ); } return $this->plugins; } /** * @return Collection */ public function get_active_plugins() { return $this->get_plugins() ->only( get_option( 'active_plugins' ) ); } /** * @return object|array */ public function plugins_api( $action, $args ) { return plugins_api( $action, $args ); } /** * @return bool */ public function is_plugin_active( $plugin ) { return is_plugin_active( $plugin ); } /** * @return bool|int|null|true */ public function activate_plugin( $plugin ) { return activate_plugin( $plugin ); } } core/upgrade/updater.php000064400000000753152377341010011310 0ustar00manager->get_plugin_label() . '/Upgrades - ' . $item['callback'][1]; } public function set_limit( $limit ) { $this->manager->set_query_limit( $limit ); } } core/upgrade/elementor-3-re-migrate-globals.php000064400000011001152377341010015435 0ustar00register_ajax_action( 're_migrate_globals', [ $this, 'ajax_re_migrate_globals' ] ); } public function ajax_re_migrate_globals() { $this->run(); return true; } /** * @deprecated 3.1.0 */ public function admin_localize_settings() { Plugin::$instance->modules_manager->get_modules( 'dev-tools' )->deprecation->deprecated_function( __METHOD__, '3.1.0' ); return []; } public function register_admin_tools_fields( Tools $tools ) { // Add the re-migrate button only if needed. if ( ! $this->has_typography() && ! $this->has_colors() && ! $this->has_saved_colors() ) { return; } // Add the button to the rollback screen. $tools->add_fields( 'versions', 'rollback', [ 're_migrate_globals_separator' => [ 'field_args' => [ 'type' => 'raw_html', 'html' => '
', ], ], 're_migrate_globals' => [ 'label' => esc_html__( 'Rerun Update Script', 'elementor' ), 'field_args' => [ 'type' => 'raw_html', 'html' => sprintf( '%s', wp_create_nonce( 'elementor_re_migrate_globals' ), __( 'Migrate to v3.0', 'elementor' ) ), 'desc' => '' . esc_html__( 'Warning: This will reset your current Global Fonts and Colors, and will migrate your previous settings from v2.x versions.', 'elementor' ) . '', ], ], ] ); } private function run() { $this->notice( 'Re-migrate 3.0.0 globals: Start' ); $callbacks = []; $kit = Plugin::$instance->kits_manager->get_active_kit(); // Already exist. use raw settings that doesn't have default values. $meta_key = SettingsPageManager::META_KEY; $kit_raw_settings = $kit->get_meta( $meta_key ); // Apply a default value for $kit_raw_settings in case it's not defined. if ( empty( $kit_raw_settings ) ) { $kit_raw_settings = []; } if ( $this->has_typography() ) { $callbacks[] = [ Upgrades::class, '_v_3_0_0_move_default_typography_to_kit' ]; unset( $kit_raw_settings['system_typography'] ); } else { $this->notice( 'Typography not found' ); } if ( $this->has_colors() ) { $callbacks[] = [ Upgrades::class, '_v_3_0_0_move_default_colors_to_kit' ]; unset( $kit_raw_settings['system_colors'] ); } else { $this->notice( 'Colors not found' ); } if ( $this->has_saved_colors() ) { $callbacks[] = [ Upgrades::class, '_v_3_0_0_move_saved_colors_to_kit' ]; unset( $kit_raw_settings['custom_colors'] ); } else { $this->notice( 'Saved Colors not found' ); } if ( ! empty( $callbacks ) ) { $page_settings_manager = SettingsManager::get_settings_managers( 'page' ); $page_settings_manager->save_settings( $kit_raw_settings, $active_kit_id ); $this->run_callbacks( $callbacks ); } Plugin::$instance->files_manager->clear_cache(); $this->notice( 'Re-migrate 3.0.0 globals: End' ); } private function run_callbacks( $callbacks ) { foreach ( $callbacks as $callback ) { $updater = $this->create_updater(); $this->notice( 'Re-migrate 3.0.0 globals: ' . $callback[1] ); // Run upgrade. call_user_func( $callback, $updater, false ); } } /** * @return Updater */ private function create_updater() { $upgrades_manager = new Manager(); /** @var Updater $updater */ $updater = $upgrades_manager->get_task_runner(); $updater->set_current_item( [ 'iterate_num' => 1, ] ); return $updater; } private function has_typography() { return ! ! get_option( 'elementor_scheme_typography' ); } private function has_colors() { return ! ! get_option( 'elementor_scheme_color' ); } private function has_saved_colors() { return ! ! get_option( 'elementor_scheme_color-picker' ); } private function notice( $message ) { $logger = Plugin::$instance->logger->get_logger(); $logger->notice( $message ); } public function __construct() { add_action( 'elementor/admin/after_create_settings/' . Tools::PAGE_ID, [ $this, 'register_admin_tools_fields' ], 60 /* After plugins rollback */ ); add_action( 'elementor/ajax/register_actions', [ $this, 'register_ajax_actions' ] ); } } core/upgrade/task.php000064400000001015152377341010010576 0ustar00manager->get_plugin_label() . '/Tasks - ' . $item['callback'][1]; } public function set_limit( $limit ) { $this->manager->set_query_limit( $limit ); } } core/upgrade/upgrades.php000064400000065462152377341010011466 0ustar00uploads_manager; $temp_dir = $uploads_manager->get_temp_dir(); if ( file_exists( $temp_dir ) ) { $uploads_manager->remove_file_or_dir( $temp_dir ); } } /** * Upgrade Elementor 0.3.2 * * Change the image widget link URL, setting is to `custom` link. * * @since 2.0.0 * @static * @access public */ public static function _v_0_3_2() { global $wpdb; $post_ids = $wpdb->get_col( 'SELECT `post_id` FROM `' . $wpdb->postmeta . '` WHERE `meta_key` = \'_elementor_version\' AND `meta_value` = \'0.1\';' ); if ( empty( $post_ids ) ) { return; } foreach ( $post_ids as $post_id ) { $document = Plugin::$instance->documents->get( $post_id ); if ( $document ) { $data = $document->get_elements_data(); } if ( empty( $data ) ) { continue; } $data = Plugin::$instance->db->iterate_data( $data, function( $element ) { if ( empty( $element['widgetType'] ) || 'image' !== $element['widgetType'] ) { return $element; } if ( ! empty( $element['settings']['link']['url'] ) && ! isset( $element['settings']['link_to'] ) ) { $element['settings']['link_to'] = 'custom'; } return $element; } ); $document = Plugin::$instance->documents->get( $post_id ); $document->save( [ 'elements' => $data, ] ); } } /** * Upgrade Elementor 0.9.2 * * Change the icon widget, icon-box widget and the social-icons widget, * setting their icon padding size to an empty string. * * Change the image widget, setting the image size to full image size. * * @since 2.0.0 * @static * @access public */ public static function _v_0_9_2() { global $wpdb; // Fix Icon/Icon Box Widgets padding. $post_ids = $wpdb->get_col( 'SELECT `post_id` FROM `' . $wpdb->postmeta . '` WHERE `meta_key` = \'_elementor_version\' AND `meta_value` = \'0.2\';' ); if ( empty( $post_ids ) ) { return; } foreach ( $post_ids as $post_id ) { $document = Plugin::$instance->documents->get( $post_id ); if ( $document ) { $data = $document->get_elements_data(); } if ( empty( $data ) ) { continue; } $data = Plugin::$instance->db->iterate_data( $data, function( $element ) { if ( empty( $element['widgetType'] ) ) { return $element; } if ( in_array( $element['widgetType'], [ 'icon', 'icon-box', 'social-icons' ] ) ) { if ( ! empty( $element['settings']['icon_padding']['size'] ) ) { $element['settings']['icon_padding']['size'] = ''; } } if ( 'image' === $element['widgetType'] ) { if ( empty( $element['settings']['image_size'] ) ) { $element['settings']['image_size'] = 'full'; } } return $element; } ); $document = Plugin::$instance->documents->get( $post_id ); $document->save( [ 'elements' => $data, ] ); } } /** * Upgrade Elementor 0.11.0 * * Change the button widget sizes, setting up new button sizes. * * @since 2.0.0 * @static * @access public */ public static function _v_0_11_0() { global $wpdb; // Fix Button widget to new sizes options. $post_ids = $wpdb->get_col( 'SELECT `post_id` FROM `' . $wpdb->postmeta . '` WHERE `meta_key` = \'_elementor_version\' AND `meta_value` = \'0.3\';' ); if ( empty( $post_ids ) ) { return; } foreach ( $post_ids as $post_id ) { $document = Plugin::$instance->documents->get( $post_id ); if ( $document ) { $data = $document->get_elements_data(); } if ( empty( $data ) ) { continue; } $data = Plugin::$instance->db->iterate_data( $data, function( $element ) { if ( empty( $element['widgetType'] ) ) { return $element; } if ( 'button' === $element['widgetType'] ) { $size_to_replace = [ 'small' => 'xs', 'medium' => 'sm', 'large' => 'md', 'xl' => 'lg', 'xxl' => 'xl', ]; if ( ! empty( $element['settings']['size'] ) ) { $old_size = $element['settings']['size']; if ( isset( $size_to_replace[ $old_size ] ) ) { $element['settings']['size'] = $size_to_replace[ $old_size ]; } } } return $element; } ); $document = Plugin::$instance->documents->get( $post_id ); $document->save( [ 'elements' => $data, ] ); } } /** * Upgrade Elementor 2.0.0 * * Fix post titles for old autosave drafts that saved with the format 'Auto Save 2018-03-18 17:24'. * * @static * @since 2.0.0 * @access public */ public static function _v_2_0_0() { global $wpdb; $posts = $wpdb->get_results( 'SELECT `ID`, `post_title`, `post_parent` FROM `' . $wpdb->posts . '` p LEFT JOIN `' . $wpdb->postmeta . '` m ON p.ID = m.post_id WHERE `post_status` = \'inherit\' AND `post_title` = CONCAT(\'Auto Save \', DATE_FORMAT(post_date, "%Y-%m-%d %H:%i")) AND m.`meta_key` = \'_elementor_data\';' ); if ( empty( $posts ) ) { return; } foreach ( $posts as $post ) { wp_update_post( [ 'ID' => $post->ID, 'post_title' => get_the_title( $post->post_parent ), ] ); } } /** * Upgrade Elementor 2.0.1 * * Fix post titles for old autosave drafts that saved with the format 'Auto Save...'. * * @since 2.0.2 * @static * @access public */ public static function _v_2_0_1() { global $wpdb; $posts = $wpdb->get_results( 'SELECT `ID`, `post_title`, `post_parent` FROM `' . $wpdb->posts . '` p LEFT JOIN `' . $wpdb->postmeta . '` m ON p.ID = m.post_id WHERE `post_status` = \'inherit\' AND `post_title` REGEXP \'^Auto Save [0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}$\' AND m.`meta_key` = \'_elementor_data\';' ); if ( empty( $posts ) ) { return; } foreach ( $posts as $post ) { $parent = get_post( $post->post_parent ); $title = isset( $parent->post_title ) ? $parent->post_title : ''; wp_update_post( [ 'ID' => $post->ID, 'post_title' => $title, ] ); } } /** * Upgrade Elementor 2.0.10 * * Fix post titles for old autosave drafts that saved with the format 'Auto Save...'. * Fix also Translated titles. * * @since 2.0.10 * @static * @access public */ public static function _v_2_0_10() { global $wpdb; $posts = $wpdb->get_results( 'SELECT `ID`, `post_title`, `post_parent` FROM `' . $wpdb->posts . '` p LEFT JOIN `' . $wpdb->postmeta . '` m ON p.ID = m.post_id WHERE `post_status` = \'inherit\' AND `post_title` REGEXP \'[[:alnum:]]+ [[:alnum:]]+ [0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}$\' AND m.`meta_key` = \'_elementor_data\';' ); if ( empty( $posts ) ) { return; } foreach ( $posts as $post ) { $parent = get_post( $post->post_parent ); $title = isset( $parent->post_title ) ? $parent->post_title : ''; wp_update_post( [ 'ID' => $post->ID, 'post_title' => $title, ] ); } } public static function _v_2_1_0() { global $wpdb; // upgrade `video` widget settings (merge providers). $post_ids = $wpdb->get_col( 'SELECT `post_id` FROM `' . $wpdb->postmeta . '` WHERE `meta_key` = "_elementor_data" AND `meta_value` LIKE \'%"widgetType":"video"%\';' ); if ( empty( $post_ids ) ) { return; } foreach ( $post_ids as $post_id ) { $do_update = false; $document = Plugin::$instance->documents->get( $post_id ); if ( $document ) { $data = $document->get_elements_data(); } if ( empty( $data ) ) { continue; } $data = Plugin::$instance->db->iterate_data( $data, function( $element ) use ( &$do_update ) { if ( empty( $element['widgetType'] ) || 'video' !== $element['widgetType'] ) { return $element; } $replacements = []; if ( empty( $element['settings']['video_type'] ) || 'youtube' === $element['settings']['video_type'] ) { $replacements = [ 'yt_autoplay' => 'autoplay', 'yt_controls' => 'controls', 'yt_mute' => 'mute', 'yt_rel' => 'rel', 'link' => 'youtube_url', ]; } elseif ( 'vimeo' === $element['settings']['video_type'] ) { $replacements = [ 'vimeo_autoplay' => 'autoplay', 'vimeo_loop' => 'loop', 'vimeo_color' => 'color', 'vimeo_link' => 'vimeo_url', ]; } // cleanup old unused settings. unset( $element['settings']['yt_rel_videos'] ); foreach ( $replacements as $old => $new ) { if ( ! empty( $element['settings'][ $old ] ) ) { $element['settings'][ $new ] = $element['settings'][ $old ]; $do_update = true; } } return $element; } ); // Only update if needed. if ( ! $do_update ) { continue; } // We need the `wp_slash` in order to avoid the unslashing during the `update_post_meta` $json_value = wp_slash( wp_json_encode( $data ) ); update_metadata( 'post', $post_id, '_elementor_data', $json_value ); // Clear WP cache for next step. wp_cache_flush(); } // End foreach(). } /** * @param Updater $updater * * @return bool */ public static function _v_2_3_0_widget_image( $updater ) { global $wpdb; // upgrade `video` widget settings (merge providers). $post_ids = $updater->query_col( 'SELECT `post_id` FROM `' . $wpdb->postmeta . '` WHERE `meta_key` = "_elementor_data" AND ( `meta_value` LIKE \'%"widgetType":"image"%\' OR `meta_value` LIKE \'%"widgetType":"theme-post-featured-image"%\' OR `meta_value` LIKE \'%"widgetType":"theme-site-logo"%\' OR `meta_value` LIKE \'%"widgetType":"woocommerce-category-image"%\' );' ); if ( empty( $post_ids ) ) { return false; } $widgets = [ 'image', 'theme-post-featured-image', 'theme-site-logo', 'woocommerce-category-image', ]; foreach ( $post_ids as $post_id ) { // Clear WP cache for next step. wp_cache_flush(); $do_update = false; $document = Plugin::$instance->documents->get( $post_id ); if ( ! $document ) { continue; } $data = $document->get_elements_data(); if ( empty( $data ) ) { continue; } $data = Plugin::$instance->db->iterate_data( $data, function( $element ) use ( &$do_update, $widgets ) { if ( empty( $element['widgetType'] ) || ! in_array( $element['widgetType'], $widgets ) ) { return $element; } if ( ! empty( $element['settings']['caption'] ) ) { if ( ! isset( $element['settings']['caption_source'] ) ) { $element['settings']['caption_source'] = 'custom'; $do_update = true; } } return $element; } ); // Only update if needed. if ( ! $do_update ) { continue; } // We need the `wp_slash` in order to avoid the unslashing during the `update_post_meta` $json_value = wp_slash( wp_json_encode( $data ) ); update_metadata( 'post', $post_id, '_elementor_data', $json_value ); } // End foreach(). return $updater->should_run_again( $post_ids ); } /** * @param Updater $updater * * @return bool */ public static function _v_2_3_0_template_type( $updater ) { global $wpdb; $post_ids = $updater->query_col( 'SELECT p.ID FROM `' . $wpdb->posts . '` AS p LEFT JOIN `' . $wpdb->postmeta . '` AS pm1 ON (p.ID = pm1.post_id) LEFT JOIN `' . $wpdb->postmeta . '` AS pm2 ON (pm1.post_id = pm2.post_id AND pm2.meta_key = "_elementor_template_type") WHERE p.post_status != "inherit" AND pm1.`meta_key` = "_elementor_data" AND pm2.post_id IS NULL;' ); if ( empty( $post_ids ) ) { return false; } foreach ( $post_ids as $post_id ) { // Clear WP cache for next step. wp_cache_flush(); $document = Plugin::$instance->documents->get( $post_id ); if ( ! $document ) { continue; } $document->save_template_type(); } // End foreach(). return $updater->should_run_again( $post_ids ); } /** * Set FontAwesome Migration needed flag */ public static function _v_2_6_0_fa4_migration_flag() { add_option( 'elementor_icon_manager_needs_update', 'yes' ); add_option( 'elementor_load_fa4_shim', 'yes' ); } /** * migrate Icon control string value to Icons control array value * * @param array $element * @param array $args * * @return mixed */ public static function _migrate_icon_fa4_value( $element, $args ) { $widget_id = $args['widget_id']; if ( empty( $element['widgetType'] ) || $widget_id !== $element['widgetType'] ) { return $element; } foreach ( $args['control_ids'] as $old_name => $new_name ) { // exit if new value exists if ( isset( $element['settings'][ $new_name ] ) ) { continue; } // exit if no value to migrate if ( ! isset( $element['settings'][ $old_name ] ) ) { continue; } $element['settings'][ $new_name ] = Icons_Manager::fa4_to_fa5_value_migration( $element['settings'][ $old_name ] ); $args['do_update'] = true; } return $element; } /** * Set FontAwesome 5 value Migration on for button widget * * @param Updater $updater */ public static function _v_2_6_6_fa4_migration_button( $updater ) { $changes = [ [ 'callback' => [ 'Elementor\Core\Upgrade\Upgrades', '_migrate_icon_fa4_value' ], 'control_ids' => [ 'icon' => 'selected_icon', ], ], ]; Upgrade_Utils::_update_widget_settings( 'button', $updater, $changes ); Upgrade_Utils::_update_widget_settings( 'icon-box', $updater, $changes ); } /** * Update database to separate page from post. * * @param Updater $updater * * @param string $type * * @return bool */ public static function rename_document_base_to_wp( $updater, $type ) { global $wpdb; $post_ids = $updater->query_col( $wpdb->prepare( "SELECT p1.ID FROM {$wpdb->posts} AS p LEFT JOIN {$wpdb->posts} AS p1 ON (p.ID = p1.post_parent || p.ID = p1.ID) WHERE p.post_type = %s;", $type ) ); if ( empty( $post_ids ) ) { return false; } $sql_post_ids = implode( ',', $post_ids ); $wpdb->query( $wpdb->prepare( "UPDATE $wpdb->postmeta SET meta_value = %s WHERE meta_key = '_elementor_template_type' && post_id in ( %s ); ", 'wp-' . $type, $sql_post_ids ) ); return $updater->should_run_again( $post_ids ); } /** * Update database to separate page from post. * * @param Updater $updater * * @return bool */ // Because the query is slow on large sites, temporary don't upgrade. /* public static function _v_2_7_0_rename_document_types_to_wp( $updater ) { return self::rename_document_base_to_wp( $updater, 'post' ) || self::rename_document_base_to_wp( $updater, 'page' ); }*/ // Upgrade code was fixed & moved to _v_2_7_1_remove_old_usage_data. /* public static function _v_2_7_0_remove_old_usage_data() {} */ // Upgrade code moved to _v_2_7_1_recalc_usage_data. /* public static function _v_2_7_0_recalc_usage_data( $updater ) {} */ /** * Don't use the old data anymore. * Since 2.7.1 the key was changed from `elementor_elements_usage` to `elementor_controls_usage`. */ public static function _v_2_7_1_remove_old_usage_data() { delete_option( 'elementor_elements_usage' ); delete_post_meta_by_key( '_elementor_elements_usage' ); } /** * Recalc usage. * * @param Updater $updater * * @return bool */ public static function recalc_usage_data( $updater ) { if ( ! Tracker::is_allow_track() ) { return false; } /** @var Module $module */ $module = Plugin::$instance->modules_manager->get_modules( 'usage' ); $post_count = $module->recalc_usage( $updater->get_limit(), $updater->get_current_offset() ); return ( $post_count === $updater->get_limit() ); } public static function _v_2_7_1_recalc_usage_data( $updater ) { return self::recalc_usage_data( $updater ); } public static function _v_2_8_3_recalc_usage_data( $updater ) { // Re-calc since older version(s) had invalid values. return self::recalc_usage_data( $updater ); } /** * Move general & lightbox settings to active kit and all it's revisions. * * @param Updater $updater * * @return bool */ public static function _v_3_0_0_move_general_settings_to_kit( $updater ) { $callback = function( $kit_id ) { $kit = Plugin::$instance->documents->get( $kit_id ); if ( ! $kit ) { self::notice( 'Kit not found. nothing to do.' ); return; } $meta_key = SettingsPageManager::META_KEY; $current_settings = get_option( '_elementor_general_settings', [] ); // Take the `space_between_widgets` from the option due to a bug on E < 3.0.0 that the value `0` is stored separated. $current_settings['space_between_widgets'] = get_option( 'elementor_space_between_widgets', '' ); $current_settings[ Breakpoints_Manager::BREAKPOINT_SETTING_PREFIX . 'md' ] = get_option( 'elementor_viewport_md', '' ); $current_settings[ Breakpoints_Manager::BREAKPOINT_SETTING_PREFIX . 'lg' ] = get_option( 'elementor_viewport_lg', '' ); $kit_settings = $kit->get_meta( $meta_key ); // Already exist. if ( isset( $kit_settings['default_generic_fonts'] ) ) { self::notice( 'General Settings already exist. nothing to do.' ); return; } if ( empty( $current_settings ) ) { self::notice( 'Current settings are empty. nothing to do.' ); return; } if ( ! $kit_settings ) { $kit_settings = []; } // Convert some setting to Elementor slider format. $settings_to_slider = [ 'container_width', 'space_between_widgets', ]; foreach ( $settings_to_slider as $setting ) { if ( isset( $current_settings[ $setting ] ) ) { $current_settings[ $setting ] = [ 'unit' => 'px', 'size' => $current_settings[ $setting ], ]; } } $kit_settings = array_merge( $kit_settings, $current_settings ); $page_settings_manager = SettingsManager::get_settings_managers( 'page' ); $page_settings_manager->save_settings( $kit_settings, $kit_id ); }; return self::move_settings_to_kit( $callback, $updater ); } /** * Move default colors settings to active kit and all it's revisions. * * @param Updater $updater * * @return bool */ public static function _v_3_0_0_move_default_colors_to_kit( $updater, $include_revisions = true ) { $callback = function( $kit_id ) { if ( ! Plugin::$instance->kits_manager->is_custom_colors_enabled() ) { self::notice( 'System colors are disabled. nothing to do.' ); return; } $kit = Plugin::$instance->documents->get( $kit_id ); // Already exist. use raw settings that doesn't have default values. $meta_key = SettingsPageManager::META_KEY; $kit_raw_settings = $kit->get_meta( $meta_key ); if ( isset( $kit_raw_settings['system_colors'] ) ) { self::notice( 'System colors already exist. nothing to do.' ); return; } $scheme_obj = Plugin::$instance->schemes_manager->get_scheme( 'color' ); $default_colors = $scheme_obj->get_scheme(); $new_ids = [ 'primary', 'secondary', 'text', 'accent', ]; foreach ( $default_colors as $index => $color ) { $kit->add_repeater_row( 'system_colors', [ '_id' => $new_ids[ $index - 1 ], // $default_colors starts from 1. 'title' => $color['title'], 'color' => strtoupper( $color['value'] ), ] ); } }; return self::move_settings_to_kit( $callback, $updater, $include_revisions ); } /** * Move saved colors settings to active kit and all it's revisions. * * @param Updater $updater * * @return bool */ public static function _v_3_0_0_move_saved_colors_to_kit( $updater, $include_revisions = true ) { $callback = function( $kit_id ) { $kit = Plugin::$instance->documents->get( $kit_id ); // Already exist. use raw settings that doesn't have default values. $meta_key = SettingsPageManager::META_KEY; $kit_raw_settings = $kit->get_meta( $meta_key ); if ( isset( $kit_raw_settings['custom_colors'] ) ) { self::notice( 'Custom colors already exist. nothing to do.' ); return; } $system_colors_rows = $kit->get_settings( 'system_colors' ); if ( ! $system_colors_rows ) { $system_colors_rows = []; } $system_colors = []; foreach ( $system_colors_rows as $color_row ) { $system_colors[] = strtoupper( $color_row['color'] ); } $saved_scheme_obj = Plugin::$instance->schemes_manager->get_scheme( 'color-picker' ); $current_saved_colors_rows = $saved_scheme_obj->get_scheme(); $current_saved_colors = []; foreach ( $current_saved_colors_rows as $color_row ) { $current_saved_colors[] = strtoupper( $color_row['value'] ); } $colors_to_save = array_diff( $current_saved_colors, $system_colors ); if ( empty( $colors_to_save ) ) { self::notice( 'Saved colors not found. nothing to do.' ); return; } foreach ( $colors_to_save as $index => $color ) { $kit->add_repeater_row( 'custom_colors', [ '_id' => Utils::generate_random_string(), 'title' => esc_html__( 'Saved Color', 'elementor' ) . ' #' . ( $index + 1 ), 'color' => $color, ] ); } }; return self::move_settings_to_kit( $callback, $updater, $include_revisions ); } /** * Move default typography settings to active kit and all it's revisions. * * @param Updater $updater * * @return bool */ public static function _v_3_0_0_move_default_typography_to_kit( $updater, $include_revisions = true ) { $callback = function( $kit_id ) { if ( ! Plugin::$instance->kits_manager->is_custom_typography_enabled() ) { self::notice( 'System typography is disabled. nothing to do.' ); return; } $kit = Plugin::$instance->documents->get( $kit_id ); // Already exist. use raw settings that doesn't have default values. $meta_key = SettingsPageManager::META_KEY; $kit_raw_settings = $kit->get_meta( $meta_key ); if ( isset( $kit_raw_settings['system_typography'] ) ) { self::notice( 'System typography already exist. nothing to do.' ); return; } $scheme_obj = Plugin::$instance->schemes_manager->get_scheme( 'typography' ); $default_typography = $scheme_obj->get_scheme(); $new_ids = [ 'primary', 'secondary', 'text', 'accent', ]; foreach ( $default_typography as $index => $typography ) { $kit->add_repeater_row( 'system_typography', [ '_id' => $new_ids[ $index - 1 ], // $default_typography starts from 1. 'title' => $typography['title'], 'typography_typography' => 'custom', 'typography_font_family' => $typography['value']['font_family'], 'typography_font_weight' => $typography['value']['font_weight'], ] ); } }; return self::move_settings_to_kit( $callback, $updater, $include_revisions ); } public static function v_3_1_0_move_optimized_dom_output_to_experiments() { $saved_option = get_option( 'elementor_optimized_dom_output' ); if ( $saved_option ) { $new_option = 'enabled' === $saved_option ? Experiments_Manager::STATE_ACTIVE : Experiments_Manager::STATE_INACTIVE; add_option( 'elementor_experiment-e_dom_optimization', $new_option ); } } public static function _v_3_2_0_migrate_breakpoints_to_new_system( $updater, $include_revisions = true ) { $callback = function( $kit_id ) { $kit = Plugin::$instance->documents->get( $kit_id ); $kit_settings = $kit->get_meta( SettingsPageManager::META_KEY ); if ( ! $kit_settings ) { // Nothing to upgrade. return; } $prefix = Breakpoints_Manager::BREAKPOINT_SETTING_PREFIX; $old_mobile_option_key = $prefix . 'md'; $old_tablet_option_key = $prefix . 'lg'; $breakpoint_values = [ $old_mobile_option_key => Plugin::$instance->kits_manager->get_current_settings( $old_mobile_option_key ), $old_tablet_option_key => Plugin::$instance->kits_manager->get_current_settings( $old_tablet_option_key ), ]; // Breakpoint values are either a number, or an empty string (empty setting). array_walk( $breakpoint_values, function( &$breakpoint_value, $breakpoint_key ) { if ( $breakpoint_value ) { // If the saved breakpoint value is a number, 1px is reduced because the new breakpoints system is // based on max-width, as opposed to the old breakpoints system that worked based on min-width. $breakpoint_value--; } return $breakpoint_value; } ); $kit_settings[ $prefix . Breakpoints_Manager::BREAKPOINT_KEY_MOBILE ] = $breakpoint_values[ $old_mobile_option_key ]; $kit_settings[ $prefix . Breakpoints_Manager::BREAKPOINT_KEY_TABLET ] = $breakpoint_values[ $old_tablet_option_key ]; $page_settings_manager = SettingsManager::get_settings_managers( 'page' ); $page_settings_manager->save_settings( $kit_settings, $kit_id ); }; return self::move_settings_to_kit( $callback, $updater, $include_revisions ); } public static function _v_3_4_8_fix_font_awesome_default_value_from_1_to_yes() { // if `Icons_Manager::LOAD_FA4_SHIM_OPTION_KEY` value is '1', then set it to `yes`. $load_fa4_shim_option = get_option( Icons_Manager::LOAD_FA4_SHIM_OPTION_KEY ); if ( '1' === $load_fa4_shim_option ) { update_option( Icons_Manager::LOAD_FA4_SHIM_OPTION_KEY, 'yes' ); } } public static function _v_3_5_0_remove_old_elementor_scheme() { global $wpdb; $key = Base::SCHEME_OPTION_PREFIX; $wpdb->query( "DELETE FROM {$wpdb->options} WHERE option_name LIKE '{$key}%';" ); // phpcs:ignore } public static function remove_remote_info_api_data() { global $wpdb; $key = Api::TRANSIENT_KEY_PREFIX; return $wpdb->query( "DELETE FROM {$wpdb->options} WHERE option_name LIKE '{$key}%';" ); // phpcs:ignore } /** * @param callback $callback * @param Updater $updater * * @param bool $include_revisions * * @return mixed */ private static function move_settings_to_kit( $callback, $updater, $include_revisions = true ) { $active_kit_id = Plugin::$instance->kits_manager->get_active_id(); if ( ! $active_kit_id ) { self::notice( 'Active kit not found. nothing to do.' ); return false; } $offset = $updater->get_current_offset(); // On first iteration apply on active kit itself. // (don't include it with revisions in order to avoid offset/iteration count wrong numbers) if ( 0 === $offset ) { $callback( $active_kit_id ); } if ( ! $include_revisions ) { return false; } $revisions_ids = wp_get_post_revisions( $active_kit_id, [ 'fields' => 'ids', 'posts_per_page' => $updater->get_limit(), 'offset' => $offset, ] ); foreach ( $revisions_ids as $revision_id ) { $callback( $revision_id ); } return $updater->should_run_again( $revisions_ids ); } private static function notice( $message ) { $logger = Plugin::$instance->logger->get_logger(); $logger->notice( $message ); } } core/upgrade/upgrade-utils.php000064400000003446152377341010012433 0ustar00query_col( 'SELECT `post_id` FROM `' . $wpdb->postmeta . '` WHERE `meta_key` = "_elementor_data" AND `meta_value` LIKE \'%"widgetType":"' . $widget_id . '"%\';' ); if ( empty( $post_ids ) ) { return false; } foreach ( $post_ids as $post_id ) { $do_update = false; $document = Plugin::instance()->documents->get( $post_id ); if ( ! $document ) { continue; } $data = $document->get_elements_data(); if ( empty( $data ) ) { continue; } // loop thru callbacks & array foreach ( $changes as $change ) { $args = [ 'do_update' => &$do_update, 'widget_id' => $widget_id, 'control_ids' => $change['control_ids'], ]; if ( isset( $change['prefix'] ) ) { $args['prefix'] = $change['prefix']; $args['new_id'] = $change['new_id']; } $data = Plugin::instance()->db->iterate_data( $data, $change['callback'], $args ); if ( ! $do_update ) { continue; } // We need the `wp_slash` in order to avoid the unslashing during the `update_metadata` $json_value = wp_slash( wp_json_encode( $data ) ); update_metadata( 'post', $post_id, '_elementor_data', $json_value ); } } // End foreach(). return $updater->should_run_again( $post_ids ); } } core/upgrade/manager.php000064400000004151152377341010011252 0ustar00get_plugin_name() ) && version_compare( get_option( $this->get_version_option_name() ), '2.4.2', '<' ) ) { delete_option( 'elementor_log' ); } return parent::should_upgrade(); } public function get_name() { return 'upgrade'; } public function get_action() { return 'elementor_updater'; } public function get_plugin_name() { return 'elementor'; } public function get_plugin_label() { return esc_html__( 'Elementor', 'elementor' ); } public function get_updater_label() { return esc_html__( 'Elementor Data Updater', 'elementor' ); } public function get_new_version() { return ELEMENTOR_VERSION; } public function get_version_option_name() { return 'elementor_version'; } public function get_upgrades_class() { return 'Elementor\Core\Upgrade\Upgrades'; } public static function get_installs_history() { return get_option( self::INSTALLS_HISTORY_META, [] ); } public static function install_compare( $version, $operator ) { $installs_history = self::get_installs_history(); return version_compare( key( $installs_history ), $version ? $version : '0.0.0', // when no version assigned $operator ); } protected function update_db_version() { parent::update_db_version(); $installs_history = self::get_installs_history(); $time = time(); $installs_history[ ELEMENTOR_VERSION ] = $time; $old_version = $this->get_current_version(); // If there was an old version of Elementor, and there's no record for that install yet if ( $old_version && empty( $installs_history[ $old_version ] ) ) { $installs_history[ $old_version ] = $installs_history[ ELEMENTOR_VERSION ] - 1; } uksort( $installs_history, 'version_compare' ); update_option( self::INSTALLS_HISTORY_META, $installs_history ); } } core/upgrade/custom-tasks.php000064400000000564152377341010012301 0ustar00get_custom_tasks(); if ( empty( $custom_tasks_callbacks ) ) { return; } $task_runner = $this->get_task_runner(); foreach ( $custom_tasks_callbacks as $callback ) { $task_runner->push_to_queue( [ 'callback' => $callback, ] ); } $this->clear_tasks_requested_to_run(); Plugin::$instance->logger->get_logger()->info( 'Elementor custom task(s) process has been queued.', [ 'meta' => [ $custom_tasks_callbacks ], ] ); $task_runner->save()->dispatch(); } public function get_tasks_class() { return Custom_Tasks::class; } public function get_tasks_requested_to_run() { return get_option( self::TASKS_OPTION_KEY, [] ); } public function clear_tasks_requested_to_run() { return update_option( self::TASKS_OPTION_KEY, [], false ); } public function add_tasks_requested_to_run( $tasks = [] ) { $current_tasks = $this->get_tasks_requested_to_run(); $current_tasks = array_merge( $current_tasks, $tasks ); update_option( self::TASKS_OPTION_KEY, $current_tasks, false ); } private function get_custom_tasks() { $tasks_requested_to_run = $this->get_tasks_requested_to_run(); $tasks_class = $this->get_tasks_class(); $tasks_reflection = new \ReflectionClass( $tasks_class ); $callbacks = []; foreach ( $tasks_reflection->getMethods() as $method ) { $method_name = $method->getName(); if ( in_array( $method_name, $tasks_requested_to_run, true ) ) { $callbacks[] = [ $tasks_class, $method_name ]; } } return $callbacks; } public function __construct() { $task_runner = $this->get_task_runner(); if ( $task_runner->is_running() ) { return; } $this->start_run(); } } core/app/modules/onboarding/module.php000064400000032136152377341010014054 0ustar00common ) { return; } // Get the published pages and posts $pages_and_posts = new \WP_Query( [ 'post_type' => [ 'page', 'post' ], 'post_status' => 'publish', 'update_post_meta_cache' => false, 'update_post_term_cache' => false, 'no_found_rows' => true, ] ); $custom_site_logo_id = get_theme_mod( 'custom_logo' ); $custom_logo_src = wp_get_attachment_image_src( $custom_site_logo_id, 'full' ); $site_name = get_option( 'blogname', '' ); $hello_theme = wp_get_theme( 'hello-elementor' ); $hello_theme_errors = is_object( $hello_theme->errors() ) ? $hello_theme->errors()->errors : []; /** @var Library $library */ $library = Plugin::$instance->common->get_component( 'connect' )->get_app( 'library' ); Plugin::$instance->app->set_settings( 'onboarding', [ 'eventPlacement' => 'Onboarding wizard', 'onboardingAlreadyRan' => get_option( self::ONBOARDING_OPTION ), 'onboardingVersion' => self::VERSION, 'isLibraryConnected' => $library->is_connected(), // Used to check if the Hello Elementor theme is installed but not activated. 'helloInstalled' => empty( $hello_theme_errors['theme_not_found'] ), 'helloActivated' => 'hello-elementor' === get_option( 'template' ), // The "Use Hello theme on my site" checkbox should be checked by default only if this condition is met. 'helloOptOut' => count( $pages_and_posts->posts ) < 5, 'siteName' => esc_html( $site_name ), 'isUnfilteredFilesEnabled' => Uploads_Manager::are_unfiltered_uploads_enabled(), 'urls' => [ 'kitLibrary' => Plugin::$instance->app->get_base_url() . '#/kit-library?order[direction]=desc&order[by]=featuredIndex', 'createNewPage' => Plugin::$instance->documents->get_create_new_post_url(), 'connect' => $library->get_admin_url( 'authorize', [ 'utm_source' => 'onboarding-wizard', 'utm_campaign' => 'connect-account', 'utm_medium' => 'wp-dash', 'utm_term' => self::VERSION, 'source' => 'generic', ] ), 'signUp' => $library->get_admin_url( 'authorize', [ 'utm_source' => 'onboarding-wizard', 'utm_campaign' => 'connect-account', 'utm_medium' => 'wp-dash', 'utm_term' => self::VERSION, 'source' => 'generic', 'screen_hint' => 'signup', ] ), 'uploadPro' => Plugin::$instance->app->get_base_url() . '#/onboarding/uploadAndInstallPro?mode=popup', ], 'siteLogo' => [ 'id' => $custom_site_logo_id, 'url' => $custom_logo_src ? $custom_logo_src[0] : '', ], 'utms' => [ 'connectTopBar' => '&utm_content=top-bar', 'connectCta' => '&utm_content=cta-button', 'connectCtaLink' => '&utm_content=cta-link', 'downloadPro' => '?utm_source=onboarding-wizard&utm_campaign=my-account-subscriptions&utm_medium=wp-dash&utm_content=import-pro-plugin&utm_term=' . self::VERSION, ], 'nonce' => wp_create_nonce( 'onboarding' ), ] ); } /** * Get Permission Error Response * * Returns the response that is returned when the user's capabilities are not sufficient for performing an action. * * @since 3.6.4 * * @return array */ private function get_permission_error_response() { return [ 'status' => 'error', 'payload' => [ 'error_message' => __( 'you are not allowed to perform this action', 'elementor' ), ], ]; } /** * Maybe Update Site Logo * * If a new name is provided, it will be updated as the Site Name. * * @since 3.6.0 * * @return array */ private function maybe_update_site_name() { $problem_error = [ 'status' => 'error', 'payload' => [ 'error_message' => 'There was a problem setting your site name', ], ]; // phpcs:ignore WordPress.Security.NonceVerification.Missing if ( empty( $_POST['data'] ) ) { return $problem_error; } // phpcs:ignore WordPress.Security.NonceVerification.Missing $data = json_decode( stripslashes( $_POST['data'] ), true ); if ( ! isset( $data['siteName'] ) ) { return $problem_error; } /** * Onboarding Site Name * * Filters the new site name passed by the user to update in Elementor's onboarding process. * Elementor runs `esc_html()` on the Site Name passed by the user for security reasons. If a user wants to * include special characters in their site name, they can use this filter to override it. * * @since 3.6.0 * * @param string Escaped new site name */ $new_site_name = apply_filters( 'elementor/onboarding/site-name', $data['siteName'] ); // The site name is sanitized in `update_options()` update_option( 'blogname', $new_site_name ); return [ 'status' => 'success', 'payload' => [ 'siteNameUpdated' => true, ], ]; } /** * Maybe Update Site Logo * * If an image attachment ID is provided, it will be updated as the Site Logo Theme Mod. * * @since 3.6.0 * * @return array */ private function maybe_update_site_logo() { if ( ! current_user_can( 'edit_theme_options' ) ) { return $this->get_permission_error_response(); } $data_error = [ 'status' => 'error', 'payload' => [ 'error_message' => esc_html__( 'There was a problem setting your site logo', 'elementor' ), ], ]; // phpcs:ignore WordPress.Security.NonceVerification.Missing if ( empty( $_POST['data'] ) ) { return $data_error; } // phpcs:ignore WordPress.Security.NonceVerification.Missing $data = json_decode( stripslashes( $_POST['data'] ), true ); // If there is no attachment ID passed or it is not a valid ID, exit here. if ( empty( $data['attachmentId'] ) ) { return $data_error; } $absint_attachment_id = absint( $data['attachmentId'] ); if ( 0 === $absint_attachment_id ) { return $data_error; } $attachment_url = wp_get_attachment_url( $data['attachmentId'] ); // Check if the attachment exists. If it does not, exit here. if ( ! $attachment_url ) { return $data_error; } set_theme_mod( 'custom_logo', $absint_attachment_id ); return [ 'status' => 'success', 'payload' => [ 'siteLogoUpdated' => true, ], ]; } /** * Maybe Upload Logo Image * * If an image file upload is provided, and it passes validation, it will be uploaded to the site's Media Library. * * @since 3.6.0 * * @return array */ private function maybe_upload_logo_image() { $error_message = __( 'There was a problem uploading your file', 'elementor' ); // phpcs:ignore WordPress.Security.NonceVerification.Missing if ( empty( $_FILES['fileToUpload'] ) || ! is_array( $_FILES['fileToUpload'] ) ) { return [ 'status' => 'error', 'payload' => [ 'error_message' => $error_message, ], ]; } // If the user has allowed it, set the Request's state as an "Elementor Upload" request, in order to add // support for non-standard file uploads. if ( 'image/svg+xml' === $_FILES['fileToUpload']['type'] ) { if ( Uploads_Manager::are_unfiltered_uploads_enabled() ) { Plugin::$instance->uploads_manager->set_elementor_upload_state( true ); } else { wp_send_json_error( 'To upload SVG files, you must allow uploading unfiltered files.' ); } } // If the image is an SVG file, sanitation is performed during the import (upload) process. $image_attachment = Plugin::$instance->templates_manager->get_import_images_instance()->import( $_FILES['fileToUpload'] ); if ( 'image/svg+xml' === $_FILES['fileToUpload']['type'] && Uploads_Manager::are_unfiltered_uploads_enabled() ) { // Reset Upload state. Plugin::$instance->uploads_manager->set_elementor_upload_state( false ); } if ( $image_attachment && ! is_wp_error( $image_attachment ) ) { $result = [ 'status' => 'success', 'payload' => [ 'imageAttachment' => $image_attachment, ], ]; } else { $result = [ 'status' => 'error', 'payload' => [ 'error_message' => $error_message, ], ]; } return $result; } /** * Activate Hello Theme * * @since 3.6.0 * * @return array */ private function maybe_activate_hello_theme() { if ( ! current_user_can( 'switch_themes' ) ) { return $this->get_permission_error_response(); } switch_theme( 'hello-elementor' ); return [ 'status' => 'success', 'payload' => [ 'helloThemeActivated' => true, ], ]; } /** * Upload and Install Elementor Pro * * @since 3.6.0 * * @return array */ private function upload_and_install_pro() { if ( ! current_user_can( 'install_plugins' ) || ! current_user_can( 'activate_plugins' ) ) { return $this->get_permission_error_response(); } $error_message = __( 'There was a problem uploading your file', 'elementor' ); // phpcs:ignore WordPress.Security.NonceVerification.Missing if ( empty( $_FILES['fileToUpload'] ) || ! is_array( $_FILES['fileToUpload'] ) ) { return [ 'status' => 'error', 'payload' => [ 'error_message' => $error_message, ], ]; } $result = []; if ( ! class_exists( 'Automatic_Upgrader_Skin' ) ) { require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'; } $skin = new Automatic_Upgrader_Skin(); $upgrader = new Plugin_Upgrader( $skin ); $upload_result = $upgrader->install( $_FILES['fileToUpload']['tmp_name'], [ 'overwrite_package' => false ] ); if ( ! $upload_result || is_wp_error( $upload_result ) ) { $result = [ 'status' => 'error', 'payload' => [ 'error_message' => $error_message, ], ]; } else { $activated = activate_plugin( WP_PLUGIN_DIR . '/elementor-pro/elementor-pro.php', false, false, true ); if ( ! is_wp_error( $activated ) ) { $result = [ 'status' => 'success', 'payload' => [ 'elementorProInstalled' => true, ], ]; } else { $result = [ 'status' => 'error', 'payload' => [ 'error_message' => $error_message, 'elementorProInstalled' => false, ], ]; } } return $result; } private function maybe_update_onboarding_db_option() { $db_option = get_option( self::ONBOARDING_OPTION ); if ( ! $db_option ) { update_option( self::ONBOARDING_OPTION, true ); } return [ 'status' => 'success', 'payload' => 'onboarding DB', ]; } /** * Maybe Handle Ajax * * This method checks if there are any AJAX actions being * @since 3.6.0 * * @return array|null */ private function maybe_handle_ajax() { $result = []; // phpcs:ignore WordPress.Security.NonceVerification.Missing switch ( $_POST['action'] ) { case 'elementor_update_site_name': // If no value is passed for any reason, no need ot update the site name. $result = $this->maybe_update_site_name(); break; case 'elementor_update_site_logo': $result = $this->maybe_update_site_logo(); break; case 'elementor_upload_site_logo': $result = $this->maybe_upload_logo_image(); break; case 'elementor_activate_hello_theme': $result = $this->maybe_activate_hello_theme(); break; case 'elementor_upload_and_install_pro': $result = $this->upload_and_install_pro(); break; case 'elementor_update_onboarding_option': $result = $this->maybe_update_onboarding_db_option(); } if ( ! empty( $result ) ) { if ( 'success' === $result['status'] ) { wp_send_json_success( $result['payload'] ); } else { wp_send_json_error( $result['payload'] ); } } } public function __construct() { add_action( 'elementor/init', function() { // Only load when viewing the onboarding app. if ( Plugin::$instance->app->is_current() ) { $this->set_onboarding_settings(); // Needed for installing the Hello Elementor theme. wp_enqueue_script( 'updates' ); // Needed for uploading Logo from WP Media Library. wp_enqueue_media(); Plugin::$instance->app->set_settings( 'disable_dark_theme', true ); } }, 12 ); // Needed for uploading Logo from WP Media Library. The 'admin_menu' hook is used because it runs before // 'admin_init', and the App triggers printing footer scripts on 'admin_init' at priority 0. add_action( 'admin_menu', function() { add_action( 'wp_print_footer_scripts', 'wp_print_media_templates' ); } ); add_action( 'admin_init', function() { if ( wp_doing_ajax() && isset( $_POST['action'] ) && isset( $_POST['_nonce'] ) && wp_verify_nonce( $_POST['_nonce'], Ajax::NONCE_KEY ) && current_user_can( 'manage_options' ) ) { $this->maybe_handle_ajax(); } } ); } } core/app/modules/import-export/module.php000064400000034366152377341010014572 0ustar00app->is_current() ) { return []; } return $this->get_config_data(); } public function get_summary_titles() { $summary_titles = []; $document_types = Plugin::$instance->documents->get_document_types(); foreach ( $document_types as $name => $document_type ) { $summary_titles['templates'][ $name ] = [ 'single' => $document_type::get_title(), 'plural' => $document_type::get_plural_title(), ]; } $post_types = get_post_types_by_support( 'elementor' ); $post_types[] = 'nav_menu_item'; foreach ( $post_types as $post_type ) { if ( Source_Local::CPT === $post_type ) { continue; } $post_type_object = get_post_type_object( $post_type ); $summary_titles['content'][ $post_type ] = [ 'single' => $post_type_object->labels->singular_name, 'plural' => $post_type_object->label, ]; } $custom_post_types = $this->get_registered_cpt_names(); if ( ! empty( $custom_post_types ) ) { foreach ( $custom_post_types as $custom_post_type ) { $custom_post_types_object = get_post_type_object( $custom_post_type ); //cpt data appears in two arrays: //1. content object: in order to show the export summary when completed in getLabel function $summary_titles['content'][ $custom_post_type ] = [ 'single' => $custom_post_types_object->labels->singular_name, 'plural' => $custom_post_types_object->label, ]; //2. customPostTypes object: in order to actually export the data $summary_titles['content']['customPostTypes'][ $custom_post_type ] = [ 'single' => $custom_post_types_object->labels->singular_name, 'plural' => $custom_post_types_object->label, ]; } } $active_kit = Plugin::$instance->kits_manager->get_active_kit(); foreach ( $active_kit->get_tabs() as $key => $tab ) { $summary_titles['site-settings'][ $key ] = $tab->get_title(); } return $summary_titles; } /** * Retrieve custom post type names. * * @since 3.6.0 * @access public * * @return array custom post type names. */ public function get_registered_cpt_names() { $post_types = get_post_types( [ 'public' => true, 'can_export' => true, ] ); unset( $post_types['attachment'], $post_types['page'], $post_types['post'], $post_types[ Landing_Pages_Module::CPT ], $post_types[ Source_Local::CPT ] ); $custom_post_types = []; foreach ( $post_types as $post_type ) { array_push( $custom_post_types, $post_type ); } return $custom_post_types; } private function import_stage_1() { // PHPCS - Already validated in caller function. if ( ! empty( $_POST['e_import_file'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Missing if ( ! isset( $_POST['e_kit_library_nonce'] ) || ! wp_verify_nonce( $_POST['e_kit_library_nonce'], 'kit-library-import' ) ) { throw new \Error( esc_html__( 'Invalid kit library nonce', 'elementor' ) ); } $file_url = $_POST['e_import_file']; if ( ! filter_var( $file_url, FILTER_VALIDATE_URL ) || 0 !== strpos( $file_url, 'http' ) ) { throw new \Error( esc_html__( 'Invalid URL', 'elementor' ) ); } $remote_zip_request = wp_remote_get( $file_url ); if ( is_wp_error( $remote_zip_request ) ) { throw new \Error( $remote_zip_request->get_error_message() ); } if ( 200 !== $remote_zip_request['response']['code'] ) { throw new \Error( $remote_zip_request['response']['message'] ); } $file_name = Plugin::$instance->uploads_manager->create_temp_file( $remote_zip_request['body'], 'kit.zip' ); } else { // PHPCS - Already validated in caller function. $file_name = $_FILES['e_import_file']['tmp_name']; // phpcs:ignore WordPress.Security.NonceVerification.Missing } $extraction_result = Plugin::$instance->uploads_manager->extract_and_validate_zip( $file_name, [ 'json', 'xml' ] ); if ( ! empty( $file_url ) ) { Plugin::$instance->uploads_manager->remove_file_or_dir( dirname( $file_name ) ); } $session_dir = $extraction_result['extraction_directory']; $manifest_file_content = Utils::file_get_contents( $session_dir . 'manifest.json', true ); if ( ! $manifest_file_content ) { throw new \Error( self::MANIFEST_ERROR_KEY ); } $manifest_data = json_decode( $manifest_file_content, true ); // In case that the manifest content is not a valid JSON or empty. if ( ! $manifest_data ) { throw new \Error( self::MANIFEST_ERROR_KEY ); } if ( isset( $manifest_data['plugins'] ) && ! current_user_can( 'install_plugins' ) ) { throw new \Error( static::PERMISSIONS_ERROR_KEY ); } $manifest_data = $this->import->adapt_manifest_structure( $manifest_data ); $result = [ 'session' => $session_dir, 'manifest' => $manifest_data, ]; $result = apply_filters( 'elementor/import/stage_1/result', $result ); return $result; } private function import_stage_2( $settings_directory ) { set_time_limit( 0 ); $result = $this->import->run(); Plugin::$instance->uploads_manager->remove_file_or_dir( $settings_directory ); return $result; } private function on_admin_init() { if ( ! isset( $_POST['action'] ) || self::IMPORT_TRIGGER_KEY !== $_POST['action'] || ! wp_verify_nonce( $_POST['_nonce'], Ajax::NONCE_KEY ) ) { return; } $import_settings = json_decode( stripslashes( $_POST['data'] ), true ); // Set the Request's state as an Elementor upload request, in order to support unfiltered file uploads. Plugin::$instance->uploads_manager->set_elementor_upload_state( true ); try { $this->import = new Import( $import_settings ); if ( 1 === $import_settings['stage'] ) { $result = $this->import_stage_1(); } elseif ( 2 === $import_settings['stage'] ) { $result = $this->import_stage_2( $import_settings['session'] ); // Adding the most updated data of the summaryTitles, in case that the data was changed during the process by new installed plugins. $result['configData'] = $this->get_config_data(); } wp_send_json_success( $result ); } catch ( \Error $error ) { wp_send_json_error( $error->getMessage() ); } } private function on_init() { if ( ! isset( $_POST['action'] ) || self::EXPORT_TRIGGER_KEY !== $_POST['action'] || ! wp_verify_nonce( $_POST['_nonce'], Ajax::NONCE_KEY ) ) { return; } $export_settings = json_decode( stripslashes( $_POST['data'] ), true ); try { $this->export = new Export( self::merge_properties( [], $export_settings, [ 'include', 'kitInfo', 'plugins', 'selectedCustomPostTypes' ] ) ); $export_result = $this->export->run(); $file_name = $export_result['file_name']; $file = Utils::file_get_contents( $file_name ); Plugin::$instance->uploads_manager->remove_file_or_dir( dirname( $file_name ) ); wp_send_json_success( [ 'manifest' => $export_result['manifest'], 'file' => base64_encode( $file ), ] ); } catch ( \Error $error ) { wp_send_json_error( $error->getMessage() ); } } private function render_import_export_tab_content() { $intro_text_link = sprintf( '%s', esc_html__( 'Learn more', 'elementor' ) ); $intro_text = sprintf( /* translators: 1: New line break, 2: Learn More link. */ __( 'Design sites faster with a template kit that contains some or all components of a complete site, like templates, content & site settings.%1$sYou can import a kit and apply it to your site, or export the elements from this site to be used anywhere else. %2$s', 'elementor' ), '
', $intro_text_link ); $content_data = [ 'export' => [ 'title' => esc_html__( 'Export a Template Kit', 'elementor' ), 'button' => [ 'url' => Plugin::$instance->app->get_base_url() . '#/export', 'text' => esc_html__( 'Start Export', 'elementor' ), ], 'description' => esc_html__( 'Bundle your whole site - or just some of its elements - to be used for another website.', 'elementor' ), 'link' => [ 'url' => 'https://go.elementor.com/wp-dash-import-export-export-flow/', 'text' => esc_html__( 'Learn More', 'elementor' ), ], ], 'import' => [ 'title' => esc_html__( 'Import a Template Kit', 'elementor' ), 'button' => [ 'url' => Plugin::$instance->app->get_base_url() . '#/import', 'text' => esc_html__( 'Start Import', 'elementor' ), ], 'description' => esc_html__( 'Apply the design and settings of another site to this one.', 'elementor' ), 'link' => [ 'url' => 'https://go.elementor.com/wp-dash-import-export-import-flow/', 'text' => esc_html__( 'Learn More', 'elementor' ), ], ], ]; $home_page_editor_url = $this->get_elementor_editor_home_page_url(); $editor_page_link = $home_page_editor_url ? $home_page_editor_url : $this->get_recently_edited_elementor_editor_page_url(); $info_text = esc_html__( 'Even after you import and apply a Template Kit, you can undo it by restoring a previous version of your site.', 'elementor' ) . '
'; $info_text .= sprintf( '%2$s', $editor_page_link . '#e:run:panel/global/open&e:route:panel/history/revisions', esc_html__( 'Open Site Settings > History > Revisions.', 'elementor' ) ); ?> get_elementor_editor_page_url( $frontpage_id ); } private function get_elementor_home_page_url() { if ( 'page' !== get_option( 'show_on_front' ) ) { return ''; } $frontpage_id = get_option( 'page_on_front' ); return $this->get_elementor_page_url( $frontpage_id ); } private function get_recently_edited_elementor_page_url() { $query = Utils::get_recently_edited_posts_query( [ 'posts_per_page' => 1 ] ); if ( ! isset( $query->post ) ) { return ''; } return $this->get_elementor_page_url( $query->post->ID ); } private function get_recently_edited_elementor_editor_page_url() { $query = Utils::get_recently_edited_posts_query( [ 'posts_per_page' => 1 ] ); if ( ! isset( $query->post ) ) { return ''; } return $this->get_elementor_editor_page_url( $query->post->ID ); } private function get_elementor_document( $page_id ) { $document = Plugin::$instance->documents->get( $page_id ); if ( ! $document || ! $document->is_built_with_elementor() ) { return false; } return $document; } private function get_elementor_page_url( $page_id ) { $document = $this->get_elementor_document( $page_id ); return $document ? $document->get_preview_url() : ''; } private function get_elementor_editor_page_url( $page_id ) { $document = $this->get_elementor_document( $page_id ); return $document ? $document->get_edit_url() : ''; } private function get_config_data() { $export_nonce = wp_create_nonce( 'elementor_export' ); $export_url = add_query_arg( [ '_nonce' => $export_nonce ], Plugin::$instance->app->get_base_url() ); return [ 'exportURL' => $export_url, 'summaryTitles' => $this->get_summary_titles(), 'isUnfilteredFilesEnabled' => Uploads_Manager::are_unfiltered_uploads_enabled(), 'elementorHomePageUrl' => $this->get_elementor_home_page_url(), 'recentlyEditedElementorPageUrl' => $this->get_recently_edited_elementor_page_url(), ]; } public function register_settings_tab( Tools $tools ) { $tools->add_tab( 'import-export-kit', [ 'label' => esc_html__( 'Import / Export Kit', 'elementor' ), 'sections' => [ 'intro' => [ 'label' => esc_html__( 'Template Kits', 'elementor' ), 'callback' => function() { $this->render_import_export_tab_content(); }, 'fields' => [], ], ], ] ); } public function __construct() { add_action( 'init', function() { $this->on_init(); } ); add_action( 'admin_init', function() { $this->on_admin_init(); } ); $page_id = Tools::PAGE_ID; add_action( "elementor/admin/after_create_settings/{$page_id}", [ $this, 'register_settings_tab' ] ); if ( Utils::is_wp_cli() ) { \WP_CLI::add_command( 'elementor kit', WP_CLI::class ); } } } core/app/modules/import-export/import.php000064400000007456152377341010014617 0ustar00temp_dir = $this->get_settings( 'session' ); $manifest_data = $this->read_json_file( 'manifest' ); $manifest_data = $this->adapt_manifest_structure( $manifest_data ); $root_directory = new Root( $this ); add_filter( 'elementor/document/save/data', [ $this, 'prevent_saving_elements_on_post_creation' ], 10, 2 ); $imported_posts = $root_directory->run_import( $manifest_data ); remove_filter( 'elementor/document/save/data', [ $this, 'prevent_saving_elements_on_post_creation' ], 10 ); $map_old_new_post_ids = $this->map_old_new_post_ids( $imported_posts ); $this->save_elements_of_imported_posts( $map_old_new_post_ids ); $this->update_object_id_of_imported_menu_items( $map_old_new_post_ids ); return $imported_posts; } public function prevent_saving_elements_on_post_creation( $data, $document ) { if ( isset( $data['elements'] ) ) { $this->documents_elements[ $document->get_main_id() ] = $data['elements']; $data['elements'] = []; } return $data; } final public function read_json_file( $name ) { $name = $this->get_archive_file_full_path( $name . '.json' ); return json_decode( Utils::file_get_contents( $name, true ), true ); } final public function get_adapters() { return $this->adapters; } final public function adapt_manifest_structure( array $manifest_data ) { $this->init_adapters( $manifest_data ); foreach ( $this->adapters as $adapter ) { $manifest_data = $adapter->get_manifest_data( $manifest_data ); } return $manifest_data; } private function init_adapters( array $manifest_data ) { /** @var Base_Adapter[] $adapter_types */ $adapter_types = [ Envato::class, Kit_Library::class ]; foreach ( $adapter_types as $adapter_type ) { if ( $adapter_type::is_compatibility_needed( $manifest_data, $this->get_settings() ) ) { $this->adapters[] = new $adapter_type( $this ); } } } private function save_elements_of_imported_posts( $map_old_new_post_ids ) { foreach ( $this->documents_elements as $new_id => $document_elements ) { $document = Plugin::$instance->documents->get( $new_id ); $updated_elements = $document->on_import_replace_dynamic_content( $document_elements, $map_old_new_post_ids ); $document->save( [ 'elements' => $updated_elements ] ); } } private function update_object_id_of_imported_menu_items( $map_old_new_post_ids ) { foreach ( $map_old_new_post_ids as $new_post_id ) { if ( 'nav_menu_item' !== get_post_type( $new_post_id ) ) { continue; } $post_meta = get_post_meta( $new_post_id ); // Skip items that not related to posts. if ( 'post_type' !== $post_meta['_menu_item_type'][0] ) { continue; } $update_meta = update_post_meta( $new_post_id, '_menu_item_object_id', $map_old_new_post_ids[ $post_meta['_menu_item_object_id'][0] ] ); if ( ! $update_meta ) { wp_delete_post( $new_post_id ); } } } private function map_old_new_post_ids( $imported_posts ) { $map_old_new_post_ids = []; foreach ( $imported_posts as $imported_post ) { if ( isset( $imported_post['succeed'] ) ) { $map_old_new_post_ids += $imported_post['succeed']; } else { $map_old_new_post_ids += $this->map_old_new_post_ids( $imported_post ); } } return $map_old_new_post_ids; } } core/app/modules/import-export/directories/plugins.php000064400000001032152377341010017262 0ustar00iterator->get_settings( 'plugins' ); return $included_plugins; } protected function import( array $import_settings ) { return null; } } core/app/modules/import-export/directories/wp-custom-post-type-title.php000064400000001303152377341010022621 0ustar00post_type = $post_type; } public function export() { $post_type_object = get_post_type_object( $this->post_type ); return [ 'name' => $post_type_object->name, 'label' => $post_type_object->label, ]; } protected function get_name() { return $this->post_type; } } core/app/modules/import-export/directories/wp-content.php000064400000002503152377341010017703 0ustar00custom_post_types = $custom_post_types; parent::__construct( $iterator, $parent ); } protected function get_name() { return 'wp-content'; } protected function get_default_sub_directories() { $post_types = get_post_types( [ 'public' => true, 'can_export' => true, ] ); if ( null !== $this->custom_post_types ) { foreach ( $post_types as $post_type ) { if ( ! in_array( $post_type, $this->custom_post_types ) ) { unset( $post_types[ $post_type ] ); } } } $native_post_types = [ 'page' => 'page', 'post' => 'post', 'nav_menu_item' => 'nav_menu_item', ]; $post_types_to_export = array_merge( $native_post_types, $post_types ); $sub_directories = []; foreach ( $post_types_to_export as $post_type ) { $sub_directories[] = new WP_Post_Type( $this->iterator, $this, $post_type ); } return $sub_directories; } } core/app/modules/import-export/directories/custom-post-type-title.php000064400000002145152377341010022202 0ustar00custom_post_types = $custom_post_types; parent::__construct( $iterator, $parent ); } protected function get_name() { return 'custom-post-type-title'; } protected function get_default_sub_directories() { $post_types = get_post_types( [ 'public' => true, 'can_export' => true, ] ); foreach ( $post_types as $post_type ) { if ( ! in_array( $post_type, $this->custom_post_types ) ) { unset( $post_types[ $post_type ] ); } } $sub_directories = []; foreach ( $post_types as $post_type ) { $sub_directories[] = new WP_Custom_Post_Type_Title( $this->iterator, $this, $post_type ); } return $sub_directories; } } core/app/modules/import-export/directories/wp-post-type.php000064400000002545152377341010020203 0ustar00post_type; } public function __construct( Iterator $iterator, Base $parent, $post_type ) { parent::__construct( $iterator, $parent ); $this->post_type = $post_type; } public function export() { $wp_exporter = new WP_Exporter( [ 'content' => $this->post_type, 'status' => 'publish', 'limit' => 20, 'meta_query' => [ [ 'key' => '_elementor_edit_mode', 'compare' => 'NOT EXISTS', ], ], 'include_post_featured_image_as_attachment' => true, // Will export 'featured_image' as attachment. ] ); $export_result = $wp_exporter->run(); $this->exporter->add_file( $this->post_type . '.xml', $export_result['xml'] ); return $export_result['ids']; } protected function import( array $import_settings ) { $wp_importer = new WP_Import( $this->importer->get_archive_file_full_path( $this->post_type . '.xml' ), [ 'fetch_attachments' => true, ] ); $result = $wp_importer->run(); return $result['summary']['posts']; } } core/app/modules/import-export/directories/base.php000064400000005507152377341010016526 0ustar00iterator = $iterator; if ( $iterator instanceof Export ) { $this->exporter = $iterator; } else { $this->importer = $iterator; } $this->parent = $parent; $this->register_directories(); } final public function get_path() { $path = $this->get_name(); if ( $this->parent ) { $parent_name = $this->parent->get_name(); if ( $parent_name ) { $parent_name .= '/'; } $path = $parent_name . $path; } return $path; } final public function run_export() { $this->exporter->set_current_archive_path( $this->get_path() ); $manifest_data = $this->export(); foreach ( $this->sub_directories as $sub_directory ) { $manifest_data[ $sub_directory->get_name() ] = $sub_directory->run_export(); } return $manifest_data; } final public function run_import( array $settings ) { $this->importer->set_current_archive_path( $this->get_path() ); $meta_data = $this->import( $settings ); foreach ( $this->sub_directories as $sub_directory ) { $sub_directory_name = $sub_directory->get_name(); if ( ! isset( $settings[ $sub_directory_name ] ) ) { continue; } $meta_data[ $sub_directory_name ] = $sub_directory->run_import( $settings[ $sub_directory_name ] ); } return $meta_data; } /** * @return array */ protected function export() { return []; } /** * @param array $import_settings * @return array */ protected function import( array $import_settings ) { return []; } protected function get_default_sub_directories() { return []; } private function register_directories() { $sub_directories = $this->get_default_sub_directories(); $path = $this->get_path(); /** * Kit sub directories. * * Filters sub directories when importing/exporting kits. * * The dynamic portion of the hook name, `$path`, refers to the directory path. * * @param array $sub_directories A list of sub directories. * @param Elementor\Core\App\Modules\ImportExport\Directories\Base $this The base class instance. */ $sub_directories = apply_filters( "elementor/kit/import-export/directory/{$path}", $sub_directories, $this ); $this->sub_directories = $sub_directories; } } core/app/modules/import-export/directories/templates.php000064400000004661152377341010017612 0ustar00 Source_Local::CPT, 'post_status' => 'publish', 'posts_per_page' => -1, 'meta_query' => [ [ 'key' => Document::TYPE_META_KEY, 'value' => $template_types, ], ], ]; $templates_query = new \WP_Query( $query_args ); $manifest_data = []; foreach ( $templates_query->posts as $template_post ) { $template_id = $template_post->ID; $template_document = Plugin::$instance->documents->get( $template_id ); $template_export_data = $template_document->get_export_data(); $this->exporter->add_json_file( $template_id, $template_export_data ); $manifest_data[ $template_id ] = $template_document->get_export_summary(); } return $manifest_data; } protected function import( array $import_settings ) { $result = [ 'succeed' => [], 'failed' => [], ]; foreach ( $import_settings as $id => $template_settings ) { try { $import = $this->import_template( $id, $template_settings ); if ( is_wp_error( $import ) ) { $result['failed'][ $id ] = $import->get_error_message(); continue; } $result['succeed'][ $id ] = $import; } catch ( \Error $error ) { $result['failed'][ $id ] = $error->getMessage(); } } return $result; } private function import_template( $id, array $template_settings ) { $template_data = $this->importer->read_json_file( $id ); $doc_type = $template_settings['doc_type']; $new_document = Plugin::$instance->documents->create( $doc_type, [ 'post_title' => $template_settings['title'], 'post_type' => Source_Local::CPT, 'post_status' => 'publish', ] ); if ( is_wp_error( $new_document ) ) { return $new_document; } $template_data['import_settings'] = $template_settings; $template_data['id'] = $id; foreach ( $this->importer->get_adapters() as $adapter ) { $template_data = $adapter->get_template_data( $template_data, $template_settings ); } $new_document->import( $template_data ); return $new_document->get_main_id(); } } core/app/modules/import-export/directories/content.php000064400000001170152377341010017256 0ustar00iterator, $this, $post_type ); } return $sub_directories; } } core/app/modules/import-export/directories/post-type.php000064400000006402152377341010017553 0ustar00post_type = $post_type; if ( 'page' === $post_type ) { $this->init_page_on_front_data(); } } public function export() { $query_args = [ 'post_type' => $this->post_type, 'post_status' => 'publish', 'posts_per_page' => -1, 'meta_query' => [ [ 'key' => '_elementor_data', 'compare' => 'EXISTS', ], [ 'key' => '_elementor_data', 'compare' => '!=', 'value' => '[]', ], ], ]; $query = new \WP_Query( $query_args ); $manifest_data = []; foreach ( $query->posts as $post ) { $document = Plugin::$instance->documents->get( $post->ID ); $post_manifest_data = [ 'title' => $post->post_title, 'excerpt' => $post->post_excerpt, 'doc_type' => $document->get_name(), 'thumbnail' => get_the_post_thumbnail_url( $post ), 'url' => get_permalink( $post ), ]; if ( $post->ID === $this->page_on_front_id ) { $post_manifest_data['show_on_front'] = true; } $manifest_data[ $post->ID ] = $post_manifest_data; $this->exporter->add_json_file( $post->ID, $document->get_export_data() ); } return $manifest_data; } public function import_post( $id, array $post_settings ) { $post_data = $this->importer->read_json_file( $id ); $post_attributes = [ 'post_title' => $post_settings['title'], 'post_type' => $this->post_type, 'post_status' => 'publish', ]; if ( ! empty( $post_settings['excerpt'] ) ) { $post_attributes['post_excerpt'] = $post_settings['excerpt']; } $new_document = Plugin::$instance->documents->create( $post_settings['doc_type'], $post_attributes ); if ( is_wp_error( $new_document ) ) { return $new_document; } $post_data['import_settings'] = $post_settings; $new_document->import( $post_data ); $new_id = $new_document->get_main_id(); if ( ! empty( $post_settings['show_on_front'] ) ) { update_option( 'page_on_front', $new_id ); if ( ! $this->show_page_on_front ) { update_option( 'show_on_front', 'page' ); } } return $new_id; } protected function get_name() { return $this->post_type; } protected function import( array $import_settings ) { $result = [ 'succeed' => [], 'failed' => [], ]; foreach ( $import_settings as $id => $post_settings ) { try { $import = $this->import_post( $id, $post_settings ); if ( is_wp_error( $import ) ) { $result['failed'][ $id ] = $import->get_error_message(); continue; } $result['succeed'][ $id ] = $import; } catch ( \Error $error ) { $result['failed'][ $id ] = $error->getMessage(); } } return $result; } private function init_page_on_front_data() { $this->show_page_on_front = 'page' === get_option( 'show_on_front' ); if ( $this->show_page_on_front && $this->exporter ) { $this->page_on_front_id = (int) get_option( 'page_on_front' ); } } } core/app/modules/import-export/directories/root.php000064400000007030152377341010016570 0ustar00kits_manager->get_active_kit(); $exporter_settings = $this->exporter->get_settings(); $include = $exporter_settings['include']; $include_site_settings = in_array( 'settings', $include, true ); if ( $include_site_settings ) { $kit_data = $kit->get_export_data(); $excluded_kit_settings_keys = [ 'site_name', 'site_description', 'site_logo', 'site_favicon', ]; foreach ( $excluded_kit_settings_keys as $setting_key ) { unset( $kit_data['settings'][ $setting_key ] ); } $this->exporter->add_json_file( 'site-settings', $kit_data ); } $kit_post = $kit->get_post(); $manifest_data = [ 'name' => sanitize_title( $exporter_settings['kitInfo']['title'] ), 'title' => $exporter_settings['kitInfo']['title'], 'description' => $exporter_settings['kitInfo']['description'], 'author' => get_the_author_meta( 'display_name', $kit_post->post_author ), 'version' => Module::FORMAT_VERSION, 'elementor_version' => ELEMENTOR_VERSION, 'created' => gmdate( 'Y-m-d H:i:s' ), 'thumbnail' => get_the_post_thumbnail_url( $kit_post ), 'site' => get_site_url(), ]; if ( $include_site_settings ) { $kit_tabs = $kit->get_tabs(); unset( $kit_tabs['settings-site-identity'] ); $manifest_data['site-settings'] = array_keys( $kit_tabs ); } return $manifest_data; } protected function import( array $import_settings ) { $include = $this->importer->get_settings( 'include' ); if ( ! in_array( 'settings', $include, true ) ) { return; } $kit = Plugin::$instance->kits_manager->get_active_kit(); $old_settings = $kit->get_meta( PageManager::META_KEY ); if ( ! $old_settings ) { $old_settings = []; } $new_settings = $this->importer->read_json_file( 'site-settings' ); $new_settings = $new_settings['settings']; if ( ! empty( $old_settings['custom_colors'] ) ) { $new_settings['custom_colors'] = array_merge( $old_settings['custom_colors'], $new_settings['custom_colors'] ); } if ( ! empty( $old_settings['custom_typography'] ) ) { $new_settings['custom_typography'] = array_merge( $old_settings['custom_typography'], $new_settings['custom_typography'] ); } $new_settings = array_replace_recursive( $old_settings, $new_settings ); Plugin::$instance->kits_manager->create_new_kit( $import_settings['title'], $new_settings ); } protected function get_default_sub_directories() { $sub_directories = []; $include = $this->iterator->get_settings( 'include' ); if ( in_array( 'templates', $include, true ) ) { $sub_directories[] = new Templates( $this->iterator, $this ); } if ( in_array( 'content', $include, true ) ) { $custom_post_types = $this->iterator->get_settings( 'selectedCustomPostTypes' ); $sub_directories[] = new Content( $this->iterator, $this ); $sub_directories[] = new WP_Content( $this->iterator, $this, $custom_post_types ); if ( ! empty( $custom_post_types ) ) { $sub_directories[] = new Custom_Post_Type_Title( $this->iterator, $this, $custom_post_types ); } } if ( in_array( 'plugins', $include, true ) ) { $sub_directories[] = new Plugins( $this->iterator, $this ); } return $sub_directories; } } core/app/modules/import-export/export.php000064400000003237152377341010014617 0ustar00init_zip_archive(); $root_directory = new Root( $this ); $manifest_data = $root_directory->run_export(); /** * Manifest data from exported kit. * * Filters the manifest data of any exported kit. * * @param array $manifest_data Manifest data. * @param Export $this The export instance. */ $manifest_data = apply_filters( 'elementor/kit/export/manifest-data', $manifest_data, $this ); $this->set_current_archive_path( '' ); $this->add_json_file( 'manifest', $manifest_data ); $this->zip_archive->close(); return [ 'manifest' => $manifest_data, 'file_name' => $this->archive_file_name, ]; } public function add_json_file( $name, $content, $json_flags = null ) { $this->add_file( $name . '.json', wp_json_encode( $content, $json_flags ) ); } public function add_file( $file_name, $content ) { $this->zip_archive->addFromString( $this->get_archive_file_path( $file_name ), $content ); } private function init_zip_archive() { $zip_archive = new \ZipArchive(); $this->temp_dir = Plugin::$instance->uploads_manager->create_unique_dir(); $this->archive_file_name = $this->temp_dir . 'kit.zip'; $zip_archive->open( $this->archive_file_name, \ZipArchive::CREATE | \ZipArchive::OVERWRITE ); $this->zip_archive = $zip_archive; } } core/app/modules/import-export/iterator.php000064400000002551152377341010015125 0ustar00get_current_archive_path() . $file_name; } public function get_archive_file_full_path( $file_name ) { return $this->temp_dir . $this->get_archive_file_path( $file_name ); } public function get_current_archive_path() { return $this->current_archive_path; } public function set_current_archive_path( $path ) { if ( $path ) { $path .= '/'; } $this->current_archive_path = $path; } public function __construct( array $settings ) { if ( ! class_exists( '\ZipArchive' ) ) { throw new \Error( self::ZIP_ARCHIVE_MODULE_NOT_INSTALLED_KEY ); } $server = new Server(); $server_write_permissions = $server->get_write_permissions(); if ( $server_write_permissions['warning'] ) { throw new \Error( self::NO_WRITE_PERMISSIONS_KEY ); } $this->set_settings( $settings ); } } core/app/modules/import-export/wp-cli.php000064400000020505152377341010014466 0ustar00 [ 'content', 'templates', 'settings' ], ]; foreach ( $assoc_args as $key => $value ) { $import_settings[ $key ] = explode( ',', $value ); } $export_settings = array_merge( $export_settings, $assoc_args ); try { $exporter = new Export( $export_settings ); $result = $exporter->run(); rename( $result['file_name'], $args[0] ); } catch ( \Error $error ) { \WP_CLI::error( $error->getMessage() ); } \WP_CLI::success( 'Kit exported successfully.' ); } /** * Import a Kit * * [--include] * Which type of content to include. Possible values are 'content', 'templates', 'site-settings'. * if this parameter won't be specified, All data types will be included. * * [--overrideConditions] * Templates ids to override conditions for. * * [--sourceType] * Which source type is used in the current session. Available values are 'local', 'remote', 'library'. * The default value is 'local' * * ## EXAMPLES * * 1. wp elementor kit import path/to/elementor-kit.zip * - This will import the whole kit file content. * * 2. wp elementor kit import path/to/elementor-kit.zip --include=site-settings,content * - This will import only site settings and content. * * 3. wp elementor kit import path/to/elementor-kit.zip --overrideConditions=3478,4520 * - This will import all content and will override conditions for the given template ids. * * 4. wp elementor kit import path/to/elementor-kit.zip --unfilteredFilesUpload=enable * - This will allow the import process to import unfiltered files. * * @param array $args * @param array $assoc_args */ public function import( array $args, array $assoc_args ) { if ( ! current_user_can( 'administrator' ) ) { \WP_CLI::error( 'You must run this command as an admin user' ); } if ( empty( $args[0] ) ) { \WP_CLI::error( 'Please specify a file to import' ); } \WP_CLI::line( 'Kit import started' ); \WP_CLI::line( 'Extracting zip archive...' ); $assoc_args = wp_parse_args( $assoc_args, [ 'sourceType' => 'local', ] ); $url = null; $file_path = $args[0]; if ( 'library' === $assoc_args['sourceType'] ) { $url = $this->get_url_from_library( $args[0] ); } elseif ( 'remote' === $assoc_args['sourceType'] ) { $url = $args[0]; } if ( 'enable' === $assoc_args['unfilteredFilesUpload'] ) { Plugin::$instance->uploads_manager->set_elementor_upload_state( true ); Plugin::$instance->uploads_manager->enable_unfiltered_files_upload(); } if ( $url ) { $file_path = $this->create_temp_file_from_url( $url ); } $extraction_result = Plugin::$instance->uploads_manager->extract_and_validate_zip( $file_path, [ 'json', 'xml' ] ); if ( is_wp_error( $extraction_result ) ) { \WP_CLI::error( $extraction_result->get_error_message() ); } $import_settings = [ 'include' => [ 'templates', 'content', 'settings' ], 'session' => $extraction_result['extraction_directory'], ]; foreach ( $assoc_args as $key => $value ) { $import_settings[ $key ] = explode( ',', $value ); } // Remove irrelevant settings from the $import_settings array $remove_irrelevant = [ 'sourceType', 'unfilteredFilesUpload' ]; $import_settings = array_diff_key( $import_settings, array_flip( $remove_irrelevant ) ); try { \WP_CLI::line( 'Importing data...' ); $import = new Import( $import_settings ); $manifest_data = $this->get_manifest_data( $import_settings['session'] ); $manifest_data = $import->adapt_manifest_structure( $manifest_data ); if ( isset( $manifest_data['plugins'] ) ) { $successfully_imported_plugins = $this->import_plugins( $manifest_data['plugins'] ); \WP_CLI::line( 'Ready to use plugins: ' . $successfully_imported_plugins ); } Plugin::$instance->app->get_component( 'import-export' )->import = $import; $import->run(); \WP_CLI::line( 'Removing temp files...' ); Plugin::$instance->uploads_manager->remove_file_or_dir( $import_settings['session'] ); // The file was created from remote or library request and it should be removed. if ( $url ) { Plugin::$instance->uploads_manager->remove_file_or_dir( dirname( $file_path ) ); } \WP_CLI::success( 'Kit imported successfully' ); } catch ( \Error $error ) { Plugin::$instance->uploads_manager->remove_file_or_dir( $import_settings['session'] ); \WP_CLI::error( $error->getMessage() ); } } /** * Helper to get kit url by the kit id * TODO: Maybe extract it. * * @param $kit_id * * @return string */ private function get_url_from_library( $kit_id ) { /** @var Kit_Library $app */ $app = Plugin::$instance->common->get_component( 'connect' )->get_app( 'kit-library' ); if ( ! $app ) { \WP_CLI::error( 'Kit library app not found' ); } $response = $app->download_link( $kit_id ); if ( is_wp_error( $response ) ) { \WP_CLI::error( "Library Response: {$response->get_error_message()}" ); } return $response->download_link; } /** * Helper to get kit zip file path by the kit url * TODO: Maybe extract it. * * @param $url * * @return string */ private function create_temp_file_from_url( $url ) { $response = wp_remote_get( $url ); if ( is_wp_error( $response ) ) { \WP_CLI::error( "Download file url: {$response->get_error_message()}" ); } if ( 200 !== $response['response']['code'] ) { \WP_CLI::error( "Download file url: {$response['response']['message']}" ); } return Plugin::$instance->uploads_manager->create_temp_file( $response['body'], 'kit.zip' ); } /** * Helper to get the manifest data from the 'manifest.json' file. * * @param string $extraction_directory * @return array */ private function get_manifest_data( $extraction_directory ) { $manifest_file_content = Utils::file_get_contents( $extraction_directory . 'manifest.json', true ); if ( ! $manifest_file_content ) { \WP_CLI::error( 'Manifest not found' ); } $manifest_data = json_decode( $manifest_file_content, true ); // In case that the manifest content is not a valid JSON or empty. if ( ! $manifest_data ) { \WP_CLI::error( 'Manifest content is not valid json' ); } return $manifest_data; } /** * Handle the import process of plugins. * * Returns a string contains the successfully installed and activated plugins. * * @param array $plugins * @return string */ private function import_plugins( $plugins ) { $plugins_collection = ( new Collection( $plugins ) ) ->map( function ( $item ) { if ( ! $this->ends_with( $item['plugin'], '.php' ) ) { $item['plugin'] .= '.php'; } return $item; } ); $slugs = $plugins_collection ->map( function ( $item ) { return $item['plugin']; } ) ->all(); $plugins_manager = new Plugins_Manager(); $install = $plugins_manager->install( $slugs ); $activate = $plugins_manager->activate( $install['succeeded'] ); $names = $plugins_collection ->filter( function ( $item ) use ( $activate ) { return in_array( $item['plugin'], $activate['succeeded'], true ); } ) ->map( function ( $item ) { return $item['name']; } ) ->implode( ', ' ); return $names; } private function ends_with( $haystack, $needle ) { return substr( $haystack, -strlen( $needle ) ) === $needle; } } core/app/modules/import-export/compatibility/envato.php000064400000005076152377341010017446 0ustar00importer->read_json_file( str_replace( '.json', '', $template['source'] ) ); $site_settings = [ 'settings' => $global_file_data['page_settings'] ]; $site_settings_file_destination = $this->importer->get_archive_file_full_path( 'site-settings.json' ); file_put_contents( $site_settings_file_destination, wp_json_encode( $site_settings ) ); // Getting the site-settings because Envato stores them in one of the posts. $kit = Plugin::$instance->kits_manager->get_active_kit(); $kit_tabs = $kit->get_tabs(); unset( $kit_tabs['settings-site-identity'] ); $manifest_data['site-settings'] = array_keys( $kit_tabs ); continue; } // Evanto uses "type" instead of "doc_type" $template['doc_type'] = $template['type']; // Evanto uses for "name" instead of "title" $template['title'] = $template['name']; // Envato specifying an exact path to the template rather than using its "ID" as an index. // This extracts the "file name" part out of our exact source list and we treat that as an ID. $file_name_without_extension = str_replace( '.json', '', basename( $template['source'] ) ); // Append the template to the global list: $manifest_data['templates'][ $file_name_without_extension ] = $template; } return $manifest_data; } public function get_template_data( array $template_data, array $template_settings ) { if ( ! empty( $template_data['metadata']['elementor_pro_conditions'] ) ) { foreach ( $template_data['metadata']['elementor_pro_conditions'] as $condition ) { list ( $type, $name, $sub_name, $sub_id ) = array_pad( explode( '/', $condition ), 4, '' ); $template_data['import_settings']['conditions'][] = compact( 'type', 'name', 'sub_name', 'sub_id' ); } } return $template_data; } } core/app/modules/import-export/compatibility/base-adapter.php000064400000001317152377341010020474 0ustar00importer = $importer; } } core/app/modules/import-export/compatibility/kit-library.php000064400000001432152377341010020373 0ustar00add_submenu( [ 'page_title' => __( 'Kit Library', 'elementor' ), 'menu_title' => '' . __( 'Kit Library', 'elementor' ) . '', 'menu_slug' => Plugin::$instance->app->get_base_url() . '#/kit-library', 'index' => 40, ] ); } /** * Register the admin menu the old way. */ private function register_admin_menu_legacy() { add_submenu_page( Source_Local::ADMIN_MENU_SLUG, __( 'Kit Library', 'elementor' ), __( 'Kit Library', 'elementor' ), 'manage_options', Plugin::$instance->app->get_base_url() . '#/kit-library' ); } private function set_kit_library_settings() { if ( ! Plugin::$instance->common ) { return; } /** @var ConnectModule $connect */ $connect = Plugin::$instance->common->get_component( 'connect' ); /** @var Kit_Library $kit_library */ $kit_library = $connect->get_app( 'kit-library' ); Plugin::$instance->app->set_settings( 'kit-library', [ 'has_access_to_module' => current_user_can( 'administrator' ), 'subscription_plans' => $connect->get_subscription_plans( 'kit-library' ), 'is_pro' => false, 'is_library_connected' => $kit_library->is_connected(), 'library_connect_url' => $kit_library->get_admin_url( 'authorize', [ 'utm_source' => 'kit-library', 'utm_medium' => 'wp-dash', 'utm_campaign' => 'library-connect', 'utm_term' => '%%page%%', // Will be replaced in the frontend. ] ), 'access_level' => ConnectModule::ACCESS_LEVEL_CORE, ] ); } /** * Module constructor. */ public function __construct() { Plugin::$instance->data_manager_v2->register_controller( new Kits_Controller() ); Plugin::$instance->data_manager_v2->register_controller( new Taxonomies_Controller() ); if ( Plugin::$instance->experiments->is_feature_active( 'admin_menu_rearrangement' ) ) { add_action( 'elementor/admin/menu_registered/elementor', function( MainMenu $menu ) { $this->register_admin_menu( $menu ); } ); } else { add_action( 'admin_menu', function() { $this->register_admin_menu_legacy(); }, 50 /* after Elementor page */ ); } add_action( 'elementor/connect/apps/register', function ( ConnectModule $connect_module ) { $connect_module->register_app( 'kit-library', Kit_Library::get_class_name() ); } ); add_action( 'elementor/init', function () { $this->set_kit_library_settings(); }, 12 /** after the initiation of the connect kit library */ ); } } core/app/modules/kit-library/data/kits/endpoints/favorites.php000064400000002044152377341010020561 0ustar00 '[\w]+', ]; $this->register_item_route( \WP_REST_Server::CREATABLE, $args ); $this->register_item_route( \WP_REST_Server::DELETABLE, $args ); } public function create_item( $id, $request ) { $repository = $this->controller->get_repository(); $kit = $repository->add_to_favorites( $id ); return [ 'data' => $kit, ]; } public function delete_item( $id, $request ) { $repository = $this->controller->get_repository(); $kit = $repository->remove_from_favorites( $id ); return [ 'data' => $kit, ]; } } core/app/modules/kit-library/data/kits/endpoints/download-link.php000064400000001545152377341010021326 0ustar00register_item_route( \WP_REST_Server::READABLE, [ 'id_arg_type_regex' => '[\w]+', ] ); } public function get_item( $id, $request ) { $repository = $this->controller->get_repository(); $data = $repository->get_download_link( $id ); return [ 'data' => $data, 'meta' => [ 'nonce' => wp_create_nonce( 'kit-library-import' ), ], ]; } } core/app/modules/kit-library/data/kits/controller.php000064400000002766152377341010016752 0ustar00get_repository()->get_all( $request->get_param( 'force' ) ); return [ 'data' => $data->values(), ]; } public function get_item( $request ) { $data = $this->get_repository()->find( $request->get_param( 'id' ) ); if ( ! $data ) { return new Error_404( __( 'Kit not exists.', 'elementor' ), 'kit_not_exists' ); } return [ 'data' => $data, ]; } public function get_collection_params() { return [ 'force' => [ 'description' => 'Force an API request and skip the cache.', 'required' => false, 'default' => false, 'type' => 'boolean', ], ]; } public function register_endpoints() { $this->index_endpoint->register_item_route( \WP_REST_Server::READABLE, [ 'id' => [ 'description' => 'Unique identifier for the object.', 'type' => 'string', 'required' => true, ], 'id_arg_type_regex' => '[\w]+', ] ); $this->register_endpoint( new Endpoints\Download_Link( $this ) ); $this->register_endpoint( new Endpoints\Favorites( $this ) ); } public function get_permission_callback( $request ) { return current_user_can( 'administrator' ); } } core/app/modules/kit-library/data/repository.php000064400000017161152377341010016027 0ustar00get_kits_data( $force_api_request ) ->map( function ( $kit ) { return $this->transform_kit_api_response( $kit ); } ); } /** * Get specific kit. * * @param $id * @param array $options * * @return array|null */ public function find( $id, $options = [] ) { $options = wp_parse_args( $options, [ 'manifest_included' => true, ] ); $item = $this->get_kits_data() ->find( function ( $kit ) use ( $id ) { return $kit->_id === $id; } ); if ( ! $item ) { return null; } $manifest = null; if ( $options['manifest_included'] ) { $manifest = $this->api->get_manifest( $id ); if ( is_wp_error( $manifest ) ) { throw new WP_Error_Exception( $manifest ); } } return $this->transform_kit_api_response( $item, $manifest ); } /** * @param false $force_api_request * * @return Collection */ public function get_taxonomies( $force_api_request = false ) { return $this->get_taxonomies_data( $force_api_request ) ->only( static::TAXONOMIES_KEYS ) ->reduce( function ( Collection $carry, $taxonomies, $type ) { return $carry->merge( array_map( function ( $taxonomy ) use ( $type ) { return [ 'text' => $taxonomy->name, 'type' => $type, ]; }, $taxonomies ) ); }, new Collection( [] ) ) ->merge( $this->subscription_plans->map( function ( $label ) { return [ 'text' => $label ? $label : self::SUBSCRIPTION_PLAN_FREE_TAG, 'type' => 'subscription_plans', ]; } ) ) ->unique( [ 'text', 'type' ] ); } /** * @param $id * * @return array */ public function get_download_link( $id ) { $response = $this->api->download_link( $id ); if ( is_wp_error( $response ) ) { throw new WP_Error_Exception( $response ); } return [ 'download_link' => $response->download_link ]; } /** * @param $id * * @return array * @throws \Exception */ public function add_to_favorites( $id ) { $kit = $this->find( $id, [ 'manifest_included' => false ] ); if ( ! $kit ) { throw new Error_404( __( 'Kit not found', 'elementor' ), 'kit_not_found' ); } $this->user_favorites->add( 'elementor', 'kits', $kit['id'] ); $kit['is_favorite'] = true; return $kit; } /** * @param $id * * @return array * @throws \Exception */ public function remove_from_favorites( $id ) { $kit = $this->find( $id, [ 'manifest_included' => false ] ); if ( ! $kit ) { throw new Error_404( __( 'Kit not found', 'elementor' ), 'kit_not_found' ); } $this->user_favorites->remove( 'elementor', 'kits', $kit['id'] ); $kit['is_favorite'] = false; return $kit; } /** * @param bool $force_api_request * * @return Collection */ private function get_kits_data( $force_api_request = false ) { $data = get_transient( static::KITS_CACHE_KEY ); if ( ! $data || $force_api_request ) { $data = $this->api->get_all(); if ( is_wp_error( $data ) ) { throw new WP_Error_Exception( $data ); } set_transient( static::KITS_CACHE_KEY, $data, static::KITS_CACHE_TTL_HOURS * HOUR_IN_SECONDS ); } return new Collection( $data ); } /** * @param bool $force_api_request * * @return Collection */ private function get_taxonomies_data( $force_api_request = false ) { $data = get_transient( static::KITS_TAXONOMIES_CACHE_KEY ); if ( ! $data || $force_api_request ) { $data = $this->api->get_taxonomies(); if ( is_wp_error( $data ) ) { throw new WP_Error_Exception( $data ); } set_transient( static::KITS_TAXONOMIES_CACHE_KEY, $data, static::KITS_TAXONOMIES_CACHE_TTL_HOURS * HOUR_IN_SECONDS ); } return new Collection( (array) $data ); } /** * @param $kit * @param null $manifest * * @return array */ private function transform_kit_api_response( $kit, $manifest = null ) { $subscription_plan_tag = $this->subscription_plans->get( $kit->access_level ); $taxonomies = ( new Collection( (array) $kit ) ) ->only( static::TAXONOMIES_KEYS ) ->flatten() ->pluck( 'name' ) ->push( $subscription_plan_tag ? $subscription_plan_tag : self::SUBSCRIPTION_PLAN_FREE_TAG ); return array_merge( [ 'id' => $kit->_id, 'title' => $kit->title, 'thumbnail_url' => $kit->thumbnail, 'access_level' => $kit->access_level, 'keywords' => $kit->keywords, 'taxonomies' => $taxonomies->values(), 'is_favorite' => $this->user_favorites->exists( 'elementor', 'kits', $kit->_id ), // TODO: Remove all the isset when the API stable. 'trend_index' => isset( $kit->trend_index ) ? $kit->trend_index : 0, 'featured_index' => isset( $kit->featured_index ) ? $kit->featured_index : 0, 'popularity_index' => isset( $kit->popularity_index ) ? $kit->popularity_index : 0, 'created_at' => isset( $kit->created_at ) ? $kit->created_at : null, 'updated_at' => isset( $kit->updated_at ) ? $kit->updated_at : null, // ], $manifest ? $this->transform_manifest_api_response( $manifest ) : [] ); } /** * @param $manifest * * @return array */ private function transform_manifest_api_response( $manifest ) { $manifest_content = ( new Collection( (array) $manifest->content ) ) ->reduce( function ( $carry, $content, $type ) { $mapped_documents = array_map( function ( $document ) use ( $type ) { // TODO: Fix it! // Hack to override a bug when a document with type of 'wp-page' is declared as 'wp-post'. if ( 'page' === $type ) { $document->doc_type = 'wp-page'; } return $document; }, (array) $content ); return $carry + $mapped_documents; }, [] ); $content = ( new Collection( (array) $manifest->templates ) ) ->union( $manifest_content ) ->map( function ( $manifest_item, $key ) { return [ 'id' => isset( $manifest_item->id ) ? $manifest_item->id : $key, 'title' => $manifest_item->title, 'doc_type' => $manifest_item->doc_type, 'thumbnail_url' => $manifest_item->thumbnail, 'preview_url' => isset( $manifest_item->url ) ? $manifest_item->url : null, ]; } ); return [ 'description' => $manifest->description, 'preview_url' => isset( $manifest->site ) ? $manifest->site : '', 'documents' => $content->values(), ]; } /** * @param Kit_Library $kit_library * @param User_Favorites $user_favorites * @param Collection $subscription_plans */ public function __construct( Kit_Library $kit_library, User_Favorites $user_favorites, Collection $subscription_plans ) { $this->api = $kit_library; $this->user_favorites = $user_favorites; $this->subscription_plans = $subscription_plans; } } core/app/modules/kit-library/data/base-controller.php000064400000001715152377341010016701 0ustar00repository ) { /** @var \Elementor\Core\Common\Modules\Connect\Module $connect */ $connect = Plugin::$instance->common->get_component( 'connect' ); $subscription_plans = ( new Collection( $connect->get_subscription_plans() ) ) ->map( function ( $value ) { return $value['label']; } ); $this->repository = new Repository( $connect->get_app( 'kit-library' ), new User_Favorites( get_current_user_id() ), $subscription_plans ); } return $this->repository; } } core/app/modules/kit-library/data/taxonomies/controller.php000064400000001465152377341010020161 0ustar00 [ 'description' => 'Force an API request and skip the cache.', 'required' => false, 'default' => false, 'type' => 'boolean', ], ]; } public function get_items( $request ) { $data = $this->get_repository()->get_taxonomies( $request->get_param( 'force' ) ); return [ 'data' => $data->values(), ]; } public function get_permission_callback( $request ) { return current_user_can( 'administrator' ); } } core/app/modules/kit-library/connect/kit-library.php000064400000002034152377341010016552 0ustar00http_request( 'GET', 'kits' ); } public function get_taxonomies() { return $this->http_request( 'GET', 'taxonomies' ); } public function get_manifest( $id ) { return $this->http_request( 'GET', "kits/{$id}/manifest" ); } public function download_link( $id ) { return $this->http_request( 'GET', "kits/{$id}/download-link" ); } protected function get_api_url() { return [ static::DEFAULT_BASE_ENDPOINT, static::FALLBACK_BASE_ENDPOINT, ]; } protected function init() { // Remove parent init actions. } } core/app/modules/site-editor/module.php000064400000002061152377341010014154 0ustar00 'elementor_app_site_editor', 'title' => esc_html__( 'Theme Builder', 'elementor' ), 'sub_title' => esc_html__( 'Site', 'elementor' ), 'href' => Plugin::$instance->app->get_settings( 'menu_url' ), 'class' => 'elementor-app-link', 'parent_class' => 'elementor-second-section', ]; return $admin_bar_config; } public function __construct() { add_filter( 'elementor/frontend/admin_bar/settings', [ $this, 'add_menu_in_admin_bar' ] ); // After kit (Site settings) } } core/app/app.php000064400000014606152377341010007557 0ustar00get_settings( 'menu_url' ); // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited $item[4] = 'elementor-app-link'; // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited } } return $menu; } public function is_current() { return ( ! empty( $_GET['page'] ) && self::PAGE_ID === $_GET['page'] ); } public function admin_init() { do_action( 'elementor/app/init', $this ); $this->enqueue_assets(); // Setup default heartbeat options // TODO: Enable heartbeat. add_filter( 'heartbeat_settings', function( $settings ) { $settings['interval'] = 15; return $settings; } ); $this->render(); die; } protected function get_init_settings() { $referer = wp_get_referer(); return [ 'menu_url' => $this->get_base_url() . '#site-editor/promotion', 'assets_url' => ELEMENTOR_ASSETS_URL, 'return_url' => $referer ? $referer : admin_url(), 'hasPro' => Utils::has_pro(), 'admin_url' => admin_url(), 'login_url' => wp_login_url(), 'base_url' => $this->get_base_url(), ]; } private function render() { require __DIR__ . '/view.php'; } /** * Get Elementor UI theme preference. * * Retrieve the user UI theme preference as defined by editor preferences manager. * * @since 3.0.0 * @access private * * @return string Preferred UI theme. */ private function get_elementor_ui_theme_preference() { $editor_preferences = SettingsManager::get_settings_managers( 'editorPreferences' ); return $editor_preferences->get_model()->get_settings( 'ui_theme' ); } /** * Enqueue dark theme detection script. * * Enqueues an inline script that detects user-agent settings for dark mode and adds a complimentary class to the body tag. * * @since 3.0.0 * @access private */ private function enqueue_dark_theme_detection_script() { if ( 'auto' === $this->get_elementor_ui_theme_preference() ) { wp_add_inline_script( 'elementor-app', 'if ( window.matchMedia && window.matchMedia( `(prefers-color-scheme: dark)` ).matches ) { document.body.classList.add( `eps-theme-dark` ); }' ); } } private function enqueue_assets() { Plugin::$instance->init_common(); /** @var WebCLIModule $web_cli */ $web_cli = Plugin::$instance->modules_manager->get_modules( 'web-cli' ); $web_cli->register_scripts(); Plugin::$instance->common->register_scripts(); wp_register_style( 'select2', $this->get_css_assets_url( 'e-select2', 'assets/lib/e-select2/css/' ), [], '4.0.6-rc.1' ); wp_register_style( 'elementor-icons', $this->get_css_assets_url( 'elementor-icons', 'assets/lib/eicons/css/' ), [], '5.15.0' ); wp_register_style( 'elementor-common', $this->get_css_assets_url( 'common', null, 'default', true ), [], ELEMENTOR_VERSION ); wp_register_style( 'select2', ELEMENTOR_ASSETS_URL . 'lib/e-select2/css/e-select2.css', [], '4.0.6-rc.1' ); wp_enqueue_style( 'elementor-app', $this->get_css_assets_url( 'app', null, 'default', true ), [ 'select2', 'elementor-icons', 'elementor-common', 'select2', ], ELEMENTOR_VERSION ); wp_enqueue_script( 'elementor-app-packages', $this->get_js_assets_url( 'app-packages' ), [ 'wp-i18n', 'react', ], ELEMENTOR_VERSION, true ); wp_register_script( 'select2', $this->get_js_assets_url( 'e-select2.full', 'assets/lib/e-select2/js/' ), [ 'jquery', ], '4.0.6-rc.1', true ); wp_enqueue_script( 'elementor-app', $this->get_js_assets_url( 'app' ), [ 'wp-url', 'wp-i18n', 'react', 'react-dom', 'select2', ], ELEMENTOR_VERSION, true ); if ( ! $this->get_settings( 'disable_dark_theme' ) ) { $this->enqueue_dark_theme_detection_script(); } wp_set_script_translations( 'elementor-app-packages', 'elementor' ); wp_set_script_translations( 'elementor-app', 'elementor' ); $this->print_config(); } public function enqueue_app_loader() { wp_enqueue_script( 'elementor-app-loader', $this->get_js_assets_url( 'app-loader' ), [ 'elementor-common', ], ELEMENTOR_VERSION, true ); $this->print_config( 'elementor-app-loader' ); } public function __construct() { $this->add_component( 'site-editor', new Modules\SiteEditor\Module() ); if ( current_user_can( 'manage_options' ) && Plugin::$instance->experiments->is_feature_active( 'e_import_export' ) || Utils::is_wp_cli() ) { $this->add_component( 'import-export', new Modules\ImportExport\Module() ); // Kit library is depended on import-export $this->add_component( 'kit-library', new Modules\KitLibrary\Module() ); } $this->add_component( 'onboarding', new Modules\Onboarding\Module() ); add_action( 'admin_menu', [ $this, 'register_admin_menu' ], 21 /* after Elementor page */ ); // Happens after WP plugin page validation. add_filter( 'add_menu_classes', [ $this, 'fix_submenu' ] ); if ( $this->is_current() ) { add_action( 'admin_init', [ $this, 'admin_init' ], 0 ); } else { add_action( 'elementor/common/after_register_scripts', [ $this, 'enqueue_app_loader' ] ); } } } core/app/view.php000064400000001331152377341010007740 0ustar00get_elementor_ui_theme_preference() ? 'eps-theme-dark' : ''; ?> > <?php echo esc_html__( 'Elementor', 'elementor' ) . ' ... '; ?>
core/breakpoints/breakpoint.php000064400000005525152377341010012676 0ustar00name; } /** * Is Enabled * * Check if the breakpoint is enabled or not. The breakpoint instance receives this data from * the Breakpoints Manager. * * @return bool $is_enabled class variable */ public function is_enabled() { return $this->is_enabled; } /** * Get Label * * Retrieve the breakpoint label. * * @since 3.2.0 * * @return string $label class variable */ public function get_label() { return $this->label; } /** * Get Value * * Retrieve the saved breakpoint value. * * @since 3.2.0 * * @return int $value class variable */ public function get_value() { if ( ! $this->value ) { $this->init_value(); } return $this->value; } /** * Is Custom * * Check if the breakpoint's value is a custom or default value. * * @since 3.2.0 * * @return bool $is_custom class variable */ public function is_custom() { if ( ! $this->is_custom ) { $this->get_value(); } return $this->is_custom; } /** * Get Default Value * * Returns the Breakpoint's default value. * * @since 3.2.0 * * @return int $default_value class variable */ public function get_default_value() { return $this->default_value; } /** * Get Direction * * Returns the Breakpoint's direction ('min'/'max'). * * @since 3.2.0 * * @return string $direction class variable */ public function get_direction() { return $this->direction; } /** * Set Value * * Set the `$value` class variable and the `$is_custom` class variable. * * @since 3.2.0 * * @return int $value class variable */ private function init_value() { $cached_value = Plugin::$instance->kits_manager->get_current_settings( $this->db_key ); if ( $cached_value ) { $this->value = (int) $cached_value; $this->is_custom = $this->value !== $this->default_value; } else { $this->value = $this->default_value; $this->is_custom = false; } return $this->value; } public function __construct( $args ) { $this->name = $args['name']; $this->label = $args['label']; // Used for CSS generation $this->db_key = Breakpoints_Manager::BREAKPOINT_SETTING_PREFIX . $args['name']; $this->direction = $args['direction']; $this->is_enabled = $args['is_enabled']; $this->default_value = $args['default_value']; } } core/breakpoints/manager.php000064400000036412152377341010012151 0ustar00 'active' => true`. * * When generating Post CSS, the mode is set to 'on'. When generating Dynamic CSS, the mode is set to 'dynamic'. * * default value is 'off'. * * @since 3.4.0 * @access private * * @var string */ private $responsive_control_duplication_mode = 'off'; private $icons_map; /** * Has Custom Breakpoints * * A flag that holds a cached value that indicates if there are active custom-breakpoints. * * @since 3.5.0 * @access private * * @var boolean */ private $has_custom_breakpoints; public function get_name() { return 'breakpoints'; } /** * Get Breakpoints * * Retrieve the array containing instances of all breakpoints existing in the system, or a single breakpoint if a * name is passed. * * @since 3.2.0 * * @param $breakpoint_name * @return Breakpoint[]|Breakpoint */ public function get_breakpoints( $breakpoint_name = null ) { if ( ! $this->breakpoints ) { $this->init_breakpoints(); } return self::get_items( $this->breakpoints, $breakpoint_name ); } /** * Get Active Breakpoints * * Retrieve the array of --enabled-- breakpoints, or a single breakpoint if a name is passed. * * @since 3.2.0 * * @param string|null $breakpoint_name * @return Breakpoint[]|Breakpoint */ public function get_active_breakpoints( $breakpoint_name = null ) { if ( ! $this->active_breakpoints ) { $this->init_active_breakpoints(); } return self::get_items( $this->active_breakpoints, $breakpoint_name ); } /** * Get Active Devices List * * Retrieve an array containing the keys of all active devices, including 'desktop'. * * @since 3.2.0 * * @param array $args * @return array */ public function get_active_devices_list( $args = [] ) { $default_args = [ 'add_desktop' => true, 'reverse' => false, 'desktop_first' => false, ]; $args = array_merge( $default_args, $args ); $active_devices = array_keys( Plugin::$instance->breakpoints->get_active_breakpoints() ); if ( $args['add_desktop'] ) { // Insert the 'desktop' device in the correct position. if ( ! $args['desktop_first'] && in_array( 'widescreen', $active_devices, true ) ) { $widescreen_index = array_search( 'widescreen', $active_devices, true ); array_splice( $active_devices, $widescreen_index, 0, [ 'desktop' ] ); } else { $active_devices[] = 'desktop'; } } if ( $args['reverse'] ) { $active_devices = array_reverse( $active_devices ); } return $active_devices; } /** Has Custom Breakpoints * * Checks whether there are currently custom breakpoints saved in the database. * Returns true if there are breakpoint values saved in the active kit. * If the user has activated any additional custom breakpoints (mobile extra, tablet extra, laptop, widescreen) - * that is considered as having custom breakpoints. * * @since 3.2.0 * * @return boolean */ public function has_custom_breakpoints() { if ( isset( $this->has_custom_breakpoints ) ) { return $this->has_custom_breakpoints; } $breakpoints = $this->get_active_breakpoints(); $additional_breakpoints = [ self::BREAKPOINT_KEY_MOBILE_EXTRA, self::BREAKPOINT_KEY_TABLET_EXTRA, self::BREAKPOINT_KEY_LAPTOP, self::BREAKPOINT_KEY_WIDESCREEN, ]; foreach ( $breakpoints as $breakpoint_name => $breakpoint ) { if ( in_array( $breakpoint_name, $additional_breakpoints, true ) ) { $this->has_custom_breakpoints = true; return true; } /** @var Breakpoint $breakpoint */ if ( $breakpoint->is_custom() ) { $this->has_custom_breakpoints = true; return true; } } $this->has_custom_breakpoints = false; return false; } /** * Get Device Min Breakpoint * * For a given device, return the minimum possible breakpoint. Except for the cases of mobile and widescreen * devices, A device's min breakpoint is determined by the previous device's max breakpoint + 1px. * * @since 3.2.0 * * @param string $device_name * @return int the min breakpoint of the passed device */ public function get_device_min_breakpoint( $device_name ) { if ( 'desktop' === $device_name ) { return $this->get_desktop_min_point(); } $active_breakpoints = $this->get_active_breakpoints(); $current_device_breakpoint = $active_breakpoints[ $device_name ]; // Since this method is called multiple times, usage of class variables is to memory and processing time. // Get only the keys for active breakpoints. $breakpoint_keys = array_keys( $active_breakpoints ); if ( $breakpoint_keys[0] === $device_name ) { // For the lowest breakpoint, the min point is always 320. $min_breakpoint = 320; } elseif ( 'min' === $current_device_breakpoint->get_direction() ) { // 'min-width' breakpoints only have a minimum point. The breakpoint value itself the device min point. $min_breakpoint = $current_device_breakpoint->get_value(); } else { // This block handles all other devices. $device_name_index = array_search( $device_name, $breakpoint_keys, true ); $previous_index = $device_name_index - 1; $previous_breakpoint_key = $breakpoint_keys[ $previous_index ]; /** @var Breakpoint $previous_breakpoint */ $previous_breakpoint = $active_breakpoints[ $previous_breakpoint_key ]; $min_breakpoint = $previous_breakpoint->get_value() + 1; } return $min_breakpoint; } /** * Get Desktop Min Breakpoint * * Returns the minimum possible breakpoint for the default (desktop) device. * * @since 3.2.0 * * @return int the min breakpoint of the passed device */ public function get_desktop_min_point() { $active_breakpoints = $this->get_active_breakpoints(); $desktop_previous_device = $this->get_desktop_previous_device_key(); return $active_breakpoints[ $desktop_previous_device ]->get_value() + 1; } public function refresh() { unset( $this->has_custom_breakpoints ); $this->init_breakpoints(); $this->init_active_breakpoints(); } /** * Get Responsive Icons Classes Map * * If a $device parameter is passed, this method retrieves the device's icon class list (the ones attached to the `` * element). If no parameter is passed, it returns an array of devices containing each device's icon class list. * * This method was created because 'mobile_extra' and 'tablet_extra' breakpoint icons need to be tilted by 90 * degrees, and this tilt is achieved in CSS via the class `eicon-tilted`. * * @since 3.4.0 * * @return array|string */ public function get_responsive_icons_classes_map( $device = null ) { if ( ! $this->icons_map ) { $this->icons_map = [ 'mobile' => 'eicon-device-mobile', 'mobile_extra' => 'eicon-device-mobile eicon-tilted', 'tablet' => 'eicon-device-tablet', 'tablet_extra' => 'eicon-device-tablet eicon-tilted', 'laptop' => 'eicon-device-laptop', 'desktop' => 'eicon-device-desktop', 'widescreen' => 'eicon-device-wide', ]; } return self::get_items( $this->icons_map, $device ); } /** * Get Default Config * * Retrieve the default breakpoints config array. The 'selector' property is used for CSS generation (the * Stylesheet::add_device() method). * * @return array */ public static function get_default_config() { return [ self::BREAKPOINT_KEY_MOBILE => [ 'label' => esc_html__( 'Mobile', 'elementor' ), 'default_value' => 767, 'direction' => 'max', ], self::BREAKPOINT_KEY_MOBILE_EXTRA => [ 'label' => esc_html__( 'Mobile Extra', 'elementor' ), 'default_value' => 880, 'direction' => 'max', ], self::BREAKPOINT_KEY_TABLET => [ 'label' => esc_html__( 'Tablet', 'elementor' ), 'default_value' => 1024, 'direction' => 'max', ], self::BREAKPOINT_KEY_TABLET_EXTRA => [ 'label' => esc_html__( 'Tablet Extra', 'elementor' ), 'default_value' => 1200, 'direction' => 'max', ], self::BREAKPOINT_KEY_LAPTOP => [ 'label' => esc_html__( 'Laptop', 'elementor' ), 'default_value' => 1366, 'direction' => 'max', ], self::BREAKPOINT_KEY_WIDESCREEN => [ 'label' => esc_html__( 'Widescreen', 'elementor' ), 'default_value' => 2400, 'direction' => 'min', ], ]; } /** * Get Breakpoints Config * * Iterates over an array of all of the system's breakpoints (both active and inactive), queries each breakpoint's * class instance, and generates an array containing data on each breakpoint: its label, current value, direction * ('min'/'max') and whether it is enabled or not. * * @return array */ public function get_breakpoints_config() { $breakpoints = $this->get_breakpoints(); $config = []; foreach ( $breakpoints as $breakpoint_name => $breakpoint ) { $config[ $breakpoint_name ] = [ 'label' => $breakpoint->get_label(), 'value' => $breakpoint->get_value(), 'default_value' => $breakpoint->get_default_value(), 'direction' => $breakpoint->get_direction(), 'is_enabled' => $breakpoint->is_enabled(), ]; } return $config; } /** * Get Responsive Control Duplication Mode * * Retrieve the value of the $responsive_control_duplication_mode private class variable. * See the variable's PHPDoc for details. * * @since 3.4.0 * @access public */ public function get_responsive_control_duplication_mode() { return $this->responsive_control_duplication_mode; } /** * Set Responsive Control Duplication Mode * * Sets the value of the $responsive_control_duplication_mode private class variable. * See the variable's PHPDoc for details. * * @since 3.4.0 * * @access public * @param string $mode */ public function set_responsive_control_duplication_mode( $mode ) { $this->responsive_control_duplication_mode = $mode; } /** * Get Stylesheet Templates Path * * @since 3.2.0 * @access public * @static */ public static function get_stylesheet_templates_path() { return ELEMENTOR_ASSETS_PATH . 'css/templates/'; } /** * Compile Stylesheet Templates * * @since 3.2.0 * @access public * @static */ public static function compile_stylesheet_templates() { foreach ( self::get_stylesheet_templates() as $file_name => $template_path ) { $file = new Frontend( $file_name, $template_path ); $file->update(); } } /** * Init Breakpoints * * Creates the breakpoints array, containing instances of each breakpoint. Returns an array of ALL breakpoints, * both enabled and disabled. * * @since 3.2.0 */ private function init_breakpoints() { $breakpoints = []; $setting_prefix = self::BREAKPOINT_SETTING_PREFIX; $active_breakpoint_keys = [ $setting_prefix . self::BREAKPOINT_KEY_MOBILE, $setting_prefix . self::BREAKPOINT_KEY_TABLET, ]; if ( Plugin::$instance->experiments->is_feature_active( 'additional_custom_breakpoints' ) ) { $kit_active_id = Plugin::$instance->kits_manager->get_active_id(); // Get the breakpoint settings saved in the kit directly from the DB to avoid initializing the kit too early. $raw_kit_settings = get_post_meta( $kit_active_id, '_elementor_page_settings', true ); // If there is an existing kit with an active breakpoints value saved, use it. if ( isset( $raw_kit_settings[ Settings_Layout::ACTIVE_BREAKPOINTS_CONTROL_ID ] ) ) { $active_breakpoint_keys = $raw_kit_settings[ Settings_Layout::ACTIVE_BREAKPOINTS_CONTROL_ID ]; } } $default_config = self::get_default_config(); foreach ( $default_config as $breakpoint_name => $breakpoint_config ) { $args = [ 'name' => $breakpoint_name ] + $breakpoint_config; // Make sure the two default breakpoints (mobile, tablet) are always enabled. if ( self::BREAKPOINT_KEY_MOBILE === $breakpoint_name || self::BREAKPOINT_KEY_TABLET === $breakpoint_name ) { // Make sure the default Mobile and Tablet breakpoints are always enabled. $args['is_enabled'] = true; } else { // If the breakpoint is in the active breakpoints array, make sure it's instantiated as enabled. $args['is_enabled'] = in_array( $setting_prefix . $breakpoint_name, $active_breakpoint_keys, true ); } $breakpoints[ $breakpoint_name ] = new Breakpoint( $args ); } $this->breakpoints = $breakpoints; } /** * Init Active Breakpoints * * Create/Refresh the array of --enabled-- breakpoints. * * @since 3.2.0 */ private function init_active_breakpoints() { $this->active_breakpoints = array_filter( $this->get_breakpoints(), function( $breakpoint ) { /** @var Breakpoint $breakpoint */ return $breakpoint->is_enabled(); } ); } private function get_desktop_previous_device_key() { $config_array_keys = array_keys( $this->get_active_breakpoints() ); $num_of_devices = count( $config_array_keys ); // If the widescreen breakpoint is active, the device that's previous to desktop is the last one before // widescreen. if ( self::BREAKPOINT_KEY_WIDESCREEN === $config_array_keys[ $num_of_devices - 1 ] ) { $desktop_previous_device = $config_array_keys[ $num_of_devices - 2 ]; } else { // If the widescreen breakpoint isn't active, we just take the last device returned by the config. $desktop_previous_device = $config_array_keys[ $num_of_devices - 1 ]; } return $desktop_previous_device; } /** * Get Stylesheet Templates * * @since 3.2.0 * @access private * @static */ private static function get_stylesheet_templates() { $templates_paths = glob( self::get_stylesheet_templates_path() . '*.css' ); $templates = []; foreach ( $templates_paths as $template_path ) { $file_name = 'custom-' . basename( $template_path ); $templates[ $file_name ] = $template_path; } $deprecated_hook = 'elementor/core/responsive/get_stylesheet_templates'; $replacement_hook = 'elementor/core/breakpoints/get_stylesheet_template'; Plugin::$instance->modules_manager->get_modules( 'dev-tools' )->deprecation->deprecated_hook( $deprecated_hook, '3.2.0', $replacement_hook ); // TODO: REMOVE THIS DEPRECATED HOOK IN ELEMENTOR v3.10.0/v4.0.0 $templates = apply_filters( $deprecated_hook, $templates ); return apply_filters( $replacement_hook, $templates ); } } core/settings/page/model.php000064400000007562152377341010012076 0ustar00post = get_post( $data['id'] ); if ( ! $this->post ) { $this->post = new \WP_Post( (object) [] ); } if ( wp_is_post_revision( $this->post->ID ) ) { $this->post_parent = get_post( $this->post->post_parent ); } else { $this->post_parent = $this->post; } parent::__construct( $data ); } /** * Get model name. * * Retrieve page settings model name. * * @since 1.6.0 * @access public * * @return string Model name. */ public function get_name() { return 'page-settings'; } /** * Get model unique name. * * Retrieve page settings model unique name. * * @since 1.6.0 * @access public * * @return string Model unique name. */ public function get_unique_name() { return $this->get_name() . '-' . $this->post->ID; } /** * Get CSS wrapper selector. * * Retrieve the wrapper selector for the page settings model. * * @since 1.6.0 * @access public * * @return string CSS wrapper selector. */ public function get_css_wrapper_selector() { $document = Plugin::$instance->documents->get( $this->post_parent->ID ); return $document->get_css_wrapper_selector(); } /** * Get panel page settings. * * Retrieve the panel setting for the page settings model. * * @since 1.6.0 * @access public * * @return array { * Panel settings. * * @type string $title The panel title. * } */ public function get_panel_page_settings() { $document = Plugin::$instance->documents->get( $this->post->ID ); return [ /* translators: %s: Document title. */ 'title' => sprintf( esc_html__( '%s Settings', 'elementor' ), $document::get_title() ), ]; } /** * On export post meta. * * When exporting data, check if the post is not using page template and * exclude it from the exported Elementor data. * * @since 1.6.0 * @access public * * @param array $element_data Element data. * * @return array Element data to be exported. */ public function on_export( $element_data ) { if ( ! empty( $element_data['settings']['template'] ) ) { /** * @var \Elementor\Modules\PageTemplates\Module $page_templates_module */ $page_templates_module = Plugin::$instance->modules_manager->get_modules( 'page-templates' ); $is_elementor_template = ! ! $page_templates_module->get_template_path( $element_data['settings']['template'] ); if ( ! $is_elementor_template ) { unset( $element_data['settings']['template'] ); } } return $element_data; } /** * Register model controls. * * Used to add new controls to the page settings model. * * @since 3.1.0 * @access protected */ protected function register_controls() { // Check if it's a real model, or abstract (for example - on import ) if ( $this->post->ID ) { $document = Plugin::$instance->documents->get_doc_or_auto_save( $this->post->ID ); if ( $document ) { $controls = $document->get_controls(); foreach ( $controls as $control_id => $args ) { $this->add_control( $control_id, $args ); } } } } } core/settings/page/manager.php000064400000020041152377341010012373 0ustar00editor->is_edit_mode() ) { return null; } if ( Plugin::$instance->editor->is_edit_mode() ) { $post_id = Plugin::$instance->editor->get_post_id(); $document = Plugin::$instance->documents->get_doc_or_auto_save( $post_id ); } else { $post_id = get_the_ID(); $document = Plugin::$instance->documents->get_doc_for_frontend( $post_id ); } if ( ! $document ) { return null; } $model = $this->get_model( $document->get_post()->ID ); if ( $document->is_autosave() ) { $model->set_settings( 'post_status', $document->get_main_post()->post_status ); } return $model; } /** * Ajax before saving settings. * * Validate the data before saving it and updating the data in the database. * * @since 1.6.0 * @access public * * @param array $data Post data. * @param int $id Post ID. * * @throws \Exception If invalid post returned using the `$id`. * @throws \Exception If current user don't have permissions to edit the post. */ public function ajax_before_save_settings( array $data, $id ) { $post = get_post( $id ); if ( empty( $post ) ) { throw new \Exception( 'Invalid post.', Exceptions::NOT_FOUND ); } if ( ! Utils::is_wp_cli() && ! current_user_can( 'edit_post', $id ) ) { throw new \Exception( 'Access denied.', Exceptions::FORBIDDEN ); } // Avoid save empty post title. if ( ! empty( $data['post_title'] ) ) { $post->post_title = $data['post_title']; } if ( isset( $data['post_excerpt'] ) && post_type_supports( $post->post_type, 'excerpt' ) ) { $post->post_excerpt = $data['post_excerpt']; } if ( isset( $data['post_status'] ) ) { $this->save_post_status( $id, $data['post_status'] ); unset( $post->post_status ); } wp_update_post( $post ); // Check updated status if ( Document::STATUS_PUBLISH === get_post_status( $id ) ) { $autosave = wp_get_post_autosave( $post->ID ); if ( $autosave ) { wp_delete_post_revision( $autosave->ID ); } } if ( isset( $data['post_featured_image'] ) && post_type_supports( $post->post_type, 'thumbnail' ) ) { if ( empty( $data['post_featured_image']['id'] ) ) { delete_post_thumbnail( $post->ID ); } else { set_post_thumbnail( $post->ID, $data['post_featured_image']['id'] ); } } if ( Utils::is_cpt_custom_templates_supported() ) { $template = get_metadata( 'post', $post->ID, '_wp_page_template', true ); if ( isset( $data['template'] ) ) { $template = $data['template']; } if ( empty( $template ) ) { $template = 'default'; } // Use `update_metadata` in order to save also for revisions. update_metadata( 'post', $post->ID, '_wp_page_template', $template ); } } /** * @inheritDoc * * Override parent because the page setting moved to document.settings. */ protected function print_editor_template_content( $name ) { ?> <# const tabs = elementor.config.document.settings.tabs; if ( Object.values( tabs ).length > 1 ) { #>
<# _.each( tabs, function( tabTitle, tabSlug ) { $e.bc.ensureTab( 'panel/page-settings', tabSlug ); #> <# } ); #>
<# } #>
get_post_id(); if ( $css_file instanceof Post_Preview ) { $autosave = Utils::get_post_autosave( $post_id ); if ( $autosave ) { $post_id = $autosave->ID; } } return $this->get_model( $post_id ); } /** * Get special settings names. * * Retrieve the names of the special settings that are not saved as regular * settings. Those settings have a separate saving process. * * @since 1.6.0 * @access protected * * @return array Special settings names. */ protected function get_special_settings_names() { return [ 'id', 'post_title', 'post_status', 'template', 'post_excerpt', 'post_featured_image', ]; } /** * @since 2.0.0 * @access public * * @param $post_id * @param $status */ public function save_post_status( $post_id, $status ) { $parent_id = wp_is_post_revision( $post_id ); if ( $parent_id ) { // Don't update revisions post-status return; } $parent_id = $post_id; $post = get_post( $parent_id ); $allowed_post_statuses = get_post_statuses(); if ( isset( $allowed_post_statuses[ $status ] ) ) { $post_type_object = get_post_type_object( $post->post_type ); if ( 'publish' !== $status || current_user_can( $post_type_object->cap->publish_posts ) ) { $post->post_status = $status; } } wp_update_post( $post ); } } core/settings/base/model.php000064400000001135152377341010012062 0ustar00get_css_file_name(); add_action( "elementor/css-file/{$name}/parse", [ $this, 'add_settings_css_rules' ] ); } /** * Save settings. * * Save settings to the database and update the CSS file. * * @since 2.8.0 * @access public * * @param array $settings Settings. * @param int $id Optional. Post ID. Default is `0`. */ public function save_settings( array $settings, $id = 0 ) { parent::save_settings( $settings, $id ); $css_file = $this->get_css_file_for_update( $id ); if ( $css_file ) { $css_file->update(); } } /** * Add settings CSS rules. * * Add new CSS rules to the settings manager. * * Fired by `elementor/css-file/{$name}/parse` action. * * @since 2.8.0 * @access public * * @param CSS_File $css_file The requested CSS file. * */ public function add_settings_css_rules( CSS_File $css_file ) { $model = $this->get_model_for_css_file( $css_file ); $css_file->add_controls_stack_style_rules( $model, $css_file->get_style_controls( $model, null, $model->get_settings() ), $model->get_settings(), [ '{{WRAPPER}}' ], [ $model->get_css_wrapper_selector() ] ); } } core/settings/base/manager.php000064400000017153152377341010012403 0ustar00get_name(); $ajax_manager->register_ajax_action( "save_{$name}_settings", [ $this, 'ajax_save_settings' ] ); } /** * Get model for config. * * Retrieve the model for settings configuration. * * @since 1.6.0 * @access public * @abstract * * @return Model The model object. */ abstract public function get_model_for_config(); /** * Get manager name. * * Retrieve settings manager name. * * @since 1.6.0 * @access public * @abstract */ abstract public function get_name(); /** * Get model. * * Retrieve the model for any given model ID. * * @since 1.6.0 * @access public * * @param int $id Optional. Model ID. Default is `0`. * * @return Model The model. */ final public function get_model( $id = 0 ) { if ( ! isset( $this->models_cache[ $id ] ) ) { $this->create_model( $id ); } return $this->models_cache[ $id ]; } /** * Ajax request to save settings. * * Save settings using an ajax request. * * @since 1.6.0 * @access public * * @param array $request Ajax request. * * @return array Ajax response data. */ final public function ajax_save_settings( $request ) { $data = $request['data']; $id = 0; if ( ! empty( $request['id'] ) ) { $id = $request['id']; } $this->ajax_before_save_settings( $data, $id ); $this->save_settings( $data, $id ); $settings_name = $this->get_name(); $success_response_data = []; /** * Settings success response data. * * Filters the success response data when saving settings using ajax. * * The dynamic portion of the hook name, `$settings_name`, refers to the settings name. * * @since 2.0.0 * * @param array $success_response_data Success response data. * @param int $id Settings ID. * @param array $data Settings data. */ $success_response_data = apply_filters( "elementor/settings/{$settings_name}/success_response_data", $success_response_data, $id, $data ); return $success_response_data; } /** * Save settings. * * Save settings to the database. * * @since 1.6.0 * @access public * * @param array $settings Settings. * @param int $id Optional. Post ID. Default is `0`. */ public function save_settings( array $settings, $id = 0 ) { $special_settings = $this->get_special_settings_names(); $settings_to_save = $settings; foreach ( $special_settings as $special_setting ) { if ( isset( $settings_to_save[ $special_setting ] ) ) { unset( $settings_to_save[ $special_setting ] ); } } $this->save_settings_to_db( $settings_to_save, $id ); // Clear cache after save. if ( isset( $this->models_cache[ $id ] ) ) { unset( $this->models_cache[ $id ] ); } } /** * On Elementor init. * * Add editor template for the settings * * Fired by `elementor/init` action. * * @since 2.3.0 * @access public */ public function on_elementor_editor_init() { Plugin::$instance->common->add_template( $this->get_editor_template(), 'text' ); } /** * Get saved settings. * * Retrieve the saved settings from the database. * * @since 1.6.0 * @access protected * @abstract * * @param int $id Post ID. */ abstract protected function get_saved_settings( $id ); /** * Save settings to DB. * * Save settings to the database. * * @since 1.6.0 * @access protected * @abstract * * @param array $settings Settings. * @param int $id Post ID. */ abstract protected function save_settings_to_db( array $settings, $id ); /** * Get special settings names. * * Retrieve the names of the special settings that are not saved as regular * settings. Those settings have a separate saving process. * * @since 1.6.0 * @access protected * * @return array Special settings names. */ protected function get_special_settings_names() { return []; } /** * Ajax before saving settings. * * Validate the data before saving it and updating the data in the database. * * @since 1.6.0 * @access public * * @param array $data Post data. * @param int $id Post ID. */ public function ajax_before_save_settings( array $data, $id ) {} /** * Print the setting template content in the editor. * * Used to generate the control HTML in the editor using Underscore JS * template. The variables for the class are available using `data` JS * object. * * @since 1.6.0 * @access protected * * @param string $name Settings panel name. */ protected function print_editor_template_content( $name ) { ?> <# const tabs = elementor.config.settings..tabs; if ( Object.values( tabs ).length > 1 ) { #>
<# _.each( tabs, function( tabTitle, tabSlug ) { $e.bc.ensureTab( 'panel/-settings', tabSlug ); #> <# } ); #>
<# } #>
models_cache[ $id ] = new $class_name( [ 'id' => $id, 'settings' => $this->get_saved_settings( $id ), ] ); } /** * Get editor template. * * Retrieve the final HTML for the editor. * * @since 1.6.0 * @access private * * @return string Settings editor template. */ private function get_editor_template() { $name = $this->get_name(); ob_start(); ?> get_name() ] = $manager; } /** * Get settings managers. * * Retrieve registered settings manager(s). * * If no parameter passed, it will retrieve all the settings managers. For * any given parameter it will retrieve a single settings manager if one * exist, or `null` otherwise. * * @since 1.6.0 * @access public * @static * * @param string $manager_name Optional. Settings manager name. Default is * null. * * @return Base\Manager|Base\Manager[] Single settings manager, if it exists, * null if it doesn't exists, or the all * the settings managers if no parameter * defined. */ public static function get_settings_managers( $manager_name = null ) { if ( $manager_name ) { // Backwards compatibility for `general` manager, since 3.0.0. // Register the class only if needed. if ( 'general' === $manager_name ) { // TODO: _deprecated_argument( $manager_name, '3.0.0', 'Plugin::$instance->kits_manager->get_active_kit_for_frontend();' ); $manager_class = self::get_manager_class( $manager_name ); self::add_settings_manager( new $manager_class() ); } if ( isset( self::$settings_managers[ $manager_name ] ) ) { return self::$settings_managers[ $manager_name ]; } return null; } return self::$settings_managers; } /** * Register default settings managers. * * Register builtin Elementor settings managers. * * @since 1.6.0 * @access private * @static */ private static function register_default_settings_managers() { foreach ( self::$builtin_settings_managers_names as $manager_name ) { $manager_class = self::get_manager_class( $manager_name ); self::add_settings_manager( new $manager_class() ); } } /** * Get class path for default settings managers. * * @param $manager_name * * @return string * @since 3.0.0 * @access private * @static */ private static function get_manager_class( $manager_name ) { return __NAMESPACE__ . '\\' . ucfirst( $manager_name ) . '\Manager'; } /** * Get settings managers config. * * Retrieve the settings managers configuration. * * @since 1.6.0 * @access public * @static * * @return array The settings managers configuration. */ public static function get_settings_managers_config() { $config = []; $user_can = Plugin::instance()->role_manager->user_can( 'design' ); foreach ( self::$settings_managers as $name => $manager ) { $settings_model = $manager->get_model_for_config(); $tabs = $settings_model->get_tabs_controls(); if ( ! $user_can ) { unset( $tabs['style'] ); } $config[ $name ] = [ 'name' => $manager->get_name(), 'panelPage' => $settings_model->get_panel_page_settings(), 'controls' => $settings_model->get_controls(), 'tabs' => $tabs, 'settings' => $settings_model->get_settings(), ]; if ( $settings_model instanceof CSS_Model ) { $config[ $name ]['cssWrapperSelector'] = $settings_model->get_css_wrapper_selector(); } } return $config; } /** * Get settings frontend config. * * Retrieve the settings managers frontend configuration. * * @since 1.6.0 * @access public * @static * * @return array The settings managers frontend configuration. */ public static function get_settings_frontend_config() { $config = []; foreach ( self::$settings_managers as $name => $manager ) { $settings_model = $manager->get_model_for_config(); if ( $settings_model ) { $config[ $name ] = $settings_model->get_frontend_settings(); } } return $config; } /** * Run settings managers. * * Register builtin Elementor settings managers. * * @since 1.6.0 * @access public * @static */ public static function run() { self::register_default_settings_managers(); } } core/settings/editor-preferences/model.php000064400000006074152377341010014744 0ustar00 esc_html__( 'User Preferences', 'elementor' ), ]; } /** * @since 3.1.0 * @access protected */ protected function register_controls() { $this->start_controls_section( 'preferences', [ 'tab' => Controls_Manager::TAB_SETTINGS, 'label' => esc_html__( 'Preferences', 'elementor' ), ] ); $this->add_control( 'ui_theme', [ 'label' => esc_html__( 'UI Theme', 'elementor' ), 'type' => Controls_Manager::SELECT, 'description' => esc_html__( 'Set light or dark mode, or use Auto Detect to sync it with your OS setting.', 'elementor' ), 'default' => 'auto', 'options' => [ 'auto' => esc_html__( 'Auto Detect', 'elementor' ), 'light' => esc_html__( 'Light', 'elementor' ), 'dark' => esc_html__( 'Dark', 'elementor' ), ], ] ); $this->add_control( 'panel_width', [ 'label' => esc_html__( 'Panel Width', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'range' => [ 'px' => [ 'min' => 200, 'max' => 680, ], ], 'default' => [ 'size' => 300, ], ] ); $this->add_control( 'edit_buttons', [ 'label' => esc_html__( 'Editing Handles', 'elementor' ), 'type' => Controls_Manager::SWITCHER, 'description' => esc_html__( 'Show editing handles when hovering over the element edit button.', 'elementor' ), ] ); $this->add_control( 'lightbox_in_editor', [ 'label' => esc_html__( 'Enable Lightbox In Editor', 'elementor' ), 'type' => Controls_Manager::SWITCHER, 'default' => 'yes', ] ); $this->add_control( 'responsive_heading', [ 'label' => __( 'Responsive Preview', 'elementor' ), 'type' => Controls_Manager::HEADING, 'separator' => 'before', ] ); $this->add_control( 'show_hidden_elements', [ 'label' => __( 'Hidden Elements', 'elementor' ), 'type' => Controls_Manager::SWITCHER, 'label_on' => 'Show', 'label_off' => 'Hide', 'default' => 'yes', ] ); $this->add_control( 'default_device_view', [ 'label' => esc_html__( 'Default Device View ', 'elementor' ), 'type' => Controls_Manager::SELECT, 'default' => 'default', 'options' => [ 'default' => esc_html__( 'Default', 'elementor' ), 'mobile' => esc_html__( 'Mobile', 'elementor' ), 'tablet' => esc_html__( 'Tablet', 'elementor' ), 'desktop' => esc_html__( 'Desktop', 'elementor' ), ], ] ); $this->end_controls_section(); } } core/settings/editor-preferences/manager.php000064400000002662152377341010015255 0ustar00get_model(); } /** * Get manager name. * * Retrieve settings manager name. * * @since 2.8.0 * @access public */ public function get_name() { return 'editorPreferences'; } /** * Get saved settings. * * Retrieve the saved settings from the database. * * @since 2.8.0 * @access protected * * @param int $id. * @return array * */ protected function get_saved_settings( $id ) { $settings = get_user_meta( get_current_user_id(), self::META_KEY, true ); if ( ! $settings ) { $settings = []; } return $settings; } /** * Save settings to DB. * * Save settings to the database. * * @param array $settings Settings. * @param int $id Post ID. * @since 2.8.0 * @access protected * */ protected function save_settings_to_db( array $settings, $id ) { update_user_meta( get_current_user_id(), self::META_KEY, $settings ); } } core/settings/general/model.php000064400000001677152377341010012600 0ustar00kits_manager->get_active_kit_for_frontend() instead. * it changed to support call like this: Manager::get_settings_managers( 'general' )->get_model()->get_settings( 'elementor_default_generic_fonts' ) * @deprecated since 3.0.0 */ class Model { public function get_name() { return 'general-deprecated'; } public function get_panel_page_settings() { return []; } public function get_tabs_controls() { return []; } public function get_frontend_settings() { return []; } public function get_controls() { return []; } public function get_settings( $setting = null ) { if ( $setting ) { $setting = str_replace( 'elementor_', '', $setting ); } return Plugin::$instance->kits_manager->get_current_settings( $setting ); } } core/settings/general/manager.php000064400000004512152377341010013101 0ustar00kits_manager->get_active_kit_for_frontend() instead. * it changed to support call like this: Manager::get_settings_managers( 'general' )->get_model()->get_settings( 'elementor_default_generic_fonts' ) * @deprecated since 3.0.0 */ class Manager extends CSS_Manager { /** * Meta key for the general settings. */ const META_KEY = '_elementor_general_settings'; /** * General settings manager constructor. * * Initializing Elementor general settings manager. * * @since 1.6.0 * @access public */ public function __construct() { parent::__construct(); _deprecated_file( __FILE__, '3.0.0', 'Plugin::$instance->kits_manager->get_active_kit_for_frontend()' ); $name = $this->get_css_file_name(); remove_action( "elementor/css-file/{$name}/parse", [ $this, 'add_settings_css_rules' ] ); } /** * Get manager name. * * Retrieve general settings manager name. * * @since 1.6.0 * @access public * * @return string Manager name. */ public function get_name() { return 'general'; } /** * Get model for config. * * Retrieve the model for settings configuration. * * @since 1.6.0 * @access public * * @return BaseModel The model object. */ public function get_model_for_config() { return $this->get_model(); } /** * @deprecated */ protected function get_saved_settings( $id ) { return []; } /** * Get CSS file name. * * Retrieve CSS file name for the general settings manager. * * @since 1.6.0 * @access protected * @return string * * @return string CSS file name. */ protected function get_css_file_name() { return 'global'; } /** * @deprecated */ protected function save_settings_to_db( array $settings, $id ) { throw new \Exception( __CLASS__ . ' is deprecated. Use Plugin::$instance->kits_manager->get_active_kit_for_frontend()' ); } /** * @deprecated */ protected function get_model_for_css_file( Base $css_file ) { return false; } /** * @deprecated */ protected function get_css_file_for_update( $id ) { return false; } } packages/elementor-ui/styles/index.js000064400000001435152377341010013725 0ustar00import themeColorsMap from './_maps/colors/theme-colors'; import tintsMap from './_maps/colors/tints'; import darkTintsMap from './_maps/colors/dark-tints'; import spacingMap from './_maps/spacing/spacing'; import headingMap from './_maps/typography/heading'; import textMap from './_maps/typography/text'; import lineHeightMap from './_maps/typography/line-height'; import sizeMap from './_maps/typography/size'; import fontWeightMap from './_maps/font/font-weight'; export const themeColors = themeColorsMap; export const tints = tintsMap; export const darkTints = darkTintsMap; export const spacing = spacingMap; export const heading = headingMap; export const text = textMap; export const lineHeight = lineHeightMap; export const size = sizeMap; export const fontWeight = fontWeightMap; packages/elementor-ui/styles/_data/spacing/spacing.json000064400000000301152377341010017262 0ustar00{ "base": "0.5rem", "0": "0", "5": "0.625rem", "8": "1rem", "10": "1.25rem", "12": "1.5rem", "16": "2rem", "20": "2.5rem", "24": "3rem", "30": "3.75rem", "44": "5.5rem" } packages/elementor-ui/styles/_data/font/font-weight.json000064400000000103152377341010017413 0ustar00{ "normal": 400, "medium": 500, "bold": 700, "base": 400 } packages/elementor-ui/styles/_data/typography/typography.json000064400000002070152377341010020633 0ustar00{ "font-size-base": "1rem", "font-size-10": "0.625rem", "font-size-11": "0.6875rem", "font-size-12": "0.75rem", "font-size-13": "0.8125rem", "font-size-14": "0.875rem", "font-size-15": "0.9375rem", "font-size-18": "1.125rem", "font-size-20": "1.25rem", "font-size-26": "1.625rem", "font-size-30": "1.85rem", "line-height-2": 2, "line-height-flat": 1, "line-height-base": 1.5, "line-height-sm": 1.2, "line-height-lg": 1.8, "display-font-size": "1.85rem", "h-1-font-size": "1.625rem", "h-2-font-size": "1.25rem", "h-3-font-size": "1rem", "h-4-font-size": "0.9375rem", "h-5-font-size": "0.875rem", "h-6-font-size": "0.875rem", "text-xl-font-size": "1rem", "text-lg-font-size": "0.9375rem", "text-md-font-size": "0.875rem", "text-sm-font-size": "0.8125rem", "text-xs-font-size": "0.75rem", "text-xxs-font-size": "0.6875rem", "font-size-micro": "0.625rem", "body-font-size": "0.875rem", "font-size-caption": "0.75rem", "small-font-size": "80%", "paragraph-margin-bottom": "", "headings-margin-bottom": "" } packages/elementor-ui/styles/_data/colors/palette.json000064400000001362152377341010017161 0ustar00{ "white": "#fff", "black": "#000", "cyan-ionized-air-glow": "#58d0f5", "red-rose-garnet": "#93003F", "red-carnelian": "#b01b1b", "red-tomato-frog": "#F84343", "yellow-hot-sun": "#fcb92c", "green-spandex": "#39b54a", "gray-anthracite": "#26292C", "gray-metalise": "#34383c", "gray-napoleon": "#404349", "gray-lamp-post": "#495157", "gray-abbey": "#4c4f56", "gray-blue-planet": "#556068", "gray-stone-hearth": "#64666a", "gray-sheffield": "#6d7882", "gray-silver-filigree": "#7d7e82", "gray-special-delivery": "#a4afb7", "gray-brainstem": "#b4b5b7", "gray-stone-golem": "#c2cbd2", "gray-hidden-creek": "#d5dadf", "gray-yin-bai-silver": "#e0e1e3", "gray-anti-flash": "#f1f3f5", "gray-emptiness": "#fcfcfc" } packages/elementor-ui/styles/text.js000064400000001507152377341010013602 0ustar00import { tints, darkTints, text, lineHeight, fontWeight } from 'e-styles'; export default { base: { shared: ` color: var(--e-styles-text-color); font-size: var(--e-styles-text-font-size, ${ text.base }); font-weight: ${ fontWeight.normal }; line-height: var(--e-styles-text-line-height, ${ lineHeight.base }); `, variant: { xxs: ` --e-styles-text-font-size: ${ text.xxs }; --e-styles-text-line-height: ${ lineHeight.sm }; `, xs: `--e-styles-text-font-size: ${ text.xs };`, sm: `--e-styles-text-font-size: ${ text.sm };`, md: `--e-styles-text-font-size: ${ text.md };`, lg: `--e-styles-text-font-size: ${ text.lg };`, xl: `--e-styles-text-font-size: ${ text.xl };`, }, }, light: `--e-styles-text-color: ${ tints[ '800' ] };`, dark: `--e-styles-text-color: ${ darkTints[ '200' ] };`, }; packages/elementor-ui/styles/_maps/spacing/spacing.js000064400000000121152377341010016754 0ustar00import spacing from '../../_data/spacing/spacing.json'; export default spacing; packages/elementor-ui/styles/_maps/font/font-weight.js000064400000000130152377341010017105 0ustar00import fontWeight from '../../_data/font/font-weight.json'; export default fontWeight; packages/elementor-ui/styles/_maps/typography/size.js000064400000000735152377341010017077 0ustar00import type from '../../_data/typography/typography.json'; export default { base: type[ 'font-size-base' ], 10: type[ 'font-size-10' ], 11: type[ 'font-size-11' ], 12: type[ 'font-size-12' ], 13: type[ 'font-size-13' ], 14: type[ 'font-size-14' ], 15: type[ 'font-size-15' ], 18: type[ 'font-size-18' ], 20: type[ 'font-size-20' ], 26: type[ 'font-size-26' ], 30: type[ 'font-size-30' ], caption: type[ 'font-size-caption' ], micro: type[ 'font-size-micro' ], }; packages/elementor-ui/styles/_maps/typography/line-height.js000064400000000361152377341010020315 0ustar00import type from '../../_data/typography/typography.json'; export default { 2: type[ 'line-height-2' ], flat: type[ 'line-height-flat' ], base: type[ 'line-height-base' ], sm: type[ 'line-height-sm' ], lg: type[ 'line-height-lg' ], }; packages/elementor-ui/styles/_maps/typography/text.js000064400000000440152377341010017102 0ustar00import type from '../../_data/typography/typography.json'; export default { base: type[ 'font-size-14' ], xxs: type[ 'font-size-11' ], xs: type[ 'font-size-12' ], sm: type[ 'font-size-13' ], md: type[ 'font-size-14' ], lg: type[ 'font-size-15' ], xl: type[ 'font-size-base' ], }; packages/elementor-ui/styles/_maps/typography/heading.js000064400000000640152377341010017517 0ustar00import type from '../../_data/typography/typography.json'; export default { display1: type[ 'display-font-size' ], display2: type[ 'display-font-size' ], display3: type[ 'display-font-size' ], display4: type[ 'display-font-size' ], h1: type[ 'font-size-26' ], h2: type[ 'font-size-20' ], h3: type[ 'font-size-base' ], h4: type[ 'font-size-15' ], h5: type[ 'font-size-14' ], h6: type[ 'font-size-14' ], }; packages/elementor-ui/styles/_maps/colors/tints.js000064400000000563152377341010016360 0ustar00import palette from '../../_data/colors/palette.json'; export default { 800: palette[ 'gray-lamp-post' ], 700: palette[ 'gray-blue-planet' ], 600: palette[ 'gray-sheffield' ], 500: palette[ 'gray-special-delivery' ], 400: palette[ 'gray-stone-golem' ], 300: palette[ 'gray-hidden-creek' ], 200: palette[ 'gray-anti-flash' ], 100: palette[ 'gray-emptiness' ], }; packages/elementor-ui/styles/_maps/colors/theme-colors.js000064400000000666152377341010017624 0ustar00import palette from '../../_data/colors/palette.json'; export default { textMuted: palette[ 'gray-hidden-creek' ], disabled: palette[ 'gray-stone-golem' ], light: palette.white, dark: palette.black, info: palette[ 'cyan-ionized-air-glow' ], cta: palette[ 'red-rose-garnet' ], danger: palette[ 'red-carnelian' ], success: palette[ 'green-spandex' ], primary: palette[ 'green-spandex' ], warning: palette[ 'yellow-hot-sun' ], }; packages/elementor-ui/styles/_maps/colors/dark-tints.js000064400000000555152377341010017300 0ustar00import palette from '../../_data/colors/palette.json'; export default { 800: palette[ 'gray-anthracite' ], 700: palette[ 'gray-metalise' ], 600: palette[ 'gray-napoleon' ], 500: palette[ 'gray-abbey' ], 400: palette[ 'gray-stone-hearth' ], 300: palette[ 'gray-silver-filigree' ], 200: palette[ 'gray-brainstem' ], 100: palette[ 'gray-yin-bai-silver' ], }; packages/elementor-ui/styles/heading.js000064400000004601152377341010014213 0ustar00import { tints, darkTints, heading, lineHeight, fontWeight, spacing } from 'e-styles'; export default { base: { shared: ` color: var(--e-styles-heading-color, ${ tints[ '800' ] }); font-size: var(--e-styles-heading-font-size); margin-bottom: var(--e-styles-heading-margin-bottom); `, variant: { h1: ` --e-styles-heading-font-size: ${ heading.h1 }; --e-styles-heading-margin-bottom: 2.5 * ${ spacing.base }; font-weight: ${ fontWeight.medium }; line-height: ${ lineHeight.flat }; `, h2: ` --e-styles-heading-font-size: ${ heading.h2 }; --e-styles-heading-margin-bottom: 2.5 * ${ spacing.base }; font-weight: ${ fontWeight.medium }; line-height: ${ lineHeight.sm }; margin-top: 0; `, h3: ` --e-styles-heading-font-size: ${ heading.h3 }; --e-styles-heading-margin-bottom: ${ spacing.base }; font-weight: ${ fontWeight.medium }; line-height: ${ lineHeight.sm }; margin-top: 0; `, h4: ` --e-styles-heading-font-size: ${ heading.h4 }; --e-styles-heading-margin-bottom: ${ spacing.base }; margin-top: 0; `, h5: ` --e-styles-heading-font-size: ${ heading.h5 }; --e-styles-heading-margin-bottom: ${ spacing.base }; margin-top: 0; `, h6: ` --e-styles-heading-font-size: ${ heading.h6 }; --e-styles-heading-margin-bottom: ${ spacing.base }; font-weight: ${ fontWeight.bold }; margin-top: 0; `, 'display-1': ` --e-styles-heading-font-size: ${ heading.display1 }; --e-styles-heading-margin-bottom: ${ spacing.base }; margin-top: ${ spacing.base }; `, 'display-2': ` --e-styles-heading-font-size: ${ heading.display2 }; --e-styles-heading-margin-bottom: ${ spacing.base }; margin-top: ${ spacing.base }; `, 'display-3': ` --e-styles-heading-font-size: ${ heading.display3 }; --e-styles-heading-margin-bottom: 2.5 * ${ spacing.base }; margin-top: 0; `, 'display-4': ` --e-styles-heading-font-size: ${ heading.display4 }; --e-styles-heading-margin-bottom: ${ spacing.base }; margin-top: ${ spacing.base }; `, }, size: `--size-value: default;`, }, light: { variant: { h1: `--e-styles-heading-color: ${ tints[ '600' ] };`, h2: `--e-styles-heading-color: ${ tints[ '600' ] };`, 'display-3': `--e-styles-heading-color: ${ tints[ '600' ] };`, }, }, dark: `--e-styles-heading-color: ${ darkTints[ '100' ] };`, }; packages/elementor-ui/components/index.js000064400000000140152377341010014557 0ustar00export { default as Heading } from './ui/heading'; export { default as Text } from './ui/text'; packages/elementor-ui/components/utils.js000064400000004306152377341010014620 0ustar00/** * @param {Object|string} styles { base: { shared: '', variant: { shared: '', h1: '', h2: '' } }, dark: { shared: '', variant: { shared: '', h1: '', h2: '' } } } * @param {Object} props { variant: 'h1', size: 'xl' } * @param {string} type shared/unique (in case that only the shared/unique styles are needed) * @return {string} - style */ export const getStyle = ( styles, props, type ) => { if ( ! styles ) { return ''; } if ( 'string' === typeof styles ) { return styles; } const config = props?.theme?.config || { variants: {} }, style = { shared: '', unique: '', }; // Creating an array that holds only the active theme variants values. const themeVariants = Object.keys( config.variants ).filter( ( key ) => config.variants[ key ] ), addStyle = ( data, keys = [] ) => { if ( 'string' === typeof data && 'unique' !== type ) { style.shared += data; return; } Object.values( keys ).forEach( ( key ) => { const styleObjKey = 'shared' !== key ? 'unique' : 'shared'; if ( ! type || styleObjKey === type ) { style[ styleObjKey ] += data[ key ] || ''; } } ); }; // Adding the 'base' key, to be included as the first variant. themeVariants.unshift( 'base' ); themeVariants.forEach( ( key ) => { const themeVariant = styles[ key ]; // If key exist in the styles obj (dark, light etc.) if ( themeVariant ) { addStyle( themeVariant, [ 'shared' ] ); const styledProps = getStyledProps( props ); // Getting the styled props css from the styles object. Object.entries( styledProps ).forEach( ( [ propName, propValue ] ) => { const styleData = themeVariant[ propName ]; if ( styleData && propValue ) { addStyle( styleData, [ 'shared', propValue ] ); } } ); } } ); // Both properties are returned but their values are depended on the third argument of this function, if empty: both will be calculated. return style.shared + style.unique; }; const getStyledProps = ( props ) => { const styledProps = { ...props }; // Removing props names that are not related to the styles objects. [ 'className', 'children', 'tag', 'as', 'theme' ].forEach( ( prop ) => delete styledProps[ prop ] ); return styledProps; }; packages/elementor-ui/components/ui/text.js000064400000001104152377341010015052 0ustar00import styled from 'styled-components'; import { getStyle } from 'e-utils'; import styles from 'e-styles/text'; const SharedText = styled.p.attrs( ( props ) => ( { as: props.tag } ) )`${ ( props ) => getStyle( styles, props, 'shared' ) }`; const Text = styled( SharedText )`${ ( props ) => getStyle( styles, props, 'unique' ) }`; Text.propTypes = { className: PropTypes.string, children: PropTypes.any, variant: PropTypes.oneOf( [ 'xxs', 'xs', 'sm', 'md', 'lg', 'xl' ] ), tag: PropTypes.string, }; Text.defaultProps = { className: '', tag: 'p', }; export default Text; packages/elementor-ui/components/ui/heading.js000064400000001302152377341010015465 0ustar00import styled from 'styled-components'; import { getStyle } from 'e-utils'; import styles from 'e-styles/heading'; const SharedHeading = styled.h1.attrs( ( props ) => ( { as: props.tag } ) )`${ ( props ) => getStyle( styles, props, 'shared' ) }`; const Heading = styled( SharedHeading )`${ ( props ) => getStyle( styles, props, 'unique' ) }`; Heading.propTypes = { className: PropTypes.string, children: PropTypes.any, tag: PropTypes.oneOf( [ 'h1', 'h2', 'h3', 'h4', 'h5', 'h6' ] ), variant: PropTypes.oneOf( [ 'display-1', 'display-2', 'display-3', 'display-4', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6' ] ).isRequired, }; Heading.defaultProps = { className: '', tag: 'h1', }; export default Heading; data/base/endpoint.php000064400000021632152377341010010727 0ustar00>register()`. * * @param \Elementor\Data\Base\Controller $controller * * @throws \Exception */ public function __construct( $controller ) { if ( ! ( $controller instanceof Controller ) ) { throw new \Exception( 'Invalid controller' ); } $this->controller = $controller; $this->register(); } /** * Get endpoint name. * * @return string */ abstract public function get_name(); /** * Get base route. * * Removing 'index' from endpoint. * * @return string */ public function get_base_route() { $endpoint_name = $this->get_name(); // TODO: Allow this only for internal routes. // TODO: Make difference between internal and external endpoints. if ( 'index' === $endpoint_name ) { $endpoint_name = ''; } return '/' . $this->controller->get_rest_base() . '/' . $endpoint_name; } /** * Register the endpoint. * * By default: register get items route. * * @throws \Exception */ protected function register() { $this->register_items_route(); } /** * Register sub endpoint. * * @param string $route * @param string $endpoint_class * * @return \Elementor\Data\Base\SubEndpoint * @throws \Exception */ protected function register_sub_endpoint( $route, $endpoint_class ) { $endpoint_instance = new $endpoint_class( $route, $this ); if ( ! ( $endpoint_instance instanceof SubEndpoint ) ) { throw new \Exception( 'Invalid endpoint instance.' ); } $endpoint_route = $route . '/' . $endpoint_instance->get_name(); $this->sub_endpoints[ $endpoint_route ] = $endpoint_instance; $component_name = $endpoint_instance->controller->get_rest_base(); $parent_instance = $endpoint_instance->get_parent(); $parent_name = $endpoint_instance->get_name(); $parent_format_suffix = $parent_instance::get_format(); $current_format_suffix = $endpoint_instance::get_format(); $command = $component_name . '/' . $parent_name; $format = $component_name . '/' . $parent_format_suffix . '/' . $parent_name . '/' . $current_format_suffix; Manager::instance()->register_endpoint_format( $command, $format ); return $endpoint_instance; } /** * Base callback. * * All reset requests from the client should pass this function. * * @param string $methods * @param \WP_REST_Request $request * @param bool $is_multi * * @return mixed|\WP_Error|\WP_HTTP_Response|\WP_REST_Response * @throws \Exception */ public function base_callback( $methods, $request, $is_multi = false ) { // TODO: Find better solution. $json_params = $request->get_json_params(); if ( $json_params ) { $request->set_body_params( $json_params ); } // TODO: Handle permission callback. switch ( $methods ) { case WP_REST_Server::READABLE: $result = $is_multi ? $this->get_items( $request ) : $this->get_item( $request->get_param( 'id' ), $request ); break; case WP_REST_Server::CREATABLE: $result = $is_multi ? $this->create_items( $request ) : $this->create_item( $request->get_param( 'id' ), $request ); break; case WP_REST_Server::EDITABLE: $result = $is_multi ? $this->update_items( $request ) : $this->update_item( $request->get_param( 'id' ), $request ); break; case WP_REST_Server::DELETABLE: $result = $is_multi ? $this->delete_items( $request ) : $this->delete_item( $request->get_param( 'id' ), $request ); break; default: throw new \Exception( 'Invalid method.' ); } return rest_ensure_response( $result ); } /** * Retrieves a collection of items. * * @param \WP_REST_Request $request Full data about the request. * * @return \WP_Error|\WP_REST_Response Response object on success, or WP_Error object on failure. */ public function get_items( $request ) { return $this->controller->get_items( $request ); } /** * Retrieves one item from the collection. * * @param string $id * @param \WP_REST_Request $request Full data about the request. * * @return \WP_Error|\WP_REST_Response Response object on success, or WP_Error object on failure. */ public function get_item( $id, $request ) { return $this->controller->get_item( $request ); } /** * Get permission callback. * * By default get permission callback from the controller. * * @param \WP_REST_Request $request Full data about the request. * * @return boolean */ public function get_permission_callback( $request ) { return $this->controller->get_permission_callback( $request ); } /** * Creates one item. * * @param string $id id of request item. * @param \WP_REST_Request $request Full data about the request. * * @return \WP_Error|\WP_REST_Response Response object on success, or WP_Error object on failure. */ public function create_item( $id, $request ) { return $this->controller->create_item( $request ); } /** * Creates multiple items. * * @param \WP_REST_Request $request Full data about the request. * * @return \WP_Error|\WP_REST_Response Response object on success, or WP_Error object on failure. */ public function create_items( $request ) { return $this->controller->create_items( $request ); } /** * Updates one item. * * @param string $id id of request item. * @param \WP_REST_Request $request Full data about the request. * * @return \WP_Error|\WP_REST_Response Response object on success, or WP_Error object on failure. */ public function update_item( $id, $request ) { return $this->controller->update_item( $request ); } /** * Updates multiple items. * * @param \WP_REST_Request $request Full data about the request. * * @return \WP_Error|\WP_REST_Response Response object on success, or WP_Error object on failure. */ public function update_items( $request ) { return $this->controller->update_items( $request ); } /** * Delete one item. * * @param string $id id of request item. * @param \WP_REST_Request $request Full data about the request. * * @return \WP_Error|\WP_REST_Response Response object on success, or WP_Error object on failure. */ public function delete_item( $id, $request ) { return $this->controller->delete_item( $request ); } /** * Delete multiple items. * * @param \WP_REST_Request $request Full data about the request. * * @return \WP_Error|\WP_REST_Response Response object on success, or WP_Error object on failure. */ public function delete_items( $request ) { return $this->controller->delete_items( $request ); } /** * Register item route. * * @param array $args * @param string $route * @param string $methods * * @throws \Exception */ public function register_item_route( $methods = WP_REST_Server::READABLE, $args = [], $route = '/' ) { $args = array_merge( [ 'id' => [ 'description' => 'Unique identifier for the object.', 'type' => 'string', ], ], $args ); if ( isset( $args['id'] ) && $args['id'] ) { $route .= '(?P[\w]+)/'; } $this->register_route( $route, $methods, function ( $request ) use ( $methods ) { return $this->base_callback( $methods, $request ); }, $args ); } /** * Register items route. * * @param string $methods * * @throws \Exception */ public function register_items_route( $methods = WP_REST_Server::READABLE ) { $this->register_route( '', $methods, function ( $request ) use ( $methods ) { return $this->base_callback( $methods, $request, true ); } ); } /** * Register route. * * @param string $route * @param string $methods * @param null $callback * @param array $args * * @return bool * @throws \Exception */ public function register_route( $route = '', $methods = WP_REST_Server::READABLE, $callback = null, $args = [] ) { if ( ! in_array( $methods, self::AVAILABLE_METHODS, true ) ) { throw new \Exception( 'Invalid method.' ); } $route = $this->get_base_route() . $route; return register_rest_route( $this->controller->get_namespace(), $route, [ [ 'args' => $args, 'methods' => $methods, 'callback' => $callback, 'permission_callback' => function ( $request ) { return $this->get_permission_callback( $request ); }, ], ] ); } } data/base/processor.php000064400000000674152377341010011131 0ustar00controller = $controller; } /** * Get processor command. * * @return string */ abstract public function get_command(); } data/base/processor/after.php000064400000000724152377341010012226 0ustar00deprecated(); $this->namespace = Manager::ROOT_NAMESPACE . '/v' . Manager::VERSION; $this->rest_base = Manager::REST_BASE . $this->get_name(); add_action( 'rest_api_init', function () { $this->register(); // Because 'register' is protected. } ); /** * Since all actions were removed for custom internal REST server. * Re-add the actions. */ add_action( 'elementor_rest_api_before_init', function () { add_action( 'rest_api_init', function() { $this->register(); } ); } ); } /** * Get controller name. * * @return string */ abstract public function get_name(); /** * Get controller namespace. * * @return string */ public function get_namespace() { return $this->namespace; } /** * Get controller reset base. * * @return string */ public function get_rest_base() { return $this->rest_base; } /** * Get controller route. * * @return string */ public function get_controller_route() { return $this->get_namespace() . '/' . $this->get_rest_base(); } /** * Retrieves the index for a controller. * * @return \WP_REST_Response|\WP_Error */ public function get_controller_index() { $server = rest_get_server(); $routes = $server->get_routes(); $endpoints = array_intersect_key( $server->get_routes(), $routes ); $controller_route = $this->get_controller_route(); array_walk( $endpoints, function ( &$item, $endpoint ) use ( &$endpoints, $controller_route ) { if ( ! strstr( $endpoint, $controller_route ) ) { unset( $endpoints[ $endpoint ] ); } } ); $data = [ 'namespace' => $this->get_namespace(), 'controller' => $controller_route, 'routes' => $server->get_data_for_routes( $endpoints ), ]; $response = rest_ensure_response( $data ); // Link to the root index. $response->add_link( 'up', rest_url( '/' ) ); return $response; } /** * Get processors. * * @param string $command * * @return \Elementor\Data\Base\Processor[] */ public function get_processors( $command ) { $result = []; if ( isset( $this->processors[ $command ] ) ) { $result = $this->processors[ $command ]; } return $result; } public function get_items( $request ) { return $this->get_controller_index(); } /** * Creates multiple items. * * @param \WP_REST_Request $request Full data about the request. * * @return \WP_Error|\WP_REST_Response Response object on success, or WP_Error object on failure. */ public function create_items( $request ) { return new \WP_Error( 'invalid-method', sprintf( "Method '%s' not implemented. Must be overridden in subclass.", __METHOD__ ), [ 'status' => 405 ] ); } /** * Updates multiple items. * * @param \WP_REST_Request $request Full data about the request. * * @return \WP_Error|\WP_REST_Response Response object on success, or WP_Error object on failure. */ public function update_items( $request ) { return new \WP_Error( 'invalid-method', sprintf( "Method '%s' not implemented. Must be overridden in subclass.", __METHOD__ ), [ 'status' => 405 ] ); } /** * Delete multiple items. * * @param \WP_REST_Request $request Full data about the request. * * @return \WP_Error|\WP_REST_Response Response object on success, or WP_Error object on failure. */ public function delete_items( $request ) { return new \WP_Error( 'invalid-method', sprintf( "Method '%s' not implemented. Must be overridden in subclass.", __METHOD__ ), [ 'status' => 405 ] ); } /** * Register endpoints. */ abstract public function register_endpoints(); /** * Register processors. */ public function register_processors() { } /** * Register internal endpoints. */ protected function register_internal_endpoints() { register_rest_route( $this->get_namespace(), '/' . $this->get_rest_base(), [ [ 'methods' => WP_REST_Server::READABLE, 'callback' => array( $this, 'get_items' ), 'args' => [], 'permission_callback' => function ( $request ) { return $this->get_permission_callback( $request ); }, ], ] ); } /** * Register endpoint. * * @param string $endpoint_class * * @return \Elementor\Data\Base\Endpoint */ protected function register_endpoint( $endpoint_class ) { $endpoint_instance = new $endpoint_class( $this ); // TODO: Validate instance like in register_sub_endpoint(). $endpoint_route = $this->get_name() . '/' . $endpoint_instance->get_name(); $this->endpoints[ $endpoint_route ] = $endpoint_instance; $command = $endpoint_route; $format = $endpoint_instance::get_format(); if ( $command ) { $format = $command . '/' . $format; } else { $format = $format . $command; } // `$e.data.registerFormat()`. Manager::instance()->register_endpoint_format( $command, $format ); return $endpoint_instance; } /** * Register a processor. * * That will be later attached to the endpoint class. * * @param string $processor_class * * @return \Elementor\Data\Base\Processor $processor_instance */ protected function register_processor( $processor_class ) { $processor_instance = new $processor_class( $this ); // TODO: Validate processor instance. $command = $processor_instance->get_command(); if ( ! isset( $this->processors[ $command ] ) ) { $this->processors[ $command ] = []; } $this->processors[ $command ] [] = $processor_instance; return $processor_instance; } /** * Register. * * Endpoints & processors. */ protected function register() { $this->register_internal_endpoints(); $this->register_endpoints(); // Aka hooks. $this->register_processors(); } /** * Retrieves a recursive collection of all endpoint(s), items. * * Get items recursive, will run overall endpoints of the current controller. * For each endpoint it will run `$endpoint->getItems( $request ) // the $request passed in get_items_recursive`. * Will skip $skip_endpoints endpoint(s). * * Example, scenario: * Controller 'test-controller'. * Controller endpoints: 'endpoint1', 'endpoint2'. * Endpoint2 get_items method: `get_items() { return 'test' }`. * Call `Controller.get_items_recursive( ['endpoint1'] )`, result: [ 'endpoint2' => 'test' ]; * * @param array $skip_endpoints * * @return array */ public function get_items_recursive( $skip_endpoints = [] ) { $response = []; foreach ( $this->endpoints as $endpoint ) { // Skip self. if ( in_array( $endpoint, $skip_endpoints, true ) ) { continue; } $response[ $endpoint->get_name() ] = $endpoint->get_items( null ); } return $response; } /** * Get permission callback. * * Default controller permission callback. * By default endpoint will inherit the permission callback from the controller. * By default permission is `current_user_can( 'administrator' );`. * * @param \WP_REST_Request $request * * @return bool */ public function get_permission_callback( $request ) { // The function is public since endpoint need to access it. switch ( $request->get_method() ) { case 'GET': case 'POST': case 'UPDATE': case 'PUT': case 'DELETE': case 'PATCH': return current_user_can( 'administrator' ); } return false; } private static $notify_deprecated = true; private function deprecated() { add_action( 'elementor/init', function () { if ( ! self::$notify_deprecated ) { return; } Plugin::$instance->modules_manager->get_modules( 'dev-tools' )->deprecation->deprecated_function( 'Elementor\Data\Manager', '3.5.0', 'Elementor\Data\V2\Manager' ); self::$notify_deprecated = false; } ); } } data/base/sub-endpoint.php000064400000001361152377341010011513 0ustar00parent_endpoint = $parent_endpoint; $this->parent_route = $parent_route; parent::__construct( $this->parent_endpoint->controller ); } /** * Get parent route. * * @return \Elementor\Data\Base\Endpoint */ public function get_parent() { return $this->parent_endpoint; } public function get_base_route() { $controller_name = $this->controller->get_name(); return $controller_name . '/' . $this->parent_route . $this->get_name(); } } data/manager.php000064400000022274152377341010007612 0ustar00controllers; } private function get_cache( $key ) { return self::get_items( $this->cache, $key ); } private function set_cache( $key, $value ) { $this->cache[ $key ] = $value; } /** * Register controller. * * @param string $controller_class_name * * @return \Elementor\Data\Base\Controller */ public function register_controller( $controller_class_name ) { $controller_instance = new $controller_class_name(); return $this->register_controller_instance( $controller_instance ); } /** * Register controller instance. * * @param \Elementor\Data\Base\Controller $controller_instance * * @return \Elementor\Data\Base\Controller */ public function register_controller_instance( $controller_instance ) { // TODO: Validate instance. $this->controllers[ $controller_instance->get_name() ] = $controller_instance; return $controller_instance; } /** * Register endpoint format. * * @param string $command * @param string $format * */ public function register_endpoint_format( $command, $format ) { $this->command_formats[ $command ] = rtrim( $format, '/' ); } public function register_rest_error_handler() { if ( ! $this->is_internal() ) { $logger_manager = \Elementor\Core\Logger\Manager::instance(); $logger_manager->register_error_handler(); } } /** * Find controller instance. * * By given command name. * * @param string $command * * @return false|\Elementor\Data\Base\Controller */ public function find_controller_instance( $command ) { $command_parts = explode( '/', $command ); $assumed_command_parts = []; foreach ( $command_parts as $command_part ) { $assumed_command_parts [] = $command_part; foreach ( $this->controllers as $controller_name => $controller ) { $assumed_command = implode( '/', $assumed_command_parts ); if ( $assumed_command === $controller_name ) { return $controller; } } } return false; } /** * Command extract args. * * @param string $command * @param array $args * * @return \stdClass */ public function command_extract_args( $command, $args = [] ) { $result = new \stdClass(); $result->command = $command; $result->args = $args; if ( false !== strpos( $command, '?' ) ) { $command_parts = explode( '?', $command ); $pure_command = $command_parts[0]; $query_string = $command_parts[1]; parse_str( $query_string, $temp ); $result->command = rtrim( $pure_command, '/' ); $result->args = array_merge( $args, $temp ); } return $result; } /** * Command to endpoint. * * Format is required otherwise $command will returned. * * @param string $command * @param string $format * @param array $args * * @return string endpoint */ public function command_to_endpoint( $command, $format, $args ) { $endpoint = $command; if ( $format ) { $formatted = $format; array_walk( $args, function ( $val, $key ) use ( &$formatted ) { $formatted = str_replace( '{' . $key . '}', $val, $formatted ); } ); // Remove remaining format if not requested via `$args`. if ( strstr( $formatted, '/{' ) ) { /** * Example: * $command = 'example/documents'; * $format = 'example/documents/{document_id}/elements/{element_id}'; * $formatted = 'example/documents/1618/elements/{element_id}'; * Result: * $formatted = 'example/documents/1618/elements'; */ $formatted = substr( $formatted, 0, strpos( $formatted, '/{' ) ); } $endpoint = $formatted; } return $endpoint; } /** * Run server. * * Init WordPress reset api. * * @return \WP_REST_Server */ public function run_server() { /** * If run_server() called means, that rest api is simulated from the backend. */ $this->is_internal = true; if ( ! $this->server ) { // Remove all 'rest_api_init' actions. remove_all_actions( 'rest_api_init' ); // Call custom reset api loader. do_action( 'elementor_rest_api_before_init' ); $this->server = rest_get_server(); // Init API. } return $this->server; } /** * Kill server. * * Free server and controllers. */ public function kill_server() { global $wp_rest_server; $this->controllers = []; $this->command_formats = []; $this->server = false; $this->is_internal = false; $this->cache = []; $wp_rest_server = false; } /** * Run processor. * * @param \Elementor\Data\Base\Processor $processor * @param array $data * * @return mixed */ public function run_processor( $processor, $data ) { if ( call_user_func_array( [ $processor, 'get_conditions' ], $data ) ) { return call_user_func_array( [ $processor, 'apply' ], $data ); } return null; } /** * Run processors. * * Filter them by class. * * @param \Elementor\Data\Base\Processor[] $processors * @param string $filter_by_class * @param array $data * * @return false|array */ public function run_processors( $processors, $filter_by_class, $data ) { foreach ( $processors as $processor ) { if ( $processor instanceof $filter_by_class ) { if ( Processor\Before::class === $filter_by_class ) { $this->run_processor( $processor, $data ); } elseif ( Processor\After::class === $filter_by_class ) { $result = $this->run_processor( $processor, $data ); if ( $result ) { $data[1] = $result; } } else { // TODO: error break; } } } return isset( $data[1] ) ? $data[1] : false; } /** * Run request. * * Simulate rest API from within the backend. * Use args as query. * * @param string $endpoint * @param array $args * @param string $method * * @return \WP_REST_Response */ private function run_request( $endpoint, $args, $method ) { $this->run_server(); $endpoint = '/' . self::ROOT_NAMESPACE . '/v' . self::VERSION . '/' . $endpoint; // Run reset api. $request = new \WP_REST_Request( $method, $endpoint ); if ( 'GET' === $method ) { $request->set_query_params( $args ); } else { $request->set_body_params( $args ); } return rest_do_request( $request ); } /** * Run endpoint. * * Wrapper for `$this->run_request` return `$response->getData()` instead of `$response`. * * @param string $endpoint * @param array $args * @param string $method * * @return array */ public function run_endpoint( $endpoint, $args = [], $method = 'GET' ) { $response = $this->run_request( $endpoint, $args, $method ); return $response->get_data(); } /** * Run ( simulated reset api ). * * Do: * Init reset server. * Run before processors. * Run command as reset api endpoint from internal. * Run after processors. * * @param string $command * @param array $args * @param string $method * * @return array|false processed result */ public function run( $command, $args = [], $method = 'GET' ) { $key = crc32( $command . '-' . wp_json_encode( $args ) . '-' . $method ); $cache = $this->get_cache( $key ); if ( $cache ) { return $cache; } $this->run_server(); $controller_instance = $this->find_controller_instance( $command ); if ( ! $controller_instance ) { $this->set_cache( $key, [] ); return []; } $extracted_command = $this->command_extract_args( $command, $args ); $command = $extracted_command->command; $args = $extracted_command->args; $format = isset( $this->command_formats[ $command ] ) ? $this->command_formats[ $command ] : false; $command_processors = $controller_instance->get_processors( $command ); $endpoint = $this->command_to_endpoint( $command, $format, $args ); $this->run_processors( $command_processors, Processor\Before::class, [ $args ] ); $response = $this->run_request( $endpoint, $args, $method ); $result = $response->get_data(); if ( $response->is_error() ) { $this->set_cache( $key, [] ); return []; } $result = $this->run_processors( $command_processors, Processor\After::class, [ $args, $result ] ); $this->set_cache( $key, $result ); return $result; } public function is_internal() { return $this->is_internal; } } data/v2/base/endpoint/index.php000064400000003172152377341010012364 0ustar00controller->get_full_name()}/{id}"; } public function get_public_name() { return ''; } public function get_items( $request ) { return $this->controller->get_items( $request ); } public function get_item( $id, $request ) { return $this->controller->get_item( $request ); } public function create_items( $request ) { return $this->controller->create_items( $request ); } public function create_item( $id, $request ) { return $this->controller->create_item( $request ); } public function update_items( $request ) { return $this->controller->update_items( $request ); } public function update_item( $id, $request ) { return $this->controller->update_item( $request ); } public function delete_items( $request ) { return $this->controller->delete_items( $request ); } public function delete_item( $id, $request ) { return $this->controller->delete_item( $request ); } public function register_items_route( $methods = WP_REST_Server::READABLE, $args = [] ) { parent::register_items_route( $methods, array_merge( $this->controller->get_items_args( $methods ), $args ) ); } public function register_item_route( $methods = WP_REST_Server::READABLE, $args = [], $route = '/' ) { parent::register_item_route( $methods, array_merge( $this->controller->get_item_args( $methods ), $args ), $route ); } } data/v2/base/endpoint/index/all-children.php000064400000003570152377341010014724 0ustar00controller->get_name() . '/index'; } /* * Retrieves a result(s) of all controller endpoint(s), items. * * Run overall endpoints of the current controller. * * Example, scenario: * 'settings' - controller * 'settings/products' - endpoint * 'settings/partners' - endpoint * Result: * [ * 'products' => [ * 0 => ... * 1 => ... * ], * 'partners' => [ * 0 => ... * 1 => ... * ], * ] */ public function get_items( $request ) { $response = []; foreach ( $this->controller->get_sub_controllers() as $controller ) { $controller_route = $this->get_controller()->get_base_route() . '/' . $controller->get_name(); $result = Manager::instance()->run_request( $controller_route ); if ( ! $result->is_error() ) { $response[ $controller->get_name() ] = $result->get_data(); } } foreach ( $this->controller->endpoints as $endpoint ) { // Skip self. if ( $endpoint === $this ) { continue; } $result = Manager::instance()->run_request( $endpoint->get_base_route() ); if ( ! $result->is_error() ) { $response[ $endpoint->get_name() ] = $result->get_data(); } } return $response; } } data/v2/base/endpoint/index/sub-index-endpoint.php000064400000002740152377341010016100 0ustar00controller->get_parent()->get_name() . '/{id}/' . $this->controller->get_name() . '/{sub_id}'; } public function get_base_route() { $parent_controller = $this->controller->get_parent(); $parent_index_endpoint = $parent_controller->index_endpoint; $parent_controller_route = ''; // In case `$parent_index_endpoint` is AllChildren, it cannot support id_arg_name. if ( ! $parent_index_endpoint instanceof AllChildren ) { $parent_controller_route = "(?P<{$parent_index_endpoint->id_arg_name}>[\w]+)"; } return untrailingslashit('/' . implode( '/', array_filter( [ trim( $parent_index_endpoint->get_base_route(), '/' ), $parent_controller_route, $this->controller->get_name(), $this->get_public_name(), ] ) ) ); } } data/v2/base/endpoint.php000064400000005741152377341010011261 0ustar00controller; } /** * Get current parent. * * @return \Elementor\Data\V2\Base\Controller|\Elementor\Data\V2\Base\Endpoint */ public function get_parent() { return $this->parent; } /** * Get public name. * * @return string */ public function get_public_name() { return $this->get_name(); } /** * Get full command name ( including index ). * * @return string */ public function get_full_command() { $parent = $this->get_parent(); if ( $parent instanceof Controller ) { return $this->controller->get_full_name() . '/' . $this->get_name(); } return $this->get_name_ancestry(); } /** * Get name ancestry format, example: 'alpha/beta/delta'. * * @return string */ public function get_name_ancestry() { $ancestors = $this->get_ancestors(); $ancestors_names = []; foreach ( $ancestors as $ancestor ) { $ancestors_names [] = $ancestor->get_name(); } return implode( '/', $ancestors_names ); } /** * Register sub endpoint. * * @param \Elementor\Data\V2\Base\Endpoint $endpoint * * @return \Elementor\Data\V2\Base\Endpoint */ public function register_sub_endpoint( Endpoint $endpoint ) { $command = $endpoint->get_full_command(); $format = $endpoint->get_format(); $this->sub_endpoints[ $command ] = $endpoint; Manager::instance()->register_endpoint_format( $command, $format ); return $endpoint; } /** * Get ancestors. * * @return \Elementor\Data\V2\Base\Endpoint[] */ private function get_ancestors() { $ancestors = []; $current = $this; do { if ( $current ) { $ancestors [] = $current; } $current = $current->get_parent(); } while ( $current ); return array_reverse( $ancestors ); } /** * Endpoint constructor. * * @param \Elementor\Data\V2\Base\Controller|\Elementor\Data\V2\Base\Endpoint $parent * @param string $route */ public function __construct( $parent, $route = '/' ) { $controller = $parent; $this->parent = $parent; // In case, its behave like sub-endpoint. if ( ! ( $parent instanceof Controller ) ) { $controller = $parent->get_controller(); } parent::__construct( $controller, $route ); } } data/v2/base/processor.php000064400000001547152377341010011460 0ustar00controller = $controller; } } data/v2/base/base-route.php000064400000024422152377341010011504 0ustar00 '/' * 'abc' => '/abc/' * '/abc' => '/abc/' * 'abc/' => '/abc/' * '/abc/' => '/abc/' * * @param string $route * * @return string */ private function ensure_slashes( $route ) { if ( '/' !== $route[0] ) { $route = '/' . $route; } return trailingslashit( $route ); } /** * Get base route. * This method should always return the base route starts with '/' and ends without '/'. * * @return string */ public function get_base_route() { $name = $this->get_public_name(); $parent = $this->get_parent(); $parent_base = $parent->get_base_route(); $route = '/'; if ( ! ( $parent instanceof Controller ) ) { $route = $parent->item_route ? $parent->item_route['route'] . '/' : $this->route; } return untrailingslashit( '/' . trim( $parent_base . $route . $name, '/' ) ); } /** * Get permission callback. * * By default get permission callback from the controller. * * @param \WP_REST_Request $request Full data about the request. * * @return boolean */ public function get_permission_callback( $request ) { return $this->controller->get_permission_callback( $request ); } /** * Retrieves a collection of items. * * @param \WP_REST_Request $request Full data about the request. * * @return \WP_Error|\WP_REST_Response Response object on success, or WP_Error object on failure. */ protected function get_items( $request ) { return new \WP_Error( 'invalid-method', sprintf( "Method '%s' not implemented. Must be overridden in subclass.", __METHOD__ ), [ 'status' => 405 ] ); } /** * Retrieves one item from the collection. * * @param string $id * @param \WP_REST_Request $request Full data about the request. * * @return \WP_Error|\WP_REST_Response Response object on success, or WP_Error object on failure. */ protected function get_item( $id, $request ) { return new \WP_Error( 'invalid-method', sprintf( "Method '%s' not implemented. Must be overridden in subclass.", __METHOD__ ), [ 'status' => 405 ] ); } /** * Creates multiple items. * * @param \WP_REST_Request $request Full data about the request. * * @return \WP_Error|\WP_REST_Response Response object on success, or WP_Error object on failure. */ protected function create_items( $request ) { return new \WP_Error( 'invalid-method', sprintf( "Method '%s' not implemented. Must be overridden in subclass.", __METHOD__ ), [ 'status' => 405 ] ); } /** * Creates one item. * * @param string $id id of request item. * @param \WP_REST_Request $request Full data about the request. * * @return \WP_Error|\WP_REST_Response Response object on success, or WP_Error object on failure. */ protected function create_item( $id, $request ) { return new \WP_Error( 'invalid-method', sprintf( "Method '%s' not implemented. Must be overridden in subclass.", __METHOD__ ), [ 'status' => 405 ] ); } /** * Updates multiple items. * * @param \WP_REST_Request $request Full data about the request. * * @return \WP_Error|\WP_REST_Response Response object on success, or WP_Error object on failure. */ protected function update_items( $request ) { return new \WP_Error( 'invalid-method', sprintf( "Method '%s' not implemented. Must be overridden in subclass.", __METHOD__ ), [ 'status' => 405 ] ); } /** * Updates one item. * * @param string $id id of request item. * @param \WP_REST_Request $request Full data about the request. * * @return \WP_Error|\WP_REST_Response Response object on success, or WP_Error object on failure. */ protected function update_item( $id, $request ) { return new \WP_Error( 'invalid-method', sprintf( "Method '%s' not implemented. Must be overridden in subclass.", __METHOD__ ), [ 'status' => 405 ] ); } /** * Delete multiple items. * * @param \WP_REST_Request $request Full data about the request. * * @return \WP_Error|\WP_REST_Response Response object on success, or WP_Error object on failure. */ protected function delete_items( $request ) { return new \WP_Error( 'invalid-method', sprintf( "Method '%s' not implemented. Must be overridden in subclass.", __METHOD__ ), [ 'status' => 405 ] ); } /** * Delete one item. * * @param string $id id of request item. * @param \WP_REST_Request $request Full data about the request. * * @return \WP_Error|\WP_REST_Response Response object on success, or WP_Error object on failure. */ protected function delete_item( $id, $request ) { return new \WP_Error( 'invalid-method', sprintf( "Method '%s' not implemented. Must be overridden in subclass.", __METHOD__ ), [ 'status' => 405 ] ); } /** * Register the endpoint. * * By default: register get items route. */ protected function register() { $this->register_items_route(); } protected function register_route( $route = '', $methods = WP_REST_Server::READABLE, $args = [] ) { if ( ! in_array( $methods, self::AVAILABLE_METHODS, true ) ) { trigger_error( "Invalid method: '$methods'.", E_USER_ERROR ); // phpcs:ignore } $route = $this->get_base_route() . $route; $this->routes [] = [ 'args' => $args, 'route' => $route, ]; /** * Determine behaviour of `base_callback()` and `get_permission_callback()`: * For `base_callback()` which applying the action. * Whether it's a one item request and should call `get_item_permission_callback()` or it's mutil items request and should call `get_items_permission_callback()`. */ $is_multi = ! empty( $args['is_multi'] ); if ( $is_multi ) { unset( $args['is_multi'] ); } $callback = function ( $request ) use ( $methods, $args, $is_multi ) { return $this->base_callback( $methods, $request, $is_multi ); }; return register_rest_route( $this->controller->get_namespace(), $route, [ [ 'args' => $args, 'methods' => $methods, 'callback' => $callback, 'permission_callback' => function ( $request ) { return $this->get_permission_callback( $request ); }, ], ] ); } /** * Register items route. * * @param string $methods * @param array $args */ public function register_items_route( $methods = WP_REST_Server::READABLE, $args = [] ) { $args['is_multi'] = true; $this->register_route( '', $methods, $args ); } /** * Register item route. * * @param string $route * @param array $args * @param string $methods */ public function register_item_route( $methods = WP_REST_Server::READABLE, $args = [], $route = '/' ) { if ( ! empty( $args['id_arg_name'] ) ) { $this->id_arg_name = $args['id_arg_name']; unset( $args['id_arg_name'] ); } if ( ! empty( $args['id_arg_type_regex'] ) ) { $this->id_arg_type_regex = $args['id_arg_type_regex']; unset( $args['id_arg_type_regex'] ); } $args = array_merge( [ $this->id_arg_name => [ 'description' => 'Unique identifier for the object.', 'type' => 'string', 'required' => true, ], ], $args ); $route .= '(?P<' . $this->id_arg_name . '>' . $this->id_arg_type_regex . ')'; $this->item_route = [ 'args' => $args, 'route' => $route, ]; $this->register_route( $route, $methods, $args ); } /** * Base callback. * All reset requests from the client should pass this function. * * @param string $methods * @param \WP_REST_Request $request * @param bool $is_multi * @param array $args * * @return mixed|\WP_Error|\WP_HTTP_Response|\WP_REST_Response */ public function base_callback( $methods, $request, $is_multi = false, $args = [] ) { if ( $request ) { $json_params = $request->get_json_params(); if ( $json_params ) { $request->set_body_params( $json_params ); } } $args = wp_parse_args( $args, [ 'is_debug' => ( defined( 'WP_DEBUG' ) && WP_DEBUG ), ] ); $result = new \WP_Error( 'invalid_methods', 'route not supported.' ); $request->set_param( 'is_multi', $is_multi ); try { switch ( $methods ) { case WP_REST_Server::READABLE: $result = $is_multi ? $this->get_items( $request ) : $this->get_item( $request->get_param( 'id' ), $request ); break; case WP_REST_Server::CREATABLE: $result = $is_multi ? $this->create_items( $request ) : $this->create_item( $request->get_param( 'id' ), $request ); break; case WP_REST_Server::EDITABLE: $result = $is_multi ? $this->update_items( $request ) : $this->update_item( $request->get_param( 'id' ), $request ); break; case WP_REST_Server::DELETABLE: $result = $is_multi ? $this->delete_items( $request ) : $this->delete_item( $request->get_param( 'id' ), $request ); break; } } catch ( Data_Exception $e ) { $result = $e->to_wp_error(); } catch ( \Exception $e ) { if ( empty( $args['is_debug'] ) ) { $result = ( new Error_500() )->to_wp_error(); } else { // For frontend. $exception_mapping = [ 'trace' => $e->getTrace(), 'file' => $e->getFile(), 'line' => $e->getLine(), ]; $e->debug = $exception_mapping; $result = ( new Data_Exception( $e->getMessage(), $e->getCode(), $e ) )->to_wp_error(); } } return rest_ensure_response( $result ); } /** * Constructor. * * run `$this->register()`. * * @param \Elementor\Data\V2\Base\Controller $controller * @param string $route */ protected function __construct( Controller $controller, $route ) { $this->controller = $controller; $this->route = $this->ensure_slashes( $route ); $this->register(); } } data/v2/base/processor/after.php000064400000001041152377341010012546 0ustar00parent ) { return $this->get_name(); } return $this->parent->get_name() . '/' . $this->get_name(); } /** * Get controller namespace. * * @return string */ public function get_namespace() { return $this->namespace; } /** * Get controller reset base. * * @return string */ public function get_base_route() { if ( ! $this->parent ) { return $this->rest_base; } return $this->parent->get_base_route() . '/' . $this->get_name(); } /** * Get controller route. * * @return string */ public function get_controller_route() { return $this->get_namespace() . '/' . $this->get_base_route(); } /** * Retrieves rest route(s) index for current controller. * * @return \WP_REST_Response|\WP_Error */ public function get_controller_index() { $server = rest_get_server(); $routes = $server->get_routes(); $endpoints = array_intersect_key( $server->get_routes(), $routes ); $controller_route = $this->get_controller_route(); array_walk( $endpoints, function ( &$item, $endpoint ) use ( &$endpoints, $controller_route ) { if ( ! strstr( $endpoint, $controller_route ) ) { unset( $endpoints[ $endpoint ] ); } } ); $data = [ 'namespace' => $this->get_namespace(), 'controller' => $controller_route, 'routes' => $server->get_data_for_routes( $endpoints ), ]; $response = rest_ensure_response( $data ); // Link to the root index. $response->add_link( 'up', rest_url( '/' ) ); return $response; } /** * Get items args of index endpoint. * * Is method is used when `get_collection_params()` is not enough, and need of knowing the methods is required. * * @param string $methods * * @return array */ public function get_items_args( $methods ) { if ( \WP_REST_Server::READABLE === $methods ) { return $this->get_collection_params(); } return []; } /** * Get item args of index endpoint. * * @param string $methods * * @return array */ public function get_item_args( $methods ) { return []; } /** * Get permission callback. * * Default controller permission callback. * By default endpoint will inherit the permission callback from the controller. * * @param \WP_REST_Request $request * * @return bool */ public function get_permission_callback( $request ) { $is_multi = (bool) $request->get_param( 'is_multi' ); $result = false; // The function is public since endpoint need to access it. // Utilize 'WP_REST_Controller' get_permission_check methods. switch ( $request->get_method() ) { case 'GET': $result = $is_multi ? $this->get_items_permissions_check( $request ) : $this->get_item_permissions_check( $request ); break; case 'POST': $result = $is_multi ? $this->create_items_permissions_check( $request ) : $this->create_item_permissions_check( $request ); break; case 'UPDATE': case 'PUT': case 'PATCH': $result = $is_multi ? $this->update_items_permissions_check( $request ) : $this->update_item_permissions_check( $request ); break; case 'DELETE': $result = $is_multi ? $this->delete_items_permissions_check( $request ) : $this->delete_item_permissions_check( $request ); break; } if ( $result instanceof \WP_Error ) { throw new WP_Error_Exception( $result ); } return $result; } /** * Checks if a given request has access to create items. ** * * @param \WP_REST_Request $request Full details about the request. * * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function create_items_permissions_check( $request ) { return new \WP_Error( 'invalid-method', sprintf( "Method '%s' not implemented. Must be overridden in subclass.", __METHOD__ ), [ 'status' => 405 ] ); } /** * Checks if a given request has access to update items. * * @param \WP_REST_Request $request Full details about the request. * * @return true|\WP_Error True if the request has access to update the item, WP_Error object otherwise. */ public function update_items_permissions_check( $request ) { return new \WP_Error( 'invalid-method', sprintf( "Method '%s' not implemented. Must be overridden in subclass.", __METHOD__ ), [ 'status' => 405 ] ); } /** * Checks if a given request has access to delete items. * * @param \WP_REST_Request $request Full details about the request. * * @return true|\WP_Error True if the request has access to delete the item, WP_Error object otherwise. */ public function delete_items_permissions_check( $request ) { return new \WP_Error( 'invalid-method', sprintf( "Method '%s' not implemented. Must be overridden in subclass.", __METHOD__ ), [ 'status' => 405 ] ); } public function get_items( $request ) { return $this->get_controller_index(); } /** * Creates multiple items. * * @param \WP_REST_Request $request Full data about the request. * * @return \WP_Error|\WP_REST_Response Response object on success, or WP_Error object on failure. */ public function create_items( $request ) { return new \WP_Error( 'invalid-method', sprintf( "Method '%s' not implemented. Must be overridden in subclass.", __METHOD__ ), [ 'status' => 405 ] ); } /** * Updates multiple items. * * @param \WP_REST_Request $request Full data about the request. * * @return \WP_Error|\WP_REST_Response Response object on success, or WP_Error object on failure. */ public function update_items( $request ) { return new \WP_Error( 'invalid-method', sprintf( "Method '%s' not implemented. Must be overridden in subclass.", __METHOD__ ), [ 'status' => 405 ] ); } /** * Delete multiple items. * * @param \WP_REST_Request $request Full data about the request. * * @return \WP_Error|\WP_REST_Response Response object on success, or WP_Error object on failure. */ public function delete_items( $request ) { return new \WP_Error( 'invalid-method', sprintf( "Method '%s' not implemented. Must be overridden in subclass.", __METHOD__ ), [ 'status' => 405 ] ); } /** * Get the parent controller. * * @return \Elementor\Data\V2\Base\Controller|null */ public function get_parent() { return $this->parent; } /** * Get sub controller(s). * * @return \Elementor\Data\V2\Base\Controller[] */ public function get_sub_controllers() { return $this->sub_controllers; } /** * Get processors. * * @param string $command * * @return \Elementor\Data\V2\Base\Processor[] */ public function get_processors( $command ) { $result = []; if ( isset( $this->processors[ $command ] ) ) { $result = $this->processors[ $command ]; } return $result; } /** * Register processors. */ public function register_processors() { } /** * Register index endpoint. */ protected function register_index_endpoint() { if ( ! $this->parent ) { $this->register_endpoint( new Endpoint\Index( $this ) ); return; } $this->register_endpoint( new Endpoint\Index\Sub_Index_Endpoint( $this ) ); } /** * Register endpoint. * * @param \Elementor\Data\V2\Base\Endpoint $endpoint * * @return \Elementor\Data\V2\Base\Endpoint */ protected function register_endpoint( Endpoint $endpoint ) { $command = $endpoint->get_full_command(); if ( $endpoint instanceof Endpoint\Index ) { $this->index_endpoint = $endpoint; } else { $this->endpoints[ $command ] = $endpoint; } $format = $endpoint->get_format(); // `$e.data.registerFormat()`. Manager::instance()->register_endpoint_format( $command, $format ); return $endpoint; } /** * Register a processor. * * That will be later attached to the endpoint class. * * @param Processor $processor * * @return \Elementor\Data\V2\Base\Processor $processor_instance */ protected function register_processor( Processor $processor ) { $command = $processor->get_command(); if ( ! isset( $this->processors[ $command ] ) ) { $this->processors[ $command ] = []; } $this->processors[ $command ] [] = $processor; return $processor; } /** * Register. * * Endpoints & processors. */ protected function register() { $this->register_index_endpoint(); $this->register_endpoints(); // Aka hooks. $this->register_processors(); } /** * Get collection params by 'additionalProperties' context. * * @param string $context * * @return array */ protected function get_collection_params_by_additional_props_context( $context ) { $result = []; $collection_params = $this->get_collection_params(); foreach ( $collection_params as $collection_param_key => $collection_param ) { if ( isset( $collection_param['additionalProperties']['context'] ) && $context === $collection_param['additionalProperties']['context'] ) { $result[ $collection_param_key ] = $collection_param; } } return $result; } /** * When `$this->get_parent_name` is extended, the controller will have a parent, and will know to behave like a sub-controller. * * @param string $parent_name */ private function act_as_sub_controller( $parent_name ) { $this->parent = Manager::instance()->get_controller( $parent_name ); if ( ! $this->parent ) { trigger_error( "Cannot find parent controller: '$parent_name'", E_USER_ERROR ); // phpcs:ignore } $this->parent->sub_controllers [] = $this; } /** * Controller constructor. * * Register endpoints on 'rest_api_init'. */ public function __construct() { $this->namespace = static::get_default_namespace() . '/v' . static::get_default_version(); $this->rest_base = $this->get_name(); add_action( 'rest_api_init', function () { $this->register(); // Because 'register' is protected. } ); /** * Since all actions were removed for custom internal REST server. * Re-add the actions. */ add_action( 'elementor_rest_api_before_init', function () { add_action( 'rest_api_init', function () { $this->register(); } ); } ); $parent_name = $this->get_parent_name(); if ( $parent_name ) { $this->act_as_sub_controller( $parent_name ); } } } data/v2/base/exceptions/error-404.php000064400000000533152377341010013252 0ustar00get_error_message(), $wp_error->get_error_code(), [ 'status' => $wp_error->get_error_code(), ] ); } } data/v2/base/exceptions/data-exception.php000064400000002155152377341010014523 0ustar00 '', 'data' => [], ]; public function get_code() { return 'reset-http-error'; } public function get_message() { return '501 Not Implemented'; } public function get_data() { return [ 'status' => $this->get_http_error_code(), // 'status' is used by WP to pass the http error code. ]; } public function to_wp_error() { return new \WP_Error( $this->custom_data['code'], $this->message, $this->custom_data['data'] ); } protected function get_http_error_code() { return 501; // 501 Not Implemented } protected function apply() {} public function __construct( $message = '', $code = '', $data = [] ) { $this->message = empty( $message ) ? $this->get_message() : $message; $this->custom_data['code'] = empty( $code ) ? $this->get_code() : $code; $this->custom_data['data'] = empty( $data ) ? $this->get_data() : $data; parent::__construct( $this->message, 0, null ); $this->apply(); } } data/v2/base/exceptions/error-500.php000064400000000556152377341010013254 0ustar00controllers; } /** * @param string $name * * @return \Elementor\Data\V2\Base\Controller|false */ public function get_controller( $name ) { if ( isset( $this->controllers[ $name ] ) ) { return $this->controllers[ $name ]; } return false; } private function get_cache( $key ) { return self::get_items( $this->cache, $key ); } private function set_cache( $key, $value ) { $this->cache[ $key ] = $value; } /** * Register controller. * * @param \Elementor\Data\V2\Base\Controller $controller_instance * * @return \Elementor\Data\V2\Base\Controller */ public function register_controller( Controller $controller_instance ) { $this->controllers[ $controller_instance->get_name() ] = $controller_instance; return $controller_instance; } /** * Register endpoint format. * * @param string $command * @param string $format * */ public function register_endpoint_format( $command, $format ) { $this->command_formats[ $command ] = untrailingslashit( $format ); } /** * Find controller instance. * * By given command name. * * @param string $command * * @return false|\Elementor\Data\V2\Base\Controller */ public function find_controller_instance( $command ) { $command_parts = explode( '/', $command ); $assumed_command_parts = []; foreach ( $command_parts as $command_part ) { $assumed_command_parts [] = $command_part; foreach ( $this->controllers as $controller_name => $controller ) { $assumed_command = implode( '/', $assumed_command_parts ); if ( $assumed_command === $controller_name ) { return $controller; } } } return false; } /** * Command extract args. * * @param string $command * @param array $args * * @return \stdClass */ public function command_extract_args( $command, $args = [] ) { $result = new \stdClass(); $result->command = $command; $result->args = $args; if ( false !== strpos( $command, '?' ) ) { $command_parts = explode( '?', $command ); $pure_command = $command_parts[0]; $query_string = $command_parts[1]; parse_str( $query_string, $temp ); $result->command = untrailingslashit( $pure_command ); $result->args = array_merge( $args, $temp ); } return $result; } /** * Command to endpoint. * * Format is required otherwise $command will returned. * * @param string $command * @param string $format * @param array $args * * @return string endpoint */ public function command_to_endpoint( $command, $format, $args ) { $endpoint = $command; if ( $format ) { $formatted = $format; array_walk( $args, function ( $val, $key ) use ( &$formatted ) { $formatted = str_replace( '{' . $key . '}', $val, $formatted ); } ); // Remove remaining format if not requested via `$args`. if ( strstr( $formatted, '/{' ) ) { /** * Example: * $command = 'example/documents'; * $format = 'example/documents/{document_id}/elements/{element_id}'; * $formatted = 'example/documents/1618/elements/{element_id}'; * Result: * $formatted = 'example/documents/1618/elements'; */ $formatted = substr( $formatted, 0, strpos( $formatted, '/{' ) ); } $endpoint = $formatted; } return $endpoint; } /** * Run server. * * Init WordPress reset api. * * @return \WP_REST_Server */ public function run_server() { /** * If run_server() called means, that rest api is simulated from the backend. */ $this->is_internal = true; if ( ! $this->server ) { // Remove all 'rest_api_init' actions. remove_all_actions( 'rest_api_init' ); // Call custom reset api loader. do_action( 'elementor_rest_api_before_init' ); $this->server = rest_get_server(); // Init API. } return $this->server; } /** * Kill server. * * Free server and controllers. */ public function kill_server() { global $wp_rest_server; $this->controllers = []; $this->command_formats = []; $this->server = false; $this->is_internal = false; $this->cache = []; $wp_rest_server = false; } /** * Run processor. * * @param \Elementor\Data\V2\Base\Processor $processor * @param array $data * * @return mixed */ public function run_processor( $processor, $data ) { if ( call_user_func_array( [ $processor, 'get_conditions' ], $data ) ) { return call_user_func_array( [ $processor, 'apply' ], $data ); } return null; } /** * Run processors. * * Filter them by class. * * @param \Elementor\Data\V2\Base\Processor[] $processors * @param string $filter_by_class * @param array $data * * @return false|array */ public function run_processors( $processors, $filter_by_class, $data ) { foreach ( $processors as $processor ) { if ( $processor instanceof $filter_by_class ) { if ( Processor\Before::class === $filter_by_class ) { $this->run_processor( $processor, $data ); } elseif ( Processor\After::class === $filter_by_class ) { $result = $this->run_processor( $processor, $data ); if ( $result ) { $data[1] = $result; } } else { trigger_error( "Invalid processor filter: '${ $filter_by_class }'" ); // phpcs:ignore break; } } } return isset( $data[1] ) ? $data[1] : false; } /** * Run request. * * Simulate rest API from within the backend. * Use args as query. * * @param string $endpoint * @param array $args * @param string $method * @param string $namespace (optional) * @param string $version (optional) * * @return \WP_REST_Response */ public function run_request( $endpoint, $args = [], $method = \WP_REST_Server::READABLE, $namespace = self::ROOT_NAMESPACE, $version = self::VERSION ) { $this->run_server(); $endpoint = '/' . $namespace . '/v' . $version . '/' . trim( $endpoint, '/' ); // Run reset api. $request = new \WP_REST_Request( $method, $endpoint ); if ( 'GET' === $method ) { $request->set_query_params( $args ); } else { $request->set_body_params( $args ); } return rest_do_request( $request ); } /** * Run endpoint. * * Wrapper for `$this->run_request` return `$response->getData()` instead of `$response`. * * @param string $endpoint * @param array $args * @param string $method * * @return array */ public function run_endpoint( $endpoint, $args = [], $method = 'GET' ) { // The method become public since it used in `Elementor\Data\V2\Base\Endpoint\Index\AllChildren`. $response = $this->run_request( $endpoint, $args, $method ); return $response->get_data(); } /** * Run ( simulated reset api ). * * Do: * Init reset server. * Run before processors. * Run command as reset api endpoint from internal. * Run after processors. * * @param string $command * @param array $args * @param string $method * * @return array|false processed result */ public function run( $command, $args = [], $method = 'GET' ) { $key = crc32( $command . '-' . wp_json_encode( $args ) . '-' . $method ); $cache = $this->get_cache( $key ); if ( $cache ) { return $cache; } $this->run_server(); $controller_instance = $this->find_controller_instance( $command ); if ( ! $controller_instance ) { $this->set_cache( $key, [] ); return []; } $extracted_command = $this->command_extract_args( $command, $args ); $command = $extracted_command->command; $args = $extracted_command->args; $format = isset( $this->command_formats[ $command ] ) ? $this->command_formats[ $command ] : false; $command_processors = $controller_instance->get_processors( $command ); $endpoint = $this->command_to_endpoint( $command, $format, $args ); $this->run_processors( $command_processors, Processor\Before::class, [ $args ] ); $response = $this->run_request( $endpoint, $args, $method ); $result = $response->get_data(); if ( $response->is_error() ) { $this->set_cache( $key, [] ); return []; } $result = $this->run_processors( $command_processors, Processor\After::class, [ $args, $result ] ); $this->set_cache( $key, $result ); return $result; } public function is_internal() { return $this->is_internal; } } assets/css/widget-google_maps.min.css000064400000000243152377341010013711 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ .elementor-widget-google_maps .elementor-widget-container{overflow:hidden}.elementor-widget-google_maps iframe{height:300px}assets/css/editor-dark-mode.min.css000064400000065712152377341010013277 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ body{color:#e0e1e3}body .pcr-app{background-color:#4c4f56;-webkit-box-shadow:0 .15em 1.5em 0 rgba(0,0,0,.5),0 0 1em 0 rgba(0,0,0,.05);box-shadow:0 .15em 1.5em 0 rgba(0,0,0,.5),0 0 1em 0 rgba(0,0,0,.05)}body .pcr-app .pcr-swatches>button:after{-webkit-box-shadow:0 0 3px rgba(0,0,0,.3);box-shadow:0 0 3px rgba(0,0,0,.3)}body .pcr-app .pcr-clear{color:#e0e1e3;background-color:#64666a}body .pcr-app .pcr-interaction .pcr-result{color:#e0e1e3;border-color:#64666a}body .pcr-app .pcr-interaction .pcr-result:focus{border-color:#7d7e82}body .pcr-swatch.pcr-active:after{-webkit-box-shadow:0 0 0 1px #71d7f7,inset 0 0 0 1px #4c4f56;box-shadow:0 0 0 1px #71d7f7,inset 0 0 0 1px #4c4f56}body .pcr-swatch.pcr-active~.elementor-color-picker__add-swatch{background-color:#64666a}body .pcr-swatch.pcr-active~.elementor-color-picker__add-swatch i{color:#e0e1e3}.pickr{background-color:#34383c}.e-control-color--no-value .pcr-button,.pickr{border-color:#64666a}.e-global__popover-toggle{border-color:#64666a;background-color:#34383c}.e-global__popover-container{background-color:#4c4f56;color:#e0e1e3}.e-global__popover-title{border-bottom-color:#404349}.e-global__color-title,.e-global__manage-button,.e-global__popover-title{color:#e0e1e3}.e-global__manage-button{border-top-color:#404349}.e-global__preview-item:hover{background-color:#404349}.elementor-control-type-global-style-repeater .elementor-button-wrapper{border-top-color:#34383c}.elementor-control-type-global-style-repeater .elementor-repeater-fields.ui-sortable-helper{background-color:#404349}.e-control-tool{background-color:#34383c;border-color:#e0e1e3}.e-control-tool i{color:#e0e1e3}#elementor-loading{background-color:#34383c}.elementor-loader,.elementor-safe-mode-toast{background-color:#4c4f56}.elementor-safe-mode-toast .elementor-toast-content,.elementor-safe-mode-toast header h2{color:#e0e1e3}.elementor-units-choices input.e-units-placeholder+label{color:#b4b5b7}.elementor-input-style,input,select,textarea{color:#e0e1e3;background-color:#34383c}.elementor-input-style:not(:focus),input:not(:focus),select:not(:focus),textarea:not(:focus){border-color:#64666a}.elementor-input-style:focus,input:focus,select:focus,textarea:focus{border-color:#7d7e82}.elementor-input-style[disabled],input[disabled],select[disabled],textarea[disabled]{background-color:#4c4f56}.elementor-input-style::-webkit-input-placeholder,input::-webkit-input-placeholder,select::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#64666a}.elementor-input-style::-moz-placeholder,input::-moz-placeholder,select::-moz-placeholder,textarea::-moz-placeholder{color:#64666a}.elementor-input-style::-ms-input-placeholder,input::-ms-input-placeholder,select::-ms-input-placeholder,textarea::-ms-input-placeholder{color:#64666a}.elementor-input-style::placeholder,input::placeholder,select::placeholder,textarea::placeholder{color:#64666a}select{background-color:#34383c}.elementor-button.elementor-button-default{background-color:#64666a}.elementor-button.elementor-button-default:hover{background-color:#4c4f56}.elementor-button.elementor-button-success[disabled]{background-color:#64666a}.elementor-button.elementor-button-danger{background-color:#f84343}#elementor-mode-switcher{background-color:#34383c}#elementor-mode-switcher:hover{background-color:#71d7f7}.elementor-control-dynamic-switcher{background-color:#34383c;border-color:#64666a;color:#e0e1e3}.elementor-tags-list{background-color:#4c4f56;border-color:#64666a}.elementor-tags-list__group-title{color:#b4b5b7}.elementor-tags-list__item:hover{background-color:#404349}.elementor-tag-settings-popup{background-color:#34383c;-webkit-box-shadow:1px 1px 10px rgba(0,0,0,.8);box-shadow:1px 1px 10px rgba(0,0,0,.8)}.elementor-tag-settings-popup:before{border-bottom-color:#404349}.elementor-panel{background-color:#34383c}.elementor-panel a{color:#71d7f7}.elementor-panel #elementor-panel-header{background-color:#26292c}.elementor-panel .elementor-panel-navigation{background-color:#404349}.elementor-panel .elementor-panel-navigation .elementor-panel-navigation-tab.elementor-active{background-image:-o-linear-gradient(top,#34383c,#4c4f56);background-image:-webkit-gradient(linear,left top,left bottom,from(#34383c),to(#4c4f56));background-image:linear-gradient(180deg,#34383c,#4c4f56);border-bottom-color:#71d7f7}.elementor-panel .elementor-panel-navigation .elementor-panel-navigation-tab a{color:#e0e1e3}.elementor-panel #elementor-panel-elements-search-area{background-color:#34383c}.elementor-panel #elementor-panel-elements-search-input{background-color:#4c4f56;color:#e0e1e3}.elementor-panel #elementor-panel-elements-search-input:focus{background-color:#404349;color:#e0e1e3}.elementor-panel #elementor-panel-elements-search-input:focus+i{color:#e0e1e3}.elementor-panel .elementor-element{background-color:#404349}.elementor-panel .elementor-element .icon,.elementor-panel .elementor-element .title{color:#e0e1e3}.elementor-panel .elementor-element:hover .icon,.elementor-panel .elementor-element:hover .title{color:#71d7f7}.elementor-panel .elementor-element>.eicon-lock{color:#64666a}.elementor-panel .widget-inside{background-color:inherit}.elementor-panel #elementor-panel-footer{background-color:#26292c}.elementor-panel .elementor-panel-footer-sub-menu-wrapper{background-color:#34383c;border-top:1px solid #4c4f56}.elementor-panel .elementor-panel-footer-sub-menu-item{background-color:#404349}.elementor-panel .elementor-panel-footer-sub-menu-item.active,.elementor-panel .elementor-panel-footer-sub-menu-item:hover{background-color:#4c4f56}.elementor-panel #elementor-panel-footer-saver-options{border-color:#26292c}.elementor-panel .elementor-controls-popover{background-color:#4c4f56;-webkit-box-shadow:0 2px 15px rgba(0,0,0,.5);box-shadow:0 2px 15px rgba(0,0,0,.5)}.elementor-panel .elementor-controls-popover:before{border-bottom-color:#4c4f56}.elementor-panel .elementor-controls-popover .elementor-control-responsive-switchers__holder,.elementor-panel .elementor-panel-alert,.elementor-panel .elementor-panel-alert.elementor-panel-alert-info{background-color:#4c4f56}.elementor-panel #elementor-panel__editor__help__link{color:#b4b5b7}.elementor-panel #elementor-panel__editor__help__link:hover{color:#e0e1e3}.elementor-panel #elementor-panel-global-widget>*{background-color:#404349}.elementor-panel #elementor-global-widget-locked-unlink{border-top-color:#34383c}.elementor-panel .elementor-panel-scheme-color-system-items{background-color:#34383c;border-color:#64666a}.elementor-panel .elementor-panel-menu-item{background-color:#404349}.elementor-panel .elementor-panel-menu-item:hover{background-color:#4c4f56}.elementor-panel .elementor-panel-menu-item a{color:#e0e1e3}.elementor-panel .elementor-panel-menu-item-icon{color:#b4b5b7}.elementor-control{background-color:#404349}.elementor-control.elementor-control-separator-after:after,.elementor-control.elementor-control-separator-before:before{background-color:#34383c}.elementor-control.elementor-control-type-divider .elementor-control-content{background-color:#404349;border-color:#34383c}.elementor-control.elementor-control-type-select .elementor-control-input-wrapper select.e-select-placeholder{color:#64666a}.elementor-control-responsive-switchers__holder{background-color:#404349}.elementor-control-responsive-switchers.elementor-responsive-switchers-open .elementor-control-responsive-switchers__holder{-webkit-box-shadow:0 0 3px rgba(0,0,0,.5);box-shadow:0 0 3px rgba(0,0,0,.5)}a.elementor-responsive-switcher{color:#e0e1e3}.elementor-device-desktop .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-desktop,.elementor-device-laptop .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-laptop,.elementor-device-mobile .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-mobile,.elementor-device-mobile_extra .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-mobile_extra,.elementor-device-tablet .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-tablet,.elementor-device-tablet_extra .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-tablet_extra,.elementor-device-widescreen .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-widescreen,a.elementor-responsive-switcher:hover{color:#71d7f7}.elementor-control-type-popover_toggle .elementor-control-popover-toggle-toggle-label{background-color:#34383c;border-color:#64666a}.elementor-control-type-popover_toggle .elementor-control-responsive-switchers__holder{background-color:#4c4f56}.elementor-control-media-upload-button{background-color:#34383c}.elementor-control-media__remove{background-color:#64666a;color:#b4b5b7}.elementor-control-media .elementor-control-input-wrapper{border-color:#64666a}.elementor-control-media .eicon-plus-circle{color:#e0e1e3}.elementor-control-media .elementor-control-media__tool{background-color:#7d7e82}.elementor-control-media__file,.elementor-control-media__file__controls{border-color:#64666a}.elementor-control-media-area,.pcr-app[data-theme=monolith] .pcr-color-palette,.pcr-button{background-image:-o-linear-gradient(45deg,#34383c 25%,transparent 0,transparent 75%,#34383c 0,#34383c),-o-linear-gradient(45deg,#34383c 25%,transparent 0,transparent 75%,#34383c 0,#34383c);background-image:linear-gradient(45deg,#34383c 25%,transparent 0,transparent 75%,#34383c 0,#34383c),linear-gradient(45deg,#34383c 25%,transparent 0,transparent 75%,#34383c 0,#34383c);background-size:12px 12px;background-position:0 0,6px 6px;background-color:#64666a}.elementor-control-type-icons .elementor-control-media__preview i{color:#b4b5b7}.elementor-control-type-media .elementor-control-media__preview{background-color:#34383c}.elementor-control-type-gallery .elementor-control-gallery-clear:hover{color:#f84343}.elementor-control-type-gallery .elementor-control-gallery-add{background-color:#34383c}.elementor-control-type-gallery .elementor-control-gallery-add:hover{background-color:#4c4f56}.elementor-control-type-gallery.elementor-control-dynamic .elementor-control-gallery-clear,.elementor-control-type-gallery .elementor-control-gallery-status,.elementor-control-type-gallery .elementor-control-media__content{border-color:#64666a}.elementor-control-type-gallery .elementor-control-dynamic-switcher{border-bottom:1px solid #64666a;border-left:1px solid #64666a;border-radius:0 3px 0 0}body.rtl .elementor-control-type-gallery .elementor-control-dynamic-switcher{border-right:1px solid #64666a;border-left:none}.elementor-control-type-url .elementor-control-url-more{background-color:#34383c;border-color:#64666a}.elementor-control-type-url .elementor-control-url-option-input{border-color:#64666a}.elementor-control-type-url .elementor-control-url-option-input:checked{background-color:#64666a}.elementor-control-type-url .elementor-input:focus~div{border-color:#7d7e82}.elementor-control-type-wysiwyg .wp-editor-container{border-color:#64666a}.elementor-control-type-wysiwyg .mce-ico,.elementor-control-type-wysiwyg .mce-menubtn button,.elementor-control-type-wysiwyg .wp-switch-editor{color:#e0e1e3}.elementor-control-type-wysiwyg .switch-html,.elementor-control-type-wysiwyg .wp-editor-tabs{border-color:#7d7e82}.elementor-control-type-wysiwyg #insert-media-button,.elementor-control-type-wysiwyg .html-active .switch-html,.elementor-control-type-wysiwyg .mce-toolbar-grp,.elementor-control-type-wysiwyg .quicktags-toolbar,.elementor-control-type-wysiwyg .tmce-active .switch-tmce{background-color:#64666a}.elementor-control-type-wysiwyg #insert-media-button{color:#e0e1e3;border-color:#7d7e82}.elementor-control-type-wysiwyg .mce-toolbar .mce-btn-group .mce-btn.mce-active,.elementor-control-type-wysiwyg .mce-toolbar .mce-btn-group .mce-btn:active,.elementor-control-type-wysiwyg .mce-toolbar .mce-btn-group .mce-btn:focus,.elementor-control-type-wysiwyg .mce-toolbar .mce-btn-group .mce-btn:hover,.elementor-control-type-wysiwyg .qt-dfw.active,.elementor-control-type-wysiwyg .qt-dfw:focus,.elementor-control-type-wysiwyg .qt-dfw:hover{background-color:#404349;-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.08),0 1px 0 rgba(0,0,0,.08);box-shadow:inset 0 1px 0 rgba(0,0,0,.08),0 1px 0 rgba(0,0,0,.08)}.elementor-control-type-wysiwyg .mce-toolbar .mce-btn-group .mce-btn.mce-listbox{background-color:#404349;border-color:#7d7e82;border-radius:3px}.elementor-control-type-wysiwyg .quicktags-toolbar{border-color:#7d7e82}.elementor-control-type-wysiwyg .wp-core-ui .button,.elementor-control-type-wysiwyg .wp-core-ui .button-secondary{background-color:#4c4f56;color:#e0e1e3;border-color:#7d7e82}.elementor-control-type-wysiwyg .wp-core-ui .button-secondary:hover,.elementor-control-type-wysiwyg .wp-core-ui .button:hover{background-color:#404349;border-color:#7d7e82}.elementor-choices .elementor-choices-label,.elementor-choices .elementor-choices-label:last-child{background-color:#34383c;border-color:#64666a}.elementor-choices input.e-choose-placeholder+.elementor-choices-label{background-color:#64666a;border-color:#64666a}.elementor-choices input:checked+.elementor-choices-label{background-color:#7d7e82;border-color:#7d7e82}.elementor-control-type-repeater .elementor-repeater-row-tools{background-color:#64666a;color:#e0e1e3}.elementor-control-type-repeater .elementor-repeater-row-tools:hover{background-color:#7d7e82}.elementor-control-type-repeater .elementor-repeater-row-tools>div:not(.elementor-repeater-row-handle-sortable){background-color:#404349}.elementor-control-type-repeater .elementor-repeater-row-tools>div:not(.elementor-repeater-row-handle-sortable):hover{background-color:#464950}.elementor-control-type-repeater .elementor-repeater-row--form-step .elementor-repeater-row-tools:hover{background-color:#7d7e82}.elementor-control-type-repeater .elementor-repeater-row--form-step .elementor-repeater-row-tools div:not(.elementor-repeater-row-handle-sortable){background-color:#4c4f56}.elementor-control-type-repeater .elementor-repeater-row--form-step .elementor-repeater-row-tools div:not(.elementor-repeater-row-handle-sortable):hover{background-color:#64666a}.elementor-control-type-repeater .elementor-repeater-row-controls{border-color:#64666a}.elementor-control-type-tab{background-color:#34383c;border-color:#64666a}.elementor-control-type-tab:first-child{border-color:#64666a}.elementor-control-type-tab.elementor-tab-active{background-color:#7d7e82;border-color:#7d7e82}.elementor-control-type-slider--handles-range .elementor-slider .noUi-handle:after{background-color:#e0e1e3}.elementor-slider{background-color:#64666a}.elementor-slider .noUi-handle{background-color:#e0e1e3}.elementor-control-type-dimensions li .elementor-link-dimensions,.elementor-control-type-dimensions li input{border-color:#64666a}.elementor-control-type-dimensions li input:focus{border-color:#7d7e82}.elementor-control-type-dimensions li:first-child input{border-color:#64666a}.elementor-control-type-dimensions li:first-child input:focus{border-color:#7d7e82}.elementor-control-type-dimensions .elementor-link-dimensions.unlinked{background-color:#34383c;color:#e0e1e3}.elementor-control-type-dimensions .elementor-link-dimensions:not(.unlinked){background-color:#7d7e82;border-color:#7d7e82}.elementor-control-type-switcher .elementor-switch-label{background-color:#34383c}.elementor-control-type-switcher .elementor-switch-label:before{text-shadow:0 1px rgba(0,0,0,.8)}.elementor-control-type-switcher .elementor-switch-input:checked~.elementor-switch-label{background-color:#71d7f7}.elementor-control-type-switcher .elementor-switch-handle{background-color:#e0e1e3}.elementor-control-type-structure .elementor-control-structure-preset path{fill:#34383c}.elementor-control-type-structure .elementor-control-structure-presets input:checked+.elementor-control-structure-preset path{fill:#64666a}.elementor-control-type-structure .elementor-control-structure-reset{border-top-color:#34383c}.elementor-panel-heading{border-bottom-color:#34383c}.elementor-panel-heading-title,.elementor-panel-heading-toggle{color:#e0e1e3}.select2-container .e-select2-placeholder{color:#64666a}.select2-container:not(.select2-container--open):not(.select2-container--focus) .select2-selection--multiple,.select2-container:not(.select2-container--open):not(.select2-container--focus) .select2-selection--single{background-color:#34383c;color:#e0e1e3;border-color:#64666a}.select2-container:not(.select2-container--all-selected) .select2-selection--multiple .select2-search--inline:before{background-color:#4c4f56;color:#b4b5b7}.select2-container.select2-container--focus .select2-selection--multiple,.select2-container.select2-container--focus .select2-selection--single,.select2-container.select2-container--open .select2-selection--multiple,.select2-container.select2-container--open .select2-selection--single{border-color:#7d7e82}.select2-container.select2-container--default .select2-selection--single .select2-selection__rendered{color:#e0e1e3}.select2-container.select2-container--default .select2-selection--single{background-color:#34383c;border-color:#4c4f56}.select2-container.select2-container--default .select2-selection--multiple{background-color:#34383c}.select2-container.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#4c4f56;border-color:#4c4f56}.select2-container.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#b4b5b7}.select2-container.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#4c4f56;color:#e0e1e3}.select2-container .select2-results__option[aria-selected=true]{color:#fff}.select2-container .select2-dropdown{background-color:#34383c;border-color:#7d7e82}#elementor-element--promotion__dialog{background-color:#404349;-webkit-box-shadow:0 2px 15px rgba(0,0,0,.5);box-shadow:0 2px 15px rgba(0,0,0,.5)}#elementor-element--promotion__dialog:after{border-right-color:#404349}#elementor-element--promotion__dialog .dialog-header{color:#e0e1e3;border-bottom-color:#64666a}#elementor-element--promotion__dialog .dialog-header .eicon-close,#elementor-element--promotion__dialog .dialog-header .eicon-pro-icon{color:#b4b5b7}body.rtl #elementor-element--promotion__dialog:after{border-left-color:#475158}.dialog-type-lightbox{background-color:rgba(0,0,0,.65)}.dialog-type-lightbox .dialog-header{color:#e0e1e3}.dialog-type-lightbox .dialog-widget-content{background-color:#34383c}.dialog-type-lightbox .dialog-buttons-wrapper>.dialog-button{color:#e0e1e3}.dialog-type-lightbox .dialog-buttons-wrapper>.dialog-button.dialog-ok{color:#f84343}.dialog-type-lightbox .dialog-buttons-wrapper>.dialog-button:hover{background-color:#4c4f56}.dialog-type-lightbox .dialog-button:first-child,.dialog-type-lightbox .dialog-buttons-wrapper{border-color:#4c4f56}.dialog-type-lightbox .elementor-publish__tab__title{color:#e0e1e3}.dialog-type-lightbox .elementor-popup__display-settings_controls_group,.dialog-type-lightbox .elementor-publish__tab.elementor-active{background-color:#404349}.dialog-type-lightbox .elementor-popup__display-settings_controls_group__icon{border-color:#34383c}.elementor-templates-modal .dialog-header{background-color:#26292c;color:#e0e1e3;-webkit-box-shadow:0 0 8px rgba(0,0,0,.3);box-shadow:0 0 8px rgba(0,0,0,.3)}.elementor-templates-modal__header__close--normal{border-color:#7d7e82}.elementor-templates-modal__sidebar{background-color:transparent}.elementor-templates-modal__content{-webkit-box-shadow:0 0 13px inset rgba(0,0,0,.08);box-shadow:inset 0 0 13px rgba(0,0,0,.08)}.elementor-templates-modal .dialog-buttons-wrapper{background-color:#34383c}#elementor-template-library-header-menu{color:#e0e1e3}.elementor-template-library-menu-item.elementor-active{background-image:-o-linear-gradient(top,#26292c,#34383c);background-image:-webkit-gradient(linear,left top,left bottom,from(#26292c),to(#34383c));background-image:linear-gradient(180deg,#26292c,#34383c);border-color:#71d7f7}#elementor-template-library-filter{border-color:#34383c}#elementor-template-library-filter-text{background-color:transparent}#elementor-template-library-filter-text:focus+i{color:#e0e1e3}#elementor-template-library-filter-my-favorites:hover,label.elementor-template-library-order-label:hover{color:#b4b5b7}#elementor-template-library-filter-my-favorites:checked+#elementor-template-library-filter-my-favorites-label,#elementor-template-library-templates[data-template-source=remote] .elementor-template-library-order-input:checked+.elementor-template-library-order-label{color:#7d7e82}#elementor-template-library-header-preview-back{border-color:#4c4f56}.elementor-template-library-template-remote{background-color:#404349}.elementor-template-library-template-remote .elementor-template-library-template-name{color:#e0e1e3}.elementor-template-library-template-remote:not(.elementor-template-library-template-page) .elementor-template-library-template-footer{background-color:#404349}.elementor-template-library-template-local{background-color:#4c4f56}.elementor-template-library-template-local:hover{background-color:#64666a}.elementor-template-library-template-local .elementor-template-library-template-controls>div:not(:hover),.elementor-template-library-template-local .elementor-template-library-template-controls>div a{color:#b4b5b7}.elementor-template-library-template-local .elementor-template-library-template-more{background-color:#4c4f56}.elementor-template-library-template-local .elementor-template-library-template-more:before{border-bottom-color:#4c4f56}.elementor-template-library-template-local .elementor-template-library-template-more:hover,.elementor-template-library-template-local .elementor-template-library-template-more a:hover{color:#e0e1e3}.elementor-template-library-template-local .elementor-template-library-template-more .elementor-template-library-template-delete:hover{color:#f84343}#elementor-template-library-save-template-name{background-color:#26292c}#elementor-template-library-import-form{background-color:transparent}#elementor-template-library-import-form:hover{background-color:rgba(0,0,0,.3)}#elementor-publish #elementor-theme-builder-conditions input,#elementor-publish #elementor-theme-builder-conditions select{background-color:#4c4f56;color:#e0e1e3}#elementor-publish #elementor-theme-builder-conditions .elementor-control-type[data-elementor-condition-type=exclude],#elementor-publish #elementor-theme-builder-conditions .elementor-control-type[data-elementor-condition-type=include]{background-color:#64666a}#elementor-publish #elementor-theme-builder-conditions .elementor-control-type[data-elementor-condition-type=exclude] option,#elementor-publish #elementor-theme-builder-conditions .elementor-control-type[data-elementor-condition-type=exclude] select,#elementor-publish #elementor-theme-builder-conditions .elementor-control-type[data-elementor-condition-type=include] option,#elementor-publish #elementor-theme-builder-conditions .elementor-control-type[data-elementor-condition-type=include] select{background-color:#404349;color:#e0e1e3}#elementor-publish #elementor-theme-builder-conditions .elementor-control-type-select .elementor-control-input-wrapper:after{color:inherit}#elementor-publish #elementor-theme-builder-conditions .elementor-theme-builder-conditions-repeater-row-controls .select2-container--default .select2-selection--single,#elementor-publish #elementor-theme-builder-conditions .elementor-theme-builder-conditions-repeater-row-controls .select2-dropdown,#elementor-toast .e-toast-button{background-color:#4c4f56}#elementor-icons-manager__search input{background-color:#404349;-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s}#elementor-icons-manager__search input:focus{background-color:#4c4f56}.elementor-icons-manager__tab__item{background-color:#404349}.elementor-icons-manager__tab-link,.elementor-icons-manager__tab__item__icon,.elementor-icons-manager__tab__item__name{color:#e0e1e3}.elementor-context-menu,.elementor-icons-manager__tab-link.elementor-active{background-color:#404349}.elementor-context-menu,.elementor-context-menu .elementor-context-menu-list__group:not(:last-child){border-color:#34383c}.elementor-context-menu-list__item:not(.elementor-context-menu-list__item--disabled):hover{background-color:#4c4f56}.elementor-context-menu-list__item.elementor-context-menu-list__item-delete:not(.elementor-context-menu-list__item--disabled):hover{background-color:#f84343}#elementor-navigator,#elementor-navigator__footer,#elementor-navigator__header,#elementor-navigator__inner{background-color:#34383c}#elementor-navigator__footer,#elementor-navigator__header{border-color:#4c4f56}#elementor-navigator__header #elementor-navigator__close,#elementor-navigator__header #elementor-navigator__toggle-all{color:#b4b5b7}.elementor-navigator__element-section{background-color:transparent}.elementor-navigator__item{background-color:#404349;border-color:#34383c}.elementor-navigator__item:hover{background-color:#4c4f57}.elementor-navigator__element__indicator{color:#e0e1e3;background-color:#4c4f56}.elementor-navigator__element__indicator:hover{color:#b4b5b7}.elementor-navigator__element__indicator:not(:first-child){border-color:#34383c}.elementor-navigator__element-column{background-color:#474a51}.elementor-navigator__element:not(.elementor-navigator__element--hidden)>.elementor-navigator__item.elementor-editing{background-color:#4c4f57}.elementor-navigator__element:not(.elementor-navigator__element--hidden)>.elementor-navigator__item.elementor-editing .elementor-navigator__element__toggle{color:#71d7f7}.elementor-navigator__elements .elementor-empty-view{border-color:#34383c}.elementor-navigator__elements .ui-sortable-helper{background-color:#34383c;border-color:#34383c}.elementor-navigator__elements .ui-sortable-placeholder{background-color:#34383c}#elementor-panel-history:not(.elementor-empty),.elementor-panel .elementor-panel-box,.elementor-panel .elementor-panel-scheme-buttons{background-color:#404349}.elementor-history-item,.elementor-revision-item__wrapper{background-color:#4c4f56;border-color:#4c4f56}.elementor-history-item:hover,.elementor-revision-item__wrapper:hover{background-color:#64666a}#elementor-finder__search__input{color:#e0e1e3}.elementor-finder__results__category__title{background-color:#26292c;color:#e0e1e3}.elementor-finder__results__item__title{color:#e0e1e3}.elementor-finder__results__item.elementor-active{background-color:#404349}.elementor-hotkeys__list{background-color:#4c4f56}.elementor-hotkeys__item{border-color:#64666a}.elementor-hotkeys__item--shortcut span{background-color:#64666a}#wp-link,.media-modal{color:#6d7882}#wp-link .elementor-input-style,#wp-link input,#wp-link select,#wp-link textarea{color:#6d7882;background-color:transparent}#wp-link .elementor-input-style:not(:focus),#wp-link input:not(:focus),#wp-link select:not(:focus),#wp-link textarea:not(:focus){border-color:#d5dadf}#wp-link .elementor-input-style:focus,#wp-link input:focus,#wp-link select:focus,#wp-link textarea:focus{border-color:#a4afb7}.ui-autocomplete{color:#6d7882}.elementor-color-picker__tool{background-color:#e0e1e3}.elementor-color-picker__tool i{color:#64666a}.elementor-nerd-box-icon{-webkit-filter:contrast(.8);filter:contrast(.8)}assets/css/frontend-lite-rtl.min.css000064400000322633152377341010013517 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ .dialog-widget-content{background-color:#fff;position:absolute;border-radius:3px;-webkit-box-shadow:2px 8px 23px 3px rgba(0,0,0,.2);box-shadow:2px 8px 23px 3px rgba(0,0,0,.2);overflow:hidden}.dialog-message{font-size:12px;line-height:1.5;-webkit-box-sizing:border-box;box-sizing:border-box}.dialog-type-lightbox{position:fixed;height:100%;width:100%;bottom:0;left:0;background-color:rgba(0,0,0,.8);z-index:9999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dialog-type-lightbox .dialog-widget-content{margin:auto;width:375px}.dialog-type-lightbox .dialog-header{font-size:15px;color:#495157;padding:30px 0 10px;font-weight:500}.dialog-type-lightbox .dialog-message{padding:0 30px 30px;min-height:50px}.dialog-type-lightbox:not(.elementor-popup-modal) .dialog-header,.dialog-type-lightbox:not(.elementor-popup-modal) .dialog-message{text-align:center}.dialog-type-lightbox .dialog-buttons-wrapper{border-top:1px solid #e6e9ec;text-align:center}.dialog-type-lightbox .dialog-buttons-wrapper>.dialog-button{font-family:Roboto,Arial,Helvetica,Verdana,sans-serif;width:50%;border:none;background:none;color:#6d7882;font-size:15px;cursor:pointer;padding:13px 0;outline:0}.dialog-type-lightbox .dialog-buttons-wrapper>.dialog-button:hover{background-color:#f4f6f7}.dialog-type-lightbox .dialog-buttons-wrapper>.dialog-button.dialog-ok{color:#b01b1b}.dialog-type-lightbox .dialog-buttons-wrapper>.dialog-button.dialog-take_over{color:#39b54a}.dialog-type-lightbox .dialog-buttons-wrapper>.dialog-button:active{background-color:rgba(230,233,236,.5)}.dialog-type-lightbox .dialog-buttons-wrapper>.dialog-button::-moz-focus-inner{border:0}.dialog-close-button{cursor:pointer;position:absolute;margin-top:15px;left:15px;font-size:15px;line-height:1}.dialog-close-button:not(:hover){opacity:.4}.dialog-alert-widget .dialog-buttons-wrapper>button{width:100%}.dialog-confirm-widget .dialog-button:first-child{border-left:1px solid #e6e9ec}.dialog-prevent-scroll{overflow:hidden;max-height:100vh}@media (min-width:1024px){body.admin-bar .dialog-lightbox-widget{height:calc(100vh - 32px)}}@media (max-width:1024px){body.admin-bar .dialog-type-lightbox{position:sticky;height:100vh}}.elementor-aspect-ratio-219 .elementor-fit-aspect-ratio{padding-bottom:42.8571%}.elementor-aspect-ratio-169 .elementor-fit-aspect-ratio{padding-bottom:56.25%}.elementor-aspect-ratio-43 .elementor-fit-aspect-ratio{padding-bottom:75%}.elementor-aspect-ratio-32 .elementor-fit-aspect-ratio{padding-bottom:66.6666%}.elementor-aspect-ratio-11 .elementor-fit-aspect-ratio{padding-bottom:100%}.elementor-aspect-ratio-916 .elementor-fit-aspect-ratio{padding-bottom:177.8%}.elementor-fit-aspect-ratio{position:relative;height:0}.elementor-fit-aspect-ratio iframe{position:absolute;top:0;left:0;height:100%;width:100%;border:0;background-color:#000}.elementor-fit-aspect-ratio video{width:100%}.flatpickr-calendar{width:280px}.flatpickr-calendar .flatpickr-current-month span.cur-month{font-weight:300}.flatpickr-calendar .dayContainer{width:280px;min-width:280px;max-width:280px}.flatpickr-calendar .flatpickr-days{width:280px}.flatpickr-calendar .flatpickr-day{max-width:37px;height:37px;line-height:37px}.elementor-templates-modal .dialog-widget-content{font-family:Roboto,Arial,Helvetica,Verdana,sans-serif;background-color:#f1f3f5;width:100%}@media (max-width:1439px){.elementor-templates-modal .dialog-widget-content{max-width:990px}}@media (min-width:1440px){.elementor-templates-modal .dialog-widget-content{max-width:1200px}}.elementor-templates-modal .dialog-header{padding:0;z-index:1}.elementor-templates-modal .dialog-buttons-wrapper,.elementor-templates-modal .dialog-header{background-color:#fff;-webkit-box-shadow:0 0 8px rgba(0,0,0,.1);box-shadow:0 0 8px rgba(0,0,0,.1);position:relative}.elementor-templates-modal .dialog-buttons-wrapper{border:none;display:none;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;padding:5px}.elementor-templates-modal .dialog-buttons-wrapper .elementor-button{height:40px;margin-right:5px}.elementor-templates-modal .dialog-buttons-wrapper .elementor-button-success{padding:12px 36px;color:#fff;width:auto;font-size:15px}.elementor-templates-modal .dialog-buttons-wrapper .elementor-button-success:hover{background-color:#39b54a}.elementor-templates-modal .dialog-message{height:750px;max-height:85vh;overflow:auto;padding-top:25px}.elementor-templates-modal .dialog-content{height:100%}.elementor-templates-modal .dialog-loading{display:none}.elementor-templates-modal__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;height:50px}.elementor-templates-modal__header__logo{line-height:1;text-transform:uppercase;font-weight:700;cursor:pointer}.elementor-templates-modal__header__logo-area{text-align:right;padding-right:15px}.elementor-templates-modal__header__logo-area>*{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-templates-modal__header__logo__icon-wrapper{margin-left:10px;font-size:12px}.elementor-templates-modal__header__logo__title{padding-top:2px}.elementor-templates-modal__header__items-area{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-templates-modal__header__item{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-sizing:content-box;box-sizing:content-box}.elementor-templates-modal__header__item>i{font-size:20px;-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s;cursor:pointer}.elementor-templates-modal__header__item>i:not(:hover){color:#a4afb7}.elementor-templates-modal__header__close--normal{width:47px;border-right:1px solid #e6e9ec}.elementor-templates-modal__header__close--normal i{font-size:18px}.elementor-templates-modal__header__close--skip{padding:10px 20px 10px 10px;margin-left:10px;color:#fff;background-color:#a4afb7;font-size:11px;font-weight:400;line-height:1;text-transform:uppercase;border-radius:2px;cursor:pointer}.elementor-templates-modal__header__close--skip>i{font-size:inherit;padding-right:10px;margin-right:15px;border-right:1px solid}.elementor-templates-modal__header__close--skip>i:not(:hover){color:#fff}.elementor-templates-modal__sidebar{-ms-flex-negative:0;flex-shrink:0;width:25%;background-color:hsla(0,0%,100%,.3)}.elementor-templates-modal__content{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-webkit-box-shadow:0 0 13px inset rgba(0,0,0,.05);box-shadow:inset 0 0 13px rgba(0,0,0,.05)}#wpadminbar #wp-admin-bar-elementor_edit_page .elementor-general-section+.elementor-second-section{border-top:1px solid #464b50;margin-top:6px}.elementor-hidden{display:none}.elementor-screen-only,.screen-reader-text,.screen-reader-text span,.ui-helper-hidden-accessible{position:absolute;top:-10000em;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0}.elementor-clearfix:after{content:"";display:block;clear:both;width:0;height:0}.e-logo-wrapper{background:#93003c;display:inline-block;padding:.75em;border-radius:50%;line-height:1}.e-logo-wrapper i{color:#fff;font-size:1em}#e-enable-unfiltered-files-dialog-import-template .dialog-confirm-ok{color:#39b54a}#e-enable-unfiltered-files-dialog-import-template .dialog-confirm-cancel{color:#b01b1b}.elementor{-webkit-hyphens:manual;-ms-hyphens:manual;hyphens:manual}.elementor *,.elementor :after,.elementor :before{-webkit-box-sizing:border-box;box-sizing:border-box}.elementor a{-webkit-box-shadow:none;box-shadow:none;text-decoration:none}.elementor hr{margin:0;background-color:transparent}.elementor img{height:auto;max-width:100%;border:none;border-radius:0;-webkit-box-shadow:none;box-shadow:none}.elementor .elementor-widget:not(.elementor-widget-text-editor):not(.elementor-widget-theme-post-content) figure{margin:0}.elementor embed,.elementor iframe,.elementor object,.elementor video{max-width:100%;width:100%;margin:0;line-height:1;border:none}.elementor .elementor-custom-embed{line-height:0}.elementor .elementor-background,.elementor .elementor-background-holder,.elementor .elementor-background-video-container{height:100%;width:100%;top:0;left:0;position:absolute;overflow:hidden;z-index:0;direction:ltr}.elementor .elementor-background-video-container{-webkit-transition:opacity 1s;-o-transition:opacity 1s;transition:opacity 1s;pointer-events:none}.elementor .elementor-background-video-container.elementor-loading{opacity:0}.elementor .elementor-background-video-embed{max-width:none}.elementor .elementor-background-video,.elementor .elementor-background-video-embed,.elementor .elementor-background-video-hosted{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.elementor .elementor-background-video{max-width:none}.elementor .elementor-html5-video{-o-object-fit:cover;object-fit:cover}.elementor .elementor-background-overlay{height:100%;width:100%;top:0;left:0;position:absolute}.elementor .elementor-background-slideshow{position:absolute;width:100%;height:100%;z-index:0;top:0;right:0}.elementor .elementor-background-slideshow__slide__image{width:100%;height:100%;background-position:50%;background-size:cover}.e-container>.elementor-element.elementor-absolute,.elementor-widget-wrap>.elementor-element.elementor-absolute{position:absolute}.e-container>.elementor-element.elementor-fixed,.elementor-widget-wrap>.elementor-element.elementor-fixed{position:fixed}.elementor-widget-wrap .elementor-element.elementor-widget__width-auto,.elementor-widget-wrap .elementor-element.elementor-widget__width-initial{max-width:100%}@media (max-width:1024px){.elementor-widget-wrap .elementor-element.elementor-widget-tablet__width-auto,.elementor-widget-wrap .elementor-element.elementor-widget-tablet__width-initial{max-width:100%}}@media (max-width:767px){.elementor-widget-wrap .elementor-element.elementor-widget-mobile__width-auto,.elementor-widget-wrap .elementor-element.elementor-widget-mobile__width-initial{max-width:100%}}.elementor-element{--flex-direction:initial;--flex-wrap:initial;--justify-content:initial;--align-items:initial;--align-content:initial;--gap:initial;--flex-basis:initial;--flex-grow:initial;--flex-shrink:initial;--order:initial;--align-self:initial;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:var(--flex-direction);flex-direction:var(--flex-direction);-ms-flex-wrap:var(--flex-wrap);flex-wrap:var(--flex-wrap);-webkit-box-pack:var(--justify-content);-ms-flex-pack:var(--justify-content);justify-content:var(--justify-content);-webkit-box-align:var(--align-items);-ms-flex-align:var(--align-items);align-items:var(--align-items);-ms-flex-line-pack:var(--align-content);align-content:var(--align-content);gap:var(--gap);-ms-flex-preferred-size:var(--flex-basis);flex-basis:var(--flex-basis);-webkit-box-flex:var(--flex-grow);-ms-flex-positive:var(--flex-grow);flex-grow:var(--flex-grow);-ms-flex-negative:var(--flex-shrink);flex-shrink:var(--flex-shrink);-webkit-box-ordinal-group:var(--order);-ms-flex-order:var(--order);order:var(--order);-ms-flex-item-align:var(--align-self);align-self:var(--align-self)}.elementor-element.elementor-absolute,.elementor-element.elementor-fixed{z-index:1}.elementor-invisible{visibility:hidden}.elementor-align-center{text-align:center}.elementor-align-center .elementor-button{width:auto}.elementor-align-right{text-align:right}.elementor-align-right .elementor-button{width:auto}.elementor-align-left{text-align:left}.elementor-align-left .elementor-button{width:auto}.elementor-align-justify .elementor-button{width:100%}.elementor-custom-embed-play{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.elementor-custom-embed-play i{font-size:100px;color:#fff;text-shadow:1px 0 6px rgba(0,0,0,.3)}.elementor-custom-embed-play svg{height:100px;width:100px;fill:#fff;-webkit-filter:drop-shadow(1px 0 6px rgba(0,0,0,.3));filter:drop-shadow(1px 0 6px rgba(0,0,0,.3))}.elementor-custom-embed-play i,.elementor-custom-embed-play svg{opacity:.8;-webkit-transition:all .5s;-o-transition:all .5s;transition:all .5s}.elementor-custom-embed-play.elementor-playing i{font-family:eicons}.elementor-custom-embed-play.elementor-playing i:before{content:"\e8fb"}.elementor-custom-embed-play.elementor-playing i,.elementor-custom-embed-play.elementor-playing svg{-webkit-animation:eicon-spin 2s linear infinite;animation:eicon-spin 2s linear infinite}.elementor-tag{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}.elementor-ken-burns{-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;-o-transition-property:transform;transition-property:transform;transition-property:transform,-webkit-transform;-webkit-transition-duration:10s;-o-transition-duration:10s;transition-duration:10s;-webkit-transition-timing-function:linear;-o-transition-timing-function:linear;transition-timing-function:linear}.elementor-ken-burns--out{-webkit-transform:scale(1.3);-ms-transform:scale(1.3);transform:scale(1.3)}.elementor-ken-burns--active{-webkit-transition-duration:20s;-o-transition-duration:20s;transition-duration:20s}.elementor-ken-burns--active.elementor-ken-burns--out{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.elementor-ken-burns--active.elementor-ken-burns--in{-webkit-transform:scale(1.3);-ms-transform:scale(1.3);transform:scale(1.3)}@media (min-width:-1px){.elementor-widescreen-align-center{text-align:center}.elementor-widescreen-align-center .elementor-button{width:auto}.elementor-widescreen-align-right{text-align:right}.elementor-widescreen-align-right .elementor-button{width:auto}.elementor-widescreen-align-left{text-align:left}.elementor-widescreen-align-left .elementor-button{width:auto}.elementor-widescreen-align-justify .elementor-button{width:100%}}@media (max-width:-1px){.elementor-laptop-align-center{text-align:center}.elementor-laptop-align-center .elementor-button{width:auto}.elementor-laptop-align-right{text-align:right}.elementor-laptop-align-right .elementor-button{width:auto}.elementor-laptop-align-left{text-align:left}.elementor-laptop-align-left .elementor-button{width:auto}.elementor-laptop-align-justify .elementor-button{width:100%}}@media (max-width:-1px){.elementor-tablet_extra-align-center{text-align:center}.elementor-tablet_extra-align-center .elementor-button{width:auto}.elementor-tablet_extra-align-right{text-align:right}.elementor-tablet_extra-align-right .elementor-button{width:auto}.elementor-tablet_extra-align-left{text-align:left}.elementor-tablet_extra-align-left .elementor-button{width:auto}.elementor-tablet_extra-align-justify .elementor-button{width:100%}}@media (max-width:1024px){.elementor-tablet-align-center{text-align:center}.elementor-tablet-align-center .elementor-button{width:auto}.elementor-tablet-align-right{text-align:right}.elementor-tablet-align-right .elementor-button{width:auto}.elementor-tablet-align-left{text-align:left}.elementor-tablet-align-left .elementor-button{width:auto}.elementor-tablet-align-justify .elementor-button{width:100%}}@media (max-width:-1px){.elementor-mobile_extra-align-center{text-align:center}.elementor-mobile_extra-align-center .elementor-button{width:auto}.elementor-mobile_extra-align-right{text-align:right}.elementor-mobile_extra-align-right .elementor-button{width:auto}.elementor-mobile_extra-align-left{text-align:left}.elementor-mobile_extra-align-left .elementor-button{width:auto}.elementor-mobile_extra-align-justify .elementor-button{width:100%}}@media (max-width:767px){.elementor-mobile-align-center{text-align:center}.elementor-mobile-align-center .elementor-button{width:auto}.elementor-mobile-align-right{text-align:right}.elementor-mobile-align-right .elementor-button{width:auto}.elementor-mobile-align-left{text-align:left}.elementor-mobile-align-left .elementor-button{width:auto}.elementor-mobile-align-justify .elementor-button{width:100%}}:root{--page-title-display:block}.elementor-page-title,h1.entry-title{display:var(--page-title-display)}@-webkit-keyframes eicon-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes eicon-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.eicon-animation-spin{-webkit-animation:eicon-spin 2s linear infinite;animation:eicon-spin 2s linear infinite}.elementor-section{position:relative}.elementor-section .elementor-container{display:-webkit-box;display:-ms-flexbox;display:flex;margin-right:auto;margin-left:auto;position:relative}@media (max-width:1024px){.elementor-section .elementor-container{-ms-flex-wrap:wrap;flex-wrap:wrap}}.elementor-section.elementor-section-boxed>.elementor-container{max-width:1140px}.elementor-section.elementor-section-stretched{position:relative;width:100%}.elementor-section.elementor-section-items-top>.elementor-container{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.elementor-section.elementor-section-items-middle>.elementor-container{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-section.elementor-section-items-bottom>.elementor-container{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}@media (min-width:768px){.elementor-section.elementor-section-height-full{height:100vh}.elementor-section.elementor-section-height-full>.elementor-container{height:100%}}.elementor-bc-flex-widget .elementor-section-content-top>.elementor-container>.elementor-column>.elementor-widget-wrap{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.elementor-bc-flex-widget .elementor-section-content-middle>.elementor-container>.elementor-column>.elementor-widget-wrap{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-bc-flex-widget .elementor-section-content-bottom>.elementor-container>.elementor-column>.elementor-widget-wrap{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.elementor-row{width:100%;display:-webkit-box;display:-ms-flexbox;display:flex}@media (max-width:1024px){.elementor-row{-ms-flex-wrap:wrap;flex-wrap:wrap}}.elementor-widget-wrap{position:relative;width:100%;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-line-pack:start;align-content:flex-start}.elementor:not(.elementor-bc-flex-widget) .elementor-widget-wrap{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-wrap>.elementor-element{width:100%}.elementor-widget-wrap.e-swiper-container{width:calc(100% - (var(--e-column-margin-left, 0px) + var(--e-column-margin-right, 0px)))}.elementor-widget{position:relative}.elementor-widget:not(:last-child){margin-bottom:20px}.elementor-widget:not(:last-child).elementor-absolute,.elementor-widget:not(:last-child).elementor-widget__width-auto,.elementor-widget:not(:last-child).elementor-widget__width-initial{margin-bottom:0}.elementor-column{min-height:1px}.elementor-column,.elementor-column-wrap{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-column-wrap{width:100%}.elementor-column-gap-narrow>.elementor-column>.elementor-element-populated{padding:5px}.elementor-column-gap-default>.elementor-column>.elementor-element-populated{padding:10px}.elementor-column-gap-extended>.elementor-column>.elementor-element-populated{padding:15px}.elementor-column-gap-wide>.elementor-column>.elementor-element-populated{padding:20px}.elementor-column-gap-wider>.elementor-column>.elementor-element-populated{padding:30px}.elementor-inner-section .elementor-column-gap-no .elementor-element-populated{padding:0}@media (min-width:768px){.elementor-column.elementor-col-10,.elementor-column[data-col="10"]{width:10%}.elementor-column.elementor-col-11,.elementor-column[data-col="11"]{width:11.111%}.elementor-column.elementor-col-12,.elementor-column[data-col="12"]{width:12.5%}.elementor-column.elementor-col-14,.elementor-column[data-col="14"]{width:14.285%}.elementor-column.elementor-col-16,.elementor-column[data-col="16"]{width:16.666%}.elementor-column.elementor-col-20,.elementor-column[data-col="20"]{width:20%}.elementor-column.elementor-col-25,.elementor-column[data-col="25"]{width:25%}.elementor-column.elementor-col-30,.elementor-column[data-col="30"]{width:30%}.elementor-column.elementor-col-33,.elementor-column[data-col="33"]{width:33.333%}.elementor-column.elementor-col-40,.elementor-column[data-col="40"]{width:40%}.elementor-column.elementor-col-50,.elementor-column[data-col="50"]{width:50%}.elementor-column.elementor-col-60,.elementor-column[data-col="60"]{width:60%}.elementor-column.elementor-col-66,.elementor-column[data-col="66"]{width:66.666%}.elementor-column.elementor-col-70,.elementor-column[data-col="70"]{width:70%}.elementor-column.elementor-col-75,.elementor-column[data-col="75"]{width:75%}.elementor-column.elementor-col-80,.elementor-column[data-col="80"]{width:80%}.elementor-column.elementor-col-83,.elementor-column[data-col="83"]{width:83.333%}.elementor-column.elementor-col-90,.elementor-column[data-col="90"]{width:90%}.elementor-column.elementor-col-100,.elementor-column[data-col="100"]{width:100%}}@media (max-width:479px){.elementor-column.elementor-xs-10{width:10%}.elementor-column.elementor-xs-11{width:11.111%}.elementor-column.elementor-xs-12{width:12.5%}.elementor-column.elementor-xs-14{width:14.285%}.elementor-column.elementor-xs-16{width:16.666%}.elementor-column.elementor-xs-20{width:20%}.elementor-column.elementor-xs-25{width:25%}.elementor-column.elementor-xs-30{width:30%}.elementor-column.elementor-xs-33{width:33.333%}.elementor-column.elementor-xs-40{width:40%}.elementor-column.elementor-xs-50{width:50%}.elementor-column.elementor-xs-60{width:60%}.elementor-column.elementor-xs-66{width:66.666%}.elementor-column.elementor-xs-70{width:70%}.elementor-column.elementor-xs-75{width:75%}.elementor-column.elementor-xs-80{width:80%}.elementor-column.elementor-xs-83{width:83.333%}.elementor-column.elementor-xs-90{width:90%}.elementor-column.elementor-xs-100{width:100%}}@media (max-width:767px){.elementor-column.elementor-sm-10{width:10%}.elementor-column.elementor-sm-11{width:11.111%}.elementor-column.elementor-sm-12{width:12.5%}.elementor-column.elementor-sm-14{width:14.285%}.elementor-column.elementor-sm-16{width:16.666%}.elementor-column.elementor-sm-20{width:20%}.elementor-column.elementor-sm-25{width:25%}.elementor-column.elementor-sm-30{width:30%}.elementor-column.elementor-sm-33{width:33.333%}.elementor-column.elementor-sm-40{width:40%}.elementor-column.elementor-sm-50{width:50%}.elementor-column.elementor-sm-60{width:60%}.elementor-column.elementor-sm-66{width:66.666%}.elementor-column.elementor-sm-70{width:70%}.elementor-column.elementor-sm-75{width:75%}.elementor-column.elementor-sm-80{width:80%}.elementor-column.elementor-sm-83{width:83.333%}.elementor-column.elementor-sm-90{width:90%}.elementor-column.elementor-sm-100{width:100%}}@media (min-width:768px) and (max-width:1024px){.elementor-column.elementor-md-10{width:10%}.elementor-column.elementor-md-11{width:11.111%}.elementor-column.elementor-md-12{width:12.5%}.elementor-column.elementor-md-14{width:14.285%}.elementor-column.elementor-md-16{width:16.666%}.elementor-column.elementor-md-20{width:20%}.elementor-column.elementor-md-25{width:25%}.elementor-column.elementor-md-30{width:30%}.elementor-column.elementor-md-33{width:33.333%}.elementor-column.elementor-md-40{width:40%}.elementor-column.elementor-md-50{width:50%}.elementor-column.elementor-md-60{width:60%}.elementor-column.elementor-md-66{width:66.666%}.elementor-column.elementor-md-70{width:70%}.elementor-column.elementor-md-75{width:75%}.elementor-column.elementor-md-80{width:80%}.elementor-column.elementor-md-83{width:83.333%}.elementor-column.elementor-md-90{width:90%}.elementor-column.elementor-md-100{width:100%}}@media (min-width:-1px){.elementor-reverse-widescreen>.elementor-container>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-widescreen>.elementor-container>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-widescreen>.elementor-container>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-widescreen>.elementor-container>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-widescreen>.elementor-container>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-widescreen>.elementor-container>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-widescreen>.elementor-container>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-widescreen>.elementor-container>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-widescreen>.elementor-container>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-widescreen>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:1025px) and (max-width:-1px){.elementor-reverse-laptop>.elementor-container>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-laptop>.elementor-container>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-laptop>.elementor-container>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-laptop>.elementor-container>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-laptop>.elementor-container>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-laptop>.elementor-container>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-laptop>.elementor-container>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-laptop>.elementor-container>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-laptop>.elementor-container>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-laptop>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:-1px) and (max-width:-1px){.elementor-reverse-laptop>.elementor-container>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-laptop>.elementor-container>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-laptop>.elementor-container>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-laptop>.elementor-container>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-laptop>.elementor-container>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-laptop>.elementor-container>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-laptop>.elementor-container>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-laptop>.elementor-container>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-laptop>.elementor-container>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-laptop>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:1025px) and (max-width:-1px){.elementor-reverse-laptop>.elementor-container>:first-child,.elementor-reverse-laptop>.elementor-container>:nth-child(2),.elementor-reverse-laptop>.elementor-container>:nth-child(3),.elementor-reverse-laptop>.elementor-container>:nth-child(4),.elementor-reverse-laptop>.elementor-container>:nth-child(5),.elementor-reverse-laptop>.elementor-container>:nth-child(6),.elementor-reverse-laptop>.elementor-container>:nth-child(7),.elementor-reverse-laptop>.elementor-container>:nth-child(8),.elementor-reverse-laptop>.elementor-container>:nth-child(9),.elementor-reverse-laptop>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:initial;-ms-flex-order:initial;order:0}.elementor-reverse-tablet_extra>.elementor-container>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:768px) and (max-width:1024px){.elementor-reverse-tablet>.elementor-container>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-tablet>.elementor-container>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-tablet>.elementor-container>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-tablet>.elementor-container>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-tablet>.elementor-container>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-tablet>.elementor-container>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-tablet>.elementor-container>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-tablet>.elementor-container>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-tablet>.elementor-container>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-tablet>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:-1px) and (max-width:1024px){.elementor-reverse-tablet>.elementor-container>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-tablet>.elementor-container>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-tablet>.elementor-container>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-tablet>.elementor-container>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-tablet>.elementor-container>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-tablet>.elementor-container>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-tablet>.elementor-container>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-tablet>.elementor-container>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-tablet>.elementor-container>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-tablet>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:768px) and (max-width:-1px){.elementor-reverse-tablet>.elementor-container>:first-child,.elementor-reverse-tablet>.elementor-container>:nth-child(2),.elementor-reverse-tablet>.elementor-container>:nth-child(3),.elementor-reverse-tablet>.elementor-container>:nth-child(4),.elementor-reverse-tablet>.elementor-container>:nth-child(5),.elementor-reverse-tablet>.elementor-container>:nth-child(6),.elementor-reverse-tablet>.elementor-container>:nth-child(7),.elementor-reverse-tablet>.elementor-container>:nth-child(8),.elementor-reverse-tablet>.elementor-container>:nth-child(9),.elementor-reverse-tablet>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:initial;-ms-flex-order:initial;order:0}.elementor-reverse-mobile_extra>.elementor-container>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (max-width:767px){.elementor-reverse-mobile>.elementor-container>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-mobile>.elementor-container>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-mobile>.elementor-container>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-mobile>.elementor-container>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-mobile>.elementor-container>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-mobile>.elementor-container>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-mobile>.elementor-container>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-mobile>.elementor-container>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-mobile>.elementor-container>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-mobile>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.elementor-column{width:100%}}ul.elementor-icon-list-items.elementor-inline-items{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}ul.elementor-icon-list-items.elementor-inline-items .elementor-inline-item{word-break:break-word}.elementor-grid{display:grid;grid-column-gap:var(--grid-column-gap);grid-row-gap:var(--grid-row-gap)}.elementor-grid .elementor-grid-item{min-width:0}.elementor-grid-0 .elementor-grid{display:inline-block;width:100%;word-spacing:var(--grid-column-gap);margin-bottom:calc(-1 * var(--grid-row-gap))}.elementor-grid-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-bottom:var(--grid-row-gap);word-break:break-word}.elementor-grid-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}@media (min-width:-1px){.elementor-grid-widescreen-0 .elementor-grid{display:inline-block;width:100%;word-spacing:var(--grid-column-gap);margin-bottom:calc(-1 * var(--grid-row-gap))}.elementor-grid-widescreen-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-bottom:var(--grid-row-gap);word-break:break-word}.elementor-grid-widescreen-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-widescreen-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-widescreen-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-widescreen-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-widescreen-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-widescreen-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-widescreen-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-widescreen-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-widescreen-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-widescreen-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-widescreen-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-widescreen-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}}@media (max-width:-1px){.elementor-grid-laptop-0 .elementor-grid{display:inline-block;width:100%;word-spacing:var(--grid-column-gap);margin-bottom:calc(-1 * var(--grid-row-gap))}.elementor-grid-laptop-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-bottom:var(--grid-row-gap);word-break:break-word}.elementor-grid-laptop-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-laptop-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-laptop-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-laptop-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-laptop-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-laptop-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-laptop-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-laptop-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-laptop-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-laptop-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-laptop-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-laptop-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}}@media (max-width:-1px){.elementor-grid-tablet_extra-0 .elementor-grid{display:inline-block;width:100%;word-spacing:var(--grid-column-gap);margin-bottom:calc(-1 * var(--grid-row-gap))}.elementor-grid-tablet_extra-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-bottom:var(--grid-row-gap);word-break:break-word}.elementor-grid-tablet_extra-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-tablet_extra-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-tablet_extra-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-tablet_extra-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-tablet_extra-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-tablet_extra-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-tablet_extra-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-tablet_extra-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-tablet_extra-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-tablet_extra-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-tablet_extra-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-tablet_extra-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}}@media (max-width:1024px){.elementor-grid-tablet-0 .elementor-grid{display:inline-block;width:100%;word-spacing:var(--grid-column-gap);margin-bottom:calc(-1 * var(--grid-row-gap))}.elementor-grid-tablet-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-bottom:var(--grid-row-gap);word-break:break-word}.elementor-grid-tablet-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-tablet-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-tablet-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-tablet-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-tablet-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-tablet-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-tablet-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-tablet-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-tablet-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-tablet-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-tablet-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-tablet-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}}@media (max-width:-1px){.elementor-grid-mobile_extra-0 .elementor-grid{display:inline-block;width:100%;word-spacing:var(--grid-column-gap);margin-bottom:calc(-1 * var(--grid-row-gap))}.elementor-grid-mobile_extra-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-bottom:var(--grid-row-gap);word-break:break-word}.elementor-grid-mobile_extra-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-mobile_extra-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-mobile_extra-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-mobile_extra-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-mobile_extra-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-mobile_extra-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-mobile_extra-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-mobile_extra-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-mobile_extra-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-mobile_extra-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-mobile_extra-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-mobile_extra-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}}@media (max-width:767px){.elementor-grid-mobile-0 .elementor-grid{display:inline-block;width:100%;word-spacing:var(--grid-column-gap);margin-bottom:calc(-1 * var(--grid-row-gap))}.elementor-grid-mobile-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-bottom:var(--grid-row-gap);word-break:break-word}.elementor-grid-mobile-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-mobile-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-mobile-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-mobile-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-mobile-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-mobile-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-mobile-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-mobile-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-mobile-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-mobile-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-mobile-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-mobile-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}}@media (min-width:1025px){#elementor-device-mode:after{content:"desktop"}}@media (min-width:-1px){#elementor-device-mode:after{content:"widescreen"}}@media (max-width:-1px){#elementor-device-mode:after{content:"laptop";content:"tablet_extra"}}@media (max-width:1024px){#elementor-device-mode:after{content:"tablet"}}@media (max-width:-1px){#elementor-device-mode:after{content:"mobile_extra"}}@media (max-width:767px){#elementor-device-mode:after{content:"mobile"}}.e-container{--border-radius:0;--display:flex;--flex-direction:column;--flex-basis:auto;--flex-grow:0;--flex-shrink:1;--content-width:Min(100%,var(--container-max-width,1140px));--width:100%;--min-height:initial;--height:auto;--text-align:initial;--margin-top:0;--margin-right:0;--margin-bottom:0;--margin-left:0;--padding-top:var(--container-default-padding,0px);--padding-right:var(--container-default-padding,0px);--padding-bottom:var(--container-default-padding,0px);--padding-left:var(--container-default-padding,0px);--position:relative;--z-index:revert;--overflow:visible;--transition:0;--gap:var(--widgets-spacing,20px);--overlay-mix-blend-mode:initial;--overlay-opacity:1;--overlay-transition:0;position:var(--position);display:var(--display);text-align:var(--text-align);-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:var(--flex-direction);flex-direction:var(--flex-direction);-webkit-box-flex:var(--flex-grow);-ms-flex:var(--flex-grow) var(--flex-shrink) var(--flex-basis);flex:var(--flex-grow) var(--flex-shrink) var(--flex-basis);width:var(--width);min-width:0;max-width:min(100%,var(--width));min-height:var(--min-height);height:var(--height);border-radius:var(--border-radius);margin:var(--margin-top) var(--margin-right) var(--margin-bottom) var(--margin-left);padding:var(--padding-top) calc((100% - var(--content-width)) / 2 + var(--padding-right)) var(--padding-bottom) calc((100% - var(--content-width)) / 2 + var(--padding-left));z-index:var(--z-index);overflow:var(--overflow);-webkit-transition:var(--transition);-o-transition:var(--transition);transition:var(--transition)}:is(.elementor-section-wrap,[data-elementor-id])>.e-container{--margin-right:auto;--margin-left:auto}.e-container .elementor-empty-view{position:relative;width:100%;height:100%;min-height:var(--min-height,100px)}.e-container .elementor-empty-view .elementor-first-add{width:auto;height:auto;inset:10px}.e-container .elementor-widget-placeholder{--size:10px;--margin-start:calc(-1 * var(--size));--margin-end:calc(-2 * var(--size));-ms-flex-negative:0;flex-shrink:0;-ms-flex-item-align:stretch;align-self:stretch;z-index:1;pointer-events:none}.e-container.e-container--row>.elementor-widget-placeholder{position:relative;z-index:9999;width:var(--size);-webkit-margin-start:var(--margin-start);margin-inline-start:var(--margin-start);height:auto;min-height:100%;-webkit-animation-name:dnd-placeholder-widget-vertical;animation-name:dnd-placeholder-widget-vertical;-webkit-animation-fill-mode:both;animation-fill-mode:both}.e-container.e-container--row[data-nesting-level]:not([data-nesting-level="0"])>.elementor-widget-placeholder{-webkit-margin-end:0;margin-inline-end:0;-webkit-margin-start:calc(var(--margin-start) + var(--margin-end));margin-inline-start:calc(var(--margin-start) + var(--margin-end))}.e-container.e-container--row[data-nesting-level]:not([data-nesting-level="0"])>:not(.elementor-element)+.elementor-widget-placeholder{-webkit-margin-end:var(--margin-end);margin-inline-end:var(--margin-end);-webkit-margin-start:var(--margin-start);margin-inline-start:var(--margin-start)}.e-container.e-container--column>.elementor-widget-placeholder{height:var(--size);-webkit-margin-before:var(--margin-start);margin-block-start:var(--margin-start);-webkit-margin-after:var(--margin-end);margin-block-end:var(--margin-end);-webkit-animation-name:dnd-placeholder-widget-horizontal;animation-name:dnd-placeholder-widget-horizontal}.e-container.e-container--column>.elementor-widget-placeholder:nth-last-child(2){-webkit-margin-before:calc(2 * var(--margin-start));margin-block-start:calc(2 * var(--margin-start));--margin-end:0}.e-container .elementor-sortable-helper{height:84px;width:125px;z-index:-1}.e-container .elementor-widget.elementor-widget{margin-bottom:0}.e-container:before{content:var(--background-overlay);display:block;position:absolute;z-index:0;width:100%;height:100%;left:0;top:0;mix-blend-mode:var(--overlay-mix-blend-mode);opacity:var(--overlay-opacity);-webkit-transition:var(--overlay-transition);-o-transition:var(--overlay-transition);transition:var(--overlay-transition);border-radius:var(--border-radius)}.e-container .elementor-widget{min-width:0}.e-container .elementor-widget-google_maps,.e-container .elementor-widget-video{-ms-flex-preferred-size:100%;flex-basis:100%}.e-container .elementor-widget.e-widget-swiper{max-width:100%;-ms-flex-preferred-size:100%;flex-basis:100%}.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-setting,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-setting{position:relative;background-color:#556068}.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-setting:hover,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-setting:hover{background-color:#495157}.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-setting.elementor-editor-element-add,.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-setting.elementor-editor-element-edit+.elementor-editor-element-remove,.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-setting:first-child:before,.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-setting:last-child:after,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-setting.elementor-editor-element-add,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-setting.elementor-editor-element-edit+.elementor-editor-element-remove,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-setting:first-child:before,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-setting:last-child:after{display:none}.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-setting:not(.elementor-editor-element-edit),.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-setting:not(.elementor-editor-element-edit){-webkit-margin-start:-25px;margin-inline-start:-25px;z-index:-1;-webkit-transition:all .3s;-o-transition:.3s all;transition:all .3s;will-change:margin-inline-start}.e-container>.e-container>.elementor-element-overlay>.elementor-editor-element-settings:hover>:is(.elementor-editor-element-duplicate,.elementor-editor-element-remove),.elementor-widget .e-container>.elementor-element-overlay>.elementor-editor-element-settings:hover>:is(.elementor-editor-element-duplicate,.elementor-editor-element-remove){-webkit-margin-start:0;margin-inline-start:0}.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-settings,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-settings{inset:auto;-webkit-transform:none;-ms-transform:none;transform:none;inset-inline-start:0;top:0;border-radius:0;border-end-end-radius:3px;height:auto;background-color:#556068}.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-settings:hover,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-settings:hover{background-color:#495157}.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-settings i.eicon-handle:before,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-settings i.eicon-handle:before{content:"\e9b4";font-size:20px;display:block;padding:2px}@media (max-width:767px){.e-container{--width:100%;--flex-wrap:wrap}}@-webkit-keyframes dnd-placeholder-widget-vertical{0%{-webkit-transform-origin:0 50%;transform-origin:0 50%;-webkit-transform:translateX(50%) scaleX(0);transform:translateX(50%) scaleX(0);opacity:0}to{-webkit-transform-origin:0 50%;transform-origin:0 50%;-webkit-transform:translateX(50%) scaleX(1);transform:translateX(50%) scaleX(1);opacity:.9}}@keyframes dnd-placeholder-widget-vertical{0%{-webkit-transform-origin:0 50%;transform-origin:0 50%;-webkit-transform:translateX(50%) scaleX(0);transform:translateX(50%) scaleX(0);opacity:0}to{-webkit-transform-origin:0 50%;transform-origin:0 50%;-webkit-transform:translateX(50%) scaleX(1);transform:translateX(50%) scaleX(1);opacity:.9}}@-webkit-keyframes dnd-placeholder-widget-horizontal{0%{-webkit-transform-origin:50% 0;transform-origin:50% 0;-webkit-transform:scaleY(0);transform:scaleY(0);opacity:0}to{-webkit-transform-origin:50% 0;transform-origin:50% 0;-webkit-transform:scaleY(1);transform:scaleY(1);opacity:.9}}@keyframes dnd-placeholder-widget-horizontal{0%{-webkit-transform-origin:50% 0;transform-origin:50% 0;-webkit-transform:scaleY(0);transform:scaleY(0);opacity:0}to{-webkit-transform-origin:50% 0;transform-origin:50% 0;-webkit-transform:scaleY(1);transform:scaleY(1);opacity:.9}}.elementor-form-fields-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group .elementor-field-subgroup,.elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group>.elementor-select-wrapper,.elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group>input,.elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group>textarea{-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.elementor-form-fields-wrapper.elementor-labels-inline>.elementor-field-group .elementor-select-wrapper,.elementor-form-fields-wrapper.elementor-labels-inline>.elementor-field-group>input{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-field-group{-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-field-group.elementor-field-type-submit{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.elementor-field-group .elementor-field-textual{width:100%;max-width:100%;border:1px solid #818a91;background-color:transparent;color:#373a3c;vertical-align:middle;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-field-group .elementor-field-textual:focus{-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.1) inset;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);outline:0}.elementor-field-group .elementor-field-textual::-webkit-input-placeholder{color:inherit;font-family:inherit;opacity:.6}.elementor-field-group .elementor-field-textual:-ms-input-placeholder{color:inherit;font-family:inherit;opacity:.6}.elementor-field-group .elementor-field-textual:-moz-placeholder,.elementor-field-group .elementor-field-textual::-moz-placeholder{color:inherit;font-family:inherit;opacity:.6}.elementor-field-group .elementor-field-textual::-ms-input-placeholder{color:inherit;font-family:inherit;opacity:.6}.elementor-field-group .elementor-field-textual::placeholder{color:inherit;font-family:inherit;opacity:.6}.elementor-field-group .elementor-select-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;position:relative;width:100%}.elementor-field-group .elementor-select-wrapper select{appearance:none;-webkit-appearance:none;-moz-appearance:none;color:inherit;font-size:inherit;font-family:inherit;font-weight:inherit;font-style:inherit;text-transform:inherit;letter-spacing:inherit;line-height:inherit;-ms-flex-preferred-size:100%;flex-basis:100%;padding-left:20px}.elementor-field-group .elementor-select-wrapper:before{content:"\e92a";font-family:eicons;font-size:15px;position:absolute;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);left:10px;pointer-events:none;text-shadow:0 0 3px rgba(0,0,0,.3)}.elementor-field-group.elementor-field-type-select-multiple .elementor-select-wrapper:before{content:""}.elementor-field-subgroup{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.elementor-field-subgroup .elementor-field-option label{display:inline-block}.elementor-field-subgroup.elementor-subgroup-inline .elementor-field-option{padding-left:10px}.elementor-field-subgroup:not(.elementor-subgroup-inline) .elementor-field-option{-ms-flex-preferred-size:100%;flex-basis:100%}.elementor-field-type-acceptance .elementor-field-subgroup .elementor-field-option input,.elementor-field-type-acceptance .elementor-field-subgroup .elementor-field-option label,.elementor-field-type-checkbox .elementor-field-subgroup .elementor-field-option input,.elementor-field-type-checkbox .elementor-field-subgroup .elementor-field-option label,.elementor-field-type-radio .elementor-field-subgroup .elementor-field-option input,.elementor-field-type-radio .elementor-field-subgroup .elementor-field-option label{display:inline}.elementor-field-label{cursor:pointer}.elementor-mark-required .elementor-field-label:after{content:"*";color:red;padding-right:.2em}.elementor-field-textual{line-height:1.4;font-size:15px;min-height:40px;padding:5px 14px;border-radius:3px}.elementor-field-textual.elementor-size-xs{font-size:13px;min-height:33px;padding:4px 12px;border-radius:2px}.elementor-field-textual.elementor-size-md{font-size:16px;min-height:47px;padding:6px 16px;border-radius:4px}.elementor-field-textual.elementor-size-lg{font-size:18px;min-height:59px;padding:7px 20px;border-radius:5px}.elementor-field-textual.elementor-size-xl{font-size:20px;min-height:72px;padding:8px 24px;border-radius:6px}.elementor-button-align-stretch .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button{-ms-flex-preferred-size:100%;flex-basis:100%}.elementor-button-align-stretch .e-form__buttons__wrapper{-ms-flex-preferred-size:50%;flex-basis:50%;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-button-align-stretch .e-form__buttons__wrapper__button{-ms-flex-preferred-size:100%;flex-basis:100%}.elementor-button-align-center .e-form__buttons,.elementor-button-align-center .elementor-field-type-submit{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-button-align-start .e-form__buttons,.elementor-button-align-start .elementor-field-type-submit{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-button-align-end .e-form__buttons,.elementor-button-align-end .elementor-field-type-submit{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-button-align-center .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button,.elementor-button-align-end .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button,.elementor-button-align-start .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button{-ms-flex-preferred-size:initial;flex-basis:auto}.elementor-button-align-center .e-form__buttons__wrapper,.elementor-button-align-end .e-form__buttons__wrapper,.elementor-button-align-start .e-form__buttons__wrapper{-webkit-box-flex:initial;-ms-flex-positive:initial;flex-grow:0}.elementor-button-align-center .e-form__buttons__wrapper,.elementor-button-align-center .e-form__buttons__wrapper__button,.elementor-button-align-end .e-form__buttons__wrapper,.elementor-button-align-end .e-form__buttons__wrapper__button,.elementor-button-align-start .e-form__buttons__wrapper,.elementor-button-align-start .e-form__buttons__wrapper__button{-ms-flex-preferred-size:initial;flex-basis:auto}@media screen and (max-width:1024px){.elementor-tablet-button-align-stretch .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button{-ms-flex-preferred-size:100%;flex-basis:100%}.elementor-tablet-button-align-stretch .e-form__buttons__wrapper{-ms-flex-preferred-size:50%;flex-basis:50%;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-tablet-button-align-stretch .e-form__buttons__wrapper__button{-ms-flex-preferred-size:100%;flex-basis:100%}.elementor-tablet-button-align-center .e-form__buttons,.elementor-tablet-button-align-center .elementor-field-type-submit{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-tablet-button-align-start .e-form__buttons,.elementor-tablet-button-align-start .elementor-field-type-submit{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-tablet-button-align-end .e-form__buttons,.elementor-tablet-button-align-end .elementor-field-type-submit{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-tablet-button-align-center .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button,.elementor-tablet-button-align-end .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button,.elementor-tablet-button-align-start .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button{-ms-flex-preferred-size:initial;flex-basis:auto}.elementor-tablet-button-align-center .e-form__buttons__wrapper,.elementor-tablet-button-align-end .e-form__buttons__wrapper,.elementor-tablet-button-align-start .e-form__buttons__wrapper{-webkit-box-flex:initial;-ms-flex-positive:initial;flex-grow:0}.elementor-tablet-button-align-center .e-form__buttons__wrapper,.elementor-tablet-button-align-center .e-form__buttons__wrapper__button,.elementor-tablet-button-align-end .e-form__buttons__wrapper,.elementor-tablet-button-align-end .e-form__buttons__wrapper__button,.elementor-tablet-button-align-start .e-form__buttons__wrapper,.elementor-tablet-button-align-start .e-form__buttons__wrapper__button{-ms-flex-preferred-size:initial;flex-basis:auto}}@media screen and (max-width:767px){.elementor-mobile-button-align-stretch .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button{-ms-flex-preferred-size:100%;flex-basis:100%}.elementor-mobile-button-align-stretch .e-form__buttons__wrapper{-ms-flex-preferred-size:50%;flex-basis:50%;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-mobile-button-align-stretch .e-form__buttons__wrapper__button{-ms-flex-preferred-size:100%;flex-basis:100%}.elementor-mobile-button-align-center .e-form__buttons,.elementor-mobile-button-align-center .elementor-field-type-submit{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-mobile-button-align-start .e-form__buttons,.elementor-mobile-button-align-start .elementor-field-type-submit{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-mobile-button-align-end .e-form__buttons,.elementor-mobile-button-align-end .elementor-field-type-submit{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-mobile-button-align-center .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button,.elementor-mobile-button-align-end .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button,.elementor-mobile-button-align-start .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button{-ms-flex-preferred-size:initial;flex-basis:auto}.elementor-mobile-button-align-center .e-form__buttons__wrapper,.elementor-mobile-button-align-end .e-form__buttons__wrapper,.elementor-mobile-button-align-start .e-form__buttons__wrapper{-webkit-box-flex:initial;-ms-flex-positive:initial;flex-grow:0}.elementor-mobile-button-align-center .e-form__buttons__wrapper,.elementor-mobile-button-align-center .e-form__buttons__wrapper__button,.elementor-mobile-button-align-end .e-form__buttons__wrapper,.elementor-mobile-button-align-end .e-form__buttons__wrapper__button,.elementor-mobile-button-align-start .e-form__buttons__wrapper,.elementor-mobile-button-align-start .e-form__buttons__wrapper__button{-ms-flex-preferred-size:initial;flex-basis:auto}}.elementor-error .elementor-field{border-color:#d9534f}.elementor-error .help-inline{color:#d9534f;font-size:.9em}.elementor-message{margin:10px 0;font-size:1em;line-height:1}.elementor-message:before{content:"\e90e";display:inline-block;font-family:eicons;font-weight:400;font-style:normal;vertical-align:middle;margin-left:5px}.elementor-message.elementor-message-danger{color:#d9534f}.elementor-message.elementor-message-danger:before{content:"\e87f"}.elementor-message.form-message-success{color:#5cb85c}.elementor-form .elementor-button{padding-top:0;padding-bottom:0;border:none}.elementor-form .elementor-button>span{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-form .elementor-button.elementor-size-xs{min-height:33px}.elementor-form .elementor-button.elementor-size-sm{min-height:40px}.elementor-form .elementor-button.elementor-size-md{min-height:47px}.elementor-form .elementor-button.elementor-size-lg{min-height:59px}.elementor-form .elementor-button.elementor-size-xl{min-height:72px}.elementor-element .elementor-widget-container{-webkit-transition:background .3s,border .3s,border-radius .3s,-webkit-box-shadow .3s;transition:background .3s,border .3s,border-radius .3s,-webkit-box-shadow .3s;-o-transition:background .3s,border .3s,border-radius .3s,box-shadow .3s;transition:background .3s,border .3s,border-radius .3s,box-shadow .3s;transition:background .3s,border .3s,border-radius .3s,box-shadow .3s,-webkit-box-shadow .3s}.elementor-button{display:inline-block;line-height:1;background-color:#818a91;font-size:15px;padding:12px 24px;border-radius:3px;color:#fff;fill:#fff;text-align:center;-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s}.elementor-button:focus,.elementor-button:hover,.elementor-button:visited{color:#fff}.elementor-button-content-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-button-icon{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-button-icon svg{width:1em;height:auto}.elementor-button-icon .e-font-icon-svg{height:1em}.elementor-button-text{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10;display:inline-block}.elementor-button.elementor-size-xs{font-size:13px;padding:10px 20px;border-radius:2px}.elementor-button.elementor-size-md{font-size:16px;padding:15px 30px;border-radius:4px}.elementor-button.elementor-size-lg{font-size:18px;padding:20px 40px;border-radius:5px}.elementor-button.elementor-size-xl{font-size:20px;padding:25px 50px;border-radius:6px}.elementor-button .elementor-align-icon-right{margin-left:5px;-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-button .elementor-align-icon-left{margin-right:5px;-webkit-box-ordinal-group:16;-ms-flex-order:15;order:15}.elementor-button span{text-decoration:inherit}.elementor-element.elementor-button-info .elementor-button{background-color:#5bc0de}.elementor-element.elementor-button-success .elementor-button{background-color:#5cb85c}.elementor-element.elementor-button-warning .elementor-button{background-color:#f0ad4e}.elementor-element.elementor-button-danger .elementor-button{background-color:#d9534f}.elementor-widget-button .elementor-button .elementor-button-info{background-color:#5bc0de}.elementor-widget-button .elementor-button .elementor-button-success{background-color:#5cb85c}.elementor-widget-button .elementor-button .elementor-button-warning{background-color:#f0ad4e}.elementor-widget-button .elementor-button .elementor-button-danger{background-color:#d9534f}.elementor-tab-title a{color:inherit}.elementor-view-stacked .elementor-icon{padding:.5em;background-color:#818a91;color:#fff;fill:#fff}.elementor-view-framed .elementor-icon{padding:.5em;color:#818a91;border:3px solid #818a91;background-color:transparent}.elementor-icon{display:inline-block;line-height:1;-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s;color:#818a91;font-size:50px;text-align:center}.elementor-icon:hover{color:#818a91}.elementor-icon i,.elementor-icon svg{width:1em;height:1em;position:relative;display:block}.elementor-icon i:before,.elementor-icon svg:before{position:absolute;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.elementor-icon i.fad{width:auto}.elementor-shape-circle .elementor-icon{border-radius:50%}.e-transform .elementor-widget-container{-webkit-transform:perspective(var(--e-transform-perspective,0)) rotate(var(--e-transform-rotateZ,0)) rotateX(var(--e-transform-rotateX,0)) rotateY(var(--e-transform-rotateY,0)) translate(var(--e-transform-translate,0)) translateX(var(--e-transform-translateX,0)) translateY(var(--e-transform-translateY,0)) scaleX(calc(var(--e-transform-flipX, 1) * var(--e-transform-scaleX, var(--e-transform-scale, 1)))) scaleY(calc(var(--e-transform-flipY, 1) * var(--e-transform-scaleY, var(--e-transform-scale, 1)))) skewX(var(--e-transform-skewX,0)) skewY(var(--e-transform-skewY,0));transform:perspective(var(--e-transform-perspective,0)) rotate(var(--e-transform-rotateZ,0)) rotateX(var(--e-transform-rotateX,0)) rotateY(var(--e-transform-rotateY,0)) translate(var(--e-transform-translate,0)) translateX(var(--e-transform-translateX,0)) translateY(var(--e-transform-translateY,0)) scaleX(calc(var(--e-transform-flipX, 1) * var(--e-transform-scaleX, var(--e-transform-scale, 1)))) scaleY(calc(var(--e-transform-flipY, 1) * var(--e-transform-scaleY, var(--e-transform-scale, 1)))) skewX(var(--e-transform-skewX,0)) skewY(var(--e-transform-skewY,0));-webkit-transform-origin:var(--e-transform-origin-y) var(--e-transform-origin-x);-ms-transform-origin:var(--e-transform-origin-y) var(--e-transform-origin-x);transform-origin:var(--e-transform-origin-y) var(--e-transform-origin-x);-webkit-transition:-webkit-transform var(--e-transform-transition-duration,.4s);transition:-webkit-transform var(--e-transform-transition-duration,.4s);-o-transition:transform var(--e-transform-transition-duration,.4s);transition:transform var(--e-transform-transition-duration,.4s);transition:transform var(--e-transform-transition-duration,.4s),-webkit-transform var(--e-transform-transition-duration,.4s)}.swiper-container{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;z-index:1}.swiper-container .swiper-slide figure{line-height:0}.swiper-container .elementor-lightbox-content-source{display:none}.swiper-container-no-flexbox .swiper-slide{float:left}.swiper-container-vertical>.swiper-wrapper{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;-o-transition-property:transform;transition-property:transform;transition-property:transform,-webkit-transform;-webkit-box-sizing:content-box;box-sizing:content-box}.swiper-container-android .swiper-slide,.swiper-wrapper{-webkit-transform:translateZ(0);transform:translateZ(0)}.swiper-container-multirow>.swiper-wrapper{-ms-flex-wrap:wrap;flex-wrap:wrap}.swiper-container-free-mode>.swiper-wrapper{-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;margin:0 auto}.swiper-slide{-ms-flex-negative:0;flex-shrink:0;width:100%;height:100%;position:relative}.swiper-container-autoheight,.swiper-container-autoheight .swiper-slide{height:auto}.swiper-container-autoheight .swiper-wrapper{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-transition-property:height,-webkit-transform;transition-property:height,-webkit-transform;-o-transition-property:transform,height;transition-property:transform,height;transition-property:transform,height,-webkit-transform}.swiper-container .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-wp8-horizontal{-ms-touch-action:pan-y;touch-action:pan-y}.swiper-wp8-vertical{-ms-touch-action:pan-x;touch-action:pan-x}.swiper-button-next,.swiper-button-prev{position:absolute;top:50%;width:27px;height:44px;margin-top:-22px;z-index:10;cursor:pointer;background-size:27px 44px;background:no-repeat 50%}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-prev,.swiper-container-rtl .swiper-button-next{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 44'%3E%3Cpath d='M0 22L22 0l2.1 2.1L4.2 22l19.9 19.9L22 44 0 22z' fill='%23007aff'/%3E%3C/svg%3E");left:10px;right:auto}.swiper-button-prev.swiper-button-black,.swiper-container-rtl .swiper-button-next.swiper-button-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 44'%3E%3Cpath d='M0 22L22 0l2.1 2.1L4.2 22l19.9 19.9L22 44 0 22z'/%3E%3C/svg%3E")}.swiper-button-prev.swiper-button-white,.swiper-container-rtl .swiper-button-next.swiper-button-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 44'%3E%3Cpath d='M0 22L22 0l2.1 2.1L4.2 22l19.9 19.9L22 44 0 22z' fill='%23fff'/%3E%3C/svg%3E")}.swiper-button-next,.swiper-container-rtl .swiper-button-prev{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 44'%3E%3Cpath d='M27 22L5 44l-2.1-2.1L22.8 22 2.9 2.1 5 0l22 22z' fill='%23007aff'/%3E%3C/svg%3E");right:10px;left:auto}.swiper-button-next.swiper-button-black,.swiper-container-rtl .swiper-button-prev.swiper-button-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 44'%3E%3Cpath d='M27 22L5 44l-2.1-2.1L22.8 22 2.9 2.1 5 0l22 22z'/%3E%3C/svg%3E")}.swiper-button-next.swiper-button-white,.swiper-container-rtl .swiper-button-prev.swiper-button-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 44'%3E%3Cpath d='M27 22L5 44l-2.1-2.1L22.8 22 2.9 2.1 5 0l22 22z' fill='%23fff'/%3E%3C/svg%3E")}.swiper-pagination{position:absolute;text-align:center;-webkit-transition:.3s;-o-transition:.3s;transition:.3s;-webkit-transform:translateZ(0);transform:translateZ(0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-container-horizontal>.swiper-pagination-bullets,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:5px;left:0;width:100%}.swiper-pagination-bullet{width:6px;height:6px;display:inline-block;border-radius:50%;background:#000;opacity:.2}.swiper-pagination-fraction{color:#000}button.swiper-pagination-bullet{border:none;margin:0;padding:0;-webkit-box-shadow:none;box-shadow:none;appearance:none;-webkit-appearance:none;-moz-appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-white .swiper-pagination-bullet{background:#fff}.swiper-pagination-bullet-active{opacity:1}.swiper-pagination-white .swiper-pagination-bullet-active{background:#fff}.swiper-pagination-black .swiper-pagination-bullet-active{background:#000}.swiper-container-vertical>.swiper-pagination-bullets{right:10px;top:50%;-webkit-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0)}.swiper-container-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:5px 0;display:block}.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 6px}.swiper-pagination-progressbar{background:rgba(0,0,0,.25);position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:#000;position:absolute;left:0;top:0;width:100%;height:100%;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);-webkit-transform-origin:left top;-ms-transform-origin:left top;transform-origin:left top}.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{-webkit-transform-origin:right top;-ms-transform-origin:right top;transform-origin:right top}.swiper-container-horizontal>.swiper-pagination-progressbar{width:100%;height:4px;left:0;top:0}.swiper-container-vertical>.swiper-pagination-progressbar{width:4px;height:100%;left:0;top:0}.swiper-pagination-progressbar.swiper-pagination-white{background:hsla(0,0%,100%,.5)}.swiper-pagination-progressbar.swiper-pagination-white .swiper-pagination-progressbar-fill{background:#fff}.swiper-pagination-progressbar.swiper-pagination-black .swiper-pagination-progressbar-fill{background:#000}.swiper-container-3d{-webkit-perspective:1200px;perspective:1200px}.swiper-container-3d .swiper-cube-shadow,.swiper-container-3d .swiper-slide,.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top,.swiper-container-3d .swiper-wrapper{-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-container-3d .swiper-slide-shadow-left{background-image:-o-linear-gradient(right,rgba(0,0,0,.5),transparent);background-image:-webkit-gradient(linear,right top,left top,from(rgba(0,0,0,.5)),to(transparent));background-image:linear-gradient(270deg,rgba(0,0,0,.5),transparent)}.swiper-container-3d .swiper-slide-shadow-right{background-image:-o-linear-gradient(left,rgba(0,0,0,.5),transparent);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(transparent));background-image:linear-gradient(90deg,rgba(0,0,0,.5),transparent)}.swiper-container-3d .swiper-slide-shadow-top{background-image:-o-linear-gradient(bottom,rgba(0,0,0,.5),transparent);background-image:-webkit-gradient(linear,left bottom,left top,from(rgba(0,0,0,.5)),to(transparent));background-image:linear-gradient(0deg,rgba(0,0,0,.5),transparent)}.swiper-container-3d .swiper-slide-shadow-bottom{background-image:-o-linear-gradient(top,rgba(0,0,0,.5),transparent);background-image:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.5)),to(transparent));background-image:linear-gradient(180deg,rgba(0,0,0,.5),transparent)}.swiper-container-coverflow .swiper-wrapper,.swiper-container-flip .swiper-wrapper{-ms-perspective:1200px}.swiper-container-cube,.swiper-container-flip{overflow:visible}.swiper-container-cube .swiper-slide,.swiper-container-flip .swiper-slide{pointer-events:none;z-index:1}.swiper-container-cube .swiper-slide .swiper-slide,.swiper-container-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-active .swiper-slide-active,.swiper-container-flip .swiper-slide-active,.swiper-container-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-cube .swiper-slide-shadow-bottom,.swiper-container-cube .swiper-slide-shadow-left,.swiper-container-cube .swiper-slide-shadow-right,.swiper-container-cube .swiper-slide-shadow-top,.swiper-container-flip .swiper-slide-shadow-bottom,.swiper-container-flip .swiper-slide-shadow-left,.swiper-container-flip .swiper-slide-shadow-right,.swiper-container-flip .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-container-cube .swiper-slide{visibility:hidden;-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0;width:100%;height:100%}.swiper-container-cube.swiper-container-rtl .swiper-slide{-webkit-transform-origin:100% 0;-ms-transform-origin:100% 0;transform-origin:100% 0}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-next,.swiper-container-cube .swiper-slide-next+.swiper-slide,.swiper-container-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-container-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0;width:100%;height:100%;background:#000;opacity:.6;-webkit-filter:blur(50px);filter:blur(50px);z-index:0}.swiper-container-fade.swiper-container-free-mode .swiper-slide{-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out}.swiper-container-fade .swiper-slide{pointer-events:none;-webkit-transition-property:opacity;-o-transition-property:opacity;transition-property:opacity}.swiper-container-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-fade .swiper-slide-active,.swiper-container-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-zoom-container{width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain}.swiper-scrollbar{border-radius:10px;position:relative;-ms-touch-action:none;background:rgba(0,0,0,.1)}.swiper-container-horizontal>.swiper-scrollbar{position:absolute;left:1%;bottom:3px;z-index:50;height:5px;width:98%}.swiper-container-vertical>.swiper-scrollbar{position:absolute;right:3px;top:1%;z-index:50;width:5px;height:98%}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:rgba(0,0,0,.5);border-radius:10px;left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.elementor-pagination-position-outside .swiper-container{padding-bottom:30px}.elementor-pagination-position-outside .elementor-swiper-button{top:calc(50% - 30px / 2)}.elementor-swiper{position:relative}.elementor-main-swiper{position:static}.elementor-arrows-position-outside .swiper-container{width:calc(100% - 60px)}.elementor-arrows-position-outside .elementor-swiper-button-prev{left:0}.elementor-arrows-position-outside .elementor-swiper-button-next{right:0}.swiper-image-stretch .swiper-slide .swiper-slide-image{width:100%}.elementor-swiper-button{position:absolute;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;z-index:1;cursor:pointer;font-size:25px;color:hsla(0,0%,93.3%,.9);top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.elementor-swiper-button svg{fill:hsla(0,0%,93.3%,.9);height:1em;width:1em}.elementor-swiper-button-prev{left:10px}.elementor-swiper-button-next{right:10px}.elementor-swiper-button.swiper-button-disabled{opacity:.3}.swiper-container-cube .elementor-swiper-button{-webkit-transform:translate3d(0,-50%,1px);transform:translate3d(0,-50%,1px)}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;-webkit-transform-origin:50%;-ms-transform-origin:50%;transform-origin:50%;-webkit-animation:swiper-preloader-spin 1s steps(12) infinite;animation:swiper-preloader-spin 1s steps(12) infinite}.swiper-lazy-preloader:after{display:block;content:"";width:100%;height:100%;background-size:100%;background:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 120 120' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath id='a' stroke='%236c6c6c' stroke-width='11' stroke-linecap='round' d='M60 7v20'/%3E%3C/defs%3E%3Cuse xlink:href='%23a' opacity='.27'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(30 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(60 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(90 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(120 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(150 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.37' transform='rotate(180 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.46' transform='rotate(210 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.56' transform='rotate(240 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.66' transform='rotate(270 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.75' transform='rotate(300 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.85' transform='rotate(330 60 60)'/%3E%3C/svg%3E") no-repeat 50%}.swiper-lazy-preloader-white:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 120 120' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath id='a' stroke='%23fff' stroke-width='11' stroke-linecap='round' d='M60 7v20'/%3E%3C/defs%3E%3Cuse xlink:href='%23a' opacity='.27'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(30 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(60 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(90 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(120 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(150 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.37' transform='rotate(180 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.46' transform='rotate(210 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.56' transform='rotate(240 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.66' transform='rotate(270 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.75' transform='rotate(300 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.85' transform='rotate(330 60 60)'/%3E%3C/svg%3E")}@-webkit-keyframes swiper-preloader-spin{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes swiper-preloader-spin{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.elementor-lightbox{--lightbox-ui-color:hsla(0,0%,93.3%,0.9);--lightbox-ui-color-hover:#fff;--lightbox-text-color:var(--lightbox-ui-color);--lightbox-header-icons-size:20px;--lightbox-navigation-icons-size:25px}.elementor-lightbox .dialog-header{display:none}.elementor-lightbox .dialog-widget-content{background:none;-webkit-box-shadow:none;box-shadow:none;width:100%;height:100%}.elementor-lightbox .dialog-message{-webkit-animation-duration:.3s;animation-duration:.3s}.elementor-lightbox .dialog-message:not(.elementor-fit-aspect-ratio){height:100%}.elementor-lightbox .dialog-message.dialog-lightbox-message{padding:0}.elementor-lightbox .dialog-lightbox-close-button{cursor:pointer;position:absolute;font-size:var(--lightbox-header-icons-size);left:.75em;margin-top:13px;padding:.25em;z-index:2;line-height:1;display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-lightbox .dialog-lightbox-close-button svg{height:1em;width:1em}.elementor-lightbox .dialog-lightbox-close-button,.elementor-lightbox .elementor-swiper-button{color:var(--lightbox-ui-color);-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s;opacity:1}.elementor-lightbox .dialog-lightbox-close-button svg,.elementor-lightbox .elementor-swiper-button svg{fill:var(--lightbox-ui-color)}.elementor-lightbox .dialog-lightbox-close-button:hover,.elementor-lightbox .elementor-swiper-button:hover{color:var(--lightbox-ui-color-hover)}.elementor-lightbox .dialog-lightbox-close-button:hover svg,.elementor-lightbox .elementor-swiper-button:hover svg{fill:var(--lightbox-ui-color-hover)}.elementor-lightbox .swiper-container{height:100%}.elementor-lightbox .elementor-lightbox-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;position:relative;padding:70px;-webkit-box-sizing:border-box;box-sizing:border-box;height:100%;margin:auto}@media (max-width:767px){.elementor-lightbox .elementor-lightbox-item{padding:70px 0}}.elementor-lightbox .elementor-lightbox-image{max-height:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.elementor-lightbox .elementor-lightbox-image,.elementor-lightbox .elementor-lightbox-image:hover{opacity:1;-webkit-filter:none;filter:none;border:none}.elementor-lightbox .elementor-lightbox-image,.elementor-lightbox .elementor-video-container{-webkit-box-shadow:0 0 30px rgba(0,0,0,.3),0 0 8px -5px rgba(0,0,0,.3);box-shadow:0 0 30px rgba(0,0,0,.3),0 0 8px -5px rgba(0,0,0,.3);border-radius:2px}.elementor-lightbox .elementor-video-container{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}@media (min-width:1025px){.elementor-lightbox .elementor-video-container{width:75%}}@media (max-width:1024px){.elementor-lightbox .elementor-video-container{width:100%}}@media (min-width:768px) and (max-width:1024px){.elementor-lightbox .elementor-aspect-ratio-916 .elementor-video-container{width:70%}}.elementor-lightbox .elementor-swiper-button:focus{outline-width:1px}.elementor-lightbox .elementor-swiper-button-next,.elementor-lightbox .elementor-swiper-button-prev{height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:15%;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:var(--lightbox-navigation-icons-size)}.elementor-lightbox .elementor-swiper-button-prev{left:0}.elementor-lightbox .elementor-swiper-button-next{right:0}@media (max-width:767px){.elementor-lightbox .elementor-swiper-button:focus{outline:none}.elementor-lightbox .elementor-swiper-button-next,.elementor-lightbox .elementor-swiper-button-prev{width:20%}.elementor-lightbox .elementor-swiper-button-next i,.elementor-lightbox .elementor-swiper-button-prev i{padding:10px;background-color:rgba(0,0,0,.5)}.elementor-lightbox .elementor-swiper-button-prev{left:0;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-lightbox .elementor-swiper-button-next{right:0;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}}.elementor-slideshow__counter{color:currentColor;font-size:.75em;width:-webkit-max-content;width:-moz-max-content;width:max-content}.elementor-slideshow__footer,.elementor-slideshow__header{position:absolute;left:0;width:100%;padding:15px 20px;-webkit-transition:.3s;-o-transition:.3s;transition:.3s}.elementor-slideshow__footer{color:var(--lightbox-text-color)}.elementor-slideshow__header{color:var(--lightbox-ui-color);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;font-size:var(--lightbox-header-icons-size);padding-right:1em;padding-left:2.6em;top:0;-webkit-box-align:center;-ms-flex-align:center;align-items:center;z-index:10}.elementor-slideshow__header>i,.elementor-slideshow__header>svg{cursor:pointer;padding:.25em;margin:0 .35em}.elementor-slideshow__header>i{font-size:inherit}.elementor-slideshow__header>i:hover{color:var(--lightbox-ui-color-hover)}.elementor-slideshow__header>svg{-webkit-box-sizing:content-box;box-sizing:content-box;fill:var(--lightbox-ui-color);height:1em;width:1em}.elementor-slideshow__header>svg:hover{fill:var(--lightbox-ui-color-hover)}.elementor-slideshow__header .elementor-slideshow__counter{margin-left:auto}.elementor-slideshow__header .elementor-icon-share{z-index:5}.elementor-slideshow__share-menu{background-color:transparent;width:0;height:0;position:absolute;overflow:hidden;-webkit-transition:background-color .4s;-o-transition:background-color .4s;transition:background-color .4s}.elementor-slideshow__share-menu .elementor-slideshow__share-links a{color:#2c2c2c}.elementor-slideshow__share-links{display:block;position:absolute;min-width:200px;left:2.8em;top:3em;background-color:#fff;border-radius:3px;padding:14px 20px;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);opacity:0;-webkit-transform-origin:90% 10%;-ms-transform-origin:90% 10%;transform-origin:90% 10%;-webkit-transition:all .25s .1s;-o-transition:all .25s .1s;transition:all .25s .1s;-webkit-box-shadow:0 4px 15px rgba(0,0,0,.3);box-shadow:0 4px 15px rgba(0,0,0,.3)}.elementor-slideshow__share-links a{text-align:right;color:#55595c;font-size:12px;line-height:2.5;display:block;opacity:0;-webkit-transition:opacity .5s .1s;-o-transition:opacity .5s .1s;transition:opacity .5s .1s}.elementor-slideshow__share-links a:hover{color:#000}.elementor-slideshow__share-links a i,.elementor-slideshow__share-links a svg{margin-left:.75em}.elementor-slideshow__share-links a i{font-size:1.25em}.elementor-slideshow__share-links a svg{height:1.25em;width:1.25em}.elementor-slideshow__share-links:before{content:"";display:block;position:absolute;top:1px;left:.5em;border:.45em solid transparent;border-bottom-color:#fff;-webkit-transform:translateY(-100%) scaleX(.7);-ms-transform:translateY(-100%) scaleX(.7);transform:translateY(-100%) scaleX(.7)}.elementor-slideshow__footer{bottom:0;z-index:5;position:fixed}.elementor-slideshow__description,.elementor-slideshow__title{margin:0}.elementor-slideshow__title{font-size:16px;font-weight:700}.elementor-slideshow__description{font-size:14px}.elementor-slideshow--ui-hidden .elementor-slideshow__footer,.elementor-slideshow--ui-hidden .elementor-slideshow__header{opacity:0;pointer-events:none}.elementor-slideshow--ui-hidden .elementor-swiper-button-next,.elementor-slideshow--ui-hidden .elementor-swiper-button-prev{opacity:0}.elementor-slideshow--fullscreen-mode .elementor-video-container{width:100%}.elementor-slideshow--zoom-mode .elementor-slideshow__footer,.elementor-slideshow--zoom-mode .elementor-slideshow__header{background-color:rgba(0,0,0,.5)}.elementor-slideshow--zoom-mode .elementor-swiper-button-next,.elementor-slideshow--zoom-mode .elementor-swiper-button-prev{opacity:0;pointer-events:none}.elementor-slideshow--share-mode .elementor-slideshow__share-menu{top:0;left:0;width:100vw;height:100vh;opacity:1;cursor:default;background-color:rgba(0,0,0,.5)}.elementor-slideshow--share-mode .elementor-slideshow__share-links{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.elementor-slideshow--share-mode .elementor-slideshow__share-links,.elementor-slideshow--share-mode .elementor-slideshow__share-links a{opacity:1}.elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-twitter{color:#1da1f2}.elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-facebook{color:#3b5998}.elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-pinterest{color:#bd081c}.elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-download-bold{color:#a4afb7}.elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-twitter{fill:#1da1f2}.elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-facebook{fill:#3b5998}.elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-pinterest{fill:#bd081c}.elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-download-bold{fill:#a4afb7}.elementor-slideshow--share-mode .eicon-share-arrow{z-index:2}.animated{-webkit-animation-duration:1.25s;animation-duration:1.25s}.animated.animated-slow{-webkit-animation-duration:2s;animation-duration:2s}.animated.animated-fast{-webkit-animation-duration:.75s;animation-duration:.75s}.animated.infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.animated.reverse{animation-direction:reverse;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}@media (prefers-reduced-motion:reduce){.animated{-webkit-animation:none;animation:none}}.elementor-shape{overflow:hidden;position:absolute;left:0;width:100%;line-height:0;direction:ltr}.elementor-shape-top{top:-1px}.elementor-shape-top:not([data-negative=false]) svg{z-index:-1}.elementor-shape-bottom{bottom:-1px}.elementor-shape-bottom:not([data-negative=true]) svg{z-index:-1}.elementor-shape[data-negative=false].elementor-shape-bottom,.elementor-shape[data-negative=true].elementor-shape-top{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.elementor-shape svg{display:block;width:calc(100% + 1.3px);position:relative;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.elementor-shape .elementor-shape-fill{fill:#fff;-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center;-webkit-transform:rotateY(0deg);transform:rotateY(0deg)}#wp-admin-bar-elementor_edit_page>.ab-item:before{content:"\e813";font-family:eicons;top:3px;font-size:18px}#wp-admin-bar-elementor_edit_page .ab-submenu .ab-item{display:-webkit-box;display:-ms-flexbox;display:flex;width:200px}#wp-admin-bar-elementor_edit_page .elementor-edit-link-title{white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden;width:100%}#wp-admin-bar-elementor_edit_page .elementor-edit-link-type{background:#55595c;font-size:11px;line-height:9px;margin-top:6px;padding:4px 8px;border-radius:3px}#wp-admin-bar-elementor_inspector>.ab-item:before{content:"\f348";top:2px}#wpadminbar *{font-style:normal}.page-template-elementor_canvas.elementor-page:before{display:none}.elementor-post__thumbnail__link{-webkit-transition:none;-o-transition:none;transition:none}#left-area ul.elementor-icon-list-items,.elementor-edit-area .elementor-element ul.elementor-icon-list-items,.elementor .elementor-element ul.elementor-icon-list-items{padding:0}.e--ua-appleWebkit.rtl{--flex-right:flex-start}.e--ua-appleWebkit .elementor-share-buttons--align-right,.e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-right{--justify-content:var(--flex-right,flex-end)}.e--ua-appleWebkit .elementor-share-buttons--align-center,.e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-center{--justify-content:center}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-center .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-justify .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-right .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-center .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-right .elementor-grid{width:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:var(--justify-content,space-between);-ms-flex-pack:var(--justify-content,space-between);justify-content:var(--justify-content,space-between);margin-left:calc(-.5 * var(--grid-column-gap));margin-right:calc(-.5 * var(--grid-column-gap))}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-center .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-justify .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-right .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-center .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-right .elementor-grid-item{margin-left:calc(.5 * var(--grid-column-gap));margin-right:calc(.5 * var(--grid-column-gap))}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-left .elementor-grid{display:inline-block}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-left .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-left .elementor-grid-item{margin-left:0;margin-right:0}@media (max-width:1024px){.e--ua-appleWebkit .elementor-share-buttons-tablet--align-right,.e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-tablet-right{--justify-content:var(--flex-right,flex-end)}.e--ua-appleWebkit .elementor-share-buttons-tablet--align-center,.e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-tablet-center{--justify-content:center}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-center .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-justify .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-right .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-center .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-right .elementor-grid{width:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:var(--justify-content,space-between);-ms-flex-pack:var(--justify-content,space-between);justify-content:var(--justify-content,space-between);margin-left:calc(-.5 * var(--grid-column-gap));margin-right:calc(-.5 * var(--grid-column-gap))}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-center .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-justify .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-right .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-center .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-right .elementor-grid-item{margin-left:calc(.5 * var(--grid-column-gap));margin-right:calc(.5 * var(--grid-column-gap))}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-tablet--align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-left .elementor-grid{display:inline-block}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-tablet--align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-tablet--align-left .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-left .elementor-grid-item{margin-left:0;margin-right:0}}@media (max-width:767px){.e--ua-appleWebkit .elementor-share-buttons-mobile--align-right,.e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-mobile-right{--justify-content:var(--flex-right,flex-end)}.e--ua-appleWebkit .elementor-share-buttons-mobile--align-center,.e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-mobile-center{--justify-content:center}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-center .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-justify .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-right .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-center .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-right .elementor-grid{width:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:var(--justify-content,space-between);-ms-flex-pack:var(--justify-content,space-between);justify-content:var(--justify-content,space-between);margin-left:calc(-.5 * var(--grid-column-gap));margin-right:calc(-.5 * var(--grid-column-gap))}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-center .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-justify .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-right .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-center .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-right .elementor-grid-item{margin-left:calc(.5 * var(--grid-column-gap));margin-right:calc(.5 * var(--grid-column-gap))}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-mobile--align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-left .elementor-grid{display:inline-block}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-mobile--align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-mobile--align-left .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-left .elementor-grid-item{margin-left:0;margin-right:0}}@media (max-width:767px){.elementor .elementor-hidden-mobile,.elementor .elementor-hidden-phone{display:none}}@media (min-width:-1px) and (max-width:-1px){.elementor .elementor-hidden-mobile_extra{display:none}}@media (min-width:768px) and (max-width:1024px){.elementor .elementor-hidden-tablet{display:none}}@media (min-width:-1px) and (max-width:-1px){.elementor .elementor-hidden-laptop,.elementor .elementor-hidden-tablet_extra{display:none}}@media (min-width:1025px) and (max-width:99999px){.elementor .elementor-hidden-desktop{display:none}}@media (min-width:-1px){.elementor .elementor-hidden-widescreen{display:none}}.elementor-widget-text-path{font-size:20px;text-align:var(--alignment,right)}.elementor-widget-text-path svg{width:var(--width);max-width:100%;height:auto;overflow:visible;word-spacing:var(--word-spacing);-webkit-transform:rotate(var(--rotate,0)) scaleX(var(--scale-x,1)) scaleY(var(--scale-y,1));-ms-transform:rotate(var(--rotate,0)) scaleX(var(--scale-x,1)) scaleY(var(--scale-y,1));transform:rotate(var(--rotate,0)) scaleX(var(--scale-x,1)) scaleY(var(--scale-y,1))}.elementor-widget-text-path svg path{vector-effect:non-scaling-stroke;fill:var(--path-fill,transparent);stroke:var(--stroke-color,transparent);stroke-width:var(--stroke-width,1px);-webkit-transition:var(--stroke-transition) stroke,var(--stroke-transition) fill;-o-transition:var(--stroke-transition) stroke,var(--stroke-transition) fill;transition:var(--stroke-transition) stroke,var(--stroke-transition) fill}.elementor-widget-text-path svg:hover path{--path-fill:var(--path-fill-hover);--stroke-color:var(--stroke-color-hover);--stroke-width:var(--stroke-width-hover)}.elementor-widget-text-path svg text{--fill:var(--text-color);fill:var(--fill);direction:var(--direction,rtl);-webkit-transition:var(--transition) stroke,var(--transition) stroke-width,var(--transition) fill;-o-transition:var(--transition) stroke,var(--transition) stroke-width,var(--transition) fill;transition:var(--transition) stroke,var(--transition) stroke-width,var(--transition) fill}.elementor-widget-text-path svg text:hover{--color:var(--text-color-hover,var(--text-color));--fill:var(--color);color:var(--color)}assets/css/widget-image-box.min.css000064400000003333152377341010013270 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ .elementor-widget-image-box .elementor-image-box-content{width:100%}@media (min-width:768px){.elementor-widget-image-box.elementor-position-left .elementor-image-box-wrapper,.elementor-widget-image-box.elementor-position-right .elementor-image-box-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-image-box.elementor-position-right .elementor-image-box-wrapper{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-widget-image-box.elementor-position-left .elementor-image-box-wrapper{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.elementor-widget-image-box.elementor-position-top .elementor-image-box-img{margin:auto}.elementor-widget-image-box.elementor-vertical-align-top .elementor-image-box-wrapper{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.elementor-widget-image-box.elementor-vertical-align-middle .elementor-image-box-wrapper{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-widget-image-box.elementor-vertical-align-bottom .elementor-image-box-wrapper{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}}@media (max-width:767px){.elementor-widget-image-box .elementor-image-box-img{margin-left:auto!important;margin-right:auto!important;margin-bottom:15px}}.elementor-widget-image-box .elementor-image-box-img{display:inline-block}.elementor-widget-image-box .elementor-image-box-title a{color:inherit}.elementor-widget-image-box .elementor-image-box-wrapper{text-align:center}.elementor-widget-image-box .elementor-image-box-description{margin:0}assets/css/admin-top-bar.css000064400000013173152377341010012012 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ #e-dashboard-widget-admin-top-bar { position: absolute; opacity: 0; pointer-events: none; } #e-admin-top-bar-root { right: 0; background: #ffffff; -webkit-box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.0394871); box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.0394871); display: none; position: absolute; top: 0; width: calc(100% - 160px); z-index: 1; } #e-admin-top-bar-root .e-admin-top-bar { display: -webkit-box; display: -ms-flexbox; display: flex; height: 50px; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; padding: 0 16px; } #e-admin-top-bar-root .page-title-action { background: #f7f7f7; border: 1px solid #0275d8; border-radius: 3px; -webkit-box-sizing: border-box; box-sizing: border-box; color: #0275d8; cursor: pointer; display: inline-block; line-height: 30px; margin: 0 4px; min-height: 30px; padding: 0 10px; text-decoration: none; } #e-admin-top-bar-root .page-title-action:hover { background: #eceeef; border-color: #1b607f; color: #1b607f; } #e-admin-top-bar-root .e-admin-top-bar__heading { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-margin-end: 40px; margin-inline-end: 40px; } #e-admin-top-bar-root .e-admin-top-bar__main-area { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } #e-admin-top-bar-root .e-admin-top-bar__main-area button { margin: 0 4px; } #e-admin-top-bar-root .e-admin-top-bar__secondary-area { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } #e-admin-top-bar-root .e-admin-top-bar__heading-logo { width: 30px; } #e-admin-top-bar-root .e-admin-top-bar__heading-logo { background: #93003c; border-radius: 15px; color: #ffffff; display: inline-block; font-size: 0.875rem; height: 1.875rem; line-height: 1.875rem; text-align: center; width: 1.875rem; } #e-admin-top-bar-root .e-admin-top-bar__heading-title { color: #495157; font-size: 15px; font-weight: 700; font-family: "Roboto", Arial, Helvetica, Verdana, sans-serif; padding: 0 8px; line-height: normal; text-transform: uppercase; } #e-admin-top-bar-root.e-admin-top-bar--active { display: block; } #e-admin-top-bar-root.e-admin-top-bar--active ~ #wpbody #wpbody-content { margin-top: 50px; } #e-admin-top-bar-root.e-admin-top-bar--active ~ #wpbody .wrap { clear: both; padding-top: 10px; } #e-admin-top-bar-root.e-admin-top-bar--active ~ #wpbody .wrap h1 { display: none; } #e-admin-top-bar-root:not(.e-admin-top-bar--active) ~ #wpbody .wrap h1, #e-admin-top-bar-root:not(.e-admin-top-bar--active) ~ #wpbody .wrap .page-title-action { display: inline-block; } #e-admin-top-bar-root .e-admin-top-bar__bar-button { -webkit-box-align: center; -ms-flex-align: center; align-items: center; cursor: pointer; display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; margin: 0 10px; text-decoration: none; color: #6d7882; } #e-admin-top-bar-root .e-admin-top-bar__bar-button .e-admin-top-bar__bar-button-title { color: #6d7882; } #e-admin-top-bar-root .e-admin-top-bar__bar-button .e-admin-top-bar__bar-button-icon { margin: 0 4px; } #e-admin-top-bar-root .e-admin-top-bar__bar-button:hover .e-admin-top-bar__bar-button-title, #e-admin-top-bar-root .e-admin-top-bar__bar-button:hover .e-admin-top-bar__bar-button-icon { color: #93003c; } #e-admin-top-bar-root .e-admin-top-bar__bar-button-title { font-size: 13px; font-weight: 500; font-family: Roboto, Arial, Helvetica, Verdana, sans-serif; margin: 0 4px; line-height: normal; } #e-admin-top-bar-root ~ #wpbody .wrap h1, #e-admin-top-bar-root ~ #wpbody .wrap .page-title-action { display: none; } @media screen and (max-width: 960px) { #e-admin-top-bar-root { width: calc(100% - 36px); } } @media screen and (max-width: 782px) { #e-admin-top-bar-root { width: 100%; } } @media screen and (max-width: 600px) { #e-admin-top-bar-root { top: 46px; } } @media (max-width: 768px) { #e-admin-top-bar-root { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } #e-admin-top-bar-root .e-admin-top-bar__main-area-buttons { position: absolute; top: calc(100% + 10px); } #e-admin-top-bar-root .e-admin-top-bar__secondary-area .e-admin-top-bar__secondary-area-buttons { display: none; } #e-admin-top-bar-root .e-admin-top-bar__secondary-area > .e-admin-top-bar__bar-button .e-admin-top-bar__bar-button-title { display: none; } } @media (min-width: 768px) { #e-admin-top-bar-root .e-admin-top-bar__secondary-area .e-admin-top-bar__secondary-area-buttons { display: -webkit-box; display: -ms-flexbox; display: flex; } } /*# sourceMappingURL=admin-top-bar.css.map */assets/css/widget-social-icons-rtl.min.css000064400000012060152377341010014577 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ .elementor-widget-social-icons.elementor-grid-0 .elementor-widget-container,.elementor-widget-social-icons.elementor-grid-mobile-0 .elementor-widget-container,.elementor-widget-social-icons.elementor-grid-tablet-0 .elementor-widget-container{line-height:1;font-size:0}.elementor-widget-social-icons:not(.elementor-grid-0):not(.elementor-grid-tablet-0):not(.elementor-grid-mobile-0) .elementor-grid{display:inline-grid}.elementor-widget-social-icons .elementor-grid{grid-column-gap:var(--grid-column-gap,5px);grid-row-gap:var(--grid-row-gap,5px);grid-template-columns:var(--grid-template-columns);-webkit-box-pack:var(--justify-content,center);-ms-flex-pack:var(--justify-content,center);justify-content:var(--justify-content,center);justify-items:var(--justify-content,center)}.elementor-icon.elementor-social-icon{font-size:var(--icon-size,25px);line-height:var(--icon-size,25px);width:calc(var(--icon-size, 25px) + (2 * var(--icon-padding, .5em)));height:calc(var(--icon-size, 25px) + (2 * var(--icon-padding, .5em)))}.elementor-social-icon{--e-social-icon-icon-color:#fff;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;background-color:#818a91;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;text-align:center;cursor:pointer}.elementor-social-icon i{color:var(--e-social-icon-icon-color)}.elementor-social-icon svg{fill:var(--e-social-icon-icon-color)}.elementor-social-icon:last-child{margin:0}.elementor-social-icon:hover{opacity:.9;color:#fff}.elementor-social-icon-android{background-color:#a4c639}.elementor-social-icon-apple{background-color:#999}.elementor-social-icon-behance{background-color:#1769ff}.elementor-social-icon-bitbucket{background-color:#205081}.elementor-social-icon-codepen{background-color:#000}.elementor-social-icon-delicious{background-color:#39f}.elementor-social-icon-deviantart{background-color:#05cc47}.elementor-social-icon-digg{background-color:#005be2}.elementor-social-icon-dribbble{background-color:#ea4c89}.elementor-social-icon-elementor{background-color:#d30c5c}.elementor-social-icon-envelope{background-color:#ea4335}.elementor-social-icon-facebook,.elementor-social-icon-facebook-f{background-color:#3b5998}.elementor-social-icon-flickr{background-color:#0063dc}.elementor-social-icon-foursquare{background-color:#2d5be3}.elementor-social-icon-free-code-camp,.elementor-social-icon-freecodecamp{background-color:#006400}.elementor-social-icon-github{background-color:#333}.elementor-social-icon-gitlab{background-color:#e24329}.elementor-social-icon-globe{background-color:#818a91}.elementor-social-icon-google-plus,.elementor-social-icon-google-plus-g{background-color:#dd4b39}.elementor-social-icon-houzz{background-color:#7ac142}.elementor-social-icon-instagram{background-color:#262626}.elementor-social-icon-jsfiddle{background-color:#487aa2}.elementor-social-icon-link{background-color:#818a91}.elementor-social-icon-linkedin,.elementor-social-icon-linkedin-in{background-color:#0077b5}.elementor-social-icon-medium{background-color:#00ab6b}.elementor-social-icon-meetup{background-color:#ec1c40}.elementor-social-icon-mixcloud{background-color:#273a4b}.elementor-social-icon-odnoklassniki{background-color:#f4731c}.elementor-social-icon-pinterest{background-color:#bd081c}.elementor-social-icon-product-hunt{background-color:#da552f}.elementor-social-icon-reddit{background-color:#ff4500}.elementor-social-icon-rss{background-color:#f26522}.elementor-social-icon-shopping-cart{background-color:#4caf50}.elementor-social-icon-skype{background-color:#00aff0}.elementor-social-icon-slideshare{background-color:#0077b5}.elementor-social-icon-snapchat{background-color:#fffc00}.elementor-social-icon-soundcloud{background-color:#f80}.elementor-social-icon-spotify{background-color:#2ebd59}.elementor-social-icon-stack-overflow{background-color:#fe7a15}.elementor-social-icon-steam{background-color:#00adee}.elementor-social-icon-stumbleupon{background-color:#eb4924}.elementor-social-icon-telegram{background-color:#2ca5e0}.elementor-social-icon-thumb-tack{background-color:#1aa1d8}.elementor-social-icon-tripadvisor{background-color:#589442}.elementor-social-icon-tumblr{background-color:#35465c}.elementor-social-icon-twitch{background-color:#6441a5}.elementor-social-icon-twitter{background-color:#1da1f2}.elementor-social-icon-viber{background-color:#665cac}.elementor-social-icon-vimeo{background-color:#1ab7ea}.elementor-social-icon-vk{background-color:#45668e}.elementor-social-icon-weibo{background-color:#dd2430}.elementor-social-icon-weixin{background-color:#31a918}.elementor-social-icon-whatsapp{background-color:#25d366}.elementor-social-icon-wordpress{background-color:#21759b}.elementor-social-icon-xing{background-color:#026466}.elementor-social-icon-yelp{background-color:#af0606}.elementor-social-icon-youtube{background-color:#cd201f}.elementor-social-icon-500px{background-color:#0099e5}.elementor-shape-rounded .elementor-icon.elementor-social-icon{border-radius:10%}.elementor-shape-circle .elementor-icon.elementor-social-icon{border-radius:50%}assets/css/common-rtl.min.css000064400000027763152377341010012243 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ .dialog-widget-content{background-color:#fff;position:absolute;border-radius:3px;-webkit-box-shadow:2px 8px 23px 3px rgba(0,0,0,.2);box-shadow:2px 8px 23px 3px rgba(0,0,0,.2);overflow:hidden}.dialog-message{font-size:12px;line-height:1.5;-webkit-box-sizing:border-box;box-sizing:border-box}.dialog-type-lightbox{position:fixed;height:100%;width:100%;bottom:0;left:0;background-color:rgba(0,0,0,.8);z-index:9999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dialog-type-lightbox .dialog-widget-content{margin:auto;width:375px}.dialog-type-lightbox .dialog-header{font-size:15px;color:#495157;padding:30px 0 10px;font-weight:500}.dialog-type-lightbox .dialog-message{padding:0 30px 30px;min-height:50px}.dialog-type-lightbox:not(.elementor-popup-modal) .dialog-header,.dialog-type-lightbox:not(.elementor-popup-modal) .dialog-message{text-align:center}.dialog-type-lightbox .dialog-buttons-wrapper{border-top:1px solid #e6e9ec;text-align:center}.dialog-type-lightbox .dialog-buttons-wrapper>.dialog-button{font-family:Roboto,Arial,Helvetica,Verdana,sans-serif;width:50%;border:none;background:none;color:#6d7882;font-size:15px;cursor:pointer;padding:13px 0;outline:0}.dialog-type-lightbox .dialog-buttons-wrapper>.dialog-button:hover{background-color:#f4f6f7}.dialog-type-lightbox .dialog-buttons-wrapper>.dialog-button.dialog-ok{color:#b01b1b}.dialog-type-lightbox .dialog-buttons-wrapper>.dialog-button.dialog-take_over{color:#39b54a}.dialog-type-lightbox .dialog-buttons-wrapper>.dialog-button:active{background-color:rgba(230,233,236,.5)}.dialog-type-lightbox .dialog-buttons-wrapper>.dialog-button::-moz-focus-inner{border:0}.dialog-close-button{cursor:pointer;position:absolute;margin-top:15px;left:15px;font-size:15px;line-height:1}.dialog-close-button:not(:hover){opacity:.4}.dialog-alert-widget .dialog-buttons-wrapper>button{width:100%}.dialog-confirm-widget .dialog-button:first-child{border-left:1px solid #e6e9ec}.dialog-prevent-scroll{overflow:hidden;max-height:100vh}@media (min-width:1024px){body.admin-bar .dialog-lightbox-widget{height:calc(100vh - 32px)}}@media (max-width:1024px){body.admin-bar .dialog-type-lightbox{position:sticky;height:100vh}}.elementor-aspect-ratio-219 .elementor-fit-aspect-ratio{padding-bottom:42.8571%}.elementor-aspect-ratio-169 .elementor-fit-aspect-ratio{padding-bottom:56.25%}.elementor-aspect-ratio-43 .elementor-fit-aspect-ratio{padding-bottom:75%}.elementor-aspect-ratio-32 .elementor-fit-aspect-ratio{padding-bottom:66.6666%}.elementor-aspect-ratio-11 .elementor-fit-aspect-ratio{padding-bottom:100%}.elementor-aspect-ratio-916 .elementor-fit-aspect-ratio{padding-bottom:177.8%}.elementor-fit-aspect-ratio{position:relative;height:0}.elementor-fit-aspect-ratio iframe{position:absolute;top:0;left:0;height:100%;width:100%;border:0;background-color:#000}.elementor-fit-aspect-ratio video{width:100%}.flatpickr-calendar{width:280px}.flatpickr-calendar .flatpickr-current-month span.cur-month{font-weight:300}.flatpickr-calendar .dayContainer{width:280px;min-width:280px;max-width:280px}.flatpickr-calendar .flatpickr-days{width:280px}.flatpickr-calendar .flatpickr-day{max-width:37px;height:37px;line-height:37px}.elementor-templates-modal .dialog-widget-content{font-family:Roboto,Arial,Helvetica,Verdana,sans-serif;background-color:#f1f3f5;width:100%}@media (max-width:1439px){.elementor-templates-modal .dialog-widget-content{max-width:990px}}@media (min-width:1440px){.elementor-templates-modal .dialog-widget-content{max-width:1200px}}.elementor-templates-modal .dialog-header{padding:0;z-index:1}.elementor-templates-modal .dialog-buttons-wrapper,.elementor-templates-modal .dialog-header{background-color:#fff;-webkit-box-shadow:0 0 8px rgba(0,0,0,.1);box-shadow:0 0 8px rgba(0,0,0,.1);position:relative}.elementor-templates-modal .dialog-buttons-wrapper{border:none;display:none;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;padding:5px}.elementor-templates-modal .dialog-buttons-wrapper .elementor-button{height:40px;margin-right:5px}.elementor-templates-modal .dialog-buttons-wrapper .elementor-button-success{padding:12px 36px;color:#fff;width:auto;font-size:15px}.elementor-templates-modal .dialog-buttons-wrapper .elementor-button-success:hover{background-color:#39b54a}.elementor-templates-modal .dialog-message{height:750px;max-height:85vh;overflow:auto;padding-top:25px}.elementor-templates-modal .dialog-content{height:100%}.elementor-templates-modal .dialog-loading{display:none}.elementor-templates-modal__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;height:50px}.elementor-templates-modal__header__logo{line-height:1;text-transform:uppercase;font-weight:700;cursor:pointer}.elementor-templates-modal__header__logo-area{text-align:right;padding-right:15px}.elementor-templates-modal__header__logo-area>*{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-templates-modal__header__logo__icon-wrapper{margin-left:10px;font-size:12px}.elementor-templates-modal__header__logo__title{padding-top:2px}.elementor-templates-modal__header__items-area{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-templates-modal__header__item{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-sizing:content-box;box-sizing:content-box}.elementor-templates-modal__header__item>i{font-size:20px;-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s;cursor:pointer}.elementor-templates-modal__header__item>i:not(:hover){color:#a4afb7}.elementor-templates-modal__header__close--normal{width:47px;border-right:1px solid #e6e9ec}.elementor-templates-modal__header__close--normal i{font-size:18px}.elementor-templates-modal__header__close--skip{padding:10px 20px 10px 10px;margin-left:10px;color:#fff;background-color:#a4afb7;font-size:11px;font-weight:400;line-height:1;text-transform:uppercase;border-radius:2px;cursor:pointer}.elementor-templates-modal__header__close--skip>i{font-size:inherit;padding-right:10px;margin-right:15px;border-right:1px solid}.elementor-templates-modal__header__close--skip>i:not(:hover){color:#fff}.elementor-templates-modal__sidebar{-ms-flex-negative:0;flex-shrink:0;width:25%;background-color:hsla(0,0%,100%,.3)}.elementor-templates-modal__content{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-webkit-box-shadow:0 0 13px inset rgba(0,0,0,.05);box-shadow:inset 0 0 13px rgba(0,0,0,.05)}#wpadminbar #wp-admin-bar-elementor_edit_page .elementor-general-section+.elementor-second-section{border-top:1px solid #464b50;margin-top:6px}.elementor-hidden{display:none}.elementor-screen-only,.screen-reader-text,.screen-reader-text span,.ui-helper-hidden-accessible{position:absolute;top:-10000em;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0}.elementor-clearfix:after{content:"";display:block;clear:both;width:0;height:0}.e-logo-wrapper{background:#93003c;display:inline-block;padding:.75em;border-radius:50%;line-height:1}.e-logo-wrapper i{color:#fff;font-size:1em}#e-enable-unfiltered-files-dialog-import-template .dialog-confirm-ok{color:#39b54a}#e-enable-unfiltered-files-dialog-import-template .dialog-confirm-cancel{color:#b01b1b}#elementor-finder__modal{background:none;z-index:99999}#elementor-finder__modal .dialog-widget-content{width:650px;max-width:98%;top:18vh;left:calc(50% - 650px / 2)}#elementor-finder__modal .dialog-message{height:auto;min-height:0;padding:0;text-align:right}#elementor-finder__search{padding:14px 15px 14px 21px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-shadow:0 -3px 15px 6px rgba(0,0,0,.03);box-shadow:0 -3px 15px 6px rgba(0,0,0,.03)}#elementor-finder__search i{font-size:16px;color:#a4afb7;font-weight:700;margin-left:15px}#elementor-finder__search__input{border:none;background:none;outline:none;padding:0;margin:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;font-size:14px;color:#495157;-webkit-box-shadow:none;box-shadow:none}#elementor-finder__search__input::-webkit-input-placeholder{color:#a4afb7;font-style:italic;font-weight:300}#elementor-finder__search__input::-moz-placeholder{color:#a4afb7;font-style:italic;font-weight:300}#elementor-finder__search__input::-ms-input-placeholder{color:#a4afb7;font-style:italic;font-weight:300}#elementor-finder__search__input::placeholder{color:#a4afb7;font-style:italic;font-weight:300}#elementor-finder__results{max-height:50vh;overflow:auto}#elementor-finder__no-results{display:none;padding:20px;color:#a4afb7}.elementor-finder__results__category{position:relative}.elementor-finder__results__category__title{padding:5px 25px;color:#6d7882;background-color:#e6e9ec;font-size:9px;text-transform:uppercase}.elementor-finder__results__category--dynamic .elementor-finder__results__category__items{min-height:26px}.elementor-finder__results__category .eicon-loading{display:none;position:absolute;left:10px;top:30px;color:#71d7f7;font-size:14px}.elementor-finder__results__item{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-finder__results__item a{text-decoration:none;-webkit-box-shadow:none;box-shadow:none;outline:none}.elementor-finder__results__item.elementor-active{background-color:#71d7f7;-webkit-box-shadow:none;box-shadow:none;outline:none}.elementor-finder__results__item.elementor-active *{color:#fff}.elementor-finder__results__item:not(.elementor-active) .elementor-finder__results__item__actions{display:none}.elementor-finder__results__item__link{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:35px;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-finder__results__item__icon{width:60px;text-align:center;color:#6d7882;font-size:17px}.elementor-finder__results__item__title{color:#6d7882;font-size:13px}.elementor-finder__results__item__description{margin-right:5px;color:#a4afb7;font-style:italic}.elementor-finder__results__item__action,.elementor-finder__results__item__actions{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-finder__results__item__action{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;height:100%;width:35px}.elementor-finder__results__item__action:hover{background-color:rgba(0,0,0,.07)}.tipsy{font-size:10px;position:absolute;padding:5px;z-index:100000}.tipsy-inner{background-color:#000;color:#fff;font-weight:500;max-width:200px;padding:5px 12px;text-align:center;border-radius:3px;-webkit-box-shadow:0 0 5px 0 rgba(0,0,0,.5);box-shadow:0 0 5px 0 rgba(0,0,0,.5)}.tipsy-arrow{position:absolute;width:0;height:0;line-height:0;border:5px dashed #000}.tipsy-arrow-n{border-bottom-color:#000}.tipsy-arrow-s{border-top-color:#000}.tipsy-arrow-e{border-left-color:#000}.tipsy-arrow-w{border-right-color:#000}.tipsy-n .tipsy-arrow,.tipsy-nw .tipsy-arrow{border-left-color:transparent;border-right-color:transparent;top:0;border-bottom-style:solid;border-top:none}.tipsy-n .tipsy-arrow{left:50%;margin-left:-5px}.tipsy-nw .tipsy-arrow{left:10px}.tipsy-ne .tipsy-arrow{top:0;right:10px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.tipsy-s .tipsy-arrow,.tipsy-se .tipsy-arrow,.tipsy-sw .tipsy-arrow{bottom:0;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.tipsy-s .tipsy-arrow{left:50%;margin-left:-5px}.tipsy-sw .tipsy-arrow{left:10px}.tipsy-se .tipsy-arrow{right:10px}.tipsy-e .tipsy-arrow,.tipsy-w .tipsy-arrow{top:50%;margin-top:-5px;border-top-color:transparent;border-bottom-color:transparent}.tipsy-e .tipsy-arrow{right:0;border-left-style:solid;border-right:none}.tipsy-w .tipsy-arrow{left:0;border-right-style:solid;border-left:none}assets/css/app-base.css000064400000004152152377341010011045 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ :root { --color-box-shadow-color: rgba(0, 0, 0, 0.05); } .eps-theme-dark { --color-box-shadow-color: rgba(0, 0, 0, 0.1); } .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; } @media screen and (min-width: 480px) { .text-start-sm { text-align: start; } } @media screen and (min-width: 480px) { .text-center-sm { text-align: center; } } @media screen and (min-width: 480px) { .text-end-sm { text-align: end; } } @media screen and (min-width: 768px) { .text-start-md { text-align: start; } } @media screen and (min-width: 768px) { .text-center-md { text-align: center; } } @media screen and (min-width: 768px) { .text-end-md { text-align: end; } } @media screen and (min-width: 1025px) { .text-start-lg { text-align: start; } } @media screen and (min-width: 1025px) { .text-center-lg { text-align: center; } } @media screen and (min-width: 1025px) { .text-end-lg { text-align: end; } } @media screen and (min-width: 1440px) { .text-start-xl { text-align: start; } } @media screen and (min-width: 1440px) { .text-center-xl { text-align: center; } } @media screen and (min-width: 1440px) { .text-end-xl { text-align: end; } } @media screen and (min-width: 1600px) { .text-start-xxl { text-align: start; } } @media screen and (min-width: 1600px) { .text-center-xxl { text-align: center; } } @media screen and (min-width: 1600px) { .text-end-xxl { text-align: end; } } @-webkit-keyframes eps-animation-pop { from { -webkit-transform: scale(0.75); transform: scale(0.75); opacity: 0; } to { -webkit-transform: scale(1); transform: scale(1); opacity: 1; } } @keyframes eps-animation-pop { from { -webkit-transform: scale(0.75); transform: scale(0.75); opacity: 0; } to { -webkit-transform: scale(1); transform: scale(1); opacity: 1; } } /*# sourceMappingURL=app-base.css.map */assets/css/widget-testimonial.min.css000064400000003211152377341010013743 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ .elementor-testimonial-wrapper{overflow:hidden;text-align:center}.elementor-testimonial-wrapper .elementor-testimonial-content{font-size:1.3em;margin-bottom:20px}.elementor-testimonial-wrapper .elementor-testimonial-name{line-height:1.5;display:block}.elementor-testimonial-wrapper .elementor-testimonial-job{font-size:.85em;display:block}.elementor-testimonial-wrapper .elementor-testimonial-meta{width:100%;line-height:1}.elementor-testimonial-wrapper .elementor-testimonial-meta-inner{display:inline-block}.elementor-testimonial-wrapper .elementor-testimonial-meta .elementor-testimonial-details,.elementor-testimonial-wrapper .elementor-testimonial-meta .elementor-testimonial-image{display:table-cell;vertical-align:middle}.elementor-testimonial-wrapper .elementor-testimonial-meta .elementor-testimonial-image img{width:60px;height:60px;border-radius:50%;-o-object-fit:cover;object-fit:cover;max-width:none}.elementor-testimonial-wrapper .elementor-testimonial-meta.elementor-testimonial-image-position-aside .elementor-testimonial-image{padding-right:15px}.elementor-testimonial-wrapper .elementor-testimonial-meta.elementor-testimonial-image-position-aside .elementor-testimonial-details{text-align:left}.elementor-testimonial-wrapper .elementor-testimonial-meta.elementor-testimonial-image-position-top .elementor-testimonial-details,.elementor-testimonial-wrapper .elementor-testimonial-meta.elementor-testimonial-image-position-top .elementor-testimonial-image{display:block}.elementor-testimonial-wrapper .elementor-testimonial-meta.elementor-testimonial-image-position-top .elementor-testimonial-image{margin-bottom:20px}assets/css/widget-image-gallery-rtl.min.css000064400000004632152377341010014741 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ .elementor-image-gallery .gallery-item{display:inline-block;text-align:center;vertical-align:top;width:100%;max-width:100%;margin:0 auto}.elementor-image-gallery .gallery-item img{margin:0 auto}.elementor-image-gallery .gallery-item .gallery-caption{margin:0}.elementor-image-gallery figure img{display:block}.elementor-image-gallery figure figcaption{width:100%}.gallery-spacing-custom .elementor-image-gallery .gallery-icon{padding:0}@media (min-width:768px){.elementor-image-gallery .gallery-columns-2 .gallery-item{max-width:50%}.elementor-image-gallery .gallery-columns-3 .gallery-item{max-width:33.33%}.elementor-image-gallery .gallery-columns-4 .gallery-item{max-width:25%}.elementor-image-gallery .gallery-columns-5 .gallery-item{max-width:20%}.elementor-image-gallery .gallery-columns-6 .gallery-item{max-width:16.666%}.elementor-image-gallery .gallery-columns-7 .gallery-item{max-width:14.28%}.elementor-image-gallery .gallery-columns-8 .gallery-item{max-width:12.5%}.elementor-image-gallery .gallery-columns-9 .gallery-item{max-width:11.11%}.elementor-image-gallery .gallery-columns-10 .gallery-item{max-width:10%}}@media (min-width:480px) and (max-width:767px){.elementor-image-gallery .gallery.gallery-columns-2 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-3 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-4 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-5 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-6 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-7 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-8 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-9 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-10 .gallery-item{max-width:50%}}@media (max-width:479px){.elementor-image-gallery .gallery.gallery-columns-2 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-3 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-4 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-5 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-6 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-7 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-8 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-9 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-10 .gallery-item{max-width:100%}}assets/css/widget-image-rtl.min.css000064400000000375152377341010013304 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ .elementor-widget-image{text-align:center}.elementor-widget-image a{display:inline-block}.elementor-widget-image a img[src$=".svg"]{width:48px}.elementor-widget-image img{vertical-align:middle;display:inline-block}assets/css/app-base-rtl.css000064400000004156152377341010011650 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ :root { --color-box-shadow-color: rgba(0, 0, 0, 0.05); } .eps-theme-dark { --color-box-shadow-color: rgba(0, 0, 0, 0.1); } .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; } @media screen and (min-width: 480px) { .text-start-sm { text-align: start; } } @media screen and (min-width: 480px) { .text-center-sm { text-align: center; } } @media screen and (min-width: 480px) { .text-end-sm { text-align: end; } } @media screen and (min-width: 768px) { .text-start-md { text-align: start; } } @media screen and (min-width: 768px) { .text-center-md { text-align: center; } } @media screen and (min-width: 768px) { .text-end-md { text-align: end; } } @media screen and (min-width: 1025px) { .text-start-lg { text-align: start; } } @media screen and (min-width: 1025px) { .text-center-lg { text-align: center; } } @media screen and (min-width: 1025px) { .text-end-lg { text-align: end; } } @media screen and (min-width: 1440px) { .text-start-xl { text-align: start; } } @media screen and (min-width: 1440px) { .text-center-xl { text-align: center; } } @media screen and (min-width: 1440px) { .text-end-xl { text-align: end; } } @media screen and (min-width: 1600px) { .text-start-xxl { text-align: start; } } @media screen and (min-width: 1600px) { .text-center-xxl { text-align: center; } } @media screen and (min-width: 1600px) { .text-end-xxl { text-align: end; } } @-webkit-keyframes eps-animation-pop { from { -webkit-transform: scale(0.75); transform: scale(0.75); opacity: 0; } to { -webkit-transform: scale(1); transform: scale(1); opacity: 1; } } @keyframes eps-animation-pop { from { -webkit-transform: scale(0.75); transform: scale(0.75); opacity: 0; } to { -webkit-transform: scale(1); transform: scale(1); opacity: 1; } } /*# sourceMappingURL=app-base-rtl.css.map */assets/css/frontend-legacy-rtl.min.css000064400000032755152377341010014031 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ .elementor-bc-flex-widget .elementor-section-content-top>.elementor-container>.elementor-row>.elementor-column>.elementor-column-wrap{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.elementor-bc-flex-widget .elementor-section-content-middle>.elementor-container>.elementor-row>.elementor-column>.elementor-column-wrap{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-bc-flex-widget .elementor-section-content-bottom>.elementor-container>.elementor-row>.elementor-column>.elementor-column-wrap{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.elementor-column-gap-narrow>.elementor-row>.elementor-column>.elementor-element-populated>.elementor-widget-wrap{padding:5px}.elementor-column-gap-default>.elementor-row>.elementor-column>.elementor-element-populated>.elementor-widget-wrap{padding:10px}.elementor-column-gap-extended>.elementor-row>.elementor-column>.elementor-element-populated>.elementor-widget-wrap{padding:15px}.elementor-column-gap-wide>.elementor-row>.elementor-column>.elementor-element-populated>.elementor-widget-wrap{padding:20px}.elementor-column-gap-wider>.elementor-row>.elementor-column>.elementor-element-populated>.elementor-widget-wrap{padding:30px}@media (min-width:-1px){.elementor-reverse-widescreen>.elementor-container>.elementor-row>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-widescreen>.elementor-container>.elementor-row>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-widescreen>.elementor-container>.elementor-row>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-widescreen>.elementor-container>.elementor-row>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-widescreen>.elementor-container>.elementor-row>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-widescreen>.elementor-container>.elementor-row>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-widescreen>.elementor-container>.elementor-row>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-widescreen>.elementor-container>.elementor-row>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-widescreen>.elementor-container>.elementor-row>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-widescreen>.elementor-container>.elementor-row>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:1025px) and (max-width:-1px){.elementor-reverse-laptop>.elementor-container>.elementor-row>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:-1px) and (max-width:-1px){.elementor-reverse-laptop>.elementor-container>.elementor-row>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:1025px) and (max-width:-1px){.elementor-reverse-laptop>.elementor-container>.elementor-row>:first-child,.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(2),.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(3),.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(4),.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(5),.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(6),.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(7),.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(8),.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(9),.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(10){-webkit-box-ordinal-group:initial;-ms-flex-order:initial;order:0}.elementor-reverse-tablet_extra>.elementor-container>.elementor-row>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-tablet_extra>.elementor-container>.elementor-row>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-tablet_extra>.elementor-container>.elementor-row>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-tablet_extra>.elementor-container>.elementor-row>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-tablet_extra>.elementor-container>.elementor-row>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-tablet_extra>.elementor-container>.elementor-row>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-tablet_extra>.elementor-container>.elementor-row>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-tablet_extra>.elementor-container>.elementor-row>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-tablet_extra>.elementor-container>.elementor-row>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-tablet_extra>.elementor-container>.elementor-row>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:768px) and (max-width:1024px){.elementor-reverse-tablet>.elementor-container>.elementor-row>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:-1px) and (max-width:1024px){.elementor-reverse-tablet>.elementor-container>.elementor-row>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:768px) and (max-width:-1px){.elementor-reverse-tablet>.elementor-container>.elementor-row>:first-child,.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(2),.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(3),.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(4),.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(5),.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(6),.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(7),.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(8),.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(9),.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(10){-webkit-box-ordinal-group:initial;-ms-flex-order:initial;order:0}.elementor-reverse-mobile_extra>.elementor-container>.elementor-row>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-mobile_extra>.elementor-container>.elementor-row>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-mobile_extra>.elementor-container>.elementor-row>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-mobile_extra>.elementor-container>.elementor-row>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-mobile_extra>.elementor-container>.elementor-row>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-mobile_extra>.elementor-container>.elementor-row>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-mobile_extra>.elementor-container>.elementor-row>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-mobile_extra>.elementor-container>.elementor-row>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-mobile_extra>.elementor-container>.elementor-row>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-mobile_extra>.elementor-container>.elementor-row>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (max-width:767px){.elementor-reverse-mobile>.elementor-container>.elementor-row>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-mobile>.elementor-container>.elementor-row>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-mobile>.elementor-container>.elementor-row>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-mobile>.elementor-container>.elementor-row>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-mobile>.elementor-container>.elementor-row>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-mobile>.elementor-container>.elementor-row>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-mobile>.elementor-container>.elementor-row>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-mobile>.elementor-container>.elementor-row>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-mobile>.elementor-container>.elementor-row>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-mobile>.elementor-container>.elementor-row>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.elementor-column{width:100%}}assets/css/editor-rtl.min.css000064400000467542152377341010012244 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ .elementor-control-unit-1{width:27px}.elementor-control-unit-2{width:54px}.elementor-control-unit-3{width:81px}.elementor-control-unit-4{width:108px}.elementor-control-unit-5{max-width:400px;width:52%}*,:after,:before{margin:0;padding:0;-webkit-box-sizing:border-box;box-sizing:border-box}body,html{height:100%}html{background-color:#f1f1f1}iframe,img{border:0}li{list-style:none}a,body{text-decoration:none}body{color:#6d7882;font-family:Roboto,Arial,Helvetica,Verdana,sans-serif;font-size:13px;font-weight:400;line-height:1;text-transform:none;overflow:hidden}body:after{content:"";position:absolute;top:0;left:0;height:100%;width:0;background-color:#71d7f7;-webkit-transition:width .5s;-o-transition:width .5s;transition:width .5s}body a{color:#71d7f7}body a:hover{color:#93003c}body.elementor-editor-active #elementor-mode-switcher-preview .eicon:before{content:"\e89e"}body.elementor-editor-preview{--e-preview-width:100%}body.elementor-editor-preview #elementor-mode-switcher-preview .eicon:before{content:"\e89f"}body.elementor-navigator--dock-hint:after{width:30px}#elementor-editor-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;height:100vh}#elementor-panel:not(.ui-resizable-resizing),#elementor-preview:not(.ui-resizable-resizing){-webkit-transition:margin .5s ease-in-out,width .5s ease-in-out;-o-transition:margin .5s ease-in-out,width .5s ease-in-out;transition:margin .5s ease-in-out,width .5s ease-in-out}#elementor-loading{position:fixed;top:0;left:0;bottom:0;right:0;background:#f1f3f5;z-index:9999}#elementor-preview-loading{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;position:absolute;top:0;left:0;width:100%;height:100%;background-color:#fff}#elementor-preview-loading i{color:#d5dadf;font-size:50px}#elementor-fatal-error-dialog button.dialog-ok{color:#71d7f7}#elementor-fatal-error-dialog .dialog-header{color:#6d7882}#elementor-flexbox-attention-dialog .dialog-cancel{color:#39b54a}#elementor-flexbox-attention-dialog .dialog-ok{color:#6d7882}.elementor-nerd-box{padding:30px;text-align:center}.elementor-nerd-box-icon{width:100px;margin-right:10px}.elementor-nerd-box-title{margin-top:20px;font-size:16px;font-weight:700;line-height:1.4}.elementor-nerd-box-message{margin-top:5px;line-height:1.8;font-size:11px}.elementor-nerd-box .elementor-button.elementor-nerd-box-link{background-color:#93003c;color:#fff;padding:7px 25px;margin-top:20px;-webkit-box-shadow:0 0 1px rgba(0,0,0,.1),0 2px 2px rgba(0,0,0,.1);box-shadow:0 0 1px rgba(0,0,0,.1),0 2px 2px rgba(0,0,0,.1);-webkit-transition:.5s;-o-transition:.5s;transition:.5s}.elementor-nerd-box .elementor-button.elementor-nerd-box-link:hover{background-color:#c60051}.eicon-nerd:hover:before{content:"\e8b7"}.eicon-nerd:active:before{content:"\e8b6"}.e-group-control-header{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-weight:700;font-size:12px;padding:10px;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.1);box-shadow:0 2px 8px rgba(0,0,0,.1);margin-bottom:15px}.e-control-tools,.e-group-control-header{display:-webkit-box;display:-ms-flexbox;display:flex}.e-control-tool{width:20px;height:20px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;border-radius:3px;margin:0 3px;border:0;position:relative;background-color:#fff}.e-control-tool:not(.e-control-tool-disabled){-webkit-box-shadow:0 1px 5px rgba(0,0,0,.1);box-shadow:0 1px 5px rgba(0,0,0,.1);cursor:pointer}.e-control-tool-disabled{background:#e6e9ec;pointer-events:none}.e-control-tool-disabled i{color:#fff}.e-control-tool i{position:absolute;top:50%;left:50%;-webkit-transform:translateX(-50%) translateY(-50%);-ms-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%);color:#6d7882;font-size:13px}#e-enable-unfiltered-files-dialog .dialog-confirm-ok{color:#39b54a}i.eicon-tilted{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.elementor-loader-wrapper{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:300px;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-loader{border-radius:50%;padding:40px;height:150px;width:150px;background-color:hsla(0,0%,100%,.9);-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-box-shadow:2px 2px 20px 4px rgba(0,0,0,.02);box-shadow:2px 2px 20px 4px rgba(0,0,0,.02)}.elementor-loader-boxes{height:100%;width:100%;position:relative}.elementor-loader-box{position:absolute;background-color:#d5dadf;-webkit-animation:load 1.8s linear infinite;animation:load 1.8s linear infinite}.elementor-loader-box:first-of-type{width:20%;height:100%;left:0;top:0}.elementor-loader-box:not(:first-of-type){right:0;height:20%;width:60%}.elementor-loader-box:nth-of-type(2){top:0;-webkit-animation-delay:-.45s;animation-delay:-.45s}.elementor-loader-box:nth-of-type(3){top:40%;-webkit-animation-delay:-.9s;animation-delay:-.9s}.elementor-loader-box:nth-of-type(4){bottom:0;-webkit-animation-delay:-1.35s;animation-delay:-1.35s}.elementor-loading-title{color:#a4afb7;text-align:center;text-transform:uppercase;margin-top:30px;letter-spacing:7px;text-indent:7px;font-size:10px;width:100%}.elementor-button{font-family:Roboto,Arial,Helvetica,Verdana,sans-serif;font-weight:500;text-transform:uppercase;outline:none;border:none;border-radius:3px;-webkit-transition-property:background,color,opacity,-webkit-box-shadow;transition-property:background,color,opacity,-webkit-box-shadow;-o-transition-property:background,color,box-shadow,opacity;transition-property:background,color,box-shadow,opacity;transition-property:background,color,box-shadow,opacity,-webkit-box-shadow;-webkit-transition-duration:.3s;-o-transition-duration:.3s;transition-duration:.3s}.elementor-button:hover{border:none}.elementor-button:not([disabled]){cursor:pointer}.elementor-button:not(.elementor-button-state) .elementor-state-icon{display:none}.elementor-button.elementor-button-success{color:#fff}.elementor-button.elementor-button-success[disabled]{background-color:#c2cbd2}.elementor-button.elementor-button-success:not([disabled]){background-color:#39b54a}.elementor-button.elementor-button-success:not([disabled]):hover{opacity:.85;-webkit-box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2);box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}.elementor-button.elementor-button-success:not([disabled]):active{-webkit-box-shadow:0 5px 10px rgba(0,0,0,.19),0 3px 3px rgba(0,0,0,.1);box-shadow:0 5px 10px rgba(0,0,0,.19),0 3px 3px rgba(0,0,0,.1)}.elementor-button.elementor-button-warning{background-color:#a4afb7;color:#fff}.elementor-button.elementor-button-warning[disabled]{background-color:#c2cbd2}.elementor-button.elementor-button-warning:not([disabled]):hover{background-color:#b01b1b;opacity:.85;-webkit-box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2);box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}.elementor-button.elementor-button-warning:not([disabled]):active{-webkit-box-shadow:0 5px 10px rgba(0,0,0,.19),0 3px 3px rgba(0,0,0,.1);box-shadow:0 5px 10px rgba(0,0,0,.19),0 3px 3px rgba(0,0,0,.1)}.elementor-button.elementor-button-danger{background-color:#d72b3f;color:#fff}.elementor-button.elementor-button-danger[disabled]{background-color:#c2cbd2}.elementor-button.elementor-button-danger:not([disabled]):hover{opacity:.85;-webkit-box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2);box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}.elementor-button.elementor-button-danger:not([disabled]):active{-webkit-box-shadow:0 5px 10px rgba(0,0,0,.19),0 3px 3px rgba(0,0,0,.1);box-shadow:0 5px 10px rgba(0,0,0,.19),0 3px 3px rgba(0,0,0,.1)}.elementor-button.elementor-edit-template{display:inline-block;margin-top:15px;color:#fff}.elementor-button.elementor-button-default{background-color:#a4afb7;color:#fff;font-size:11px;padding:7px 21px}.elementor-button.elementor-button-default:hover{background-color:#6d7882;-webkit-box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2);box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}.elementor-button.elementor-button-default:active{-webkit-box-shadow:0 5px 10px rgba(0,0,0,.19),0 3px 3px rgba(0,0,0,.1);box-shadow:0 5px 10px rgba(0,0,0,.19),0 3px 3px rgba(0,0,0,.1)}.elementor-button.elementor-button-default:visited{color:#fff}.elementor-button.elementor-button-go-pro{background-color:#93003c}.elementor-button i{margin-left:10px}.elementor-input-style,input,select,textarea{border-radius:3px;font-size:12px;width:100%;background:none;-webkit-box-shadow:none;box-shadow:none;color:#6d7882;border:1px solid;outline:none}.elementor-input-style:not(:focus),input:not(:focus),select:not(:focus),textarea:not(:focus){border-color:#d5dadf}.elementor-input-style:focus,.elementor-input-style:focus+.elementor-control-dynamic-switcher,input:focus,input:focus+.elementor-control-dynamic-switcher,select:focus,select:focus+.elementor-control-dynamic-switcher,textarea:focus,textarea:focus+.elementor-control-dynamic-switcher{border-color:#a4afb7}.elementor-input-style::-webkit-input-placeholder,input::-webkit-input-placeholder,select::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#a4afb7}.elementor-input-style::-moz-placeholder,input::-moz-placeholder,select::-moz-placeholder,textarea::-moz-placeholder{color:#a4afb7}.elementor-input-style::-ms-input-placeholder,input::-ms-input-placeholder,select::-ms-input-placeholder,textarea::-ms-input-placeholder{color:#a4afb7}.elementor-input-style::placeholder,input::placeholder,select::placeholder,textarea::placeholder{color:#a4afb7}.elementor-error input,.elementor-error select,.elementor-error textarea{border-color:#b01b1b}input{min-width:0}.elementor-input-style,input,textarea{padding:5px}.elementor-input-style,textarea{resize:vertical}input[type=checkbox],input[type=radio]{height:auto;width:auto}input[disabled]{background-color:#e6e9ec;cursor:not-allowed;opacity:1}select{outline:none;height:27px}.ps{overflow:hidden!important;overflow-anchor:none;-ms-touch-action:auto;touch-action:auto}.ps__rail-y{display:none;opacity:0;-webkit-transition:background-color .2s linear,opacity .2s linear;-o-transition:background-color .2s linear,opacity .2s linear;transition:background-color .2s linear,opacity .2s linear;width:15px;right:0;left:auto!important;position:absolute}.ps--active-y>.ps__rail-y{display:block;background-color:transparent}.ps--focus>.ps__rail-y,.ps--scrolling-y>.ps__rail-y,.ps:hover>.ps__rail-y{opacity:.6}.ps .ps__rail-y.ps--clicking,.ps .ps__rail-y:focus,.ps .ps__rail-y:hover{opacity:.9}.ps__thumb-y{background-color:#aaa;border-radius:6px;-webkit-transition:background-color .2s linear,width .2s ease-in-out;-o-transition:background-color .2s linear,width .2s ease-in-out;transition:background-color .2s linear,width .2s ease-in-out;width:6px;right:2px;position:absolute}.ps__rail-y.ps--clicking .ps__thumb-y,.ps__rail-y:focus>.ps__thumb-y,.ps__rail-y:hover>.ps__thumb-y{background-color:#999;width:6px}#nprogress{pointer-events:none}#nprogress .bar{background:#39b54a;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;-webkit-box-shadow:0 0 10px #39b54a,0 0 5px #39b54a;box-shadow:0 0 10px #39b54a,0 0 5px #39b54a;opacity:1;-webkit-transform:rotate(3deg) translateY(-4px);-ms-transform:rotate(3deg) translateY(-4px);transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:none;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;-webkit-box-sizing:border-box;box-sizing:border-box;border-color:#39b54a transparent transparent #39b54a;border-style:solid;border-width:2px;border-radius:50%;-webkit-animation:nprogress-spinner .4s linear infinite;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@-webkit-keyframes nprogress-spinner{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes nprogress-spinner{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}#nprogress .bar,#nprogress .spinner{z-index:100000}:root{--e-is-preview-mode:0}@media (max-width:1439px){:root{--e-editor-panel-width:280px}}@media (min-width:1440px){:root{--e-editor-panel-width:300px}}.elementor-panel{position:relative;height:100%;-webkit-margin-start:calc(-1 * var(--e-editor-panel-width) * var(--e-is-preview-mode));margin-inline-start:calc(-1 * var(--e-editor-panel-width) * var(--e-is-preview-mode));width:var(--e-editor-panel-width);overflow:visible;background-color:#e6e9ec;z-index:1;font-family:Roboto,Arial,Helvetica,Verdana,sans-serif;font-size:13px;right:0}.elementor-editor-preview .elementor-panel{--e-is-preview-mode:1}.elementor-editor-preview .elementor-panel>.ui-resizable-e,.elementor-editor-preview .elementor-panel>.ui-resizable-w{display:none}.elementor-panel .ps__rail-y{z-index:2}.elementor-panel .elementor-responsive-panel{padding:5px 10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(min(135px,50% - 5px),1fr))}.elementor-panel .elementor-responsive-panel>.e-responsive-panel-stretch{grid-column:1/-1}.elementor-panel ::-moz-selection{background:#5bc0de;color:#fff}.elementor-panel ::selection{background:#5bc0de;color:#fff}.elementor-panel a{color:#93003c}.elementor-panel h1,.elementor-panel h2,.elementor-panel h3,.elementor-panel h4,.elementor-panel h5,.elementor-panel h6{font-size:100%;font-weight:400}.elementor-panel abbr,.elementor-panel acronym{border:0;font-variant:normal}.elementor-panel sup{vertical-align:text-top}.elementor-panel sub{vertical-align:text-bottom}.elementor-panel img{max-width:100%;height:auto;border:0}.elementor-panel ::-moz-focus-inner{padding:0;border:0}.elementor-panel :focus{outline:0}.elementor-panel .elementor-panel-box{margin-top:10px;background-color:#fff}.elementor-panel .elementor-panel-box-content{padding:20px 20px 10px}.elementor-panel .elementor-button{display:inline-block}.elementor-panel .elementor-panel-alert{background-color:#fcfcfc;padding:15px;border-right:3px solid transparent;position:relative;font-size:12px;font-weight:300;font-style:italic;line-height:1.5;text-align:right;border-radius:3px 0 0 3px;-webkit-box-shadow:0 1px 4px 0 rgba(0,0,0,.07);box-shadow:0 1px 4px 0 rgba(0,0,0,.07)}.elementor-panel .elementor-panel-alert a{color:inherit}.elementor-panel .elementor-panel-alert.elementor-panel-alert-info{border-color:#71d7f7;background-color:#f3fcff}.elementor-panel .elementor-panel-alert.elementor-panel-alert-success{border-color:#39b54a}.elementor-panel .elementor-panel-alert.elementor-panel-alert-warning{border-color:#fcb92c}.elementor-panel .elementor-panel-alert.elementor-panel-alert-danger{border-color:#d72b3f}.elementor-panel .elementor-label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em;text-transform:capitalize}.elementor-panel .elementor-label.elementor-label-default{background-color:#a4afb7}.elementor-panel .elementor-label.elementor-label-info{background-color:#5bc0de}.elementor-panel .elementor-label.elementor-label-success{background-color:#5cb85c}.elementor-panel .elementor-label.elementor-label-warning{background-color:#f0ad4e}.elementor-panel .elementor-label.elementor-label-danger{background-color:#d9534f}.elementor-panel .elementor-control-field-description,.elementor-panel .elementor-descriptor{font-size:11px;font-style:italic;line-height:1.4;color:#a4afb7}.elementor-panel .elementor-controls-popover{display:none;position:absolute;-webkit-box-shadow:0 2px 15px rgba(0,0,0,.3);box-shadow:0 2px 15px rgba(0,0,0,.3);border-radius:3px;left:0;right:0;margin:-4px auto 5px;padding-top:15px;width:90%;z-index:10000;background-color:#fff}.elementor-panel .elementor-controls-popover:before{content:"";position:absolute;top:-16px;left:22px;border:8px solid transparent;border-bottom-color:#fff}.elementor-panel .elementor-controls-popover div.elementor-control{background-color:transparent}.elementor-panel .elementor-controls-popover div.elementor-control:before{content:none}.elementor-panel #elementor-controls .pojo-widget-button-collapse{display:none}.elementor-panel #elementor-panel-global .elementor-nerd-box .elementor-nerd-box-icon{margin-top:20px}.elementor-panel #elementor-panel-header{display:table;height:40px;width:100%;background-color:#93003c;color:#fff}.elementor-panel #elementor-panel-header>*{display:table-cell;vertical-align:middle;text-align:center}.elementor-panel .elementor-header-button{width:40px}.elementor-panel .elementor-header-button .elementor-icon{cursor:pointer;display:block;font-size:19px;height:40px;line-height:40px;-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s}.elementor-panel .elementor-header-button .elementor-icon.eicon-menu-bar{font-size:18px}.elementor-panel .elementor-header-button .elementor-icon:hover{color:#d5dadf}.elementor-panel #elementor-panel-header-title{font-size:15px}.elementor-panel #elementor-panel-header-title img{width:90px}.elementor-panel #elementor-panel-elements-categories{padding-bottom:10px}.elementor-panel .elementor-panel-category{position:relative}.elementor-panel .elementor-panel-category:first-child .elementor-panel-category-title{padding-top:14px}.elementor-panel .elementor-panel-category.elementor-active .elementor-panel-category-title:before{-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg)}.elementor-panel .elementor-panel-category:not(.elementor-active):after{content:"";position:absolute;left:15px;right:15px;bottom:0;height:8px;background:-o-linear-gradient(rgba(0,0,0,.03),transparent);background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.03)),to(transparent));background:linear-gradient(rgba(0,0,0,.03),transparent);-webkit-transform:translateY(100%);-ms-transform:translateY(100%);transform:translateY(100%)}.elementor-panel .elementor-panel-category-title{margin:0 15px;padding:20px 0;position:relative;text-transform:uppercase;font-size:11px;cursor:pointer}.elementor-panel .elementor-panel-category-title:before{content:"\e87e";font-family:eicons;position:absolute;left:0;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;-o-transition:transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}.elementor-panel .elementor-panel-category-items{padding:0 10px}.elementor-panel .elementor-panel-category-items-empty{grid-column-start:1;grid-column-end:3}.elementor-panel .elementor-panel-scheme-title{padding:10px 20px;margin-top:10px}.elementor-panel .elementor-panel-scheme-description{padding:20px 20px 0}.elementor-panel .elementor-panel-scheme-buttons{padding:0 20px;display:table;table-layout:fixed;width:100%;height:40px;background-color:#fff;-webkit-box-shadow:0 0 8px rgba(0,0,0,.1);box-shadow:0 0 8px rgba(0,0,0,.1)}.elementor-panel .elementor-panel-scheme-buttons .elementor-button{font-family:Roboto,Arial,Helvetica,Verdana,sans-serif;font-size:11px;font-weight:400}.elementor-panel .elementor-panel-scheme-button-wrapper{display:table-cell;vertical-align:middle;text-align:center}.elementor-panel .elementor-panel-scheme-button-wrapper:first-child{text-align:right}.elementor-panel .elementor-panel-scheme-button-wrapper:last-child{text-align:left}.elementor-panel .elementor-panel-scheme-save .elementor-button{padding:6px 18px}.elementor-panel .elementor-panel-scheme-discard .elementor-button,.elementor-panel .elementor-panel-scheme-reset .elementor-button{color:#a4afb7;background:none}.elementor-panel .elementor-panel-scheme-color .elementor-panel-scheme-items{position:relative;display:grid;grid-template-columns:repeat(4,27px);-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.elementor-panel .elementor-panel-scheme-color-title{text-align:center;text-transform:uppercase;margin:10px 0;color:#c2cbd2;font-size:8px}.elementor-panel .elementor-panel-scheme-typography-item{display:table;table-layout:fixed;width:100%;margin-bottom:15px}.elementor-panel .elementor-panel-scheme-typography-item>*{display:table-cell;vertical-align:middle}.elementor-panel .elementor-panel-scheme-typography-item-value input,.elementor-panel .elementor-panel-scheme-typography-item-value select{width:100%}.elementor-panel .elementor-panel-scheme-item:not(.elementor-open) .elementor-panel-scheme-typography-items{display:none}.elementor-panel .elementor-panel-scheme-color-system-scheme{margin-bottom:10px}.elementor-panel .elementor-panel-scheme-color-system-scheme .elementor-title{font-size:11px;color:#a4afb7;font-style:italic;margin-top:5px}.elementor-panel .elementor-panel-scheme-color-system-items{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-transition:border .5s;-o-transition:border .5s;transition:border .5s;overflow:hidden;padding:3px;border-radius:3px;border:1px solid #d5dadf;cursor:pointer}.elementor-panel .elementor-panel-scheme-color-system-items:hover{border:1px solid #a4afb7}.elementor-panel .elementor-panel-scheme-color-system-item{height:20px;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-panel #elementor-panel-schemes-disabled a{color:#39b54a}.elementor-panel #elementor-panel-schemes-disabled a:hover{text-decoration:underline}.elementor-panel #elementor-panel-schemes-disabled .elementor-nerd-box-icon{margin-top:20px}.elementor-panel #elementor-panel-page-menu{padding:25px 15px}.elementor-panel .elementor-panel-menu-group-title{text-transform:uppercase;font-size:11px}.elementor-panel .elementor-panel-menu-items{margin:15px 0 25px;border-radius:5px;overflow:hidden}.elementor-panel .elementor-panel-menu-item{display:table;width:100%;height:40px;cursor:pointer;margin-bottom:1px;background-color:#fff}.elementor-panel .elementor-panel-menu-item:hover{background-color:hsla(0,0%,100%,.8)}.elementor-panel .elementor-panel-menu-item>*{display:table-cell;vertical-align:middle}.elementor-panel .elementor-panel-menu-item-icon{text-align:center;width:50px;color:#a4afb7;font-size:19px}.elementor-panel .elementor-panel-menu-item-icon .eicon-editor-external-link{font-size:18px}.elementor-panel .elementor-panel-menu-item-title{font-weight:500}.elementor-panel .elementor-panel-menu-item-title>span{color:#39b54a}.elementor-panel .elementor-panel-menu-item a{color:#6d7882}.elementor-panel .elementor-panel-menu-item-exit-to-dashboard{background-color:#0085ba;color:#fff;text-transform:uppercase;font-size:12px}.elementor-panel .elementor-panel-menu-item-exit-to-dashboard:hover{background-color:#0073a1}.elementor-panel .elementor-panel-menu-item-exit-to-dashboard .elementor-panel-menu-item-icon,.elementor-panel .elementor-panel-menu-item-exit-to-dashboard .elementor-panel-menu-item-title{color:#fff}.elementor-panel .elementor-panel-menu-item-settings-additional-settings{background-color:#f1f3f5}.elementor-panel .elementor-control.elementor-control-clear_page{background-color:transparent}.elementor-panel .elementor-control.elementor-control-clear_page .elementor-control-raw-html{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.elementor-panel .elementor-panel-navigation{background-color:#fff;-webkit-box-shadow:0 0 8px rgba(0,0,0,.1);box-shadow:0 0 8px rgba(0,0,0,.1);display:table;table-layout:fixed;width:100%}.elementor-panel .elementor-panel-navigation .elementor-panel-navigation-tab{display:table-cell}.elementor-panel .elementor-panel-navigation .elementor-panel-navigation-tab.elementor-active{background-image:-o-linear-gradient(top,#f1f3f5,#fff);background-image:-webkit-gradient(linear,left top,left bottom,from(#f1f3f5),to(#fff));background-image:linear-gradient(180deg,#f1f3f5,#fff);border-bottom:3px solid #93003c}.elementor-panel .elementor-panel-navigation .elementor-panel-navigation-tab a{display:block;text-align:center;padding:12px 0 8px;font-size:10px;color:#6d7882}.elementor-panel .elementor-panel-navigation .elementor-panel-navigation-tab a:before{font-family:eicons;font-size:16px;display:block;margin-bottom:6px}.elementor-panel .elementor-tab-control-content a:before{content:"\e92c"}.elementor-panel .elementor-tab-control-style a:before{content:"\e921"}.elementor-panel .elementor-tab-control-advanced a:before,.elementor-panel .elementor-tab-control-general_style a:before,.elementor-panel .elementor-tab-control-settings a:before{content:"\e916"}.elementor-panel .elementor-tab-control-responsive a:before{content:"\e885"}.elementor-panel .elementor-tab-control-column a:before,.elementor-panel .elementor-tab-control-layout a:before{content:"\e899"}.elementor-panel .elementor-tab-control-lightbox a:before{content:"\e922"}.elementor-panel #elementor-panel__editor__help{padding:50px 25px;display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-panel #elementor-panel__editor__help,.elementor-panel #elementor-panel__editor__help__link{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-panel #elementor-panel__editor__help__link{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;color:#6d7882;font-size:12px;font-weight:500;-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s}.elementor-panel #elementor-panel__editor__help__link i{padding:0 5px;color:#a4afb7;font-size:18px;position:relative}.elementor-panel #elementor-panel__editor__help__link i:after{content:"";position:absolute;height:13px;width:13px;top:3px;bottom:0;right:8px;left:0;border-radius:50%;z-index:-1}.elementor-panel #elementor-panel__editor__help__link:hover{color:#495157}.elementor-panel #elementor-panel__editor__help__link:hover i{color:#71d7f7}.elementor-panel #elementor-panel__editor__help__link:hover i:before{content:"\e941"}.elementor-panel #elementor-panel__editor__help__link:hover i:after{background:#fff}.elementor-panel #elementor-panel-footer{position:absolute;bottom:0;left:0;right:0;height:40px;background-color:#495157}.elementor-panel #elementor-panel-footer-tools{display:table;table-layout:fixed;width:100%;height:100%}.elementor-panel .elementor-panel-footer-tool{display:table-cell;vertical-align:middle;text-align:center;cursor:pointer;color:#a4afb7;-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s}.elementor-panel .elementor-panel-footer-tool #elementor-panel-saver-button-update{border-left:1px solid #2d8739;border-radius:0 3px 3px 0}.elementor-panel .elementor-panel-footer-tool #elementor-panel-saver-button-update i{margin-left:5px}.elementor-panel .elementor-panel-footer-tool #elementor-panel-saver-button-save-options{float:right;border-radius:3px 0 0 3px}.elementor-panel .elementor-panel-footer-tool #elementor-panel-saver-button-save-options i{margin:auto}.elementor-panel .elementor-panel-footer-tool.elementor-open{color:#fff}.elementor-panel .elementor-panel-footer-tool:not(.elementor-open):hover{color:#d5dadf}.elementor-panel .elementor-panel-footer-tool:not(.elementor-open) .elementor-panel-footer-sub-menu-wrapper{display:none}.elementor-panel .elementor-panel-footer-sub-menu-wrapper{position:absolute;bottom:100%;left:0;width:100%;background-color:#556068;padding:10px;-webkit-box-shadow:-2px -5px 8px rgba(0,0,0,.1);box-shadow:-2px -5px 8px rgba(0,0,0,.1);cursor:default;z-index:10000}.elementor-panel .elementor-panel-footer-sub-menu{border-radius:5px;overflow:hidden}.elementor-panel .elementor-panel-footer-sub-menu-item{background-color:#495157;display:table;table-layout:fixed;width:100%;cursor:pointer}.elementor-panel .elementor-panel-footer-sub-menu-item.elementor-disabled .elementor-icon,.elementor-panel .elementor-panel-footer-sub-menu-item.elementor-disabled .elementor-title{color:#6d7882}.elementor-panel .elementor-panel-footer-sub-menu-item:not(:last-child){margin-bottom:1px}.elementor-panel .elementor-panel-footer-sub-menu-item:hover{background-color:rgba(0,0,0,.2)}.elementor-panel .elementor-panel-footer-sub-menu-item.active{background-color:rgba(0,0,0,.3)}.elementor-panel .elementor-panel-footer-sub-menu-item>*{display:table-cell;height:40px;vertical-align:middle}.elementor-panel .elementor-panel-footer-sub-menu-item .elementor-icon{width:40px;color:#a4afb7}.elementor-panel .elementor-panel-footer-sub-menu-item .elementor-title{text-align:right;color:#d5dadf}.elementor-panel .elementor-panel-footer-sub-menu-item .elementor-description{width:95px;text-align:right;font-size:11px;font-style:italic;color:#a4afb7}.elementor-panel #elementor-panel-footer-help-title{text-align:right;padding:10px 0;color:#d5dadf}.elementor-panel #elementor-panel-footer-responsive>i{display:block;height:100%;line-height:40px}.elementor-panel #elementor-panel-footer-saver-publish{width:80px}.elementor-panel #elementor-panel-footer-saver-publish .elementor-button-state i{margin-left:0}.elementor-panel #elementor-panel-footer-saver-publish .elementor-button-state #elementor-panel-saver-button-publish-label{display:none}.elementor-panel #elementor-panel-footer-saver-options{width:35px;border-right:1px solid #495157}.elementor-panel #elementor-panel-footer-saver-options .elementor-last-edited-wrapper{font-size:11px;font-style:italic;color:#a4afb7;padding:5px 0 15px}.elementor-panel #elementor-panel-footer-saver-options .elementor-last-edited-wrapper:not(.elementor-state-active) .elementor-state-icon{display:none}.elementor-panel #elementor-panel-footer-saver-options .elementor-last-edited-wrapper time{border-bottom:1px dotted transparent;-webkit-transition:all .3s ease-in-out;-o-transition:all ease-in-out .3s;transition:all .3s ease-in-out;cursor:pointer}.elementor-panel #elementor-panel-footer-saver-options .elementor-last-edited-wrapper time:hover{border-bottom-color:inherit}.elementor-panel .elementor-disabled{cursor:default}.elementor-panel #elementor-panel-saver-button-preview a{color:#a4afb7}.elementor-panel #elementor-panel-saver-button-publish,.elementor-panel #elementor-panel-saver-button-save-options{font-size:11px;text-transform:uppercase;height:26px}.elementor-panel #elementor-panel-saver-button-publish.elementor-disabled,.elementor-panel #elementor-panel-saver-button-save-options.elementor-disabled{background-color:#556068;color:#a4afb7}.elementor-panel #elementor-panel-saver-button-publish{width:100%;border-radius:0 3px 3px 0}.elementor-panel #elementor-panel-saver-button-save-options{width:25px}#elementor-panel-elements-navigation .elementor-panel-navigation-tab{text-align:center;padding:10px 0;font-size:11px;text-transform:uppercase;cursor:pointer}#elementor-panel-elements{overflow:hidden}#elementor-panel-state-loading{display:none}body.elementor-panel-loading #elementor-panel-state-loading{position:absolute;top:0;left:0;height:100%;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;background-color:hsla(0,0%,100%,.5);z-index:2}#elementor-panel-state-loading .eicon-loading{font-size:25px;color:#71d7f7}#elementor-panel-elements-search-area{position:sticky;top:0;padding:10px;background-color:#e6e9ec;z-index:1}#elementor-panel-elements-search-wrapper{position:relative}#elementor-panel-elements-search-input{background-color:hsla(0,0%,100%,.7);font-size:11px;padding:10px 29px 10px 10px;font-style:italic;color:#a4afb7;border:none;-webkit-transition:all 1s;-o-transition:all 1s;transition:all 1s;border-radius:3px;appearance:none;-webkit-appearance:none;-moz-appearance:none}#elementor-panel-elements-search-input+i{position:absolute;right:10px;top:50%;color:#a4afb7;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}#elementor-panel-elements-search-input:focus{background-color:#fff;padding-left:15px}.elementor-panel .elementor-element{border-radius:3px;background-color:#fff;cursor:move;position:relative}.elementor-panel .elementor-element-wrapper{text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box}.elementor-panel .elementor-element--promotion .elementor-element{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.elementor-panel .elementor-element .icon,.elementor-panel .elementor-element .title{color:#556068;-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s}.elementor-panel .elementor-element:hover{-webkit-box-shadow:0 2px 6px rgba(0,0,0,.2);box-shadow:0 2px 6px rgba(0,0,0,.2)}.elementor-panel .elementor-element:hover .icon,.elementor-panel .elementor-element:hover .title{color:#93003c}.elementor-panel .elementor-element .icon{font-size:28px;padding-top:15px}.elementor-panel .elementor-element .elementor-element-title-wrapper{display:table;width:100%}.elementor-panel .elementor-element .title{font-size:11px;display:table-cell;vertical-align:middle;height:40px}.elementor-panel .elementor-element>.eicon-lock{position:absolute;top:5px;left:5px;color:#e6e9ec}#elementor-element--promotion__dialog{position:absolute;width:300px;z-index:1;background-color:#fff;-webkit-box-shadow:0 2px 15px rgba(0,0,0,.3);box-shadow:0 2px 15px rgba(0,0,0,.3);border-radius:3px}#elementor-element--promotion__dialog:after{content:"";position:absolute;top:15px;left:100%;-webkit-transform:scaleY(.7);-ms-transform:scaleY(.7);transform:scaleY(.7);border:10px solid transparent;border-left-color:#fff}#elementor-element--promotion__dialog__title{font-size:14px}#elementor-element--promotion__dialog .dialog-header{display:-webkit-box;display:-ms-flexbox;display:flex;padding:20px;color:#495157;border-bottom:1px solid #e6e9ec;font-weight:500}#elementor-element--promotion__dialog .dialog-header i{color:#a4afb7}#elementor-element--promotion__dialog .dialog-header .eicon-pro-icon{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;margin-right:10px;font-size:14px}#elementor-element--promotion__dialog .dialog-header .eicon-close{cursor:pointer}#elementor-element--promotion__dialog .dialog-message{padding:20px}#elementor-element--promotion__dialog .dialog-buttons-wrapper{padding:0 20px 20px}#elementor-element--promotion__dialog .dialog-button{width:100%;padding:6.5px;font-size:12px}#elementor-element--promotion__dialog .dialog-button::-moz-focus-inner{border:0}#elementor-panel-inner{position:relative;height:100%;-webkit-box-shadow:0 0 5px 0 rgba(0,0,0,.2);box-shadow:0 0 5px 0 rgba(0,0,0,.2)}#elementor-panel-content-wrapper{position:absolute;bottom:40px;top:40px;left:0;width:100%}.elementor-panel-container{clear:both;padding-left:15px;padding-right:15px}.media-modal.wp-core-ui input,.media-modal.wp-core-ui select{width:auto}.media-modal.wp-core-ui fieldset{padding:0;border:0}.media-modal.wp-core-ui .wp-clearfix:after{content:"";display:table;clear:both}.media-modal.wp-core-ui .e-wp-media-elements-removed .embed-link-settings,.media-modal.wp-core-ui .e-wp-media-elements-removed .embed-media-settings>:not(.wp-clearfix):not(.alt-text):not(#alt-text-description){display:none}.media-modal.wp-core-ui .e-wp-media-elements-removed #embed-url-field{width:70%}.media-modal.wp-core-ui .e-wp-media-elements-removed .media-embed .thumbnail{margin-top:20px}.media-modal.wp-core-ui .e-wp-media-elements-removed .media-embed .thumbnail,.media-modal.wp-core-ui .e-wp-media-elements-removed .media-embed .thumbnail img{max-height:none}.media-modal.wp-core-ui .e-wp-media-elements-removed .media-embed .thumbnail:after{-webkit-box-shadow:none;box-shadow:none}.media-modal.wp-core-ui .e-wp-media-elements-removed .media-button-select{font-size:0}.media-modal.wp-core-ui .e-wp-media-elements-removed .media-button-select:before{content:var(--button-text);font-size:13px}#elementor-panel-get-pro-elements .elementor-nerd-box-message{margin-top:10px}#elementor-panel-get-pro-elements .elementor-nerd-box-icon{margin-top:20px}.elementor-control{--control-title-size:12px;background-color:#fff;position:relative;padding:0 20px 15px}.elementor-control a{font-weight:500;text-decoration:none;border-bottom:1px dotted transparent;-webkit-transition:all .3s ease-in-out;-o-transition:all ease-in-out .3s;transition:all .3s ease-in-out}.elementor-control a:hover{border-bottom-color:inherit}.elementor-control a.elementor-responsive-switcher{border-bottom:0}.elementor-control .elementor-control-content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.elementor-control .elementor-control-title{font-size:var(--control-title-size);line-height:1;margin-left:5px}.elementor-control .elementor-control-spinner{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-control.elementor-control-type-divider{padding:0;background-color:transparent}.elementor-control.elementor-control-type-divider .elementor-control-content{border:solid #e6e9ec;border-width:1px 0 0;background-color:#fff;height:15px}.elementor-control.elementor-control-separator-default:not(.elementor-control-type-divider).elementor-control-wp{margin-top:15px}.elementor-control.elementor-control-separator-default:not(.elementor-control-type-divider).elementor-control-wp:before{content:"";height:1px;display:block;margin-bottom:15px;background-color:transparent}.elementor-control.elementor-control-separator-before{padding-top:15px}.elementor-control.elementor-control-separator-before:before{content:"";position:absolute;height:1px;width:100%;top:0;left:0;background-color:#e6e9ec}.elementor-control.elementor-control-separator-after:after{content:"";position:absolute;height:1px;width:100%;bottom:0;left:0;background-color:#e6e9ec}.elementor-control.elementor-control-separator-after+.elementor-control-type-tabs+.elementor-control-separator-default,.elementor-control.elementor-control-separator-after:not(.elementor-hidden-control)+.elementor-control-separator-default{padding-top:15px}.elementor-control.elementor-control-deprecated,.elementor-control.elementor-control-deprecated .elementor-control-field-description{color:#b01b1b}.elementor-control.elementor-control-hidden-label>*>*>.elementor-control-title,.elementor-control.elementor-control-hidden-label>*>.elementor-control-title,.elementor-control.elementor-hidden-control{display:none}.elementor-control.elementor-control-type-heading .elementor-control-title{font-weight:700;margin:0}body:not(.elementor-device-desktop) .elementor-control.elementor-control-responsive-desktop,body:not(.elementor-device-laptop) .elementor-control.elementor-control-responsive-laptop,body:not(.elementor-device-mobile) .elementor-control.elementor-control-responsive-mobile,body:not(.elementor-device-mobile_extra) .elementor-control.elementor-control-responsive-mobile_extra,body:not(.elementor-device-tablet) .elementor-control.elementor-control-responsive-tablet,body:not(.elementor-device-tablet_extra) .elementor-control.elementor-control-responsive-tablet_extra,body:not(.elementor-device-widescreen) .elementor-control.elementor-control-responsive-widescreen{display:none}.elementor-control.elementor-control-type-select .elementor-control-input-wrapper{position:relative}.elementor-control.elementor-control-type-select .elementor-control-input-wrapper select{appearance:none;-webkit-appearance:none;-moz-appearance:none;font-size:12px;font-family:inherit;font-weight:inherit;font-style:inherit;text-transform:inherit;letter-spacing:inherit;line-height:inherit;-ms-flex-preferred-size:100%;flex-basis:100%;padding-right:5px;padding-left:20px;cursor:pointer}.elementor-control.elementor-control-type-select .elementor-control-input-wrapper select.e-select-placeholder{color:#a4afb7}.elementor-control.elementor-control-type-select .elementor-control-input-wrapper option.e-option-placeholder{display:none}.elementor-control.elementor-control-type-select .elementor-control-input-wrapper:after{font-family:eicons;content:"\e8ad";font-size:12px;position:absolute;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);left:5px;pointer-events:none}.elementor-control-custom_attributes_pro .elementor-nerd-box-message,.elementor-control-custom_css_pro .elementor-nerd-box-message{margin-top:5px}.elementor-control.elementor-control-custom_css_title{font-size:12px}.elementor-control.elementor-open .elementor-panel-heading-toggle .eicon:before,.elementor-panel-scheme-item.elementor-open .elementor-panel-heading-toggle .eicon:before{content:"\e92a"}.elementor-control:not(.elementor-open) .elementor-panel-heading-toggle .eicon:before,.elementor-panel-scheme-item:not(.elementor-open) .elementor-panel-heading-toggle .eicon:before{content:"\e909"}.elementor-panel-heading{display:table;table-layout:fixed;height:40px;padding:0 20px;width:100%;border-bottom:1px solid #e6e9ec;cursor:pointer}.elementor-panel-heading>*{display:table-cell;vertical-align:middle}.elementor-panel-heading-toggle{width:20px;color:#495157}.elementor-panel-heading-title{color:#495157;font-weight:700}.elementor-control-wp{line-height:1.5}.elementor-control-wp p{margin:15px 0}.elementor-control-field{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-label-block>.elementor-control-content>.elementor-control-field{-ms-flex-wrap:wrap;flex-wrap:wrap}.elementor-label-block>.elementor-control-content>.elementor-control-field>.elementor-control-input-wrapper{width:100%;margin-top:10px}.elementor-label-block>.elementor-control-content>.elementor-control-field>.elementor-control-input-wrapper>.elementor-choices label{width:auto;-webkit-box-flex:1;-ms-flex:1 1 27px;flex:1 1 27px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-label-block.elementor-control-hidden-label.elementor-label-block>.elementor-control-content>.elementor-control-field>.elementor-control-input-wrapper,.elementor-label-block.elementor-control-hidden-label:not(.elementor-control-dynamic)>.elementor-control-content>.elementor-control-field>.elementor-control-input-wrapper{margin-top:0}.elementor-label-inline>.elementor-control-content>.elementor-control-field>.elementor-control-title{-ms-flex-negative:0;flex-shrink:0}.elementor-label-inline>.elementor-control-content>.elementor-control-field>.elementor-control-input-wrapper{margin-right:auto}.elementor-control-field-description{margin-top:10px}.elementor-group-control-attachment_alert .elementor-control-field-description{margin-top:0}.elementor-required{color:#b01b1b}.elementor-units-choices{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;text-align:left}.elementor-units-choices input{display:none}.elementor-units-choices input:not(:checked)+label{color:#a4afb7}.elementor-units-choices input.e-units-placeholder+label{color:#c2cbd2;text-decoration:underline}.elementor-units-choices input:checked+label{text-decoration:underline}.elementor-units-choices label{cursor:pointer;padding:0 2px;text-transform:uppercase;font-size:9px}.elementor-control-start-end .eicon-h-align-left,.elementor-control-start-end .eicon-h-align-right{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.elementor-control-responsive-switchers{--selected-option:0;--pointer-position:var(--selected-option);position:relative;width:2em;height:2em;margin:calc(-2em + var(--control-title-size)) 0;margin-left:5px}.elementor-control-responsive-switchers__holder{position:absolute;width:100%;top:0;background-color:#fff;border-radius:3px;-webkit-transition:.15s;-o-transition:.15s;transition:.15s;border:1px solid transparent}.elementor-control-responsive-switchers.elementor-responsive-switchers-open{z-index:11000}.elementor-control-responsive-switchers.elementor-responsive-switchers-open .elementor-responsive-switcher{height:2em;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);opacity:1}.elementor-control-responsive-switchers.elementor-responsive-switchers-open .elementor-responsive-switcher:hover{color:#71d7f7}.elementor-control-responsive-switchers.elementor-responsive-switchers-open .elementor-control-responsive-switchers__holder{top:calc(-1 * var(--selected-option) * 2em);-webkit-box-shadow:0 0 3px rgba(0,0,0,.2);box-shadow:0 0 3px rgba(0,0,0,.2)}.elementor-responsive-switcher{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;position:relative;z-index:2;cursor:pointer;height:0;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);opacity:0;-webkit-transition:.15s;-o-transition:.15s;transition:.15s;font-size:12px}a.elementor-responsive-switcher{color:#a4afb7}a.elementor-responsive-switcher:hover{color:#71d7f7}.elementor-device-widescreen .elementor-responsive-switcher.elementor-responsive-switcher-widescreen{height:2em;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);opacity:1}.elementor-device-widescreen .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-widescreen{color:#71d7f7}.elementor-device-desktop .elementor-responsive-switcher.elementor-responsive-switcher-desktop{height:2em;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);opacity:1}.elementor-device-desktop .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-desktop{color:#71d7f7}.elementor-device-laptop .elementor-responsive-switcher.elementor-responsive-switcher-laptop{height:2em;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);opacity:1}.elementor-device-laptop .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-laptop{color:#71d7f7}.elementor-device-tablet_extra .elementor-responsive-switcher.elementor-responsive-switcher-tablet_extra{height:2em;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);opacity:1}.elementor-device-tablet_extra .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-tablet_extra{color:#71d7f7}.elementor-device-tablet .elementor-responsive-switcher.elementor-responsive-switcher-tablet{height:2em;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);opacity:1}.elementor-device-tablet .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-tablet{color:#71d7f7}.elementor-device-mobile_extra .elementor-responsive-switcher.elementor-responsive-switcher-mobile_extra{height:2em;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);opacity:1}.elementor-device-mobile_extra .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-mobile_extra{color:#71d7f7}.elementor-device-mobile .elementor-responsive-switcher.elementor-responsive-switcher-mobile{height:2em;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);opacity:1}.elementor-device-mobile .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-mobile{color:#71d7f7}.elementor-update-preview{margin:15px 15px 0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-update-preview-button-wrapper{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;text-align:left}.elementor-update-preview-button{padding:8px 15px;text-transform:uppercase}.elementor-control-direction-ltr input,.elementor-control-direction-ltr textarea{direction:ltr}.elementor-control-direction-rtl input,.elementor-control-direction-rtl textarea{direction:rtl}.elementor-control-type-button .elementor-control-input-wrapper{text-align:left}.elementor-control-type-button .elementor-button{width:auto;height:26px}.elementor-control-type-choose.elementor-label-block .elementor-choices{width:100%}.elementor-choices{display:-webkit-box;display:-ms-flexbox;display:flex;height:27px;line-height:27px;text-align:center;border-spacing:1px;border-radius:3px;overflow:hidden}.elementor-choices .elementor-choices-label{border:1px solid #d5dadf;border-left:none;font-size:12px;-webkit-transition:all .5s;-o-transition:all .5s;transition:all .5s;cursor:pointer;overflow:hidden}.elementor-choices .elementor-choices-label:nth-child(2){border-top-right-radius:3px;border-bottom-right-radius:3px}.elementor-choices .elementor-choices-label:last-child{border-left:1px solid #d5dadf;border-top-left-radius:3px;border-bottom-left-radius:3px}.elementor-choices input{display:none}.elementor-choices input.e-choose-placeholder+.elementor-choices-label{color:#fff;background-color:#c2cbd2;border-color:#c2cbd2}.elementor-choices input:checked+.elementor-choices-label{color:#fff;background-color:#a4afb7;border-color:#a4afb7}.elementor-label-inline .elementor-choices{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.rtl .elementor-control-type-choose[class*=elementor-control-align] .elementor-choices,.rtl .elementor-control-type-choose[class*=elementor-control-position] .elementor-choices,.rtl .elementor-control-type-choose[class*=elementor-control-text_align] .elementor-choices{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.rtl .elementor-control-type-choose[class*=elementor-control-align] .elementor-choices .elementor-choices-label:nth-child(2),.rtl .elementor-control-type-choose[class*=elementor-control-position] .elementor-choices .elementor-choices-label:nth-child(2),.rtl .elementor-control-type-choose[class*=elementor-control-text_align] .elementor-choices .elementor-choices-label:nth-child(2){border-left:1px solid #d5dadf;border-radius:3px 0 0 3px}.rtl .elementor-control-type-choose[class*=elementor-control-align] .elementor-choices .elementor-choices-label:last-child,.rtl .elementor-control-type-choose[class*=elementor-control-position] .elementor-choices .elementor-choices-label:last-child,.rtl .elementor-control-type-choose[class*=elementor-control-text_align] .elementor-choices .elementor-choices-label:last-child{border-left:none;border-radius:0 3px 3px 0}.elementor-control-type-color.e-control-global .e-global__popover-toggle~.pickr{border-radius:3px 0 0 3px;-ms-flex-negative:0;flex-shrink:0}.elementor-control-type-color .elementor-control-title{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-control-type-color .elementor-control-input-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-control-type-color .elementor-control-dynamic-switcher{border-right-width:0;border-radius:3px 0 0 3px}.elementor-control-type-color.elementor-control-dynamic .pickr{border-radius:0 3px 3px 0}.elementor-group-control-css-filter .elementor-slider{height:6px;-webkit-box-shadow:0 0 1px 1px inset rgba(0,0,0,.2);box-shadow:inset 0 0 1px 1px rgba(0,0,0,.2)}.elementor-group-control-css-filter .elementor-control-content>.elementor-control-field>.elementor-control-input-wrapper{margin-top:0;margin-bottom:5px}.elementor-group-control-blur .elementor-slider{background:url(../images/blur.png);background-size:cover;background-position:50%}.elementor-group-control-contrast .elementor-slider{background:url(../images/contrast.png);background-size:100% 100%}.elementor-group-control-hue .elementor-slider{background-image:-o-linear-gradient(left,red,orange,#ff0,#adff2f,#32cd32,#00bfff,#00f,#9400d3 95%);background-image:-webkit-gradient(linear,left top,right top,from(red),color-stop(orange),color-stop(#ff0),color-stop(#adff2f),color-stop(#32cd32),color-stop(#00bfff),color-stop(#00f),color-stop(95%,#9400d3));background-image:linear-gradient(90deg,red,orange,#ff0,#adff2f,#32cd32,#00bfff,#00f,#9400d3 95%)}.elementor-group-control-saturate .elementor-slider{background-image:-o-linear-gradient(left,grey,red);background-image:-webkit-gradient(linear,left top,right top,from(grey),to(red));background-image:linear-gradient(90deg,grey,red)}.elementor-group-control-brightness .elementor-slider{background-image:-o-linear-gradient(left,#000,#fff);background-image:-webkit-gradient(linear,left top,right top,from(#000),to(#fff));background-image:linear-gradient(90deg,#000,#fff)}.elementor-control-type-dimensions .elementor-control-dimensions{overflow:hidden}.elementor-control-type-dimensions li{float:left;width:20%}.elementor-control-type-dimensions li .elementor-link-dimensions,.elementor-control-type-dimensions li input{display:block;text-align:center;width:100%;border-color:#d5dadf;height:27px}.elementor-control-type-dimensions li input{border-left:none;border-radius:0;padding:4px 0}.elementor-control-type-dimensions li input:focus{border-left:1px solid;border-color:#a4afb7;margin-left:-1px;width:calc(100% + 1px)}.elementor-control-type-dimensions li input:focus+.elementor-control-dimension-label{color:#a4afb7}.elementor-control-type-dimensions li .elementor-link-dimensions{border:1px solid #d5dadf;border-left:none;background-color:#fff;padding:0;outline:none;border-radius:0 3px 3px 0;cursor:pointer}.elementor-control-type-dimensions li:first-child input{border-left:1px solid #d5dadf;border-radius:3px 0 0 3px}.elementor-control-type-dimensions li:first-child input:focus{border-color:#a4afb7;margin-left:0;width:100%}.elementor-control-type-dimensions .elementor-control-dimension-label{display:block;text-align:center;color:#d5dadf;font-size:9px;text-transform:uppercase;padding-top:5px}.elementor-control-type-dimensions .elementor-link-dimensions.unlinked{background-color:#fff}.elementor-control-type-dimensions .elementor-link-dimensions.unlinked .elementor-linked{display:none}.elementor-control-type-dimensions .elementor-link-dimensions:not(.unlinked){background-color:#a4afb7;border-color:#a4afb7}.elementor-control-type-dimensions .elementor-link-dimensions:not(.unlinked) .elementor-unlinked{display:none}.elementor-control-type-dimensions .elementor-link-dimensions .elementor-linked{color:#fff}.elementor-control-type-icons .elementor-control-media__preview>*{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.elementor-control-type-icons .elementor-control-media__preview i{font-size:70px;color:#6d7882}.elementor-control-type-icons .elementor-control-media__preview svg{height:75%}.elementor-control-type-icons .elementor-control-icons--inline__svg i.eicon-upload{font-size:15px}.elementor-control-type-gallery .elementor-control-media__content{border:1px solid #d5dadf;border-radius:3px}.elementor-control-type-gallery .elementor-control-gallery-status{font-size:12px;height:27px;padding-right:10px;border-bottom:1px solid #d5dadf;display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-control-type-gallery .elementor-control-gallery-status>*{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-control-type-gallery .elementor-control-gallery-status-title{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-control-type-gallery .elementor-control-gallery-content{position:relative;overflow:hidden}.elementor-control-type-gallery .elementor-control-gallery-content:not(:hover) .elementor-control-gallery-edit{opacity:0}.elementor-control-type-gallery .elementor-control-gallery-thumbnails{display:grid;grid-template-columns:repeat(auto-fill,minmax(48px,1fr));grid-gap:10px;cursor:pointer;padding:10px}.elementor-control-type-gallery .elementor-control-gallery-thumbnail{width:48px;height:48px;background-size:cover;background-position:50% 50%}.elementor-control-type-gallery .elementor-control-gallery-edit{position:absolute;top:0;bottom:0;left:0;right:0;background-color:rgba(109,120,130,.3);padding:10px;font-size:11px;-webkit-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out;transition:all .3s ease-in-out;pointer-events:none;cursor:pointer;opacity:1}.elementor-control-type-gallery .elementor-control-gallery-edit span{position:absolute;top:10px;left:10px;width:21px;height:21px;background-color:hsla(0,0%,100%,.9);color:#a4afb7;-webkit-box-shadow:0 0 7px 0 rgba(0,0,0,.2);box-shadow:0 0 7px 0 rgba(0,0,0,.2);border-radius:3px}.elementor-control-type-gallery .elementor-control-gallery-edit span i{font-size:11px;padding:5px}.elementor-control-type-gallery .elementor-control-gallery-add{width:48px;height:48px;color:#fff;background-color:#d5dadf;font-size:14px;border-radius:0}.elementor-control-type-gallery .elementor-control-gallery-add:hover{background-color:#c2cbd2}.elementor-control-type-gallery .elementor-control-gallery-add i{margin:0;color:#a4afb7}.elementor-control-type-gallery.elementor-gallery-empty .elementor-control-gallery-clear,.elementor-control-type-gallery.elementor-gallery-empty .elementor-control-gallery-edit,.elementor-control-type-gallery.elementor-gallery-empty .elementor-control-gallery-thumbnails{display:none}.elementor-control-type-gallery.elementor-gallery-empty .elementor-control-gallery-content{padding:10px}.elementor-control-type-gallery.elementor-gallery-has-images .elementor-control-gallery-add{display:none}.elementor-control-type-gallery.elementor-control-dynamic .elementor-control-gallery-clear{border-right:1px solid #d5dadf}.elementor-control-type-gallery .elementor-control-gallery-clear{cursor:pointer;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-control-type-gallery .elementor-control-gallery-clear:hover{color:#b01b1b}.elementor-control-type-gallery .elementor-control-dynamic-switcher{border:1px solid #d5dadf;border-top:none;border-left:none;border-radius:3px 0 0 0}.e-global__popover{width:288px;z-index:1;font-size:12px;padding-right:10px}.e-global__popover-toggle{border:1px solid #d5dadf;border-left:0;border-radius:0 3px 3px 0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;cursor:pointer}.e-global__popover-toggle--active i{color:#71d7f7}.e-global__popover-container{-webkit-box-shadow:0 2px 15px rgba(0,0,0,.3);box-shadow:0 2px 15px rgba(0,0,0,.3);border-radius:3px;background-color:#fff;padding-bottom:5px}.e-global__popover-title{padding:15px 20px;font-weight:500;color:#6d7882;border-bottom:1px solid #e6e9ec;display:-webkit-box;display:-ms-flexbox;display:flex}.e-global__popover-title>i{margin-left:5px;color:#d5dadf}.e-global__popover-title-text{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.e-global__popover-info{margin-left:5px;display:inline-block}.e-global__popover-info-tooltip{width:270px;z-index:1;background-color:rgba(0,0,0,.9);color:#fff;padding:20px;border-radius:3px}.e-global__popover-info-tooltip:after{content:"";position:absolute;bottom:-17px;right:16px;border:10px solid transparent;border-top-color:rgba(0,0,0,.9)}.e-global__popover-info i{color:#d5dadf;font-size:13px}.e-global__preview-items-container{max-height:260px;overflow-y:auto;margin-top:5px}.e-global__preview-items-container::-webkit-scrollbar{width:7px}.e-global__preview-items-container::-webkit-scrollbar-thumb{background-color:#c2cbd2;border-radius:10px}.e-global__manage-button{font-weight:500;cursor:pointer}.e-global__manage-button:hover i{color:#4ab7f4}.e-global__manage-button i{color:#6d7882}.e-global__typography{padding:5px 35px 5px 10px;white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden}.e-global__typography.e-global__preview-item--selected:before{font-family:eicons;font-size:13px;content:"\e90e";position:absolute;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);top:50%;left:12px}.e-global__color{margin:5px auto;padding:5px 20px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.e-global__color:first-child{margin-top:5px}.e-global__color:last-child{margin-bottom:10px}.e-global__color-preview-container{height:20px;width:20px;border-radius:3px;border:1px solid rgba(0,0,0,.1);margin-left:10px;-ms-flex-negative:0;flex-shrink:0;position:relative}.e-global__color-preview-color,.e-global__color-preview-transparent-bg{border-radius:3px;height:100%;width:100%;position:absolute;top:0;left:0}.e-global__color-preview-transparent-bg{background-image:-o-linear-gradient(45deg,#ddd 25%,transparent 0,transparent 75%,#ddd 0,#ddd),-o-linear-gradient(45deg,#ddd 25%,transparent 0,transparent 75%,#ddd 0,#ddd);background-image:linear-gradient(45deg,#ddd 25%,transparent 0,transparent 75%,#ddd 0,#ddd),linear-gradient(45deg,#ddd 25%,transparent 0,transparent 75%,#ddd 0,#ddd);background-size:12px 12px;background-position:0 0,6px 6px}.e-global__color-title{font-weight:500;color:#6d7882;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden;padding-left:10px}.e-global__color-hex{font-size:10px;font-weight:500;color:#c2cbd2}.e-global__color .pcr-button{background-color:#fff}.e-global__color.e-global__preview-item--selected .e-global__color-preview-container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#fff}.e-global__color.e-global__preview-item--selected .e-global__color-preview-container:before{font-family:eicons;font-size:13px;content:"\e90e";text-shadow:0 0 1px #000;z-index:1}.e-global__preview-item{cursor:pointer;position:relative}.e-global__preview-item:hover{background-color:#f1f3f5}.e-global__preview-item:hover .e-global__color-hex{color:#a4afb7}.e-global__confirm-add .dialog-buttons-wrapper>.dialog-button.dialog-confirm-ok{color:#39b54a}.e-global__confirm-delete i{color:#b01b1b}.e-global__confirm-message-text i{color:#fcb92c}.e-global__confirm-input-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:1px solid #a4afb7;border-radius:3px;margin-top:10px;padding:2px}.e-global__confirm-input-wrapper input{font-family:Roboto,Arial,sans-serif;font-weight:500;font-size:12px;padding:2px;border:0}.e-control-global .elementor-control-input-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;max-width:135px;width:100%}.e-control-global.elementor-control .elementor-control-input-wrapper{direction:rtl}.e-control-global .elementor-control-spinner{margin-left:4px}.elementor-control-type-hidden{display:none!important}.elementor-control-type-icon .select2-selection__rendered .eicon{margin-right:3px}.elementor-control-type-image_dimensions .elementor-control-field-description{margin:0 0 15px;line-height:1.4}.elementor-control-type-image_dimensions .elementor-control-input-wrapper{overflow:hidden}.elementor-control-type-image_dimensions .elementor-image-dimensions-field{width:65px;float:right}.elementor-control-type-image_dimensions .elementor-image-dimensions-field input:focus+.elementor-image-dimensions-field-description{color:#a4afb7}.elementor-control-type-image_dimensions .elementor-image-dimensions-separator{width:20px;text-align:center;float:right;padding-top:4px}.elementor-control-type-image_dimensions .elementor-image-dimensions-field-description{display:block;text-transform:uppercase;margin-top:5px;color:#d5dadf;font-size:9px;text-align:center}.elementor-control-type-image_dimensions .elementor-image-dimensions-apply-button{float:left;height:27px;width:65px}.elementor-control-media.elementor-media-empty .elementor-control-media-area .elementor-control-media__content__remove,.elementor-control-media.elementor-media-empty .elementor-control-media-area .elementor-control-media__remove,.elementor-control-media:not(.elementor-media-empty) .elementor-control-media__content__upload-button{display:none}.elementor-control-media .elementor-control-input-wrapper{border:1px solid #d5dadf}.elementor-control-media .eicon-plus-circle{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);color:#fff;font-size:20px}.elementor-control-media__content__upload-button{background-color:#d5dadf}.elementor-control-media__preview{height:100%;background-size:cover;background-position:50%}.elementor-control-media-area{background-image:-o-linear-gradient(45deg,#ddd 25%,transparent 0,transparent 75%,#ddd 0,#ddd),-o-linear-gradient(45deg,#ddd 25%,transparent 0,transparent 75%,#ddd 0,#ddd);background-image:linear-gradient(45deg,#ddd 25%,transparent 0,transparent 75%,#ddd 0,#ddd),linear-gradient(45deg,#ddd 25%,transparent 0,transparent 75%,#ddd 0,#ddd);background-size:16px 16px;background-position:0 0,8px 8px;background-color:#f6f6f6}.elementor-control-media-area:not(:hover) .elementor-control-media__remove{display:none}.elementor-control-media-area .eicon-video-camera{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);color:hsla(0,0%,100%,.7);font-size:21px}.elementor-control-media .elementor-control-media__content{cursor:pointer;overflow:hidden}.elementor-control-media .elementor-control-media__content:hover:after{content:"";position:absolute;top:0;bottom:0;left:0;right:0;background-color:rgba(0,0,0,.2);pointer-events:none}.elementor-control-media .elementor-control-media__content:not(:hover) .elementor-control-media__tools{bottom:-30px}.elementor-control-media__content,.elementor-control-media__tools{-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.elementor-control-media__tools{position:absolute;bottom:0;left:0;right:0;height:27px}.elementor-control-media__tools>:not(:first-child){margin-right:1px}.elementor-control-media__tool{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;color:#fff;background-color:rgba(109,120,130,.85);font-size:11px;-webkit-transition:background .3s;-o-transition:background .3s;transition:background .3s}.elementor-control-media__tool:hover{background-color:rgba(109,120,130,.95)}.elementor-control-media__remove{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.elementor-control-media__content__remove{position:absolute;z-index:1;top:10px;left:10px;width:20px;height:20px;font-size:11px;color:#a4afb7;background-color:hsla(0,0%,100%,.9);border-radius:3px;-webkit-box-shadow:0 0 7px 0 rgba(0,0,0,.1);box-shadow:0 0 7px 0 rgba(0,0,0,.1)}.elementor-control-media__content__remove:hover{background-color:#fff;-webkit-box-shadow:0 0 5px 0 rgba(0,0,0,.4);box-shadow:0 0 5px 0 rgba(0,0,0,.4)}.elementor-control-media.elementor-media-empty .elementor-control-file-area{display:none}.elementor-control-media__file{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;margin-top:10px;border:1px solid #d5dadf}.elementor-control-media__file__content{padding-right:5px;font-size:12px}.elementor-control-media__file__content__label{color:#a4afb7}.elementor-control-media__file__content__info{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-weight:500}.elementor-control-media__file__content__info__icon{margin-left:5px}.elementor-control-media__file__controls{display:-webkit-box;display:-ms-flexbox;display:flex;border-right:1px solid #d5dadf}.elementor-control-media__file__controls__remove,.elementor-control-media__file__controls__upload-button{width:27px;height:27px;cursor:pointer;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-control-media__file__controls__upload-button{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-control-media__file__controls__remove{border-left:1px solid #d5dadf}.elementor-control-media.elementor-media-empty .elementor-control-media__file__content__info,.elementor-control-media.elementor-media-empty .elementor-control-media__file__controls__remove,.elementor-control-media:not(.elementor-media-empty) .elementor-control-media__file__content__label{display:none}.elementor-control-media .elementor-control-dynamic-switcher{border:none;border-radius:0;background-color:rgba(109,120,130,.85);color:#fff}.elementor-control-media .elementor-control-dynamic-switcher:hover{background-color:rgba(109,120,130,.95)}.elementor-control-type-media.elementor-control-dynamic-value .elementor-control-input-wrapper{border:none}.elementor-control:not(.elementor-control-type-icons) .elementor-control-media__preview{background-color:#d5dadf}.elementor-control-type-number.elementor-control-dynamic input{border-radius:0 3px 3px 0;border-left:none}.elementor-control-type-number.elementor-control-dynamic .elementor-control-dynamic-switcher{border-radius:3px 0 0 3px}.elementor-control-type-order .elementor-control-oreder-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-control-type-order input{display:none}.elementor-control-type-order input:checked+.elementor-control-order-label{-webkit-transform:scaleY(-1);-ms-transform:scaleY(-1);transform:scaleY(-1)}.elementor-control-type-order select{border-radius:3px 0 0 3px}.elementor-control-type-order select:not(:focus)~.elementor-control-order-label{border-color:#d5dadf}.elementor-control-type-order select:focus~.elementor-control-order-label{border-color:#a4afb7}.elementor-control-type-order .elementor-control-order-label{position:relative;padding:0;width:40px;border:1px solid;font-size:10px;border-radius:0 3px 3px 0;margin-left:-3px;background-color:#fff;cursor:pointer}.elementor-control-type-order .elementor-control-order-label i{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.elementor-control-type-popover_toggle input{display:none}.elementor-control-type-popover_toggle label{cursor:pointer}.elementor-control-type-popover_toggle .elementor-control-input-wrapper{direction:ltr}.elementor-control-type-popover_toggle .elementor-control-popover-toggle-toggle:checked+.elementor-control-popover-toggle-toggle-label{color:#71d7f7}.elementor-control-type-popover_toggle .elementor-control-popover-toggle-toggle:not(:checked)~.elementor-control-popover-toggle-reset-label{display:none}.elementor-control-type-popover_toggle .elementor-control-popover-toggle-reset-label{color:#c2cbd2;margin-left:5px}.elementor-control-type-popover_toggle .elementor-control-popover-toggle-toggle-label{height:27px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border-radius:3px;border:1px solid #d5dadf}.elementor-controls-popover.e-controls-popover--typography{padding-top:0}.e-control-global .elementor-control-popover-toggle-toggle-label{border-radius:3px 0 0 3px;-ms-flex-negative:0;flex-shrink:0}.elementor-control-type-repeater .elementor-control:not(.elementor-control-type-tab){padding-right:10px;padding-left:10px;padding-bottom:10px}.elementor-control-type-repeater.elementor-repeater-has-minimum-rows .elementor-repeater-tool-remove{display:none}.elementor-control-type-repeater .elementor-repeater-fields{margin:10px 0}.elementor-control-type-repeater .elementor-repeater-row-controls{border:1px solid #d5dadf;border-top:0 solid #d5dadf;padding-top:15px}.elementor-control-type-repeater .elementor-repeater-row-controls:not(.editable){display:none}.elementor-control-type-repeater .elementor-repeater-row-tools{display:table;table-layout:fixed;width:100%;color:#556068;background-color:#d5dadf;height:40px;border-spacing:1px;-webkit-transition:all .5s;-o-transition:all .5s;transition:all .5s}.elementor-control-type-repeater .elementor-repeater-row-tools:hover{background-color:#a4afb7}.elementor-control-type-repeater .elementor-repeater-row-tools>div{display:table-cell;text-align:center;vertical-align:middle;cursor:pointer}.elementor-control-type-repeater .elementor-repeater-row-tools>div:not(.elementor-repeater-row-handle-sortable){background-color:#fff}.elementor-control-type-repeater .elementor-repeater-row-tools>div:hover{opacity:.95}.elementor-control-type-repeater .elementor-repeater-row-tools .elementor-repeater-row-item-title{text-align:right;padding:0 10px;font-size:12px;white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden}.elementor-control-type-repeater .elementor-repeater-row-tools .elementor-repeater-row-item-title .eicon,.elementor-control-type-repeater .elementor-repeater-row-tools .elementor-repeater-row-item-title i,.elementor-control-type-repeater .elementor-repeater-row-tools .elementor-repeater-row-item-title svg{margin-left:5px}.elementor-control-type-repeater .elementor-repeater-row-tools .elementor-repeater-row-item-title img[src$=svg]{width:1em}.elementor-control-type-repeater .elementor-repeater-row-tools .elementor-repeater-row-tool{width:40px}.elementor-control-type-repeater .elementor-repeater-row-tools .elementor-repeater-row-handle-sortable{cursor:move;width:10px;color:#fff}.elementor-control-type-repeater .elementor-button-wrapper{text-align:center;padding-top:5px}.elementor-control-type-section{margin-top:10px;padding:0}.elementor-control-type-section.elementor-open{padding-bottom:15px}.elementor-control-type-section+.elementor-control:not(.elementor-control-type-section):before{display:none}.elementor-shadow-box .elementor-shadow-slider{margin-top:10px}.elementor-shadow-box .elementor-color-picker-wrapper .elementor-control-title{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-control-type-slider.elementor-control-dynamic input{border-radius:0 3px 3px 0}.elementor-control-type-slider .elementor-control-unit-2{width:21%}.elementor-control-type-slider.elementor-control-type-slider--multiple .elementor-control-input-wrapper{display:block}.elementor-control-type-slider--multiple{padding-bottom:40px}.elementor-control-type-slider--multiple .elementor-slider{margin-top:12px;width:98%}.elementor-control-type-slider--handles-range .elementor-slider .noUi-handle{border-radius:0;width:10px;-webkit-transform:translateY(calc(50% - 14px)) translateX(-4px);-ms-transform:translateY(calc(50% - 14px)) translateX(-4px);transform:translateY(calc(50% - 14px)) translateX(-4px)}.elementor-control-type-slider--handles-range .elementor-slider .noUi-handle:after{content:"";position:absolute;top:2px;height:12px;width:11px;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);background-color:#fff;border-radius:3px}.elementor-control-type-slider--handles-range .elementor-slider .noUi-handle-lower:after{left:5px;-webkit-box-shadow:2px -2px 3px 0 rgba(0,0,0,.1);box-shadow:2px -2px 3px 0 rgba(0,0,0,.1)}.elementor-control-type-slider--handles-range .elementor-slider .noUi-handle-upper:after{right:5px;-webkit-box-shadow:-2px 2px 3px 0 rgba(0,0,0,.1);box-shadow:-2px 2px 3px 0 rgba(0,0,0,.1)}.elementor-control-type-slider .elementor-control-dynamic-switcher{border-right-width:0;border-radius:3px 0 0 3px}.elementor-control-type-slider .elementor-control-input-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-control-type-slider .elementor-dynamic-cover{margin-top:10px}.elementor-slider{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;height:4px;background-color:#d5dadf;border-radius:5px;position:relative;cursor:pointer}.elementor-slider-input{width:21%;min-width:54px;margin-right:12px}.elementor-slider__extra{position:relative}.elementor-slider__labels{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.elementor-slider__label{font-size:9px;color:#c2cbd2}.elementor-slider__scales{position:absolute;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:space-evenly;-ms-flex-pack:space-evenly;justify-content:space-evenly;width:100%;margin-top:4px}.elementor-slider__scale{width:1px;height:21px;background-color:#a4afb7}.elementor-slider .noUi-handle{height:16px;width:16px;background-color:#fff;left:0;-webkit-transform:translateY(calc(50% - 14px)) translateX(-8px);-ms-transform:translateY(calc(50% - 14px)) translateX(-8px);transform:translateY(calc(50% - 14px)) translateX(-8px);position:absolute;-webkit-box-shadow:0 1px 5px rgba(0,0,0,.3);box-shadow:0 1px 5px rgba(0,0,0,.3);border-radius:50%}.elementor-slider .noUi-connects{position:absolute;width:100%;height:4px}.elementor-slider .noUi-connect{position:absolute;z-index:0;top:0;left:0;height:100%;width:100%;will-change:transform;-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0;background-color:#a4afb7}.elementor-slider .noUi-tooltip{position:absolute;top:calc(100% + 5px);left:calc(50% - 4px);-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);font-size:10px}.elementor-control-type-structure .elementor-control-field{display:initial}.elementor-control-type-structure .elementor-control-structure-preset{padding:3px;border-radius:3px;display:inline-block;cursor:pointer;height:50px}.elementor-control-type-structure .elementor-control-structure-preset svg{height:100%}.elementor-control-type-structure .elementor-control-structure-preset path{fill:#e6e9ec}.elementor-control-type-structure .elementor-control-structure-reset{padding:15px 20px 0;font-size:11px;cursor:pointer;color:#a4afb7;border-top:1px solid #e6e9ec;margin:0 -20px}.elementor-control-type-structure .elementor-control-structure-title{margin:10px -20px 0}.elementor-control-type-structure .elementor-control-structure-title:before{height:10px;-webkit-box-shadow:inset 0 2px 4px hsla(0,0%,49.8%,.1);box-shadow:inset 0 2px 4px hsla(0,0%,49.8%,.1)}.elementor-control-type-structure .elementor-control-structure-presets{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.elementor-control-type-structure .elementor-control-structure-presets input{display:none}.elementor-control-type-structure .elementor-control-structure-presets input:checked+.elementor-control-structure-preset path{fill:#a4afb7}.elementor-control-type-structure .elementor-control-structure-preset-wrapper{margin-bottom:15px}.elementor-control-type-structure .elementor-control-structure-preset-title{text-align:center;padding-top:5px;font-style:italic;font-size:11px;color:#a4afb7}.elementor-control-type-switcher .elementor-control-input-wrapper{text-align:left}.elementor-control-type-switcher .elementor-switch{position:relative;display:inline-block;vertical-align:top;height:20px;background-color:#fff;border-radius:18px;cursor:pointer}.elementor-control-type-switcher .elementor-switch-input{display:none}.elementor-control-type-switcher .elementor-switch-label{position:relative;display:block;height:inherit;font-size:7px;text-transform:uppercase;background:#eceeef;border-radius:inherit;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.12),inset 0 0 2px rgba(0,0,0,.15);box-shadow:inset 0 1px 2px rgba(0,0,0,.12),inset 0 0 2px rgba(0,0,0,.15);-webkit-transition:.15s ease-out;-o-transition:.15s ease-out;transition:.15s ease-out;-webkit-transition-property:opacity,background;-o-transition-property:opacity,background;transition-property:opacity,background}.elementor-control-type-switcher .elementor-switch-label:after,.elementor-control-type-switcher .elementor-switch-label:before{position:absolute;top:0;width:50%;text-align:center;line-height:20px;-webkit-transition:inherit;-o-transition:inherit;transition:inherit}.elementor-control-type-switcher .elementor-switch-label:before{content:attr(data-off);right:3px;color:#a4afb7;text-shadow:0 1px hsla(0,0%,100%,.5)}.elementor-control-type-switcher .elementor-switch-label:after{content:attr(data-on);left:3px;color:#fff;text-shadow:0 1px rgba(0,0,0,.2);opacity:0}.elementor-control-type-switcher .elementor-switch-input:checked~.elementor-switch-label{background:#71d7f7;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.15),inset 0 0 3px rgba(0,0,0,.2);box-shadow:inset 0 1px 2px rgba(0,0,0,.15),inset 0 0 3px rgba(0,0,0,.2)}.elementor-control-type-switcher .elementor-switch-input:checked~.elementor-switch-label:before{opacity:0}.elementor-control-type-switcher .elementor-switch-input:checked~.elementor-switch-label:after{opacity:1}.elementor-control-type-switcher .elementor-switch-handle{position:absolute;top:1px;left:1px;width:18px;height:18px;background:#fff;border-radius:10px;-webkit-transition:left .15s ease-out;-o-transition:left .15s ease-out;transition:left .15s ease-out}.elementor-control-type-switcher .elementor-switch-input:checked~.elementor-switch-handle{left:auto;right:1px;-webkit-box-shadow:-1px 1px 5px rgba(0,0,0,.2);box-shadow:-1px 1px 5px rgba(0,0,0,.2)}.elementor-control-type-tabs{font-size:.8em;text-transform:uppercase;display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-control-type-tab{text-align:center;width:100%;padding:0;line-height:25px;border-top:1px solid #d5dadf;border-bottom:1px solid #d5dadf;border-left:1px solid #d5dadf;cursor:pointer}.elementor-control-type-tab:first-child{border-right:1px solid #d5dadf;border-top-right-radius:3px;border-bottom-right-radius:3px}.elementor-control-type-tab:last-child{border-top-left-radius:3px;border-bottom-left-radius:3px}.elementor-control-type-tab.elementor-tab-active{background-color:#a4afb7;border-color:#a4afb7;color:#fff}.elementor-tab-close{display:none!important}.elementor-control-type-code.elementor-control-dynamic-value .elementor-control-dynamic-switcher,.elementor-control-type-textarea.elementor-control-dynamic-value .elementor-control-dynamic-switcher{border-radius:3px 0 0 3px;border-right-width:0}.elementor-control-type-code .elementor-control-dynamic-switcher,.elementor-control-type-textarea .elementor-control-dynamic-switcher{border-radius:0 3px}.elementor-control-type-code:not(.elementor-control-dynamic-value) .elementor-control-dynamic-switcher,.elementor-control-type-textarea:not(.elementor-control-dynamic-value) .elementor-control-dynamic-switcher{position:absolute;top:0;z-index:1;right:0}.elementor-control-type-code .elementor-control-input-wrapper,.elementor-control-type-textarea .elementor-control-input-wrapper{position:relative}.elementor-control-type-code textarea,.elementor-control-type-textarea textarea{display:block;font-family:inherit}.elementor-control-type-code textarea:focus+.elementor-control-dynamic-switcher,.elementor-control-type-textarea textarea:focus+.elementor-control-dynamic-switcher{display:none}.elementor-control-type-code pre:focus-within+.elementor-control-dynamic-switcher,.elementor-control-type-textarea pre:focus-within+.elementor-control-dynamic-switcher{display:none}.elementor-control-type-url.elementor-control-dynamic .elementor-input{border-radius:3px 0 0 3px}.elementor-control-type-url .elementor-control-field{position:relative}.elementor-control-type-url.elementor-control-dynamic-value .elementor-control-url-more,.elementor-control-type-url:not(.elementor-control-dynamic) .elementor-control-url-more{border-radius:0 3px 3px 0}.elementor-control-type-url .elementor-control-input-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-control-type-url .elementor-control-url-more{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-ms-flex-negative:0;flex-shrink:0;border:1px solid #d5dadf;border-left:none;cursor:pointer}.elementor-control-type-url .elementor-control-url-more i{font-size:12px}.elementor-control-type-url .elementor-control-url-more-options{display:none;padding-top:10px}.elementor-control-type-url .elementor-control-url-more-options .elementor-control-field-description{margin-top:10px}.elementor-control-type-url .elementor-control-url-option{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-control-type-url .elementor-control-url-option:not(:last-child){padding-bottom:10px}.elementor-control-type-url .elementor-control-url-option input,.elementor-control-type-url .elementor-control-url-option label{cursor:pointer}.elementor-control-type-url .elementor-control-url-option-input{padding:0;border-radius:2px;margin:0 0 0 5px;-webkit-appearance:none;-moz-appearance:none;outline:none;content:none;height:15px;width:15px;border:1px solid #d5dadf;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-control-type-url .elementor-control-url-option-input:checked{background:#71d7f7;border:none}.elementor-control-type-url .elementor-control-url-option-input:checked:before{display:block;content:"";width:4px;height:7px;border:solid #fff;border-width:0 2px 2px 0;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.elementor-control-type-url .elementor-control-url-option label{font-size:12px}.elementor-control-type-url .elementor-control-url-external-hide .elementor-control-url-more{display:none}.elementor-control-type-url .elementor-control-url-external-show .elementor-dynamic-cover,.elementor-control-type-url .elementor-control-url-external-show .elementor-input{border-radius:3px 0 0 3px}.elementor-control-type-url .elementor-control-url-autocomplete-spinner{display:none;position:absolute;top:5px;right:0;width:10px;height:10px;font-size:10px;color:#d4d4d4}.elementor-control-type-url .elementor-control-url__custom-attributes{margin-top:5px}.elementor-control-type-url .elementor-control-url__custom-attributes label{font-size:12px}.elementor-control-type-url .elementor-control-url__custom-attributes input{width:100%;margin-top:10px}.elementor-control-type-url .elementor-input{direction:ltr}.elementor-control-type-url .elementor-input:not(:focus)+.elementor-control-url-more{border-color:#d5dadf}.elementor-control-type-url .elementor-input:focus~div{border-color:#a4afb7}.elementor-control-type-url .elementor-control-dynamic-switcher{border-left:none;border-radius:0 3px 3px 0}.elementor-autocomplete-menu{position:absolute;background:#fff;color:#495157;border:1px solid #a4afb7;margin:0;list-style:none;padding:4px 0;height:auto;width:100%;min-width:260px;max-width:300px;max-height:200px;overflow-y:auto;border-radius:3px;-webkit-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out;transition:all .3s ease-in-out;cursor:default;z-index:1}.elementor-autocomplete-menu .ui-menu-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-item-align:baseline;align-self:baseline;padding:5px 8px;font-size:12px;width:100%;line-height:1.2;cursor:pointer}.elementor-autocomplete-menu .ui-menu-item.ui-state-active,.elementor-autocomplete-menu .ui-menu-item.ui-state-focus,.elementor-autocomplete-menu .ui-menu-item.ui-state-hover{background:#e6e9ec}.elementor-autocomplete-menu .elementor-autocomplete-item-info{font-size:10px;padding-top:2px}.elementor-control-type-wp_widget .widget-inside{display:block}.elementor-control-type-wp_widget .quicktags-toolbar input{width:auto}.elementor-control-type-wysiwyg *{-webkit-box-sizing:content-box;box-sizing:content-box}.elementor-control-type-wysiwyg .wp-editor-container{border:1px solid #e6e9ec}.elementor-control-type-wysiwyg .wp-editor-tabs{border:1px solid #d5dadf;border-bottom:none;border-radius:3px 3px 0 0}.elementor-control-type-wysiwyg #insert-media-button{height:auto;line-height:24px;font-size:10px;color:#6d7882;border-color:#d5dadf;background-color:#e6e9ec;min-height:0}.elementor-control-type-wysiwyg .ed_button{height:22px;width:auto}.elementor-control-type-wysiwyg .wp-media-buttons-icon{height:14px;margin:0}.elementor-control-type-wysiwyg .wp-media-buttons-icon:before{font-size:14px}.elementor-control-type-wysiwyg .wp-switch-editor{position:static;border:none;margin:0;color:#6d7882;font-size:10px;padding:3px 9px 4px}.elementor-control-type-wysiwyg .switch-html{border:solid #d5dadf;border-width:0 1px}.elementor-control-type-wysiwyg .html-active .switch-tmce{background-color:transparent}.elementor-control-type-wysiwyg .html-active .switch-html,.elementor-control-type-wysiwyg .tmce-active .switch-tmce{background-color:#e6e9ec}.elementor-control-type-wysiwyg .tmce-active .switch-html{background-color:transparent}.elementor-control-type-wysiwyg .mce-toolbar-grp,.elementor-control-type-wysiwyg .quicktags-toolbar{background-color:#e6e9ec}.elementor-control-type-wysiwyg .mce-toolbar-grp>div{padding:0 3px}.elementor-control-type-wysiwyg .elementor-wp-editor{-webkit-box-sizing:border-box;box-sizing:border-box}.elementor-control-type-wysiwyg .mce-ico{color:#6d7882;font-size:16px}.elementor-control-type-wysiwyg .mce-btn{margin-right:0;margin-left:0}.elementor-control-type-wysiwyg .mce-btn.mce-active,.elementor-control-type-wysiwyg .mce-btn:active,.elementor-control-type-wysiwyg .mce-btn:hover{border-color:#d5dadf}.elementor-control-type-wysiwyg .mce-path{padding:5px 10px}.elementor-control-type-wysiwyg .mce-path-item{font-size:12px;color:#6d7882}.elementor-control-type-wysiwyg .elementor-control-dynamic-switcher{border:none}.elementor-control-type-text .elementor-control-dynamic-switcher{border-right-width:0;border-radius:3px 0 0 3px}.elementor-control-type-text.elementor-control-dynamic input{border-radius:0 3px 3px 0}#elementor-mode-switcher{position:absolute;right:100%;top:50%;width:15px;height:50px;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);background-color:#e6e9ec;font-size:15px;-webkit-box-shadow:-3px 1px 5px rgba(0,0,0,.1);box-shadow:-3px 1px 5px rgba(0,0,0,.1);cursor:pointer}#elementor-mode-switcher:hover{background-color:#93003c;color:#fff}#elementor-mode-switcher-inner,#elementor-mode-switcher-preview{width:100%;height:100%;position:absolute;top:0;left:0}#elementor-mode-switcher-preview{cursor:pointer}#elementor-mode-switcher-preview .eicon{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}#elementor-mode-switcher-preview-input{display:none}:root{--e-is-device-mode:0}.e-is-device-mode{--e-is-device-mode:1}#elementor-responsive-bar{position:sticky;height:calc(40px * var(--e-is-device-mode));-ms-flex-item-align:stretch;align-self:stretch;-ms-flex-negative:0;flex-shrink:0;-webkit-transition:height .2s ease-in-out,opacity .1s;-o-transition:height .2s ease-in-out,opacity .1s;transition:height .2s ease-in-out,opacity .1s;left:0;top:0;z-index:100;opacity:var(--e-is-device-mode);-webkit-box-shadow:0 0 10px 2px rgba(0,0,0,.33),0 0 2px 1px rgba(0,0,0,.25),0 0 6px -3px hsla(0,0%,100%,.5);box-shadow:0 0 10px 2px rgba(0,0,0,.33),0 0 2px 1px rgba(0,0,0,.25),0 0 6px -3px hsla(0,0%,100%,.5)}#elementor-responsive-bar:before{content:"";position:absolute;left:0;top:0;width:100%;height:100%;z-index:-1;-webkit-transform:scaleX(var(--e-preview-scale,1));-ms-transform:scaleX(var(--e-preview-scale,1));transform:scaleX(var(--e-preview-scale,1))}.e-responsive-bar-switcher__option{cursor:pointer;text-align:center;width:22px;height:22px;margin:0 4px;line-height:22px;border-radius:3px;font-size:16px;-webkit-transition:background-color .3s ease-out;-o-transition:background-color .3s ease-out;transition:background-color .3s ease-out}.e-responsive-bar-switcher__option:hover,.e-responsive-bar-switcher__option[aria-selected=true]{color:#c2cbd2;background-color:hsla(0,0%,100%,.1)}.e-responsive-bar-switcher__option input{display:none}.e-responsive-bar-switcher__option input:checked+i{color:#71d7f7}.e-responsive-bar-switcher__option:not(:last-child){-webkit-margin-end:6px;margin-inline-end:6px}.e-responsive-bar__button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;cursor:pointer;color:inherit}.e-responsive-bar__button:focus:not(:focus-visible){outline:none}.e-responsive-bar__button:hover{color:#c2cbd2;background-color:hsla(0,0%,100%,.1)}.e-responsive-bar--pipe{position:relative}.e-responsive-bar--pipe:before{content:"";display:block;height:20px;width:1px;background-color:#6d7882;position:absolute;left:-5px;top:calc(50% - 10px)}.e-responsive-bar__input-size{background-color:transparent;color:#a4afb7;border:1px solid #6d7882!important;padding:0 3px;width:60px;font-size:12px;line-height:16px;height:18px;margin:auto 8px auto 4px}.e-responsive-bar__input-size-separator{color:#6d7882}.e-responsive-bar__input-size[disabled]{background-color:transparent;color:#6d7882;cursor:default}#e-responsive-bar{width:100%;margin-top:calc(-40px + 40px * var(--e-is-device-mode));z-index:1;-webkit-transition:margin-top .2s ease-in-out;-o-transition:margin-top .2s ease-in-out;transition:margin-top .2s ease-in-out;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;color:#a4afb7}#e-responsive-bar,#e-responsive-bar-scale,#e-responsive-bar-switcher,#e-responsive-bar__center,#e-responsive-bar__end{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:#495157}#e-responsive-bar-scale,#e-responsive-bar-switcher,#e-responsive-bar__center,#e-responsive-bar__end{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:13px;padding:2px 0}@media (min-width:1400px){#e-responsive-bar__center{margin-right:50%;-webkit-transform:translate(50%);-ms-transform:translate(50%);transform:translate(50%)}}#e-responsive-bar__close-button,#e-responsive-bar__settings-button{width:22px;height:22px;border-radius:3px;margin:7px 5px;font-size:16px}#e-responsive-bar__size-inputs-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-margin-end:8px;margin-inline-end:8px;color:#6d7882}#e-responsive-bar-scale,#e-responsive-bar-switcher{padding:0 20px}#e-responsive-bar-scale__value-wrapper{margin:0 14px;min-width:32px;text-align:center}#e-responsive-bar-scale__minus,#e-responsive-bar-scale__plus,#e-responsive-bar-scale__reset{cursor:pointer;width:20px;height:20px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}#e-responsive-bar-scale__minus:before{content:"";display:block;width:13px;height:2px;background:#a4afb7;border-radius:3px}#e-responsive-bar-scale__reset{margin:0 8px}.elementor-revision-item__wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:1px solid #d5dadf;padding:10px 15px;margin-bottom:10px;font-size:11px;-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s}.elementor-revision-item__wrapper.current{font-weight:700}.elementor-revision-item__wrapper .elementor-revision-item__tools-current{color:#71d7f7}.elementor-revision-item:hover:not(.elementor-revision-current-preview){background-color:rgba(230,233,236,.3)}.elementor-revision-item-loading .elementor-revision-item__tools-current,.elementor-revision-item:not(.elementor-revision-item-loading) .elementor-revision-item__tools-spinner{display:none}.elementor-revision-item__gravatar{border-radius:50%;overflow:hidden}.elementor-revision-item__gravatar img{display:block}.elementor-revision-item__details{padding-right:15px;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;cursor:pointer}.elementor-revision-meta{padding-top:5px;font-size:10px;font-weight:700}.elementor-revision-current-preview{background-color:#e6e9ec}#elementor-restore-autosave-dialog.dialog-widget{background-color:rgba(0,0,0,.3)}#elementor-panel-revisions-loading{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}#elementor-panel-revisions-loading .eicon-loading{font-size:50px;color:#a4afb7}.elementor-history-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:1px solid #d5dadf;padding:10px 15px;margin-bottom:10px;font-size:11px;line-height:1.4;cursor:pointer;-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s}.elementor-history-item:hover{background-color:rgba(230,233,236,.3)}.elementor-history-item:hover .elementor-history-item__icon .eicon:before{content:"\e924"}.elementor-history-item-applied{color:#a4afb7}.elementor-history-item-current{background:#e6e9ec;cursor:default}.elementor-history-item-current .elementor-history-item__icon .eicon:before,.elementor-history-item-current:hover .elementor-history-item__icon .eicon:before{content:"\e90e"}.elementor-history-item__details{width:95%}.elementor-history-item__title{font-weight:700}.elementor-history-item__action,.elementor-history-item__subtitle{font-weight:lighter}.elementor-history-item__action{font-style:italic;text-decoration:underline}.elementor-history-item .__icon{float:left}.elementor-history-revisions-message{font-size:11px;text-align:center;padding-top:5px}#elementor-panel-history{padding:20px 20px 15px}#elementor-panel-history.elementor-empty .elementor-history-revisions-message{padding-top:20px}#elementor-panel-history:not(.elementor-empty){background-color:#fff;margin-top:10px}#elementor-panel-history-no-items,#elementor-panel-revisions-no-revisions{text-align:center}#elementor-panel-history-no-items .elementor-nerd-box-icon,#elementor-panel-revisions-no-revisions .elementor-nerd-box-icon{margin-top:20px}.elementor-panel #elementor-panel-header #elementor-panel-header-kit-back,.elementor-panel #elementor-panel-header #elementor-panel-header-kit-close{display:none}.elementor-editor-kit .elementor-panel #elementor-panel-header{background-color:#4ab7f4}.elementor-editor-kit .elementor-panel #elementor-panel-header #elementor-panel-header-kit-back,.elementor-editor-kit .elementor-panel #elementor-panel-header #elementor-panel-header-kit-close{display:table-cell}body:not(.e-routes-has-history) #elementor-panel-header-kit-back{pointer-events:none;opacity:.4}body:not(.e-routes-has-history) #elementor-panel-header-kit-back:hover .elementor-icon{cursor:inherit;color:inherit}.elementor-editor-kit .elementor-panel .elementor-panel-navigation .elementor-panel-navigation-tab.elementor-active{border-bottom-color:#4ab7f4}.elementor-editor-kit .elementor-panel #elementor-panel-page-settings .elementor-panel-navigation{display:none}.elementor-editor-kit .elementor-panel #elementor-panel-saver-button-publish.elementor-button.elementor-button-success:not(.elementor-disabled),.elementor-editor-kit .elementor-panel #elementor-panel-saver-button-save-options.elementor-button.elementor-button-success:not(.elementor-disabled){background-color:#4ab7f4}.elementor-editor-kit .elementor-panel #elementor-panel-page-menu{padding:25px 15px 0}.elementor-editor-kit #elementor-panel-footer-navigator,.elementor-editor-kit #elementor-panel-footer-sub-menu-item-save-template,.elementor-editor-kit #elementor-panel-header-add-button,.elementor-editor-kit #elementor-panel-header-menu-button{display:none}.elementor-control-type-global-style-repeater .elementor-repeater-fields{margin-bottom:15px;position:relative}.elementor-control-type-global-style-repeater .elementor-repeater-fields.ui-sortable-helper{background-color:#fff}.elementor-control-type-global-style-repeater .elementor-repeater-row-controls{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-control-type-global-style-repeater .elementor-repeater-row-tool{cursor:pointer;color:#d5dadf;padding:5px}.elementor-control-type-global-style-repeater .elementor-control{padding:0}.elementor-control-type-global-style-repeater .elementor-control-title{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-control-type-global-style-repeater .elementor-control-title input{max-width:135px}.elementor-control-type-global-style-repeater .elementor-control-title input:not(:focus){background:none;border:none}.elementor-control-type-global-style-repeater .elementor-control-input-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;min-width:81px}.elementor-control-type-global-style-repeater .elementor-control-input-wrapper:hover .e-global-colors__color-value,.elementor-control-type-global-style-repeater .elementor-control-input-wrapper:not(:hover) .elementor-repeater-tool-remove,.elementor-control-type-global-style-repeater .elementor-control-input-wrapper:not(:hover) .elementor-repeater-tool-remove--disabled,.elementor-control-type-global-style-repeater .elementor-control-input-wrapper:not(:hover) .elementor-repeater-tool-sort{display:none}.elementor-control-type-global-style-repeater .elementor-control-content>.elementor-control-field>.elementor-control-input-wrapper{margin-top:0}.elementor-control-type-global-style-repeater .elementor-controls-popover{-ms-flex-item-align:end;align-self:end;margin-top:35px;top:0;width:100%}.elementor-control-type-global-style-repeater .elementor-controls-popover:before{left:5px}.elementor-control-type-global-style-repeater .elementor-controls-popover .elementor-control{padding:0 20px 15px}.elementor-control-type-global-style-repeater .elementor-controls-popover .elementor-control-title{-webkit-box-flex:initial;-ms-flex-positive:initial;flex-grow:0}.elementor-control-type-global-style-repeater .elementor-button-wrapper{text-align:center;border-top:1px solid #e6e9ec;max-width:260px;padding-top:15px}.elementor-control-type-global-style-repeater .elementor-control-popover-toggle-toggle-label,.elementor-control-type-global-style-repeater .pickr{margin-right:5px}.elementor-control-type-global-style-repeater .e-sortable-placeholder{background-color:#71d7f7;opacity:.9;width:100%;margin:8px 0;height:2px}.elementor-control-system_colors,.elementor-control-system_typography{padding-bottom:0}.e-global-colors__color-value{color:#d5dadf;font-size:10px;padding:0 5px;text-align:left;white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden}@-webkit-keyframes load{0%{opacity:.3}50%{opacity:1}to{opacity:.3}}@keyframes load{0%{opacity:.3}50%{opacity:1}to{opacity:.3}}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@-webkit-keyframes mover{0%{-webkit-transform:translateY(0);transform:translateY(0)}to{-webkit-transform:translateY(-5px);transform:translateY(-5px)}}@keyframes mover{0%{-webkit-transform:translateY(0);transform:translateY(0)}to{-webkit-transform:translateY(-5px);transform:translateY(-5px)}}@-webkit-keyframes slideDown{0%{-webkit-transform:translateY(-30px);transform:translateY(-30px)}to{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes slideDown{0%{-webkit-transform:translateY(-30px);transform:translateY(-30px)}to{-webkit-transform:translateY(0);transform:translateY(0)}}body{--e-preview-width:calc(100% - var(--e-editor-panel-width, 300px))}body.elementor-navigator-docked{--e-preview-width:calc(100% - var(--e-editor-panel-width, 300px) - var(--e-editor-navigator-width, 0px))}body.elementor-device-desktop #elementor-preview{overflow-y:hidden;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}body:not(.elementor-device-desktop) body{overflow-y:auto}#elementor-preview{overflow:auto;background-color:#333;height:100%;border:0;width:var(--e-preview-width);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative;direction:ltr}#elementor-preview>div{direction:rtl}#elementor-preview-responsive-wrapper{-webkit-transform-origin:top center;-ms-transform-origin:top center;transform-origin:top center;padding:20px;-webkit-transform:scale(var(--e-preview-scale,1));-ms-transform:scale(var(--e-preview-scale,1));transform:scale(var(--e-preview-scale,1))}.elementor-device-desktop #elementor-preview-responsive-wrapper{min-width:1025px;width:100%;height:100%;padding:0;position:relative}body.e-is-device-mode:not(.elementor-device-desktop) #elementor-preview-responsive-wrapper{width:var(--e-editor-preview-width);height:var(--e-editor-preview-height);margin:0 max((100vw - var(--e-editor-panel-width) - var(--e-editor-preview-width))/2,20px);-webkit-box-sizing:content-box;box-sizing:content-box;position:relative;max-height:calc(100vh - 80px)}body.e-is-device-mode:not(.elementor-device-desktop) #elementor-preview-responsive-wrapper .ui-resizable-handle{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}#elementor-preview-responsive-wrapper:not(.ui-resizable-resizing){-webkit-transition:.3s ease-in-out;-o-transition:.3s ease-in-out;transition:.3s ease-in-out}#elementor-preview-responsive-wrapper .ui-resizable-handle{top:0}#elementor-preview-responsive-wrapper .ui-resizable-handle.ui-resizable-s{top:auto;bottom:0}#elementor-preview-responsive-wrapper .ui-resizable-n,#elementor-preview-responsive-wrapper .ui-resizable-s{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;height:20px}#elementor-preview-responsive-wrapper .ui-resizable-n:before,#elementor-preview-responsive-wrapper .ui-resizable-s:before{content:"";display:block;background-color:hsla(0,0%,100%,.2);width:50px;height:4px;border-radius:3px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}#elementor-preview-responsive-wrapper .ui-resizable-n:hover:before,#elementor-preview-responsive-wrapper .ui-resizable-s:hover:before{background-color:hsla(0,0%,100%,.6);width:100px}#elementor-preview-responsive-wrapper .ui-resizable-e,#elementor-preview-responsive-wrapper .ui-resizable-w{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:20px}#elementor-preview-responsive-wrapper .ui-resizable-e:before,#elementor-preview-responsive-wrapper .ui-resizable-w:before{content:"";display:block;background-color:hsla(0,0%,100%,.2);width:4px;height:50px;border-radius:3px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}#elementor-preview-responsive-wrapper .ui-resizable-e:hover:before,#elementor-preview-responsive-wrapper .ui-resizable-w:hover:before{background-color:hsla(0,0%,100%,.6);height:100px}#elementor-preview-responsive-wrapper.ui-resizable-resizing .ui-resizable-handle:before{background-color:hsla(0,0%,100%,.9)}#elementor-preview-responsive-wrapper .ui-resizable-s{bottom:0}#elementor-preview-responsive-wrapper .ui-resizable-e{right:0}#elementor-preview-responsive-wrapper .ui-resizable-w{left:0}#elementor-preview-iframe{width:100%;height:100%;background-color:#fff;-webkit-box-shadow:0 0 3px rgba(0,0,0,.3),0 0 20px rgba(0,0,0,.15);box-shadow:0 0 3px rgba(0,0,0,.3),0 0 20px rgba(0,0,0,.15)}#elementor-template-library-modal a.elementor-template-library-blank-footer-link{font-style:normal;text-decoration:underline;color:#39b54a}#elementor-template-library-modal a.elementor-template-library-blank-footer-link:hover{color:#2d8e3a}#elementor-template-library-modal .dialog-buttons-wrapper{display:none}#elementor-template-library-modal .select2-container{z-index:0}#elementor-template-library-header-menu{text-align:center;color:#6d7882;font-size:13px}.elementor-template-library-menu-item{display:inline-block;padding:17px 0;width:115px;cursor:pointer}.elementor-template-library-menu-item.elementor-active{background-image:-o-linear-gradient(top,#f1f3f5,#fff);background-image:-webkit-gradient(linear,left top,left bottom,from(#f1f3f5),to(#fff));background-image:linear-gradient(180deg,#f1f3f5,#fff);border-bottom:3px solid #93003c}#elementor-template-library-header-actions{display:-webkit-box;display:-ms-flexbox;display:flex}#elementor-template-library-header-actions>div{padding-left:16px}#elementor-template-library-header-preview-insert-wrapper{cursor:default;padding:0 10px}#elementor-template-library-header-preview-insert-wrapper .elementor-button{padding:8px 14px;font-size:11px}#elementor-template-library-header-preview-insert-wrapper .elementor-template-library-template-insert{color:#fff;background-color:#39b54a}#elementor-template-library-header-preview-insert-wrapper .elementor-go-pro{background-color:#93003c;color:#fff}#elementor-template-library-header-preview-back{padding:16.5px 0 15px 16.5px;border-left:1px solid #e6e9ec;cursor:pointer;-webkit-transition:color .5s;-o-transition:color .5s;transition:color .5s}#elementor-template-library-header-preview-back:not(:hover){color:#a4afb7}#elementor-template-library-header-preview-back i{padding-left:10px;font-size:18px}#elementor-template-library-header-preview-back i:before{content:"\e87d"}#elementor-template-library-templates{padding:0 15px}#elementor-template-library-templates[data-template-source=local] #elementor-template-library-templates-container{-webkit-box-shadow:1px 1px 20px 0 rgba(0,0,0,.03);box-shadow:1px 1px 20px 0 rgba(0,0,0,.03);margin-top:10px;margin-bottom:45px}#elementor-template-library-templates[data-template-source=local] .elementor-template-library-order-input:checked+.elementor-template-library-order-label{color:#6d7882}#elementor-template-library-templates[data-template-source=remote] #elementor-template-library-templates-container{margin:10px -15px 0}#elementor-template-library-templates[data-template-source=remote] .elementor-template-library-order-input:checked+.elementor-template-library-order-label{color:#495157}#elementor-template-library-templates .elementor-template-library-order-input,#elementor-template-library-templates.elementor-templates-filter-active #elementor-template-library-footer-banner,#elementor-template-library-templates[data-template-source=empty] #elementor-template-library-footer-banner,#elementor-template-library-templates[data-template-source=empty] #elementor-template-library-order-toolbar-local{display:none}#elementor-template-library-templates .elementor-template-library-order-input:checked+.elementor-template-library-order-label{padding-left:8px}#elementor-template-library-templates .elementor-template-library-order-input:checked+.elementor-template-library-order-label:after{font-family:eicons;content:"\e8ae";margin-right:3px}#elementor-template-library-templates .elementor-template-library-order-input:checked.elementor-template-library-order-reverse+.elementor-template-library-order-label:after{content:"\e8ad"}#elementor-template-library-templates-container{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}#elementor-template-library-templates-container .elementor-template-library-template-local .elementor-template-library-template-insert{text-transform:none;font-size:12px}#elementor-template-library-toolbar{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}#elementor-template-library-toolbar,.elementor-template-library-filter-toolbar{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}#elementor-template-library-filter-toolbar-remote{font-size:11px}#elementor-template-library-order{display:-webkit-box;display:-ms-flexbox;display:flex;border-left:1px solid #d5dadf}.elementor-template-library-order-label{text-transform:uppercase;padding-left:22px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}label.elementor-template-library-order-label{cursor:pointer}label.elementor-template-library-order-label:hover{color:#556068}#elementor-template-library-filter .select2{text-align:right;width:calc(27px * 5)!important}#elementor-template-library-filter .select2-selection__rendered{text-transform:capitalize}#select2-elementor-template-library-filter-subtype-results .select2-results__option{text-transform:capitalize;text-align:right;padding-right:5px}#elementor-template-library-my-favorites{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;text-align:right;padding-right:20px}#elementor-template-library-filter-my-favorites{display:none}#elementor-template-library-filter-my-favorites:checked+#elementor-template-library-filter-my-favorites-label{color:#495157}#elementor-template-library-filter-my-favorites:checked+#elementor-template-library-filter-my-favorites-label i:after{color:#93003c;content:"\e93f"}#elementor-template-library-filter-my-favorites-label{cursor:pointer;text-transform:uppercase}#elementor-template-library-filter-my-favorites-label:hover{color:#556068}#elementor-template-library-filter-my-favorites-label:hover i:after{color:#93003c}#elementor-template-library-filter-my-favorites-label i{padding-left:5px}#elementor-template-library-filter-my-favorites-label i:after{color:#a4afb7;content:"\e923"}#elementor-template-library-filter-text-wrapper{width:200px;position:relative}#elementor-template-library-filter-text-wrapper i{position:absolute;top:50%;left:0;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}#elementor-template-library-filter-text{border:none;border-bottom:1px solid #d5dadf;border-radius:0;font-size:11px;padding:8px 15px 8px 0;-webkit-transition:border .5s;-o-transition:border .5s;transition:border .5s}#elementor-template-library-filter-text::-webkit-input-placeholder{font-weight:300;text-transform:uppercase}#elementor-template-library-filter-text::-moz-placeholder{font-weight:300;text-transform:uppercase}#elementor-template-library-filter-text::-ms-input-placeholder{font-weight:300;text-transform:uppercase}#elementor-template-library-filter-text::placeholder{font-weight:300;text-transform:uppercase}#elementor-template-library-filter-text:focus{border-color:#c2cbd2}.elementor-template-library-template-remote{margin:15px;padding:8px;background-color:#fff;-webkit-box-shadow:0 1px 20px 0 rgba(0,0,0,.07);box-shadow:0 1px 20px 0 rgba(0,0,0,.07);border-radius:3px}.elementor-template-library-template-remote:hover .elementor-template-library-template-name{display:none}.elementor-template-library-template-remote:not(:hover) .elementor-template-library-template-preview{opacity:0}.elementor-template-library-template-remote:not(:hover) .elementor-template-library-favorite,.elementor-template-library-template-remote:not(:hover) .elementor-template-library-template-action{display:none}.elementor-template-library-template-remote.elementor-template-library-pro-template .elementor-template-library-template-body:before{content:var(--elementor-template-library-subscription-plan-label);background-color:var(--elementor-template-library-subscription-plan-color);color:#d5dadf;position:absolute;text-transform:uppercase;top:5px;left:5px;padding:2px 4px 0;font-size:9px;border-radius:2px}.elementor-template-library-template-remote:not(.elementor-template-library-template-page):not(.elementor-template-library-template-lp){position:relative;width:calc(33.333% - 30px);overflow:hidden}.elementor-template-library-template-remote:not(.elementor-template-library-template-page):not(.elementor-template-library-template-lp) img{display:block;width:100%}.elementor-template-library-template-remote:not(.elementor-template-library-template-page):not(.elementor-template-library-template-lp) .elementor-template-library-template-footer{position:absolute;width:100%;bottom:0;right:0;padding:10px;background-color:#fff;-webkit-transition:-webkit-transform .5s;transition:-webkit-transform .5s;-o-transition:transform .5s;transition:transform .5s;transition:transform .5s,-webkit-transform .5s}.elementor-template-library-template-remote:not(.elementor-template-library-template-page):not(.elementor-template-library-template-lp) .elementor-template-library-template-name{display:none}.elementor-template-library-template-remote:not(.elementor-template-library-template-page):not(.elementor-template-library-template-lp):not(:hover) .elementor-template-library-template-footer{-webkit-transform:translateY(100%);-ms-transform:translateY(100%);transform:translateY(100%)}.elementor-template-library-template-remote .elementor-template-library-template-body{position:relative}@media (max-width:1025px){.elementor-template-library-template-remote .elementor-template-library-template-body{height:300px}}.elementor-template-library-template-remote .elementor-template-library-template-screenshot{height:100%;background-size:cover;background-position-x:50%;-webkit-box-shadow:inset 0 -2px 15px -6px rgba(0,0,0,.07);box-shadow:inset 0 -2px 15px -6px rgba(0,0,0,.07)}.elementor-template-library-template-remote .elementor-template-library-template-preview{position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.5);-webkit-transition:opacity .5s;-o-transition:opacity .5s;transition:opacity .5s;cursor:pointer}.elementor-template-library-template-remote .elementor-template-library-template-preview i{font-size:20px;color:#d5dadf;position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.elementor-template-library-template-remote .elementor-template-library-template-insert{color:#39b54a}.elementor-template-library-template-remote .elementor-go-pro{color:#93003c}.elementor-template-library-template-remote .elementor-template-library-template-footer{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;margin-top:10px;font-size:11px;line-height:1}.elementor-template-library-template-remote .elementor-template-library-template-name{text-align:right;color:#6d7882;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden;padding-left:5px}.elementor-template-library-template-remote .elementor-template-library-template-favorite-input{display:none}.elementor-template-library-template-remote .elementor-template-library-template-favorite-input:checked+.elementor-template-library-template-favorite-label i:before{content:"\e93f";color:#93003c}.elementor-template-library-template-remote .elementor-template-library-template-favorite-label{cursor:pointer}.elementor-template-library-template-remote .elementor-template-library-template-favorite-label:hover i{color:#93003c}@media (max-width:1439px){.elementor-template-library-template-lp,.elementor-template-library-template-page{width:calc(25% - 30px)}}@media (min-width:1440px){.elementor-template-library-template-lp,.elementor-template-library-template-page{width:calc(20% - 30px)}}@media (max-width:1025px){.elementor-template-library-template-lp,.elementor-template-library-template-page{width:calc(33.333% - 30px)}}.elementor-template-library-template-lp .elementor-template-library-template-body,.elementor-template-library-template-page .elementor-template-library-template-body{height:200px}#elementor-template-library-order-toolbar-local,.elementor-template-library-template-local{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 25px;text-align:right}#elementor-template-library-order-toolbar-local{margin-top:30px}#elementor-template-library-order-toolbar-local .elementor-template-library-order-label{line-height:1;font-size:10px;font-weight:500}#elementor-template-library-order-toolbar-local .elementor-template-library-order-label:not(:hover){color:#a4afb7}.elementor-template-library-template-local{height:50px;width:100%;margin-top:1px;background-color:#fff;-webkit-transition:background-color .3s linear;-o-transition:background-color .3s linear;transition:background-color .3s linear}.elementor-template-library-template-local:hover{background-color:#fafbfb}.elementor-template-library-template-local:not(:hover) .elementor-template-library-template-insert{background:none;color:#a4afb7}.elementor-template-library-template-local:first-child{border-radius:3px 3px 0 0}.elementor-template-library-template-local:last-child{border-radius:0 0 3px 3px}.elementor-template-library-template-local .elementor-template-library-template-name{font-weight:500}.elementor-template-library-template-local .elementor-template-library-template-meta,.elementor-template-library-template-local .elementor-template-library-template-name{padding-left:20px}.elementor-template-library-template-local .elementor-template-library-template-meta{color:#a4afb7}.elementor-template-library-template-local .elementor-template-library-template-action,.elementor-template-library-template-local .elementor-template-library-template-meta,.elementor-template-library-template-local .elementor-template-library-template-name,.elementor-template-library-template-local .elementor-template-library-template-preview{white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden}.elementor-template-library-template-local .elementor-template-library-template-controls{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-template-library-template-local .elementor-template-library-template-controls,.elementor-template-library-template-local .elementor-template-library-template-controls a{color:#a4afb7}.elementor-template-library-template-local .elementor-template-library-template-controls>div{cursor:pointer;-webkit-transition:color .5s;-o-transition:color .5s;transition:color .5s}.elementor-template-library-template-local .elementor-template-library-template-insert i{margin-left:3px}.elementor-template-library-template-local .elementor-template-library-template-control-title{margin-right:6px}.elementor-template-library-template-local .elementor-template-library-template-more:hover,.elementor-template-library-template-local .elementor-template-library-template-more a:hover{color:#556068}.elementor-template-library-template-local .elementor-template-library-template-more .elementor-template-library-template-delete:hover{color:#d72b3f}.elementor-template-library-template-local .elementor-template-library-template-action{padding:8px 18px;margin:0 5%}.elementor-template-library-template-local .elementor-template-library-template-more{display:none;position:absolute;background-color:#fff;padding:3px 20px;border-radius:3px;-webkit-box-shadow:1px 3px 11px rgba(0,0,0,.3);box-shadow:1px 3px 11px rgba(0,0,0,.3);top:100%;left:0;-webkit-transform:translateX(-65%) translateY(-7px);-ms-transform:translateX(-65%) translateY(-7px);transform:translateX(-65%) translateY(-7px);z-index:1}.elementor-template-library-template-local .elementor-template-library-template-more:before{content:"";position:absolute;border:solid transparent;border-bottom:solid #fff;border-width:8px 4px;-webkit-transform:translateY(-100%);-ms-transform:translateY(-100%);transform:translateY(-100%)}.elementor-template-library-template-local .elementor-template-library-template-more>div{margin:10px 0;font-size:11px}.elementor-template-library-template-local .elementor-template-library-template-more-toggle{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;text-align:left}.elementor-template-library-template-local .elementor-template-library-template-more-toggle i{font-size:16px}#elementor-template-library-preview{height:100%;overflow:hidden}#elementor-template-library-preview iframe{height:150%;-webkit-transform:scale(.666) translateX(25%) translateY(-25%);-ms-transform:scale(.666) translateX(25%) translateY(-25%);transform:scale(.666) translateX(25%) translateY(-25%)}@media (max-width:1439px){#elementor-template-library-preview iframe{width:1440px}}@media (min-width:1440px){#elementor-template-library-preview iframe{width:1710px}}.elementor-template-library-blank-icon{font-size:65px;margin-top:45px;color:#c2cbd2;line-height:1}.elementor-template-library-blank-icon img{width:70px}.elementor-template-library-blank-icon .elementor-template-library-no-results{width:200px}.elementor-template-library-blank-title{font-size:30px;margin-top:40px}@media (max-width:1439px){.elementor-template-library-blank-title{font-size:25px}}.elementor-template-library-blank-message{font-size:18px;color:#a4afb7;margin-top:15px;font-weight:300}@media (max-width:1439px){.elementor-template-library-blank-message{font-size:16px;margin-top:10px}}#elementor-template-library-save-template-form{margin-top:40px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}#elementor-template-library-save-template-form>*{height:55px;font-size:16px}#elementor-template-library-save-template-name{width:500px;background-color:#fff;font-weight:300;color:#a4afb7;padding-right:25px;border-radius:0 3px 3px 0;border:none}#elementor-template-library-save-template-submit{width:150px;border-radius:3px 0 0 3px}#elementor-template-library-save-template-submit:hover{-webkit-box-shadow:none;box-shadow:none}#elementor-template-library-import-form{width:95%;background-color:hsla(0,0%,100%,.5);padding:60px;border:2px dashed #d5dadf;margin:35px auto;-webkit-transition:background-color .5s;-o-transition:background-color .5s;transition:background-color .5s}#elementor-template-library-import-form:hover{background-color:hsla(0,0%,100%,.9)}#elementor-template-library-import-form-or{margin-top:15px;font-size:18px}#elementor-template-library-import-form-label{margin-top:20px;padding:15px 35px;display:inline-block}#elementor-template-library-import-form-input{display:none}#elementor-template-library-import-form.elementor-drag-over{border:3px dashed #71d7f7}#elementor-template-library-import .elementor-template-library-blank-icon{margin-top:0}#elementor-template-library-import .elementor-template-library-blank-message{margin-top:20px}.e-route-library-connect #elementor-template-library-modal .dialog-message{max-height:95vh;padding:100px 0 0;min-height:550px}#elementor-template-library-connect-logo{font-size:20px}#elementor-template-library-connect__button{display:inline-block;position:relative;z-index:1;margin-top:25px;padding:12px 24px;font-size:14px}#elementor-template-library-connect__background-image-left-1{right:22.4%;bottom:-29%;-webkit-animation:fadeIn 1.5s,slideDown 1.5s,mover 3.5s 1.5s infinite alternate;animation:fadeIn 1.5s,slideDown 1.5s,mover 3.5s 1.5s infinite alternate}#elementor-template-library-connect__background-image-left-2{right:46.25%;bottom:-15.5%;-webkit-animation:fadeIn 3s,slideDown 3s,mover 2s 3s infinite alternate;animation:fadeIn 3s,slideDown 3s,mover 2s 3s infinite alternate}#elementor-template-library-connect__background-image-right-1{left:37%;bottom:-41%;-webkit-animation:fadeIn 2.5s,slideDown 2.5s,mover 2s 2.5s infinite alternate;animation:fadeIn 2.5s,slideDown 2.5s,mover 2s 2.5s infinite alternate}#elementor-template-library-connect__background-image-right-2{left:48%;bottom:-12.5%;-webkit-animation:fadeIn 1.5s,slideDown 1.5s,mover 1.5s 1.5s infinite alternate;animation:fadeIn 1.5s,slideDown 1.5s,mover 1.5s 1.5s infinite alternate}.elementor-template-library-connect__background-image{position:absolute}.elementor-template-library-blank-footer{position:absolute;bottom:70px;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);color:#a4afb7;font-style:italic}@media (max-height:700px){.elementor-template-library-blank-footer{display:none}}#elementor-template-library-footer-banner{padding-bottom:45px}#elementor-template-library-footer-banner i{color:#c2cbd2;font-size:56px;margin-top:40px}#elementor-template-library-footer-banner .elementor-nerd-box-icon{margin-top:70px}#elementor-template-library-footer-banner .elementor-excerpt{color:#a4afb7;font-size:15px;font-weight:500;margin-top:20px}#elementor-template-library-templates-empty{width:100%;margin-top:40px}#elementor-template-library-error-dialog .dialog-message{text-align:start}#elementor-template-library-error-info{margin-top:10px}@media (max-width:1439px){.elementor-template-library-local-column-1{width:33%}.elementor-template-library-local-column-2{width:10%}.elementor-template-library-local-column-3,.elementor-template-library-local-column-4{width:15%}.elementor-template-library-local-column-5{width:27%}}@media (min-width:1440px){.elementor-template-library-local-column-1{width:25%}.elementor-template-library-local-column-2,.elementor-template-library-local-column-3,.elementor-template-library-local-column-4{width:17%}.elementor-template-library-local-column-5{width:24%}}@media (max-width:1024px){.elementor-template-library-local-column-3{display:none}.elementor-template-library-local-column-5{width:41%}}.elementor-tags-list{display:none;position:absolute;width:260px;max-height:300px;overflow:auto;padding-bottom:5px;background-color:#fff;border:1px solid #a4afb7;border-radius:3px;z-index:10000}.elementor-tags-list__group-title{color:#495157;font-weight:700;font-size:12px;padding:10px 15px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-tags-list__group-title .eicon-info-circle{padding-left:5px;color:#71d7f7;font-size:14px}.elementor-tags-list__item{font-size:10px;padding:6px 15px;cursor:pointer}.elementor-tags-list__item:before{content:">";font-size:8px;padding-left:5px}.elementor-tags-list__item:hover{background-color:#e6e9ec}.elementor-tags-list__teaser{border-top:2px solid #d5dadf;padding-top:4px;margin-top:4px}.elementor-tags-list__teaser-title{color:#6d7882}.elementor-tags-list__teaser-text{padding:2px 15px 8px;line-height:1.5;font-size:12px}.elementor-tags-list__teaser-link{color:#93003c;text-decoration:underline;font-style:italic;font-weight:700}.elementor-dynamic-cover{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;height:27px;-webkit-box-sizing:border-box;box-sizing:border-box}.elementor-dynamic-cover__title{padding:0 8px;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden}.elementor-dynamic-cover__remove,.elementor-dynamic-cover__settings{color:#c2cbd2;cursor:pointer;-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s}.elementor-dynamic-cover__remove:hover,.elementor-dynamic-cover__settings:hover{color:#a4afb7}.elementor-control-type-wysiwyg .elementor-dynamic-cover{margin-top:10px}.elementor-tag-settings-popup{position:absolute;width:260px;background-color:#e6e9ec;-webkit-box-shadow:1px 1px 10px rgba(0,0,0,.3);box-shadow:1px 1px 10px rgba(0,0,0,.3);z-index:1}.elementor-tag-settings-popup:before{content:"";position:absolute;top:-20px;right:5px;border:10px solid transparent;border-bottom-color:#fff}.elementor-tag-settings-popup .elementor-control-type-section:first-child{margin:0}.elementor-tag-controls-stack-empty{background-color:#fff;padding:10px;font-size:13px;text-align:center}.elementor-control-dynamic-switcher{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-ms-flex-negative:0;flex-shrink:0;height:27px;cursor:pointer;border:1px solid #d5dadf;border-radius:3px;background:#fff}.elementor-control-dynamic-switcher.e-control-tool{height:20px;border:0}.elementor-control-dynamic-switcher-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-control-dynamic-switcher .eicon-database{font-size:12px}.elementor-control-dynamic-value .e-global__popover-toggle,.elementor-control-dynamic-value .elementor-control-dynamic-switcher,.elementor-control-dynamic-value .elementor-control-tag-area{display:none}#elementor-toast{position:absolute;width:280px;padding:20px;border-radius:5px;color:#d5dadf;background-color:rgba(0,0,0,.8);z-index:10000}#elementor-toast .dialog-message{font-size:13px}#elementor-toast .dialog-buttons-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;margin-top:15px}#elementor-toast .dialog-button{color:#fcb92c;margin:0 5px;text-transform:uppercase;cursor:pointer}#elementor-toast .dialog-button:last-child{margin-left:0}.elementor-context-menu{position:absolute;width:200px;background-color:#fff;border:1px solid #e6e9ec;border-radius:3px;-webkit-box-shadow:0 2px 10px 0 rgba(0,0,0,.09);box-shadow:0 2px 10px 0 rgba(0,0,0,.09);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:101}.elementor-context-menu-list__group{padding:5px 0}.elementor-context-menu-list__group:not(:last-child){border-bottom:1px solid #e6e9ec}.elementor-context-menu-list__item{padding:5px 10px 5px 20px;display:-webkit-box;display:-ms-flexbox;display:flex;cursor:pointer}.elementor-context-menu-list__item--disabled{cursor:default;color:#d5dadf}.elementor-context-menu-list__item:not(.elementor-context-menu-list__item--disabled):hover{background-color:#71d7f7}.elementor-context-menu-list__item:not(.elementor-context-menu-list__item--disabled):hover>*{color:#fff}.elementor-context-menu-list__item__icon{width:20px;color:#c2cbd2}.elementor-context-menu-list__item__title{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden}.elementor-context-menu-list__item__shortcut{color:#d5dadf}.elementor-context-menu-list__item.elementor-context-menu-list__item-delete:not(.elementor-context-menu-list__item--disabled):hover{background-color:#d72b3f}.elementor-context-menu .eicon-pro-icon{color:#fcb92c}#elementor-hotkeys{text-align:right}#elementor-hotkeys__content{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;overflow:hidden;margin-bottom:30px}@media (max-width:1024px){#elementor-hotkeys__content{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}#elementor-hotkeys__actions .elementor-hotkeys__list{border-radius:0 3px 3px 0}@media (max-width:1024px){#elementor-hotkeys__actions .elementor-hotkeys__list{border-radius:3px}}@media (min-width:1025px){#elementor-hotkeys__actions .elementor-hotkeys__header,#elementor-hotkeys__actions .elementor-hotkeys__list{padding-left:25px}}@media (min-width:1440px){#elementor-hotkeys__actions .elementor-hotkeys__header,#elementor-hotkeys__actions .elementor-hotkeys__list{padding-left:50px}}#elementor-hotkeys__navigation .elementor-hotkeys__list{border-radius:3px 0 0 3px}@media (max-width:1024px){#elementor-hotkeys__navigation .elementor-hotkeys__list{border-radius:3px}}@media (min-width:1025px){#elementor-hotkeys__navigation .elementor-hotkeys__header{padding-right:25px}}@media (min-width:1440px){#elementor-hotkeys__navigation .elementor-hotkeys__header{padding-right:50px}}@media (min-width:1025px){#elementor-hotkeys__navigation .elementor-hotkeys__list{padding-right:15px}}@media (min-width:1440px){#elementor-hotkeys__navigation .elementor-hotkeys__list{padding-right:40px}}.elementor-hotkeys__col{width:50%}@media (max-width:1024px){.elementor-hotkeys__col{width:100%}}.elementor-hotkeys__header,.elementor-hotkeys__list{width:100%}.elementor-hotkeys__header{padding:10px 30px;font-weight:500}@media (max-width:479px){.elementor-hotkeys__header{padding-right:10px;padding-left:10px}}.elementor-hotkeys__list{background-color:#fff;height:calc(100% - 42px);padding:10px 20px}@media (max-width:479px){.elementor-hotkeys__list{padding:0}}@media (max-width:1024px){.elementor-hotkeys__list{margin-bottom:30px;height:auto}}.elementor-hotkeys__item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:20px 10px;border-bottom:1px solid #eceeef}.elementor-hotkeys__item:last-child{margin-bottom:30px}@media (max-width:479px){.elementor-hotkeys__item:last-child{margin-bottom:0}}.elementor-hotkeys__item--label{font-size:13px;font-weight:400;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-hotkeys__item--shortcut{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-hotkeys__item--shortcut span{position:relative;background-color:#eceeef;padding:5px 12px;margin-right:27px;border-radius:3px}@media (max-width:479px){.elementor-hotkeys__item--shortcut span{padding:4px 9px;margin-right:23px}}.elementor-hotkeys__item--shortcut span:after{content:"+";position:absolute;right:-18px;width:9px;text-align:center}@media (max-width:479px){.elementor-hotkeys__item--shortcut span:after{right:-16px}}.elementor-hotkeys__item--shortcut span:last-child{margin-right:0}.elementor-hotkeys__item--shortcut span:last-child:after{display:none}.ui-resizable-n{top:-5px}.ui-resizable-e{right:-5px}.ui-resizable-s{bottom:-5px}.ui-resizable-w{left:-5px}.ui-resizable-ne{top:-5px;right:-5px}.ui-resizable-nw{top:-5px;left:-5px}.ui-resizable-se{bottom:-5px;right:-5px}.ui-resizable-sw{bottom:-5px;left:-5px}.ui-resizable-n,.ui-resizable-s{left:0;height:10px;width:100%;cursor:ns-resize}.ui-resizable-e,.ui-resizable-w{top:0;height:100%;width:10px;cursor:ew-resize}.ui-resizable-ne,.ui-resizable-nw,.ui-resizable-se,.ui-resizable-sw{height:15px;width:15px}.ui-resizable-nw,.ui-resizable-se{cursor:nwse-resize}.ui-resizable-ne,.ui-resizable-sw{cursor:nesw-resize}.ui-resizable-handle{position:absolute}.ui-resizable-resizing{pointer-events:none}body{--e-editor-navigator-width:240px}#elementor-navigator{position:fixed;top:100px;width:var(--e-editor-navigator-width);height:50vh;left:30px;background-color:#fff;-webkit-box-shadow:0 2px 20px 0 rgba(0,0,0,.1);box-shadow:0 2px 20px 0 rgba(0,0,0,.1);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden;z-index:100;display:none}body.elementor-navigator-docked #elementor-navigator{top:0;left:0;height:100%}body:not(.elementor-navigator-docked) #elementor-navigator{border-radius:5px}#elementor-navigator__inner{height:100%;background-color:#e6e9ec}#elementor-navigator__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:12px 10px;background-color:#fff;border-bottom:1px solid #e6e9ec;cursor:move}#elementor-navigator__close,#elementor-navigator__toggle-all{-webkit-transition:color .5s;-o-transition:color .5s;transition:color .5s;cursor:pointer}#elementor-navigator__close:not(:hover),#elementor-navigator__toggle-all:not(:hover){color:#a4afb7}#elementor-navigator__toggle-all{font-size:13px}#elementor-navigator__close{font-size:11px}#elementor-navigator__elements{height:calc(100% - 49px);overflow:auto;position:relative}.elementor-navigator-docked #elementor-navigator__elements{height:calc(100% - 35px)}#elementor-navigator__elements .elementor-nerd-box{padding:25px}#elementor-navigator__footer{position:absolute;width:100%;left:0;bottom:0;text-align:center;background-color:#fff;border-top:1px solid #e6e9ec;color:#a4afb7}.elementor-navigator-docked #elementor-navigator__footer{display:none}.elementor-navigator__item{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;height:30px;font-size:11px;border-bottom:1px solid #e6e9ec;cursor:pointer;-webkit-transition:padding .5s linear;-o-transition:padding .5s linear;transition:padding .5s linear;overflow:hidden}.elementor-navigator__item:not(.elementor-active) .elementor-navigator__element__list-toggle i{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.elementor-navigator__item>*{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-navigator__item+.elementor-navigator__elements{display:none}.elementor-navigator__elements .elementor-empty-view{padding:10px;border-bottom:1px solid #e6e9ec}.elementor-navigator__elements .elementor-empty-view__title{margin-right:23px;color:#c2cbd2;font-size:10px;font-style:italic}.elementor-navigator__elements .ui-sortable-helper{background-color:#fff;-webkit-box-shadow:1px 2px 5px 0 rgba(0,0,0,.1);box-shadow:1px 2px 5px 0 rgba(0,0,0,.1);-webkit-transform:rotate(4deg);-ms-transform:rotate(4deg);transform:rotate(4deg);border:1px solid #e6e9ec;pointer-events:none}.elementor-navigator__elements .ui-sortable-placeholder{background-color:#f1f3f5}.elementor-navigator__element.elementor-dragging-on-child>.elementor-navigator__elements>.elementor-empty-view{border-top:2px solid #71d7f7}.elementor-navigator__element.elementor-dragging-on-child>.elementor-navigator__elements>.elementor-empty-view+.ui-sortable-placeholder,.elementor-navigator__element.elementor-dragging-on-child>.elementor-navigator__elements>.elementor-empty-view .elementor-empty-view__title{display:none}.elementor-navigator__element:not(.elementor-navigator__element--has-children) .elementor-navigator__element__list-toggle{visibility:hidden}.elementor-navigator__element:not(.elementor-navigator__element--hidden)>.elementor-navigator__item .elementor-navigator__element__toggle{color:#71d7f7}.elementor-navigator__element:not(.elementor-navigator__element--hidden)>.elementor-navigator__item:not(:hover) .elementor-navigator__element__toggle{display:none}.elementor-navigator__element:not(.elementor-navigator__element--hidden)>.elementor-navigator__item.elementor-editing{background-color:#71d7f7}.elementor-navigator__element:not(.elementor-navigator__element--hidden)>.elementor-navigator__item.elementor-editing>*{color:#fff}.elementor-navigator__element__list-toggle{margin-left:7px;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;-o-transition:transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;color:#a4afb7}.elementor-navigator__element__element-type{margin-left:8px}.elementor-navigator__element__title{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;overflow:hidden}.elementor-navigator__element__title__text{white-space:nowrap;-webkit-user-select:text}.elementor-navigator__element__title__text[contenteditable=true]{outline:none;color:#6d7882;background-color:#fff;padding:2px 3px;-webkit-box-shadow:0 0 4px rgba(0,0,0,.2);box-shadow:0 0 4px rgba(0,0,0,.2)}.elementor-navigator__element__title__text:not([contenteditable=true]){white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden}.elementor-navigator__element__toggle{position:absolute;left:15px;height:100%;z-index:0;font-size:13px}.elementor-navigator__element__indicators{position:relative;-webkit-transition:-webkit-transform .5s;transition:-webkit-transform .5s;-o-transition:transform .5s;transition:transform .5s;transition:transform .5s,-webkit-transform .5s;padding-right:5px;z-index:91}.elementor-navigator__element__indicators:not(:hover){-webkit-transform:translateX(calc(-100% + 8px));-ms-transform:translateX(calc(-100% + 8px));transform:translateX(calc(-100% + 8px))}.elementor-navigator__element__indicator{height:100%;width:31px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;color:#6d7882;background-color:#fff;border-right:1px solid #e6e9ec}.elementor-navigator__element__indicator:first-child{border-right:3px solid #71d7f7}.elementor-editing .elementor-navigator__element__indicator:first-child{border-color:#41c9f4}.elementor-navigator__element__indicator:hover{color:#495157}.elementor-navigator__element--hidden .elementor-navigator__element__title,.elementor-navigator__element--hidden .elementor-navigator__element__toggle{opacity:.5}.elementor-navigator__element-column{background-color:#fafbfb}.elementor-navigator__element-column>.elementor-navigator__item .elementor-navigator__element__element-type{color:#a4afb7}.elementor-navigator__element-container,.elementor-navigator__element-section{background-color:#fff}#e-notice-bar{position:absolute;width:100%;bottom:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:40px;color:#fff;background-color:#93003c;padding:0 25px}#e-notice-bar__message{padding-right:15px}#e-notice-bar__message a{text-decoration:underline;color:#fff}#e-notice-bar__message a:hover{color:#d5dadf}#e-notice-bar__action{padding-right:25px;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;text-transform:uppercase}#e-notice-bar__action a{background:#fff;border-radius:3px;color:#93003c;padding:4px 10px;font-size:11px}#e-notice-bar__action a:hover{color:#47001d;background:#f1f3f5}#e-notice-bar__close{cursor:pointer}#e-notice-bar i{font-size:16px;opacity:.9}#e-notice-bar i:hover{color:#d5dadf}#e-notice-bar a,#e-notice-bar i{-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s}body:not(.elementor-device-desktop) #e-notice-bar{display:none}#elementor-fatal-error-dialog.elementor-preview-loading-error .dialog-header{color:#495157}#elementor-fatal-error-dialog.elementor-preview-loading-error .dialog-message a{color:#6d7882;text-decoration:underline;font-style:italic}#elementor-preview-debug-link-text{display:inline-block}#elementor-icons-manager-modal .dialog-message{padding:0;height:700px}#elementor-icons-manager-modal .dialog-buttons-wrapper,#elementor-icons-manager-modal .dialog-content,#elementor-icons-manager__wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}@media (max-width:479px){#elementor-icons-manager__sidebar{display:none}}#elementor-icons-manager__tab-links{margin-top:30px}#elementor-icons-manager__upload{margin:20px 45px;padding-top:35px;border-top:1px solid #e6e9ec;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}@media (max-width:1439px){#elementor-icons-manager__upload{margin:20px 25px}}#elementor-icons-manager__upload__title{color:#a4afb7;font-size:11px;text-transform:uppercase}#elementor-icons-manager__main{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding:30px 80px 0}@media (max-width:1439px){#elementor-icons-manager__main{padding:30px 50px 0}}@media (max-width:479px){#elementor-icons-manager__main{width:100%}}#elementor-icons-manager__search{position:relative}#elementor-icons-manager__search input{padding:8px 15px;background-color:#fff;border:none}#elementor-icons-manager__search input::-webkit-input-placeholder{font-style:italic}#elementor-icons-manager__search input::-moz-placeholder{font-style:italic}#elementor-icons-manager__search input::-ms-input-placeholder{font-style:italic}#elementor-icons-manager__search input::placeholder{font-style:italic}#elementor-icons-manager__search i{position:absolute;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);left:15px}#elementor-icons-manager__tab__wrapper{overflow:auto;margin:25px -15px 0;padding:0 15px 15px}#elementor-icons-manager__tab__title{color:#556068;font-size:16px;font-weight:500;text-align:right}@media (max-width:479px){#elementor-icons-manager__tab__title{display:none}}#elementor-icons-manager__tab__content{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:20px;margin:20px 0}@media (max-width:1439px){#elementor-icons-manager__tab__content{grid-template-columns:repeat(6,1fr)}}@media (max-width:1024px){#elementor-icons-manager__tab__content{grid-template-columns:repeat(5,1fr)}}@media (max-width:767px){#elementor-icons-manager__tab__content{grid-template-columns:repeat(4,1fr)}}@media (max-width:479px){#elementor-icons-manager__tab__content{grid-template-columns:repeat(3,1fr)}}#elementor-icons-manager__promotion{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding-top:70px}#elementor-icons-manager__promotion__icon{font-size:60px;color:#c2cbd2}#elementor-icons-manager__promotion__text{width:300px;font-size:16px;padding-top:25px}#elementor-icons-manager__promotion__link{margin-top:20px}.elementor-icons-manager__tab-link{padding:15px 45px 15px 0;font-size:14px;color:#6d7882;text-align:right;cursor:pointer;position:relative}.elementor-icons-manager__tab-link i{font-size:20px;padding-left:15px;color:#a4afb7}@media (max-width:1439px){.elementor-icons-manager__tab-link{padding:15px 25px 15px 15px;font-size:11px}.elementor-icons-manager__tab-link i{font-size:15px}}@media (max-width:1024px){.elementor-icons-manager__tab-link i{display:none}}.elementor-icons-manager__tab-link.elementor-active{background-color:#fff;-webkit-box-shadow:0 6px 20px 0 rgba(0,0,0,.1);box-shadow:0 6px 20px 0 rgba(0,0,0,.1)}.elementor-icons-manager__tab-link.elementor-active:after{content:"";position:absolute;height:100%;width:5px;top:0;right:0;background-color:#71d7f7}.elementor-icons-manager__tab-link.elementor-active i{color:#71d7f7}.elementor-icons-manager__tab__item{position:relative;height:0;padding-bottom:100%;background-color:#fff;-webkit-box-shadow:0 1px 12px rgba(0,0,0,.05);box-shadow:0 1px 12px rgba(0,0,0,.05);border-radius:3px;cursor:pointer;-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s;overflow:hidden}.elementor-icons-manager__tab__item:hover{-webkit-box-shadow:0 1px 14px rgba(0,0,0,.16);box-shadow:0 1px 14px rgba(0,0,0,.16)}.elementor-icons-manager__tab__item.elementor-selected{-webkit-box-shadow:0 1px 12px rgba(0,0,0,.05),0 0 0 3px #71d7f7;box-shadow:0 1px 12px rgba(0,0,0,.05),0 0 0 3px #71d7f7}.elementor-icons-manager__tab__item__content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);padding:1px}.elementor-icons-manager__tab__item__icon{font-size:25px;color:#6d7882}.elementor-icons-manager__tab__item__name{color:#c2cbd2;font-size:11px;padding:13px 20px 0;max-width:100%;white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden}#elementor-enable-fa5-dialog a{font-style:italic;text-decoration:underline}#elementor-enable-fa5-dialog .dialog-confirm-ok{color:#39b54a}.elementor-color-picker__header{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-weight:700;padding:10px;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.1);box-shadow:0 2px 8px rgba(0,0,0,.1)}.e-color-picker__tools,.elementor-color-picker__header{display:-webkit-box;display:-ms-flexbox;display:flex}.e-control-color--no-value .pcr-button{background-image:-o-linear-gradient(315deg,transparent 46%,#ff3030 50%,transparent 54%);background-image:linear-gradient(135deg,transparent 46%,#ff3030 50%,transparent 54%);background-size:cover;background-color:transparent;border:1px solid #d5dadf}.pcr-app[data-theme=monolith]{padding:0}.pcr-result{border-right-width:1px;border-radius:3px}.pcr-interaction,.pcr-selection{padding:0 20px}.pcr-interaction{padding-bottom:20px}.pcr .elementor-control-dynamic-switcher{height:20px;border:0}.select2-container{width:100%!important;outline:none;z-index:9999;font-size:12px}.select2-container .e-select2-placeholder{color:#a4afb7}.select2-container.select2-container--default .select2-selection--single{height:27px}.select2-container.select2-container--default .select2-selection--single .select2-selection__rendered{color:#6d7882;line-height:27px}.select2-container.select2-container--default .select2-selection--multiple{min-height:27px;line-height:0}.select2-container.select2-container--default .select2-selection--multiple .select2-selection__clear{display:none}.select2-container.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#f1f3f5;line-height:1.2;font-size:10px;border:none;border-radius:0;padding:2px 3px}.select2-container.select2-container--default .select2-selection--multiple .select2-selection__choice.select2-selection__e-plus-button{cursor:pointer;width:16.67px;text-indent:-9999px;position:relative}.select2-container.select2-container--default .select2-selection--multiple .select2-selection__choice.select2-selection__e-plus-button:after{content:"\e815";font-family:eicons;color:#a4afb7;text-indent:0;position:absolute;left:0;top:0;width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.select2-container.select2-container--default .select2-selection--multiple .select2-selection__rendered{padding-bottom:5px}.select2-container.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#a4afb7;margin-left:3px}.select2-container:not(.select2-container--open):not(.select2-container--focus) .select2-selection--multiple,.select2-container:not(.select2-container--open):not(.select2-container--focus) .select2-selection--single{border-color:#d5dadf}.select2-container.select2-container--focus .select2-selection--multiple,.select2-container.select2-container--focus .select2-selection--single,.select2-container.select2-container--open .select2-selection--multiple,.select2-container.select2-container--open .select2-selection--single{border-color:#a4afb7}.select2-selection{outline:none}.select2-selection--single{height:27px}.select2-selection__arrow{height:27px;top:0}.select2-results__option[aria-selected=true]{color:#495157}.select2-results__option[aria-selected=true]:not(.select2-results__option--highlighted){background-color:initial}.select2-dropdown{border-color:#a4afb7}.select2-dropdown .select2-search__field{outline:none}[class*=" eicon-flex"],[class^=eicon-flex]{-webkit-transition:all .3s;-o-transition:.3s all;transition:all .3s;--is-ltr:1;--is-rtl:0;--rotation-direction:calc(var(--is-ltr) - var(--is-rtl));--is-ltr:0;--is-rtl:1}[class*=" eicon-flex"].eicon-inline,[class^=eicon-flex].eicon-inline{max-height:1em;max-width:1em}:is(.e-ui-state--document-direction-mode__column,.e-ui-state--document-direction-mode__column-reverse) [class*=" eicon-flex"]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow),:is(.e-ui-state--document-direction-mode__column,.e-ui-state--document-direction-mode__column-reverse) [class^=eicon-flex]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow){-webkit-transform:rotate(calc(var(--rotation-direction) * 90deg));-ms-transform:rotate(calc(var(--rotation-direction) * 90deg));transform:rotate(calc(var(--rotation-direction) * 90deg))}.e-ui-state--document-direction-mode__column-reverse [class*=" eicon-flex"]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow):is(.eicon-justify-start-h,.eicon-justify-end-h,.eicon-order-start,.eicon-order-end),.e-ui-state--document-direction-mode__column-reverse [class^=eicon-flex]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow):is(.eicon-justify-start-h,.eicon-justify-end-h,.eicon-order-start,.eicon-order-end),:is(.e-ui-state--document-direction-mode__column,.e-ui-state--document-direction-mode__column-reverse) [class*=" eicon-flex"]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow):is(.eicon-align-start-v,.eicon-align-end-v),:is(.e-ui-state--document-direction-mode__column,.e-ui-state--document-direction-mode__column-reverse) [class^=eicon-flex]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow):is(.eicon-align-start-v,.eicon-align-end-v){-webkit-transform:rotate(calc(var(--rotation-direction) * -90deg));-ms-transform:rotate(calc(var(--rotation-direction) * -90deg));transform:rotate(calc(var(--rotation-direction) * -90deg))}.e-ui-state--document-direction-mode__row [class*=" eicon-flex"]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow):is(.eicon-justify-start-h,.eicon-justify-end-h,.eicon-order-start,.eicon-order-end),.e-ui-state--document-direction-mode__row [class^=eicon-flex]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow):is(.eicon-justify-start-h,.eicon-justify-end-h,.eicon-order-start,.eicon-order-end){-webkit-transform:rotate(calc(var(--is-rtl) * 180deg));-ms-transform:rotate(calc(var(--is-rtl) * 180deg));transform:rotate(calc(var(--is-rtl) * 180deg))}.e-ui-state--document-direction-mode__row-reverse [class*=" eicon-flex"]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow):is(.eicon-justify-start-h,.eicon-justify-end-h,.eicon-order-start,.eicon-order-end),.e-ui-state--document-direction-mode__row-reverse [class^=eicon-flex]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow):is(.eicon-justify-start-h,.eicon-justify-end-h,.eicon-order-start,.eicon-order-end){-webkit-transform:rotate(calc(var(--is-ltr) * 180deg));-ms-transform:rotate(calc(var(--is-ltr) * 180deg));transform:rotate(calc(var(--is-ltr) * 180deg))}assets/css/widget-image-gallery.min.css000064400000004632152377341010014142 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ .elementor-image-gallery .gallery-item{display:inline-block;text-align:center;vertical-align:top;width:100%;max-width:100%;margin:0 auto}.elementor-image-gallery .gallery-item img{margin:0 auto}.elementor-image-gallery .gallery-item .gallery-caption{margin:0}.elementor-image-gallery figure img{display:block}.elementor-image-gallery figure figcaption{width:100%}.gallery-spacing-custom .elementor-image-gallery .gallery-icon{padding:0}@media (min-width:768px){.elementor-image-gallery .gallery-columns-2 .gallery-item{max-width:50%}.elementor-image-gallery .gallery-columns-3 .gallery-item{max-width:33.33%}.elementor-image-gallery .gallery-columns-4 .gallery-item{max-width:25%}.elementor-image-gallery .gallery-columns-5 .gallery-item{max-width:20%}.elementor-image-gallery .gallery-columns-6 .gallery-item{max-width:16.666%}.elementor-image-gallery .gallery-columns-7 .gallery-item{max-width:14.28%}.elementor-image-gallery .gallery-columns-8 .gallery-item{max-width:12.5%}.elementor-image-gallery .gallery-columns-9 .gallery-item{max-width:11.11%}.elementor-image-gallery .gallery-columns-10 .gallery-item{max-width:10%}}@media (min-width:480px) and (max-width:767px){.elementor-image-gallery .gallery.gallery-columns-2 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-3 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-4 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-5 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-6 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-7 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-8 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-9 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-10 .gallery-item{max-width:50%}}@media (max-width:479px){.elementor-image-gallery .gallery.gallery-columns-2 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-3 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-4 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-5 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-6 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-7 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-8 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-9 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-10 .gallery-item{max-width:100%}}assets/css/modules/container-converter/editor.css000064400000001146152377341010016302 0ustar00.elementor-control-convert_to_container .elementor-button.e-loading { font-size: 0; width: 42px; position: relative; pointer-events: none; } .elementor-control-convert_to_container .elementor-button.e-loading::before { content: "\e8fb"; font-family: "eicons"; font-size: 12px; animation: eicon-spin 2s infinite linear; display: inline-block; position: absolute; left: 50%; top: 50%; margin-left: -6px; margin-top: -6px; } .elementor-control-convert_to_container .elementor-button[disabled] { background-color: #d5dadf; pointer-events: none; } /*# sourceMappingURL=editor.css.map */assets/css/frontend.css000064400000600132152377341010011174 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ @charset "UTF-8"; .dialog-widget-content { background-color: #fff; position: absolute; border-radius: 3px; -webkit-box-shadow: 2px 8px 23px 3px rgba(0, 0, 0, 0.2); box-shadow: 2px 8px 23px 3px rgba(0, 0, 0, 0.2); overflow: hidden; } .dialog-message { font-size: 12px; line-height: 1.5; -webkit-box-sizing: border-box; box-sizing: border-box; } .dialog-type-lightbox { position: fixed; height: 100%; width: 100%; bottom: 0; left: 0; background-color: rgba(0, 0, 0, 0.8); z-index: 9999; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .dialog-type-lightbox .dialog-widget-content { margin: auto; width: 375px; } .dialog-type-lightbox .dialog-header { font-size: 15px; color: #495157; padding: 30px 0 10px; font-weight: 500; } .dialog-type-lightbox .dialog-message { padding: 0 30px 30px; min-height: 50px; } .dialog-type-lightbox:not(.elementor-popup-modal) .dialog-header, .dialog-type-lightbox:not(.elementor-popup-modal) .dialog-message { text-align: center; } .dialog-type-lightbox .dialog-buttons-wrapper { border-top: 1px solid #e6e9ec; text-align: center; } .dialog-type-lightbox .dialog-buttons-wrapper > .dialog-button { font-family: Roboto, Arial, Helvetica, Verdana, sans-serif; width: 50%; border: none; background: none; color: #6d7882; font-size: 15px; cursor: pointer; padding: 13px 0; outline: 0; } .dialog-type-lightbox .dialog-buttons-wrapper > .dialog-button:hover { background-color: #f4f6f7; } .dialog-type-lightbox .dialog-buttons-wrapper > .dialog-button.dialog-ok { color: #b01b1b; } .dialog-type-lightbox .dialog-buttons-wrapper > .dialog-button.dialog-take_over { color: #39b54a; } .dialog-type-lightbox .dialog-buttons-wrapper > .dialog-button:active { background-color: rgba(230, 233, 236, 0.5); } .dialog-type-lightbox .dialog-buttons-wrapper > .dialog-button::-moz-focus-inner { border: 0; } .dialog-close-button { cursor: pointer; position: absolute; margin-top: 15px; right: 15px; font-size: 15px; line-height: 1; } .dialog-close-button:not(:hover) { opacity: 0.4; } .dialog-alert-widget .dialog-buttons-wrapper > button { width: 100%; } .dialog-confirm-widget .dialog-button:first-child { border-right: 1px solid #e6e9ec; } .dialog-prevent-scroll { overflow: hidden; max-height: 100vh; } @media (min-width: 1024px) { body.admin-bar .dialog-lightbox-widget { height: calc(100vh - 32px); } } @media (max-width: 1024px) { body.admin-bar .dialog-type-lightbox { position: sticky; height: 100vh; } } .elementor-aspect-ratio-219 .elementor-fit-aspect-ratio { padding-bottom: 42.8571%; } .elementor-aspect-ratio-169 .elementor-fit-aspect-ratio { padding-bottom: 56.25%; } .elementor-aspect-ratio-43 .elementor-fit-aspect-ratio { padding-bottom: 75%; } .elementor-aspect-ratio-32 .elementor-fit-aspect-ratio { padding-bottom: 66.6666%; } .elementor-aspect-ratio-11 .elementor-fit-aspect-ratio { padding-bottom: 100%; } .elementor-aspect-ratio-916 .elementor-fit-aspect-ratio { padding-bottom: 177.8%; } .elementor-fit-aspect-ratio { position: relative; height: 0; } .elementor-fit-aspect-ratio iframe { position: absolute; top: 0; left: 0; height: 100%; width: 100%; border: 0; background-color: #000; } .elementor-fit-aspect-ratio video { width: 100%; } .flatpickr-calendar { width: 280px; } .flatpickr-calendar .flatpickr-current-month span.cur-month { font-weight: 300; } .flatpickr-calendar .dayContainer { width: 280px; min-width: 280px; max-width: 280px; } .flatpickr-calendar .flatpickr-days { width: 280px; } .flatpickr-calendar .flatpickr-day { max-width: 37px; height: 37px; line-height: 37px; } .elementor-templates-modal .dialog-widget-content { font-family: Roboto, Arial, Helvetica, Verdana, sans-serif; background-color: #f1f3f5; width: 100%; } @media (max-width: 1439px) { .elementor-templates-modal .dialog-widget-content { max-width: 990px; } } @media (min-width: 1440px) { .elementor-templates-modal .dialog-widget-content { max-width: 1200px; } } .elementor-templates-modal .dialog-header { padding: 0; background-color: #fff; -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.1); box-shadow: 0 0 8px rgba(0, 0, 0, 0.1); position: relative; z-index: 1; } .elementor-templates-modal .dialog-buttons-wrapper { background-color: #fff; border: none; display: none; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; padding: 5px; -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.1); box-shadow: 0 0 8px rgba(0, 0, 0, 0.1); position: relative; } .elementor-templates-modal .dialog-buttons-wrapper .elementor-button { height: 40px; margin-left: 5px; } .elementor-templates-modal .dialog-buttons-wrapper .elementor-button-success { padding: 12px 36px; color: #fff; width: initial; font-size: 15px; } .elementor-templates-modal .dialog-buttons-wrapper .elementor-button-success:hover { background-color: #39b54a; } .elementor-templates-modal .dialog-message { height: 750px; max-height: 85vh; overflow: auto; padding-top: 25px; } .elementor-templates-modal .dialog-content { height: 100%; } .elementor-templates-modal .dialog-loading { display: none; } .elementor-templates-modal__header { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; height: 50px; } .elementor-templates-modal__header__logo { line-height: 1; text-transform: uppercase; font-weight: bold; cursor: pointer; } .elementor-templates-modal__header__logo-area { text-align: left; padding-left: 15px; } .elementor-templates-modal__header__logo-area > * { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .elementor-templates-modal__header__logo__icon-wrapper { margin-right: 10px; font-size: 12px; } .elementor-templates-modal__header__logo__title { padding-top: 2px; } .elementor-templates-modal__header__items-area { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; } .elementor-templates-modal__header__item { position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-sizing: content-box; box-sizing: content-box; } .elementor-templates-modal__header__item > i { font-size: 20px; -webkit-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; cursor: pointer; } .elementor-templates-modal__header__item > i:not(:hover) { color: #a4afb7; } .elementor-templates-modal__header__close--normal { width: 47px; border-left: 1px solid #e6e9ec; } .elementor-templates-modal__header__close--normal i { font-size: 18px; } .elementor-templates-modal__header__close--skip { padding: 10px; padding-left: 20px; margin-right: 10px; color: #fff; background-color: #a4afb7; font-size: 11px; font-weight: normal; line-height: 1; text-transform: uppercase; border-radius: 2px; cursor: pointer; } .elementor-templates-modal__header__close--skip > i { font-size: inherit; padding-left: 10px; margin-left: 15px; border-left: 1px solid; } .elementor-templates-modal__header__close--skip > i:not(:hover) { color: #fff; } .elementor-templates-modal__sidebar { -ms-flex-negative: 0; flex-shrink: 0; width: 25%; background-color: rgba(255, 255, 255, 0.3); } .elementor-templates-modal__content { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; -webkit-box-shadow: 0 0 13px inset rgba(0, 0, 0, 0.05); box-shadow: 0 0 13px inset rgba(0, 0, 0, 0.05); } /* Will select next element after last '.elementor-general-section' */ #wpadminbar #wp-admin-bar-elementor_edit_page .elementor-general-section + .elementor-second-section { border-top: 1px solid #464b50; margin-top: 6px; } .elementor-hidden { display: none; } .elementor-screen-only, .screen-reader-text, .screen-reader-text span, .ui-helper-hidden-accessible { position: absolute; top: -10000em; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0; } .elementor-clearfix:after { content: ""; display: block; clear: both; width: 0; height: 0; } .e-logo-wrapper { background: #93003c; display: inline-block; padding: 0.75em; border-radius: 50%; line-height: 1; } .e-logo-wrapper i { color: #fff; font-size: 1em; } #e-enable-unfiltered-files-dialog-import-template .dialog-confirm-ok { color: #39b54a; } #e-enable-unfiltered-files-dialog-import-template .dialog-confirm-cancel { color: #b01b1b; } .elementor { -webkit-hyphens: manual; -ms-hyphens: manual; hyphens: manual; } .elementor *, .elementor *:before, .elementor *:after { -webkit-box-sizing: border-box; box-sizing: border-box; } .elementor a { -webkit-box-shadow: none; box-shadow: none; text-decoration: none; } .elementor hr { margin: 0; background-color: transparent; } .elementor img { height: auto; max-width: 100%; border: none; border-radius: 0; -webkit-box-shadow: none; box-shadow: none; } .elementor .elementor-widget:not(.elementor-widget-text-editor):not(.elementor-widget-theme-post-content) figure { margin: 0; } .elementor embed, .elementor iframe, .elementor object, .elementor video { max-width: 100%; width: 100%; margin: 0; line-height: 1; border: none; } .elementor .elementor-custom-embed { line-height: 0; } .elementor .elementor-background-video-container, .elementor .elementor-background-holder, .elementor .elementor-background { height: 100%; width: 100%; top: 0; left: 0; position: absolute; overflow: hidden; z-index: 0; direction: ltr; } .elementor .elementor-background-video-container { -webkit-transition: opacity 1s; -o-transition: opacity 1s; transition: opacity 1s; pointer-events: none; } .elementor .elementor-background-video-container.elementor-loading { opacity: 0; } .elementor .elementor-background-video-embed { max-width: none; } .elementor .elementor-background-video-embed, .elementor .elementor-background-video-hosted { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); } .elementor .elementor-background-video { max-width: none; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); } .elementor .elementor-html5-video { -o-object-fit: cover; object-fit: cover; } .elementor .elementor-background-overlay { height: 100%; width: 100%; top: 0; left: 0; position: absolute; } .elementor .elementor-background-slideshow { position: absolute; width: 100%; height: 100%; z-index: 0; top: 0; left: 0; } .elementor .elementor-background-slideshow__slide__image { width: 100%; height: 100%; background-position: center center; background-size: cover; } .elementor-widget-wrap > .elementor-element.elementor-absolute, .e-container > .elementor-element.elementor-absolute { position: absolute; } .elementor-widget-wrap > .elementor-element.elementor-fixed, .e-container > .elementor-element.elementor-fixed { position: fixed; } .elementor-widget-wrap .elementor-element.elementor-widget__width-auto, .elementor-widget-wrap .elementor-element.elementor-widget__width-initial { max-width: 100%; } @media (max-width: 1024px) { .elementor-widget-wrap .elementor-element.elementor-widget-tablet__width-auto, .elementor-widget-wrap .elementor-element.elementor-widget-tablet__width-initial { max-width: 100%; } } @media (max-width: 767px) { .elementor-widget-wrap .elementor-element.elementor-widget-mobile__width-auto, .elementor-widget-wrap .elementor-element.elementor-widget-mobile__width-initial { max-width: 100%; } } .elementor-element { --flex-direction: initial; --flex-wrap: initial; --justify-content: initial; --align-items: initial; --align-content: initial; --gap: initial; --flex-basis: initial; --flex-grow: initial; --flex-shrink: initial; --order: initial; --align-self: initial; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: var(--flex-direction); flex-direction: var(--flex-direction); -ms-flex-wrap: var(--flex-wrap); flex-wrap: var(--flex-wrap); -webkit-box-pack: var(--justify-content); -ms-flex-pack: var(--justify-content); justify-content: var(--justify-content); -webkit-box-align: var(--align-items); -ms-flex-align: var(--align-items); align-items: var(--align-items); -ms-flex-line-pack: var(--align-content); align-content: var(--align-content); gap: var(--gap); -ms-flex-preferred-size: var(--flex-basis); flex-basis: var(--flex-basis); -webkit-box-flex: var(--flex-grow); -ms-flex-positive: var(--flex-grow); flex-grow: var(--flex-grow); -ms-flex-negative: var(--flex-shrink); flex-shrink: var(--flex-shrink); -webkit-box-ordinal-group: var(--order); -ms-flex-order: var(--order); order: var(--order); -ms-flex-item-align: var(--align-self); align-self: var(--align-self); } .elementor-element.elementor-absolute, .elementor-element.elementor-fixed { z-index: 1; } .elementor-invisible { visibility: hidden; } .elementor-align-center { text-align: center; } .elementor-align-center .elementor-button { width: auto; } .elementor-align-right { text-align: right; } .elementor-align-right .elementor-button { width: auto; } .elementor-align-left { text-align: left; } .elementor-align-left .elementor-button { width: auto; } .elementor-align-justify .elementor-button { width: 100%; } .elementor-custom-embed-play { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); } .elementor-custom-embed-play i { font-size: 100px; color: #fff; text-shadow: 1px 0 6px rgba(0, 0, 0, 0.3); } .elementor-custom-embed-play svg { height: 100px; width: 100px; fill: #fff; -webkit-filter: drop-shadow(1px 0 6px rgba(0, 0, 0, 0.3)); filter: drop-shadow(1px 0 6px rgba(0, 0, 0, 0.3)); } .elementor-custom-embed-play i, .elementor-custom-embed-play svg { opacity: 0.8; -webkit-transition: all 0.5s; -o-transition: all 0.5s; transition: all 0.5s; } .elementor-custom-embed-play.elementor-playing i { font-family: eicons; } .elementor-custom-embed-play.elementor-playing i:before { content: "\e8fb"; } .elementor-custom-embed-play.elementor-playing i, .elementor-custom-embed-play.elementor-playing svg { -webkit-animation: eicon-spin 2s infinite linear; animation: eicon-spin 2s infinite linear; } .elementor-tag { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; } .elementor-ken-burns { -webkit-transition-property: -webkit-transform; transition-property: -webkit-transform; -o-transition-property: transform; transition-property: transform; transition-property: transform, -webkit-transform; -webkit-transition-duration: 10s; -o-transition-duration: 10s; transition-duration: 10s; -webkit-transition-timing-function: linear; -o-transition-timing-function: linear; transition-timing-function: linear; } .elementor-ken-burns--out { -webkit-transform: scale(1.3); -ms-transform: scale(1.3); transform: scale(1.3); } .elementor-ken-burns--active { -webkit-transition-duration: 20s; -o-transition-duration: 20s; transition-duration: 20s; } .elementor-ken-burns--active.elementor-ken-burns--out { -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1); } .elementor-ken-burns--active.elementor-ken-burns--in { -webkit-transform: scale(1.3); -ms-transform: scale(1.3); transform: scale(1.3); } @media (min-width: -1px) { .elementor-widescreen-align-center { text-align: center; } .elementor-widescreen-align-center .elementor-button { width: auto; } .elementor-widescreen-align-right { text-align: right; } .elementor-widescreen-align-right .elementor-button { width: auto; } .elementor-widescreen-align-left { text-align: left; } .elementor-widescreen-align-left .elementor-button { width: auto; } .elementor-widescreen-align-justify .elementor-button { width: 100%; } } @media (max-width: -1px) { .elementor-laptop-align-center { text-align: center; } .elementor-laptop-align-center .elementor-button { width: auto; } .elementor-laptop-align-right { text-align: right; } .elementor-laptop-align-right .elementor-button { width: auto; } .elementor-laptop-align-left { text-align: left; } .elementor-laptop-align-left .elementor-button { width: auto; } .elementor-laptop-align-justify .elementor-button { width: 100%; } } @media (max-width: -1px) { .elementor-tablet_extra-align-center { text-align: center; } .elementor-tablet_extra-align-center .elementor-button { width: auto; } .elementor-tablet_extra-align-right { text-align: right; } .elementor-tablet_extra-align-right .elementor-button { width: auto; } .elementor-tablet_extra-align-left { text-align: left; } .elementor-tablet_extra-align-left .elementor-button { width: auto; } .elementor-tablet_extra-align-justify .elementor-button { width: 100%; } } @media (max-width: 1024px) { .elementor-tablet-align-center { text-align: center; } .elementor-tablet-align-center .elementor-button { width: auto; } .elementor-tablet-align-right { text-align: right; } .elementor-tablet-align-right .elementor-button { width: auto; } .elementor-tablet-align-left { text-align: left; } .elementor-tablet-align-left .elementor-button { width: auto; } .elementor-tablet-align-justify .elementor-button { width: 100%; } } @media (max-width: -1px) { .elementor-mobile_extra-align-center { text-align: center; } .elementor-mobile_extra-align-center .elementor-button { width: auto; } .elementor-mobile_extra-align-right { text-align: right; } .elementor-mobile_extra-align-right .elementor-button { width: auto; } .elementor-mobile_extra-align-left { text-align: left; } .elementor-mobile_extra-align-left .elementor-button { width: auto; } .elementor-mobile_extra-align-justify .elementor-button { width: 100%; } } @media (max-width: 767px) { .elementor-mobile-align-center { text-align: center; } .elementor-mobile-align-center .elementor-button { width: auto; } .elementor-mobile-align-right { text-align: right; } .elementor-mobile-align-right .elementor-button { width: auto; } .elementor-mobile-align-left { text-align: left; } .elementor-mobile-align-left .elementor-button { width: auto; } .elementor-mobile-align-justify .elementor-button { width: 100%; } } :root { --page-title-display: block; } .elementor-page-title, h1.entry-title { display: var(--page-title-display); } @-webkit-keyframes eicon-spin { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(359deg); transform: rotate(359deg); } } @keyframes eicon-spin { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(359deg); transform: rotate(359deg); } } .eicon-animation-spin { -webkit-animation: eicon-spin 2s infinite linear; animation: eicon-spin 2s infinite linear; } .elementor-section { position: relative; } .elementor-section .elementor-container { display: -webkit-box; display: -ms-flexbox; display: flex; margin-right: auto; margin-left: auto; position: relative; } @media (max-width: 1024px) { .elementor-section .elementor-container { -ms-flex-wrap: wrap; flex-wrap: wrap; } } .elementor-section.elementor-section-boxed > .elementor-container { max-width: 1140px; } .elementor-section.elementor-section-stretched { position: relative; width: 100%; } .elementor-section.elementor-section-items-top > .elementor-container { -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; } .elementor-section.elementor-section-items-middle > .elementor-container { -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .elementor-section.elementor-section-items-bottom > .elementor-container { -webkit-box-align: end; -ms-flex-align: end; align-items: flex-end; } @media (min-width: 768px) { .elementor-section.elementor-section-height-full { height: 100vh; } .elementor-section.elementor-section-height-full > .elementor-container { height: 100%; } } .elementor-bc-flex-widget .elementor-section-content-top > .elementor-container > .elementor-column > .elementor-widget-wrap { -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; } .elementor-bc-flex-widget .elementor-section-content-middle > .elementor-container > .elementor-column > .elementor-widget-wrap { -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .elementor-bc-flex-widget .elementor-section-content-bottom > .elementor-container > .elementor-column > .elementor-widget-wrap { -webkit-box-align: end; -ms-flex-align: end; align-items: flex-end; } .elementor-row { width: 100%; display: -webkit-box; display: -ms-flexbox; display: flex; } @media (max-width: 1024px) { .elementor-row { -ms-flex-wrap: wrap; flex-wrap: wrap; } } .elementor-widget-wrap { position: relative; width: 100%; -ms-flex-wrap: wrap; flex-wrap: wrap; -ms-flex-line-pack: start; align-content: flex-start; } .elementor:not(.elementor-bc-flex-widget) .elementor-widget-wrap { display: -webkit-box; display: -ms-flexbox; display: flex; } .elementor-widget-wrap > .elementor-element { width: 100%; } .elementor-widget-wrap.e-swiper-container { width: calc(100% - (var(--e-column-margin-left, 0px) + var(--e-column-margin-right, 0px))); } .elementor-widget { position: relative; } .elementor-widget:not(:last-child) { margin-bottom: 20px; } .elementor-widget:not(:last-child).elementor-widget__width-auto, .elementor-widget:not(:last-child).elementor-widget__width-initial, .elementor-widget:not(:last-child).elementor-absolute { margin-bottom: 0; } .elementor-column { position: relative; min-height: 1px; display: -webkit-box; display: -ms-flexbox; display: flex; } .elementor-column-wrap { width: 100%; position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; } .elementor-column-gap-narrow > .elementor-column > .elementor-element-populated { padding: 5px; } .elementor-column-gap-default > .elementor-column > .elementor-element-populated { padding: 10px; } .elementor-column-gap-extended > .elementor-column > .elementor-element-populated { padding: 15px; } .elementor-column-gap-wide > .elementor-column > .elementor-element-populated { padding: 20px; } .elementor-column-gap-wider > .elementor-column > .elementor-element-populated { padding: 30px; } .elementor-inner-section .elementor-column-gap-no .elementor-element-populated { padding: 0; } @media (min-width: 768px) { .elementor-column.elementor-col-10, .elementor-column[data-col="10"] { width: 10%; } .elementor-column.elementor-col-11, .elementor-column[data-col="11"] { width: 11.111%; } .elementor-column.elementor-col-12, .elementor-column[data-col="12"] { width: 12.5%; } .elementor-column.elementor-col-14, .elementor-column[data-col="14"] { width: 14.285%; } .elementor-column.elementor-col-16, .elementor-column[data-col="16"] { width: 16.666%; } .elementor-column.elementor-col-20, .elementor-column[data-col="20"] { width: 20%; } .elementor-column.elementor-col-25, .elementor-column[data-col="25"] { width: 25%; } .elementor-column.elementor-col-30, .elementor-column[data-col="30"] { width: 30%; } .elementor-column.elementor-col-33, .elementor-column[data-col="33"] { width: 33.333%; } .elementor-column.elementor-col-40, .elementor-column[data-col="40"] { width: 40%; } .elementor-column.elementor-col-50, .elementor-column[data-col="50"] { width: 50%; } .elementor-column.elementor-col-60, .elementor-column[data-col="60"] { width: 60%; } .elementor-column.elementor-col-66, .elementor-column[data-col="66"] { width: 66.666%; } .elementor-column.elementor-col-70, .elementor-column[data-col="70"] { width: 70%; } .elementor-column.elementor-col-75, .elementor-column[data-col="75"] { width: 75%; } .elementor-column.elementor-col-80, .elementor-column[data-col="80"] { width: 80%; } .elementor-column.elementor-col-83, .elementor-column[data-col="83"] { width: 83.333%; } .elementor-column.elementor-col-90, .elementor-column[data-col="90"] { width: 90%; } .elementor-column.elementor-col-100, .elementor-column[data-col="100"] { width: 100%; } } @media (max-width: 479px) { .elementor-column.elementor-xs-10 { width: 10%; } .elementor-column.elementor-xs-11 { width: 11.111%; } .elementor-column.elementor-xs-12 { width: 12.5%; } .elementor-column.elementor-xs-14 { width: 14.285%; } .elementor-column.elementor-xs-16 { width: 16.666%; } .elementor-column.elementor-xs-20 { width: 20%; } .elementor-column.elementor-xs-25 { width: 25%; } .elementor-column.elementor-xs-30 { width: 30%; } .elementor-column.elementor-xs-33 { width: 33.333%; } .elementor-column.elementor-xs-40 { width: 40%; } .elementor-column.elementor-xs-50 { width: 50%; } .elementor-column.elementor-xs-60 { width: 60%; } .elementor-column.elementor-xs-66 { width: 66.666%; } .elementor-column.elementor-xs-70 { width: 70%; } .elementor-column.elementor-xs-75 { width: 75%; } .elementor-column.elementor-xs-80 { width: 80%; } .elementor-column.elementor-xs-83 { width: 83.333%; } .elementor-column.elementor-xs-90 { width: 90%; } .elementor-column.elementor-xs-100 { width: 100%; } } @media (max-width: 767px) { .elementor-column.elementor-sm-10 { width: 10%; } .elementor-column.elementor-sm-11 { width: 11.111%; } .elementor-column.elementor-sm-12 { width: 12.5%; } .elementor-column.elementor-sm-14 { width: 14.285%; } .elementor-column.elementor-sm-16 { width: 16.666%; } .elementor-column.elementor-sm-20 { width: 20%; } .elementor-column.elementor-sm-25 { width: 25%; } .elementor-column.elementor-sm-30 { width: 30%; } .elementor-column.elementor-sm-33 { width: 33.333%; } .elementor-column.elementor-sm-40 { width: 40%; } .elementor-column.elementor-sm-50 { width: 50%; } .elementor-column.elementor-sm-60 { width: 60%; } .elementor-column.elementor-sm-66 { width: 66.666%; } .elementor-column.elementor-sm-70 { width: 70%; } .elementor-column.elementor-sm-75 { width: 75%; } .elementor-column.elementor-sm-80 { width: 80%; } .elementor-column.elementor-sm-83 { width: 83.333%; } .elementor-column.elementor-sm-90 { width: 90%; } .elementor-column.elementor-sm-100 { width: 100%; } } @media (min-width: 768px) and (max-width: 1024px) { .elementor-column.elementor-md-10 { width: 10%; } .elementor-column.elementor-md-11 { width: 11.111%; } .elementor-column.elementor-md-12 { width: 12.5%; } .elementor-column.elementor-md-14 { width: 14.285%; } .elementor-column.elementor-md-16 { width: 16.666%; } .elementor-column.elementor-md-20 { width: 20%; } .elementor-column.elementor-md-25 { width: 25%; } .elementor-column.elementor-md-30 { width: 30%; } .elementor-column.elementor-md-33 { width: 33.333%; } .elementor-column.elementor-md-40 { width: 40%; } .elementor-column.elementor-md-50 { width: 50%; } .elementor-column.elementor-md-60 { width: 60%; } .elementor-column.elementor-md-66 { width: 66.666%; } .elementor-column.elementor-md-70 { width: 70%; } .elementor-column.elementor-md-75 { width: 75%; } .elementor-column.elementor-md-80 { width: 80%; } .elementor-column.elementor-md-83 { width: 83.333%; } .elementor-column.elementor-md-90 { width: 90%; } .elementor-column.elementor-md-100 { width: 100%; } } @media (min-width: -1px) { .elementor-reverse-widescreen > .elementor-container > :nth-child(1) { -webkit-box-ordinal-group: 11; -ms-flex-order: 10; order: 10; } .elementor-reverse-widescreen > .elementor-container > :nth-child(2) { -webkit-box-ordinal-group: 10; -ms-flex-order: 9; order: 9; } .elementor-reverse-widescreen > .elementor-container > :nth-child(3) { -webkit-box-ordinal-group: 9; -ms-flex-order: 8; order: 8; } .elementor-reverse-widescreen > .elementor-container > :nth-child(4) { -webkit-box-ordinal-group: 8; -ms-flex-order: 7; order: 7; } .elementor-reverse-widescreen > .elementor-container > :nth-child(5) { -webkit-box-ordinal-group: 7; -ms-flex-order: 6; order: 6; } .elementor-reverse-widescreen > .elementor-container > :nth-child(6) { -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; } .elementor-reverse-widescreen > .elementor-container > :nth-child(7) { -webkit-box-ordinal-group: 5; -ms-flex-order: 4; order: 4; } .elementor-reverse-widescreen > .elementor-container > :nth-child(8) { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; } .elementor-reverse-widescreen > .elementor-container > :nth-child(9) { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; } .elementor-reverse-widescreen > .elementor-container > :nth-child(10) { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; } } @media (min-width: 1025px) and (max-width: -1px) { .elementor-reverse-laptop > .elementor-container > :nth-child(1) { -webkit-box-ordinal-group: 11; -ms-flex-order: 10; order: 10; } .elementor-reverse-laptop > .elementor-container > :nth-child(2) { -webkit-box-ordinal-group: 10; -ms-flex-order: 9; order: 9; } .elementor-reverse-laptop > .elementor-container > :nth-child(3) { -webkit-box-ordinal-group: 9; -ms-flex-order: 8; order: 8; } .elementor-reverse-laptop > .elementor-container > :nth-child(4) { -webkit-box-ordinal-group: 8; -ms-flex-order: 7; order: 7; } .elementor-reverse-laptop > .elementor-container > :nth-child(5) { -webkit-box-ordinal-group: 7; -ms-flex-order: 6; order: 6; } .elementor-reverse-laptop > .elementor-container > :nth-child(6) { -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; } .elementor-reverse-laptop > .elementor-container > :nth-child(7) { -webkit-box-ordinal-group: 5; -ms-flex-order: 4; order: 4; } .elementor-reverse-laptop > .elementor-container > :nth-child(8) { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; } .elementor-reverse-laptop > .elementor-container > :nth-child(9) { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; } .elementor-reverse-laptop > .elementor-container > :nth-child(10) { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; } } @media (min-width: -1px) and (max-width: -1px) { .elementor-reverse-laptop > .elementor-container > :nth-child(1) { -webkit-box-ordinal-group: 11; -ms-flex-order: 10; order: 10; } .elementor-reverse-laptop > .elementor-container > :nth-child(2) { -webkit-box-ordinal-group: 10; -ms-flex-order: 9; order: 9; } .elementor-reverse-laptop > .elementor-container > :nth-child(3) { -webkit-box-ordinal-group: 9; -ms-flex-order: 8; order: 8; } .elementor-reverse-laptop > .elementor-container > :nth-child(4) { -webkit-box-ordinal-group: 8; -ms-flex-order: 7; order: 7; } .elementor-reverse-laptop > .elementor-container > :nth-child(5) { -webkit-box-ordinal-group: 7; -ms-flex-order: 6; order: 6; } .elementor-reverse-laptop > .elementor-container > :nth-child(6) { -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; } .elementor-reverse-laptop > .elementor-container > :nth-child(7) { -webkit-box-ordinal-group: 5; -ms-flex-order: 4; order: 4; } .elementor-reverse-laptop > .elementor-container > :nth-child(8) { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; } .elementor-reverse-laptop > .elementor-container > :nth-child(9) { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; } .elementor-reverse-laptop > .elementor-container > :nth-child(10) { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; } } @media (min-width: 1025px) and (max-width: -1px) { .elementor-reverse-laptop > .elementor-container > :nth-child(1) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(2) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(3) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(4) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(5) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(6) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(7) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(8) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(9) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(10) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(1) { -webkit-box-ordinal-group: 11; -ms-flex-order: 10; order: 10; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(2) { -webkit-box-ordinal-group: 10; -ms-flex-order: 9; order: 9; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(3) { -webkit-box-ordinal-group: 9; -ms-flex-order: 8; order: 8; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(4) { -webkit-box-ordinal-group: 8; -ms-flex-order: 7; order: 7; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(5) { -webkit-box-ordinal-group: 7; -ms-flex-order: 6; order: 6; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(6) { -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(7) { -webkit-box-ordinal-group: 5; -ms-flex-order: 4; order: 4; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(8) { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(9) { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(10) { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; } } @media (min-width: 768px) and (max-width: 1024px) { .elementor-reverse-tablet > .elementor-container > :nth-child(1) { -webkit-box-ordinal-group: 11; -ms-flex-order: 10; order: 10; } .elementor-reverse-tablet > .elementor-container > :nth-child(2) { -webkit-box-ordinal-group: 10; -ms-flex-order: 9; order: 9; } .elementor-reverse-tablet > .elementor-container > :nth-child(3) { -webkit-box-ordinal-group: 9; -ms-flex-order: 8; order: 8; } .elementor-reverse-tablet > .elementor-container > :nth-child(4) { -webkit-box-ordinal-group: 8; -ms-flex-order: 7; order: 7; } .elementor-reverse-tablet > .elementor-container > :nth-child(5) { -webkit-box-ordinal-group: 7; -ms-flex-order: 6; order: 6; } .elementor-reverse-tablet > .elementor-container > :nth-child(6) { -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; } .elementor-reverse-tablet > .elementor-container > :nth-child(7) { -webkit-box-ordinal-group: 5; -ms-flex-order: 4; order: 4; } .elementor-reverse-tablet > .elementor-container > :nth-child(8) { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; } .elementor-reverse-tablet > .elementor-container > :nth-child(9) { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; } .elementor-reverse-tablet > .elementor-container > :nth-child(10) { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; } } @media (min-width: -1px) and (max-width: 1024px) { .elementor-reverse-tablet > .elementor-container > :nth-child(1) { -webkit-box-ordinal-group: 11; -ms-flex-order: 10; order: 10; } .elementor-reverse-tablet > .elementor-container > :nth-child(2) { -webkit-box-ordinal-group: 10; -ms-flex-order: 9; order: 9; } .elementor-reverse-tablet > .elementor-container > :nth-child(3) { -webkit-box-ordinal-group: 9; -ms-flex-order: 8; order: 8; } .elementor-reverse-tablet > .elementor-container > :nth-child(4) { -webkit-box-ordinal-group: 8; -ms-flex-order: 7; order: 7; } .elementor-reverse-tablet > .elementor-container > :nth-child(5) { -webkit-box-ordinal-group: 7; -ms-flex-order: 6; order: 6; } .elementor-reverse-tablet > .elementor-container > :nth-child(6) { -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; } .elementor-reverse-tablet > .elementor-container > :nth-child(7) { -webkit-box-ordinal-group: 5; -ms-flex-order: 4; order: 4; } .elementor-reverse-tablet > .elementor-container > :nth-child(8) { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; } .elementor-reverse-tablet > .elementor-container > :nth-child(9) { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; } .elementor-reverse-tablet > .elementor-container > :nth-child(10) { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; } } @media (min-width: 768px) and (max-width: -1px) { .elementor-reverse-tablet > .elementor-container > :nth-child(1) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(2) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(3) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(4) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(5) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(6) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(7) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(8) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(9) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(10) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(1) { -webkit-box-ordinal-group: 11; -ms-flex-order: 10; order: 10; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(2) { -webkit-box-ordinal-group: 10; -ms-flex-order: 9; order: 9; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(3) { -webkit-box-ordinal-group: 9; -ms-flex-order: 8; order: 8; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(4) { -webkit-box-ordinal-group: 8; -ms-flex-order: 7; order: 7; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(5) { -webkit-box-ordinal-group: 7; -ms-flex-order: 6; order: 6; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(6) { -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(7) { -webkit-box-ordinal-group: 5; -ms-flex-order: 4; order: 4; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(8) { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(9) { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(10) { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; } } @media (max-width: 767px) { .elementor-reverse-mobile > .elementor-container > :nth-child(1) { -webkit-box-ordinal-group: 11; -ms-flex-order: 10; order: 10; } .elementor-reverse-mobile > .elementor-container > :nth-child(2) { -webkit-box-ordinal-group: 10; -ms-flex-order: 9; order: 9; } .elementor-reverse-mobile > .elementor-container > :nth-child(3) { -webkit-box-ordinal-group: 9; -ms-flex-order: 8; order: 8; } .elementor-reverse-mobile > .elementor-container > :nth-child(4) { -webkit-box-ordinal-group: 8; -ms-flex-order: 7; order: 7; } .elementor-reverse-mobile > .elementor-container > :nth-child(5) { -webkit-box-ordinal-group: 7; -ms-flex-order: 6; order: 6; } .elementor-reverse-mobile > .elementor-container > :nth-child(6) { -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; } .elementor-reverse-mobile > .elementor-container > :nth-child(7) { -webkit-box-ordinal-group: 5; -ms-flex-order: 4; order: 4; } .elementor-reverse-mobile > .elementor-container > :nth-child(8) { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; } .elementor-reverse-mobile > .elementor-container > :nth-child(9) { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; } .elementor-reverse-mobile > .elementor-container > :nth-child(10) { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; } .elementor-column { width: 100%; } } ul.elementor-icon-list-items.elementor-inline-items { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; } ul.elementor-icon-list-items.elementor-inline-items .elementor-inline-item { word-break: break-word; } .elementor-grid { display: grid; grid-column-gap: var(--grid-column-gap); grid-row-gap: var(--grid-row-gap); } .elementor-grid .elementor-grid-item { min-width: 0; } .elementor-grid-0 .elementor-grid { display: inline-block; width: 100%; word-spacing: var(--grid-column-gap); margin-bottom: calc(-1 * var(--grid-row-gap)); } .elementor-grid-0 .elementor-grid .elementor-grid-item { display: inline-block; margin-bottom: var(--grid-row-gap); word-break: break-word; } .elementor-grid-1 .elementor-grid { grid-template-columns: repeat(1, 1fr); } .elementor-grid-2 .elementor-grid { grid-template-columns: repeat(2, 1fr); } .elementor-grid-3 .elementor-grid { grid-template-columns: repeat(3, 1fr); } .elementor-grid-4 .elementor-grid { grid-template-columns: repeat(4, 1fr); } .elementor-grid-5 .elementor-grid { grid-template-columns: repeat(5, 1fr); } .elementor-grid-6 .elementor-grid { grid-template-columns: repeat(6, 1fr); } .elementor-grid-7 .elementor-grid { grid-template-columns: repeat(7, 1fr); } .elementor-grid-8 .elementor-grid { grid-template-columns: repeat(8, 1fr); } .elementor-grid-9 .elementor-grid { grid-template-columns: repeat(9, 1fr); } .elementor-grid-10 .elementor-grid { grid-template-columns: repeat(10, 1fr); } .elementor-grid-11 .elementor-grid { grid-template-columns: repeat(11, 1fr); } .elementor-grid-12 .elementor-grid { grid-template-columns: repeat(12, 1fr); } @media (min-width: -1px) { .elementor-grid-widescreen-0 .elementor-grid { display: inline-block; width: 100%; word-spacing: var(--grid-column-gap); margin-bottom: calc(-1 * var(--grid-row-gap)); } .elementor-grid-widescreen-0 .elementor-grid .elementor-grid-item { display: inline-block; margin-bottom: var(--grid-row-gap); word-break: break-word; } .elementor-grid-widescreen-1 .elementor-grid { grid-template-columns: repeat(1, 1fr); } .elementor-grid-widescreen-2 .elementor-grid { grid-template-columns: repeat(2, 1fr); } .elementor-grid-widescreen-3 .elementor-grid { grid-template-columns: repeat(3, 1fr); } .elementor-grid-widescreen-4 .elementor-grid { grid-template-columns: repeat(4, 1fr); } .elementor-grid-widescreen-5 .elementor-grid { grid-template-columns: repeat(5, 1fr); } .elementor-grid-widescreen-6 .elementor-grid { grid-template-columns: repeat(6, 1fr); } .elementor-grid-widescreen-7 .elementor-grid { grid-template-columns: repeat(7, 1fr); } .elementor-grid-widescreen-8 .elementor-grid { grid-template-columns: repeat(8, 1fr); } .elementor-grid-widescreen-9 .elementor-grid { grid-template-columns: repeat(9, 1fr); } .elementor-grid-widescreen-10 .elementor-grid { grid-template-columns: repeat(10, 1fr); } .elementor-grid-widescreen-11 .elementor-grid { grid-template-columns: repeat(11, 1fr); } .elementor-grid-widescreen-12 .elementor-grid { grid-template-columns: repeat(12, 1fr); } } @media (max-width: -1px) { .elementor-grid-laptop-0 .elementor-grid { display: inline-block; width: 100%; word-spacing: var(--grid-column-gap); margin-bottom: calc(-1 * var(--grid-row-gap)); } .elementor-grid-laptop-0 .elementor-grid .elementor-grid-item { display: inline-block; margin-bottom: var(--grid-row-gap); word-break: break-word; } .elementor-grid-laptop-1 .elementor-grid { grid-template-columns: repeat(1, 1fr); } .elementor-grid-laptop-2 .elementor-grid { grid-template-columns: repeat(2, 1fr); } .elementor-grid-laptop-3 .elementor-grid { grid-template-columns: repeat(3, 1fr); } .elementor-grid-laptop-4 .elementor-grid { grid-template-columns: repeat(4, 1fr); } .elementor-grid-laptop-5 .elementor-grid { grid-template-columns: repeat(5, 1fr); } .elementor-grid-laptop-6 .elementor-grid { grid-template-columns: repeat(6, 1fr); } .elementor-grid-laptop-7 .elementor-grid { grid-template-columns: repeat(7, 1fr); } .elementor-grid-laptop-8 .elementor-grid { grid-template-columns: repeat(8, 1fr); } .elementor-grid-laptop-9 .elementor-grid { grid-template-columns: repeat(9, 1fr); } .elementor-grid-laptop-10 .elementor-grid { grid-template-columns: repeat(10, 1fr); } .elementor-grid-laptop-11 .elementor-grid { grid-template-columns: repeat(11, 1fr); } .elementor-grid-laptop-12 .elementor-grid { grid-template-columns: repeat(12, 1fr); } } @media (max-width: -1px) { .elementor-grid-tablet_extra-0 .elementor-grid { display: inline-block; width: 100%; word-spacing: var(--grid-column-gap); margin-bottom: calc(-1 * var(--grid-row-gap)); } .elementor-grid-tablet_extra-0 .elementor-grid .elementor-grid-item { display: inline-block; margin-bottom: var(--grid-row-gap); word-break: break-word; } .elementor-grid-tablet_extra-1 .elementor-grid { grid-template-columns: repeat(1, 1fr); } .elementor-grid-tablet_extra-2 .elementor-grid { grid-template-columns: repeat(2, 1fr); } .elementor-grid-tablet_extra-3 .elementor-grid { grid-template-columns: repeat(3, 1fr); } .elementor-grid-tablet_extra-4 .elementor-grid { grid-template-columns: repeat(4, 1fr); } .elementor-grid-tablet_extra-5 .elementor-grid { grid-template-columns: repeat(5, 1fr); } .elementor-grid-tablet_extra-6 .elementor-grid { grid-template-columns: repeat(6, 1fr); } .elementor-grid-tablet_extra-7 .elementor-grid { grid-template-columns: repeat(7, 1fr); } .elementor-grid-tablet_extra-8 .elementor-grid { grid-template-columns: repeat(8, 1fr); } .elementor-grid-tablet_extra-9 .elementor-grid { grid-template-columns: repeat(9, 1fr); } .elementor-grid-tablet_extra-10 .elementor-grid { grid-template-columns: repeat(10, 1fr); } .elementor-grid-tablet_extra-11 .elementor-grid { grid-template-columns: repeat(11, 1fr); } .elementor-grid-tablet_extra-12 .elementor-grid { grid-template-columns: repeat(12, 1fr); } } @media (max-width: 1024px) { .elementor-grid-tablet-0 .elementor-grid { display: inline-block; width: 100%; word-spacing: var(--grid-column-gap); margin-bottom: calc(-1 * var(--grid-row-gap)); } .elementor-grid-tablet-0 .elementor-grid .elementor-grid-item { display: inline-block; margin-bottom: var(--grid-row-gap); word-break: break-word; } .elementor-grid-tablet-1 .elementor-grid { grid-template-columns: repeat(1, 1fr); } .elementor-grid-tablet-2 .elementor-grid { grid-template-columns: repeat(2, 1fr); } .elementor-grid-tablet-3 .elementor-grid { grid-template-columns: repeat(3, 1fr); } .elementor-grid-tablet-4 .elementor-grid { grid-template-columns: repeat(4, 1fr); } .elementor-grid-tablet-5 .elementor-grid { grid-template-columns: repeat(5, 1fr); } .elementor-grid-tablet-6 .elementor-grid { grid-template-columns: repeat(6, 1fr); } .elementor-grid-tablet-7 .elementor-grid { grid-template-columns: repeat(7, 1fr); } .elementor-grid-tablet-8 .elementor-grid { grid-template-columns: repeat(8, 1fr); } .elementor-grid-tablet-9 .elementor-grid { grid-template-columns: repeat(9, 1fr); } .elementor-grid-tablet-10 .elementor-grid { grid-template-columns: repeat(10, 1fr); } .elementor-grid-tablet-11 .elementor-grid { grid-template-columns: repeat(11, 1fr); } .elementor-grid-tablet-12 .elementor-grid { grid-template-columns: repeat(12, 1fr); } } @media (max-width: -1px) { .elementor-grid-mobile_extra-0 .elementor-grid { display: inline-block; width: 100%; word-spacing: var(--grid-column-gap); margin-bottom: calc(-1 * var(--grid-row-gap)); } .elementor-grid-mobile_extra-0 .elementor-grid .elementor-grid-item { display: inline-block; margin-bottom: var(--grid-row-gap); word-break: break-word; } .elementor-grid-mobile_extra-1 .elementor-grid { grid-template-columns: repeat(1, 1fr); } .elementor-grid-mobile_extra-2 .elementor-grid { grid-template-columns: repeat(2, 1fr); } .elementor-grid-mobile_extra-3 .elementor-grid { grid-template-columns: repeat(3, 1fr); } .elementor-grid-mobile_extra-4 .elementor-grid { grid-template-columns: repeat(4, 1fr); } .elementor-grid-mobile_extra-5 .elementor-grid { grid-template-columns: repeat(5, 1fr); } .elementor-grid-mobile_extra-6 .elementor-grid { grid-template-columns: repeat(6, 1fr); } .elementor-grid-mobile_extra-7 .elementor-grid { grid-template-columns: repeat(7, 1fr); } .elementor-grid-mobile_extra-8 .elementor-grid { grid-template-columns: repeat(8, 1fr); } .elementor-grid-mobile_extra-9 .elementor-grid { grid-template-columns: repeat(9, 1fr); } .elementor-grid-mobile_extra-10 .elementor-grid { grid-template-columns: repeat(10, 1fr); } .elementor-grid-mobile_extra-11 .elementor-grid { grid-template-columns: repeat(11, 1fr); } .elementor-grid-mobile_extra-12 .elementor-grid { grid-template-columns: repeat(12, 1fr); } } @media (max-width: 767px) { .elementor-grid-mobile-0 .elementor-grid { display: inline-block; width: 100%; word-spacing: var(--grid-column-gap); margin-bottom: calc(-1 * var(--grid-row-gap)); } .elementor-grid-mobile-0 .elementor-grid .elementor-grid-item { display: inline-block; margin-bottom: var(--grid-row-gap); word-break: break-word; } .elementor-grid-mobile-1 .elementor-grid { grid-template-columns: repeat(1, 1fr); } .elementor-grid-mobile-2 .elementor-grid { grid-template-columns: repeat(2, 1fr); } .elementor-grid-mobile-3 .elementor-grid { grid-template-columns: repeat(3, 1fr); } .elementor-grid-mobile-4 .elementor-grid { grid-template-columns: repeat(4, 1fr); } .elementor-grid-mobile-5 .elementor-grid { grid-template-columns: repeat(5, 1fr); } .elementor-grid-mobile-6 .elementor-grid { grid-template-columns: repeat(6, 1fr); } .elementor-grid-mobile-7 .elementor-grid { grid-template-columns: repeat(7, 1fr); } .elementor-grid-mobile-8 .elementor-grid { grid-template-columns: repeat(8, 1fr); } .elementor-grid-mobile-9 .elementor-grid { grid-template-columns: repeat(9, 1fr); } .elementor-grid-mobile-10 .elementor-grid { grid-template-columns: repeat(10, 1fr); } .elementor-grid-mobile-11 .elementor-grid { grid-template-columns: repeat(11, 1fr); } .elementor-grid-mobile-12 .elementor-grid { grid-template-columns: repeat(12, 1fr); } } @media (min-width: 1025px) { #elementor-device-mode:after { content: "desktop"; } } @media (min-width: -1px) { #elementor-device-mode:after { content: "widescreen"; } } @media (max-width: -1px) { #elementor-device-mode:after { content: "laptop"; } } @media (max-width: -1px) { #elementor-device-mode:after { content: "tablet_extra"; } } @media (max-width: 1024px) { #elementor-device-mode:after { content: "tablet"; } } @media (max-width: -1px) { #elementor-device-mode:after { content: "mobile_extra"; } } @media (max-width: 767px) { #elementor-device-mode:after { content: "mobile"; } } .e-container { --border-radius: 0; --display: flex; --flex-direction: column; --flex-basis: auto; --flex-grow: 0; --flex-shrink: 1; --content-width: Min( 100%, var( --container-max-width, 1140px ) ); --width: 100%; --min-height: initial; --height: auto; --text-align: initial; --margin-top: 0; --margin-right: 0; --margin-bottom: 0; --margin-left: 0; --padding-top: var( --container-default-padding, 0px ); --padding-right: var( --container-default-padding, 0px ); --padding-bottom: var( --container-default-padding, 0px ); --padding-left: var( --container-default-padding, 0px ); --position: relative; --z-index: revert; --overflow: visible; --transition: 0; --gap: var( --widgets-spacing, 20px ); --overlay-mix-blend-mode: initial; --overlay-opacity: 1; --overlay-transition: 0; position: var(--position); display: var(--display); text-align: var(--text-align); -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: var(--flex-direction); flex-direction: var(--flex-direction); -webkit-box-flex: var(--flex-grow); -ms-flex: var(--flex-grow) var(--flex-shrink) var(--flex-basis); flex: var(--flex-grow) var(--flex-shrink) var(--flex-basis); width: var(--width); min-width: 0; max-width: min(100%, var(--width)); min-height: var(--min-height); height: var(--height); border-radius: var(--border-radius); margin: var(--margin-top) var(--margin-right) var(--margin-bottom) var(--margin-left); padding-left: calc((100% - var(--content-width)) / 2 + var(--padding-left)); padding-right: calc((100% - var(--content-width)) / 2 + var(--padding-right)); padding-top: var(--padding-top); padding-bottom: var(--padding-bottom); z-index: var(--z-index); overflow: var(--overflow); -webkit-transition: var(--transition); -o-transition: var(--transition); transition: var(--transition); } :is(.elementor-section-wrap, [data-elementor-id]) > .e-container { --margin-right: auto; --margin-left: auto; } .e-container .elementor-empty-view { position: relative; width: 100%; height: 100%; min-height: var(--min-height, 100px); } .e-container .elementor-empty-view .elementor-first-add { width: auto; height: auto; inset: 10px; } .e-container .elementor-widget-placeholder { --size: 10px; --margin-start: calc( -1 * var( --size ) ); --margin-end: calc( -2 * var( --size ) ); -ms-flex-negative: 0; flex-shrink: 0; -ms-flex-item-align: stretch; align-self: stretch; z-index: 1; pointer-events: none; } .e-container.e-container--row > .elementor-widget-placeholder { position: relative; z-index: 9999; width: var(--size); -webkit-margin-start: var(--margin-start); margin-inline-start: var(--margin-start); height: auto; min-height: 100%; -webkit-animation-name: dnd-placeholder-widget-vertical; animation-name: dnd-placeholder-widget-vertical; -webkit-animation-fill-mode: both; animation-fill-mode: both; } .e-container.e-container--row[data-nesting-level]:not([data-nesting-level="0"]) > .elementor-widget-placeholder { -webkit-margin-end: 0; margin-inline-end: 0; -webkit-margin-start: calc(var(--margin-start) + var(--margin-end)); margin-inline-start: calc(var(--margin-start) + var(--margin-end)); } .e-container.e-container--row[data-nesting-level]:not([data-nesting-level="0"]) > :not(.elementor-element) + .elementor-widget-placeholder { -webkit-margin-end: var(--margin-end); margin-inline-end: var(--margin-end); -webkit-margin-start: var(--margin-start); margin-inline-start: var(--margin-start); } .e-container.e-container--column > .elementor-widget-placeholder { height: var(--size); -webkit-margin-before: var(--margin-start); margin-block-start: var(--margin-start); -webkit-margin-after: var(--margin-end); margin-block-end: var(--margin-end); -webkit-animation-name: dnd-placeholder-widget-horizontal; animation-name: dnd-placeholder-widget-horizontal; } .e-container.e-container--column > .elementor-widget-placeholder:nth-last-child(2) { -webkit-margin-before: calc(2 * var(--margin-start)); margin-block-start: calc(2 * var(--margin-start)); --margin-end: 0; } .e-container .elementor-sortable-helper { height: 84px; width: 125px; z-index: -1; } .e-container .elementor-widget.elementor-widget { margin-bottom: 0; } .e-container::before { content: var(--background-overlay); display: block; position: absolute; z-index: 0; width: 100%; height: 100%; left: 0; top: 0; mix-blend-mode: var(--overlay-mix-blend-mode); opacity: var(--overlay-opacity); -webkit-transition: var(--overlay-transition); -o-transition: var(--overlay-transition); transition: var(--overlay-transition); border-radius: var(--border-radius); } .e-container .elementor-widget { min-width: 0; } .e-container .elementor-widget-video, .e-container .elementor-widget-google_maps { -ms-flex-preferred-size: 100%; flex-basis: 100%; } .e-container .elementor-widget.e-widget-swiper { max-width: 100%; -ms-flex-preferred-size: 100%; flex-basis: 100%; } .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-setting, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-setting { position: relative; background-color: #556068; } .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-setting:hover, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-setting:hover { background-color: #495157; } .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-setting.elementor-editor-element-add, .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-setting.elementor-editor-element-edit + .elementor-editor-element-remove, .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-setting:first-child::before, .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-setting:last-child::after, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-setting.elementor-editor-element-add, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-setting.elementor-editor-element-edit + .elementor-editor-element-remove, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-setting:first-child::before, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-setting:last-child::after { display: none; } .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-setting:not(.elementor-editor-element-edit), .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-setting:not(.elementor-editor-element-edit) { -webkit-margin-start: -25px; margin-inline-start: -25px; z-index: -1; -webkit-transition: 0.3s all; -o-transition: 0.3s all; transition: 0.3s all; will-change: margin-inline-start; } .e-container > .e-container > .elementor-element-overlay > .elementor-editor-element-settings:hover > :is(.elementor-editor-element-duplicate, .elementor-editor-element-remove), .elementor-widget .e-container > .elementor-element-overlay > .elementor-editor-element-settings:hover > :is(.elementor-editor-element-duplicate, .elementor-editor-element-remove) { -webkit-margin-start: 0; margin-inline-start: 0; } .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-settings, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-settings { inset: initial; -webkit-transform: none; -ms-transform: none; transform: none; inset-inline-start: 0; top: 0; border-radius: 0; border-end-end-radius: 3px; height: auto; background-color: #556068; } .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-settings:hover, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-settings:hover { background-color: #495157; } .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-settings i.eicon-handle::before, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-settings i.eicon-handle::before { content: "\e9b4"; font-size: 20px; display: block; padding: 2px; } @media (max-width: 767px) { .e-container { --width: 100%; --flex-wrap: wrap; } } @-webkit-keyframes dnd-placeholder-widget-vertical { 0% { -webkit-transform-origin: 0 50%; transform-origin: 0 50%; -webkit-transform: translateX(50%) scaleX(0); transform: translateX(50%) scaleX(0); opacity: 0; } 100% { -webkit-transform-origin: 0 50%; transform-origin: 0 50%; -webkit-transform: translateX(50%) scaleX(1); transform: translateX(50%) scaleX(1); opacity: 0.9; } } @keyframes dnd-placeholder-widget-vertical { 0% { -webkit-transform-origin: 0 50%; transform-origin: 0 50%; -webkit-transform: translateX(50%) scaleX(0); transform: translateX(50%) scaleX(0); opacity: 0; } 100% { -webkit-transform-origin: 0 50%; transform-origin: 0 50%; -webkit-transform: translateX(50%) scaleX(1); transform: translateX(50%) scaleX(1); opacity: 0.9; } } @-webkit-keyframes dnd-placeholder-widget-horizontal { 0% { -webkit-transform-origin: 50% 0; transform-origin: 50% 0; -webkit-transform: scaleY(0); transform: scaleY(0); opacity: 0; } 100% { -webkit-transform-origin: 50% 0; transform-origin: 50% 0; -webkit-transform: scaleY(1); transform: scaleY(1); opacity: 0.9; } } @keyframes dnd-placeholder-widget-horizontal { 0% { -webkit-transform-origin: 50% 0; transform-origin: 50% 0; -webkit-transform: scaleY(0); transform: scaleY(0); opacity: 0; } 100% { -webkit-transform-origin: 50% 0; transform-origin: 50% 0; -webkit-transform: scaleY(1); transform: scaleY(1); opacity: 0.9; } } .elementor-form-fields-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; } .elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group > input, .elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group > textarea, .elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group > .elementor-select-wrapper, .elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group .elementor-field-subgroup { -ms-flex-preferred-size: 100%; flex-basis: 100%; max-width: 100%; } .elementor-form-fields-wrapper.elementor-labels-inline > .elementor-field-group > input, .elementor-form-fields-wrapper.elementor-labels-inline > .elementor-field-group .elementor-select-wrapper { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; } .elementor-field-group { -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .elementor-field-group.elementor-field-type-submit { -webkit-box-align: end; -ms-flex-align: end; align-items: flex-end; } .elementor-field-group .elementor-field-textual { width: 100%; max-width: 100%; border: 1px solid #818a91; background-color: transparent; color: #373a3c; vertical-align: middle; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; } .elementor-field-group .elementor-field-textual:focus { -webkit-box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1) inset; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1) inset; outline: 0; } .elementor-field-group .elementor-field-textual::-webkit-input-placeholder { color: inherit; font-family: inherit; opacity: 0.6; } .elementor-field-group .elementor-field-textual:-ms-input-placeholder { color: inherit; font-family: inherit; opacity: 0.6; } .elementor-field-group .elementor-field-textual::-moz-placeholder { color: inherit; font-family: inherit; opacity: 0.6; } .elementor-field-group .elementor-field-textual:-moz-placeholder { color: inherit; font-family: inherit; opacity: 0.6; } .elementor-field-group .elementor-field-textual::-ms-input-placeholder { color: inherit; font-family: inherit; opacity: 0.6; } .elementor-field-group .elementor-field-textual::placeholder { color: inherit; font-family: inherit; opacity: 0.6; } .elementor-field-group .elementor-select-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; position: relative; width: 100%; } .elementor-field-group .elementor-select-wrapper select { appearance: none; -webkit-appearance: none; -moz-appearance: none; color: inherit; font-size: inherit; font-family: inherit; font-weight: inherit; font-style: inherit; text-transform: inherit; letter-spacing: inherit; line-height: inherit; -ms-flex-preferred-size: 100%; flex-basis: 100%; padding-right: 20px; } .elementor-field-group .elementor-select-wrapper:before { content: "\e92a"; font-family: "eicons"; font-size: 15px; position: absolute; top: 50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); right: 10px; pointer-events: none; text-shadow: 0 0 3px rgba(0, 0, 0, 0.3); } .elementor-field-group.elementor-field-type-select-multiple .elementor-select-wrapper:before { content: ""; } .elementor-field-subgroup { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; } .elementor-field-subgroup .elementor-field-option label { display: inline-block; } .elementor-field-subgroup.elementor-subgroup-inline .elementor-field-option { padding-right: 10px; } .elementor-field-subgroup:not(.elementor-subgroup-inline) .elementor-field-option { -ms-flex-preferred-size: 100%; flex-basis: 100%; } .elementor-field-type-checkbox .elementor-field-subgroup .elementor-field-option input, .elementor-field-type-checkbox .elementor-field-subgroup .elementor-field-option label, .elementor-field-type-radio .elementor-field-subgroup .elementor-field-option input, .elementor-field-type-radio .elementor-field-subgroup .elementor-field-option label, .elementor-field-type-acceptance .elementor-field-subgroup .elementor-field-option input, .elementor-field-type-acceptance .elementor-field-subgroup .elementor-field-option label { display: inline; } .elementor-field-label { cursor: pointer; } .elementor-mark-required .elementor-field-label:after { content: "*"; color: red; padding-left: 0.2em; } .elementor-field-textual { line-height: 1.4; font-size: 15px; min-height: 40px; padding: 5px 14px; border-radius: 3px; } .elementor-field-textual.elementor-size-xs { font-size: 13px; min-height: 33px; padding: 4px 12px; border-radius: 2px; } .elementor-field-textual.elementor-size-md { font-size: 16px; min-height: 47px; padding: 6px 16px; border-radius: 4px; } .elementor-field-textual.elementor-size-lg { font-size: 18px; min-height: 59px; padding: 7px 20px; border-radius: 5px; } .elementor-field-textual.elementor-size-xl { font-size: 20px; min-height: 72px; padding: 8px 24px; border-radius: 6px; } .elementor-button-align-stretch .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button { -ms-flex-preferred-size: 100%; flex-basis: 100%; } .elementor-button-align-stretch .e-form__buttons__wrapper { -ms-flex-preferred-size: 50%; flex-basis: 50%; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; } .elementor-button-align-stretch .e-form__buttons__wrapper__button { -ms-flex-preferred-size: 100%; flex-basis: 100%; } .elementor-button-align-center .elementor-field-type-submit, .elementor-button-align-center .e-form__buttons { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-button-align-start .elementor-field-type-submit, .elementor-button-align-start .e-form__buttons { -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; } .elementor-button-align-end .elementor-field-type-submit, .elementor-button-align-end .e-form__buttons { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; } .elementor-button-align-center .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button, .elementor-button-align-start .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button, .elementor-button-align-end .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button { -ms-flex-preferred-size: initial; flex-basis: initial; } .elementor-button-align-center .e-form__buttons__wrapper, .elementor-button-align-start .e-form__buttons__wrapper, .elementor-button-align-end .e-form__buttons__wrapper { -webkit-box-flex: initial; -ms-flex-positive: initial; flex-grow: initial; } .elementor-button-align-center .e-form__buttons__wrapper, .elementor-button-align-center .e-form__buttons__wrapper__button, .elementor-button-align-start .e-form__buttons__wrapper, .elementor-button-align-start .e-form__buttons__wrapper__button, .elementor-button-align-end .e-form__buttons__wrapper, .elementor-button-align-end .e-form__buttons__wrapper__button { -ms-flex-preferred-size: initial; flex-basis: initial; } @media screen and (max-width: 1024px) { .elementor-tablet-button-align-stretch .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button { -ms-flex-preferred-size: 100%; flex-basis: 100%; } .elementor-tablet-button-align-stretch .e-form__buttons__wrapper { -ms-flex-preferred-size: 50%; flex-basis: 50%; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; } .elementor-tablet-button-align-stretch .e-form__buttons__wrapper__button { -ms-flex-preferred-size: 100%; flex-basis: 100%; } .elementor-tablet-button-align-center .elementor-field-type-submit, .elementor-tablet-button-align-center .e-form__buttons { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-tablet-button-align-start .elementor-field-type-submit, .elementor-tablet-button-align-start .e-form__buttons { -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; } .elementor-tablet-button-align-end .elementor-field-type-submit, .elementor-tablet-button-align-end .e-form__buttons { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; } .elementor-tablet-button-align-center .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button, .elementor-tablet-button-align-start .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button, .elementor-tablet-button-align-end .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button { -ms-flex-preferred-size: initial; flex-basis: initial; } .elementor-tablet-button-align-center .e-form__buttons__wrapper, .elementor-tablet-button-align-start .e-form__buttons__wrapper, .elementor-tablet-button-align-end .e-form__buttons__wrapper { -webkit-box-flex: initial; -ms-flex-positive: initial; flex-grow: initial; } .elementor-tablet-button-align-center .e-form__buttons__wrapper, .elementor-tablet-button-align-center .e-form__buttons__wrapper__button, .elementor-tablet-button-align-start .e-form__buttons__wrapper, .elementor-tablet-button-align-start .e-form__buttons__wrapper__button, .elementor-tablet-button-align-end .e-form__buttons__wrapper, .elementor-tablet-button-align-end .e-form__buttons__wrapper__button { -ms-flex-preferred-size: initial; flex-basis: initial; } } @media screen and (max-width: 767px) { .elementor-mobile-button-align-stretch .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button { -ms-flex-preferred-size: 100%; flex-basis: 100%; } .elementor-mobile-button-align-stretch .e-form__buttons__wrapper { -ms-flex-preferred-size: 50%; flex-basis: 50%; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; } .elementor-mobile-button-align-stretch .e-form__buttons__wrapper__button { -ms-flex-preferred-size: 100%; flex-basis: 100%; } .elementor-mobile-button-align-center .elementor-field-type-submit, .elementor-mobile-button-align-center .e-form__buttons { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-mobile-button-align-start .elementor-field-type-submit, .elementor-mobile-button-align-start .e-form__buttons { -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; } .elementor-mobile-button-align-end .elementor-field-type-submit, .elementor-mobile-button-align-end .e-form__buttons { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; } .elementor-mobile-button-align-center .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button, .elementor-mobile-button-align-start .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button, .elementor-mobile-button-align-end .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button { -ms-flex-preferred-size: initial; flex-basis: initial; } .elementor-mobile-button-align-center .e-form__buttons__wrapper, .elementor-mobile-button-align-start .e-form__buttons__wrapper, .elementor-mobile-button-align-end .e-form__buttons__wrapper { -webkit-box-flex: initial; -ms-flex-positive: initial; flex-grow: initial; } .elementor-mobile-button-align-center .e-form__buttons__wrapper, .elementor-mobile-button-align-center .e-form__buttons__wrapper__button, .elementor-mobile-button-align-start .e-form__buttons__wrapper, .elementor-mobile-button-align-start .e-form__buttons__wrapper__button, .elementor-mobile-button-align-end .e-form__buttons__wrapper, .elementor-mobile-button-align-end .e-form__buttons__wrapper__button { -ms-flex-preferred-size: initial; flex-basis: initial; } } .elementor-error .elementor-field { border-color: #d9534f; } .elementor-error .help-inline { color: #d9534f; font-size: 0.9em; } .elementor-message { margin: 10px 0; font-size: 1em; line-height: 1; } .elementor-message:before { content: "\e90e"; display: inline-block; font-family: eicons; font-weight: normal; font-style: normal; vertical-align: middle; margin-right: 5px; } .elementor-message.elementor-message-danger { color: #d9534f; } .elementor-message.elementor-message-danger:before { content: "\e87f"; } .elementor-message.form-message-success { color: #5cb85c; } .elementor-form .elementor-button { padding-top: 0; padding-bottom: 0; border: none; } .elementor-form .elementor-button > span { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-form .elementor-button.elementor-size-xs { min-height: 33px; } .elementor-form .elementor-button.elementor-size-sm { min-height: 40px; } .elementor-form .elementor-button.elementor-size-md { min-height: 47px; } .elementor-form .elementor-button.elementor-size-lg { min-height: 59px; } .elementor-form .elementor-button.elementor-size-xl { min-height: 72px; } .elementor-element .elementor-widget-container { -webkit-transition: background 0.3s, border 0.3s, border-radius 0.3s, -webkit-box-shadow 0.3s; transition: background 0.3s, border 0.3s, border-radius 0.3s, -webkit-box-shadow 0.3s; -o-transition: background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s; transition: background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s; transition: background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s, -webkit-box-shadow 0.3s; } .elementor-button { display: inline-block; line-height: 1; background-color: #818a91; font-size: 15px; padding: 12px 24px; border-radius: 3px; color: #fff; fill: #fff; text-align: center; -webkit-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; } .elementor-button:hover, .elementor-button:focus, .elementor-button:visited { color: #fff; } .elementor-button-content-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-button-icon { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; } .elementor-button-icon svg { width: 1em; height: auto; } .elementor-button-icon .e-font-icon-svg { height: 1em; } .elementor-button-text { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; -webkit-box-ordinal-group: 11; -ms-flex-order: 10; order: 10; display: inline-block; } .elementor-button.elementor-size-xs { font-size: 13px; padding: 10px 20px; border-radius: 2px; } .elementor-button.elementor-size-md { font-size: 16px; padding: 15px 30px; border-radius: 4px; } .elementor-button.elementor-size-lg { font-size: 18px; padding: 20px 40px; border-radius: 5px; } .elementor-button.elementor-size-xl { font-size: 20px; padding: 25px 50px; border-radius: 6px; } .elementor-button .elementor-align-icon-right { margin-left: 5px; -webkit-box-ordinal-group: 16; -ms-flex-order: 15; order: 15; } .elementor-button .elementor-align-icon-left { margin-right: 5px; -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; } .elementor-button span { text-decoration: inherit; } .elementor-element.elementor-button-info .elementor-button { background-color: #5bc0de; } .elementor-element.elementor-button-success .elementor-button { background-color: #5cb85c; } .elementor-element.elementor-button-warning .elementor-button { background-color: #f0ad4e; } .elementor-element.elementor-button-danger .elementor-button { background-color: #d9534f; } .elementor-widget-button .elementor-button .elementor-button-info { background-color: #5bc0de; } .elementor-widget-button .elementor-button .elementor-button-success { background-color: #5cb85c; } .elementor-widget-button .elementor-button .elementor-button-warning { background-color: #f0ad4e; } .elementor-widget-button .elementor-button .elementor-button-danger { background-color: #d9534f; } .elementor-tab-title a { color: inherit; } .elementor-view-stacked .elementor-icon { padding: 0.5em; background-color: #818a91; color: #fff; fill: #fff; } .elementor-view-framed .elementor-icon { padding: 0.5em; color: #818a91; border: 3px solid #818a91; background-color: transparent; } .elementor-icon { display: inline-block; line-height: 1; -webkit-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; color: #818a91; font-size: 50px; text-align: center; } .elementor-icon:hover { color: #818a91; } .elementor-icon i, .elementor-icon svg { width: 1em; height: 1em; position: relative; display: block; } .elementor-icon i:before, .elementor-icon svg:before { position: absolute; left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); } .elementor-icon i.fad { width: initial; } .elementor-shape-circle .elementor-icon { border-radius: 50%; } .e-transform .elementor-widget-container { -webkit-transform: perspective(var(--e-transform-perspective, 0)) rotateZ(var(--e-transform-rotateZ, 0)) rotateX(var(--e-transform-rotateX, 0)) rotateY(var(--e-transform-rotateY, 0)) translate(var(--e-transform-translate, 0)) translateX(var(--e-transform-translateX, 0)) translateY(var(--e-transform-translateY, 0)) scaleX(calc(var(--e-transform-flipX, 1) * var(--e-transform-scaleX, var(--e-transform-scale, 1)))) scaleY(calc(var(--e-transform-flipY, 1) * var(--e-transform-scaleY, var(--e-transform-scale, 1)))) skewX(var(--e-transform-skewX, 0)) skewY(var(--e-transform-skewY, 0)); transform: perspective(var(--e-transform-perspective, 0)) rotateZ(var(--e-transform-rotateZ, 0)) rotateX(var(--e-transform-rotateX, 0)) rotateY(var(--e-transform-rotateY, 0)) translate(var(--e-transform-translate, 0)) translateX(var(--e-transform-translateX, 0)) translateY(var(--e-transform-translateY, 0)) scaleX(calc(var(--e-transform-flipX, 1) * var(--e-transform-scaleX, var(--e-transform-scale, 1)))) scaleY(calc(var(--e-transform-flipY, 1) * var(--e-transform-scaleY, var(--e-transform-scale, 1)))) skewX(var(--e-transform-skewX, 0)) skewY(var(--e-transform-skewY, 0)); -webkit-transform-origin: var(--e-transform-origin-y) var(--e-transform-origin-x); -ms-transform-origin: var(--e-transform-origin-y) var(--e-transform-origin-x); transform-origin: var(--e-transform-origin-y) var(--e-transform-origin-x); -webkit-transition: -webkit-transform var(--e-transform-transition-duration, 400ms); transition: -webkit-transform var(--e-transform-transition-duration, 400ms); -o-transition: transform var(--e-transform-transition-duration, 400ms); transition: transform var(--e-transform-transition-duration, 400ms); transition: transform var(--e-transform-transition-duration, 400ms), -webkit-transform var(--e-transform-transition-duration, 400ms); } /** * Swiper 3.4.2 * Customized by Elementor team */ .swiper-container { margin-left: auto; margin-right: auto; position: relative; overflow: hidden; /* Fix of Webkit flickering */ z-index: 1; } .swiper-container .swiper-slide figure { line-height: 0; } .swiper-container .elementor-lightbox-content-source { display: none; } .swiper-container-no-flexbox .swiper-slide { float: left; } .swiper-container-vertical > .swiper-wrapper { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; } .swiper-wrapper { position: relative; width: 100%; height: 100%; z-index: 1; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-transition-property: -webkit-transform; transition-property: -webkit-transform; -o-transition-property: transform; transition-property: transform; transition-property: transform, -webkit-transform; -webkit-box-sizing: content-box; box-sizing: content-box; } .swiper-container-android .swiper-slide, .swiper-wrapper { -webkit-transform: translate3d(0px, 0, 0); transform: translate3d(0px, 0, 0); } .swiper-container-multirow > .swiper-wrapper { -ms-flex-wrap: wrap; flex-wrap: wrap; } .swiper-container-free-mode > .swiper-wrapper { -webkit-transition-timing-function: ease-out; -o-transition-timing-function: ease-out; transition-timing-function: ease-out; margin: 0 auto; } .swiper-slide { -ms-flex-negative: 0; flex-shrink: 0; width: 100%; height: 100%; position: relative; } /* Auto Height */ .swiper-container-autoheight { height: auto; } .swiper-container-autoheight .swiper-slide { height: auto; } .swiper-container-autoheight .swiper-wrapper { -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; -webkit-transition-property: height, -webkit-transform; transition-property: height, -webkit-transform; -o-transition-property: transform, height; transition-property: transform, height; transition-property: transform, height, -webkit-transform; } /* a11y */ .swiper-container .swiper-notification { position: absolute; left: 0; top: 0; pointer-events: none; opacity: 0; z-index: -1000; } /* IE10 Windows Phone 8 Fixes */ .swiper-wp8-horizontal { -ms-touch-action: pan-y; touch-action: pan-y; } .swiper-wp8-vertical { -ms-touch-action: pan-x; touch-action: pan-x; } /* Arrows */ .swiper-button-prev, .swiper-button-next { position: absolute; top: 50%; width: 27px; height: 44px; margin-top: -22px; z-index: 10; cursor: pointer; background-size: 27px 44px; background: no-repeat center; } .swiper-button-prev.swiper-button-disabled, .swiper-button-next.swiper-button-disabled { opacity: 0.35; cursor: auto; pointer-events: none; } .swiper-button-prev, .swiper-container-rtl .swiper-button-next { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E"); left: 10px; right: auto; } .swiper-button-prev.swiper-button-black, .swiper-container-rtl .swiper-button-next.swiper-button-black { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); } .swiper-button-prev.swiper-button-white, .swiper-container-rtl .swiper-button-next.swiper-button-white { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); } .swiper-button-next, .swiper-container-rtl .swiper-button-prev { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E"); right: 10px; left: auto; } .swiper-button-next.swiper-button-black, .swiper-container-rtl .swiper-button-prev.swiper-button-black { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); } .swiper-button-next.swiper-button-white, .swiper-container-rtl .swiper-button-prev.swiper-button-white { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); } /* Pagination Styles */ .swiper-pagination { position: absolute; text-align: center; -webkit-transition: 300ms; -o-transition: 300ms; transition: 300ms; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); z-index: 10; } .swiper-pagination.swiper-pagination-hidden { opacity: 0; } /* Common Styles */ .swiper-pagination-fraction, .swiper-pagination-custom, .swiper-container-horizontal > .swiper-pagination-bullets { bottom: 5px; left: 0; width: 100%; } /* Bullets */ .swiper-pagination-bullet { width: 6px; height: 6px; display: inline-block; border-radius: 50%; background: #000; opacity: 0.2; } .swiper-pagination-fraction { color: #000; } button.swiper-pagination-bullet { border: none; margin: 0; padding: 0; -webkit-box-shadow: none; box-shadow: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; } .swiper-pagination-clickable .swiper-pagination-bullet { cursor: pointer; } .swiper-pagination-white .swiper-pagination-bullet { background: #fff; } .swiper-pagination-bullet-active { opacity: 1; } .swiper-pagination-white .swiper-pagination-bullet-active { background: #fff; } .swiper-pagination-black .swiper-pagination-bullet-active { background: #000; } .swiper-container-vertical > .swiper-pagination-bullets { right: 10px; top: 50%; -webkit-transform: translate3d(0px, -50%, 0); transform: translate3d(0px, -50%, 0); } .swiper-container-vertical > .swiper-pagination-bullets .swiper-pagination-bullet { margin: 5px 0; display: block; } .swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet { margin: 0 6px; } /* Progressbar */ .swiper-pagination-progressbar { background: rgba(0, 0, 0, 0.25); position: absolute; } .swiper-pagination-progressbar .swiper-pagination-progressbar-fill { background: #000; position: absolute; left: 0; top: 0; width: 100%; height: 100%; -webkit-transform: scale(0); -ms-transform: scale(0); transform: scale(0); -webkit-transform-origin: left top; -ms-transform-origin: left top; transform-origin: left top; } .swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill { -webkit-transform-origin: right top; -ms-transform-origin: right top; transform-origin: right top; } .swiper-container-horizontal > .swiper-pagination-progressbar { width: 100%; height: 4px; left: 0; top: 0; } .swiper-container-vertical > .swiper-pagination-progressbar { width: 4px; height: 100%; left: 0; top: 0; } .swiper-pagination-progressbar.swiper-pagination-white { background: rgba(255, 255, 255, 0.5); } .swiper-pagination-progressbar.swiper-pagination-white .swiper-pagination-progressbar-fill { background: #fff; } .swiper-pagination-progressbar.swiper-pagination-black .swiper-pagination-progressbar-fill { background: #000; } /* 3D Container */ .swiper-container-3d { -webkit-perspective: 1200px; perspective: 1200px; } .swiper-container-3d .swiper-wrapper, .swiper-container-3d .swiper-slide, .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top, .swiper-container-3d .swiper-slide-shadow-bottom, .swiper-container-3d .swiper-cube-shadow { -webkit-transform-style: preserve-3d; transform-style: preserve-3d; } .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top, .swiper-container-3d .swiper-slide-shadow-bottom { position: absolute; left: 0; top: 0; width: 100%; height: 100%; pointer-events: none; z-index: 10; } .swiper-container-3d .swiper-slide-shadow-left { background-image: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0))); background-image: -o-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); } .swiper-container-3d .swiper-slide-shadow-right { background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0))); background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); } .swiper-container-3d .swiper-slide-shadow-top { background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0))); background-image: -o-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); } .swiper-container-3d .swiper-slide-shadow-bottom { background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0))); background-image: -o-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); } /* Coverflow */ .swiper-container-coverflow .swiper-wrapper, .swiper-container-flip .swiper-wrapper { /* Windows 8 IE 10 fix */ -ms-perspective: 1200px; } /* Cube + Flip */ .swiper-container-cube, .swiper-container-flip { overflow: visible; } .swiper-container-cube .swiper-slide, .swiper-container-flip .swiper-slide { pointer-events: none; z-index: 1; } .swiper-container-cube .swiper-slide .swiper-slide, .swiper-container-flip .swiper-slide .swiper-slide { pointer-events: none; } .swiper-container-cube .swiper-slide-active, .swiper-container-flip .swiper-slide-active, .swiper-container-cube .swiper-slide-active .swiper-slide-active, .swiper-container-flip .swiper-slide-active .swiper-slide-active { pointer-events: auto; } .swiper-container-cube .swiper-slide-shadow-top, .swiper-container-flip .swiper-slide-shadow-top, .swiper-container-cube .swiper-slide-shadow-bottom, .swiper-container-flip .swiper-slide-shadow-bottom, .swiper-container-cube .swiper-slide-shadow-left, .swiper-container-flip .swiper-slide-shadow-left, .swiper-container-cube .swiper-slide-shadow-right, .swiper-container-flip .swiper-slide-shadow-right { z-index: 0; -webkit-backface-visibility: hidden; backface-visibility: hidden; } /* Cube */ .swiper-container-cube .swiper-slide { visibility: hidden; -webkit-transform-origin: 0 0; -ms-transform-origin: 0 0; transform-origin: 0 0; width: 100%; height: 100%; } .swiper-container-cube.swiper-container-rtl .swiper-slide { -webkit-transform-origin: 100% 0; -ms-transform-origin: 100% 0; transform-origin: 100% 0; } .swiper-container-cube .swiper-slide-active, .swiper-container-cube .swiper-slide-next, .swiper-container-cube .swiper-slide-prev, .swiper-container-cube .swiper-slide-next + .swiper-slide { pointer-events: auto; visibility: visible; } .swiper-container-cube .swiper-cube-shadow { position: absolute; left: 0; bottom: 0; width: 100%; height: 100%; background: #000; opacity: 0.6; -webkit-filter: blur(50px); filter: blur(50px); z-index: 0; } /* Fade */ .swiper-container-fade.swiper-container-free-mode .swiper-slide { -webkit-transition-timing-function: ease-out; -o-transition-timing-function: ease-out; transition-timing-function: ease-out; } .swiper-container-fade .swiper-slide { pointer-events: none; -webkit-transition-property: opacity; -o-transition-property: opacity; transition-property: opacity; } .swiper-container-fade .swiper-slide .swiper-slide { pointer-events: none; } .swiper-container-fade .swiper-slide-active { pointer-events: auto; } .swiper-container-fade .swiper-slide-active .swiper-slide-active { pointer-events: auto; } .swiper-zoom-container { width: 100%; height: 100%; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; text-align: center; } .swiper-zoom-container > img, .swiper-zoom-container > svg, .swiper-zoom-container > canvas { max-width: 100%; max-height: 100%; -o-object-fit: contain; object-fit: contain; } /* Scrollbar */ .swiper-scrollbar { border-radius: 10px; position: relative; -ms-touch-action: none; background: rgba(0, 0, 0, 0.1); } .swiper-container-horizontal > .swiper-scrollbar { position: absolute; left: 1%; bottom: 3px; z-index: 50; height: 5px; width: 98%; } .swiper-container-vertical > .swiper-scrollbar { position: absolute; right: 3px; top: 1%; z-index: 50; width: 5px; height: 98%; } .swiper-scrollbar-drag { height: 100%; width: 100%; position: relative; background: rgba(0, 0, 0, 0.5); border-radius: 10px; left: 0; top: 0; } .swiper-scrollbar-cursor-drag { cursor: move; } .elementor-pagination-position-outside .swiper-container { padding-bottom: 30px; } .elementor-pagination-position-outside .elementor-swiper-button { top: calc(50% - 30px / 2); } .elementor-swiper { position: relative; } .elementor-main-swiper { position: static; } .elementor-arrows-position-outside .swiper-container { width: calc(100% - 60px); } .elementor-arrows-position-outside .elementor-swiper-button-prev { left: 0; } .elementor-arrows-position-outside .elementor-swiper-button-next { right: 0; } .swiper-image-stretch .swiper-slide .swiper-slide-image { width: 100%; } .elementor-swiper-button { position: absolute; display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; z-index: 1; cursor: pointer; font-size: 25px; color: rgba(238, 238, 238, 0.9); top: 50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); } .elementor-swiper-button svg { fill: rgba(238, 238, 238, 0.9); height: 1em; width: 1em; } .elementor-swiper-button-prev { left: 10px; } .elementor-swiper-button-next { right: 10px; } .elementor-swiper-button.swiper-button-disabled { opacity: 0.3; } .swiper-container-cube .elementor-swiper-button { -webkit-transform: translate3d(0, -50%, 1px); transform: translate3d(0, -50%, 1px); } /* Preloader */ .swiper-lazy-preloader { width: 42px; height: 42px; position: absolute; left: 50%; top: 50%; margin-left: -21px; margin-top: -21px; z-index: 10; -webkit-transform-origin: 50%; -ms-transform-origin: 50%; transform-origin: 50%; -webkit-animation: swiper-preloader-spin 1s steps(12, end) infinite; animation: swiper-preloader-spin 1s steps(12, end) infinite; } .swiper-lazy-preloader:after { display: block; content: ""; width: 100%; height: 100%; background-size: 100%; background: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat 50%; } .swiper-lazy-preloader-white:after { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); } @-webkit-keyframes swiper-preloader-spin { 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } @keyframes swiper-preloader-spin { 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } .elementor-lightbox { --lightbox-ui-color: rgba(238, 238, 238, 0.9); --lightbox-ui-color-hover: #fff; --lightbox-text-color: var(--lightbox-ui-color); --lightbox-header-icons-size: 20px; --lightbox-navigation-icons-size: 25px; } .elementor-lightbox .dialog-header { display: none; } .elementor-lightbox .dialog-widget-content { background: none; -webkit-box-shadow: none; box-shadow: none; width: 100%; height: 100%; } .elementor-lightbox .dialog-message { -webkit-animation-duration: 0.3s; animation-duration: 0.3s; } .elementor-lightbox .dialog-message:not(.elementor-fit-aspect-ratio) { height: 100%; } .elementor-lightbox .dialog-message.dialog-lightbox-message { padding: 0; } .elementor-lightbox .dialog-lightbox-close-button { cursor: pointer; position: absolute; font-size: var(--lightbox-header-icons-size); right: 0.75em; margin-top: 13px; padding: 0.25em; z-index: 2; line-height: 1; display: -webkit-box; display: -ms-flexbox; display: flex; } .elementor-lightbox .dialog-lightbox-close-button svg { height: 1em; width: 1em; } .elementor-lightbox .dialog-lightbox-close-button, .elementor-lightbox .elementor-swiper-button { color: var(--lightbox-ui-color); -webkit-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; opacity: 1; } .elementor-lightbox .dialog-lightbox-close-button svg, .elementor-lightbox .elementor-swiper-button svg { fill: var(--lightbox-ui-color); } .elementor-lightbox .dialog-lightbox-close-button:hover, .elementor-lightbox .elementor-swiper-button:hover { color: var(--lightbox-ui-color-hover); } .elementor-lightbox .dialog-lightbox-close-button:hover svg, .elementor-lightbox .elementor-swiper-button:hover svg { fill: var(--lightbox-ui-color-hover); } .elementor-lightbox .swiper-container { height: 100%; } .elementor-lightbox .elementor-lightbox-item { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; position: relative; padding: 70px; -webkit-box-sizing: border-box; box-sizing: border-box; height: 100%; margin: auto; } @media (max-width: 767px) { .elementor-lightbox .elementor-lightbox-item { padding: 70px 0; } } .elementor-lightbox .elementor-lightbox-image { max-height: 100%; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .elementor-lightbox .elementor-lightbox-image, .elementor-lightbox .elementor-lightbox-image:hover { opacity: 1; -webkit-filter: none; filter: none; border: none; } .elementor-lightbox .elementor-lightbox-image, .elementor-lightbox .elementor-video-container { -webkit-box-shadow: 0 0 30px rgba(0, 0, 0, 0.3), 0 0 8px -5px rgba(0, 0, 0, 0.3); box-shadow: 0 0 30px rgba(0, 0, 0, 0.3), 0 0 8px -5px rgba(0, 0, 0, 0.3); border-radius: 2px; } .elementor-lightbox .elementor-video-container { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); } @media (min-width: 1025px) { .elementor-lightbox .elementor-video-container { width: 75%; } } @media (max-width: 1024px) { .elementor-lightbox .elementor-video-container { width: 100%; } } @media (min-width: 768px) and (max-width: 1024px) { .elementor-lightbox .elementor-aspect-ratio-916 .elementor-video-container { width: 70%; } } .elementor-lightbox .elementor-swiper-button:focus { outline-width: 1px; } .elementor-lightbox .elementor-swiper-button-prev, .elementor-lightbox .elementor-swiper-button-next { height: 100%; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; width: 15%; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; font-size: var(--lightbox-navigation-icons-size); } .elementor-lightbox .elementor-swiper-button-prev { left: 0; } .elementor-lightbox .elementor-swiper-button-next { right: 0; } @media (max-width: 767px) { .elementor-lightbox .elementor-swiper-button:focus { outline: none; } .elementor-lightbox .elementor-swiper-button-prev, .elementor-lightbox .elementor-swiper-button-next { width: 20%; } .elementor-lightbox .elementor-swiper-button-prev i, .elementor-lightbox .elementor-swiper-button-next i { padding: 10px; background-color: rgba(0, 0, 0, 0.5); } .elementor-lightbox .elementor-swiper-button-prev { left: 0; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; } .elementor-lightbox .elementor-swiper-button-next { right: 0; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; } } .elementor-slideshow__counter { color: currentColor; font-size: 0.75em; width: -webkit-max-content; width: -moz-max-content; width: max-content; } .elementor-slideshow__header, .elementor-slideshow__footer { position: absolute; left: 0; width: 100%; padding: 15px 20px; -webkit-transition: 0.3s; -o-transition: 0.3s; transition: 0.3s; } .elementor-slideshow__footer { color: var(--lightbox-text-color); } .elementor-slideshow__header { color: var(--lightbox-ui-color); display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; font-size: var(--lightbox-header-icons-size); padding-left: 1em; padding-right: 2.6em; top: 0; -webkit-box-align: center; -ms-flex-align: center; align-items: center; z-index: 10; } .elementor-slideshow__header > i, .elementor-slideshow__header > svg { cursor: pointer; padding: 0.25em; margin: 0 0.35em; } .elementor-slideshow__header > i { font-size: inherit; } .elementor-slideshow__header > i:hover { color: var(--lightbox-ui-color-hover); } .elementor-slideshow__header > svg { -webkit-box-sizing: content-box; box-sizing: content-box; fill: var(--lightbox-ui-color); height: 1em; width: 1em; } .elementor-slideshow__header > svg:hover { fill: var(--lightbox-ui-color-hover); } .elementor-slideshow__header .elementor-slideshow__counter { margin-right: auto; } .elementor-slideshow__header .elementor-icon-share { z-index: 5; } .elementor-slideshow__share-menu { background-color: rgba(0, 0, 0, 0); width: 0; height: 0; position: absolute; overflow: hidden; -webkit-transition: background-color 400ms; -o-transition: background-color 400ms; transition: background-color 400ms; } .elementor-slideshow__share-menu .elementor-slideshow__share-links a { color: #2C2C2C; } .elementor-slideshow__share-links { display: block; position: absolute; min-width: 200px; right: 2.8em; top: 3em; background-color: #fff; border-radius: 3px; padding: 14px 20px; -webkit-transform: scale(0); -ms-transform: scale(0); transform: scale(0); opacity: 0; -webkit-transform-origin: 90% 10%; -ms-transform-origin: 90% 10%; transform-origin: 90% 10%; -webkit-transition: all 250ms 100ms; -o-transition: all 250ms 100ms; transition: all 250ms 100ms; -webkit-box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3); box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3); } .elementor-slideshow__share-links a { text-align: left; color: #55595c; font-size: 12px; line-height: 2.5; display: block; opacity: 0; -webkit-transition: opacity 500ms 100ms; -o-transition: opacity 500ms 100ms; transition: opacity 500ms 100ms; } .elementor-slideshow__share-links a:hover { color: #000; } .elementor-slideshow__share-links a i, .elementor-slideshow__share-links a svg { margin-right: 0.75em; } .elementor-slideshow__share-links a i { font-size: 1.25em; } .elementor-slideshow__share-links a svg { height: 1.25em; width: 1.25em; } .elementor-slideshow__share-links:before { content: ""; display: block; position: absolute; top: 1px; right: 0.5em; border: 0.45em solid; border-color: transparent transparent #fff transparent; -webkit-transform: translateY(-100%) scaleX(0.7); -ms-transform: translateY(-100%) scaleX(0.7); transform: translateY(-100%) scaleX(0.7); } .elementor-slideshow__footer { bottom: 0; z-index: 5; position: fixed; } .elementor-slideshow__title, .elementor-slideshow__description { margin: 0; } .elementor-slideshow__title { font-size: 16px; font-weight: bold; } .elementor-slideshow__description { font-size: 14px; } .elementor-slideshow--ui-hidden .elementor-slideshow__header, .elementor-slideshow--ui-hidden .elementor-slideshow__footer { opacity: 0; pointer-events: none; } .elementor-slideshow--ui-hidden .elementor-swiper-button-prev, .elementor-slideshow--ui-hidden .elementor-swiper-button-next { opacity: 0; } .elementor-slideshow--fullscreen-mode .elementor-video-container { width: 100%; } .elementor-slideshow--zoom-mode .elementor-slideshow__header, .elementor-slideshow--zoom-mode .elementor-slideshow__footer { background-color: rgba(0, 0, 0, 0.5); } .elementor-slideshow--zoom-mode .elementor-swiper-button-prev, .elementor-slideshow--zoom-mode .elementor-swiper-button-next { opacity: 0; pointer-events: none; } .elementor-slideshow--share-mode .elementor-slideshow__share-menu { top: 0; left: 0; width: 100vw; height: 100vh; opacity: 1; cursor: default; background-color: rgba(0, 0, 0, 0.5); } .elementor-slideshow--share-mode .elementor-slideshow__share-links { -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1); } .elementor-slideshow--share-mode .elementor-slideshow__share-links, .elementor-slideshow--share-mode .elementor-slideshow__share-links a { opacity: 1; } .elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-twitter { color: #1DA1F2; } .elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-facebook { color: #3b5998; } .elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-pinterest { color: #bd081c; } .elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-download-bold { color: #a4afb7; } .elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-twitter { fill: #1DA1F2; } .elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-facebook { fill: #3b5998; } .elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-pinterest { fill: #bd081c; } .elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-download-bold { fill: #a4afb7; } .elementor-slideshow--share-mode .eicon-share-arrow { z-index: 2; } .animated { -webkit-animation-duration: 1.25s; animation-duration: 1.25s; } .animated.animated-slow { -webkit-animation-duration: 2s; animation-duration: 2s; } .animated.animated-fast { -webkit-animation-duration: 0.75s; animation-duration: 0.75s; } .animated.infinite { -webkit-animation-iteration-count: infinite; animation-iteration-count: infinite; } .animated.reverse { animation-direction: reverse; -webkit-animation-fill-mode: forwards; animation-fill-mode: forwards; } @media (prefers-reduced-motion: reduce) { .animated { -webkit-animation: none; animation: none; } } .elementor-shape { overflow: hidden; position: absolute; left: 0; width: 100%; line-height: 0; direction: ltr; /* * @TODO: The `z-index: -1` rules below are temporary fixes for Chrome 85 issue. * It will be removed in a future version of Chrome. */ } .elementor-shape-top { top: -1px; } .elementor-shape-top:not([data-negative=false]) svg { z-index: -1; } .elementor-shape-bottom { bottom: -1px; } .elementor-shape-bottom:not([data-negative=true]) svg { z-index: -1; } .elementor-shape[data-negative=false].elementor-shape-bottom { -webkit-transform: rotate(180deg); -ms-transform: rotate(180deg); transform: rotate(180deg); } .elementor-shape[data-negative=true].elementor-shape-top { -webkit-transform: rotate(180deg); -ms-transform: rotate(180deg); transform: rotate(180deg); } .elementor-shape svg { display: block; width: calc(100% + 1.3px); position: relative; left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); } .elementor-shape .elementor-shape-fill { fill: #fff; -webkit-transform-origin: center; -ms-transform-origin: center; transform-origin: center; -webkit-transform: rotateY(0deg); transform: rotateY(0deg); } #wp-admin-bar-elementor_edit_page > .ab-item::before { content: "\e813"; font-family: eicons; top: 3px; font-size: 18px; } #wp-admin-bar-elementor_edit_page .ab-submenu .ab-item { display: -webkit-box; display: -ms-flexbox; display: flex; width: 200px; } #wp-admin-bar-elementor_edit_page .elementor-edit-link-title { white-space: nowrap; -o-text-overflow: ellipsis; text-overflow: ellipsis; overflow: hidden; width: 100%; } #wp-admin-bar-elementor_edit_page .elementor-edit-link-type { background: #55595c; font-size: 11px; line-height: 9px; margin-top: 6px; padding: 4px 8px; border-radius: 3px; } #wp-admin-bar-elementor_inspector > .ab-item::before { content: "\f348"; top: 2px; } #wpadminbar * { font-style: normal; } .page-template-elementor_canvas.elementor-page:before { display: none; } .elementor-post__thumbnail__link { -webkit-transition: none; -o-transition: none; transition: none; } #left-area ul.elementor-icon-list-items, .elementor .elementor-element ul.elementor-icon-list-items, .elementor-edit-area .elementor-element ul.elementor-icon-list-items { padding: 0; } .e--ua-appleWebkit.rtl { --flex-right: flex-start; } .e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-right, .e--ua-appleWebkit .elementor-share-buttons--align-right { --justify-content: var(--flex-right, flex-end); } .e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-center, .e--ua-appleWebkit .elementor-share-buttons--align-center { --justify-content: center; } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-right .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-center .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-right .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-center .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-justify .elementor-grid { width: auto; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: var(--justify-content, space-between); -ms-flex-pack: var(--justify-content, space-between); justify-content: var(--justify-content, space-between); margin-left: calc(-0.5 * var(--grid-column-gap)); margin-right: calc(-0.5 * var(--grid-column-gap)); } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-right .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-center .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-right .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-center .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-justify .elementor-grid-item { margin-left: calc(0.5 * var(--grid-column-gap)); margin-right: calc(0.5 * var(--grid-column-gap)); } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-left .elementor-grid { display: inline-block; } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-left .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-left .elementor-grid-item { margin-left: 0; margin-right: 0; } @media (max-width: 1024px) { .e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-tablet-right, .e--ua-appleWebkit .elementor-share-buttons-tablet--align-right { --justify-content: var(--flex-right, flex-end); } .e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-tablet-center, .e--ua-appleWebkit .elementor-share-buttons-tablet--align-center { --justify-content: center; } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-right .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-center .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-right .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-center .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-justify .elementor-grid { width: auto; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: var(--justify-content, space-between); -ms-flex-pack: var(--justify-content, space-between); justify-content: var(--justify-content, space-between); margin-left: calc(-0.5 * var(--grid-column-gap)); margin-right: calc(-0.5 * var(--grid-column-gap)); } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-right .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-center .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-right .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-center .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-justify .elementor-grid-item { margin-left: calc(0.5 * var(--grid-column-gap)); margin-right: calc(0.5 * var(--grid-column-gap)); } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-tablet--align-left .elementor-grid { display: inline-block; } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-left .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-tablet--align-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-tablet--align-left .elementor-grid-item { margin-left: 0; margin-right: 0; } } @media (max-width: 767px) { .e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-mobile-right, .e--ua-appleWebkit .elementor-share-buttons-mobile--align-right { --justify-content: var(--flex-right, flex-end); } .e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-mobile-center, .e--ua-appleWebkit .elementor-share-buttons-mobile--align-center { --justify-content: center; } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-right .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-center .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-right .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-center .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-justify .elementor-grid { width: auto; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: var(--justify-content, space-between); -ms-flex-pack: var(--justify-content, space-between); justify-content: var(--justify-content, space-between); margin-left: calc(-0.5 * var(--grid-column-gap)); margin-right: calc(-0.5 * var(--grid-column-gap)); } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-right .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-center .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-right .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-center .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-justify .elementor-grid-item { margin-left: calc(0.5 * var(--grid-column-gap)); margin-right: calc(0.5 * var(--grid-column-gap)); } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-mobile--align-left .elementor-grid { display: inline-block; } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-left .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-mobile--align-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-mobile--align-left .elementor-grid-item { margin-left: 0; margin-right: 0; } } @media (max-width: 767px) { .elementor .elementor-hidden-mobile { display: none; } .elementor .elementor-hidden-phone { display: none; } } @media (min-width: -1px) and (max-width: -1px) { .elementor .elementor-hidden-mobile_extra { display: none; } } @media (min-width: 768px) and (max-width: 1024px) { .elementor .elementor-hidden-tablet { display: none; } } @media (min-width: -1px) and (max-width: -1px) { .elementor .elementor-hidden-tablet_extra { display: none; } } @media (min-width: -1px) and (max-width: -1px) { .elementor .elementor-hidden-laptop { display: none; } } @media (min-width: 1025px) and (max-width: 99999px) { .elementor .elementor-hidden-desktop { display: none; } } @media (min-width: -1px) { .elementor .elementor-hidden-widescreen { display: none; } } .elementor-widget-text-path { font-size: 20px; text-align: var(--alignment, left); } .elementor-widget-text-path svg { width: var(--width); max-width: 100%; height: auto; overflow: visible; word-spacing: var(--word-spacing); -webkit-transform: rotate(var(--rotate, 0)) scaleX(var(--scale-x, 1)) scaleY(var(--scale-y, 1)); -ms-transform: rotate(var(--rotate, 0)) scaleX(var(--scale-x, 1)) scaleY(var(--scale-y, 1)); transform: rotate(var(--rotate, 0)) scaleX(var(--scale-x, 1)) scaleY(var(--scale-y, 1)); } .elementor-widget-text-path svg path { vector-effect: non-scaling-stroke; /* Prevent stroke size scaling when resizing the SVG. */ fill: var(--path-fill, transparent); stroke: var(--stroke-color, transparent); stroke-width: var(--stroke-width, 1px); -webkit-transition: var(--stroke-transition) stroke, var(--stroke-transition) fill; -o-transition: var(--stroke-transition) stroke, var(--stroke-transition) fill; transition: var(--stroke-transition) stroke, var(--stroke-transition) fill; } .elementor-widget-text-path svg:hover path { --path-fill: var( --path-fill-hover ); --stroke-color: var( --stroke-color-hover ); --stroke-width: var( --stroke-width-hover ); } .elementor-widget-text-path svg text { --fill: var( --text-color ); fill: var(--fill); direction: var(--direction, ltr); -webkit-transition: var(--transition) stroke, var(--transition) stroke-width, var(--transition) fill; -o-transition: var(--transition) stroke, var(--transition) stroke-width, var(--transition) fill; transition: var(--transition) stroke, var(--transition) stroke-width, var(--transition) fill; } .elementor-widget-text-path svg text:hover { --color: var( --text-color-hover, var( --text-color ) ); --fill: var( --color ); color: var(--color); } .elementor-accordion { text-align: left; } .elementor-accordion .elementor-accordion-item { border: 1px solid #D4D4D4; } .elementor-accordion .elementor-accordion-item + .elementor-accordion-item { border-top: none; } .elementor-accordion .elementor-tab-title { margin: 0; padding: 15px 20px; font-weight: bold; line-height: 1; cursor: pointer; outline: none; } .elementor-accordion .elementor-tab-title .elementor-accordion-icon { display: inline-block; width: 1.5em; } .elementor-accordion .elementor-tab-title .elementor-accordion-icon svg { width: 1em; height: 1em; } .elementor-accordion .elementor-tab-title .elementor-accordion-icon.elementor-accordion-icon-right { float: right; text-align: right; } .elementor-accordion .elementor-tab-title .elementor-accordion-icon.elementor-accordion-icon-left { float: left; text-align: left; } .elementor-accordion .elementor-tab-title .elementor-accordion-icon .elementor-accordion-icon-closed { display: block; } .elementor-accordion .elementor-tab-title .elementor-accordion-icon .elementor-accordion-icon-opened { display: none; } .elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon-closed { display: none; } .elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon-opened { display: block; } .elementor-accordion .elementor-tab-content { display: none; padding: 15px 20px; border-top: 1px solid #D4D4D4; } @media (max-width: 767px) { .elementor-accordion .elementor-tab-title { padding: 12px 15px; } .elementor-accordion .elementor-tab-title .elementor-accordion-icon { width: 1.2em; } .elementor-accordion .elementor-tab-content { padding: 7px 15px; } } .elementor-alert { padding: 15px; border-left: 5px solid transparent; position: relative; text-align: left; } .elementor-alert .elementor-alert-title { display: block; font-weight: bold; } .elementor-alert .elementor-alert-description { font-size: 13px; } .elementor-alert button.elementor-alert-dismiss { position: absolute; right: 10px; top: 10px; padding: 3px; font-size: 20px; line-height: 1; background: transparent; color: inherit; border: none; cursor: pointer; } .elementor-alert.elementor-alert-info { color: #31708f; background-color: #d9edf7; border-color: #bcdff1; } .elementor-alert.elementor-alert-success { color: #3c763d; background-color: #dff0d8; border-color: #cae6be; } .elementor-alert.elementor-alert-warning { color: #8a6d3b; background-color: #fcf8e3; border-color: #f9f0c3; } .elementor-alert.elementor-alert-danger { color: #a94442; background-color: #f2dede; border-color: #e8c4c4; } @media (max-width: 767px) { .elementor-alert { padding: 10px; } .elementor-alert button.elementor-alert-dismiss { right: 7px; top: 7px; } } .elementor-counter .elementor-counter-number-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; font-size: 69px; font-weight: 600; line-height: 1; } .elementor-counter .elementor-counter-number-prefix, .elementor-counter .elementor-counter-number-suffix { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; white-space: pre-wrap; } .elementor-counter .elementor-counter-number-prefix { text-align: right; } .elementor-counter .elementor-counter-number-suffix { text-align: left; } .elementor-counter .elementor-counter-title { text-align: center; font-size: 19px; font-weight: 400; line-height: 2.5; } .elementor-widget-divider { --divider-border-style: none; --divider-border-width: 1px; --divider-color: #2C2C2C; --divider-icon-size: 20px; --divider-element-spacing: 10px; --divider-pattern-height: 24px; --divider-pattern-size: 20px; --divider-pattern-url: none; --divider-pattern-repeat: repeat-x; } .elementor-widget-divider .elementor-divider { display: -webkit-box; display: -ms-flexbox; display: flex; } .elementor-widget-divider .elementor-divider__text { font-size: 15px; line-height: 1; max-width: 95%; } .elementor-widget-divider .elementor-divider__element { margin: 0 var(--divider-element-spacing); -ms-flex-negative: 0; flex-shrink: 0; } .elementor-widget-divider .elementor-icon { font-size: var(--divider-icon-size); } .elementor-widget-divider .elementor-divider-separator { display: -webkit-box; display: -ms-flexbox; display: flex; margin: 0; direction: ltr; } .elementor-widget-divider--view-line_text .elementor-divider-separator, .elementor-widget-divider--view-line_icon .elementor-divider-separator { -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .elementor-widget-divider--view-line_text .elementor-divider-separator:before, .elementor-widget-divider--view-line_text .elementor-divider-separator:after, .elementor-widget-divider--view-line_icon .elementor-divider-separator:before, .elementor-widget-divider--view-line_icon .elementor-divider-separator:after { display: block; content: ""; border-bottom: 0; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; border-top: var(--divider-border-width) var(--divider-border-style) var(--divider-color); } .elementor-widget-divider--element-align-left .elementor-divider .elementor-divider-separator > .elementor-divider__svg:first-of-type { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; -ms-flex-negative: 100; flex-shrink: 100; } .elementor-widget-divider--element-align-left .elementor-divider-separator:before { content: none; } .elementor-widget-divider--element-align-left .elementor-divider__element { margin-left: 0; } .elementor-widget-divider--element-align-right .elementor-divider .elementor-divider-separator > .elementor-divider__svg:last-of-type { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; -ms-flex-negative: 100; flex-shrink: 100; } .elementor-widget-divider--element-align-right .elementor-divider-separator:after { content: none; } .elementor-widget-divider--element-align-right .elementor-divider__element { margin-right: 0; } .elementor-widget-divider:not(.elementor-widget-divider--view-line_text):not(.elementor-widget-divider--view-line_icon) .elementor-divider-separator { border-top: var(--divider-border-width) var(--divider-border-style) var(--divider-color); } .elementor-widget-divider--separator-type-pattern { --divider-border-style: none; } .elementor-widget-divider--separator-type-pattern.elementor-widget-divider--view-line .elementor-divider-separator, .elementor-widget-divider--separator-type-pattern:not([class*=elementor-widget-divider--view]) .elementor-divider-separator, .elementor-widget-divider--separator-type-pattern:not(.elementor-widget-divider--view-line) .elementor-divider-separator:before, .elementor-widget-divider--separator-type-pattern:not(.elementor-widget-divider--view-line) .elementor-divider-separator:after { width: 100%; min-height: var(--divider-pattern-height); -webkit-mask-size: var(--divider-pattern-size) 100%; mask-size: var(--divider-pattern-size) 100%; -webkit-mask-repeat: var(--divider-pattern-repeat); mask-repeat: var(--divider-pattern-repeat); background-color: var(--divider-color); -webkit-mask-image: var(--divider-pattern-url); mask-image: var(--divider-pattern-url); } .elementor-widget-divider--no-spacing { --divider-pattern-size: auto; } .elementor-widget-divider--bg-round { --divider-pattern-repeat: round; } .rtl .elementor-widget-divider .elementor-divider__text { direction: rtl; } .elementor-image-gallery .gallery-item { display: inline-block; text-align: center; vertical-align: top; width: 100%; max-width: 100%; margin: 0 auto; } .elementor-image-gallery .gallery-item img { margin: 0 auto; } .elementor-image-gallery .gallery-item .gallery-caption { margin: 0; } .elementor-image-gallery figure img { display: block; } .elementor-image-gallery figure figcaption { width: 100%; } .gallery-spacing-custom .elementor-image-gallery .gallery-icon { padding: 0; } @media (min-width: 768px) { .elementor-image-gallery .gallery-columns-2 .gallery-item { max-width: 50%; } .elementor-image-gallery .gallery-columns-3 .gallery-item { max-width: 33.33%; } .elementor-image-gallery .gallery-columns-4 .gallery-item { max-width: 25%; } .elementor-image-gallery .gallery-columns-5 .gallery-item { max-width: 20%; } .elementor-image-gallery .gallery-columns-6 .gallery-item { max-width: 16.666%; } .elementor-image-gallery .gallery-columns-7 .gallery-item { max-width: 14.28%; } .elementor-image-gallery .gallery-columns-8 .gallery-item { max-width: 12.5%; } .elementor-image-gallery .gallery-columns-9 .gallery-item { max-width: 11.11%; } .elementor-image-gallery .gallery-columns-10 .gallery-item { max-width: 10%; } } @media (min-width: 480px) and (max-width: 767px) { .elementor-image-gallery .gallery.gallery-columns-2 .gallery-item, .elementor-image-gallery .gallery.gallery-columns-3 .gallery-item, .elementor-image-gallery .gallery.gallery-columns-4 .gallery-item, .elementor-image-gallery .gallery.gallery-columns-5 .gallery-item, .elementor-image-gallery .gallery.gallery-columns-6 .gallery-item, .elementor-image-gallery .gallery.gallery-columns-7 .gallery-item, .elementor-image-gallery .gallery.gallery-columns-8 .gallery-item, .elementor-image-gallery .gallery.gallery-columns-9 .gallery-item, .elementor-image-gallery .gallery.gallery-columns-10 .gallery-item { max-width: 50%; } } @media (max-width: 479px) { .elementor-image-gallery .gallery.gallery-columns-2 .gallery-item, .elementor-image-gallery .gallery.gallery-columns-3 .gallery-item, .elementor-image-gallery .gallery.gallery-columns-4 .gallery-item, .elementor-image-gallery .gallery.gallery-columns-5 .gallery-item, .elementor-image-gallery .gallery.gallery-columns-6 .gallery-item, .elementor-image-gallery .gallery.gallery-columns-7 .gallery-item, .elementor-image-gallery .gallery.gallery-columns-8 .gallery-item, .elementor-image-gallery .gallery.gallery-columns-9 .gallery-item, .elementor-image-gallery .gallery.gallery-columns-10 .gallery-item { max-width: 100%; } } .elementor-widget-google_maps .elementor-widget-container { overflow: hidden; } .elementor-widget-google_maps iframe { height: 300px; } .elementor-heading-title { padding: 0; margin: 0; line-height: 1; } .elementor-widget-heading .elementor-heading-title[class*=elementor-size-] > a { color: inherit; font-size: inherit; line-height: inherit; } .elementor-widget-heading .elementor-heading-title.elementor-size-small { font-size: 15px; } .elementor-widget-heading .elementor-heading-title.elementor-size-medium { font-size: 19px; } .elementor-widget-heading .elementor-heading-title.elementor-size-large { font-size: 29px; } .elementor-widget-heading .elementor-heading-title.elementor-size-xl { font-size: 39px; } .elementor-widget-heading .elementor-heading-title.elementor-size-xxl { font-size: 59px; } .elementor-widget-icon-box .elementor-icon-box-wrapper { display: block; text-align: center; } .elementor-widget-icon-box .elementor-icon-box-icon { margin-bottom: var(--icon-box-icon-margin, 15px); margin-right: auto; margin-left: auto; } @media (min-width: 768px) { .elementor-widget-icon-box.elementor-vertical-align-top .elementor-icon-box-wrapper { -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; } .elementor-widget-icon-box.elementor-vertical-align-middle .elementor-icon-box-wrapper { -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .elementor-widget-icon-box.elementor-vertical-align-bottom .elementor-icon-box-wrapper { -webkit-box-align: end; -ms-flex-align: end; align-items: flex-end; } } .elementor-widget-icon-box.elementor-position-left .elementor-icon-box-wrapper, .elementor-widget-icon-box.elementor-position-right .elementor-icon-box-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; } .elementor-widget-icon-box.elementor-position-left .elementor-icon-box-icon, .elementor-widget-icon-box.elementor-position-right .elementor-icon-box-icon { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-flex: 0; -ms-flex: 0 0 auto; flex: 0 0 auto; } .elementor-widget-icon-box.elementor-position-right .elementor-icon-box-wrapper { text-align: right; -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; } .elementor-widget-icon-box.elementor-position-right .elementor-icon-box-icon { margin-left: var(--icon-box-icon-margin, 15px); margin-right: 0; margin-bottom: unset; } .elementor-widget-icon-box.elementor-position-left .elementor-icon-box-wrapper { text-align: left; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; } .elementor-widget-icon-box.elementor-position-left .elementor-icon-box-icon { margin-right: var(--icon-box-icon-margin, 15px); margin-left: 0; margin-bottom: unset; } .elementor-widget-icon-box.elementor-position-top .elementor-icon-box-wrapper { display: block; text-align: center; -webkit-box-orient: unset; -webkit-box-direction: unset; -ms-flex-direction: unset; flex-direction: unset; } .elementor-widget-icon-box.elementor-position-top .elementor-icon-box-icon { margin-bottom: var(--icon-box-icon-margin, 15px); margin-right: auto; margin-left: auto; } @media (min-width: -1px) { .elementor-widget-icon-box.elementor-widescreen-position-left .elementor-icon-box-wrapper, .elementor-widget-icon-box.elementor-widescreen-position-right .elementor-icon-box-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; } .elementor-widget-icon-box.elementor-widescreen-position-left .elementor-icon-box-icon, .elementor-widget-icon-box.elementor-widescreen-position-right .elementor-icon-box-icon { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-flex: 0; -ms-flex: 0 0 auto; flex: 0 0 auto; } .elementor-widget-icon-box.elementor-widescreen-position-right .elementor-icon-box-wrapper { text-align: right; -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; } .elementor-widget-icon-box.elementor-widescreen-position-right .elementor-icon-box-icon { margin-left: var(--icon-box-icon-margin, 15px); margin-right: 0; margin-bottom: unset; } .elementor-widget-icon-box.elementor-widescreen-position-left .elementor-icon-box-wrapper { text-align: left; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; } .elementor-widget-icon-box.elementor-widescreen-position-left .elementor-icon-box-icon { margin-right: var(--icon-box-icon-margin, 15px); margin-left: 0; margin-bottom: unset; } .elementor-widget-icon-box.elementor-widescreen-position-top .elementor-icon-box-wrapper { display: block; text-align: center; -webkit-box-orient: unset; -webkit-box-direction: unset; -ms-flex-direction: unset; flex-direction: unset; } .elementor-widget-icon-box.elementor-widescreen-position-top .elementor-icon-box-icon { margin-bottom: var(--icon-box-icon-margin, 15px); margin-right: auto; margin-left: auto; } } @media (max-width: -1px) { .elementor-widget-icon-box.elementor-laptop-position-left .elementor-icon-box-wrapper, .elementor-widget-icon-box.elementor-laptop-position-right .elementor-icon-box-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; } .elementor-widget-icon-box.elementor-laptop-position-left .elementor-icon-box-icon, .elementor-widget-icon-box.elementor-laptop-position-right .elementor-icon-box-icon { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-flex: 0; -ms-flex: 0 0 auto; flex: 0 0 auto; } .elementor-widget-icon-box.elementor-laptop-position-right .elementor-icon-box-wrapper { text-align: right; -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; } .elementor-widget-icon-box.elementor-laptop-position-right .elementor-icon-box-icon { margin-left: var(--icon-box-icon-margin, 15px); margin-right: 0; margin-bottom: unset; } .elementor-widget-icon-box.elementor-laptop-position-left .elementor-icon-box-wrapper { text-align: left; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; } .elementor-widget-icon-box.elementor-laptop-position-left .elementor-icon-box-icon { margin-right: var(--icon-box-icon-margin, 15px); margin-left: 0; margin-bottom: unset; } .elementor-widget-icon-box.elementor-laptop-position-top .elementor-icon-box-wrapper { display: block; text-align: center; -webkit-box-orient: unset; -webkit-box-direction: unset; -ms-flex-direction: unset; flex-direction: unset; } .elementor-widget-icon-box.elementor-laptop-position-top .elementor-icon-box-icon { margin-bottom: var(--icon-box-icon-margin, 15px); margin-right: auto; margin-left: auto; } } @media (max-width: -1px) { .elementor-widget-icon-box.elementor-tablet_extra-position-left .elementor-icon-box-wrapper, .elementor-widget-icon-box.elementor-tablet_extra-position-right .elementor-icon-box-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; } .elementor-widget-icon-box.elementor-tablet_extra-position-left .elementor-icon-box-icon, .elementor-widget-icon-box.elementor-tablet_extra-position-right .elementor-icon-box-icon { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-flex: 0; -ms-flex: 0 0 auto; flex: 0 0 auto; } .elementor-widget-icon-box.elementor-tablet_extra-position-right .elementor-icon-box-wrapper { text-align: right; -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; } .elementor-widget-icon-box.elementor-tablet_extra-position-right .elementor-icon-box-icon { margin-left: var(--icon-box-icon-margin, 15px); margin-right: 0; margin-bottom: unset; } .elementor-widget-icon-box.elementor-tablet_extra-position-left .elementor-icon-box-wrapper { text-align: left; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; } .elementor-widget-icon-box.elementor-tablet_extra-position-left .elementor-icon-box-icon { margin-right: var(--icon-box-icon-margin, 15px); margin-left: 0; margin-bottom: unset; } .elementor-widget-icon-box.elementor-tablet_extra-position-top .elementor-icon-box-wrapper { display: block; text-align: center; -webkit-box-orient: unset; -webkit-box-direction: unset; -ms-flex-direction: unset; flex-direction: unset; } .elementor-widget-icon-box.elementor-tablet_extra-position-top .elementor-icon-box-icon { margin-bottom: var(--icon-box-icon-margin, 15px); margin-right: auto; margin-left: auto; } } @media (max-width: 1024px) { .elementor-widget-icon-box.elementor-tablet-position-left .elementor-icon-box-wrapper, .elementor-widget-icon-box.elementor-tablet-position-right .elementor-icon-box-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; } .elementor-widget-icon-box.elementor-tablet-position-left .elementor-icon-box-icon, .elementor-widget-icon-box.elementor-tablet-position-right .elementor-icon-box-icon { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-flex: 0; -ms-flex: 0 0 auto; flex: 0 0 auto; } .elementor-widget-icon-box.elementor-tablet-position-right .elementor-icon-box-wrapper { text-align: right; -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; } .elementor-widget-icon-box.elementor-tablet-position-right .elementor-icon-box-icon { margin-left: var(--icon-box-icon-margin, 15px); margin-right: 0; margin-bottom: unset; } .elementor-widget-icon-box.elementor-tablet-position-left .elementor-icon-box-wrapper { text-align: left; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; } .elementor-widget-icon-box.elementor-tablet-position-left .elementor-icon-box-icon { margin-right: var(--icon-box-icon-margin, 15px); margin-left: 0; margin-bottom: unset; } .elementor-widget-icon-box.elementor-tablet-position-top .elementor-icon-box-wrapper { display: block; text-align: center; -webkit-box-orient: unset; -webkit-box-direction: unset; -ms-flex-direction: unset; flex-direction: unset; } .elementor-widget-icon-box.elementor-tablet-position-top .elementor-icon-box-icon { margin-bottom: var(--icon-box-icon-margin, 15px); margin-right: auto; margin-left: auto; } } @media (max-width: -1px) { .elementor-widget-icon-box.elementor-mobile_extra-position-left .elementor-icon-box-wrapper, .elementor-widget-icon-box.elementor-mobile_extra-position-right .elementor-icon-box-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; } .elementor-widget-icon-box.elementor-mobile_extra-position-left .elementor-icon-box-icon, .elementor-widget-icon-box.elementor-mobile_extra-position-right .elementor-icon-box-icon { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-flex: 0; -ms-flex: 0 0 auto; flex: 0 0 auto; } .elementor-widget-icon-box.elementor-mobile_extra-position-right .elementor-icon-box-wrapper { text-align: right; -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; } .elementor-widget-icon-box.elementor-mobile_extra-position-right .elementor-icon-box-icon { margin-left: var(--icon-box-icon-margin, 15px); margin-right: 0; margin-bottom: unset; } .elementor-widget-icon-box.elementor-mobile_extra-position-left .elementor-icon-box-wrapper { text-align: left; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; } .elementor-widget-icon-box.elementor-mobile_extra-position-left .elementor-icon-box-icon { margin-right: var(--icon-box-icon-margin, 15px); margin-left: 0; margin-bottom: unset; } .elementor-widget-icon-box.elementor-mobile_extra-position-top .elementor-icon-box-wrapper { display: block; text-align: center; -webkit-box-orient: unset; -webkit-box-direction: unset; -ms-flex-direction: unset; flex-direction: unset; } .elementor-widget-icon-box.elementor-mobile_extra-position-top .elementor-icon-box-icon { margin-bottom: var(--icon-box-icon-margin, 15px); margin-right: auto; margin-left: auto; } } @media (max-width: 767px) { .elementor-widget-icon-box.elementor-mobile-position-left .elementor-icon-box-wrapper, .elementor-widget-icon-box.elementor-mobile-position-right .elementor-icon-box-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; } .elementor-widget-icon-box.elementor-mobile-position-left .elementor-icon-box-icon, .elementor-widget-icon-box.elementor-mobile-position-right .elementor-icon-box-icon { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-flex: 0; -ms-flex: 0 0 auto; flex: 0 0 auto; } .elementor-widget-icon-box.elementor-mobile-position-right .elementor-icon-box-wrapper { text-align: right; -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; } .elementor-widget-icon-box.elementor-mobile-position-right .elementor-icon-box-icon { margin-left: var(--icon-box-icon-margin, 15px); margin-right: 0; margin-bottom: unset; } .elementor-widget-icon-box.elementor-mobile-position-left .elementor-icon-box-wrapper { text-align: left; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; } .elementor-widget-icon-box.elementor-mobile-position-left .elementor-icon-box-icon { margin-right: var(--icon-box-icon-margin, 15px); margin-left: 0; margin-bottom: unset; } .elementor-widget-icon-box.elementor-mobile-position-top .elementor-icon-box-wrapper { display: block; text-align: center; -webkit-box-orient: unset; -webkit-box-direction: unset; -ms-flex-direction: unset; flex-direction: unset; } .elementor-widget-icon-box.elementor-mobile-position-top .elementor-icon-box-icon { margin-bottom: var(--icon-box-icon-margin, 15px); margin-right: auto; margin-left: auto; } .elementor-widget-icon-box.elementor-position-left .elementor-icon-box-icon, .elementor-widget-icon-box.elementor-position-right .elementor-icon-box-icon { display: block; -webkit-box-flex: unset; -ms-flex: unset; flex: unset; } } .elementor-widget-icon-box .elementor-icon-box-title a { color: inherit; } .elementor-widget-icon-box .elementor-icon-box-content { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; } .elementor-widget-icon-box .elementor-icon-box-description { margin: 0; } .elementor-widget.elementor-icon-list--layout-inline .elementor-widget-container { overflow: hidden; } .elementor-widget .elementor-icon-list-items.elementor-inline-items { margin-right: -8px; margin-left: -8px; } .elementor-widget .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item { margin-right: 8px; margin-left: 8px; } .elementor-widget .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after { width: auto; left: auto; right: auto; position: relative; height: 100%; border-top: 0; border-bottom: 0; border-right: 0; border-left-width: 1px; border-style: solid; right: -8px; } .elementor-widget .elementor-icon-list-items { list-style-type: none; margin: 0; padding: 0; } .elementor-widget .elementor-icon-list-item { margin: 0; padding: 0; position: relative; } .elementor-widget .elementor-icon-list-item:after { position: absolute; bottom: 0; width: 100%; } .elementor-widget .elementor-icon-list-item, .elementor-widget .elementor-icon-list-item a { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; font-size: inherit; } .elementor-widget .elementor-icon-list-icon + .elementor-icon-list-text { -ms-flex-item-align: center; align-self: center; padding-left: 5px; } .elementor-widget .elementor-icon-list-icon { display: -webkit-box; display: -ms-flexbox; display: flex; } .elementor-widget .elementor-icon-list-icon svg { width: var(--e-icon-list-icon-size, 1em); height: var(--e-icon-list-icon-size, 1em); } .elementor-widget .elementor-icon-list-icon i { width: 1.25em; font-size: var(--e-icon-list-icon-size); } .elementor-widget.elementor-widget-icon-list .elementor-icon-list-icon { text-align: var(--e-icon-list-icon-align); } .elementor-widget.elementor-widget-icon-list .elementor-icon-list-icon svg { margin: var(--e-icon-list-icon-margin, 0 calc(var(--e-icon-list-icon-size, 1em) * 0.25) 0 0); } .elementor-widget.elementor-list-item-link-full_width a { width: 100%; } .elementor-widget.elementor-align-center .elementor-icon-list-item, .elementor-widget.elementor-align-center .elementor-icon-list-item a { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-widget.elementor-align-center .elementor-icon-list-item:after { margin: auto; } .elementor-widget.elementor-align-center .elementor-inline-items { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-widget.elementor-align-left .elementor-icon-list-item, .elementor-widget.elementor-align-left .elementor-icon-list-item a { -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; text-align: left; } .elementor-widget.elementor-align-left .elementor-inline-items { -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; } .elementor-widget.elementor-align-right .elementor-icon-list-item, .elementor-widget.elementor-align-right .elementor-icon-list-item a { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; text-align: right; } .elementor-widget.elementor-align-right .elementor-icon-list-items { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; } .elementor-widget:not(.elementor-align-right) .elementor-icon-list-item:after { left: 0; } .elementor-widget:not(.elementor-align-left) .elementor-icon-list-item:after { right: 0; } @media (min-width: -1px) { .elementor-widget.elementor-widescreen-align-center .elementor-icon-list-item, .elementor-widget.elementor-widescreen-align-center .elementor-icon-list-item a { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-widget.elementor-widescreen-align-center .elementor-icon-list-item:after { margin: auto; } .elementor-widget.elementor-widescreen-align-center .elementor-inline-items { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-widget.elementor-widescreen-align-left .elementor-icon-list-item, .elementor-widget.elementor-widescreen-align-left .elementor-icon-list-item a { -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; text-align: left; } .elementor-widget.elementor-widescreen-align-left .elementor-inline-items { -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; } .elementor-widget.elementor-widescreen-align-right .elementor-icon-list-item, .elementor-widget.elementor-widescreen-align-right .elementor-icon-list-item a { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; text-align: right; } .elementor-widget.elementor-widescreen-align-right .elementor-icon-list-items { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; } .elementor-widget:not(.elementor-widescreen-align-right) .elementor-icon-list-item:after { left: 0; } .elementor-widget:not(.elementor-widescreen-align-left) .elementor-icon-list-item:after { right: 0; } } @media (max-width: -1px) { .elementor-widget.elementor-laptop-align-center .elementor-icon-list-item, .elementor-widget.elementor-laptop-align-center .elementor-icon-list-item a { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-widget.elementor-laptop-align-center .elementor-icon-list-item:after { margin: auto; } .elementor-widget.elementor-laptop-align-center .elementor-inline-items { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-widget.elementor-laptop-align-left .elementor-icon-list-item, .elementor-widget.elementor-laptop-align-left .elementor-icon-list-item a { -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; text-align: left; } .elementor-widget.elementor-laptop-align-left .elementor-inline-items { -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; } .elementor-widget.elementor-laptop-align-right .elementor-icon-list-item, .elementor-widget.elementor-laptop-align-right .elementor-icon-list-item a { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; text-align: right; } .elementor-widget.elementor-laptop-align-right .elementor-icon-list-items { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; } .elementor-widget:not(.elementor-laptop-align-right) .elementor-icon-list-item:after { left: 0; } .elementor-widget:not(.elementor-laptop-align-left) .elementor-icon-list-item:after { right: 0; } } @media (max-width: -1px) { .elementor-widget.elementor-tablet_extra-align-center .elementor-icon-list-item, .elementor-widget.elementor-tablet_extra-align-center .elementor-icon-list-item a { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-widget.elementor-tablet_extra-align-center .elementor-icon-list-item:after { margin: auto; } .elementor-widget.elementor-tablet_extra-align-center .elementor-inline-items { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-widget.elementor-tablet_extra-align-left .elementor-icon-list-item, .elementor-widget.elementor-tablet_extra-align-left .elementor-icon-list-item a { -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; text-align: left; } .elementor-widget.elementor-tablet_extra-align-left .elementor-inline-items { -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; } .elementor-widget.elementor-tablet_extra-align-right .elementor-icon-list-item, .elementor-widget.elementor-tablet_extra-align-right .elementor-icon-list-item a { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; text-align: right; } .elementor-widget.elementor-tablet_extra-align-right .elementor-icon-list-items { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; } .elementor-widget:not(.elementor-tablet_extra-align-right) .elementor-icon-list-item:after { left: 0; } .elementor-widget:not(.elementor-tablet_extra-align-left) .elementor-icon-list-item:after { right: 0; } } @media (max-width: 1024px) { .elementor-widget.elementor-tablet-align-center .elementor-icon-list-item, .elementor-widget.elementor-tablet-align-center .elementor-icon-list-item a { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-widget.elementor-tablet-align-center .elementor-icon-list-item:after { margin: auto; } .elementor-widget.elementor-tablet-align-center .elementor-inline-items { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-widget.elementor-tablet-align-left .elementor-icon-list-item, .elementor-widget.elementor-tablet-align-left .elementor-icon-list-item a { -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; text-align: left; } .elementor-widget.elementor-tablet-align-left .elementor-inline-items { -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; } .elementor-widget.elementor-tablet-align-right .elementor-icon-list-item, .elementor-widget.elementor-tablet-align-right .elementor-icon-list-item a { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; text-align: right; } .elementor-widget.elementor-tablet-align-right .elementor-icon-list-items { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; } .elementor-widget:not(.elementor-tablet-align-right) .elementor-icon-list-item:after { left: 0; } .elementor-widget:not(.elementor-tablet-align-left) .elementor-icon-list-item:after { right: 0; } } @media (max-width: -1px) { .elementor-widget.elementor-mobile_extra-align-center .elementor-icon-list-item, .elementor-widget.elementor-mobile_extra-align-center .elementor-icon-list-item a { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-widget.elementor-mobile_extra-align-center .elementor-icon-list-item:after { margin: auto; } .elementor-widget.elementor-mobile_extra-align-center .elementor-inline-items { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-widget.elementor-mobile_extra-align-left .elementor-icon-list-item, .elementor-widget.elementor-mobile_extra-align-left .elementor-icon-list-item a { -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; text-align: left; } .elementor-widget.elementor-mobile_extra-align-left .elementor-inline-items { -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; } .elementor-widget.elementor-mobile_extra-align-right .elementor-icon-list-item, .elementor-widget.elementor-mobile_extra-align-right .elementor-icon-list-item a { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; text-align: right; } .elementor-widget.elementor-mobile_extra-align-right .elementor-icon-list-items { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; } .elementor-widget:not(.elementor-mobile_extra-align-right) .elementor-icon-list-item:after { left: 0; } .elementor-widget:not(.elementor-mobile_extra-align-left) .elementor-icon-list-item:after { right: 0; } } @media (max-width: 767px) { .elementor-widget.elementor-mobile-align-center .elementor-icon-list-item, .elementor-widget.elementor-mobile-align-center .elementor-icon-list-item a { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-widget.elementor-mobile-align-center .elementor-icon-list-item:after { margin: auto; } .elementor-widget.elementor-mobile-align-center .elementor-inline-items { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-widget.elementor-mobile-align-left .elementor-icon-list-item, .elementor-widget.elementor-mobile-align-left .elementor-icon-list-item a { -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; text-align: left; } .elementor-widget.elementor-mobile-align-left .elementor-inline-items { -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; } .elementor-widget.elementor-mobile-align-right .elementor-icon-list-item, .elementor-widget.elementor-mobile-align-right .elementor-icon-list-item a { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; text-align: right; } .elementor-widget.elementor-mobile-align-right .elementor-icon-list-items { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; } .elementor-widget:not(.elementor-mobile-align-right) .elementor-icon-list-item:after { left: 0; } .elementor-widget:not(.elementor-mobile-align-left) .elementor-icon-list-item:after { right: 0; } } .elementor-widget-image { text-align: center; } .elementor-widget-image a { display: inline-block; } .elementor-widget-image a img[src$=".svg"] { width: 48px; } .elementor-widget-image img { vertical-align: middle; display: inline-block; } .elementor-widget-image-box .elementor-image-box-content { width: 100%; } @media (min-width: 768px) { .elementor-widget-image-box.elementor-position-left .elementor-image-box-wrapper, .elementor-widget-image-box.elementor-position-right .elementor-image-box-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; } .elementor-widget-image-box.elementor-position-right .elementor-image-box-wrapper { text-align: right; -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; } .elementor-widget-image-box.elementor-position-left .elementor-image-box-wrapper { text-align: left; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; } .elementor-widget-image-box.elementor-position-top .elementor-image-box-img { margin: auto; } .elementor-widget-image-box.elementor-vertical-align-top .elementor-image-box-wrapper { -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; } .elementor-widget-image-box.elementor-vertical-align-middle .elementor-image-box-wrapper { -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .elementor-widget-image-box.elementor-vertical-align-bottom .elementor-image-box-wrapper { -webkit-box-align: end; -ms-flex-align: end; align-items: flex-end; } } @media (max-width: 767px) { .elementor-widget-image-box .elementor-image-box-img { margin-left: auto !important; margin-right: auto !important; margin-bottom: 15px; } } .elementor-widget-image-box .elementor-image-box-img { display: inline-block; } .elementor-widget-image-box .elementor-image-box-title a { color: inherit; } .elementor-widget-image-box .elementor-image-box-wrapper { text-align: center; } .elementor-widget-image-box .elementor-image-box-description { margin: 0; } .elementor-widget-image-carousel .swiper-container { position: static; } .elementor-widget-image-carousel .swiper-container .swiper-slide figure { line-height: inherit; } .elementor-widget-image-carousel .swiper-slide { text-align: center; } .elementor-image-carousel-wrapper:not(.swiper-container-initialized) .swiper-slide { max-width: calc(100% / var(--e-image-carousel-slides-to-show, 3)); } body.elementor-page .elementor-widget-menu-anchor { margin-bottom: 0; } .elementor-widget-progress { text-align: left; } .elementor-progress-wrapper { position: relative; background-color: #eeeeee; color: #ffffff; height: 100%; border-radius: 2px; } .elementor-progress-bar { display: -webkit-box; display: -ms-flexbox; display: flex; background-color: #818a91; width: 0; font-size: 11px; height: 30px; line-height: 30px; border-radius: 2px; -webkit-transition: width 1s ease-in-out; -o-transition: width 1s ease-in-out; transition: width 1s ease-in-out; } .elementor-progress-text { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; white-space: nowrap; -o-text-overflow: ellipsis; text-overflow: ellipsis; overflow: hidden; padding-left: 15px; } .elementor-progress-percentage { padding-right: 15px; } .elementor-widget-progress .elementor-progress-wrapper.progress-info .elementor-progress-bar { background-color: #5bc0de; } .elementor-widget-progress .elementor-progress-wrapper.progress-success .elementor-progress-bar { background-color: #5cb85c; } .elementor-widget-progress .elementor-progress-wrapper.progress-warning .elementor-progress-bar { background-color: #f0ad4e; } .elementor-widget-progress .elementor-progress-wrapper.progress-danger .elementor-progress-bar { background-color: #d9534f; } .elementor-progress .elementor-title { display: block; } @media (max-width: 767px) { .elementor-progress-text { padding-left: 10px; } } .elementor-widget-social-icons { /*TODO: This Grid-0 needs to be removed after PRO is Updated */ } .elementor-widget-social-icons.elementor-grid-0 .elementor-widget-container, .elementor-widget-social-icons.elementor-grid-tablet-0 .elementor-widget-container, .elementor-widget-social-icons.elementor-grid-mobile-0 .elementor-widget-container { line-height: 1; font-size: 0; } .elementor-widget-social-icons:not(.elementor-grid-0):not(.elementor-grid-tablet-0):not(.elementor-grid-mobile-0) .elementor-grid { display: inline-grid; } .elementor-widget-social-icons .elementor-grid { grid-column-gap: var(--grid-column-gap, 5px); grid-row-gap: var(--grid-row-gap, 5px); grid-template-columns: var(--grid-template-columns); -webkit-box-pack: var(--justify-content, center); -ms-flex-pack: var(--justify-content, center); justify-content: var(--justify-content, center); justify-items: var(--justify-content, center); } .elementor-icon.elementor-social-icon { font-size: var(--icon-size, 25px); line-height: var(--icon-size, 25px); width: calc(var(--icon-size, 25px) + (2 * var(--icon-padding, 0.5em))); height: calc(var(--icon-size, 25px) + (2 * var(--icon-padding, 0.5em))); } .elementor-social-icon { --e-social-icon-icon-color: #fff; display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; background-color: #818a91; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; text-align: center; cursor: pointer; } .elementor-social-icon i { color: var(--e-social-icon-icon-color); } .elementor-social-icon svg { fill: var(--e-social-icon-icon-color); } .elementor-social-icon:last-child { margin: 0; } .elementor-social-icon:hover { opacity: 0.9; color: white; } .elementor-social-icon-android { background-color: #A4C639; } .elementor-social-icon-apple { background-color: #999999; } .elementor-social-icon-behance { background-color: #1769ff; } .elementor-social-icon-bitbucket { background-color: #205081; } .elementor-social-icon-codepen { background-color: #000000; } .elementor-social-icon-delicious { background-color: #3399ff; } .elementor-social-icon-deviantart { background-color: #05cc47; } .elementor-social-icon-digg { background-color: #005be2; } .elementor-social-icon-dribbble { background-color: #ea4c89; } .elementor-social-icon-elementor { background-color: #D30C5C; } .elementor-social-icon-envelope { background-color: #ea4335; } .elementor-social-icon-facebook, .elementor-social-icon-facebook-f { background-color: #3b5998; } .elementor-social-icon-flickr { background-color: #0063dc; } .elementor-social-icon-foursquare { background-color: #2d5be3; } .elementor-social-icon-freecodecamp, .elementor-social-icon-free-code-camp { background-color: #006400; } .elementor-social-icon-github { background-color: #333333; } .elementor-social-icon-gitlab { background-color: #e24329; } .elementor-social-icon-globe { background-color: #818a91; } .elementor-social-icon-google-plus, .elementor-social-icon-google-plus-g { background-color: #dd4b39; } .elementor-social-icon-houzz { background-color: #7ac142; } .elementor-social-icon-instagram { background-color: #262626; } .elementor-social-icon-jsfiddle { background-color: #487AA2; } .elementor-social-icon-link { background-color: #818a91; } .elementor-social-icon-linkedin, .elementor-social-icon-linkedin-in { background-color: #0077b5; } .elementor-social-icon-medium { background-color: #00ab6b; } .elementor-social-icon-meetup { background-color: #ec1c40; } .elementor-social-icon-mixcloud { background-color: #273a4b; } .elementor-social-icon-odnoklassniki { background-color: #F4731C; } .elementor-social-icon-pinterest { background-color: #bd081c; } .elementor-social-icon-product-hunt { background-color: #da552f; } .elementor-social-icon-reddit { background-color: #ff4500; } .elementor-social-icon-rss { background-color: #f26522; } .elementor-social-icon-shopping-cart { background-color: #4CAF50; } .elementor-social-icon-skype { background-color: #00AFF0; } .elementor-social-icon-slideshare { background-color: #0077b5; } .elementor-social-icon-snapchat { background-color: #fffc00; } .elementor-social-icon-soundcloud { background-color: #ff8800; } .elementor-social-icon-spotify { background-color: #2ebd59; } .elementor-social-icon-stack-overflow { background-color: #fe7a15; } .elementor-social-icon-steam { background-color: #00adee; } .elementor-social-icon-stumbleupon { background-color: #EB4924; } .elementor-social-icon-telegram { background-color: #2CA5E0; } .elementor-social-icon-thumb-tack { background-color: #1aa1d8; } .elementor-social-icon-tripadvisor { background-color: #589442; } .elementor-social-icon-tumblr { background-color: #35465c; } .elementor-social-icon-twitch { background-color: #6441A5; } .elementor-social-icon-twitter { background-color: #1DA1F2; } .elementor-social-icon-viber { background-color: #665cac; } .elementor-social-icon-vimeo { background-color: #1ab7ea; } .elementor-social-icon-vk { background-color: #45668e; } .elementor-social-icon-weibo { background-color: #DD2430; } .elementor-social-icon-weixin { background-color: #31A918; } .elementor-social-icon-whatsapp { background-color: #25d366; } .elementor-social-icon-wordpress { background-color: #21759b; } .elementor-social-icon-xing { background-color: #026466; } .elementor-social-icon-yelp { background-color: #af0606; } .elementor-social-icon-youtube { background-color: #cd201f; } .elementor-social-icon-500px { background-color: #0099e5; } .elementor-shape-rounded .elementor-icon.elementor-social-icon { border-radius: 10%; } .elementor-shape-circle .elementor-icon.elementor-social-icon { border-radius: 50%; } .e-container.e-container--row .elementor-spacer-inner { width: var(--spacer-size); } .elementor-column .elementor-spacer-inner, .e-container.e-container--column .elementor-spacer-inner { height: var(--spacer-size); } .elementor-star-rating { color: #CCD6DF; font-family: eicons; display: inline-block; } .elementor-star-rating i { display: inline-block; position: relative; font-style: normal; cursor: default; } .elementor-star-rating i:before { content: "\e934"; display: block; font-size: inherit; font-family: inherit; position: absolute; overflow: hidden; color: #f0ad4e; top: 0; left: 0; } .elementor-star-rating .elementor-star-empty:before { content: none; } .elementor-star-rating .elementor-star-1:before { width: 10%; } .elementor-star-rating .elementor-star-2:before { width: 20%; } .elementor-star-rating .elementor-star-3:before { width: 30%; } .elementor-star-rating .elementor-star-4:before { width: 40%; } .elementor-star-rating .elementor-star-5:before { width: 50%; } .elementor-star-rating .elementor-star-6:before { width: 60%; } .elementor-star-rating .elementor-star-7:before { width: 70%; } .elementor-star-rating .elementor-star-8:before { width: 80%; } .elementor-star-rating .elementor-star-9:before { width: 90%; } .elementor-star-rating__wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .elementor-star-rating__title { margin-right: 10px; } .elementor-star-rating--align-right .elementor-star-rating__wrapper { text-align: right; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; } .elementor-star-rating--align-left .elementor-star-rating__wrapper { text-align: left; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; } .elementor-star-rating--align-center .elementor-star-rating__wrapper { text-align: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-star-rating--align-justify .elementor-star-rating__title { margin-right: auto; } @media (max-width: 1024px) { .elementor-star-rating-tablet--align-right .elementor-star-rating__wrapper { text-align: right; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; } .elementor-star-rating-tablet--align-left .elementor-star-rating__wrapper { text-align: left; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; } .elementor-star-rating-tablet--align-center .elementor-star-rating__wrapper { text-align: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-star-rating-tablet--align-justify .elementor-star-rating__title { margin-right: auto; } } @media (max-width: 767px) { .elementor-star-rating-mobile--align-right .elementor-star-rating__wrapper { text-align: right; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; } .elementor-star-rating-mobile--align-left .elementor-star-rating__wrapper { text-align: left; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; } .elementor-star-rating-mobile--align-center .elementor-star-rating__wrapper { text-align: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-star-rating-mobile--align-justify .elementor-star-rating__title { margin-right: auto; } } .last-star { letter-spacing: 0; } .elementor--star-style-star_unicode .elementor-star-rating { font-family: "Arial", "Helvetica", sans-serif; } .elementor--star-style-star_unicode .elementor-star-rating i:not(.elementor-star-empty):before { content: "★"; } .elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tabs-wrapper { width: 25%; -ms-flex-negative: 0; flex-shrink: 0; } .elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tab-desktop-title.elementor-active { border-right-style: none; } .elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tab-desktop-title.elementor-active:before, .elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tab-desktop-title.elementor-active:after { height: 999em; width: 0; right: 0; border-right-style: solid; } .elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tab-desktop-title.elementor-active:before { top: 0; -webkit-transform: translateY(-100%); -ms-transform: translateY(-100%); transform: translateY(-100%); } .elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tab-desktop-title.elementor-active:after { top: 100%; } .elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title { display: table-cell; } .elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title.elementor-active { border-bottom-style: none; } .elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title.elementor-active:before, .elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title.elementor-active:after { bottom: 0; height: 0; width: 999em; border-bottom-style: solid; } .elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title.elementor-active:before { right: 100%; } .elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title.elementor-active:after { left: 100%; } .elementor-widget-tabs .elementor-tab-title, .elementor-widget-tabs .elementor-tab-title:before, .elementor-widget-tabs .elementor-tab-title:after, .elementor-widget-tabs .elementor-tab-content, .elementor-widget-tabs .elementor-tabs-content-wrapper { border: 1px none #D4D4D4; } .elementor-widget-tabs .elementor-tabs { text-align: left; } .elementor-widget-tabs .elementor-tabs-wrapper { overflow: hidden; } .elementor-widget-tabs .elementor-tab-title { cursor: pointer; outline: var(--focus-outline, none); } .elementor-widget-tabs .elementor-tab-desktop-title { position: relative; padding: 20px 25px; font-weight: bold; line-height: 1; border: solid transparent; } .elementor-widget-tabs .elementor-tab-desktop-title.elementor-active { border-color: #D4D4D4; } .elementor-widget-tabs .elementor-tab-desktop-title.elementor-active:before, .elementor-widget-tabs .elementor-tab-desktop-title.elementor-active:after { display: block; content: ""; position: absolute; } .elementor-widget-tabs .elementor-tab-mobile-title { padding: 10px 10px; cursor: pointer; } .elementor-widget-tabs .elementor-tab-content { padding: 20px; display: none; } @media (max-width: 767px) { .elementor-tabs .elementor-tab-title, .elementor-tabs .elementor-tab-content { border-style: solid; border-bottom-style: none; } .elementor-tabs .elementor-tabs-wrapper { display: none; } .elementor-tabs .elementor-tabs-content-wrapper { border-bottom-style: solid; } .elementor-tabs .elementor-tab-content { padding: 10px; } } @media (min-width: 768px) { .elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tabs { display: -webkit-box; display: -ms-flexbox; display: flex; } .elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tabs-wrapper { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; } .elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tabs-content-wrapper { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; border-style: solid; border-left-style: none; } .elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-content { border-style: solid; border-top-style: none; } .elementor-widget-tabs.elementor-tabs-alignment-center .elementor-tabs-wrapper, .elementor-widget-tabs.elementor-tabs-alignment-end .elementor-tabs-wrapper, .elementor-widget-tabs.elementor-tabs-alignment-stretch .elementor-tabs-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; } .elementor-widget-tabs.elementor-tabs-alignment-center .elementor-tabs-wrapper { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-widget-tabs.elementor-tabs-alignment-end .elementor-tabs-wrapper { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; } .elementor-widget-tabs.elementor-tabs-alignment-stretch.elementor-tabs-view-horizontal .elementor-tab-title { width: 100%; } .elementor-widget-tabs.elementor-tabs-alignment-stretch.elementor-tabs-view-vertical .elementor-tab-title { height: 100%; } .elementor-tabs .elementor-tab-mobile-title { display: none; } } .elementor-testimonial-wrapper { overflow: hidden; text-align: center; } .elementor-testimonial-wrapper .elementor-testimonial-content { font-size: 1.3em; margin-bottom: 20px; } .elementor-testimonial-wrapper .elementor-testimonial-name { line-height: 1.5; display: block; } .elementor-testimonial-wrapper .elementor-testimonial-job { font-size: 0.85em; display: block; } .elementor-testimonial-wrapper .elementor-testimonial-meta { width: 100%; line-height: 1; } .elementor-testimonial-wrapper .elementor-testimonial-meta-inner { display: inline-block; } .elementor-testimonial-wrapper .elementor-testimonial-meta .elementor-testimonial-details, .elementor-testimonial-wrapper .elementor-testimonial-meta .elementor-testimonial-image { display: table-cell; vertical-align: middle; } .elementor-testimonial-wrapper .elementor-testimonial-meta .elementor-testimonial-image img { width: 60px; height: 60px; border-radius: 50%; -o-object-fit: cover; object-fit: cover; max-width: none; } .elementor-testimonial-wrapper .elementor-testimonial-meta.elementor-testimonial-image-position-aside .elementor-testimonial-image { padding-right: 15px; } .elementor-testimonial-wrapper .elementor-testimonial-meta.elementor-testimonial-image-position-aside .elementor-testimonial-details { text-align: left; } .elementor-testimonial-wrapper .elementor-testimonial-meta.elementor-testimonial-image-position-top .elementor-testimonial-details, .elementor-testimonial-wrapper .elementor-testimonial-meta.elementor-testimonial-image-position-top .elementor-testimonial-image { display: block; } .elementor-testimonial-wrapper .elementor-testimonial-meta.elementor-testimonial-image-position-top .elementor-testimonial-image { margin-bottom: 20px; } .elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap { background-color: #818a91; color: #fff; } .elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap { color: #818a91; border: 3px solid; background-color: transparent; } .elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap { margin-top: 8px; } .elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap-letter { width: 1em; height: 1em; } .elementor-widget-text-editor .elementor-drop-cap { float: left; text-align: center; line-height: 1; font-size: 50px; } .elementor-widget-text-editor .elementor-drop-cap-letter { display: inline-block; } .elementor-toggle { text-align: left; } .elementor-toggle .elementor-tab-title { font-weight: bold; line-height: 1; margin: 0; padding: 15px; border-bottom: 1px solid #D4D4D4; cursor: pointer; outline: none; } .elementor-toggle .elementor-tab-title .elementor-toggle-icon { display: inline-block; width: 1em; } .elementor-toggle .elementor-tab-title .elementor-toggle-icon svg { -webkit-margin-start: -5px; margin-inline-start: -5px; width: 1em; height: 1em; } .elementor-toggle .elementor-tab-title .elementor-toggle-icon.elementor-toggle-icon-right { float: right; text-align: right; } .elementor-toggle .elementor-tab-title .elementor-toggle-icon.elementor-toggle-icon-left { float: left; text-align: left; } .elementor-toggle .elementor-tab-title .elementor-toggle-icon .elementor-toggle-icon-closed { display: block; } .elementor-toggle .elementor-tab-title .elementor-toggle-icon .elementor-toggle-icon-opened { display: none; } .elementor-toggle .elementor-tab-title.elementor-active { border-bottom: none; } .elementor-toggle .elementor-tab-title.elementor-active .elementor-toggle-icon-closed { display: none; } .elementor-toggle .elementor-tab-title.elementor-active .elementor-toggle-icon-opened { display: block; } .elementor-toggle .elementor-tab-content { padding: 15px; border-bottom: 1px solid #D4D4D4; display: none; } @media (max-width: 767px) { .elementor-toggle .elementor-tab-title { padding: 12px; } .elementor-toggle .elementor-tab-content { padding: 12px 10px; } } .elementor-widget-video .elementor-widget-container { overflow: hidden; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } .elementor-widget-video .elementor-open-inline .elementor-custom-embed-image-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-size: cover; background-position: 50%; } .elementor-widget-video .elementor-custom-embed-image-overlay { cursor: pointer; text-align: center; } .elementor-widget-video .elementor-custom-embed-image-overlay:hover .elementor-custom-embed-play i { opacity: 1; } .elementor-widget-video .elementor-custom-embed-image-overlay img { display: block; width: 100%; } .elementor-widget-video .e-hosted-video .elementor-video { -o-object-fit: cover; object-fit: cover; } /*# sourceMappingURL=frontend.css.map */assets/css/editor-preview-rtl.min.css000064400000303504152377341010013706 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ .elementor-control-unit-1{width:27px}.elementor-control-unit-2{width:54px}.elementor-control-unit-3{width:81px}.elementor-control-unit-4{width:108px}.elementor-control-unit-5{max-width:400px;width:52%}.elementor-tags-list{display:none;position:absolute;width:260px;max-height:300px;overflow:auto;padding-bottom:5px;background-color:#fff;border:1px solid #a4afb7;border-radius:3px;z-index:10000}.elementor-tags-list__group-title{color:#495157;font-weight:700;font-size:12px;padding:10px 15px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-tags-list__group-title .eicon-info-circle{padding-left:5px;color:#71d7f7;font-size:14px}.elementor-tags-list__item{font-size:10px;padding:6px 15px;cursor:pointer}.elementor-tags-list__item:before{content:">";font-size:8px;padding-left:5px}.elementor-tags-list__item:hover{background-color:#e6e9ec}.elementor-tags-list__teaser{border-top:2px solid #d5dadf;padding-top:4px;margin-top:4px}.elementor-tags-list__teaser-title{color:#6d7882}.elementor-tags-list__teaser-text{padding:2px 15px 8px;line-height:1.5;font-size:12px}.elementor-tags-list__teaser-link{color:#93003c;text-decoration:underline;font-style:italic;font-weight:700}.elementor-dynamic-cover{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;height:27px;-webkit-box-sizing:border-box;box-sizing:border-box}.elementor-dynamic-cover__title{padding:0 8px;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden}.elementor-dynamic-cover__remove,.elementor-dynamic-cover__settings{color:#c2cbd2;cursor:pointer;-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s}.elementor-dynamic-cover__remove:hover,.elementor-dynamic-cover__settings:hover{color:#a4afb7}.elementor-control-type-wysiwyg .elementor-dynamic-cover{margin-top:10px}.elementor-tag-settings-popup{position:absolute;width:260px;background-color:#e6e9ec;-webkit-box-shadow:1px 1px 10px rgba(0,0,0,.3);box-shadow:1px 1px 10px rgba(0,0,0,.3);z-index:1}.elementor-tag-settings-popup:before{content:"";position:absolute;top:-20px;right:5px;border:10px solid transparent;border-bottom-color:#fff}.elementor-tag-settings-popup .elementor-control-type-section:first-child{margin:0}.elementor-tag-controls-stack-empty{background-color:#fff;padding:10px;font-size:13px;text-align:center}.elementor-control-dynamic-switcher{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-ms-flex-negative:0;flex-shrink:0;height:27px;cursor:pointer;border:1px solid #d5dadf;border-radius:3px;background:#fff}.elementor-control-dynamic-switcher.e-control-tool{height:20px;border:0}.elementor-control-dynamic-switcher-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-control-dynamic-switcher .eicon-database{font-size:12px}.elementor-control-dynamic-value .e-global__popover-toggle,.elementor-control-dynamic-value .elementor-control-dynamic-switcher,.elementor-control-dynamic-value .elementor-control-tag-area{display:none}.elementor-panel-box{margin-top:10px;background-color:#fff}.elementor-panel-box-content{padding:20px 20px 10px}.elementor-button{display:inline-block}.elementor-panel-alert{background-color:#fcfcfc;padding:15px;border-right:3px solid transparent;position:relative;font-size:12px;font-weight:300;font-style:italic;line-height:1.5;text-align:right;border-radius:3px 0 0 3px;-webkit-box-shadow:0 1px 4px 0 rgba(0,0,0,.07);box-shadow:0 1px 4px 0 rgba(0,0,0,.07)}.elementor-panel-alert a{color:inherit}.elementor-panel-alert.elementor-panel-alert-info{border-color:#71d7f7;background-color:#f3fcff}.elementor-panel-alert.elementor-panel-alert-success{border-color:#39b54a}.elementor-panel-alert.elementor-panel-alert-warning{border-color:#fcb92c}.elementor-panel-alert.elementor-panel-alert-danger{border-color:#d72b3f}.elementor-label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em;text-transform:capitalize}.elementor-label.elementor-label-default{background-color:#a4afb7}.elementor-label.elementor-label-info{background-color:#5bc0de}.elementor-label.elementor-label-success{background-color:#5cb85c}.elementor-label.elementor-label-warning{background-color:#f0ad4e}.elementor-label.elementor-label-danger{background-color:#d9534f}.elementor-control-field-description,.elementor-descriptor{font-size:11px;font-style:italic;line-height:1.4;color:#a4afb7}.elementor-controls-popover{display:none;position:absolute;-webkit-box-shadow:0 2px 15px rgba(0,0,0,.3);box-shadow:0 2px 15px rgba(0,0,0,.3);border-radius:3px;left:0;right:0;margin:-4px auto 5px;padding-top:15px;width:90%;z-index:10000;background-color:#fff}.elementor-controls-popover:before{content:"";position:absolute;top:-16px;left:22px;border:8px solid transparent;border-bottom-color:#fff}.elementor-controls-popover div.elementor-control{background-color:transparent}.elementor-controls-popover div.elementor-control:before{content:none}#elementor-controls .pojo-widget-button-collapse{display:none}#elementor-panel-global .elementor-nerd-box .elementor-nerd-box-icon{margin-top:20px}.elementor-control{--control-title-size:12px;background-color:#fff;position:relative;padding:0 20px 15px}.elementor-control a{font-weight:500;text-decoration:none;border-bottom:1px dotted transparent;-webkit-transition:all .3s ease-in-out;-o-transition:all ease-in-out .3s;transition:all .3s ease-in-out}.elementor-control a:hover{border-bottom-color:inherit}.elementor-control a.elementor-responsive-switcher{border-bottom:0}.elementor-control .elementor-control-content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.elementor-control .elementor-control-title{font-size:var(--control-title-size);line-height:1;margin-left:5px}.elementor-control .elementor-control-spinner{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-control.elementor-control-type-divider{padding:0;background-color:transparent}.elementor-control.elementor-control-type-divider .elementor-control-content{border:solid #e6e9ec;border-width:1px 0 0;background-color:#fff;height:15px}.elementor-control.elementor-control-separator-default:not(.elementor-control-type-divider).elementor-control-wp{margin-top:15px}.elementor-control.elementor-control-separator-default:not(.elementor-control-type-divider).elementor-control-wp:before{content:"";height:1px;display:block;margin-bottom:15px;background-color:transparent}.elementor-control.elementor-control-separator-before{padding-top:15px}.elementor-control.elementor-control-separator-before:before{content:"";position:absolute;height:1px;width:100%;top:0;left:0;background-color:#e6e9ec}.elementor-control.elementor-control-separator-after:after{content:"";position:absolute;height:1px;width:100%;bottom:0;left:0;background-color:#e6e9ec}.elementor-control.elementor-control-separator-after+.elementor-control-type-tabs+.elementor-control-separator-default,.elementor-control.elementor-control-separator-after:not(.elementor-hidden-control)+.elementor-control-separator-default{padding-top:15px}.elementor-control.elementor-control-deprecated,.elementor-control.elementor-control-deprecated .elementor-control-field-description{color:#b01b1b}.elementor-control.elementor-control-hidden-label>*>*>.elementor-control-title,.elementor-control.elementor-control-hidden-label>*>.elementor-control-title,.elementor-control.elementor-hidden-control{display:none}.elementor-control.elementor-control-type-heading .elementor-control-title{font-weight:700;margin:0}body:not(.elementor-device-desktop) .elementor-control.elementor-control-responsive-desktop,body:not(.elementor-device-laptop) .elementor-control.elementor-control-responsive-laptop,body:not(.elementor-device-mobile) .elementor-control.elementor-control-responsive-mobile,body:not(.elementor-device-mobile_extra) .elementor-control.elementor-control-responsive-mobile_extra,body:not(.elementor-device-tablet) .elementor-control.elementor-control-responsive-tablet,body:not(.elementor-device-tablet_extra) .elementor-control.elementor-control-responsive-tablet_extra,body:not(.elementor-device-widescreen) .elementor-control.elementor-control-responsive-widescreen{display:none}.elementor-control.elementor-control-type-select .elementor-control-input-wrapper{position:relative}.elementor-control.elementor-control-type-select .elementor-control-input-wrapper select{appearance:none;-webkit-appearance:none;-moz-appearance:none;font-size:12px;font-family:inherit;font-weight:inherit;font-style:inherit;text-transform:inherit;letter-spacing:inherit;line-height:inherit;-ms-flex-preferred-size:100%;flex-basis:100%;padding-right:5px;padding-left:20px;cursor:pointer}.elementor-control.elementor-control-type-select .elementor-control-input-wrapper select.e-select-placeholder{color:#a4afb7}.elementor-control.elementor-control-type-select .elementor-control-input-wrapper option.e-option-placeholder{display:none}.elementor-control.elementor-control-type-select .elementor-control-input-wrapper:after{font-family:eicons;content:"\e8ad";font-size:12px;position:absolute;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);left:5px;pointer-events:none}.elementor-control-custom_attributes_pro .elementor-nerd-box-message,.elementor-control-custom_css_pro .elementor-nerd-box-message{margin-top:5px}.elementor-control.elementor-control-custom_css_title{font-size:12px}.elementor-control.elementor-open .elementor-panel-heading-toggle .eicon:before,.elementor-panel-scheme-item.elementor-open .elementor-panel-heading-toggle .eicon:before{content:"\e92a"}.elementor-control:not(.elementor-open) .elementor-panel-heading-toggle .eicon:before,.elementor-panel-scheme-item:not(.elementor-open) .elementor-panel-heading-toggle .eicon:before{content:"\e909"}.elementor-panel-heading{display:table;table-layout:fixed;height:40px;padding:0 20px;width:100%;border-bottom:1px solid #e6e9ec;cursor:pointer}.elementor-panel-heading>*{display:table-cell;vertical-align:middle}.elementor-panel-heading-toggle{width:20px;color:#495157}.elementor-panel-heading-title{color:#495157;font-weight:700}.elementor-control-wp{line-height:1.5}.elementor-control-wp p{margin:15px 0}.elementor-control-field{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-label-block>.elementor-control-content>.elementor-control-field{-ms-flex-wrap:wrap;flex-wrap:wrap}.elementor-label-block>.elementor-control-content>.elementor-control-field>.elementor-control-input-wrapper{width:100%;margin-top:10px}.elementor-label-block>.elementor-control-content>.elementor-control-field>.elementor-control-input-wrapper>.elementor-choices label{width:auto;-webkit-box-flex:1;-ms-flex:1 1 27px;flex:1 1 27px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-label-block.elementor-control-hidden-label.elementor-label-block>.elementor-control-content>.elementor-control-field>.elementor-control-input-wrapper,.elementor-label-block.elementor-control-hidden-label:not(.elementor-control-dynamic)>.elementor-control-content>.elementor-control-field>.elementor-control-input-wrapper{margin-top:0}.elementor-label-inline>.elementor-control-content>.elementor-control-field>.elementor-control-title{-ms-flex-negative:0;flex-shrink:0}.elementor-label-inline>.elementor-control-content>.elementor-control-field>.elementor-control-input-wrapper{margin-right:auto}.elementor-control-field-description{margin-top:10px}.elementor-group-control-attachment_alert .elementor-control-field-description{margin-top:0}.elementor-required{color:#b01b1b}.elementor-units-choices{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;text-align:left}.elementor-units-choices input{display:none}.elementor-units-choices input:not(:checked)+label{color:#a4afb7}.elementor-units-choices input.e-units-placeholder+label{color:#c2cbd2;text-decoration:underline}.elementor-units-choices input:checked+label{text-decoration:underline}.elementor-units-choices label{cursor:pointer;padding:0 2px;text-transform:uppercase;font-size:9px}.elementor-control-start-end .eicon-h-align-left,.elementor-control-start-end .eicon-h-align-right{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.elementor-control-responsive-switchers{--selected-option:0;--pointer-position:var(--selected-option);position:relative;width:2em;height:2em;margin:calc(-2em + var(--control-title-size)) 0;margin-left:5px}.elementor-control-responsive-switchers__holder{position:absolute;width:100%;top:0;background-color:#fff;border-radius:3px;-webkit-transition:.15s;-o-transition:.15s;transition:.15s;border:1px solid transparent}.elementor-control-responsive-switchers.elementor-responsive-switchers-open{z-index:11000}.elementor-control-responsive-switchers.elementor-responsive-switchers-open .elementor-responsive-switcher{height:2em;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);opacity:1}.elementor-control-responsive-switchers.elementor-responsive-switchers-open .elementor-responsive-switcher:hover{color:#71d7f7}.elementor-control-responsive-switchers.elementor-responsive-switchers-open .elementor-control-responsive-switchers__holder{top:calc(-1 * var(--selected-option) * 2em);-webkit-box-shadow:0 0 3px rgba(0,0,0,.2);box-shadow:0 0 3px rgba(0,0,0,.2)}.elementor-responsive-switcher{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;position:relative;z-index:2;cursor:pointer;height:0;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);opacity:0;-webkit-transition:.15s;-o-transition:.15s;transition:.15s;font-size:12px}a.elementor-responsive-switcher{color:#a4afb7}a.elementor-responsive-switcher:hover{color:#71d7f7}.elementor-device-widescreen .elementor-responsive-switcher.elementor-responsive-switcher-widescreen{height:2em;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);opacity:1}.elementor-device-widescreen .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-widescreen{color:#71d7f7}.elementor-device-desktop .elementor-responsive-switcher.elementor-responsive-switcher-desktop{height:2em;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);opacity:1}.elementor-device-desktop .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-desktop{color:#71d7f7}.elementor-device-laptop .elementor-responsive-switcher.elementor-responsive-switcher-laptop{height:2em;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);opacity:1}.elementor-device-laptop .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-laptop{color:#71d7f7}.elementor-device-tablet_extra .elementor-responsive-switcher.elementor-responsive-switcher-tablet_extra{height:2em;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);opacity:1}.elementor-device-tablet_extra .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-tablet_extra{color:#71d7f7}.elementor-device-tablet .elementor-responsive-switcher.elementor-responsive-switcher-tablet{height:2em;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);opacity:1}.elementor-device-tablet .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-tablet{color:#71d7f7}.elementor-device-mobile_extra .elementor-responsive-switcher.elementor-responsive-switcher-mobile_extra{height:2em;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);opacity:1}.elementor-device-mobile_extra .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-mobile_extra{color:#71d7f7}.elementor-device-mobile .elementor-responsive-switcher.elementor-responsive-switcher-mobile{height:2em;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);opacity:1}.elementor-device-mobile .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-mobile{color:#71d7f7}.elementor-update-preview{margin:15px 15px 0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-update-preview-button-wrapper{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;text-align:left}.elementor-update-preview-button{padding:8px 15px;text-transform:uppercase}.elementor-control-direction-ltr input,.elementor-control-direction-ltr textarea{direction:ltr}.elementor-control-direction-rtl input,.elementor-control-direction-rtl textarea{direction:rtl}.elementor-control-type-button .elementor-control-input-wrapper{text-align:left}.elementor-control-type-button .elementor-button{width:auto;height:26px}.elementor-control-type-choose.elementor-label-block .elementor-choices{width:100%}.elementor-choices{display:-webkit-box;display:-ms-flexbox;display:flex;height:27px;line-height:27px;text-align:center;border-spacing:1px;border-radius:3px;overflow:hidden}.elementor-choices .elementor-choices-label{border:1px solid #d5dadf;border-left:none;font-size:12px;-webkit-transition:all .5s;-o-transition:all .5s;transition:all .5s;cursor:pointer;overflow:hidden}.elementor-choices .elementor-choices-label:nth-child(2){border-top-right-radius:3px;border-bottom-right-radius:3px}.elementor-choices .elementor-choices-label:last-child{border-left:1px solid #d5dadf;border-top-left-radius:3px;border-bottom-left-radius:3px}.elementor-choices input{display:none}.elementor-choices input.e-choose-placeholder+.elementor-choices-label{color:#fff;background-color:#c2cbd2;border-color:#c2cbd2}.elementor-choices input:checked+.elementor-choices-label{color:#fff;background-color:#a4afb7;border-color:#a4afb7}.elementor-label-inline .elementor-choices{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.rtl .elementor-control-type-choose[class*=elementor-control-align] .elementor-choices,.rtl .elementor-control-type-choose[class*=elementor-control-position] .elementor-choices,.rtl .elementor-control-type-choose[class*=elementor-control-text_align] .elementor-choices{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.rtl .elementor-control-type-choose[class*=elementor-control-align] .elementor-choices .elementor-choices-label:nth-child(2),.rtl .elementor-control-type-choose[class*=elementor-control-position] .elementor-choices .elementor-choices-label:nth-child(2),.rtl .elementor-control-type-choose[class*=elementor-control-text_align] .elementor-choices .elementor-choices-label:nth-child(2){border-left:1px solid #d5dadf;border-radius:3px 0 0 3px}.rtl .elementor-control-type-choose[class*=elementor-control-align] .elementor-choices .elementor-choices-label:last-child,.rtl .elementor-control-type-choose[class*=elementor-control-position] .elementor-choices .elementor-choices-label:last-child,.rtl .elementor-control-type-choose[class*=elementor-control-text_align] .elementor-choices .elementor-choices-label:last-child{border-left:none;border-radius:0 3px 3px 0}.elementor-control-type-color.e-control-global .e-global__popover-toggle~.pickr{border-radius:3px 0 0 3px;-ms-flex-negative:0;flex-shrink:0}.elementor-control-type-color .elementor-control-title{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-control-type-color .elementor-control-input-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-control-type-color .elementor-control-dynamic-switcher{border-right-width:0;border-radius:3px 0 0 3px}.elementor-control-type-color.elementor-control-dynamic .pickr{border-radius:0 3px 3px 0}.elementor-group-control-css-filter .elementor-slider{height:6px;-webkit-box-shadow:0 0 1px 1px inset rgba(0,0,0,.2);box-shadow:inset 0 0 1px 1px rgba(0,0,0,.2)}.elementor-group-control-css-filter .elementor-control-content>.elementor-control-field>.elementor-control-input-wrapper{margin-top:0;margin-bottom:5px}.elementor-group-control-blur .elementor-slider{background:url(../images/blur.png);background-size:cover;background-position:50%}.elementor-group-control-contrast .elementor-slider{background:url(../images/contrast.png);background-size:100% 100%}.elementor-group-control-hue .elementor-slider{background-image:-o-linear-gradient(left,red,orange,#ff0,#adff2f,#32cd32,#00bfff,#00f,#9400d3 95%);background-image:-webkit-gradient(linear,left top,right top,from(red),color-stop(orange),color-stop(#ff0),color-stop(#adff2f),color-stop(#32cd32),color-stop(#00bfff),color-stop(#00f),color-stop(95%,#9400d3));background-image:linear-gradient(90deg,red,orange,#ff0,#adff2f,#32cd32,#00bfff,#00f,#9400d3 95%)}.elementor-group-control-saturate .elementor-slider{background-image:-o-linear-gradient(left,grey,red);background-image:-webkit-gradient(linear,left top,right top,from(grey),to(red));background-image:linear-gradient(90deg,grey,red)}.elementor-group-control-brightness .elementor-slider{background-image:-o-linear-gradient(left,#000,#fff);background-image:-webkit-gradient(linear,left top,right top,from(#000),to(#fff));background-image:linear-gradient(90deg,#000,#fff)}.elementor-control-type-dimensions .elementor-control-dimensions{overflow:hidden}.elementor-control-type-dimensions li{float:left;width:20%}.elementor-control-type-dimensions li .elementor-link-dimensions,.elementor-control-type-dimensions li input{display:block;text-align:center;width:100%;border-color:#d5dadf;height:27px}.elementor-control-type-dimensions li input{border-left:none;border-radius:0;padding:4px 0}.elementor-control-type-dimensions li input:focus{border-left:1px solid;border-color:#a4afb7;margin-left:-1px;width:calc(100% + 1px)}.elementor-control-type-dimensions li input:focus+.elementor-control-dimension-label{color:#a4afb7}.elementor-control-type-dimensions li .elementor-link-dimensions{border:1px solid #d5dadf;border-left:none;background-color:#fff;padding:0;outline:none;border-radius:0 3px 3px 0;cursor:pointer}.elementor-control-type-dimensions li:first-child input{border-left:1px solid #d5dadf;border-radius:3px 0 0 3px}.elementor-control-type-dimensions li:first-child input:focus{border-color:#a4afb7;margin-left:0;width:100%}.elementor-control-type-dimensions .elementor-control-dimension-label{display:block;text-align:center;color:#d5dadf;font-size:9px;text-transform:uppercase;padding-top:5px}.elementor-control-type-dimensions .elementor-link-dimensions.unlinked{background-color:#fff}.elementor-control-type-dimensions .elementor-link-dimensions.unlinked .elementor-linked{display:none}.elementor-control-type-dimensions .elementor-link-dimensions:not(.unlinked){background-color:#a4afb7;border-color:#a4afb7}.elementor-control-type-dimensions .elementor-link-dimensions:not(.unlinked) .elementor-unlinked{display:none}.elementor-control-type-dimensions .elementor-link-dimensions .elementor-linked{color:#fff}.elementor-control-type-icons .elementor-control-media__preview>*{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.elementor-control-type-icons .elementor-control-media__preview i{font-size:70px;color:#6d7882}.elementor-control-type-icons .elementor-control-media__preview svg{height:75%}.elementor-control-type-icons .elementor-control-icons--inline__svg i.eicon-upload{font-size:15px}.elementor-control-type-gallery .elementor-control-media__content{border:1px solid #d5dadf;border-radius:3px}.elementor-control-type-gallery .elementor-control-gallery-status{font-size:12px;height:27px;padding-right:10px;border-bottom:1px solid #d5dadf;display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-control-type-gallery .elementor-control-gallery-status>*{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-control-type-gallery .elementor-control-gallery-status-title{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-control-type-gallery .elementor-control-gallery-content{position:relative;overflow:hidden}.elementor-control-type-gallery .elementor-control-gallery-content:not(:hover) .elementor-control-gallery-edit{opacity:0}.elementor-control-type-gallery .elementor-control-gallery-thumbnails{display:grid;grid-template-columns:repeat(auto-fill,minmax(48px,1fr));grid-gap:10px;cursor:pointer;padding:10px}.elementor-control-type-gallery .elementor-control-gallery-thumbnail{width:48px;height:48px;background-size:cover;background-position:50% 50%}.elementor-control-type-gallery .elementor-control-gallery-edit{position:absolute;top:0;bottom:0;left:0;right:0;background-color:rgba(109,120,130,.3);padding:10px;font-size:11px;-webkit-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out;transition:all .3s ease-in-out;pointer-events:none;cursor:pointer;opacity:1}.elementor-control-type-gallery .elementor-control-gallery-edit span{position:absolute;top:10px;left:10px;width:21px;height:21px;background-color:hsla(0,0%,100%,.9);color:#a4afb7;-webkit-box-shadow:0 0 7px 0 rgba(0,0,0,.2);box-shadow:0 0 7px 0 rgba(0,0,0,.2);border-radius:3px}.elementor-control-type-gallery .elementor-control-gallery-edit span i{font-size:11px;padding:5px}.elementor-control-type-gallery .elementor-control-gallery-add{width:48px;height:48px;color:#fff;background-color:#d5dadf;font-size:14px;border-radius:0}.elementor-control-type-gallery .elementor-control-gallery-add:hover{background-color:#c2cbd2}.elementor-control-type-gallery .elementor-control-gallery-add i{margin:0;color:#a4afb7}.elementor-control-type-gallery.elementor-gallery-empty .elementor-control-gallery-clear,.elementor-control-type-gallery.elementor-gallery-empty .elementor-control-gallery-edit,.elementor-control-type-gallery.elementor-gallery-empty .elementor-control-gallery-thumbnails{display:none}.elementor-control-type-gallery.elementor-gallery-empty .elementor-control-gallery-content{padding:10px}.elementor-control-type-gallery.elementor-gallery-has-images .elementor-control-gallery-add{display:none}.elementor-control-type-gallery.elementor-control-dynamic .elementor-control-gallery-clear{border-right:1px solid #d5dadf}.elementor-control-type-gallery .elementor-control-gallery-clear{cursor:pointer;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-control-type-gallery .elementor-control-gallery-clear:hover{color:#b01b1b}.elementor-control-type-gallery .elementor-control-dynamic-switcher{border:1px solid #d5dadf;border-top:none;border-left:none;border-radius:3px 0 0 0}.e-global__popover{width:288px;z-index:1;font-size:12px;padding-right:10px}.e-global__popover-toggle{border:1px solid #d5dadf;border-left:0;border-radius:0 3px 3px 0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;cursor:pointer}.e-global__popover-toggle--active i{color:#71d7f7}.e-global__popover-container{-webkit-box-shadow:0 2px 15px rgba(0,0,0,.3);box-shadow:0 2px 15px rgba(0,0,0,.3);border-radius:3px;background-color:#fff;padding-bottom:5px}.e-global__popover-title{padding:15px 20px;font-weight:500;color:#6d7882;border-bottom:1px solid #e6e9ec;display:-webkit-box;display:-ms-flexbox;display:flex}.e-global__popover-title>i{margin-left:5px;color:#d5dadf}.e-global__popover-title-text{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.e-global__popover-info{margin-left:5px;display:inline-block}.e-global__popover-info-tooltip{width:270px;z-index:1;background-color:rgba(0,0,0,.9);color:#fff;padding:20px;border-radius:3px}.e-global__popover-info-tooltip:after{content:"";position:absolute;bottom:-17px;right:16px;border:10px solid transparent;border-top-color:rgba(0,0,0,.9)}.e-global__popover-info i{color:#d5dadf;font-size:13px}.e-global__preview-items-container{max-height:260px;overflow-y:auto;margin-top:5px}.e-global__preview-items-container::-webkit-scrollbar{width:7px}.e-global__preview-items-container::-webkit-scrollbar-thumb{background-color:#c2cbd2;border-radius:10px}.e-global__manage-button{font-weight:500;cursor:pointer}.e-global__manage-button:hover i{color:#4ab7f4}.e-global__manage-button i{color:#6d7882}.e-global__typography{padding:5px 35px 5px 10px;white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden}.e-global__typography.e-global__preview-item--selected:before{font-family:eicons;font-size:13px;content:"\e90e";position:absolute;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);top:50%;left:12px}.e-global__color{margin:5px auto;padding:5px 20px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.e-global__color:first-child{margin-top:5px}.e-global__color:last-child{margin-bottom:10px}.e-global__color-preview-container{height:20px;width:20px;border-radius:3px;border:1px solid rgba(0,0,0,.1);margin-left:10px;-ms-flex-negative:0;flex-shrink:0;position:relative}.e-global__color-preview-color,.e-global__color-preview-transparent-bg{border-radius:3px;height:100%;width:100%;position:absolute;top:0;left:0}.e-global__color-preview-transparent-bg{background-image:-o-linear-gradient(45deg,#ddd 25%,transparent 0,transparent 75%,#ddd 0,#ddd),-o-linear-gradient(45deg,#ddd 25%,transparent 0,transparent 75%,#ddd 0,#ddd);background-image:linear-gradient(45deg,#ddd 25%,transparent 0,transparent 75%,#ddd 0,#ddd),linear-gradient(45deg,#ddd 25%,transparent 0,transparent 75%,#ddd 0,#ddd);background-size:12px 12px;background-position:0 0,6px 6px}.e-global__color-title{font-weight:500;color:#6d7882;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden;padding-left:10px}.e-global__color-hex{font-size:10px;font-weight:500;color:#c2cbd2}.e-global__color .pcr-button{background-color:#fff}.e-global__color.e-global__preview-item--selected .e-global__color-preview-container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#fff}.e-global__color.e-global__preview-item--selected .e-global__color-preview-container:before{font-family:eicons;font-size:13px;content:"\e90e";text-shadow:0 0 1px #000;z-index:1}.e-global__preview-item{cursor:pointer;position:relative}.e-global__preview-item:hover{background-color:#f1f3f5}.e-global__preview-item:hover .e-global__color-hex{color:#a4afb7}.e-global__confirm-add .dialog-buttons-wrapper>.dialog-button.dialog-confirm-ok{color:#39b54a}.e-global__confirm-delete i{color:#b01b1b}.e-global__confirm-message-text i{color:#fcb92c}.e-global__confirm-input-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:1px solid #a4afb7;border-radius:3px;margin-top:10px;padding:2px}.e-global__confirm-input-wrapper input{font-family:Roboto,Arial,sans-serif;font-weight:500;font-size:12px;padding:2px;border:0}.e-control-global .elementor-control-input-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;max-width:135px;width:100%}.e-control-global.elementor-control .elementor-control-input-wrapper{direction:rtl}.e-control-global .elementor-control-spinner{margin-left:4px}.elementor-control-type-hidden{display:none!important}.elementor-control-type-icon .select2-selection__rendered .eicon{margin-right:3px}.elementor-control-type-image_dimensions .elementor-control-field-description{margin:0 0 15px;line-height:1.4}.elementor-control-type-image_dimensions .elementor-control-input-wrapper{overflow:hidden}.elementor-control-type-image_dimensions .elementor-image-dimensions-field{width:65px;float:right}.elementor-control-type-image_dimensions .elementor-image-dimensions-field input:focus+.elementor-image-dimensions-field-description{color:#a4afb7}.elementor-control-type-image_dimensions .elementor-image-dimensions-separator{width:20px;text-align:center;float:right;padding-top:4px}.elementor-control-type-image_dimensions .elementor-image-dimensions-field-description{display:block;text-transform:uppercase;margin-top:5px;color:#d5dadf;font-size:9px;text-align:center}.elementor-control-type-image_dimensions .elementor-image-dimensions-apply-button{float:left;height:27px;width:65px}.elementor-control-media.elementor-media-empty .elementor-control-media-area .elementor-control-media__content__remove,.elementor-control-media.elementor-media-empty .elementor-control-media-area .elementor-control-media__remove,.elementor-control-media:not(.elementor-media-empty) .elementor-control-media__content__upload-button{display:none}.elementor-control-media .elementor-control-input-wrapper{border:1px solid #d5dadf}.elementor-control-media .eicon-plus-circle{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);color:#fff;font-size:20px}.elementor-control-media__content__upload-button{background-color:#d5dadf}.elementor-control-media__preview{height:100%;background-size:cover;background-position:50%}.elementor-control-media-area{background-image:-o-linear-gradient(45deg,#ddd 25%,transparent 0,transparent 75%,#ddd 0,#ddd),-o-linear-gradient(45deg,#ddd 25%,transparent 0,transparent 75%,#ddd 0,#ddd);background-image:linear-gradient(45deg,#ddd 25%,transparent 0,transparent 75%,#ddd 0,#ddd),linear-gradient(45deg,#ddd 25%,transparent 0,transparent 75%,#ddd 0,#ddd);background-size:16px 16px;background-position:0 0,8px 8px;background-color:#f6f6f6}.elementor-control-media-area:not(:hover) .elementor-control-media__remove{display:none}.elementor-control-media-area .eicon-video-camera{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);color:hsla(0,0%,100%,.7);font-size:21px}.elementor-control-media .elementor-control-media__content{cursor:pointer;overflow:hidden}.elementor-control-media .elementor-control-media__content:hover:after{content:"";position:absolute;top:0;bottom:0;left:0;right:0;background-color:rgba(0,0,0,.2);pointer-events:none}.elementor-control-media .elementor-control-media__content:not(:hover) .elementor-control-media__tools{bottom:-30px}.elementor-control-media__content,.elementor-control-media__tools{-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.elementor-control-media__tools{position:absolute;bottom:0;left:0;right:0;height:27px}.elementor-control-media__tools>:not(:first-child){margin-right:1px}.elementor-control-media__tool{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;color:#fff;background-color:rgba(109,120,130,.85);font-size:11px;-webkit-transition:background .3s;-o-transition:background .3s;transition:background .3s}.elementor-control-media__tool:hover{background-color:rgba(109,120,130,.95)}.elementor-control-media__remove{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.elementor-control-media__content__remove{position:absolute;z-index:1;top:10px;left:10px;width:20px;height:20px;font-size:11px;color:#a4afb7;background-color:hsla(0,0%,100%,.9);border-radius:3px;-webkit-box-shadow:0 0 7px 0 rgba(0,0,0,.1);box-shadow:0 0 7px 0 rgba(0,0,0,.1)}.elementor-control-media__content__remove:hover{background-color:#fff;-webkit-box-shadow:0 0 5px 0 rgba(0,0,0,.4);box-shadow:0 0 5px 0 rgba(0,0,0,.4)}.elementor-control-media.elementor-media-empty .elementor-control-file-area{display:none}.elementor-control-media__file{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;margin-top:10px;border:1px solid #d5dadf}.elementor-control-media__file__content{padding-right:5px;font-size:12px}.elementor-control-media__file__content__label{color:#a4afb7}.elementor-control-media__file__content__info{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-weight:500}.elementor-control-media__file__content__info__icon{margin-left:5px}.elementor-control-media__file__controls{display:-webkit-box;display:-ms-flexbox;display:flex;border-right:1px solid #d5dadf}.elementor-control-media__file__controls__remove,.elementor-control-media__file__controls__upload-button{width:27px;height:27px;cursor:pointer;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-control-media__file__controls__upload-button{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-control-media__file__controls__remove{border-left:1px solid #d5dadf}.elementor-control-media.elementor-media-empty .elementor-control-media__file__content__info,.elementor-control-media.elementor-media-empty .elementor-control-media__file__controls__remove,.elementor-control-media:not(.elementor-media-empty) .elementor-control-media__file__content__label{display:none}.elementor-control-media .elementor-control-dynamic-switcher{border:none;border-radius:0;background-color:rgba(109,120,130,.85);color:#fff}.elementor-control-media .elementor-control-dynamic-switcher:hover{background-color:rgba(109,120,130,.95)}.elementor-control-type-media.elementor-control-dynamic-value .elementor-control-input-wrapper{border:none}.elementor-control:not(.elementor-control-type-icons) .elementor-control-media__preview{background-color:#d5dadf}.elementor-control-type-number.elementor-control-dynamic input{border-radius:0 3px 3px 0;border-left:none}.elementor-control-type-number.elementor-control-dynamic .elementor-control-dynamic-switcher{border-radius:3px 0 0 3px}.elementor-control-type-order .elementor-control-oreder-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-control-type-order input{display:none}.elementor-control-type-order input:checked+.elementor-control-order-label{-webkit-transform:scaleY(-1);-ms-transform:scaleY(-1);transform:scaleY(-1)}.elementor-control-type-order select{border-radius:3px 0 0 3px}.elementor-control-type-order select:not(:focus)~.elementor-control-order-label{border-color:#d5dadf}.elementor-control-type-order select:focus~.elementor-control-order-label{border-color:#a4afb7}.elementor-control-type-order .elementor-control-order-label{position:relative;padding:0;width:40px;border:1px solid;font-size:10px;border-radius:0 3px 3px 0;margin-left:-3px;background-color:#fff;cursor:pointer}.elementor-control-type-order .elementor-control-order-label i{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.elementor-control-type-popover_toggle input{display:none}.elementor-control-type-popover_toggle label{cursor:pointer}.elementor-control-type-popover_toggle .elementor-control-input-wrapper{direction:ltr}.elementor-control-type-popover_toggle .elementor-control-popover-toggle-toggle:checked+.elementor-control-popover-toggle-toggle-label{color:#71d7f7}.elementor-control-type-popover_toggle .elementor-control-popover-toggle-toggle:not(:checked)~.elementor-control-popover-toggle-reset-label{display:none}.elementor-control-type-popover_toggle .elementor-control-popover-toggle-reset-label{color:#c2cbd2;margin-left:5px}.elementor-control-type-popover_toggle .elementor-control-popover-toggle-toggle-label{height:27px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border-radius:3px;border:1px solid #d5dadf}.elementor-controls-popover.e-controls-popover--typography{padding-top:0}.e-control-global .elementor-control-popover-toggle-toggle-label{border-radius:3px 0 0 3px;-ms-flex-negative:0;flex-shrink:0}.elementor-control-type-repeater .elementor-control:not(.elementor-control-type-tab){padding-right:10px;padding-left:10px;padding-bottom:10px}.elementor-control-type-repeater.elementor-repeater-has-minimum-rows .elementor-repeater-tool-remove{display:none}.elementor-control-type-repeater .elementor-repeater-fields{margin:10px 0}.elementor-control-type-repeater .elementor-repeater-row-controls{border:1px solid #d5dadf;border-top:0 solid #d5dadf;padding-top:15px}.elementor-control-type-repeater .elementor-repeater-row-controls:not(.editable){display:none}.elementor-control-type-repeater .elementor-repeater-row-tools{display:table;table-layout:fixed;width:100%;color:#556068;background-color:#d5dadf;height:40px;border-spacing:1px;-webkit-transition:all .5s;-o-transition:all .5s;transition:all .5s}.elementor-control-type-repeater .elementor-repeater-row-tools:hover{background-color:#a4afb7}.elementor-control-type-repeater .elementor-repeater-row-tools>div{display:table-cell;text-align:center;vertical-align:middle;cursor:pointer}.elementor-control-type-repeater .elementor-repeater-row-tools>div:not(.elementor-repeater-row-handle-sortable){background-color:#fff}.elementor-control-type-repeater .elementor-repeater-row-tools>div:hover{opacity:.95}.elementor-control-type-repeater .elementor-repeater-row-tools .elementor-repeater-row-item-title{text-align:right;padding:0 10px;font-size:12px;white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden}.elementor-control-type-repeater .elementor-repeater-row-tools .elementor-repeater-row-item-title .eicon,.elementor-control-type-repeater .elementor-repeater-row-tools .elementor-repeater-row-item-title i,.elementor-control-type-repeater .elementor-repeater-row-tools .elementor-repeater-row-item-title svg{margin-left:5px}.elementor-control-type-repeater .elementor-repeater-row-tools .elementor-repeater-row-item-title img[src$=svg]{width:1em}.elementor-control-type-repeater .elementor-repeater-row-tools .elementor-repeater-row-tool{width:40px}.elementor-control-type-repeater .elementor-repeater-row-tools .elementor-repeater-row-handle-sortable{cursor:move;width:10px;color:#fff}.elementor-control-type-repeater .elementor-button-wrapper{text-align:center;padding-top:5px}.elementor-control-type-section{margin-top:10px;padding:0}.elementor-control-type-section.elementor-open{padding-bottom:15px}.elementor-control-type-section+.elementor-control:not(.elementor-control-type-section):before{display:none}.elementor-shadow-box .elementor-shadow-slider{margin-top:10px}.elementor-shadow-box .elementor-color-picker-wrapper .elementor-control-title{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-control-type-slider.elementor-control-dynamic input{border-radius:0 3px 3px 0}.elementor-control-type-slider .elementor-control-unit-2{width:21%}.elementor-control-type-slider.elementor-control-type-slider--multiple .elementor-control-input-wrapper{display:block}.elementor-control-type-slider--multiple{padding-bottom:40px}.elementor-control-type-slider--multiple .elementor-slider{margin-top:12px;width:98%}.elementor-control-type-slider--handles-range .elementor-slider .noUi-handle{border-radius:0;width:10px;-webkit-transform:translateY(calc(50% - 14px)) translateX(-4px);-ms-transform:translateY(calc(50% - 14px)) translateX(-4px);transform:translateY(calc(50% - 14px)) translateX(-4px)}.elementor-control-type-slider--handles-range .elementor-slider .noUi-handle:after{content:"";position:absolute;top:2px;height:12px;width:11px;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);background-color:#fff;border-radius:3px}.elementor-control-type-slider--handles-range .elementor-slider .noUi-handle-lower:after{left:5px;-webkit-box-shadow:2px -2px 3px 0 rgba(0,0,0,.1);box-shadow:2px -2px 3px 0 rgba(0,0,0,.1)}.elementor-control-type-slider--handles-range .elementor-slider .noUi-handle-upper:after{right:5px;-webkit-box-shadow:-2px 2px 3px 0 rgba(0,0,0,.1);box-shadow:-2px 2px 3px 0 rgba(0,0,0,.1)}.elementor-control-type-slider .elementor-control-dynamic-switcher{border-right-width:0;border-radius:3px 0 0 3px}.elementor-control-type-slider .elementor-control-input-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-control-type-slider .elementor-dynamic-cover{margin-top:10px}.elementor-slider{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;height:4px;background-color:#d5dadf;border-radius:5px;position:relative;cursor:pointer}.elementor-slider-input{width:21%;min-width:54px;margin-right:12px}.elementor-slider__extra{position:relative}.elementor-slider__labels{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.elementor-slider__label{font-size:9px;color:#c2cbd2}.elementor-slider__scales{position:absolute;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:space-evenly;-ms-flex-pack:space-evenly;justify-content:space-evenly;width:100%;margin-top:4px}.elementor-slider__scale{width:1px;height:21px;background-color:#a4afb7}.elementor-slider .noUi-handle{height:16px;width:16px;background-color:#fff;left:0;-webkit-transform:translateY(calc(50% - 14px)) translateX(-8px);-ms-transform:translateY(calc(50% - 14px)) translateX(-8px);transform:translateY(calc(50% - 14px)) translateX(-8px);position:absolute;-webkit-box-shadow:0 1px 5px rgba(0,0,0,.3);box-shadow:0 1px 5px rgba(0,0,0,.3);border-radius:50%}.elementor-slider .noUi-connects{position:absolute;width:100%;height:4px}.elementor-slider .noUi-connect{position:absolute;z-index:0;top:0;left:0;height:100%;width:100%;will-change:transform;-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0;background-color:#a4afb7}.elementor-slider .noUi-tooltip{position:absolute;top:calc(100% + 5px);left:calc(50% - 4px);-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);font-size:10px}.elementor-control-type-structure .elementor-control-field{display:initial}.elementor-control-type-structure .elementor-control-structure-preset{padding:3px;border-radius:3px;display:inline-block;cursor:pointer;height:50px}.elementor-control-type-structure .elementor-control-structure-preset svg{height:100%}.elementor-control-type-structure .elementor-control-structure-preset path{fill:#e6e9ec}.elementor-control-type-structure .elementor-control-structure-reset{padding:15px 20px 0;font-size:11px;cursor:pointer;color:#a4afb7;border-top:1px solid #e6e9ec;margin:0 -20px}.elementor-control-type-structure .elementor-control-structure-title{margin:10px -20px 0}.elementor-control-type-structure .elementor-control-structure-title:before{height:10px;-webkit-box-shadow:inset 0 2px 4px hsla(0,0%,49.8%,.1);box-shadow:inset 0 2px 4px hsla(0,0%,49.8%,.1)}.elementor-control-type-structure .elementor-control-structure-presets{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.elementor-control-type-structure .elementor-control-structure-presets input{display:none}.elementor-control-type-structure .elementor-control-structure-presets input:checked+.elementor-control-structure-preset path{fill:#a4afb7}.elementor-control-type-structure .elementor-control-structure-preset-wrapper{margin-bottom:15px}.elementor-control-type-structure .elementor-control-structure-preset-title{text-align:center;padding-top:5px;font-style:italic;font-size:11px;color:#a4afb7}.elementor-control-type-switcher .elementor-control-input-wrapper{text-align:left}.elementor-control-type-switcher .elementor-switch{position:relative;display:inline-block;vertical-align:top;height:20px;background-color:#fff;border-radius:18px;cursor:pointer}.elementor-control-type-switcher .elementor-switch-input{display:none}.elementor-control-type-switcher .elementor-switch-label{position:relative;display:block;height:inherit;font-size:7px;text-transform:uppercase;background:#eceeef;border-radius:inherit;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.12),inset 0 0 2px rgba(0,0,0,.15);box-shadow:inset 0 1px 2px rgba(0,0,0,.12),inset 0 0 2px rgba(0,0,0,.15);-webkit-transition:.15s ease-out;-o-transition:.15s ease-out;transition:.15s ease-out;-webkit-transition-property:opacity,background;-o-transition-property:opacity,background;transition-property:opacity,background}.elementor-control-type-switcher .elementor-switch-label:after,.elementor-control-type-switcher .elementor-switch-label:before{position:absolute;top:0;width:50%;text-align:center;line-height:20px;-webkit-transition:inherit;-o-transition:inherit;transition:inherit}.elementor-control-type-switcher .elementor-switch-label:before{content:attr(data-off);right:3px;color:#a4afb7;text-shadow:0 1px hsla(0,0%,100%,.5)}.elementor-control-type-switcher .elementor-switch-label:after{content:attr(data-on);left:3px;color:#fff;text-shadow:0 1px rgba(0,0,0,.2);opacity:0}.elementor-control-type-switcher .elementor-switch-input:checked~.elementor-switch-label{background:#71d7f7;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.15),inset 0 0 3px rgba(0,0,0,.2);box-shadow:inset 0 1px 2px rgba(0,0,0,.15),inset 0 0 3px rgba(0,0,0,.2)}.elementor-control-type-switcher .elementor-switch-input:checked~.elementor-switch-label:before{opacity:0}.elementor-control-type-switcher .elementor-switch-input:checked~.elementor-switch-label:after{opacity:1}.elementor-control-type-switcher .elementor-switch-handle{position:absolute;top:1px;left:1px;width:18px;height:18px;background:#fff;border-radius:10px;-webkit-transition:left .15s ease-out;-o-transition:left .15s ease-out;transition:left .15s ease-out}.elementor-control-type-switcher .elementor-switch-input:checked~.elementor-switch-handle{left:auto;right:1px;-webkit-box-shadow:-1px 1px 5px rgba(0,0,0,.2);box-shadow:-1px 1px 5px rgba(0,0,0,.2)}.elementor-control-type-tabs{font-size:.8em;text-transform:uppercase;display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-control-type-tab{text-align:center;width:100%;padding:0;line-height:25px;border-top:1px solid #d5dadf;border-bottom:1px solid #d5dadf;border-left:1px solid #d5dadf;cursor:pointer}.elementor-control-type-tab:first-child{border-right:1px solid #d5dadf;border-top-right-radius:3px;border-bottom-right-radius:3px}.elementor-control-type-tab:last-child{border-top-left-radius:3px;border-bottom-left-radius:3px}.elementor-control-type-tab.elementor-tab-active{background-color:#a4afb7;border-color:#a4afb7;color:#fff}.elementor-tab-close{display:none!important}.elementor-control-type-code.elementor-control-dynamic-value .elementor-control-dynamic-switcher,.elementor-control-type-textarea.elementor-control-dynamic-value .elementor-control-dynamic-switcher{border-radius:3px 0 0 3px;border-right-width:0}.elementor-control-type-code .elementor-control-dynamic-switcher,.elementor-control-type-textarea .elementor-control-dynamic-switcher{border-radius:0 3px}.elementor-control-type-code:not(.elementor-control-dynamic-value) .elementor-control-dynamic-switcher,.elementor-control-type-textarea:not(.elementor-control-dynamic-value) .elementor-control-dynamic-switcher{position:absolute;top:0;z-index:1;right:0}.elementor-control-type-code .elementor-control-input-wrapper,.elementor-control-type-textarea .elementor-control-input-wrapper{position:relative}.elementor-control-type-code textarea,.elementor-control-type-textarea textarea{display:block;font-family:inherit}.elementor-control-type-code textarea:focus+.elementor-control-dynamic-switcher,.elementor-control-type-textarea textarea:focus+.elementor-control-dynamic-switcher{display:none}.elementor-control-type-code pre:focus-within+.elementor-control-dynamic-switcher,.elementor-control-type-textarea pre:focus-within+.elementor-control-dynamic-switcher{display:none}.elementor-control-type-url.elementor-control-dynamic .elementor-input{border-radius:3px 0 0 3px}.elementor-control-type-url .elementor-control-field{position:relative}.elementor-control-type-url.elementor-control-dynamic-value .elementor-control-url-more,.elementor-control-type-url:not(.elementor-control-dynamic) .elementor-control-url-more{border-radius:0 3px 3px 0}.elementor-control-type-url .elementor-control-input-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-control-type-url .elementor-control-url-more{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-ms-flex-negative:0;flex-shrink:0;border:1px solid #d5dadf;border-left:none;cursor:pointer}.elementor-control-type-url .elementor-control-url-more i{font-size:12px}.elementor-control-type-url .elementor-control-url-more-options{display:none;padding-top:10px}.elementor-control-type-url .elementor-control-url-more-options .elementor-control-field-description{margin-top:10px}.elementor-control-type-url .elementor-control-url-option{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-control-type-url .elementor-control-url-option:not(:last-child){padding-bottom:10px}.elementor-control-type-url .elementor-control-url-option input,.elementor-control-type-url .elementor-control-url-option label{cursor:pointer}.elementor-control-type-url .elementor-control-url-option-input{padding:0;border-radius:2px;margin:0 0 0 5px;-webkit-appearance:none;-moz-appearance:none;outline:none;content:none;height:15px;width:15px;border:1px solid #d5dadf;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-control-type-url .elementor-control-url-option-input:checked{background:#71d7f7;border:none}.elementor-control-type-url .elementor-control-url-option-input:checked:before{display:block;content:"";width:4px;height:7px;border:solid #fff;border-width:0 2px 2px 0;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.elementor-control-type-url .elementor-control-url-option label{font-size:12px}.elementor-control-type-url .elementor-control-url-external-hide .elementor-control-url-more{display:none}.elementor-control-type-url .elementor-control-url-external-show .elementor-dynamic-cover,.elementor-control-type-url .elementor-control-url-external-show .elementor-input{border-radius:3px 0 0 3px}.elementor-control-type-url .elementor-control-url-autocomplete-spinner{display:none;position:absolute;top:5px;right:0;width:10px;height:10px;font-size:10px;color:#d4d4d4}.elementor-control-type-url .elementor-control-url__custom-attributes{margin-top:5px}.elementor-control-type-url .elementor-control-url__custom-attributes label{font-size:12px}.elementor-control-type-url .elementor-control-url__custom-attributes input{width:100%;margin-top:10px}.elementor-control-type-url .elementor-input{direction:ltr}.elementor-control-type-url .elementor-input:not(:focus)+.elementor-control-url-more{border-color:#d5dadf}.elementor-control-type-url .elementor-input:focus~div{border-color:#a4afb7}.elementor-control-type-url .elementor-control-dynamic-switcher{border-left:none;border-radius:0 3px 3px 0}.elementor-autocomplete-menu{position:absolute;background:#fff;color:#495157;border:1px solid #a4afb7;margin:0;list-style:none;padding:4px 0;height:auto;width:100%;min-width:260px;max-width:300px;max-height:200px;overflow-y:auto;border-radius:3px;-webkit-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out;transition:all .3s ease-in-out;cursor:default;z-index:1}.elementor-autocomplete-menu .ui-menu-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-item-align:baseline;align-self:baseline;padding:5px 8px;font-size:12px;width:100%;line-height:1.2;cursor:pointer}.elementor-autocomplete-menu .ui-menu-item.ui-state-active,.elementor-autocomplete-menu .ui-menu-item.ui-state-focus,.elementor-autocomplete-menu .ui-menu-item.ui-state-hover{background:#e6e9ec}.elementor-autocomplete-menu .elementor-autocomplete-item-info{font-size:10px;padding-top:2px}.elementor-control-type-wp_widget .widget-inside{display:block}.elementor-control-type-wp_widget .quicktags-toolbar input{width:auto}.elementor-control-type-wysiwyg *{-webkit-box-sizing:content-box;box-sizing:content-box}.elementor-control-type-wysiwyg .wp-editor-container{border:1px solid #e6e9ec}.elementor-control-type-wysiwyg .wp-editor-tabs{border:1px solid #d5dadf;border-bottom:none;border-radius:3px 3px 0 0}.elementor-control-type-wysiwyg #insert-media-button{height:auto;line-height:24px;font-size:10px;color:#6d7882;border-color:#d5dadf;background-color:#e6e9ec;min-height:0}.elementor-control-type-wysiwyg .ed_button{height:22px;width:auto}.elementor-control-type-wysiwyg .wp-media-buttons-icon{height:14px;margin:0}.elementor-control-type-wysiwyg .wp-media-buttons-icon:before{font-size:14px}.elementor-control-type-wysiwyg .wp-switch-editor{position:static;border:none;margin:0;color:#6d7882;font-size:10px;padding:3px 9px 4px}.elementor-control-type-wysiwyg .switch-html{border:solid #d5dadf;border-width:0 1px}.elementor-control-type-wysiwyg .html-active .switch-tmce{background-color:transparent}.elementor-control-type-wysiwyg .html-active .switch-html,.elementor-control-type-wysiwyg .tmce-active .switch-tmce{background-color:#e6e9ec}.elementor-control-type-wysiwyg .tmce-active .switch-html{background-color:transparent}.elementor-control-type-wysiwyg .mce-toolbar-grp,.elementor-control-type-wysiwyg .quicktags-toolbar{background-color:#e6e9ec}.elementor-control-type-wysiwyg .mce-toolbar-grp>div{padding:0 3px}.elementor-control-type-wysiwyg .elementor-wp-editor{-webkit-box-sizing:border-box;box-sizing:border-box}.elementor-control-type-wysiwyg .mce-ico{color:#6d7882;font-size:16px}.elementor-control-type-wysiwyg .mce-btn{margin-right:0;margin-left:0}.elementor-control-type-wysiwyg .mce-btn.mce-active,.elementor-control-type-wysiwyg .mce-btn:active,.elementor-control-type-wysiwyg .mce-btn:hover{border-color:#d5dadf}.elementor-control-type-wysiwyg .mce-path{padding:5px 10px}.elementor-control-type-wysiwyg .mce-path-item{font-size:12px;color:#6d7882}.elementor-control-type-wysiwyg .elementor-control-dynamic-switcher{border:none}.elementor-control-type-text .elementor-control-dynamic-switcher{border-right-width:0;border-radius:3px 0 0 3px}.elementor-control-type-text.elementor-control-dynamic input{border-radius:0 3px 3px 0}.ui-resizable-n{top:-5px}.ui-resizable-e{right:-5px}.ui-resizable-s{bottom:-5px}.ui-resizable-w{left:-5px}.ui-resizable-ne{top:-5px;right:-5px}.ui-resizable-nw{top:-5px;left:-5px}.ui-resizable-se{bottom:-5px;right:-5px}.ui-resizable-sw{bottom:-5px;left:-5px}.ui-resizable-n,.ui-resizable-s{left:0;height:10px;width:100%;cursor:ns-resize}.ui-resizable-e,.ui-resizable-w{top:0;height:100%;width:10px;cursor:ew-resize}.ui-resizable-ne,.ui-resizable-nw,.ui-resizable-se,.ui-resizable-sw{height:15px;width:15px}.ui-resizable-nw,.ui-resizable-se{cursor:nwse-resize}.ui-resizable-ne,.ui-resizable-sw{cursor:nesw-resize}.ui-resizable-handle{position:absolute}.ui-resizable-resizing{pointer-events:none}@-webkit-keyframes placeholder-section{0%{height:0;opacity:0}to{height:40px;opacity:.9}}@keyframes placeholder-section{0%{height:0;opacity:0}to{height:40px;opacity:.9}}@-webkit-keyframes placeholder-widget{0%{height:0;opacity:0}to{height:10px;opacity:.9}}@keyframes placeholder-widget{0%{height:0;opacity:0}to{height:10px;opacity:.9}}@-webkit-keyframes section-outline{0%{opacity:0}to{opacity:1}}@keyframes section-outline{0%{opacity:0}to{opacity:1}}body.elementor-editor-active .elementor.elementor-edit-mode .article,body.elementor-editor-active .elementor.elementor-edit-mode.layout-section .entry-content{overflow:visible}body.elementor-editor-active .elementor.elementor-edit-mode .elementor-element-overlay .elementor-editor-element-settings{clear:unset}body.elementor-editor-active .elementor.elementor-edit-mode .elementor-element.elementor-section{overflow:visible}.elementor-edit-area .animated{-webkit-animation-fill-mode:none!important;animation-fill-mode:none!important}.elementor-edit-area ul.elementor-editor-element-settings{word-break:normal;padding:0}.elementor-edit-area .gallery{opacity:1}.pen{position:relative;outline:none}.pen:not([data-elementor-inline-editing-toolbar=advanced]){white-space:pre-wrap}.pen-menu{-webkit-box-shadow:1px 2px 3px -2px #222;box-shadow:1px 2px 3px -2px #222;background-color:#6d7882;position:fixed;overflow:hidden;border-radius:3px;z-index:9999}.pen-menu:after{top:100%;content:"";position:absolute;border:6px solid transparent;border-top-color:#6d7882;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.pen-menu-below:after{top:0;-webkit-transform:translateX(-50%) translateY(-100%) rotate(180deg);-ms-transform:translateX(-50%) translateY(-100%) rotate(180deg);transform:translateX(-50%) translateY(-100%) rotate(180deg)}.pen-icon{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;height:35px;padding:0 10px;font-size:21px;color:#d5dadf;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.pen-icon:hover{background:#556068}.pen-icon[data-action=closeGroup],.pen-icon[data-group]{display:none}.pen-icon[data-action=close]:before{content:"";position:absolute;right:0;height:60%;width:1px;background-color:#556068}.pen-icon.active{background-color:#556068;-webkit-box-shadow:inset 2px 2px 4px #556068;box-shadow:inset 2px 2px 4px #556068}.pen-group-icon:after{font-family:eicons;font-size:12px;content:"\e92a";padding-left:4px;color:#71d7f7}.pen-input-wrapper{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.pen-input-wrapper .pen-url-input{font-size:12px;line-height:1.5;padding:0 10px;width:250px;direction:ltr}.pen-input-wrapper .pen-url-input,.pen-input-wrapper .pen-url-input:focus{background-color:transparent;border:none;outline:none;-webkit-box-shadow:none;box-shadow:none;color:#fff}.pen-input-wrapper .pen-url-input::-webkit-input-placeholder{color:#d5dadf}.pen-input-wrapper .pen-url-input::-moz-placeholder{color:#d5dadf}.pen-input-wrapper .pen-url-input::-ms-input-placeholder{color:#d5dadf}.pen-input-wrapper .pen-url-input::placeholder{color:#d5dadf}.pen-input-label{margin:0 0 0 -1px}.pen-placeholder:before{content:attr(data-pen-placeholder);position:absolute;font-weight:400;color:#757575;opacity:.6}.pen-external-url-checkbox{display:none}.pen-external-url-checkbox:checked+i{color:#fff}.elementor-inline-editing i:not([class]){font-style:italic}.elementor-inline-editing b{font-weight:700}.elementor-inline-editing u{text-decoration:underline}.e-element-color-picker{--primary-color:#71d7f7;--swatch-size:25px;cursor:default;display:-webkit-box;display:-ms-flexbox;display:flex;position:absolute;width:calc((var(--count) + 1) * var(--swatch-size));height:var(--swatch-size);top:var(--top);left:var(--left);right:var(--right,unset);border-radius:3px;z-index:9998;background-color:var(--primary-color);padding:1px;-webkit-box-sizing:content-box;box-sizing:content-box;-webkit-transition:opacity .3s,width .3s;-o-transition:opacity .3s,width .3s;transition:opacity .3s,width .3s}.e-element-color-picker,.e-element-color-picker.e-picker-hidden{opacity:0;pointer-events:none}.e-element-color-picker:before{content:"";-webkit-box-flex:0;-ms-flex:0 1 var(--swatch-size);flex:0 1 var(--swatch-size);max-width:100%;height:100%;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center}.e-element-color-picker:after{content:"\e91e";font-family:eicons;color:#fff;font-size:1rem;line-height:var(--swatch-size);position:absolute;left:.3rem;z-index:-1}.e-element-color-picker__swatch{-webkit-box-flex:1;-ms-flex:1 0 var(--swatch-size);flex:1 0 var(--swatch-size);max-width:100%;height:100%;cursor:pointer;-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s;position:relative;overflow:hidden;border-radius:inherit;background:-o-linear-gradient(var(--color),var(--color)),-o-linear-gradient(var(--primary-color),var(--primary-color));background:-webkit-gradient(linear,left top,left bottom,from(var(--color)),to(var(--color))),-webkit-gradient(linear,left top,left bottom,from(var(--primary-color)),to(var(--primary-color)));background:linear-gradient(var(--color),var(--color)),linear-gradient(var(--primary-color),var(--primary-color))}.e-element-color-picker__swatch:not(:first-child){border-left:1px solid var(--primary-color)}.e-element-color-picker__swatch:before{content:attr(data-text);position:absolute;left:50%;top:50%;opacity:0;color:var(--color);font-size:10px;font-weight:300;font-family:Roboto,Arial,Helvetica,Verdana,sans-serif;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);-webkit-filter:hue-rotate(180deg) grayscale(1) contrast(999) invert(1);filter:hue-rotate(180deg) grayscale(1) contrast(999) invert(1);-webkit-transition:inherit;-o-transition:inherit;transition:inherit}.e-element-color-picker__swatch:hover{-ms-flex-preferred-size:calc(2 * var(--swatch-size));flex-basis:calc(2 * var(--swatch-size));-ms-flex-negative:0;flex-shrink:0}.e-element-color-picker__swatch:hover:before{opacity:1}.e-ui-state--elements-color-picker-color-picking__on :not(.e-element-color-picker__swatch){cursor:url(../images/eyedropper.svg) 0 20,pointer}.e-ui-state--elements-color-picker-color-picking__on .e-element-color-picker:not(.e-picker-hidden):hover,.e-ui-state--elements-color-picker-color-picking__on .elementor-element:hover>.e-element-color-picker:not(.e-picker-hidden),.e-ui-state--elements-color-picker-color-picking__on .elementor-widget-container:hover+.e-element-color-picker:not(.e-picker-hidden){opacity:1;pointer-events:all}.e-ui-state--elements-color-picker-color-picking__on .elementor-section:hover{outline:1px solid #71d7f7}[class*=" eicon-flex"],[class^=eicon-flex]{-webkit-transition:all .3s;-o-transition:.3s all;transition:all .3s;--is-ltr:1;--is-rtl:0;--rotation-direction:calc(var(--is-ltr) - var(--is-rtl));--is-ltr:0;--is-rtl:1}[class*=" eicon-flex"].eicon-inline,[class^=eicon-flex].eicon-inline{max-height:1em;max-width:1em}:is(.e-ui-state--document-direction-mode__column,.e-ui-state--document-direction-mode__column-reverse) [class*=" eicon-flex"]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow),:is(.e-ui-state--document-direction-mode__column,.e-ui-state--document-direction-mode__column-reverse) [class^=eicon-flex]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow){-webkit-transform:rotate(calc(var(--rotation-direction) * 90deg));-ms-transform:rotate(calc(var(--rotation-direction) * 90deg));transform:rotate(calc(var(--rotation-direction) * 90deg))}.e-ui-state--document-direction-mode__column-reverse [class*=" eicon-flex"]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow):is(.eicon-justify-start-h,.eicon-justify-end-h,.eicon-order-start,.eicon-order-end),.e-ui-state--document-direction-mode__column-reverse [class^=eicon-flex]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow):is(.eicon-justify-start-h,.eicon-justify-end-h,.eicon-order-start,.eicon-order-end),:is(.e-ui-state--document-direction-mode__column,.e-ui-state--document-direction-mode__column-reverse) [class*=" eicon-flex"]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow):is(.eicon-align-start-v,.eicon-align-end-v),:is(.e-ui-state--document-direction-mode__column,.e-ui-state--document-direction-mode__column-reverse) [class^=eicon-flex]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow):is(.eicon-align-start-v,.eicon-align-end-v){-webkit-transform:rotate(calc(var(--rotation-direction) * -90deg));-ms-transform:rotate(calc(var(--rotation-direction) * -90deg));transform:rotate(calc(var(--rotation-direction) * -90deg))}.e-ui-state--document-direction-mode__row [class*=" eicon-flex"]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow):is(.eicon-justify-start-h,.eicon-justify-end-h,.eicon-order-start,.eicon-order-end),.e-ui-state--document-direction-mode__row [class^=eicon-flex]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow):is(.eicon-justify-start-h,.eicon-justify-end-h,.eicon-order-start,.eicon-order-end){-webkit-transform:rotate(calc(var(--is-rtl) * 180deg));-ms-transform:rotate(calc(var(--is-rtl) * 180deg));transform:rotate(calc(var(--is-rtl) * 180deg))}.e-ui-state--document-direction-mode__row-reverse [class*=" eicon-flex"]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow):is(.eicon-justify-start-h,.eicon-justify-end-h,.eicon-order-start,.eicon-order-end),.e-ui-state--document-direction-mode__row-reverse [class^=eicon-flex]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow):is(.eicon-justify-start-h,.eicon-justify-end-h,.eicon-order-start,.eicon-order-end){-webkit-transform:rotate(calc(var(--is-ltr) * 180deg));-ms-transform:rotate(calc(var(--is-ltr) * 180deg));transform:rotate(calc(var(--is-ltr) * 180deg))}html.elementor-html{margin-top:0!important}.elementor-edit-area{position:relative}.elementor.loading{opacity:.5}.elementor-edit-area-active{--primary-color:#71d7f7;--secondary-color:#10bcf2;--outline-color:var(--primary-color)}.elementor-edit-area-active .e-container{--primary-color:#0098c7;--secondary-color:#007194;--outline-color:var(--primary-color)}.elementor-edit-area-active .e-container.e-dragging-over,.elementor-edit-area-active .e-container.elementor-dragging-on-child{outline:1px solid var(--outline-color)}.elementor-edit-area-active .elementor-inner-section:first-child{margin-top:15px}.elementor-edit-area-active .elementor-widget-wrap.elementor-element-empty{min-height:30px}@media (min-width:768px){.elementor-edit-area-active .elementor-widget-wrap.elementor-element-empty{margin:10px}}.elementor-edit-area-active .elementor-column{min-width:25px}.elementor-edit-area-active .elementor-widget.elementor-loading{opacity:.3}.elementor-edit-area-active .elementor-widget.elementor-element-edit-mode:hover,.elementor-edit-area-active .elementor-widget.elementor-element-editable{-webkit-box-shadow:0 0 0 1px #71d7f7;box-shadow:0 0 0 1px #71d7f7}.elementor-edit-area-active .elementor-widget:not(:hover) .elementor-editor-element-settings{display:none}.elementor-edit-area-active .elementor-widget.ui-draggable-dragging{pointer-events:none}.elementor-edit-area-active .elementor-editor-element-setting{cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:0;margin:0;font-size:11px;color:#fff;width:25px;-webkit-transition:margin .3s,width .3s,font .3s;-o-transition:margin .3s,width .3s,font .3s;transition:margin .3s,width .3s,font .3s}.elementor-edit-area-active .elementor-inline-editing{min-height:15px}.elementor-edit-area-active .elementor-edit-hidden{display:none}.elementor-section-wrap:empty{min-height:25px}.elementor-section-wrap>:first-child>.elementor-element-overlay{z-index:9999}.elementor-element>.elementor-element-overlay{position:absolute;top:0;left:0;letter-spacing:0;z-index:9998;pointer-events:none}.elementor-element-empty .elementor-sortable-placeholder{display:none}.elementor-element.elementor-widget-empty{background-color:rgba(213,218,223,.8)}.elementor-element.elementor-widget-empty .elementor-widget-empty-icon{color:#c2cbd2;font-size:22px;display:block;text-align:center;padding:10px 0}.elementor-element:not(:hover):not(.elementor-element-editable)>.elementor-element-overlay .elementor-editor-element-settings{display:none}.elementor-element--toggle-edit-tools>.elementor-element-overlay .elementor-editor-element-edit:not(.elementor-active)~*{width:0;font-size:0}.elementor-element[data-side=bottom]+.elementor-element:before,.elementor-element[data-side=bottom]:last-child:after,.elementor-element[data-side=top]:before{content:"";background-color:#71d7f7;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;opacity:.9;height:10px;-webkit-animation:placeholder-widget .5s;animation:placeholder-widget .5s;display:block}.elementor-element.elementor-absolute,.elementor-element.elementor-fixed{cursor:-webkit-grab;cursor:grab}.elementor-element.elementor-absolute:active,.elementor-element.elementor-fixed:active{cursor:-webkit-grabbing;cursor:grabbing}.elementor-element.elementor-absolute .eicon-edit:before,.elementor-element.elementor-fixed .eicon-edit:before{content:"\e902"}.e-container>.elementor-element-overlay,.elementor-section>.elementor-element-overlay{right:0;bottom:0}.e-container>.elementor-element-overlay:after,.elementor-section>.elementor-element-overlay:after{position:absolute;left:2px;right:2px;top:2px;bottom:2px;outline:2px solid var(--outline-color);-webkit-animation:section-outline .75s;animation:section-outline .75s}.e-container.elementor-element-editable>.elementor-element-overlay:after,.e-container:hover>.elementor-element-overlay:after,.elementor-section.elementor-element-editable>.elementor-element-overlay:after,.elementor-section:hover>.elementor-element-overlay:after{content:""}.e-container-filled .elementor-sortable-placeholder.elementor-column,.elementor-section-filled .elementor-sortable-placeholder.elementor-column{display:none}.e-container-filled .elementor-row.elementor-draggable-over,.elementor-section-filled .elementor-row.elementor-draggable-over{border:1px solid #d72b3f}.elementor-column>.elementor-element-overlay{right:0;bottom:0}.elementor-column>.elementor-element-overlay:after{position:absolute;left:0;right:0;top:0;bottom:0;outline:1px dashed #6d7882}.elementor-column.elementor-element-editable>.elementor-element-overlay,.elementor-column:hover>.elementor-element-overlay{border:1px solid #fff}.elementor-column.elementor-element-editable>.elementor-element-overlay:after,.elementor-column:hover>.elementor-element-overlay:after{content:""}.elementor-column.elementor-dragging-on-child>.elementor-element-overlay{border:1px solid #71d7f7}.elementor-column.elementor-dragging-on-child>.elementor-element-overlay:after{display:none}.elementor-column>.ui-resizable-e,.elementor-column>.ui-resizable-w{cursor:col-resize;width:7px;position:absolute;left:-5px;top:0;height:100%}.elementor-column:last-of-type>.ui-resizable-e,.elementor-column:last-of-type>.ui-resizable-w{display:none!important}@media (max-width:1024px){.elementor-column>.ui-resizable-e,.elementor-column>.ui-resizable-w{display:none!important}}.elementor-editor-element-settings{position:absolute;display:-webkit-box;display:-ms-flexbox;display:flex;height:26px;list-style:none;margin:0;padding:0;font-family:Arial,Helvetica,sans-serif;font-size:13px;font-weight:400;font-style:normal;line-height:1;z-index:1;pointer-events:all}@media (min-width:1025px){.elementor-editor-element-edit{cursor:move}}.elementor-editor-container-settings,.elementor-editor-section-settings{height:24px;top:1px;right:50%;-webkit-transform:translateX(50%) translateY(-100%);-ms-transform:translateX(50%) translateY(-100%);transform:translateX(50%) translateY(-100%);background-color:var(--primary-color);border-radius:5px 5px 0 0;-webkit-box-shadow:0 -2px 8px rgba(0,0,0,.05);box-shadow:0 -2px 8px rgba(0,0,0,.05)}.elementor-editor-container-settings i.eicon-handle,.elementor-editor-section-settings i.eicon-handle{font-size:16px}.elementor-editor-container-settings .elementor-editor-element-setting:hover,.elementor-editor-section-settings .elementor-editor-element-setting:hover{background-color:var(--secondary-color)}.elementor-editor-container-settings .elementor-editor-element-setting:first-child,.elementor-editor-section-settings .elementor-editor-element-setting:first-child{border-radius:0 5px 0 0}.elementor-editor-container-settings .elementor-editor-element-setting:first-child:before,.elementor-editor-section-settings .elementor-editor-element-setting:first-child:before{content:"";position:absolute;border-width:medium;top:2px;border-left:12px solid transparent;border-left-color:var(--primary-color);border-bottom:0 solid transparent;border-right:0 solid transparent;border-top:22px solid transparent;left:calc(100% - 1px)}.elementor-editor-container-settings .elementor-editor-element-setting:first-child:hover:before,.elementor-editor-section-settings .elementor-editor-element-setting:first-child:hover:before{border-left-color:var(--secondary-color)}.elementor-editor-container-settings .elementor-editor-element-setting:last-child,.elementor-editor-section-settings .elementor-editor-element-setting:last-child{border-radius:5px 0 0 0}.elementor-editor-container-settings .elementor-editor-element-setting:last-child:after,.elementor-editor-section-settings .elementor-editor-element-setting:last-child:after{content:"";position:absolute;border-width:medium;top:2px;border-left:0 solid transparent;border-bottom:0 solid transparent;border-right:12px solid transparent;border-right-color:var(--primary-color);border-top:22px solid transparent;right:calc(100% - 1px)}.elementor-editor-container-settings .elementor-editor-element-setting:last-child:hover:after,.elementor-editor-section-settings .elementor-editor-element-setting:last-child:hover:after{border-right-color:var(--secondary-color)}.e-handles-inside>.elementor-element-overlay>.elementor-editor-element-settings,.elementor-section--handles-inside>.elementor-element-overlay>.elementor-editor-element-settings{-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);border-radius:0 0 5px 5px}.e-handles-inside>.elementor-element-overlay>.elementor-editor-element-settings .elementor-editor-element-setting:first-child,.elementor-section--handles-inside>.elementor-element-overlay>.elementor-editor-element-settings .elementor-editor-element-setting:first-child{border-radius:0 0 5px 0}.e-handles-inside>.elementor-element-overlay>.elementor-editor-element-settings .elementor-editor-element-setting:first-child:before,.elementor-section--handles-inside>.elementor-element-overlay>.elementor-editor-element-settings .elementor-editor-element-setting:first-child:before{top:0;border-width:0 0 22px 12px}.e-handles-inside>.elementor-element-overlay>.elementor-editor-element-settings .elementor-editor-element-setting:last-child,.elementor-section--handles-inside>.elementor-element-overlay>.elementor-editor-element-settings .elementor-editor-element-setting:last-child{border-radius:0 0 0 5px}.e-handles-inside>.elementor-element-overlay>.elementor-editor-element-settings .elementor-editor-element-setting:last-child:after,.elementor-section--handles-inside>.elementor-element-overlay>.elementor-editor-element-settings .elementor-editor-element-setting:last-child:after{top:0;border-width:0 12px 22px 0}.elementor-editor-column-settings{top:-1px;right:-1px;border-radius:0 0 0 3px;overflow:hidden}.elementor-editor-column-settings .elementor-editor-element-setting{background-color:#495157}.elementor-editor-column-settings .elementor-editor-element-setting:not(:hover){background-image:-o-linear-gradient(top,#6d7882,#556068);background-image:-webkit-gradient(linear,left top,left bottom,from(#6d7882),to(#556068));background-image:linear-gradient(180deg,#6d7882,#556068)}.elementor-editor-widget-settings{z-index:2;top:-1px;left:-1px;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;border-radius:0 0 3px 0;overflow:hidden}.elementor-editor-widget-settings .elementor-editor-element-setting{background-color:#10bcf2}.elementor-editor-widget-settings .elementor-editor-element-setting:not(:hover){background-image:-o-linear-gradient(bottom,#41c9f4,#71d7f7);background-image:-webkit-gradient(linear,left bottom,left top,from(#41c9f4),to(#71d7f7));background-image:linear-gradient(0deg,#41c9f4,#71d7f7)}.elementor-empty-view{position:absolute;top:0;bottom:0;left:0;right:0;z-index:1}.elementor-first-add{text-align:center;border:1px dashed #d5dadf;display:-webkit-box;display:-ms-flexbox;display:flex;height:100%;width:100%;position:absolute;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-first-add .elementor-icon{font-size:19px;color:#a4afb7;cursor:pointer}.elementor-sortable-helper{position:absolute;border-radius:3px;background-color:#fff;text-align:center;color:#556068;-webkit-box-shadow:0 2px 6px rgba(0,0,0,.2);box-shadow:0 2px 6px rgba(0,0,0,.2);cursor:move}.elementor-sortable-helper .icon{font-size:28px;padding-top:15px;line-height:1}.elementor-sortable-helper .elementor-element-title-wrapper{display:table;width:100%}.elementor-sortable-helper .title{font-size:11px;font-family:Arial,Helvetica,sans-serif;font-weight:400;font-style:normal;display:table-cell;vertical-align:middle;height:40px}.elementor-editor-content-only .elementor-column.elementor-element-editable>.elementor-element-overlay:after,.elementor-editor-content-only .elementor-column:hover>.elementor-element-overlay:after,.elementor-editor-content-only .elementor-column>.elementor-element-overlay,.elementor-editor-content-only .elementor-column>.elementor-element-overlay:after,.elementor-editor-content-only .elementor-first-add,.elementor-editor-content-only .elementor-section.elementor-element-editable>.elementor-element-overlay:after,.elementor-editor-content-only .elementor-section:hover>.elementor-element-overlay:after,.elementor-editor-content-only .elementor-section>.elementor-element-overlay,.elementor-editor-content-only .elementor-section>.elementor-element-overlay:after{display:none}@media (min-width:1025px){.elementor-editor-content-only .elementor-editor-element-edit{cursor:pointer}}.elementor-sortable-placeholder:not(.elementor-column-placeholder){background-color:#71d7f7;-webkit-animation-duration:.25s;animation-duration:.25s;opacity:.9;width:100%;-ms-flex-item-align:stretch;align-self:stretch}.e-container .elementor-first-add .elementor-sortable-placeholder:not(.elementor-column-placeholder){-ms-flex-item-align:center;align-self:center}.e-swappable--active>.elementor-sortable-placeholder:not(.elementor-column-placeholder){display:none}.elementor-section-placeholder{height:40px;-webkit-animation-name:placeholder-section;animation-name:placeholder-section}.elementor-column-placeholder{position:relative}.elementor-column-placeholder:after,.elementor-column-placeholder:before{content:"";position:absolute;top:10px;bottom:10px;right:10px;left:10px}.elementor-column-placeholder:before{border:1px solid #6d7882}.elementor-column-placeholder:after{border:1px dashed #fff}.elementor-widget-placeholder{height:10px;-webkit-animation-name:placeholder-widget;animation-name:placeholder-widget}.elementor-draggable-over:not([data-dragged-element=section]):not([data-dragged-is-inner=true])>.elementor-empty-view>.elementor-first-add:after,.elementor-first-add.elementor-html5dnd-current-element:after{content:"";background-color:#71d7f7;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;opacity:.9;height:10px;-webkit-animation:placeholder-widget .5s;animation:placeholder-widget .5s;width:100%}.e-container .elementor-draggable-over:not([data-dragged-element=section]):not([data-dragged-is-inner=true])>.elementor-empty-view>.elementor-first-add:after,.e-container .elementor-first-add.elementor-html5dnd-current-element:after,.elementor-draggable-over:not([data-dragged-element=section]):not([data-dragged-is-inner=true])>.elementor-empty-view>.elementor-first-add .elementor-icon,.elementor-draggable-over[data-dragged-element=section][data-dragged-is-inner=true] .elementor-inner-column .elementor-sortable-placeholder,.elementor-first-add.elementor-html5dnd-current-element .elementor-icon{display:none}.elementor-add-section{all:initial;display:-webkit-box;display:-ms-flexbox;display:flex;max-width:1160px;position:relative;margin-inline:auto}.elementor-add-section:not(.elementor-dragging-on-child) .elementor-add-section-inner{border:2px dashed #d5dadf;background-color:hsla(0,0%,100%,.5)}.elementor-add-section.elementor-dragging-on-child .elementor-add-section-inner{border:3px dashed #71d7f7}.elementor-add-section[data-view=choose-action] .e-view:not(.elementor-add-new-section),.elementor-add-section[data-view=select-container-preset] .e-view:not(.e-container-select-preset),.elementor-add-section[data-view=select-preset] .e-view:not(.elementor-select-preset){display:none}.elementor-add-section-inner{text-align:center;margin:20px;padding:40px 0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-add-new-section{display:inline-block}.elementor-add-new-section .elementor-add-section-area-button{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;height:40px;width:40px;color:#fff;font-size:16px;border-radius:50%;-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s;cursor:pointer}.elementor-add-new-section .elementor-add-section-area-button:hover{opacity:.85;-webkit-box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2);box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}.elementor-add-new-section .elementor-add-section-area-button:active{-webkit-box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.1);box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.1)}.elementor-add-new-section .elementor-add-section-button{background-color:#93003c;-webkit-margin-start:5px;margin-inline-start:5px}.elementor-add-new-section .elementor-add-template-button{background-color:#6d7882;margin-right:5px}.elementor-add-section-drag-title{font-family:Arial,Helvetica,sans-serif;font-size:13px;font-weight:400;font-style:italic;line-height:1;color:#556068;margin-top:15px}.elementor-add-section-close{position:absolute;right:40px;top:40px;font-size:20px;cursor:pointer;line-height:1;color:#d5dadf}.elementor-add-section-close:hover{color:#6d7882}.elementor-select-preset-title{font-family:Arial,Helvetica,sans-serif;font-size:13px;font-weight:500;font-style:normal;text-transform:uppercase;color:#556068}.elementor-select-preset-list{list-style:none;padding:0 25px;margin:20px auto 0;overflow:hidden;max-width:700px}.elementor-select-preset-list .elementor-preset{cursor:pointer;margin:0;padding:10px;float:right;max-width:33.333%}.elementor-select-preset-list .elementor-preset:hover path,.elementor-select-preset-list .elementor-preset:hover rect{fill:#6d7882}.elementor-select-preset-list .elementor-preset:not(:hover) path,.elementor-select-preset-list .elementor-preset:not(:hover) rect{fill:#d5dadf}.elementor-select-preset-list .elementor-preset .e-preset--container{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-select-preset-list .elementor-preset .e-preset--container:before{content:var(--text);font-family:Roboto,Arial,Helvetica,Verdana,sans-serif;font-size:13px;font-weight:500;position:absolute;left:50%;top:50%;color:#fff;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.elementor-select-preset-list .elementor-preset svg{height:50px;width:100%;-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}#elementor-add-new-section{margin:60px auto}#elementor-add-new-section[data-view=choose-action] .elementor-add-section-close{display:none}.elementor-add-section-inline{margin:10px auto;width:100%}.elementor-column-percents-tooltip{position:absolute;display:none;pointer-events:none;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);color:#fff;font-size:10px;background-color:#556068;width:40px;padding:3.5px 0;text-align:center;z-index:1;line-height:1}.elementor-column-percents-tooltip:after{content:"";position:absolute;width:0;height:0;border:8.5px solid transparent;top:0}.elementor-column-percents-tooltip[data-side=left]{border-radius:3px 0 0 3px;right:15px}.elementor-column-percents-tooltip[data-side=left]:after{left:100%;border-left-color:#556068;border-right-width:0}.elementor-column-percents-tooltip[data-side=right]{border-radius:0 3px 3px 0;left:15px}.elementor-column-percents-tooltip[data-side=right]:after{right:100%;border-right-color:#556068;border-left-width:0}.elementor-editor-preview .elementor-add-section,.elementor-editor-preview .elementor-add-section-inline,.elementor-editor-preview .elementor-element-overlay,.elementor-editor-preview .elementor-empty,.elementor-editor-preview .elementor-empty-view,.elementor-editor-preview .elementor-widget-empty{display:none}.e-preview--show-hidden-elements[data-elementor-device-mode=desktop] .elementor-edit-area-active .elementor-hidden-desktop,.e-preview--show-hidden-elements[data-elementor-device-mode=laptop] .elementor-edit-area-active .elementor-hidden-laptop,.e-preview--show-hidden-elements[data-elementor-device-mode=mobile] .elementor-edit-area-active .elementor-hidden-mobile,.e-preview--show-hidden-elements[data-elementor-device-mode=mobile_extra] .elementor-edit-area-active .elementor-hidden-mobile_extra,.e-preview--show-hidden-elements[data-elementor-device-mode=tablet] .elementor-edit-area-active .elementor-hidden-tablet,.e-preview--show-hidden-elements[data-elementor-device-mode=tablet_extra] .elementor-edit-area-active .elementor-hidden-tablet_extra,.e-preview--show-hidden-elements[data-elementor-device-mode=widescreen] .elementor-edit-area-active .elementor-hidden-widescreen{display:inherit;background:-o-repeating-linear-gradient(325deg,rgba(0,0,0,.05),rgba(0,0,0,.05) 1px,transparent 2px,transparent 9px);background:repeating-linear-gradient(125deg,rgba(0,0,0,.05),rgba(0,0,0,.05) 1px,transparent 2px,transparent 9px);border:1px solid rgba(0,0,0,.02)}.e-preview--show-hidden-elements[data-elementor-device-mode=desktop] .elementor-edit-area-active .elementor-hidden-desktop.elementor-section>.elementor-element-overlay,.e-preview--show-hidden-elements[data-elementor-device-mode=laptop] .elementor-edit-area-active .elementor-hidden-laptop.elementor-section>.elementor-element-overlay,.e-preview--show-hidden-elements[data-elementor-device-mode=mobile] .elementor-edit-area-active .elementor-hidden-mobile.elementor-section>.elementor-element-overlay,.e-preview--show-hidden-elements[data-elementor-device-mode=mobile_extra] .elementor-edit-area-active .elementor-hidden-mobile_extra.elementor-section>.elementor-element-overlay,.e-preview--show-hidden-elements[data-elementor-device-mode=tablet] .elementor-edit-area-active .elementor-hidden-tablet.elementor-section>.elementor-element-overlay,.e-preview--show-hidden-elements[data-elementor-device-mode=tablet_extra] .elementor-edit-area-active .elementor-hidden-tablet_extra.elementor-section>.elementor-element-overlay,.e-preview--show-hidden-elements[data-elementor-device-mode=widescreen] .elementor-edit-area-active .elementor-hidden-widescreen.elementor-section>.elementor-element-overlay{background-color:#d5dadf;mix-blend-mode:color}.e-preview--show-hidden-elements[data-elementor-device-mode=desktop] .elementor-edit-area-active .elementor-hidden-desktop.elementor-section:before,.e-preview--show-hidden-elements[data-elementor-device-mode=laptop] .elementor-edit-area-active .elementor-hidden-laptop.elementor-section:before,.e-preview--show-hidden-elements[data-elementor-device-mode=mobile] .elementor-edit-area-active .elementor-hidden-mobile.elementor-section:before,.e-preview--show-hidden-elements[data-elementor-device-mode=mobile_extra] .elementor-edit-area-active .elementor-hidden-mobile_extra.elementor-section:before,.e-preview--show-hidden-elements[data-elementor-device-mode=tablet] .elementor-edit-area-active .elementor-hidden-tablet.elementor-section:before,.e-preview--show-hidden-elements[data-elementor-device-mode=tablet_extra] .elementor-edit-area-active .elementor-hidden-tablet_extra.elementor-section:before,.e-preview--show-hidden-elements[data-elementor-device-mode=widescreen] .elementor-edit-area-active .elementor-hidden-widescreen.elementor-section:before{content:"";display:block;position:absolute;top:0;left:0;width:100%;height:100%;background-color:hsla(0,0%,100%,.6);z-index:9997}.e-preview--show-hidden-elements[data-elementor-device-mode=desktop] .elementor-edit-area-active .elementor-hidden-desktop.elementor-inner-section .elementor-container,.e-preview--show-hidden-elements[data-elementor-device-mode=laptop] .elementor-edit-area-active .elementor-hidden-laptop.elementor-inner-section .elementor-container,.e-preview--show-hidden-elements[data-elementor-device-mode=mobile] .elementor-edit-area-active .elementor-hidden-mobile.elementor-inner-section .elementor-container,.e-preview--show-hidden-elements[data-elementor-device-mode=mobile_extra] .elementor-edit-area-active .elementor-hidden-mobile_extra.elementor-inner-section .elementor-container,.e-preview--show-hidden-elements[data-elementor-device-mode=tablet] .elementor-edit-area-active .elementor-hidden-tablet.elementor-inner-section .elementor-container,.e-preview--show-hidden-elements[data-elementor-device-mode=tablet_extra] .elementor-edit-area-active .elementor-hidden-tablet_extra.elementor-inner-section .elementor-container,.e-preview--show-hidden-elements[data-elementor-device-mode=widescreen] .elementor-edit-area-active .elementor-hidden-widescreen.elementor-inner-section .elementor-container{width:100%}.e-preview--show-hidden-elements[data-elementor-device-mode=desktop] .elementor-edit-area-active .elementor-hidden-desktop>.elementor-widget-container,.e-preview--show-hidden-elements[data-elementor-device-mode=desktop] .elementor-edit-area-active .elementor-hidden-desktop>.elementor-widget-wrap,.e-preview--show-hidden-elements[data-elementor-device-mode=laptop] .elementor-edit-area-active .elementor-hidden-laptop>.elementor-widget-container,.e-preview--show-hidden-elements[data-elementor-device-mode=laptop] .elementor-edit-area-active .elementor-hidden-laptop>.elementor-widget-wrap,.e-preview--show-hidden-elements[data-elementor-device-mode=mobile] .elementor-edit-area-active .elementor-hidden-mobile>.elementor-widget-container,.e-preview--show-hidden-elements[data-elementor-device-mode=mobile] .elementor-edit-area-active .elementor-hidden-mobile>.elementor-widget-wrap,.e-preview--show-hidden-elements[data-elementor-device-mode=mobile_extra] .elementor-edit-area-active .elementor-hidden-mobile_extra>.elementor-widget-container,.e-preview--show-hidden-elements[data-elementor-device-mode=mobile_extra] .elementor-edit-area-active .elementor-hidden-mobile_extra>.elementor-widget-wrap,.e-preview--show-hidden-elements[data-elementor-device-mode=tablet] .elementor-edit-area-active .elementor-hidden-tablet>.elementor-widget-container,.e-preview--show-hidden-elements[data-elementor-device-mode=tablet] .elementor-edit-area-active .elementor-hidden-tablet>.elementor-widget-wrap,.e-preview--show-hidden-elements[data-elementor-device-mode=tablet_extra] .elementor-edit-area-active .elementor-hidden-tablet_extra>.elementor-widget-container,.e-preview--show-hidden-elements[data-elementor-device-mode=tablet_extra] .elementor-edit-area-active .elementor-hidden-tablet_extra>.elementor-widget-wrap,.e-preview--show-hidden-elements[data-elementor-device-mode=widescreen] .elementor-edit-area-active .elementor-hidden-widescreen>.elementor-widget-container,.e-preview--show-hidden-elements[data-elementor-device-mode=widescreen] .elementor-edit-area-active .elementor-hidden-widescreen>.elementor-widget-wrap{-webkit-filter:opacity(.4) saturate(0);filter:opacity(.4) saturate(0)}.e-preview--show-hidden-elements[data-elementor-device-mode=desktop] .elementor-edit-area-active .elementor-hidden-desktop.elementor-edit-hidden,.e-preview--show-hidden-elements[data-elementor-device-mode=laptop] .elementor-edit-area-active .elementor-hidden-laptop.elementor-edit-hidden,.e-preview--show-hidden-elements[data-elementor-device-mode=mobile] .elementor-edit-area-active .elementor-hidden-mobile.elementor-edit-hidden,.e-preview--show-hidden-elements[data-elementor-device-mode=mobile_extra] .elementor-edit-area-active .elementor-hidden-mobile_extra.elementor-edit-hidden,.e-preview--show-hidden-elements[data-elementor-device-mode=tablet] .elementor-edit-area-active .elementor-hidden-tablet.elementor-edit-hidden,.e-preview--show-hidden-elements[data-elementor-device-mode=tablet_extra] .elementor-edit-area-active .elementor-hidden-tablet_extra.elementor-edit-hidden,.e-preview--show-hidden-elements[data-elementor-device-mode=widescreen] .elementor-edit-area-active .elementor-hidden-widescreen.elementor-edit-hidden{display:none}.e-container-select-preset{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:25px}.e-container-select-preset[data-view=choose-preset]>:not(.e-container-select-preset__inner),.e-container-select-preset[data-view=drop-area]>:not(.elementor-first-add){display:none}.e-container-select-preset__title{font-family:Roboto,Arial,Helvetica,Verdana,sans-serif;font-size:13px;font-weight:500;text-transform:uppercase;color:#556068}.e-container-select-preset__list{display:-webkit-box;display:-ms-flexbox;display:flex;gap:20px;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-ms-flex-wrap:wrap;flex-wrap:wrap;max-width:650px}.e-container-select-preset__list .e-container-preset{cursor:pointer;-ms-flex-preferred-size:90px;flex-basis:90px}.e-container-select-preset__list .e-container-preset svg{width:100%;height:auto}.e-container-select-preset__list .e-container-preset path{fill:#fff}.e-container-select-preset__list .e-container-preset rect{fill:#d5dadf;-webkit-transition:all .3s;-o-transition:.3s all;transition:all .3s}.e-container-select-preset__list .e-container-preset:hover rect{fill:#6d7882}assets/css/widget-image-carousel.min.css000064400000000633152377341010014315 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ .elementor-widget-image-carousel .swiper-container{position:static}.elementor-widget-image-carousel .swiper-container .swiper-slide figure{line-height:inherit}.elementor-widget-image-carousel .swiper-slide{text-align:center}.elementor-image-carousel-wrapper:not(.swiper-container-initialized) .swiper-slide{max-width:calc(100% / var(--e-image-carousel-slides-to-show, 3))}assets/css/frontend-lite.css000064400000402050152377341010012126 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ .dialog-widget-content { background-color: #fff; position: absolute; border-radius: 3px; -webkit-box-shadow: 2px 8px 23px 3px rgba(0, 0, 0, 0.2); box-shadow: 2px 8px 23px 3px rgba(0, 0, 0, 0.2); overflow: hidden; } .dialog-message { font-size: 12px; line-height: 1.5; -webkit-box-sizing: border-box; box-sizing: border-box; } .dialog-type-lightbox { position: fixed; height: 100%; width: 100%; bottom: 0; left: 0; background-color: rgba(0, 0, 0, 0.8); z-index: 9999; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .dialog-type-lightbox .dialog-widget-content { margin: auto; width: 375px; } .dialog-type-lightbox .dialog-header { font-size: 15px; color: #495157; padding: 30px 0 10px; font-weight: 500; } .dialog-type-lightbox .dialog-message { padding: 0 30px 30px; min-height: 50px; } .dialog-type-lightbox:not(.elementor-popup-modal) .dialog-header, .dialog-type-lightbox:not(.elementor-popup-modal) .dialog-message { text-align: center; } .dialog-type-lightbox .dialog-buttons-wrapper { border-top: 1px solid #e6e9ec; text-align: center; } .dialog-type-lightbox .dialog-buttons-wrapper > .dialog-button { font-family: Roboto, Arial, Helvetica, Verdana, sans-serif; width: 50%; border: none; background: none; color: #6d7882; font-size: 15px; cursor: pointer; padding: 13px 0; outline: 0; } .dialog-type-lightbox .dialog-buttons-wrapper > .dialog-button:hover { background-color: #f4f6f7; } .dialog-type-lightbox .dialog-buttons-wrapper > .dialog-button.dialog-ok { color: #b01b1b; } .dialog-type-lightbox .dialog-buttons-wrapper > .dialog-button.dialog-take_over { color: #39b54a; } .dialog-type-lightbox .dialog-buttons-wrapper > .dialog-button:active { background-color: rgba(230, 233, 236, 0.5); } .dialog-type-lightbox .dialog-buttons-wrapper > .dialog-button::-moz-focus-inner { border: 0; } .dialog-close-button { cursor: pointer; position: absolute; margin-top: 15px; right: 15px; font-size: 15px; line-height: 1; } .dialog-close-button:not(:hover) { opacity: 0.4; } .dialog-alert-widget .dialog-buttons-wrapper > button { width: 100%; } .dialog-confirm-widget .dialog-button:first-child { border-right: 1px solid #e6e9ec; } .dialog-prevent-scroll { overflow: hidden; max-height: 100vh; } @media (min-width: 1024px) { body.admin-bar .dialog-lightbox-widget { height: calc(100vh - 32px); } } @media (max-width: 1024px) { body.admin-bar .dialog-type-lightbox { position: sticky; height: 100vh; } } .elementor-aspect-ratio-219 .elementor-fit-aspect-ratio { padding-bottom: 42.8571%; } .elementor-aspect-ratio-169 .elementor-fit-aspect-ratio { padding-bottom: 56.25%; } .elementor-aspect-ratio-43 .elementor-fit-aspect-ratio { padding-bottom: 75%; } .elementor-aspect-ratio-32 .elementor-fit-aspect-ratio { padding-bottom: 66.6666%; } .elementor-aspect-ratio-11 .elementor-fit-aspect-ratio { padding-bottom: 100%; } .elementor-aspect-ratio-916 .elementor-fit-aspect-ratio { padding-bottom: 177.8%; } .elementor-fit-aspect-ratio { position: relative; height: 0; } .elementor-fit-aspect-ratio iframe { position: absolute; top: 0; left: 0; height: 100%; width: 100%; border: 0; background-color: #000; } .elementor-fit-aspect-ratio video { width: 100%; } .flatpickr-calendar { width: 280px; } .flatpickr-calendar .flatpickr-current-month span.cur-month { font-weight: 300; } .flatpickr-calendar .dayContainer { width: 280px; min-width: 280px; max-width: 280px; } .flatpickr-calendar .flatpickr-days { width: 280px; } .flatpickr-calendar .flatpickr-day { max-width: 37px; height: 37px; line-height: 37px; } .elementor-templates-modal .dialog-widget-content { font-family: Roboto, Arial, Helvetica, Verdana, sans-serif; background-color: #f1f3f5; width: 100%; } @media (max-width: 1439px) { .elementor-templates-modal .dialog-widget-content { max-width: 990px; } } @media (min-width: 1440px) { .elementor-templates-modal .dialog-widget-content { max-width: 1200px; } } .elementor-templates-modal .dialog-header { padding: 0; background-color: #fff; -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.1); box-shadow: 0 0 8px rgba(0, 0, 0, 0.1); position: relative; z-index: 1; } .elementor-templates-modal .dialog-buttons-wrapper { background-color: #fff; border: none; display: none; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; padding: 5px; -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.1); box-shadow: 0 0 8px rgba(0, 0, 0, 0.1); position: relative; } .elementor-templates-modal .dialog-buttons-wrapper .elementor-button { height: 40px; margin-left: 5px; } .elementor-templates-modal .dialog-buttons-wrapper .elementor-button-success { padding: 12px 36px; color: #fff; width: initial; font-size: 15px; } .elementor-templates-modal .dialog-buttons-wrapper .elementor-button-success:hover { background-color: #39b54a; } .elementor-templates-modal .dialog-message { height: 750px; max-height: 85vh; overflow: auto; padding-top: 25px; } .elementor-templates-modal .dialog-content { height: 100%; } .elementor-templates-modal .dialog-loading { display: none; } .elementor-templates-modal__header { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; height: 50px; } .elementor-templates-modal__header__logo { line-height: 1; text-transform: uppercase; font-weight: bold; cursor: pointer; } .elementor-templates-modal__header__logo-area { text-align: left; padding-left: 15px; } .elementor-templates-modal__header__logo-area > * { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .elementor-templates-modal__header__logo__icon-wrapper { margin-right: 10px; font-size: 12px; } .elementor-templates-modal__header__logo__title { padding-top: 2px; } .elementor-templates-modal__header__items-area { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; } .elementor-templates-modal__header__item { position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-sizing: content-box; box-sizing: content-box; } .elementor-templates-modal__header__item > i { font-size: 20px; -webkit-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; cursor: pointer; } .elementor-templates-modal__header__item > i:not(:hover) { color: #a4afb7; } .elementor-templates-modal__header__close--normal { width: 47px; border-left: 1px solid #e6e9ec; } .elementor-templates-modal__header__close--normal i { font-size: 18px; } .elementor-templates-modal__header__close--skip { padding: 10px; padding-left: 20px; margin-right: 10px; color: #fff; background-color: #a4afb7; font-size: 11px; font-weight: normal; line-height: 1; text-transform: uppercase; border-radius: 2px; cursor: pointer; } .elementor-templates-modal__header__close--skip > i { font-size: inherit; padding-left: 10px; margin-left: 15px; border-left: 1px solid; } .elementor-templates-modal__header__close--skip > i:not(:hover) { color: #fff; } .elementor-templates-modal__sidebar { -ms-flex-negative: 0; flex-shrink: 0; width: 25%; background-color: rgba(255, 255, 255, 0.3); } .elementor-templates-modal__content { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; -webkit-box-shadow: 0 0 13px inset rgba(0, 0, 0, 0.05); box-shadow: 0 0 13px inset rgba(0, 0, 0, 0.05); } /* Will select next element after last '.elementor-general-section' */ #wpadminbar #wp-admin-bar-elementor_edit_page .elementor-general-section + .elementor-second-section { border-top: 1px solid #464b50; margin-top: 6px; } .elementor-hidden { display: none; } .elementor-screen-only, .screen-reader-text, .screen-reader-text span, .ui-helper-hidden-accessible { position: absolute; top: -10000em; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0; } .elementor-clearfix:after { content: ""; display: block; clear: both; width: 0; height: 0; } .e-logo-wrapper { background: #93003c; display: inline-block; padding: 0.75em; border-radius: 50%; line-height: 1; } .e-logo-wrapper i { color: #fff; font-size: 1em; } #e-enable-unfiltered-files-dialog-import-template .dialog-confirm-ok { color: #39b54a; } #e-enable-unfiltered-files-dialog-import-template .dialog-confirm-cancel { color: #b01b1b; } .elementor { -webkit-hyphens: manual; -ms-hyphens: manual; hyphens: manual; } .elementor *, .elementor *:before, .elementor *:after { -webkit-box-sizing: border-box; box-sizing: border-box; } .elementor a { -webkit-box-shadow: none; box-shadow: none; text-decoration: none; } .elementor hr { margin: 0; background-color: transparent; } .elementor img { height: auto; max-width: 100%; border: none; border-radius: 0; -webkit-box-shadow: none; box-shadow: none; } .elementor .elementor-widget:not(.elementor-widget-text-editor):not(.elementor-widget-theme-post-content) figure { margin: 0; } .elementor embed, .elementor iframe, .elementor object, .elementor video { max-width: 100%; width: 100%; margin: 0; line-height: 1; border: none; } .elementor .elementor-custom-embed { line-height: 0; } .elementor .elementor-background-video-container, .elementor .elementor-background-holder, .elementor .elementor-background { height: 100%; width: 100%; top: 0; left: 0; position: absolute; overflow: hidden; z-index: 0; direction: ltr; } .elementor .elementor-background-video-container { -webkit-transition: opacity 1s; -o-transition: opacity 1s; transition: opacity 1s; pointer-events: none; } .elementor .elementor-background-video-container.elementor-loading { opacity: 0; } .elementor .elementor-background-video-embed { max-width: none; } .elementor .elementor-background-video-embed, .elementor .elementor-background-video-hosted { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); } .elementor .elementor-background-video { max-width: none; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); } .elementor .elementor-html5-video { -o-object-fit: cover; object-fit: cover; } .elementor .elementor-background-overlay { height: 100%; width: 100%; top: 0; left: 0; position: absolute; } .elementor .elementor-background-slideshow { position: absolute; width: 100%; height: 100%; z-index: 0; top: 0; left: 0; } .elementor .elementor-background-slideshow__slide__image { width: 100%; height: 100%; background-position: center center; background-size: cover; } .elementor-widget-wrap > .elementor-element.elementor-absolute, .e-container > .elementor-element.elementor-absolute { position: absolute; } .elementor-widget-wrap > .elementor-element.elementor-fixed, .e-container > .elementor-element.elementor-fixed { position: fixed; } .elementor-widget-wrap .elementor-element.elementor-widget__width-auto, .elementor-widget-wrap .elementor-element.elementor-widget__width-initial { max-width: 100%; } @media (max-width: 1024px) { .elementor-widget-wrap .elementor-element.elementor-widget-tablet__width-auto, .elementor-widget-wrap .elementor-element.elementor-widget-tablet__width-initial { max-width: 100%; } } @media (max-width: 767px) { .elementor-widget-wrap .elementor-element.elementor-widget-mobile__width-auto, .elementor-widget-wrap .elementor-element.elementor-widget-mobile__width-initial { max-width: 100%; } } .elementor-element { --flex-direction: initial; --flex-wrap: initial; --justify-content: initial; --align-items: initial; --align-content: initial; --gap: initial; --flex-basis: initial; --flex-grow: initial; --flex-shrink: initial; --order: initial; --align-self: initial; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: var(--flex-direction); flex-direction: var(--flex-direction); -ms-flex-wrap: var(--flex-wrap); flex-wrap: var(--flex-wrap); -webkit-box-pack: var(--justify-content); -ms-flex-pack: var(--justify-content); justify-content: var(--justify-content); -webkit-box-align: var(--align-items); -ms-flex-align: var(--align-items); align-items: var(--align-items); -ms-flex-line-pack: var(--align-content); align-content: var(--align-content); gap: var(--gap); -ms-flex-preferred-size: var(--flex-basis); flex-basis: var(--flex-basis); -webkit-box-flex: var(--flex-grow); -ms-flex-positive: var(--flex-grow); flex-grow: var(--flex-grow); -ms-flex-negative: var(--flex-shrink); flex-shrink: var(--flex-shrink); -webkit-box-ordinal-group: var(--order); -ms-flex-order: var(--order); order: var(--order); -ms-flex-item-align: var(--align-self); align-self: var(--align-self); } .elementor-element.elementor-absolute, .elementor-element.elementor-fixed { z-index: 1; } .elementor-invisible { visibility: hidden; } .elementor-align-center { text-align: center; } .elementor-align-center .elementor-button { width: auto; } .elementor-align-right { text-align: right; } .elementor-align-right .elementor-button { width: auto; } .elementor-align-left { text-align: left; } .elementor-align-left .elementor-button { width: auto; } .elementor-align-justify .elementor-button { width: 100%; } .elementor-custom-embed-play { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); } .elementor-custom-embed-play i { font-size: 100px; color: #fff; text-shadow: 1px 0 6px rgba(0, 0, 0, 0.3); } .elementor-custom-embed-play svg { height: 100px; width: 100px; fill: #fff; -webkit-filter: drop-shadow(1px 0 6px rgba(0, 0, 0, 0.3)); filter: drop-shadow(1px 0 6px rgba(0, 0, 0, 0.3)); } .elementor-custom-embed-play i, .elementor-custom-embed-play svg { opacity: 0.8; -webkit-transition: all 0.5s; -o-transition: all 0.5s; transition: all 0.5s; } .elementor-custom-embed-play.elementor-playing i { font-family: eicons; } .elementor-custom-embed-play.elementor-playing i:before { content: "\e8fb"; } .elementor-custom-embed-play.elementor-playing i, .elementor-custom-embed-play.elementor-playing svg { -webkit-animation: eicon-spin 2s infinite linear; animation: eicon-spin 2s infinite linear; } .elementor-tag { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; } .elementor-ken-burns { -webkit-transition-property: -webkit-transform; transition-property: -webkit-transform; -o-transition-property: transform; transition-property: transform; transition-property: transform, -webkit-transform; -webkit-transition-duration: 10s; -o-transition-duration: 10s; transition-duration: 10s; -webkit-transition-timing-function: linear; -o-transition-timing-function: linear; transition-timing-function: linear; } .elementor-ken-burns--out { -webkit-transform: scale(1.3); -ms-transform: scale(1.3); transform: scale(1.3); } .elementor-ken-burns--active { -webkit-transition-duration: 20s; -o-transition-duration: 20s; transition-duration: 20s; } .elementor-ken-burns--active.elementor-ken-burns--out { -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1); } .elementor-ken-burns--active.elementor-ken-burns--in { -webkit-transform: scale(1.3); -ms-transform: scale(1.3); transform: scale(1.3); } @media (min-width: -1px) { .elementor-widescreen-align-center { text-align: center; } .elementor-widescreen-align-center .elementor-button { width: auto; } .elementor-widescreen-align-right { text-align: right; } .elementor-widescreen-align-right .elementor-button { width: auto; } .elementor-widescreen-align-left { text-align: left; } .elementor-widescreen-align-left .elementor-button { width: auto; } .elementor-widescreen-align-justify .elementor-button { width: 100%; } } @media (max-width: -1px) { .elementor-laptop-align-center { text-align: center; } .elementor-laptop-align-center .elementor-button { width: auto; } .elementor-laptop-align-right { text-align: right; } .elementor-laptop-align-right .elementor-button { width: auto; } .elementor-laptop-align-left { text-align: left; } .elementor-laptop-align-left .elementor-button { width: auto; } .elementor-laptop-align-justify .elementor-button { width: 100%; } } @media (max-width: -1px) { .elementor-tablet_extra-align-center { text-align: center; } .elementor-tablet_extra-align-center .elementor-button { width: auto; } .elementor-tablet_extra-align-right { text-align: right; } .elementor-tablet_extra-align-right .elementor-button { width: auto; } .elementor-tablet_extra-align-left { text-align: left; } .elementor-tablet_extra-align-left .elementor-button { width: auto; } .elementor-tablet_extra-align-justify .elementor-button { width: 100%; } } @media (max-width: 1024px) { .elementor-tablet-align-center { text-align: center; } .elementor-tablet-align-center .elementor-button { width: auto; } .elementor-tablet-align-right { text-align: right; } .elementor-tablet-align-right .elementor-button { width: auto; } .elementor-tablet-align-left { text-align: left; } .elementor-tablet-align-left .elementor-button { width: auto; } .elementor-tablet-align-justify .elementor-button { width: 100%; } } @media (max-width: -1px) { .elementor-mobile_extra-align-center { text-align: center; } .elementor-mobile_extra-align-center .elementor-button { width: auto; } .elementor-mobile_extra-align-right { text-align: right; } .elementor-mobile_extra-align-right .elementor-button { width: auto; } .elementor-mobile_extra-align-left { text-align: left; } .elementor-mobile_extra-align-left .elementor-button { width: auto; } .elementor-mobile_extra-align-justify .elementor-button { width: 100%; } } @media (max-width: 767px) { .elementor-mobile-align-center { text-align: center; } .elementor-mobile-align-center .elementor-button { width: auto; } .elementor-mobile-align-right { text-align: right; } .elementor-mobile-align-right .elementor-button { width: auto; } .elementor-mobile-align-left { text-align: left; } .elementor-mobile-align-left .elementor-button { width: auto; } .elementor-mobile-align-justify .elementor-button { width: 100%; } } :root { --page-title-display: block; } .elementor-page-title, h1.entry-title { display: var(--page-title-display); } @-webkit-keyframes eicon-spin { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(359deg); transform: rotate(359deg); } } @keyframes eicon-spin { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(359deg); transform: rotate(359deg); } } .eicon-animation-spin { -webkit-animation: eicon-spin 2s infinite linear; animation: eicon-spin 2s infinite linear; } .elementor-section { position: relative; } .elementor-section .elementor-container { display: -webkit-box; display: -ms-flexbox; display: flex; margin-right: auto; margin-left: auto; position: relative; } @media (max-width: 1024px) { .elementor-section .elementor-container { -ms-flex-wrap: wrap; flex-wrap: wrap; } } .elementor-section.elementor-section-boxed > .elementor-container { max-width: 1140px; } .elementor-section.elementor-section-stretched { position: relative; width: 100%; } .elementor-section.elementor-section-items-top > .elementor-container { -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; } .elementor-section.elementor-section-items-middle > .elementor-container { -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .elementor-section.elementor-section-items-bottom > .elementor-container { -webkit-box-align: end; -ms-flex-align: end; align-items: flex-end; } @media (min-width: 768px) { .elementor-section.elementor-section-height-full { height: 100vh; } .elementor-section.elementor-section-height-full > .elementor-container { height: 100%; } } .elementor-bc-flex-widget .elementor-section-content-top > .elementor-container > .elementor-column > .elementor-widget-wrap { -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; } .elementor-bc-flex-widget .elementor-section-content-middle > .elementor-container > .elementor-column > .elementor-widget-wrap { -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .elementor-bc-flex-widget .elementor-section-content-bottom > .elementor-container > .elementor-column > .elementor-widget-wrap { -webkit-box-align: end; -ms-flex-align: end; align-items: flex-end; } .elementor-row { width: 100%; display: -webkit-box; display: -ms-flexbox; display: flex; } @media (max-width: 1024px) { .elementor-row { -ms-flex-wrap: wrap; flex-wrap: wrap; } } .elementor-widget-wrap { position: relative; width: 100%; -ms-flex-wrap: wrap; flex-wrap: wrap; -ms-flex-line-pack: start; align-content: flex-start; } .elementor:not(.elementor-bc-flex-widget) .elementor-widget-wrap { display: -webkit-box; display: -ms-flexbox; display: flex; } .elementor-widget-wrap > .elementor-element { width: 100%; } .elementor-widget-wrap.e-swiper-container { width: calc(100% - (var(--e-column-margin-left, 0px) + var(--e-column-margin-right, 0px))); } .elementor-widget { position: relative; } .elementor-widget:not(:last-child) { margin-bottom: 20px; } .elementor-widget:not(:last-child).elementor-widget__width-auto, .elementor-widget:not(:last-child).elementor-widget__width-initial, .elementor-widget:not(:last-child).elementor-absolute { margin-bottom: 0; } .elementor-column { position: relative; min-height: 1px; display: -webkit-box; display: -ms-flexbox; display: flex; } .elementor-column-wrap { width: 100%; position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; } .elementor-column-gap-narrow > .elementor-column > .elementor-element-populated { padding: 5px; } .elementor-column-gap-default > .elementor-column > .elementor-element-populated { padding: 10px; } .elementor-column-gap-extended > .elementor-column > .elementor-element-populated { padding: 15px; } .elementor-column-gap-wide > .elementor-column > .elementor-element-populated { padding: 20px; } .elementor-column-gap-wider > .elementor-column > .elementor-element-populated { padding: 30px; } .elementor-inner-section .elementor-column-gap-no .elementor-element-populated { padding: 0; } @media (min-width: 768px) { .elementor-column.elementor-col-10, .elementor-column[data-col="10"] { width: 10%; } .elementor-column.elementor-col-11, .elementor-column[data-col="11"] { width: 11.111%; } .elementor-column.elementor-col-12, .elementor-column[data-col="12"] { width: 12.5%; } .elementor-column.elementor-col-14, .elementor-column[data-col="14"] { width: 14.285%; } .elementor-column.elementor-col-16, .elementor-column[data-col="16"] { width: 16.666%; } .elementor-column.elementor-col-20, .elementor-column[data-col="20"] { width: 20%; } .elementor-column.elementor-col-25, .elementor-column[data-col="25"] { width: 25%; } .elementor-column.elementor-col-30, .elementor-column[data-col="30"] { width: 30%; } .elementor-column.elementor-col-33, .elementor-column[data-col="33"] { width: 33.333%; } .elementor-column.elementor-col-40, .elementor-column[data-col="40"] { width: 40%; } .elementor-column.elementor-col-50, .elementor-column[data-col="50"] { width: 50%; } .elementor-column.elementor-col-60, .elementor-column[data-col="60"] { width: 60%; } .elementor-column.elementor-col-66, .elementor-column[data-col="66"] { width: 66.666%; } .elementor-column.elementor-col-70, .elementor-column[data-col="70"] { width: 70%; } .elementor-column.elementor-col-75, .elementor-column[data-col="75"] { width: 75%; } .elementor-column.elementor-col-80, .elementor-column[data-col="80"] { width: 80%; } .elementor-column.elementor-col-83, .elementor-column[data-col="83"] { width: 83.333%; } .elementor-column.elementor-col-90, .elementor-column[data-col="90"] { width: 90%; } .elementor-column.elementor-col-100, .elementor-column[data-col="100"] { width: 100%; } } @media (max-width: 479px) { .elementor-column.elementor-xs-10 { width: 10%; } .elementor-column.elementor-xs-11 { width: 11.111%; } .elementor-column.elementor-xs-12 { width: 12.5%; } .elementor-column.elementor-xs-14 { width: 14.285%; } .elementor-column.elementor-xs-16 { width: 16.666%; } .elementor-column.elementor-xs-20 { width: 20%; } .elementor-column.elementor-xs-25 { width: 25%; } .elementor-column.elementor-xs-30 { width: 30%; } .elementor-column.elementor-xs-33 { width: 33.333%; } .elementor-column.elementor-xs-40 { width: 40%; } .elementor-column.elementor-xs-50 { width: 50%; } .elementor-column.elementor-xs-60 { width: 60%; } .elementor-column.elementor-xs-66 { width: 66.666%; } .elementor-column.elementor-xs-70 { width: 70%; } .elementor-column.elementor-xs-75 { width: 75%; } .elementor-column.elementor-xs-80 { width: 80%; } .elementor-column.elementor-xs-83 { width: 83.333%; } .elementor-column.elementor-xs-90 { width: 90%; } .elementor-column.elementor-xs-100 { width: 100%; } } @media (max-width: 767px) { .elementor-column.elementor-sm-10 { width: 10%; } .elementor-column.elementor-sm-11 { width: 11.111%; } .elementor-column.elementor-sm-12 { width: 12.5%; } .elementor-column.elementor-sm-14 { width: 14.285%; } .elementor-column.elementor-sm-16 { width: 16.666%; } .elementor-column.elementor-sm-20 { width: 20%; } .elementor-column.elementor-sm-25 { width: 25%; } .elementor-column.elementor-sm-30 { width: 30%; } .elementor-column.elementor-sm-33 { width: 33.333%; } .elementor-column.elementor-sm-40 { width: 40%; } .elementor-column.elementor-sm-50 { width: 50%; } .elementor-column.elementor-sm-60 { width: 60%; } .elementor-column.elementor-sm-66 { width: 66.666%; } .elementor-column.elementor-sm-70 { width: 70%; } .elementor-column.elementor-sm-75 { width: 75%; } .elementor-column.elementor-sm-80 { width: 80%; } .elementor-column.elementor-sm-83 { width: 83.333%; } .elementor-column.elementor-sm-90 { width: 90%; } .elementor-column.elementor-sm-100 { width: 100%; } } @media (min-width: 768px) and (max-width: 1024px) { .elementor-column.elementor-md-10 { width: 10%; } .elementor-column.elementor-md-11 { width: 11.111%; } .elementor-column.elementor-md-12 { width: 12.5%; } .elementor-column.elementor-md-14 { width: 14.285%; } .elementor-column.elementor-md-16 { width: 16.666%; } .elementor-column.elementor-md-20 { width: 20%; } .elementor-column.elementor-md-25 { width: 25%; } .elementor-column.elementor-md-30 { width: 30%; } .elementor-column.elementor-md-33 { width: 33.333%; } .elementor-column.elementor-md-40 { width: 40%; } .elementor-column.elementor-md-50 { width: 50%; } .elementor-column.elementor-md-60 { width: 60%; } .elementor-column.elementor-md-66 { width: 66.666%; } .elementor-column.elementor-md-70 { width: 70%; } .elementor-column.elementor-md-75 { width: 75%; } .elementor-column.elementor-md-80 { width: 80%; } .elementor-column.elementor-md-83 { width: 83.333%; } .elementor-column.elementor-md-90 { width: 90%; } .elementor-column.elementor-md-100 { width: 100%; } } @media (min-width: -1px) { .elementor-reverse-widescreen > .elementor-container > :nth-child(1) { -webkit-box-ordinal-group: 11; -ms-flex-order: 10; order: 10; } .elementor-reverse-widescreen > .elementor-container > :nth-child(2) { -webkit-box-ordinal-group: 10; -ms-flex-order: 9; order: 9; } .elementor-reverse-widescreen > .elementor-container > :nth-child(3) { -webkit-box-ordinal-group: 9; -ms-flex-order: 8; order: 8; } .elementor-reverse-widescreen > .elementor-container > :nth-child(4) { -webkit-box-ordinal-group: 8; -ms-flex-order: 7; order: 7; } .elementor-reverse-widescreen > .elementor-container > :nth-child(5) { -webkit-box-ordinal-group: 7; -ms-flex-order: 6; order: 6; } .elementor-reverse-widescreen > .elementor-container > :nth-child(6) { -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; } .elementor-reverse-widescreen > .elementor-container > :nth-child(7) { -webkit-box-ordinal-group: 5; -ms-flex-order: 4; order: 4; } .elementor-reverse-widescreen > .elementor-container > :nth-child(8) { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; } .elementor-reverse-widescreen > .elementor-container > :nth-child(9) { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; } .elementor-reverse-widescreen > .elementor-container > :nth-child(10) { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; } } @media (min-width: 1025px) and (max-width: -1px) { .elementor-reverse-laptop > .elementor-container > :nth-child(1) { -webkit-box-ordinal-group: 11; -ms-flex-order: 10; order: 10; } .elementor-reverse-laptop > .elementor-container > :nth-child(2) { -webkit-box-ordinal-group: 10; -ms-flex-order: 9; order: 9; } .elementor-reverse-laptop > .elementor-container > :nth-child(3) { -webkit-box-ordinal-group: 9; -ms-flex-order: 8; order: 8; } .elementor-reverse-laptop > .elementor-container > :nth-child(4) { -webkit-box-ordinal-group: 8; -ms-flex-order: 7; order: 7; } .elementor-reverse-laptop > .elementor-container > :nth-child(5) { -webkit-box-ordinal-group: 7; -ms-flex-order: 6; order: 6; } .elementor-reverse-laptop > .elementor-container > :nth-child(6) { -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; } .elementor-reverse-laptop > .elementor-container > :nth-child(7) { -webkit-box-ordinal-group: 5; -ms-flex-order: 4; order: 4; } .elementor-reverse-laptop > .elementor-container > :nth-child(8) { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; } .elementor-reverse-laptop > .elementor-container > :nth-child(9) { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; } .elementor-reverse-laptop > .elementor-container > :nth-child(10) { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; } } @media (min-width: -1px) and (max-width: -1px) { .elementor-reverse-laptop > .elementor-container > :nth-child(1) { -webkit-box-ordinal-group: 11; -ms-flex-order: 10; order: 10; } .elementor-reverse-laptop > .elementor-container > :nth-child(2) { -webkit-box-ordinal-group: 10; -ms-flex-order: 9; order: 9; } .elementor-reverse-laptop > .elementor-container > :nth-child(3) { -webkit-box-ordinal-group: 9; -ms-flex-order: 8; order: 8; } .elementor-reverse-laptop > .elementor-container > :nth-child(4) { -webkit-box-ordinal-group: 8; -ms-flex-order: 7; order: 7; } .elementor-reverse-laptop > .elementor-container > :nth-child(5) { -webkit-box-ordinal-group: 7; -ms-flex-order: 6; order: 6; } .elementor-reverse-laptop > .elementor-container > :nth-child(6) { -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; } .elementor-reverse-laptop > .elementor-container > :nth-child(7) { -webkit-box-ordinal-group: 5; -ms-flex-order: 4; order: 4; } .elementor-reverse-laptop > .elementor-container > :nth-child(8) { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; } .elementor-reverse-laptop > .elementor-container > :nth-child(9) { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; } .elementor-reverse-laptop > .elementor-container > :nth-child(10) { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; } } @media (min-width: 1025px) and (max-width: -1px) { .elementor-reverse-laptop > .elementor-container > :nth-child(1) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(2) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(3) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(4) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(5) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(6) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(7) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(8) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(9) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(10) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(1) { -webkit-box-ordinal-group: 11; -ms-flex-order: 10; order: 10; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(2) { -webkit-box-ordinal-group: 10; -ms-flex-order: 9; order: 9; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(3) { -webkit-box-ordinal-group: 9; -ms-flex-order: 8; order: 8; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(4) { -webkit-box-ordinal-group: 8; -ms-flex-order: 7; order: 7; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(5) { -webkit-box-ordinal-group: 7; -ms-flex-order: 6; order: 6; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(6) { -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(7) { -webkit-box-ordinal-group: 5; -ms-flex-order: 4; order: 4; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(8) { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(9) { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(10) { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; } } @media (min-width: 768px) and (max-width: 1024px) { .elementor-reverse-tablet > .elementor-container > :nth-child(1) { -webkit-box-ordinal-group: 11; -ms-flex-order: 10; order: 10; } .elementor-reverse-tablet > .elementor-container > :nth-child(2) { -webkit-box-ordinal-group: 10; -ms-flex-order: 9; order: 9; } .elementor-reverse-tablet > .elementor-container > :nth-child(3) { -webkit-box-ordinal-group: 9; -ms-flex-order: 8; order: 8; } .elementor-reverse-tablet > .elementor-container > :nth-child(4) { -webkit-box-ordinal-group: 8; -ms-flex-order: 7; order: 7; } .elementor-reverse-tablet > .elementor-container > :nth-child(5) { -webkit-box-ordinal-group: 7; -ms-flex-order: 6; order: 6; } .elementor-reverse-tablet > .elementor-container > :nth-child(6) { -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; } .elementor-reverse-tablet > .elementor-container > :nth-child(7) { -webkit-box-ordinal-group: 5; -ms-flex-order: 4; order: 4; } .elementor-reverse-tablet > .elementor-container > :nth-child(8) { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; } .elementor-reverse-tablet > .elementor-container > :nth-child(9) { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; } .elementor-reverse-tablet > .elementor-container > :nth-child(10) { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; } } @media (min-width: -1px) and (max-width: 1024px) { .elementor-reverse-tablet > .elementor-container > :nth-child(1) { -webkit-box-ordinal-group: 11; -ms-flex-order: 10; order: 10; } .elementor-reverse-tablet > .elementor-container > :nth-child(2) { -webkit-box-ordinal-group: 10; -ms-flex-order: 9; order: 9; } .elementor-reverse-tablet > .elementor-container > :nth-child(3) { -webkit-box-ordinal-group: 9; -ms-flex-order: 8; order: 8; } .elementor-reverse-tablet > .elementor-container > :nth-child(4) { -webkit-box-ordinal-group: 8; -ms-flex-order: 7; order: 7; } .elementor-reverse-tablet > .elementor-container > :nth-child(5) { -webkit-box-ordinal-group: 7; -ms-flex-order: 6; order: 6; } .elementor-reverse-tablet > .elementor-container > :nth-child(6) { -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; } .elementor-reverse-tablet > .elementor-container > :nth-child(7) { -webkit-box-ordinal-group: 5; -ms-flex-order: 4; order: 4; } .elementor-reverse-tablet > .elementor-container > :nth-child(8) { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; } .elementor-reverse-tablet > .elementor-container > :nth-child(9) { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; } .elementor-reverse-tablet > .elementor-container > :nth-child(10) { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; } } @media (min-width: 768px) and (max-width: -1px) { .elementor-reverse-tablet > .elementor-container > :nth-child(1) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(2) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(3) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(4) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(5) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(6) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(7) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(8) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(9) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(10) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(1) { -webkit-box-ordinal-group: 11; -ms-flex-order: 10; order: 10; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(2) { -webkit-box-ordinal-group: 10; -ms-flex-order: 9; order: 9; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(3) { -webkit-box-ordinal-group: 9; -ms-flex-order: 8; order: 8; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(4) { -webkit-box-ordinal-group: 8; -ms-flex-order: 7; order: 7; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(5) { -webkit-box-ordinal-group: 7; -ms-flex-order: 6; order: 6; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(6) { -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(7) { -webkit-box-ordinal-group: 5; -ms-flex-order: 4; order: 4; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(8) { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(9) { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(10) { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; } } @media (max-width: 767px) { .elementor-reverse-mobile > .elementor-container > :nth-child(1) { -webkit-box-ordinal-group: 11; -ms-flex-order: 10; order: 10; } .elementor-reverse-mobile > .elementor-container > :nth-child(2) { -webkit-box-ordinal-group: 10; -ms-flex-order: 9; order: 9; } .elementor-reverse-mobile > .elementor-container > :nth-child(3) { -webkit-box-ordinal-group: 9; -ms-flex-order: 8; order: 8; } .elementor-reverse-mobile > .elementor-container > :nth-child(4) { -webkit-box-ordinal-group: 8; -ms-flex-order: 7; order: 7; } .elementor-reverse-mobile > .elementor-container > :nth-child(5) { -webkit-box-ordinal-group: 7; -ms-flex-order: 6; order: 6; } .elementor-reverse-mobile > .elementor-container > :nth-child(6) { -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; } .elementor-reverse-mobile > .elementor-container > :nth-child(7) { -webkit-box-ordinal-group: 5; -ms-flex-order: 4; order: 4; } .elementor-reverse-mobile > .elementor-container > :nth-child(8) { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; } .elementor-reverse-mobile > .elementor-container > :nth-child(9) { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; } .elementor-reverse-mobile > .elementor-container > :nth-child(10) { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; } .elementor-column { width: 100%; } } ul.elementor-icon-list-items.elementor-inline-items { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; } ul.elementor-icon-list-items.elementor-inline-items .elementor-inline-item { word-break: break-word; } .elementor-grid { display: grid; grid-column-gap: var(--grid-column-gap); grid-row-gap: var(--grid-row-gap); } .elementor-grid .elementor-grid-item { min-width: 0; } .elementor-grid-0 .elementor-grid { display: inline-block; width: 100%; word-spacing: var(--grid-column-gap); margin-bottom: calc(-1 * var(--grid-row-gap)); } .elementor-grid-0 .elementor-grid .elementor-grid-item { display: inline-block; margin-bottom: var(--grid-row-gap); word-break: break-word; } .elementor-grid-1 .elementor-grid { grid-template-columns: repeat(1, 1fr); } .elementor-grid-2 .elementor-grid { grid-template-columns: repeat(2, 1fr); } .elementor-grid-3 .elementor-grid { grid-template-columns: repeat(3, 1fr); } .elementor-grid-4 .elementor-grid { grid-template-columns: repeat(4, 1fr); } .elementor-grid-5 .elementor-grid { grid-template-columns: repeat(5, 1fr); } .elementor-grid-6 .elementor-grid { grid-template-columns: repeat(6, 1fr); } .elementor-grid-7 .elementor-grid { grid-template-columns: repeat(7, 1fr); } .elementor-grid-8 .elementor-grid { grid-template-columns: repeat(8, 1fr); } .elementor-grid-9 .elementor-grid { grid-template-columns: repeat(9, 1fr); } .elementor-grid-10 .elementor-grid { grid-template-columns: repeat(10, 1fr); } .elementor-grid-11 .elementor-grid { grid-template-columns: repeat(11, 1fr); } .elementor-grid-12 .elementor-grid { grid-template-columns: repeat(12, 1fr); } @media (min-width: -1px) { .elementor-grid-widescreen-0 .elementor-grid { display: inline-block; width: 100%; word-spacing: var(--grid-column-gap); margin-bottom: calc(-1 * var(--grid-row-gap)); } .elementor-grid-widescreen-0 .elementor-grid .elementor-grid-item { display: inline-block; margin-bottom: var(--grid-row-gap); word-break: break-word; } .elementor-grid-widescreen-1 .elementor-grid { grid-template-columns: repeat(1, 1fr); } .elementor-grid-widescreen-2 .elementor-grid { grid-template-columns: repeat(2, 1fr); } .elementor-grid-widescreen-3 .elementor-grid { grid-template-columns: repeat(3, 1fr); } .elementor-grid-widescreen-4 .elementor-grid { grid-template-columns: repeat(4, 1fr); } .elementor-grid-widescreen-5 .elementor-grid { grid-template-columns: repeat(5, 1fr); } .elementor-grid-widescreen-6 .elementor-grid { grid-template-columns: repeat(6, 1fr); } .elementor-grid-widescreen-7 .elementor-grid { grid-template-columns: repeat(7, 1fr); } .elementor-grid-widescreen-8 .elementor-grid { grid-template-columns: repeat(8, 1fr); } .elementor-grid-widescreen-9 .elementor-grid { grid-template-columns: repeat(9, 1fr); } .elementor-grid-widescreen-10 .elementor-grid { grid-template-columns: repeat(10, 1fr); } .elementor-grid-widescreen-11 .elementor-grid { grid-template-columns: repeat(11, 1fr); } .elementor-grid-widescreen-12 .elementor-grid { grid-template-columns: repeat(12, 1fr); } } @media (max-width: -1px) { .elementor-grid-laptop-0 .elementor-grid { display: inline-block; width: 100%; word-spacing: var(--grid-column-gap); margin-bottom: calc(-1 * var(--grid-row-gap)); } .elementor-grid-laptop-0 .elementor-grid .elementor-grid-item { display: inline-block; margin-bottom: var(--grid-row-gap); word-break: break-word; } .elementor-grid-laptop-1 .elementor-grid { grid-template-columns: repeat(1, 1fr); } .elementor-grid-laptop-2 .elementor-grid { grid-template-columns: repeat(2, 1fr); } .elementor-grid-laptop-3 .elementor-grid { grid-template-columns: repeat(3, 1fr); } .elementor-grid-laptop-4 .elementor-grid { grid-template-columns: repeat(4, 1fr); } .elementor-grid-laptop-5 .elementor-grid { grid-template-columns: repeat(5, 1fr); } .elementor-grid-laptop-6 .elementor-grid { grid-template-columns: repeat(6, 1fr); } .elementor-grid-laptop-7 .elementor-grid { grid-template-columns: repeat(7, 1fr); } .elementor-grid-laptop-8 .elementor-grid { grid-template-columns: repeat(8, 1fr); } .elementor-grid-laptop-9 .elementor-grid { grid-template-columns: repeat(9, 1fr); } .elementor-grid-laptop-10 .elementor-grid { grid-template-columns: repeat(10, 1fr); } .elementor-grid-laptop-11 .elementor-grid { grid-template-columns: repeat(11, 1fr); } .elementor-grid-laptop-12 .elementor-grid { grid-template-columns: repeat(12, 1fr); } } @media (max-width: -1px) { .elementor-grid-tablet_extra-0 .elementor-grid { display: inline-block; width: 100%; word-spacing: var(--grid-column-gap); margin-bottom: calc(-1 * var(--grid-row-gap)); } .elementor-grid-tablet_extra-0 .elementor-grid .elementor-grid-item { display: inline-block; margin-bottom: var(--grid-row-gap); word-break: break-word; } .elementor-grid-tablet_extra-1 .elementor-grid { grid-template-columns: repeat(1, 1fr); } .elementor-grid-tablet_extra-2 .elementor-grid { grid-template-columns: repeat(2, 1fr); } .elementor-grid-tablet_extra-3 .elementor-grid { grid-template-columns: repeat(3, 1fr); } .elementor-grid-tablet_extra-4 .elementor-grid { grid-template-columns: repeat(4, 1fr); } .elementor-grid-tablet_extra-5 .elementor-grid { grid-template-columns: repeat(5, 1fr); } .elementor-grid-tablet_extra-6 .elementor-grid { grid-template-columns: repeat(6, 1fr); } .elementor-grid-tablet_extra-7 .elementor-grid { grid-template-columns: repeat(7, 1fr); } .elementor-grid-tablet_extra-8 .elementor-grid { grid-template-columns: repeat(8, 1fr); } .elementor-grid-tablet_extra-9 .elementor-grid { grid-template-columns: repeat(9, 1fr); } .elementor-grid-tablet_extra-10 .elementor-grid { grid-template-columns: repeat(10, 1fr); } .elementor-grid-tablet_extra-11 .elementor-grid { grid-template-columns: repeat(11, 1fr); } .elementor-grid-tablet_extra-12 .elementor-grid { grid-template-columns: repeat(12, 1fr); } } @media (max-width: 1024px) { .elementor-grid-tablet-0 .elementor-grid { display: inline-block; width: 100%; word-spacing: var(--grid-column-gap); margin-bottom: calc(-1 * var(--grid-row-gap)); } .elementor-grid-tablet-0 .elementor-grid .elementor-grid-item { display: inline-block; margin-bottom: var(--grid-row-gap); word-break: break-word; } .elementor-grid-tablet-1 .elementor-grid { grid-template-columns: repeat(1, 1fr); } .elementor-grid-tablet-2 .elementor-grid { grid-template-columns: repeat(2, 1fr); } .elementor-grid-tablet-3 .elementor-grid { grid-template-columns: repeat(3, 1fr); } .elementor-grid-tablet-4 .elementor-grid { grid-template-columns: repeat(4, 1fr); } .elementor-grid-tablet-5 .elementor-grid { grid-template-columns: repeat(5, 1fr); } .elementor-grid-tablet-6 .elementor-grid { grid-template-columns: repeat(6, 1fr); } .elementor-grid-tablet-7 .elementor-grid { grid-template-columns: repeat(7, 1fr); } .elementor-grid-tablet-8 .elementor-grid { grid-template-columns: repeat(8, 1fr); } .elementor-grid-tablet-9 .elementor-grid { grid-template-columns: repeat(9, 1fr); } .elementor-grid-tablet-10 .elementor-grid { grid-template-columns: repeat(10, 1fr); } .elementor-grid-tablet-11 .elementor-grid { grid-template-columns: repeat(11, 1fr); } .elementor-grid-tablet-12 .elementor-grid { grid-template-columns: repeat(12, 1fr); } } @media (max-width: -1px) { .elementor-grid-mobile_extra-0 .elementor-grid { display: inline-block; width: 100%; word-spacing: var(--grid-column-gap); margin-bottom: calc(-1 * var(--grid-row-gap)); } .elementor-grid-mobile_extra-0 .elementor-grid .elementor-grid-item { display: inline-block; margin-bottom: var(--grid-row-gap); word-break: break-word; } .elementor-grid-mobile_extra-1 .elementor-grid { grid-template-columns: repeat(1, 1fr); } .elementor-grid-mobile_extra-2 .elementor-grid { grid-template-columns: repeat(2, 1fr); } .elementor-grid-mobile_extra-3 .elementor-grid { grid-template-columns: repeat(3, 1fr); } .elementor-grid-mobile_extra-4 .elementor-grid { grid-template-columns: repeat(4, 1fr); } .elementor-grid-mobile_extra-5 .elementor-grid { grid-template-columns: repeat(5, 1fr); } .elementor-grid-mobile_extra-6 .elementor-grid { grid-template-columns: repeat(6, 1fr); } .elementor-grid-mobile_extra-7 .elementor-grid { grid-template-columns: repeat(7, 1fr); } .elementor-grid-mobile_extra-8 .elementor-grid { grid-template-columns: repeat(8, 1fr); } .elementor-grid-mobile_extra-9 .elementor-grid { grid-template-columns: repeat(9, 1fr); } .elementor-grid-mobile_extra-10 .elementor-grid { grid-template-columns: repeat(10, 1fr); } .elementor-grid-mobile_extra-11 .elementor-grid { grid-template-columns: repeat(11, 1fr); } .elementor-grid-mobile_extra-12 .elementor-grid { grid-template-columns: repeat(12, 1fr); } } @media (max-width: 767px) { .elementor-grid-mobile-0 .elementor-grid { display: inline-block; width: 100%; word-spacing: var(--grid-column-gap); margin-bottom: calc(-1 * var(--grid-row-gap)); } .elementor-grid-mobile-0 .elementor-grid .elementor-grid-item { display: inline-block; margin-bottom: var(--grid-row-gap); word-break: break-word; } .elementor-grid-mobile-1 .elementor-grid { grid-template-columns: repeat(1, 1fr); } .elementor-grid-mobile-2 .elementor-grid { grid-template-columns: repeat(2, 1fr); } .elementor-grid-mobile-3 .elementor-grid { grid-template-columns: repeat(3, 1fr); } .elementor-grid-mobile-4 .elementor-grid { grid-template-columns: repeat(4, 1fr); } .elementor-grid-mobile-5 .elementor-grid { grid-template-columns: repeat(5, 1fr); } .elementor-grid-mobile-6 .elementor-grid { grid-template-columns: repeat(6, 1fr); } .elementor-grid-mobile-7 .elementor-grid { grid-template-columns: repeat(7, 1fr); } .elementor-grid-mobile-8 .elementor-grid { grid-template-columns: repeat(8, 1fr); } .elementor-grid-mobile-9 .elementor-grid { grid-template-columns: repeat(9, 1fr); } .elementor-grid-mobile-10 .elementor-grid { grid-template-columns: repeat(10, 1fr); } .elementor-grid-mobile-11 .elementor-grid { grid-template-columns: repeat(11, 1fr); } .elementor-grid-mobile-12 .elementor-grid { grid-template-columns: repeat(12, 1fr); } } @media (min-width: 1025px) { #elementor-device-mode:after { content: "desktop"; } } @media (min-width: -1px) { #elementor-device-mode:after { content: "widescreen"; } } @media (max-width: -1px) { #elementor-device-mode:after { content: "laptop"; } } @media (max-width: -1px) { #elementor-device-mode:after { content: "tablet_extra"; } } @media (max-width: 1024px) { #elementor-device-mode:after { content: "tablet"; } } @media (max-width: -1px) { #elementor-device-mode:after { content: "mobile_extra"; } } @media (max-width: 767px) { #elementor-device-mode:after { content: "mobile"; } } .e-container { --border-radius: 0; --display: flex; --flex-direction: column; --flex-basis: auto; --flex-grow: 0; --flex-shrink: 1; --content-width: Min( 100%, var( --container-max-width, 1140px ) ); --width: 100%; --min-height: initial; --height: auto; --text-align: initial; --margin-top: 0; --margin-right: 0; --margin-bottom: 0; --margin-left: 0; --padding-top: var( --container-default-padding, 0px ); --padding-right: var( --container-default-padding, 0px ); --padding-bottom: var( --container-default-padding, 0px ); --padding-left: var( --container-default-padding, 0px ); --position: relative; --z-index: revert; --overflow: visible; --transition: 0; --gap: var( --widgets-spacing, 20px ); --overlay-mix-blend-mode: initial; --overlay-opacity: 1; --overlay-transition: 0; position: var(--position); display: var(--display); text-align: var(--text-align); -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: var(--flex-direction); flex-direction: var(--flex-direction); -webkit-box-flex: var(--flex-grow); -ms-flex: var(--flex-grow) var(--flex-shrink) var(--flex-basis); flex: var(--flex-grow) var(--flex-shrink) var(--flex-basis); width: var(--width); min-width: 0; max-width: min(100%, var(--width)); min-height: var(--min-height); height: var(--height); border-radius: var(--border-radius); margin: var(--margin-top) var(--margin-right) var(--margin-bottom) var(--margin-left); padding-left: calc((100% - var(--content-width)) / 2 + var(--padding-left)); padding-right: calc((100% - var(--content-width)) / 2 + var(--padding-right)); padding-top: var(--padding-top); padding-bottom: var(--padding-bottom); z-index: var(--z-index); overflow: var(--overflow); -webkit-transition: var(--transition); -o-transition: var(--transition); transition: var(--transition); } :is(.elementor-section-wrap, [data-elementor-id]) > .e-container { --margin-right: auto; --margin-left: auto; } .e-container .elementor-empty-view { position: relative; width: 100%; height: 100%; min-height: var(--min-height, 100px); } .e-container .elementor-empty-view .elementor-first-add { width: auto; height: auto; inset: 10px; } .e-container .elementor-widget-placeholder { --size: 10px; --margin-start: calc( -1 * var( --size ) ); --margin-end: calc( -2 * var( --size ) ); -ms-flex-negative: 0; flex-shrink: 0; -ms-flex-item-align: stretch; align-self: stretch; z-index: 1; pointer-events: none; } .e-container.e-container--row > .elementor-widget-placeholder { position: relative; z-index: 9999; width: var(--size); -webkit-margin-start: var(--margin-start); margin-inline-start: var(--margin-start); height: auto; min-height: 100%; -webkit-animation-name: dnd-placeholder-widget-vertical; animation-name: dnd-placeholder-widget-vertical; -webkit-animation-fill-mode: both; animation-fill-mode: both; } .e-container.e-container--row[data-nesting-level]:not([data-nesting-level="0"]) > .elementor-widget-placeholder { -webkit-margin-end: 0; margin-inline-end: 0; -webkit-margin-start: calc(var(--margin-start) + var(--margin-end)); margin-inline-start: calc(var(--margin-start) + var(--margin-end)); } .e-container.e-container--row[data-nesting-level]:not([data-nesting-level="0"]) > :not(.elementor-element) + .elementor-widget-placeholder { -webkit-margin-end: var(--margin-end); margin-inline-end: var(--margin-end); -webkit-margin-start: var(--margin-start); margin-inline-start: var(--margin-start); } .e-container.e-container--column > .elementor-widget-placeholder { height: var(--size); -webkit-margin-before: var(--margin-start); margin-block-start: var(--margin-start); -webkit-margin-after: var(--margin-end); margin-block-end: var(--margin-end); -webkit-animation-name: dnd-placeholder-widget-horizontal; animation-name: dnd-placeholder-widget-horizontal; } .e-container.e-container--column > .elementor-widget-placeholder:nth-last-child(2) { -webkit-margin-before: calc(2 * var(--margin-start)); margin-block-start: calc(2 * var(--margin-start)); --margin-end: 0; } .e-container .elementor-sortable-helper { height: 84px; width: 125px; z-index: -1; } .e-container .elementor-widget.elementor-widget { margin-bottom: 0; } .e-container::before { content: var(--background-overlay); display: block; position: absolute; z-index: 0; width: 100%; height: 100%; left: 0; top: 0; mix-blend-mode: var(--overlay-mix-blend-mode); opacity: var(--overlay-opacity); -webkit-transition: var(--overlay-transition); -o-transition: var(--overlay-transition); transition: var(--overlay-transition); border-radius: var(--border-radius); } .e-container .elementor-widget { min-width: 0; } .e-container .elementor-widget-video, .e-container .elementor-widget-google_maps { -ms-flex-preferred-size: 100%; flex-basis: 100%; } .e-container .elementor-widget.e-widget-swiper { max-width: 100%; -ms-flex-preferred-size: 100%; flex-basis: 100%; } .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-setting, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-setting { position: relative; background-color: #556068; } .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-setting:hover, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-setting:hover { background-color: #495157; } .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-setting.elementor-editor-element-add, .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-setting.elementor-editor-element-edit + .elementor-editor-element-remove, .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-setting:first-child::before, .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-setting:last-child::after, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-setting.elementor-editor-element-add, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-setting.elementor-editor-element-edit + .elementor-editor-element-remove, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-setting:first-child::before, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-setting:last-child::after { display: none; } .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-setting:not(.elementor-editor-element-edit), .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-setting:not(.elementor-editor-element-edit) { -webkit-margin-start: -25px; margin-inline-start: -25px; z-index: -1; -webkit-transition: 0.3s all; -o-transition: 0.3s all; transition: 0.3s all; will-change: margin-inline-start; } .e-container > .e-container > .elementor-element-overlay > .elementor-editor-element-settings:hover > :is(.elementor-editor-element-duplicate, .elementor-editor-element-remove), .elementor-widget .e-container > .elementor-element-overlay > .elementor-editor-element-settings:hover > :is(.elementor-editor-element-duplicate, .elementor-editor-element-remove) { -webkit-margin-start: 0; margin-inline-start: 0; } .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-settings, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-settings { inset: initial; -webkit-transform: none; -ms-transform: none; transform: none; inset-inline-start: 0; top: 0; border-radius: 0; border-end-end-radius: 3px; height: auto; background-color: #556068; } .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-settings:hover, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-settings:hover { background-color: #495157; } .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-settings i.eicon-handle::before, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-settings i.eicon-handle::before { content: "\e9b4"; font-size: 20px; display: block; padding: 2px; } @media (max-width: 767px) { .e-container { --width: 100%; --flex-wrap: wrap; } } @-webkit-keyframes dnd-placeholder-widget-vertical { 0% { -webkit-transform-origin: 0 50%; transform-origin: 0 50%; -webkit-transform: translateX(50%) scaleX(0); transform: translateX(50%) scaleX(0); opacity: 0; } 100% { -webkit-transform-origin: 0 50%; transform-origin: 0 50%; -webkit-transform: translateX(50%) scaleX(1); transform: translateX(50%) scaleX(1); opacity: 0.9; } } @keyframes dnd-placeholder-widget-vertical { 0% { -webkit-transform-origin: 0 50%; transform-origin: 0 50%; -webkit-transform: translateX(50%) scaleX(0); transform: translateX(50%) scaleX(0); opacity: 0; } 100% { -webkit-transform-origin: 0 50%; transform-origin: 0 50%; -webkit-transform: translateX(50%) scaleX(1); transform: translateX(50%) scaleX(1); opacity: 0.9; } } @-webkit-keyframes dnd-placeholder-widget-horizontal { 0% { -webkit-transform-origin: 50% 0; transform-origin: 50% 0; -webkit-transform: scaleY(0); transform: scaleY(0); opacity: 0; } 100% { -webkit-transform-origin: 50% 0; transform-origin: 50% 0; -webkit-transform: scaleY(1); transform: scaleY(1); opacity: 0.9; } } @keyframes dnd-placeholder-widget-horizontal { 0% { -webkit-transform-origin: 50% 0; transform-origin: 50% 0; -webkit-transform: scaleY(0); transform: scaleY(0); opacity: 0; } 100% { -webkit-transform-origin: 50% 0; transform-origin: 50% 0; -webkit-transform: scaleY(1); transform: scaleY(1); opacity: 0.9; } } .elementor-form-fields-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; } .elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group > input, .elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group > textarea, .elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group > .elementor-select-wrapper, .elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group .elementor-field-subgroup { -ms-flex-preferred-size: 100%; flex-basis: 100%; max-width: 100%; } .elementor-form-fields-wrapper.elementor-labels-inline > .elementor-field-group > input, .elementor-form-fields-wrapper.elementor-labels-inline > .elementor-field-group .elementor-select-wrapper { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; } .elementor-field-group { -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .elementor-field-group.elementor-field-type-submit { -webkit-box-align: end; -ms-flex-align: end; align-items: flex-end; } .elementor-field-group .elementor-field-textual { width: 100%; max-width: 100%; border: 1px solid #818a91; background-color: transparent; color: #373a3c; vertical-align: middle; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; } .elementor-field-group .elementor-field-textual:focus { -webkit-box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1) inset; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1) inset; outline: 0; } .elementor-field-group .elementor-field-textual::-webkit-input-placeholder { color: inherit; font-family: inherit; opacity: 0.6; } .elementor-field-group .elementor-field-textual:-ms-input-placeholder { color: inherit; font-family: inherit; opacity: 0.6; } .elementor-field-group .elementor-field-textual::-moz-placeholder { color: inherit; font-family: inherit; opacity: 0.6; } .elementor-field-group .elementor-field-textual:-moz-placeholder { color: inherit; font-family: inherit; opacity: 0.6; } .elementor-field-group .elementor-field-textual::-ms-input-placeholder { color: inherit; font-family: inherit; opacity: 0.6; } .elementor-field-group .elementor-field-textual::placeholder { color: inherit; font-family: inherit; opacity: 0.6; } .elementor-field-group .elementor-select-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; position: relative; width: 100%; } .elementor-field-group .elementor-select-wrapper select { appearance: none; -webkit-appearance: none; -moz-appearance: none; color: inherit; font-size: inherit; font-family: inherit; font-weight: inherit; font-style: inherit; text-transform: inherit; letter-spacing: inherit; line-height: inherit; -ms-flex-preferred-size: 100%; flex-basis: 100%; padding-right: 20px; } .elementor-field-group .elementor-select-wrapper:before { content: "\e92a"; font-family: "eicons"; font-size: 15px; position: absolute; top: 50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); right: 10px; pointer-events: none; text-shadow: 0 0 3px rgba(0, 0, 0, 0.3); } .elementor-field-group.elementor-field-type-select-multiple .elementor-select-wrapper:before { content: ""; } .elementor-field-subgroup { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; } .elementor-field-subgroup .elementor-field-option label { display: inline-block; } .elementor-field-subgroup.elementor-subgroup-inline .elementor-field-option { padding-right: 10px; } .elementor-field-subgroup:not(.elementor-subgroup-inline) .elementor-field-option { -ms-flex-preferred-size: 100%; flex-basis: 100%; } .elementor-field-type-checkbox .elementor-field-subgroup .elementor-field-option input, .elementor-field-type-checkbox .elementor-field-subgroup .elementor-field-option label, .elementor-field-type-radio .elementor-field-subgroup .elementor-field-option input, .elementor-field-type-radio .elementor-field-subgroup .elementor-field-option label, .elementor-field-type-acceptance .elementor-field-subgroup .elementor-field-option input, .elementor-field-type-acceptance .elementor-field-subgroup .elementor-field-option label { display: inline; } .elementor-field-label { cursor: pointer; } .elementor-mark-required .elementor-field-label:after { content: "*"; color: red; padding-left: 0.2em; } .elementor-field-textual { line-height: 1.4; font-size: 15px; min-height: 40px; padding: 5px 14px; border-radius: 3px; } .elementor-field-textual.elementor-size-xs { font-size: 13px; min-height: 33px; padding: 4px 12px; border-radius: 2px; } .elementor-field-textual.elementor-size-md { font-size: 16px; min-height: 47px; padding: 6px 16px; border-radius: 4px; } .elementor-field-textual.elementor-size-lg { font-size: 18px; min-height: 59px; padding: 7px 20px; border-radius: 5px; } .elementor-field-textual.elementor-size-xl { font-size: 20px; min-height: 72px; padding: 8px 24px; border-radius: 6px; } .elementor-button-align-stretch .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button { -ms-flex-preferred-size: 100%; flex-basis: 100%; } .elementor-button-align-stretch .e-form__buttons__wrapper { -ms-flex-preferred-size: 50%; flex-basis: 50%; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; } .elementor-button-align-stretch .e-form__buttons__wrapper__button { -ms-flex-preferred-size: 100%; flex-basis: 100%; } .elementor-button-align-center .elementor-field-type-submit, .elementor-button-align-center .e-form__buttons { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-button-align-start .elementor-field-type-submit, .elementor-button-align-start .e-form__buttons { -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; } .elementor-button-align-end .elementor-field-type-submit, .elementor-button-align-end .e-form__buttons { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; } .elementor-button-align-center .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button, .elementor-button-align-start .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button, .elementor-button-align-end .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button { -ms-flex-preferred-size: initial; flex-basis: initial; } .elementor-button-align-center .e-form__buttons__wrapper, .elementor-button-align-start .e-form__buttons__wrapper, .elementor-button-align-end .e-form__buttons__wrapper { -webkit-box-flex: initial; -ms-flex-positive: initial; flex-grow: initial; } .elementor-button-align-center .e-form__buttons__wrapper, .elementor-button-align-center .e-form__buttons__wrapper__button, .elementor-button-align-start .e-form__buttons__wrapper, .elementor-button-align-start .e-form__buttons__wrapper__button, .elementor-button-align-end .e-form__buttons__wrapper, .elementor-button-align-end .e-form__buttons__wrapper__button { -ms-flex-preferred-size: initial; flex-basis: initial; } @media screen and (max-width: 1024px) { .elementor-tablet-button-align-stretch .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button { -ms-flex-preferred-size: 100%; flex-basis: 100%; } .elementor-tablet-button-align-stretch .e-form__buttons__wrapper { -ms-flex-preferred-size: 50%; flex-basis: 50%; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; } .elementor-tablet-button-align-stretch .e-form__buttons__wrapper__button { -ms-flex-preferred-size: 100%; flex-basis: 100%; } .elementor-tablet-button-align-center .elementor-field-type-submit, .elementor-tablet-button-align-center .e-form__buttons { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-tablet-button-align-start .elementor-field-type-submit, .elementor-tablet-button-align-start .e-form__buttons { -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; } .elementor-tablet-button-align-end .elementor-field-type-submit, .elementor-tablet-button-align-end .e-form__buttons { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; } .elementor-tablet-button-align-center .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button, .elementor-tablet-button-align-start .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button, .elementor-tablet-button-align-end .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button { -ms-flex-preferred-size: initial; flex-basis: initial; } .elementor-tablet-button-align-center .e-form__buttons__wrapper, .elementor-tablet-button-align-start .e-form__buttons__wrapper, .elementor-tablet-button-align-end .e-form__buttons__wrapper { -webkit-box-flex: initial; -ms-flex-positive: initial; flex-grow: initial; } .elementor-tablet-button-align-center .e-form__buttons__wrapper, .elementor-tablet-button-align-center .e-form__buttons__wrapper__button, .elementor-tablet-button-align-start .e-form__buttons__wrapper, .elementor-tablet-button-align-start .e-form__buttons__wrapper__button, .elementor-tablet-button-align-end .e-form__buttons__wrapper, .elementor-tablet-button-align-end .e-form__buttons__wrapper__button { -ms-flex-preferred-size: initial; flex-basis: initial; } } @media screen and (max-width: 767px) { .elementor-mobile-button-align-stretch .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button { -ms-flex-preferred-size: 100%; flex-basis: 100%; } .elementor-mobile-button-align-stretch .e-form__buttons__wrapper { -ms-flex-preferred-size: 50%; flex-basis: 50%; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; } .elementor-mobile-button-align-stretch .e-form__buttons__wrapper__button { -ms-flex-preferred-size: 100%; flex-basis: 100%; } .elementor-mobile-button-align-center .elementor-field-type-submit, .elementor-mobile-button-align-center .e-form__buttons { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-mobile-button-align-start .elementor-field-type-submit, .elementor-mobile-button-align-start .e-form__buttons { -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; } .elementor-mobile-button-align-end .elementor-field-type-submit, .elementor-mobile-button-align-end .e-form__buttons { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; } .elementor-mobile-button-align-center .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button, .elementor-mobile-button-align-start .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button, .elementor-mobile-button-align-end .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button { -ms-flex-preferred-size: initial; flex-basis: initial; } .elementor-mobile-button-align-center .e-form__buttons__wrapper, .elementor-mobile-button-align-start .e-form__buttons__wrapper, .elementor-mobile-button-align-end .e-form__buttons__wrapper { -webkit-box-flex: initial; -ms-flex-positive: initial; flex-grow: initial; } .elementor-mobile-button-align-center .e-form__buttons__wrapper, .elementor-mobile-button-align-center .e-form__buttons__wrapper__button, .elementor-mobile-button-align-start .e-form__buttons__wrapper, .elementor-mobile-button-align-start .e-form__buttons__wrapper__button, .elementor-mobile-button-align-end .e-form__buttons__wrapper, .elementor-mobile-button-align-end .e-form__buttons__wrapper__button { -ms-flex-preferred-size: initial; flex-basis: initial; } } .elementor-error .elementor-field { border-color: #d9534f; } .elementor-error .help-inline { color: #d9534f; font-size: 0.9em; } .elementor-message { margin: 10px 0; font-size: 1em; line-height: 1; } .elementor-message:before { content: "\e90e"; display: inline-block; font-family: eicons; font-weight: normal; font-style: normal; vertical-align: middle; margin-right: 5px; } .elementor-message.elementor-message-danger { color: #d9534f; } .elementor-message.elementor-message-danger:before { content: "\e87f"; } .elementor-message.form-message-success { color: #5cb85c; } .elementor-form .elementor-button { padding-top: 0; padding-bottom: 0; border: none; } .elementor-form .elementor-button > span { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-form .elementor-button.elementor-size-xs { min-height: 33px; } .elementor-form .elementor-button.elementor-size-sm { min-height: 40px; } .elementor-form .elementor-button.elementor-size-md { min-height: 47px; } .elementor-form .elementor-button.elementor-size-lg { min-height: 59px; } .elementor-form .elementor-button.elementor-size-xl { min-height: 72px; } .elementor-element .elementor-widget-container { -webkit-transition: background 0.3s, border 0.3s, border-radius 0.3s, -webkit-box-shadow 0.3s; transition: background 0.3s, border 0.3s, border-radius 0.3s, -webkit-box-shadow 0.3s; -o-transition: background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s; transition: background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s; transition: background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s, -webkit-box-shadow 0.3s; } .elementor-button { display: inline-block; line-height: 1; background-color: #818a91; font-size: 15px; padding: 12px 24px; border-radius: 3px; color: #fff; fill: #fff; text-align: center; -webkit-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; } .elementor-button:hover, .elementor-button:focus, .elementor-button:visited { color: #fff; } .elementor-button-content-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-button-icon { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; } .elementor-button-icon svg { width: 1em; height: auto; } .elementor-button-icon .e-font-icon-svg { height: 1em; } .elementor-button-text { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; -webkit-box-ordinal-group: 11; -ms-flex-order: 10; order: 10; display: inline-block; } .elementor-button.elementor-size-xs { font-size: 13px; padding: 10px 20px; border-radius: 2px; } .elementor-button.elementor-size-md { font-size: 16px; padding: 15px 30px; border-radius: 4px; } .elementor-button.elementor-size-lg { font-size: 18px; padding: 20px 40px; border-radius: 5px; } .elementor-button.elementor-size-xl { font-size: 20px; padding: 25px 50px; border-radius: 6px; } .elementor-button .elementor-align-icon-right { margin-left: 5px; -webkit-box-ordinal-group: 16; -ms-flex-order: 15; order: 15; } .elementor-button .elementor-align-icon-left { margin-right: 5px; -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; } .elementor-button span { text-decoration: inherit; } .elementor-element.elementor-button-info .elementor-button { background-color: #5bc0de; } .elementor-element.elementor-button-success .elementor-button { background-color: #5cb85c; } .elementor-element.elementor-button-warning .elementor-button { background-color: #f0ad4e; } .elementor-element.elementor-button-danger .elementor-button { background-color: #d9534f; } .elementor-widget-button .elementor-button .elementor-button-info { background-color: #5bc0de; } .elementor-widget-button .elementor-button .elementor-button-success { background-color: #5cb85c; } .elementor-widget-button .elementor-button .elementor-button-warning { background-color: #f0ad4e; } .elementor-widget-button .elementor-button .elementor-button-danger { background-color: #d9534f; } .elementor-tab-title a { color: inherit; } .elementor-view-stacked .elementor-icon { padding: 0.5em; background-color: #818a91; color: #fff; fill: #fff; } .elementor-view-framed .elementor-icon { padding: 0.5em; color: #818a91; border: 3px solid #818a91; background-color: transparent; } .elementor-icon { display: inline-block; line-height: 1; -webkit-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; color: #818a91; font-size: 50px; text-align: center; } .elementor-icon:hover { color: #818a91; } .elementor-icon i, .elementor-icon svg { width: 1em; height: 1em; position: relative; display: block; } .elementor-icon i:before, .elementor-icon svg:before { position: absolute; left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); } .elementor-icon i.fad { width: initial; } .elementor-shape-circle .elementor-icon { border-radius: 50%; } .e-transform .elementor-widget-container { -webkit-transform: perspective(var(--e-transform-perspective, 0)) rotateZ(var(--e-transform-rotateZ, 0)) rotateX(var(--e-transform-rotateX, 0)) rotateY(var(--e-transform-rotateY, 0)) translate(var(--e-transform-translate, 0)) translateX(var(--e-transform-translateX, 0)) translateY(var(--e-transform-translateY, 0)) scaleX(calc(var(--e-transform-flipX, 1) * var(--e-transform-scaleX, var(--e-transform-scale, 1)))) scaleY(calc(var(--e-transform-flipY, 1) * var(--e-transform-scaleY, var(--e-transform-scale, 1)))) skewX(var(--e-transform-skewX, 0)) skewY(var(--e-transform-skewY, 0)); transform: perspective(var(--e-transform-perspective, 0)) rotateZ(var(--e-transform-rotateZ, 0)) rotateX(var(--e-transform-rotateX, 0)) rotateY(var(--e-transform-rotateY, 0)) translate(var(--e-transform-translate, 0)) translateX(var(--e-transform-translateX, 0)) translateY(var(--e-transform-translateY, 0)) scaleX(calc(var(--e-transform-flipX, 1) * var(--e-transform-scaleX, var(--e-transform-scale, 1)))) scaleY(calc(var(--e-transform-flipY, 1) * var(--e-transform-scaleY, var(--e-transform-scale, 1)))) skewX(var(--e-transform-skewX, 0)) skewY(var(--e-transform-skewY, 0)); -webkit-transform-origin: var(--e-transform-origin-y) var(--e-transform-origin-x); -ms-transform-origin: var(--e-transform-origin-y) var(--e-transform-origin-x); transform-origin: var(--e-transform-origin-y) var(--e-transform-origin-x); -webkit-transition: -webkit-transform var(--e-transform-transition-duration, 400ms); transition: -webkit-transform var(--e-transform-transition-duration, 400ms); -o-transition: transform var(--e-transform-transition-duration, 400ms); transition: transform var(--e-transform-transition-duration, 400ms); transition: transform var(--e-transform-transition-duration, 400ms), -webkit-transform var(--e-transform-transition-duration, 400ms); } /** * Swiper 3.4.2 * Customized by Elementor team */ .swiper-container { margin-left: auto; margin-right: auto; position: relative; overflow: hidden; /* Fix of Webkit flickering */ z-index: 1; } .swiper-container .swiper-slide figure { line-height: 0; } .swiper-container .elementor-lightbox-content-source { display: none; } .swiper-container-no-flexbox .swiper-slide { float: left; } .swiper-container-vertical > .swiper-wrapper { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; } .swiper-wrapper { position: relative; width: 100%; height: 100%; z-index: 1; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-transition-property: -webkit-transform; transition-property: -webkit-transform; -o-transition-property: transform; transition-property: transform; transition-property: transform, -webkit-transform; -webkit-box-sizing: content-box; box-sizing: content-box; } .swiper-container-android .swiper-slide, .swiper-wrapper { -webkit-transform: translate3d(0px, 0, 0); transform: translate3d(0px, 0, 0); } .swiper-container-multirow > .swiper-wrapper { -ms-flex-wrap: wrap; flex-wrap: wrap; } .swiper-container-free-mode > .swiper-wrapper { -webkit-transition-timing-function: ease-out; -o-transition-timing-function: ease-out; transition-timing-function: ease-out; margin: 0 auto; } .swiper-slide { -ms-flex-negative: 0; flex-shrink: 0; width: 100%; height: 100%; position: relative; } /* Auto Height */ .swiper-container-autoheight { height: auto; } .swiper-container-autoheight .swiper-slide { height: auto; } .swiper-container-autoheight .swiper-wrapper { -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; -webkit-transition-property: height, -webkit-transform; transition-property: height, -webkit-transform; -o-transition-property: transform, height; transition-property: transform, height; transition-property: transform, height, -webkit-transform; } /* a11y */ .swiper-container .swiper-notification { position: absolute; left: 0; top: 0; pointer-events: none; opacity: 0; z-index: -1000; } /* IE10 Windows Phone 8 Fixes */ .swiper-wp8-horizontal { -ms-touch-action: pan-y; touch-action: pan-y; } .swiper-wp8-vertical { -ms-touch-action: pan-x; touch-action: pan-x; } /* Arrows */ .swiper-button-prev, .swiper-button-next { position: absolute; top: 50%; width: 27px; height: 44px; margin-top: -22px; z-index: 10; cursor: pointer; background-size: 27px 44px; background: no-repeat center; } .swiper-button-prev.swiper-button-disabled, .swiper-button-next.swiper-button-disabled { opacity: 0.35; cursor: auto; pointer-events: none; } .swiper-button-prev, .swiper-container-rtl .swiper-button-next { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E"); left: 10px; right: auto; } .swiper-button-prev.swiper-button-black, .swiper-container-rtl .swiper-button-next.swiper-button-black { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); } .swiper-button-prev.swiper-button-white, .swiper-container-rtl .swiper-button-next.swiper-button-white { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); } .swiper-button-next, .swiper-container-rtl .swiper-button-prev { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E"); right: 10px; left: auto; } .swiper-button-next.swiper-button-black, .swiper-container-rtl .swiper-button-prev.swiper-button-black { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); } .swiper-button-next.swiper-button-white, .swiper-container-rtl .swiper-button-prev.swiper-button-white { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); } /* Pagination Styles */ .swiper-pagination { position: absolute; text-align: center; -webkit-transition: 300ms; -o-transition: 300ms; transition: 300ms; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); z-index: 10; } .swiper-pagination.swiper-pagination-hidden { opacity: 0; } /* Common Styles */ .swiper-pagination-fraction, .swiper-pagination-custom, .swiper-container-horizontal > .swiper-pagination-bullets { bottom: 5px; left: 0; width: 100%; } /* Bullets */ .swiper-pagination-bullet { width: 6px; height: 6px; display: inline-block; border-radius: 50%; background: #000; opacity: 0.2; } .swiper-pagination-fraction { color: #000; } button.swiper-pagination-bullet { border: none; margin: 0; padding: 0; -webkit-box-shadow: none; box-shadow: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; } .swiper-pagination-clickable .swiper-pagination-bullet { cursor: pointer; } .swiper-pagination-white .swiper-pagination-bullet { background: #fff; } .swiper-pagination-bullet-active { opacity: 1; } .swiper-pagination-white .swiper-pagination-bullet-active { background: #fff; } .swiper-pagination-black .swiper-pagination-bullet-active { background: #000; } .swiper-container-vertical > .swiper-pagination-bullets { right: 10px; top: 50%; -webkit-transform: translate3d(0px, -50%, 0); transform: translate3d(0px, -50%, 0); } .swiper-container-vertical > .swiper-pagination-bullets .swiper-pagination-bullet { margin: 5px 0; display: block; } .swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet { margin: 0 6px; } /* Progressbar */ .swiper-pagination-progressbar { background: rgba(0, 0, 0, 0.25); position: absolute; } .swiper-pagination-progressbar .swiper-pagination-progressbar-fill { background: #000; position: absolute; left: 0; top: 0; width: 100%; height: 100%; -webkit-transform: scale(0); -ms-transform: scale(0); transform: scale(0); -webkit-transform-origin: left top; -ms-transform-origin: left top; transform-origin: left top; } .swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill { -webkit-transform-origin: right top; -ms-transform-origin: right top; transform-origin: right top; } .swiper-container-horizontal > .swiper-pagination-progressbar { width: 100%; height: 4px; left: 0; top: 0; } .swiper-container-vertical > .swiper-pagination-progressbar { width: 4px; height: 100%; left: 0; top: 0; } .swiper-pagination-progressbar.swiper-pagination-white { background: rgba(255, 255, 255, 0.5); } .swiper-pagination-progressbar.swiper-pagination-white .swiper-pagination-progressbar-fill { background: #fff; } .swiper-pagination-progressbar.swiper-pagination-black .swiper-pagination-progressbar-fill { background: #000; } /* 3D Container */ .swiper-container-3d { -webkit-perspective: 1200px; perspective: 1200px; } .swiper-container-3d .swiper-wrapper, .swiper-container-3d .swiper-slide, .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top, .swiper-container-3d .swiper-slide-shadow-bottom, .swiper-container-3d .swiper-cube-shadow { -webkit-transform-style: preserve-3d; transform-style: preserve-3d; } .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top, .swiper-container-3d .swiper-slide-shadow-bottom { position: absolute; left: 0; top: 0; width: 100%; height: 100%; pointer-events: none; z-index: 10; } .swiper-container-3d .swiper-slide-shadow-left { background-image: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0))); background-image: -o-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); } .swiper-container-3d .swiper-slide-shadow-right { background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0))); background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); } .swiper-container-3d .swiper-slide-shadow-top { background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0))); background-image: -o-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); } .swiper-container-3d .swiper-slide-shadow-bottom { background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0))); background-image: -o-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); } /* Coverflow */ .swiper-container-coverflow .swiper-wrapper, .swiper-container-flip .swiper-wrapper { /* Windows 8 IE 10 fix */ -ms-perspective: 1200px; } /* Cube + Flip */ .swiper-container-cube, .swiper-container-flip { overflow: visible; } .swiper-container-cube .swiper-slide, .swiper-container-flip .swiper-slide { pointer-events: none; z-index: 1; } .swiper-container-cube .swiper-slide .swiper-slide, .swiper-container-flip .swiper-slide .swiper-slide { pointer-events: none; } .swiper-container-cube .swiper-slide-active, .swiper-container-flip .swiper-slide-active, .swiper-container-cube .swiper-slide-active .swiper-slide-active, .swiper-container-flip .swiper-slide-active .swiper-slide-active { pointer-events: auto; } .swiper-container-cube .swiper-slide-shadow-top, .swiper-container-flip .swiper-slide-shadow-top, .swiper-container-cube .swiper-slide-shadow-bottom, .swiper-container-flip .swiper-slide-shadow-bottom, .swiper-container-cube .swiper-slide-shadow-left, .swiper-container-flip .swiper-slide-shadow-left, .swiper-container-cube .swiper-slide-shadow-right, .swiper-container-flip .swiper-slide-shadow-right { z-index: 0; -webkit-backface-visibility: hidden; backface-visibility: hidden; } /* Cube */ .swiper-container-cube .swiper-slide { visibility: hidden; -webkit-transform-origin: 0 0; -ms-transform-origin: 0 0; transform-origin: 0 0; width: 100%; height: 100%; } .swiper-container-cube.swiper-container-rtl .swiper-slide { -webkit-transform-origin: 100% 0; -ms-transform-origin: 100% 0; transform-origin: 100% 0; } .swiper-container-cube .swiper-slide-active, .swiper-container-cube .swiper-slide-next, .swiper-container-cube .swiper-slide-prev, .swiper-container-cube .swiper-slide-next + .swiper-slide { pointer-events: auto; visibility: visible; } .swiper-container-cube .swiper-cube-shadow { position: absolute; left: 0; bottom: 0; width: 100%; height: 100%; background: #000; opacity: 0.6; -webkit-filter: blur(50px); filter: blur(50px); z-index: 0; } /* Fade */ .swiper-container-fade.swiper-container-free-mode .swiper-slide { -webkit-transition-timing-function: ease-out; -o-transition-timing-function: ease-out; transition-timing-function: ease-out; } .swiper-container-fade .swiper-slide { pointer-events: none; -webkit-transition-property: opacity; -o-transition-property: opacity; transition-property: opacity; } .swiper-container-fade .swiper-slide .swiper-slide { pointer-events: none; } .swiper-container-fade .swiper-slide-active { pointer-events: auto; } .swiper-container-fade .swiper-slide-active .swiper-slide-active { pointer-events: auto; } .swiper-zoom-container { width: 100%; height: 100%; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; text-align: center; } .swiper-zoom-container > img, .swiper-zoom-container > svg, .swiper-zoom-container > canvas { max-width: 100%; max-height: 100%; -o-object-fit: contain; object-fit: contain; } /* Scrollbar */ .swiper-scrollbar { border-radius: 10px; position: relative; -ms-touch-action: none; background: rgba(0, 0, 0, 0.1); } .swiper-container-horizontal > .swiper-scrollbar { position: absolute; left: 1%; bottom: 3px; z-index: 50; height: 5px; width: 98%; } .swiper-container-vertical > .swiper-scrollbar { position: absolute; right: 3px; top: 1%; z-index: 50; width: 5px; height: 98%; } .swiper-scrollbar-drag { height: 100%; width: 100%; position: relative; background: rgba(0, 0, 0, 0.5); border-radius: 10px; left: 0; top: 0; } .swiper-scrollbar-cursor-drag { cursor: move; } .elementor-pagination-position-outside .swiper-container { padding-bottom: 30px; } .elementor-pagination-position-outside .elementor-swiper-button { top: calc(50% - 30px / 2); } .elementor-swiper { position: relative; } .elementor-main-swiper { position: static; } .elementor-arrows-position-outside .swiper-container { width: calc(100% - 60px); } .elementor-arrows-position-outside .elementor-swiper-button-prev { left: 0; } .elementor-arrows-position-outside .elementor-swiper-button-next { right: 0; } .swiper-image-stretch .swiper-slide .swiper-slide-image { width: 100%; } .elementor-swiper-button { position: absolute; display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; z-index: 1; cursor: pointer; font-size: 25px; color: rgba(238, 238, 238, 0.9); top: 50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); } .elementor-swiper-button svg { fill: rgba(238, 238, 238, 0.9); height: 1em; width: 1em; } .elementor-swiper-button-prev { left: 10px; } .elementor-swiper-button-next { right: 10px; } .elementor-swiper-button.swiper-button-disabled { opacity: 0.3; } .swiper-container-cube .elementor-swiper-button { -webkit-transform: translate3d(0, -50%, 1px); transform: translate3d(0, -50%, 1px); } /* Preloader */ .swiper-lazy-preloader { width: 42px; height: 42px; position: absolute; left: 50%; top: 50%; margin-left: -21px; margin-top: -21px; z-index: 10; -webkit-transform-origin: 50%; -ms-transform-origin: 50%; transform-origin: 50%; -webkit-animation: swiper-preloader-spin 1s steps(12, end) infinite; animation: swiper-preloader-spin 1s steps(12, end) infinite; } .swiper-lazy-preloader:after { display: block; content: ""; width: 100%; height: 100%; background-size: 100%; background: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat 50%; } .swiper-lazy-preloader-white:after { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); } @-webkit-keyframes swiper-preloader-spin { 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } @keyframes swiper-preloader-spin { 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } .elementor-lightbox { --lightbox-ui-color: rgba(238, 238, 238, 0.9); --lightbox-ui-color-hover: #fff; --lightbox-text-color: var(--lightbox-ui-color); --lightbox-header-icons-size: 20px; --lightbox-navigation-icons-size: 25px; } .elementor-lightbox .dialog-header { display: none; } .elementor-lightbox .dialog-widget-content { background: none; -webkit-box-shadow: none; box-shadow: none; width: 100%; height: 100%; } .elementor-lightbox .dialog-message { -webkit-animation-duration: 0.3s; animation-duration: 0.3s; } .elementor-lightbox .dialog-message:not(.elementor-fit-aspect-ratio) { height: 100%; } .elementor-lightbox .dialog-message.dialog-lightbox-message { padding: 0; } .elementor-lightbox .dialog-lightbox-close-button { cursor: pointer; position: absolute; font-size: var(--lightbox-header-icons-size); right: 0.75em; margin-top: 13px; padding: 0.25em; z-index: 2; line-height: 1; display: -webkit-box; display: -ms-flexbox; display: flex; } .elementor-lightbox .dialog-lightbox-close-button svg { height: 1em; width: 1em; } .elementor-lightbox .dialog-lightbox-close-button, .elementor-lightbox .elementor-swiper-button { color: var(--lightbox-ui-color); -webkit-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; opacity: 1; } .elementor-lightbox .dialog-lightbox-close-button svg, .elementor-lightbox .elementor-swiper-button svg { fill: var(--lightbox-ui-color); } .elementor-lightbox .dialog-lightbox-close-button:hover, .elementor-lightbox .elementor-swiper-button:hover { color: var(--lightbox-ui-color-hover); } .elementor-lightbox .dialog-lightbox-close-button:hover svg, .elementor-lightbox .elementor-swiper-button:hover svg { fill: var(--lightbox-ui-color-hover); } .elementor-lightbox .swiper-container { height: 100%; } .elementor-lightbox .elementor-lightbox-item { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; position: relative; padding: 70px; -webkit-box-sizing: border-box; box-sizing: border-box; height: 100%; margin: auto; } @media (max-width: 767px) { .elementor-lightbox .elementor-lightbox-item { padding: 70px 0; } } .elementor-lightbox .elementor-lightbox-image { max-height: 100%; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .elementor-lightbox .elementor-lightbox-image, .elementor-lightbox .elementor-lightbox-image:hover { opacity: 1; -webkit-filter: none; filter: none; border: none; } .elementor-lightbox .elementor-lightbox-image, .elementor-lightbox .elementor-video-container { -webkit-box-shadow: 0 0 30px rgba(0, 0, 0, 0.3), 0 0 8px -5px rgba(0, 0, 0, 0.3); box-shadow: 0 0 30px rgba(0, 0, 0, 0.3), 0 0 8px -5px rgba(0, 0, 0, 0.3); border-radius: 2px; } .elementor-lightbox .elementor-video-container { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); } @media (min-width: 1025px) { .elementor-lightbox .elementor-video-container { width: 75%; } } @media (max-width: 1024px) { .elementor-lightbox .elementor-video-container { width: 100%; } } @media (min-width: 768px) and (max-width: 1024px) { .elementor-lightbox .elementor-aspect-ratio-916 .elementor-video-container { width: 70%; } } .elementor-lightbox .elementor-swiper-button:focus { outline-width: 1px; } .elementor-lightbox .elementor-swiper-button-prev, .elementor-lightbox .elementor-swiper-button-next { height: 100%; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; width: 15%; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; font-size: var(--lightbox-navigation-icons-size); } .elementor-lightbox .elementor-swiper-button-prev { left: 0; } .elementor-lightbox .elementor-swiper-button-next { right: 0; } @media (max-width: 767px) { .elementor-lightbox .elementor-swiper-button:focus { outline: none; } .elementor-lightbox .elementor-swiper-button-prev, .elementor-lightbox .elementor-swiper-button-next { width: 20%; } .elementor-lightbox .elementor-swiper-button-prev i, .elementor-lightbox .elementor-swiper-button-next i { padding: 10px; background-color: rgba(0, 0, 0, 0.5); } .elementor-lightbox .elementor-swiper-button-prev { left: 0; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; } .elementor-lightbox .elementor-swiper-button-next { right: 0; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; } } .elementor-slideshow__counter { color: currentColor; font-size: 0.75em; width: -webkit-max-content; width: -moz-max-content; width: max-content; } .elementor-slideshow__header, .elementor-slideshow__footer { position: absolute; left: 0; width: 100%; padding: 15px 20px; -webkit-transition: 0.3s; -o-transition: 0.3s; transition: 0.3s; } .elementor-slideshow__footer { color: var(--lightbox-text-color); } .elementor-slideshow__header { color: var(--lightbox-ui-color); display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; font-size: var(--lightbox-header-icons-size); padding-left: 1em; padding-right: 2.6em; top: 0; -webkit-box-align: center; -ms-flex-align: center; align-items: center; z-index: 10; } .elementor-slideshow__header > i, .elementor-slideshow__header > svg { cursor: pointer; padding: 0.25em; margin: 0 0.35em; } .elementor-slideshow__header > i { font-size: inherit; } .elementor-slideshow__header > i:hover { color: var(--lightbox-ui-color-hover); } .elementor-slideshow__header > svg { -webkit-box-sizing: content-box; box-sizing: content-box; fill: var(--lightbox-ui-color); height: 1em; width: 1em; } .elementor-slideshow__header > svg:hover { fill: var(--lightbox-ui-color-hover); } .elementor-slideshow__header .elementor-slideshow__counter { margin-right: auto; } .elementor-slideshow__header .elementor-icon-share { z-index: 5; } .elementor-slideshow__share-menu { background-color: rgba(0, 0, 0, 0); width: 0; height: 0; position: absolute; overflow: hidden; -webkit-transition: background-color 400ms; -o-transition: background-color 400ms; transition: background-color 400ms; } .elementor-slideshow__share-menu .elementor-slideshow__share-links a { color: #2C2C2C; } .elementor-slideshow__share-links { display: block; position: absolute; min-width: 200px; right: 2.8em; top: 3em; background-color: #fff; border-radius: 3px; padding: 14px 20px; -webkit-transform: scale(0); -ms-transform: scale(0); transform: scale(0); opacity: 0; -webkit-transform-origin: 90% 10%; -ms-transform-origin: 90% 10%; transform-origin: 90% 10%; -webkit-transition: all 250ms 100ms; -o-transition: all 250ms 100ms; transition: all 250ms 100ms; -webkit-box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3); box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3); } .elementor-slideshow__share-links a { text-align: left; color: #55595c; font-size: 12px; line-height: 2.5; display: block; opacity: 0; -webkit-transition: opacity 500ms 100ms; -o-transition: opacity 500ms 100ms; transition: opacity 500ms 100ms; } .elementor-slideshow__share-links a:hover { color: #000; } .elementor-slideshow__share-links a i, .elementor-slideshow__share-links a svg { margin-right: 0.75em; } .elementor-slideshow__share-links a i { font-size: 1.25em; } .elementor-slideshow__share-links a svg { height: 1.25em; width: 1.25em; } .elementor-slideshow__share-links:before { content: ""; display: block; position: absolute; top: 1px; right: 0.5em; border: 0.45em solid; border-color: transparent transparent #fff transparent; -webkit-transform: translateY(-100%) scaleX(0.7); -ms-transform: translateY(-100%) scaleX(0.7); transform: translateY(-100%) scaleX(0.7); } .elementor-slideshow__footer { bottom: 0; z-index: 5; position: fixed; } .elementor-slideshow__title, .elementor-slideshow__description { margin: 0; } .elementor-slideshow__title { font-size: 16px; font-weight: bold; } .elementor-slideshow__description { font-size: 14px; } .elementor-slideshow--ui-hidden .elementor-slideshow__header, .elementor-slideshow--ui-hidden .elementor-slideshow__footer { opacity: 0; pointer-events: none; } .elementor-slideshow--ui-hidden .elementor-swiper-button-prev, .elementor-slideshow--ui-hidden .elementor-swiper-button-next { opacity: 0; } .elementor-slideshow--fullscreen-mode .elementor-video-container { width: 100%; } .elementor-slideshow--zoom-mode .elementor-slideshow__header, .elementor-slideshow--zoom-mode .elementor-slideshow__footer { background-color: rgba(0, 0, 0, 0.5); } .elementor-slideshow--zoom-mode .elementor-swiper-button-prev, .elementor-slideshow--zoom-mode .elementor-swiper-button-next { opacity: 0; pointer-events: none; } .elementor-slideshow--share-mode .elementor-slideshow__share-menu { top: 0; left: 0; width: 100vw; height: 100vh; opacity: 1; cursor: default; background-color: rgba(0, 0, 0, 0.5); } .elementor-slideshow--share-mode .elementor-slideshow__share-links { -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1); } .elementor-slideshow--share-mode .elementor-slideshow__share-links, .elementor-slideshow--share-mode .elementor-slideshow__share-links a { opacity: 1; } .elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-twitter { color: #1DA1F2; } .elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-facebook { color: #3b5998; } .elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-pinterest { color: #bd081c; } .elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-download-bold { color: #a4afb7; } .elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-twitter { fill: #1DA1F2; } .elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-facebook { fill: #3b5998; } .elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-pinterest { fill: #bd081c; } .elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-download-bold { fill: #a4afb7; } .elementor-slideshow--share-mode .eicon-share-arrow { z-index: 2; } .animated { -webkit-animation-duration: 1.25s; animation-duration: 1.25s; } .animated.animated-slow { -webkit-animation-duration: 2s; animation-duration: 2s; } .animated.animated-fast { -webkit-animation-duration: 0.75s; animation-duration: 0.75s; } .animated.infinite { -webkit-animation-iteration-count: infinite; animation-iteration-count: infinite; } .animated.reverse { animation-direction: reverse; -webkit-animation-fill-mode: forwards; animation-fill-mode: forwards; } @media (prefers-reduced-motion: reduce) { .animated { -webkit-animation: none; animation: none; } } .elementor-shape { overflow: hidden; position: absolute; left: 0; width: 100%; line-height: 0; direction: ltr; /* * @TODO: The `z-index: -1` rules below are temporary fixes for Chrome 85 issue. * It will be removed in a future version of Chrome. */ } .elementor-shape-top { top: -1px; } .elementor-shape-top:not([data-negative=false]) svg { z-index: -1; } .elementor-shape-bottom { bottom: -1px; } .elementor-shape-bottom:not([data-negative=true]) svg { z-index: -1; } .elementor-shape[data-negative=false].elementor-shape-bottom { -webkit-transform: rotate(180deg); -ms-transform: rotate(180deg); transform: rotate(180deg); } .elementor-shape[data-negative=true].elementor-shape-top { -webkit-transform: rotate(180deg); -ms-transform: rotate(180deg); transform: rotate(180deg); } .elementor-shape svg { display: block; width: calc(100% + 1.3px); position: relative; left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); } .elementor-shape .elementor-shape-fill { fill: #fff; -webkit-transform-origin: center; -ms-transform-origin: center; transform-origin: center; -webkit-transform: rotateY(0deg); transform: rotateY(0deg); } #wp-admin-bar-elementor_edit_page > .ab-item::before { content: "\e813"; font-family: eicons; top: 3px; font-size: 18px; } #wp-admin-bar-elementor_edit_page .ab-submenu .ab-item { display: -webkit-box; display: -ms-flexbox; display: flex; width: 200px; } #wp-admin-bar-elementor_edit_page .elementor-edit-link-title { white-space: nowrap; -o-text-overflow: ellipsis; text-overflow: ellipsis; overflow: hidden; width: 100%; } #wp-admin-bar-elementor_edit_page .elementor-edit-link-type { background: #55595c; font-size: 11px; line-height: 9px; margin-top: 6px; padding: 4px 8px; border-radius: 3px; } #wp-admin-bar-elementor_inspector > .ab-item::before { content: "\f348"; top: 2px; } #wpadminbar * { font-style: normal; } .page-template-elementor_canvas.elementor-page:before { display: none; } .elementor-post__thumbnail__link { -webkit-transition: none; -o-transition: none; transition: none; } #left-area ul.elementor-icon-list-items, .elementor .elementor-element ul.elementor-icon-list-items, .elementor-edit-area .elementor-element ul.elementor-icon-list-items { padding: 0; } .e--ua-appleWebkit.rtl { --flex-right: flex-start; } .e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-right, .e--ua-appleWebkit .elementor-share-buttons--align-right { --justify-content: var(--flex-right, flex-end); } .e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-center, .e--ua-appleWebkit .elementor-share-buttons--align-center { --justify-content: center; } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-right .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-center .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-right .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-center .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-justify .elementor-grid { width: auto; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: var(--justify-content, space-between); -ms-flex-pack: var(--justify-content, space-between); justify-content: var(--justify-content, space-between); margin-left: calc(-0.5 * var(--grid-column-gap)); margin-right: calc(-0.5 * var(--grid-column-gap)); } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-right .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-center .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-right .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-center .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-justify .elementor-grid-item { margin-left: calc(0.5 * var(--grid-column-gap)); margin-right: calc(0.5 * var(--grid-column-gap)); } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-left .elementor-grid { display: inline-block; } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-left .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-left .elementor-grid-item { margin-left: 0; margin-right: 0; } @media (max-width: 1024px) { .e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-tablet-right, .e--ua-appleWebkit .elementor-share-buttons-tablet--align-right { --justify-content: var(--flex-right, flex-end); } .e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-tablet-center, .e--ua-appleWebkit .elementor-share-buttons-tablet--align-center { --justify-content: center; } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-right .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-center .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-right .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-center .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-justify .elementor-grid { width: auto; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: var(--justify-content, space-between); -ms-flex-pack: var(--justify-content, space-between); justify-content: var(--justify-content, space-between); margin-left: calc(-0.5 * var(--grid-column-gap)); margin-right: calc(-0.5 * var(--grid-column-gap)); } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-right .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-center .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-right .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-center .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-justify .elementor-grid-item { margin-left: calc(0.5 * var(--grid-column-gap)); margin-right: calc(0.5 * var(--grid-column-gap)); } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-tablet--align-left .elementor-grid { display: inline-block; } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-left .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-tablet--align-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-tablet--align-left .elementor-grid-item { margin-left: 0; margin-right: 0; } } @media (max-width: 767px) { .e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-mobile-right, .e--ua-appleWebkit .elementor-share-buttons-mobile--align-right { --justify-content: var(--flex-right, flex-end); } .e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-mobile-center, .e--ua-appleWebkit .elementor-share-buttons-mobile--align-center { --justify-content: center; } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-right .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-center .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-right .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-center .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-justify .elementor-grid { width: auto; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: var(--justify-content, space-between); -ms-flex-pack: var(--justify-content, space-between); justify-content: var(--justify-content, space-between); margin-left: calc(-0.5 * var(--grid-column-gap)); margin-right: calc(-0.5 * var(--grid-column-gap)); } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-right .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-center .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-right .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-center .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-justify .elementor-grid-item { margin-left: calc(0.5 * var(--grid-column-gap)); margin-right: calc(0.5 * var(--grid-column-gap)); } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-mobile--align-left .elementor-grid { display: inline-block; } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-left .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-mobile--align-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-mobile--align-left .elementor-grid-item { margin-left: 0; margin-right: 0; } } @media (max-width: 767px) { .elementor .elementor-hidden-mobile { display: none; } .elementor .elementor-hidden-phone { display: none; } } @media (min-width: -1px) and (max-width: -1px) { .elementor .elementor-hidden-mobile_extra { display: none; } } @media (min-width: 768px) and (max-width: 1024px) { .elementor .elementor-hidden-tablet { display: none; } } @media (min-width: -1px) and (max-width: -1px) { .elementor .elementor-hidden-tablet_extra { display: none; } } @media (min-width: -1px) and (max-width: -1px) { .elementor .elementor-hidden-laptop { display: none; } } @media (min-width: 1025px) and (max-width: 99999px) { .elementor .elementor-hidden-desktop { display: none; } } @media (min-width: -1px) { .elementor .elementor-hidden-widescreen { display: none; } } .elementor-widget-text-path { font-size: 20px; text-align: var(--alignment, left); } .elementor-widget-text-path svg { width: var(--width); max-width: 100%; height: auto; overflow: visible; word-spacing: var(--word-spacing); -webkit-transform: rotate(var(--rotate, 0)) scaleX(var(--scale-x, 1)) scaleY(var(--scale-y, 1)); -ms-transform: rotate(var(--rotate, 0)) scaleX(var(--scale-x, 1)) scaleY(var(--scale-y, 1)); transform: rotate(var(--rotate, 0)) scaleX(var(--scale-x, 1)) scaleY(var(--scale-y, 1)); } .elementor-widget-text-path svg path { vector-effect: non-scaling-stroke; /* Prevent stroke size scaling when resizing the SVG. */ fill: var(--path-fill, transparent); stroke: var(--stroke-color, transparent); stroke-width: var(--stroke-width, 1px); -webkit-transition: var(--stroke-transition) stroke, var(--stroke-transition) fill; -o-transition: var(--stroke-transition) stroke, var(--stroke-transition) fill; transition: var(--stroke-transition) stroke, var(--stroke-transition) fill; } .elementor-widget-text-path svg:hover path { --path-fill: var( --path-fill-hover ); --stroke-color: var( --stroke-color-hover ); --stroke-width: var( --stroke-width-hover ); } .elementor-widget-text-path svg text { --fill: var( --text-color ); fill: var(--fill); direction: var(--direction, ltr); -webkit-transition: var(--transition) stroke, var(--transition) stroke-width, var(--transition) fill; -o-transition: var(--transition) stroke, var(--transition) stroke-width, var(--transition) fill; transition: var(--transition) stroke, var(--transition) stroke-width, var(--transition) fill; } .elementor-widget-text-path svg text:hover { --color: var( --text-color-hover, var( --text-color ) ); --fill: var( --color ); color: var(--color); } /*# sourceMappingURL=frontend-lite.css.map */assets/css/widget-text-editor-rtl.min.css000064400000001300152377341010014457 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ .elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:#818a91;color:#fff}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap{color:#818a91;border:3px solid;background-color:transparent}.elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap{margin-top:8px}.elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap-letter{width:1em;height:1em}.elementor-widget-text-editor .elementor-drop-cap{float:right;text-align:center;line-height:1;font-size:50px}.elementor-widget-text-editor .elementor-drop-cap-letter{display:inline-block}assets/css/frontend.min.css000064400000477013152377341010011770 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ @charset "UTF-8";.dialog-widget-content{background-color:#fff;position:absolute;border-radius:3px;-webkit-box-shadow:2px 8px 23px 3px rgba(0,0,0,.2);box-shadow:2px 8px 23px 3px rgba(0,0,0,.2);overflow:hidden}.dialog-message{font-size:12px;line-height:1.5;-webkit-box-sizing:border-box;box-sizing:border-box}.dialog-type-lightbox{position:fixed;height:100%;width:100%;bottom:0;left:0;background-color:rgba(0,0,0,.8);z-index:9999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dialog-type-lightbox .dialog-widget-content{margin:auto;width:375px}.dialog-type-lightbox .dialog-header{font-size:15px;color:#495157;padding:30px 0 10px;font-weight:500}.dialog-type-lightbox .dialog-message{padding:0 30px 30px;min-height:50px}.dialog-type-lightbox:not(.elementor-popup-modal) .dialog-header,.dialog-type-lightbox:not(.elementor-popup-modal) .dialog-message{text-align:center}.dialog-type-lightbox .dialog-buttons-wrapper{border-top:1px solid #e6e9ec;text-align:center}.dialog-type-lightbox .dialog-buttons-wrapper>.dialog-button{font-family:Roboto,Arial,Helvetica,Verdana,sans-serif;width:50%;border:none;background:none;color:#6d7882;font-size:15px;cursor:pointer;padding:13px 0;outline:0}.dialog-type-lightbox .dialog-buttons-wrapper>.dialog-button:hover{background-color:#f4f6f7}.dialog-type-lightbox .dialog-buttons-wrapper>.dialog-button.dialog-ok{color:#b01b1b}.dialog-type-lightbox .dialog-buttons-wrapper>.dialog-button.dialog-take_over{color:#39b54a}.dialog-type-lightbox .dialog-buttons-wrapper>.dialog-button:active{background-color:rgba(230,233,236,.5)}.dialog-type-lightbox .dialog-buttons-wrapper>.dialog-button::-moz-focus-inner{border:0}.dialog-close-button{cursor:pointer;position:absolute;margin-top:15px;right:15px;font-size:15px;line-height:1}.dialog-close-button:not(:hover){opacity:.4}.dialog-alert-widget .dialog-buttons-wrapper>button{width:100%}.dialog-confirm-widget .dialog-button:first-child{border-right:1px solid #e6e9ec}.dialog-prevent-scroll{overflow:hidden;max-height:100vh}@media (min-width:1024px){body.admin-bar .dialog-lightbox-widget{height:calc(100vh - 32px)}}@media (max-width:1024px){body.admin-bar .dialog-type-lightbox{position:sticky;height:100vh}}.elementor-aspect-ratio-219 .elementor-fit-aspect-ratio{padding-bottom:42.8571%}.elementor-aspect-ratio-169 .elementor-fit-aspect-ratio{padding-bottom:56.25%}.elementor-aspect-ratio-43 .elementor-fit-aspect-ratio{padding-bottom:75%}.elementor-aspect-ratio-32 .elementor-fit-aspect-ratio{padding-bottom:66.6666%}.elementor-aspect-ratio-11 .elementor-fit-aspect-ratio{padding-bottom:100%}.elementor-aspect-ratio-916 .elementor-fit-aspect-ratio{padding-bottom:177.8%}.elementor-fit-aspect-ratio{position:relative;height:0}.elementor-fit-aspect-ratio iframe{position:absolute;top:0;left:0;height:100%;width:100%;border:0;background-color:#000}.elementor-fit-aspect-ratio video{width:100%}.flatpickr-calendar{width:280px}.flatpickr-calendar .flatpickr-current-month span.cur-month{font-weight:300}.flatpickr-calendar .dayContainer{width:280px;min-width:280px;max-width:280px}.flatpickr-calendar .flatpickr-days{width:280px}.flatpickr-calendar .flatpickr-day{max-width:37px;height:37px;line-height:37px}.elementor-templates-modal .dialog-widget-content{font-family:Roboto,Arial,Helvetica,Verdana,sans-serif;background-color:#f1f3f5;width:100%}@media (max-width:1439px){.elementor-templates-modal .dialog-widget-content{max-width:990px}}@media (min-width:1440px){.elementor-templates-modal .dialog-widget-content{max-width:1200px}}.elementor-templates-modal .dialog-header{padding:0;z-index:1}.elementor-templates-modal .dialog-buttons-wrapper,.elementor-templates-modal .dialog-header{background-color:#fff;-webkit-box-shadow:0 0 8px rgba(0,0,0,.1);box-shadow:0 0 8px rgba(0,0,0,.1);position:relative}.elementor-templates-modal .dialog-buttons-wrapper{border:none;display:none;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;padding:5px}.elementor-templates-modal .dialog-buttons-wrapper .elementor-button{height:40px;margin-left:5px}.elementor-templates-modal .dialog-buttons-wrapper .elementor-button-success{padding:12px 36px;color:#fff;width:auto;font-size:15px}.elementor-templates-modal .dialog-buttons-wrapper .elementor-button-success:hover{background-color:#39b54a}.elementor-templates-modal .dialog-message{height:750px;max-height:85vh;overflow:auto;padding-top:25px}.elementor-templates-modal .dialog-content{height:100%}.elementor-templates-modal .dialog-loading{display:none}.elementor-templates-modal__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;height:50px}.elementor-templates-modal__header__logo{line-height:1;text-transform:uppercase;font-weight:700;cursor:pointer}.elementor-templates-modal__header__logo-area{text-align:left;padding-left:15px}.elementor-templates-modal__header__logo-area>*{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-templates-modal__header__logo__icon-wrapper{margin-right:10px;font-size:12px}.elementor-templates-modal__header__logo__title{padding-top:2px}.elementor-templates-modal__header__items-area{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-templates-modal__header__item{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-sizing:content-box;box-sizing:content-box}.elementor-templates-modal__header__item>i{font-size:20px;-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s;cursor:pointer}.elementor-templates-modal__header__item>i:not(:hover){color:#a4afb7}.elementor-templates-modal__header__close--normal{width:47px;border-left:1px solid #e6e9ec}.elementor-templates-modal__header__close--normal i{font-size:18px}.elementor-templates-modal__header__close--skip{padding:10px 10px 10px 20px;margin-right:10px;color:#fff;background-color:#a4afb7;font-size:11px;font-weight:400;line-height:1;text-transform:uppercase;border-radius:2px;cursor:pointer}.elementor-templates-modal__header__close--skip>i{font-size:inherit;padding-left:10px;margin-left:15px;border-left:1px solid}.elementor-templates-modal__header__close--skip>i:not(:hover){color:#fff}.elementor-templates-modal__sidebar{-ms-flex-negative:0;flex-shrink:0;width:25%;background-color:hsla(0,0%,100%,.3)}.elementor-templates-modal__content{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-webkit-box-shadow:0 0 13px inset rgba(0,0,0,.05);box-shadow:inset 0 0 13px rgba(0,0,0,.05)}#wpadminbar #wp-admin-bar-elementor_edit_page .elementor-general-section+.elementor-second-section{border-top:1px solid #464b50;margin-top:6px}.elementor-hidden{display:none}.elementor-screen-only,.screen-reader-text,.screen-reader-text span,.ui-helper-hidden-accessible{position:absolute;top:-10000em;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0}.elementor-clearfix:after{content:"";display:block;clear:both;width:0;height:0}.e-logo-wrapper{background:#93003c;display:inline-block;padding:.75em;border-radius:50%;line-height:1}.e-logo-wrapper i{color:#fff;font-size:1em}#e-enable-unfiltered-files-dialog-import-template .dialog-confirm-ok{color:#39b54a}#e-enable-unfiltered-files-dialog-import-template .dialog-confirm-cancel{color:#b01b1b}.elementor{-webkit-hyphens:manual;-ms-hyphens:manual;hyphens:manual}.elementor *,.elementor :after,.elementor :before{-webkit-box-sizing:border-box;box-sizing:border-box}.elementor a{-webkit-box-shadow:none;box-shadow:none;text-decoration:none}.elementor hr{margin:0;background-color:transparent}.elementor img{height:auto;max-width:100%;border:none;border-radius:0;-webkit-box-shadow:none;box-shadow:none}.elementor .elementor-widget:not(.elementor-widget-text-editor):not(.elementor-widget-theme-post-content) figure{margin:0}.elementor embed,.elementor iframe,.elementor object,.elementor video{max-width:100%;width:100%;margin:0;line-height:1;border:none}.elementor .elementor-custom-embed{line-height:0}.elementor .elementor-background,.elementor .elementor-background-holder,.elementor .elementor-background-video-container{height:100%;width:100%;top:0;left:0;position:absolute;overflow:hidden;z-index:0;direction:ltr}.elementor .elementor-background-video-container{-webkit-transition:opacity 1s;-o-transition:opacity 1s;transition:opacity 1s;pointer-events:none}.elementor .elementor-background-video-container.elementor-loading{opacity:0}.elementor .elementor-background-video-embed{max-width:none}.elementor .elementor-background-video,.elementor .elementor-background-video-embed,.elementor .elementor-background-video-hosted{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.elementor .elementor-background-video{max-width:none}.elementor .elementor-html5-video{-o-object-fit:cover;object-fit:cover}.elementor .elementor-background-overlay,.elementor .elementor-background-slideshow{height:100%;width:100%;top:0;left:0;position:absolute}.elementor .elementor-background-slideshow{z-index:0}.elementor .elementor-background-slideshow__slide__image{width:100%;height:100%;background-position:50%;background-size:cover}.e-container>.elementor-element.elementor-absolute,.elementor-widget-wrap>.elementor-element.elementor-absolute{position:absolute}.e-container>.elementor-element.elementor-fixed,.elementor-widget-wrap>.elementor-element.elementor-fixed{position:fixed}.elementor-widget-wrap .elementor-element.elementor-widget__width-auto,.elementor-widget-wrap .elementor-element.elementor-widget__width-initial{max-width:100%}@media (max-width:1024px){.elementor-widget-wrap .elementor-element.elementor-widget-tablet__width-auto,.elementor-widget-wrap .elementor-element.elementor-widget-tablet__width-initial{max-width:100%}}@media (max-width:767px){.elementor-widget-wrap .elementor-element.elementor-widget-mobile__width-auto,.elementor-widget-wrap .elementor-element.elementor-widget-mobile__width-initial{max-width:100%}}.elementor-element{--flex-direction:initial;--flex-wrap:initial;--justify-content:initial;--align-items:initial;--align-content:initial;--gap:initial;--flex-basis:initial;--flex-grow:initial;--flex-shrink:initial;--order:initial;--align-self:initial;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:var(--flex-direction);flex-direction:var(--flex-direction);-ms-flex-wrap:var(--flex-wrap);flex-wrap:var(--flex-wrap);-webkit-box-pack:var(--justify-content);-ms-flex-pack:var(--justify-content);justify-content:var(--justify-content);-webkit-box-align:var(--align-items);-ms-flex-align:var(--align-items);align-items:var(--align-items);-ms-flex-line-pack:var(--align-content);align-content:var(--align-content);gap:var(--gap);-ms-flex-preferred-size:var(--flex-basis);flex-basis:var(--flex-basis);-webkit-box-flex:var(--flex-grow);-ms-flex-positive:var(--flex-grow);flex-grow:var(--flex-grow);-ms-flex-negative:var(--flex-shrink);flex-shrink:var(--flex-shrink);-webkit-box-ordinal-group:var(--order);-ms-flex-order:var(--order);order:var(--order);-ms-flex-item-align:var(--align-self);align-self:var(--align-self)}.elementor-element.elementor-absolute,.elementor-element.elementor-fixed{z-index:1}.elementor-invisible{visibility:hidden}.elementor-align-center{text-align:center}.elementor-align-center .elementor-button{width:auto}.elementor-align-right{text-align:right}.elementor-align-right .elementor-button{width:auto}.elementor-align-left{text-align:left}.elementor-align-left .elementor-button{width:auto}.elementor-align-justify .elementor-button{width:100%}.elementor-custom-embed-play{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.elementor-custom-embed-play i{font-size:100px;color:#fff;text-shadow:1px 0 6px rgba(0,0,0,.3)}.elementor-custom-embed-play svg{height:100px;width:100px;fill:#fff;-webkit-filter:drop-shadow(1px 0 6px rgba(0,0,0,.3));filter:drop-shadow(1px 0 6px rgba(0,0,0,.3))}.elementor-custom-embed-play i,.elementor-custom-embed-play svg{opacity:.8;-webkit-transition:all .5s;-o-transition:all .5s;transition:all .5s}.elementor-custom-embed-play.elementor-playing i{font-family:eicons}.elementor-custom-embed-play.elementor-playing i:before{content:"\e8fb"}.elementor-custom-embed-play.elementor-playing i,.elementor-custom-embed-play.elementor-playing svg{-webkit-animation:eicon-spin 2s linear infinite;animation:eicon-spin 2s linear infinite}.elementor-tag{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}.elementor-ken-burns{-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;-o-transition-property:transform;transition-property:transform;transition-property:transform,-webkit-transform;-webkit-transition-duration:10s;-o-transition-duration:10s;transition-duration:10s;-webkit-transition-timing-function:linear;-o-transition-timing-function:linear;transition-timing-function:linear}.elementor-ken-burns--out{-webkit-transform:scale(1.3);-ms-transform:scale(1.3);transform:scale(1.3)}.elementor-ken-burns--active{-webkit-transition-duration:20s;-o-transition-duration:20s;transition-duration:20s}.elementor-ken-burns--active.elementor-ken-burns--out{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.elementor-ken-burns--active.elementor-ken-burns--in{-webkit-transform:scale(1.3);-ms-transform:scale(1.3);transform:scale(1.3)}@media (min-width:-1px){.elementor-widescreen-align-center{text-align:center}.elementor-widescreen-align-center .elementor-button{width:auto}.elementor-widescreen-align-right{text-align:right}.elementor-widescreen-align-right .elementor-button{width:auto}.elementor-widescreen-align-left{text-align:left}.elementor-widescreen-align-left .elementor-button{width:auto}.elementor-widescreen-align-justify .elementor-button{width:100%}}@media (max-width:-1px){.elementor-laptop-align-center{text-align:center}.elementor-laptop-align-center .elementor-button{width:auto}.elementor-laptop-align-right{text-align:right}.elementor-laptop-align-right .elementor-button{width:auto}.elementor-laptop-align-left{text-align:left}.elementor-laptop-align-left .elementor-button{width:auto}.elementor-laptop-align-justify .elementor-button{width:100%}}@media (max-width:-1px){.elementor-tablet_extra-align-center{text-align:center}.elementor-tablet_extra-align-center .elementor-button{width:auto}.elementor-tablet_extra-align-right{text-align:right}.elementor-tablet_extra-align-right .elementor-button{width:auto}.elementor-tablet_extra-align-left{text-align:left}.elementor-tablet_extra-align-left .elementor-button{width:auto}.elementor-tablet_extra-align-justify .elementor-button{width:100%}}@media (max-width:1024px){.elementor-tablet-align-center{text-align:center}.elementor-tablet-align-center .elementor-button{width:auto}.elementor-tablet-align-right{text-align:right}.elementor-tablet-align-right .elementor-button{width:auto}.elementor-tablet-align-left{text-align:left}.elementor-tablet-align-left .elementor-button{width:auto}.elementor-tablet-align-justify .elementor-button{width:100%}}@media (max-width:-1px){.elementor-mobile_extra-align-center{text-align:center}.elementor-mobile_extra-align-center .elementor-button{width:auto}.elementor-mobile_extra-align-right{text-align:right}.elementor-mobile_extra-align-right .elementor-button{width:auto}.elementor-mobile_extra-align-left{text-align:left}.elementor-mobile_extra-align-left .elementor-button{width:auto}.elementor-mobile_extra-align-justify .elementor-button{width:100%}}@media (max-width:767px){.elementor-mobile-align-center{text-align:center}.elementor-mobile-align-center .elementor-button{width:auto}.elementor-mobile-align-right{text-align:right}.elementor-mobile-align-right .elementor-button{width:auto}.elementor-mobile-align-left{text-align:left}.elementor-mobile-align-left .elementor-button{width:auto}.elementor-mobile-align-justify .elementor-button{width:100%}}:root{--page-title-display:block}.elementor-page-title,h1.entry-title{display:var(--page-title-display)}@-webkit-keyframes eicon-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes eicon-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.eicon-animation-spin{-webkit-animation:eicon-spin 2s linear infinite;animation:eicon-spin 2s linear infinite}.elementor-section{position:relative}.elementor-section .elementor-container{display:-webkit-box;display:-ms-flexbox;display:flex;margin-right:auto;margin-left:auto;position:relative}@media (max-width:1024px){.elementor-section .elementor-container{-ms-flex-wrap:wrap;flex-wrap:wrap}}.elementor-section.elementor-section-boxed>.elementor-container{max-width:1140px}.elementor-section.elementor-section-stretched{position:relative;width:100%}.elementor-section.elementor-section-items-top>.elementor-container{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.elementor-section.elementor-section-items-middle>.elementor-container{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-section.elementor-section-items-bottom>.elementor-container{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}@media (min-width:768px){.elementor-section.elementor-section-height-full{height:100vh}.elementor-section.elementor-section-height-full>.elementor-container{height:100%}}.elementor-bc-flex-widget .elementor-section-content-top>.elementor-container>.elementor-column>.elementor-widget-wrap{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.elementor-bc-flex-widget .elementor-section-content-middle>.elementor-container>.elementor-column>.elementor-widget-wrap{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-bc-flex-widget .elementor-section-content-bottom>.elementor-container>.elementor-column>.elementor-widget-wrap{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.elementor-row{width:100%;display:-webkit-box;display:-ms-flexbox;display:flex}@media (max-width:1024px){.elementor-row{-ms-flex-wrap:wrap;flex-wrap:wrap}}.elementor-widget-wrap{position:relative;width:100%;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-line-pack:start;align-content:flex-start}.elementor:not(.elementor-bc-flex-widget) .elementor-widget-wrap{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-wrap>.elementor-element{width:100%}.elementor-widget-wrap.e-swiper-container{width:calc(100% - (var(--e-column-margin-left, 0px) + var(--e-column-margin-right, 0px)))}.elementor-widget{position:relative}.elementor-widget:not(:last-child){margin-bottom:20px}.elementor-widget:not(:last-child).elementor-absolute,.elementor-widget:not(:last-child).elementor-widget__width-auto,.elementor-widget:not(:last-child).elementor-widget__width-initial{margin-bottom:0}.elementor-column{min-height:1px}.elementor-column,.elementor-column-wrap{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-column-wrap{width:100%}.elementor-column-gap-narrow>.elementor-column>.elementor-element-populated{padding:5px}.elementor-column-gap-default>.elementor-column>.elementor-element-populated{padding:10px}.elementor-column-gap-extended>.elementor-column>.elementor-element-populated{padding:15px}.elementor-column-gap-wide>.elementor-column>.elementor-element-populated{padding:20px}.elementor-column-gap-wider>.elementor-column>.elementor-element-populated{padding:30px}.elementor-inner-section .elementor-column-gap-no .elementor-element-populated{padding:0}@media (min-width:768px){.elementor-column.elementor-col-10,.elementor-column[data-col="10"]{width:10%}.elementor-column.elementor-col-11,.elementor-column[data-col="11"]{width:11.111%}.elementor-column.elementor-col-12,.elementor-column[data-col="12"]{width:12.5%}.elementor-column.elementor-col-14,.elementor-column[data-col="14"]{width:14.285%}.elementor-column.elementor-col-16,.elementor-column[data-col="16"]{width:16.666%}.elementor-column.elementor-col-20,.elementor-column[data-col="20"]{width:20%}.elementor-column.elementor-col-25,.elementor-column[data-col="25"]{width:25%}.elementor-column.elementor-col-30,.elementor-column[data-col="30"]{width:30%}.elementor-column.elementor-col-33,.elementor-column[data-col="33"]{width:33.333%}.elementor-column.elementor-col-40,.elementor-column[data-col="40"]{width:40%}.elementor-column.elementor-col-50,.elementor-column[data-col="50"]{width:50%}.elementor-column.elementor-col-60,.elementor-column[data-col="60"]{width:60%}.elementor-column.elementor-col-66,.elementor-column[data-col="66"]{width:66.666%}.elementor-column.elementor-col-70,.elementor-column[data-col="70"]{width:70%}.elementor-column.elementor-col-75,.elementor-column[data-col="75"]{width:75%}.elementor-column.elementor-col-80,.elementor-column[data-col="80"]{width:80%}.elementor-column.elementor-col-83,.elementor-column[data-col="83"]{width:83.333%}.elementor-column.elementor-col-90,.elementor-column[data-col="90"]{width:90%}.elementor-column.elementor-col-100,.elementor-column[data-col="100"]{width:100%}}@media (max-width:479px){.elementor-column.elementor-xs-10{width:10%}.elementor-column.elementor-xs-11{width:11.111%}.elementor-column.elementor-xs-12{width:12.5%}.elementor-column.elementor-xs-14{width:14.285%}.elementor-column.elementor-xs-16{width:16.666%}.elementor-column.elementor-xs-20{width:20%}.elementor-column.elementor-xs-25{width:25%}.elementor-column.elementor-xs-30{width:30%}.elementor-column.elementor-xs-33{width:33.333%}.elementor-column.elementor-xs-40{width:40%}.elementor-column.elementor-xs-50{width:50%}.elementor-column.elementor-xs-60{width:60%}.elementor-column.elementor-xs-66{width:66.666%}.elementor-column.elementor-xs-70{width:70%}.elementor-column.elementor-xs-75{width:75%}.elementor-column.elementor-xs-80{width:80%}.elementor-column.elementor-xs-83{width:83.333%}.elementor-column.elementor-xs-90{width:90%}.elementor-column.elementor-xs-100{width:100%}}@media (max-width:767px){.elementor-column.elementor-sm-10{width:10%}.elementor-column.elementor-sm-11{width:11.111%}.elementor-column.elementor-sm-12{width:12.5%}.elementor-column.elementor-sm-14{width:14.285%}.elementor-column.elementor-sm-16{width:16.666%}.elementor-column.elementor-sm-20{width:20%}.elementor-column.elementor-sm-25{width:25%}.elementor-column.elementor-sm-30{width:30%}.elementor-column.elementor-sm-33{width:33.333%}.elementor-column.elementor-sm-40{width:40%}.elementor-column.elementor-sm-50{width:50%}.elementor-column.elementor-sm-60{width:60%}.elementor-column.elementor-sm-66{width:66.666%}.elementor-column.elementor-sm-70{width:70%}.elementor-column.elementor-sm-75{width:75%}.elementor-column.elementor-sm-80{width:80%}.elementor-column.elementor-sm-83{width:83.333%}.elementor-column.elementor-sm-90{width:90%}.elementor-column.elementor-sm-100{width:100%}}@media (min-width:768px) and (max-width:1024px){.elementor-column.elementor-md-10{width:10%}.elementor-column.elementor-md-11{width:11.111%}.elementor-column.elementor-md-12{width:12.5%}.elementor-column.elementor-md-14{width:14.285%}.elementor-column.elementor-md-16{width:16.666%}.elementor-column.elementor-md-20{width:20%}.elementor-column.elementor-md-25{width:25%}.elementor-column.elementor-md-30{width:30%}.elementor-column.elementor-md-33{width:33.333%}.elementor-column.elementor-md-40{width:40%}.elementor-column.elementor-md-50{width:50%}.elementor-column.elementor-md-60{width:60%}.elementor-column.elementor-md-66{width:66.666%}.elementor-column.elementor-md-70{width:70%}.elementor-column.elementor-md-75{width:75%}.elementor-column.elementor-md-80{width:80%}.elementor-column.elementor-md-83{width:83.333%}.elementor-column.elementor-md-90{width:90%}.elementor-column.elementor-md-100{width:100%}}@media (min-width:-1px){.elementor-reverse-widescreen>.elementor-container>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-widescreen>.elementor-container>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-widescreen>.elementor-container>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-widescreen>.elementor-container>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-widescreen>.elementor-container>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-widescreen>.elementor-container>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-widescreen>.elementor-container>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-widescreen>.elementor-container>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-widescreen>.elementor-container>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-widescreen>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:1025px) and (max-width:-1px){.elementor-reverse-laptop>.elementor-container>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-laptop>.elementor-container>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-laptop>.elementor-container>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-laptop>.elementor-container>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-laptop>.elementor-container>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-laptop>.elementor-container>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-laptop>.elementor-container>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-laptop>.elementor-container>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-laptop>.elementor-container>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-laptop>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:-1px) and (max-width:-1px){.elementor-reverse-laptop>.elementor-container>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-laptop>.elementor-container>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-laptop>.elementor-container>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-laptop>.elementor-container>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-laptop>.elementor-container>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-laptop>.elementor-container>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-laptop>.elementor-container>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-laptop>.elementor-container>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-laptop>.elementor-container>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-laptop>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:1025px) and (max-width:-1px){.elementor-reverse-laptop>.elementor-container>:first-child,.elementor-reverse-laptop>.elementor-container>:nth-child(2),.elementor-reverse-laptop>.elementor-container>:nth-child(3),.elementor-reverse-laptop>.elementor-container>:nth-child(4),.elementor-reverse-laptop>.elementor-container>:nth-child(5),.elementor-reverse-laptop>.elementor-container>:nth-child(6),.elementor-reverse-laptop>.elementor-container>:nth-child(7),.elementor-reverse-laptop>.elementor-container>:nth-child(8),.elementor-reverse-laptop>.elementor-container>:nth-child(9),.elementor-reverse-laptop>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:initial;-ms-flex-order:initial;order:0}.elementor-reverse-tablet_extra>.elementor-container>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:768px) and (max-width:1024px){.elementor-reverse-tablet>.elementor-container>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-tablet>.elementor-container>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-tablet>.elementor-container>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-tablet>.elementor-container>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-tablet>.elementor-container>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-tablet>.elementor-container>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-tablet>.elementor-container>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-tablet>.elementor-container>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-tablet>.elementor-container>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-tablet>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:-1px) and (max-width:1024px){.elementor-reverse-tablet>.elementor-container>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-tablet>.elementor-container>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-tablet>.elementor-container>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-tablet>.elementor-container>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-tablet>.elementor-container>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-tablet>.elementor-container>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-tablet>.elementor-container>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-tablet>.elementor-container>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-tablet>.elementor-container>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-tablet>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:768px) and (max-width:-1px){.elementor-reverse-tablet>.elementor-container>:first-child,.elementor-reverse-tablet>.elementor-container>:nth-child(2),.elementor-reverse-tablet>.elementor-container>:nth-child(3),.elementor-reverse-tablet>.elementor-container>:nth-child(4),.elementor-reverse-tablet>.elementor-container>:nth-child(5),.elementor-reverse-tablet>.elementor-container>:nth-child(6),.elementor-reverse-tablet>.elementor-container>:nth-child(7),.elementor-reverse-tablet>.elementor-container>:nth-child(8),.elementor-reverse-tablet>.elementor-container>:nth-child(9),.elementor-reverse-tablet>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:initial;-ms-flex-order:initial;order:0}.elementor-reverse-mobile_extra>.elementor-container>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (max-width:767px){.elementor-reverse-mobile>.elementor-container>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-mobile>.elementor-container>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-mobile>.elementor-container>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-mobile>.elementor-container>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-mobile>.elementor-container>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-mobile>.elementor-container>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-mobile>.elementor-container>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-mobile>.elementor-container>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-mobile>.elementor-container>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-mobile>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.elementor-column{width:100%}}ul.elementor-icon-list-items.elementor-inline-items{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}ul.elementor-icon-list-items.elementor-inline-items .elementor-inline-item{word-break:break-word}.elementor-grid{display:grid;grid-column-gap:var(--grid-column-gap);grid-row-gap:var(--grid-row-gap)}.elementor-grid .elementor-grid-item{min-width:0}.elementor-grid-0 .elementor-grid{display:inline-block;width:100%;word-spacing:var(--grid-column-gap);margin-bottom:calc(-1 * var(--grid-row-gap))}.elementor-grid-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-bottom:var(--grid-row-gap);word-break:break-word}.elementor-grid-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}@media (min-width:-1px){.elementor-grid-widescreen-0 .elementor-grid{display:inline-block;width:100%;word-spacing:var(--grid-column-gap);margin-bottom:calc(-1 * var(--grid-row-gap))}.elementor-grid-widescreen-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-bottom:var(--grid-row-gap);word-break:break-word}.elementor-grid-widescreen-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-widescreen-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-widescreen-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-widescreen-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-widescreen-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-widescreen-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-widescreen-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-widescreen-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-widescreen-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-widescreen-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-widescreen-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-widescreen-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}}@media (max-width:-1px){.elementor-grid-laptop-0 .elementor-grid{display:inline-block;width:100%;word-spacing:var(--grid-column-gap);margin-bottom:calc(-1 * var(--grid-row-gap))}.elementor-grid-laptop-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-bottom:var(--grid-row-gap);word-break:break-word}.elementor-grid-laptop-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-laptop-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-laptop-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-laptop-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-laptop-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-laptop-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-laptop-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-laptop-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-laptop-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-laptop-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-laptop-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-laptop-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}}@media (max-width:-1px){.elementor-grid-tablet_extra-0 .elementor-grid{display:inline-block;width:100%;word-spacing:var(--grid-column-gap);margin-bottom:calc(-1 * var(--grid-row-gap))}.elementor-grid-tablet_extra-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-bottom:var(--grid-row-gap);word-break:break-word}.elementor-grid-tablet_extra-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-tablet_extra-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-tablet_extra-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-tablet_extra-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-tablet_extra-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-tablet_extra-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-tablet_extra-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-tablet_extra-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-tablet_extra-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-tablet_extra-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-tablet_extra-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-tablet_extra-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}}@media (max-width:1024px){.elementor-grid-tablet-0 .elementor-grid{display:inline-block;width:100%;word-spacing:var(--grid-column-gap);margin-bottom:calc(-1 * var(--grid-row-gap))}.elementor-grid-tablet-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-bottom:var(--grid-row-gap);word-break:break-word}.elementor-grid-tablet-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-tablet-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-tablet-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-tablet-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-tablet-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-tablet-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-tablet-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-tablet-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-tablet-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-tablet-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-tablet-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-tablet-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}}@media (max-width:-1px){.elementor-grid-mobile_extra-0 .elementor-grid{display:inline-block;width:100%;word-spacing:var(--grid-column-gap);margin-bottom:calc(-1 * var(--grid-row-gap))}.elementor-grid-mobile_extra-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-bottom:var(--grid-row-gap);word-break:break-word}.elementor-grid-mobile_extra-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-mobile_extra-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-mobile_extra-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-mobile_extra-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-mobile_extra-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-mobile_extra-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-mobile_extra-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-mobile_extra-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-mobile_extra-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-mobile_extra-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-mobile_extra-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-mobile_extra-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}}@media (max-width:767px){.elementor-grid-mobile-0 .elementor-grid{display:inline-block;width:100%;word-spacing:var(--grid-column-gap);margin-bottom:calc(-1 * var(--grid-row-gap))}.elementor-grid-mobile-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-bottom:var(--grid-row-gap);word-break:break-word}.elementor-grid-mobile-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-mobile-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-mobile-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-mobile-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-mobile-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-mobile-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-mobile-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-mobile-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-mobile-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-mobile-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-mobile-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-mobile-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}}@media (min-width:1025px){#elementor-device-mode:after{content:"desktop"}}@media (min-width:-1px){#elementor-device-mode:after{content:"widescreen"}}@media (max-width:-1px){#elementor-device-mode:after{content:"laptop";content:"tablet_extra"}}@media (max-width:1024px){#elementor-device-mode:after{content:"tablet"}}@media (max-width:-1px){#elementor-device-mode:after{content:"mobile_extra"}}@media (max-width:767px){#elementor-device-mode:after{content:"mobile"}}.e-container{--border-radius:0;--display:flex;--flex-direction:column;--flex-basis:auto;--flex-grow:0;--flex-shrink:1;--content-width:Min(100%,var(--container-max-width,1140px));--width:100%;--min-height:initial;--height:auto;--text-align:initial;--margin-top:0;--margin-right:0;--margin-bottom:0;--margin-left:0;--padding-top:var(--container-default-padding,0px);--padding-right:var(--container-default-padding,0px);--padding-bottom:var(--container-default-padding,0px);--padding-left:var(--container-default-padding,0px);--position:relative;--z-index:revert;--overflow:visible;--transition:0;--gap:var(--widgets-spacing,20px);--overlay-mix-blend-mode:initial;--overlay-opacity:1;--overlay-transition:0;position:var(--position);display:var(--display);text-align:var(--text-align);-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:var(--flex-direction);flex-direction:var(--flex-direction);-webkit-box-flex:var(--flex-grow);-ms-flex:var(--flex-grow) var(--flex-shrink) var(--flex-basis);flex:var(--flex-grow) var(--flex-shrink) var(--flex-basis);width:var(--width);min-width:0;max-width:min(100%,var(--width));min-height:var(--min-height);height:var(--height);border-radius:var(--border-radius);margin:var(--margin-top) var(--margin-right) var(--margin-bottom) var(--margin-left);padding:var(--padding-top) calc((100% - var(--content-width)) / 2 + var(--padding-right)) var(--padding-bottom) calc((100% - var(--content-width)) / 2 + var(--padding-left));z-index:var(--z-index);overflow:var(--overflow);-webkit-transition:var(--transition);-o-transition:var(--transition);transition:var(--transition)}:is(.elementor-section-wrap,[data-elementor-id])>.e-container{--margin-right:auto;--margin-left:auto}.e-container .elementor-empty-view{position:relative;width:100%;height:100%;min-height:var(--min-height,100px)}.e-container .elementor-empty-view .elementor-first-add{width:auto;height:auto;inset:10px}.e-container .elementor-widget-placeholder{--size:10px;--margin-start:calc(-1 * var(--size));--margin-end:calc(-2 * var(--size));-ms-flex-negative:0;flex-shrink:0;-ms-flex-item-align:stretch;align-self:stretch;z-index:1;pointer-events:none}.e-container.e-container--row>.elementor-widget-placeholder{position:relative;z-index:9999;width:var(--size);-webkit-margin-start:var(--margin-start);margin-inline-start:var(--margin-start);height:auto;min-height:100%;-webkit-animation-name:dnd-placeholder-widget-vertical;animation-name:dnd-placeholder-widget-vertical;-webkit-animation-fill-mode:both;animation-fill-mode:both}.e-container.e-container--row[data-nesting-level]:not([data-nesting-level="0"])>.elementor-widget-placeholder{-webkit-margin-end:0;margin-inline-end:0;-webkit-margin-start:calc(var(--margin-start) + var(--margin-end));margin-inline-start:calc(var(--margin-start) + var(--margin-end))}.e-container.e-container--row[data-nesting-level]:not([data-nesting-level="0"])>:not(.elementor-element)+.elementor-widget-placeholder{-webkit-margin-end:var(--margin-end);margin-inline-end:var(--margin-end);-webkit-margin-start:var(--margin-start);margin-inline-start:var(--margin-start)}.e-container.e-container--column>.elementor-widget-placeholder{height:var(--size);-webkit-margin-before:var(--margin-start);margin-block-start:var(--margin-start);-webkit-margin-after:var(--margin-end);margin-block-end:var(--margin-end);-webkit-animation-name:dnd-placeholder-widget-horizontal;animation-name:dnd-placeholder-widget-horizontal}.e-container.e-container--column>.elementor-widget-placeholder:nth-last-child(2){-webkit-margin-before:calc(2 * var(--margin-start));margin-block-start:calc(2 * var(--margin-start));--margin-end:0}.e-container .elementor-sortable-helper{height:84px;width:125px;z-index:-1}.e-container .elementor-widget.elementor-widget{margin-bottom:0}.e-container:before{content:var(--background-overlay);display:block;position:absolute;z-index:0;width:100%;height:100%;left:0;top:0;mix-blend-mode:var(--overlay-mix-blend-mode);opacity:var(--overlay-opacity);-webkit-transition:var(--overlay-transition);-o-transition:var(--overlay-transition);transition:var(--overlay-transition);border-radius:var(--border-radius)}.e-container .elementor-widget{min-width:0}.e-container .elementor-widget-google_maps,.e-container .elementor-widget-video{-ms-flex-preferred-size:100%;flex-basis:100%}.e-container .elementor-widget.e-widget-swiper{max-width:100%;-ms-flex-preferred-size:100%;flex-basis:100%}.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-setting,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-setting{position:relative;background-color:#556068}.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-setting:hover,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-setting:hover{background-color:#495157}.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-setting.elementor-editor-element-add,.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-setting.elementor-editor-element-edit+.elementor-editor-element-remove,.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-setting:first-child:before,.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-setting:last-child:after,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-setting.elementor-editor-element-add,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-setting.elementor-editor-element-edit+.elementor-editor-element-remove,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-setting:first-child:before,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-setting:last-child:after{display:none}.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-setting:not(.elementor-editor-element-edit),.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-setting:not(.elementor-editor-element-edit){-webkit-margin-start:-25px;margin-inline-start:-25px;z-index:-1;-webkit-transition:all .3s;-o-transition:.3s all;transition:all .3s;will-change:margin-inline-start}.e-container>.e-container>.elementor-element-overlay>.elementor-editor-element-settings:hover>:is(.elementor-editor-element-duplicate,.elementor-editor-element-remove),.elementor-widget .e-container>.elementor-element-overlay>.elementor-editor-element-settings:hover>:is(.elementor-editor-element-duplicate,.elementor-editor-element-remove){-webkit-margin-start:0;margin-inline-start:0}.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-settings,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-settings{inset:auto;-webkit-transform:none;-ms-transform:none;transform:none;inset-inline-start:0;top:0;border-radius:0;border-end-end-radius:3px;height:auto;background-color:#556068}.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-settings:hover,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-settings:hover{background-color:#495157}.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-settings i.eicon-handle:before,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-settings i.eicon-handle:before{content:"\e9b4";font-size:20px;display:block;padding:2px}@media (max-width:767px){.e-container{--width:100%;--flex-wrap:wrap}}@-webkit-keyframes dnd-placeholder-widget-vertical{0%{-webkit-transform-origin:0 50%;transform-origin:0 50%;-webkit-transform:translateX(50%) scaleX(0);transform:translateX(50%) scaleX(0);opacity:0}to{-webkit-transform-origin:0 50%;transform-origin:0 50%;-webkit-transform:translateX(50%) scaleX(1);transform:translateX(50%) scaleX(1);opacity:.9}}@keyframes dnd-placeholder-widget-vertical{0%{-webkit-transform-origin:0 50%;transform-origin:0 50%;-webkit-transform:translateX(50%) scaleX(0);transform:translateX(50%) scaleX(0);opacity:0}to{-webkit-transform-origin:0 50%;transform-origin:0 50%;-webkit-transform:translateX(50%) scaleX(1);transform:translateX(50%) scaleX(1);opacity:.9}}@-webkit-keyframes dnd-placeholder-widget-horizontal{0%{-webkit-transform-origin:50% 0;transform-origin:50% 0;-webkit-transform:scaleY(0);transform:scaleY(0);opacity:0}to{-webkit-transform-origin:50% 0;transform-origin:50% 0;-webkit-transform:scaleY(1);transform:scaleY(1);opacity:.9}}@keyframes dnd-placeholder-widget-horizontal{0%{-webkit-transform-origin:50% 0;transform-origin:50% 0;-webkit-transform:scaleY(0);transform:scaleY(0);opacity:0}to{-webkit-transform-origin:50% 0;transform-origin:50% 0;-webkit-transform:scaleY(1);transform:scaleY(1);opacity:.9}}.elementor-form-fields-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group .elementor-field-subgroup,.elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group>.elementor-select-wrapper,.elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group>input,.elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group>textarea{-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.elementor-form-fields-wrapper.elementor-labels-inline>.elementor-field-group .elementor-select-wrapper,.elementor-form-fields-wrapper.elementor-labels-inline>.elementor-field-group>input{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-field-group{-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-field-group.elementor-field-type-submit{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.elementor-field-group .elementor-field-textual{width:100%;max-width:100%;border:1px solid #818a91;background-color:transparent;color:#373a3c;vertical-align:middle;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-field-group .elementor-field-textual:focus{-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.1) inset;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);outline:0}.elementor-field-group .elementor-field-textual::-webkit-input-placeholder{color:inherit;font-family:inherit;opacity:.6}.elementor-field-group .elementor-field-textual:-ms-input-placeholder{color:inherit;font-family:inherit;opacity:.6}.elementor-field-group .elementor-field-textual:-moz-placeholder,.elementor-field-group .elementor-field-textual::-moz-placeholder{color:inherit;font-family:inherit;opacity:.6}.elementor-field-group .elementor-field-textual::-ms-input-placeholder{color:inherit;font-family:inherit;opacity:.6}.elementor-field-group .elementor-field-textual::placeholder{color:inherit;font-family:inherit;opacity:.6}.elementor-field-group .elementor-select-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;position:relative;width:100%}.elementor-field-group .elementor-select-wrapper select{appearance:none;-webkit-appearance:none;-moz-appearance:none;color:inherit;font-size:inherit;font-family:inherit;font-weight:inherit;font-style:inherit;text-transform:inherit;letter-spacing:inherit;line-height:inherit;-ms-flex-preferred-size:100%;flex-basis:100%;padding-right:20px}.elementor-field-group .elementor-select-wrapper:before{content:"\e92a";font-family:eicons;font-size:15px;position:absolute;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);right:10px;pointer-events:none;text-shadow:0 0 3px rgba(0,0,0,.3)}.elementor-field-group.elementor-field-type-select-multiple .elementor-select-wrapper:before{content:""}.elementor-field-subgroup{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.elementor-field-subgroup .elementor-field-option label{display:inline-block}.elementor-field-subgroup.elementor-subgroup-inline .elementor-field-option{padding-right:10px}.elementor-field-subgroup:not(.elementor-subgroup-inline) .elementor-field-option{-ms-flex-preferred-size:100%;flex-basis:100%}.elementor-field-type-acceptance .elementor-field-subgroup .elementor-field-option input,.elementor-field-type-acceptance .elementor-field-subgroup .elementor-field-option label,.elementor-field-type-checkbox .elementor-field-subgroup .elementor-field-option input,.elementor-field-type-checkbox .elementor-field-subgroup .elementor-field-option label,.elementor-field-type-radio .elementor-field-subgroup .elementor-field-option input,.elementor-field-type-radio .elementor-field-subgroup .elementor-field-option label{display:inline}.elementor-field-label{cursor:pointer}.elementor-mark-required .elementor-field-label:after{content:"*";color:red;padding-left:.2em}.elementor-field-textual{line-height:1.4;font-size:15px;min-height:40px;padding:5px 14px;border-radius:3px}.elementor-field-textual.elementor-size-xs{font-size:13px;min-height:33px;padding:4px 12px;border-radius:2px}.elementor-field-textual.elementor-size-md{font-size:16px;min-height:47px;padding:6px 16px;border-radius:4px}.elementor-field-textual.elementor-size-lg{font-size:18px;min-height:59px;padding:7px 20px;border-radius:5px}.elementor-field-textual.elementor-size-xl{font-size:20px;min-height:72px;padding:8px 24px;border-radius:6px}.elementor-button-align-stretch .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button{-ms-flex-preferred-size:100%;flex-basis:100%}.elementor-button-align-stretch .e-form__buttons__wrapper{-ms-flex-preferred-size:50%;flex-basis:50%;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-button-align-stretch .e-form__buttons__wrapper__button{-ms-flex-preferred-size:100%;flex-basis:100%}.elementor-button-align-center .e-form__buttons,.elementor-button-align-center .elementor-field-type-submit{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-button-align-start .e-form__buttons,.elementor-button-align-start .elementor-field-type-submit{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-button-align-end .e-form__buttons,.elementor-button-align-end .elementor-field-type-submit{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-button-align-center .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button,.elementor-button-align-end .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button,.elementor-button-align-start .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button{-ms-flex-preferred-size:initial;flex-basis:auto}.elementor-button-align-center .e-form__buttons__wrapper,.elementor-button-align-end .e-form__buttons__wrapper,.elementor-button-align-start .e-form__buttons__wrapper{-webkit-box-flex:initial;-ms-flex-positive:initial;flex-grow:0}.elementor-button-align-center .e-form__buttons__wrapper,.elementor-button-align-center .e-form__buttons__wrapper__button,.elementor-button-align-end .e-form__buttons__wrapper,.elementor-button-align-end .e-form__buttons__wrapper__button,.elementor-button-align-start .e-form__buttons__wrapper,.elementor-button-align-start .e-form__buttons__wrapper__button{-ms-flex-preferred-size:initial;flex-basis:auto}@media screen and (max-width:1024px){.elementor-tablet-button-align-stretch .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button{-ms-flex-preferred-size:100%;flex-basis:100%}.elementor-tablet-button-align-stretch .e-form__buttons__wrapper{-ms-flex-preferred-size:50%;flex-basis:50%;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-tablet-button-align-stretch .e-form__buttons__wrapper__button{-ms-flex-preferred-size:100%;flex-basis:100%}.elementor-tablet-button-align-center .e-form__buttons,.elementor-tablet-button-align-center .elementor-field-type-submit{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-tablet-button-align-start .e-form__buttons,.elementor-tablet-button-align-start .elementor-field-type-submit{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-tablet-button-align-end .e-form__buttons,.elementor-tablet-button-align-end .elementor-field-type-submit{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-tablet-button-align-center .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button,.elementor-tablet-button-align-end .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button,.elementor-tablet-button-align-start .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button{-ms-flex-preferred-size:initial;flex-basis:auto}.elementor-tablet-button-align-center .e-form__buttons__wrapper,.elementor-tablet-button-align-end .e-form__buttons__wrapper,.elementor-tablet-button-align-start .e-form__buttons__wrapper{-webkit-box-flex:initial;-ms-flex-positive:initial;flex-grow:0}.elementor-tablet-button-align-center .e-form__buttons__wrapper,.elementor-tablet-button-align-center .e-form__buttons__wrapper__button,.elementor-tablet-button-align-end .e-form__buttons__wrapper,.elementor-tablet-button-align-end .e-form__buttons__wrapper__button,.elementor-tablet-button-align-start .e-form__buttons__wrapper,.elementor-tablet-button-align-start .e-form__buttons__wrapper__button{-ms-flex-preferred-size:initial;flex-basis:auto}}@media screen and (max-width:767px){.elementor-mobile-button-align-stretch .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button{-ms-flex-preferred-size:100%;flex-basis:100%}.elementor-mobile-button-align-stretch .e-form__buttons__wrapper{-ms-flex-preferred-size:50%;flex-basis:50%;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-mobile-button-align-stretch .e-form__buttons__wrapper__button{-ms-flex-preferred-size:100%;flex-basis:100%}.elementor-mobile-button-align-center .e-form__buttons,.elementor-mobile-button-align-center .elementor-field-type-submit{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-mobile-button-align-start .e-form__buttons,.elementor-mobile-button-align-start .elementor-field-type-submit{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-mobile-button-align-end .e-form__buttons,.elementor-mobile-button-align-end .elementor-field-type-submit{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-mobile-button-align-center .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button,.elementor-mobile-button-align-end .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button,.elementor-mobile-button-align-start .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button{-ms-flex-preferred-size:initial;flex-basis:auto}.elementor-mobile-button-align-center .e-form__buttons__wrapper,.elementor-mobile-button-align-end .e-form__buttons__wrapper,.elementor-mobile-button-align-start .e-form__buttons__wrapper{-webkit-box-flex:initial;-ms-flex-positive:initial;flex-grow:0}.elementor-mobile-button-align-center .e-form__buttons__wrapper,.elementor-mobile-button-align-center .e-form__buttons__wrapper__button,.elementor-mobile-button-align-end .e-form__buttons__wrapper,.elementor-mobile-button-align-end .e-form__buttons__wrapper__button,.elementor-mobile-button-align-start .e-form__buttons__wrapper,.elementor-mobile-button-align-start .e-form__buttons__wrapper__button{-ms-flex-preferred-size:initial;flex-basis:auto}}.elementor-error .elementor-field{border-color:#d9534f}.elementor-error .help-inline{color:#d9534f;font-size:.9em}.elementor-message{margin:10px 0;font-size:1em;line-height:1}.elementor-message:before{content:"\e90e";display:inline-block;font-family:eicons;font-weight:400;font-style:normal;vertical-align:middle;margin-right:5px}.elementor-message.elementor-message-danger{color:#d9534f}.elementor-message.elementor-message-danger:before{content:"\e87f"}.elementor-message.form-message-success{color:#5cb85c}.elementor-form .elementor-button{padding-top:0;padding-bottom:0;border:none}.elementor-form .elementor-button>span{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-form .elementor-button.elementor-size-xs{min-height:33px}.elementor-form .elementor-button.elementor-size-sm{min-height:40px}.elementor-form .elementor-button.elementor-size-md{min-height:47px}.elementor-form .elementor-button.elementor-size-lg{min-height:59px}.elementor-form .elementor-button.elementor-size-xl{min-height:72px}.elementor-element .elementor-widget-container{-webkit-transition:background .3s,border .3s,border-radius .3s,-webkit-box-shadow .3s;transition:background .3s,border .3s,border-radius .3s,-webkit-box-shadow .3s;-o-transition:background .3s,border .3s,border-radius .3s,box-shadow .3s;transition:background .3s,border .3s,border-radius .3s,box-shadow .3s;transition:background .3s,border .3s,border-radius .3s,box-shadow .3s,-webkit-box-shadow .3s}.elementor-button{display:inline-block;line-height:1;background-color:#818a91;font-size:15px;padding:12px 24px;border-radius:3px;color:#fff;fill:#fff;text-align:center;-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s}.elementor-button:focus,.elementor-button:hover,.elementor-button:visited{color:#fff}.elementor-button-content-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-button-icon{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-button-icon svg{width:1em;height:auto}.elementor-button-icon .e-font-icon-svg{height:1em}.elementor-button-text{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10;display:inline-block}.elementor-button.elementor-size-xs{font-size:13px;padding:10px 20px;border-radius:2px}.elementor-button.elementor-size-md{font-size:16px;padding:15px 30px;border-radius:4px}.elementor-button.elementor-size-lg{font-size:18px;padding:20px 40px;border-radius:5px}.elementor-button.elementor-size-xl{font-size:20px;padding:25px 50px;border-radius:6px}.elementor-button .elementor-align-icon-right{margin-left:5px;-webkit-box-ordinal-group:16;-ms-flex-order:15;order:15}.elementor-button .elementor-align-icon-left{margin-right:5px;-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-button span{text-decoration:inherit}.elementor-element.elementor-button-info .elementor-button{background-color:#5bc0de}.elementor-element.elementor-button-success .elementor-button{background-color:#5cb85c}.elementor-element.elementor-button-warning .elementor-button{background-color:#f0ad4e}.elementor-element.elementor-button-danger .elementor-button{background-color:#d9534f}.elementor-widget-button .elementor-button .elementor-button-info{background-color:#5bc0de}.elementor-widget-button .elementor-button .elementor-button-success{background-color:#5cb85c}.elementor-widget-button .elementor-button .elementor-button-warning{background-color:#f0ad4e}.elementor-widget-button .elementor-button .elementor-button-danger{background-color:#d9534f}.elementor-tab-title a{color:inherit}.elementor-view-stacked .elementor-icon{padding:.5em;background-color:#818a91;color:#fff;fill:#fff}.elementor-view-framed .elementor-icon{padding:.5em;color:#818a91;border:3px solid #818a91;background-color:transparent}.elementor-icon{display:inline-block;line-height:1;-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s;color:#818a91;font-size:50px;text-align:center}.elementor-icon:hover{color:#818a91}.elementor-icon i,.elementor-icon svg{width:1em;height:1em;position:relative;display:block}.elementor-icon i:before,.elementor-icon svg:before{position:absolute;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.elementor-icon i.fad{width:auto}.elementor-shape-circle .elementor-icon{border-radius:50%}.e-transform .elementor-widget-container{-webkit-transform:perspective(var(--e-transform-perspective,0)) rotate(var(--e-transform-rotateZ,0)) rotateX(var(--e-transform-rotateX,0)) rotateY(var(--e-transform-rotateY,0)) translate(var(--e-transform-translate,0)) translateX(var(--e-transform-translateX,0)) translateY(var(--e-transform-translateY,0)) scaleX(calc(var(--e-transform-flipX, 1) * var(--e-transform-scaleX, var(--e-transform-scale, 1)))) scaleY(calc(var(--e-transform-flipY, 1) * var(--e-transform-scaleY, var(--e-transform-scale, 1)))) skewX(var(--e-transform-skewX,0)) skewY(var(--e-transform-skewY,0));transform:perspective(var(--e-transform-perspective,0)) rotate(var(--e-transform-rotateZ,0)) rotateX(var(--e-transform-rotateX,0)) rotateY(var(--e-transform-rotateY,0)) translate(var(--e-transform-translate,0)) translateX(var(--e-transform-translateX,0)) translateY(var(--e-transform-translateY,0)) scaleX(calc(var(--e-transform-flipX, 1) * var(--e-transform-scaleX, var(--e-transform-scale, 1)))) scaleY(calc(var(--e-transform-flipY, 1) * var(--e-transform-scaleY, var(--e-transform-scale, 1)))) skewX(var(--e-transform-skewX,0)) skewY(var(--e-transform-skewY,0));-webkit-transform-origin:var(--e-transform-origin-y) var(--e-transform-origin-x);-ms-transform-origin:var(--e-transform-origin-y) var(--e-transform-origin-x);transform-origin:var(--e-transform-origin-y) var(--e-transform-origin-x);-webkit-transition:-webkit-transform var(--e-transform-transition-duration,.4s);transition:-webkit-transform var(--e-transform-transition-duration,.4s);-o-transition:transform var(--e-transform-transition-duration,.4s);transition:transform var(--e-transform-transition-duration,.4s);transition:transform var(--e-transform-transition-duration,.4s),-webkit-transform var(--e-transform-transition-duration,.4s)}.swiper-container{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;z-index:1}.swiper-container .swiper-slide figure{line-height:0}.swiper-container .elementor-lightbox-content-source{display:none}.swiper-container-no-flexbox .swiper-slide{float:left}.swiper-container-vertical>.swiper-wrapper{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;-o-transition-property:transform;transition-property:transform;transition-property:transform,-webkit-transform;-webkit-box-sizing:content-box;box-sizing:content-box}.swiper-container-android .swiper-slide,.swiper-wrapper{-webkit-transform:translateZ(0);transform:translateZ(0)}.swiper-container-multirow>.swiper-wrapper{-ms-flex-wrap:wrap;flex-wrap:wrap}.swiper-container-free-mode>.swiper-wrapper{-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;margin:0 auto}.swiper-slide{-ms-flex-negative:0;flex-shrink:0;width:100%;height:100%;position:relative}.swiper-container-autoheight,.swiper-container-autoheight .swiper-slide{height:auto}.swiper-container-autoheight .swiper-wrapper{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-transition-property:height,-webkit-transform;transition-property:height,-webkit-transform;-o-transition-property:transform,height;transition-property:transform,height;transition-property:transform,height,-webkit-transform}.swiper-container .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-wp8-horizontal{-ms-touch-action:pan-y;touch-action:pan-y}.swiper-wp8-vertical{-ms-touch-action:pan-x;touch-action:pan-x}.swiper-button-next,.swiper-button-prev{position:absolute;top:50%;width:27px;height:44px;margin-top:-22px;z-index:10;cursor:pointer;background-size:27px 44px;background:no-repeat 50%}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-prev,.swiper-container-rtl .swiper-button-next{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 44'%3E%3Cpath d='M0 22L22 0l2.1 2.1L4.2 22l19.9 19.9L22 44 0 22z' fill='%23007aff'/%3E%3C/svg%3E");left:10px;right:auto}.swiper-button-prev.swiper-button-black,.swiper-container-rtl .swiper-button-next.swiper-button-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 44'%3E%3Cpath d='M0 22L22 0l2.1 2.1L4.2 22l19.9 19.9L22 44 0 22z'/%3E%3C/svg%3E")}.swiper-button-prev.swiper-button-white,.swiper-container-rtl .swiper-button-next.swiper-button-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 44'%3E%3Cpath d='M0 22L22 0l2.1 2.1L4.2 22l19.9 19.9L22 44 0 22z' fill='%23fff'/%3E%3C/svg%3E")}.swiper-button-next,.swiper-container-rtl .swiper-button-prev{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 44'%3E%3Cpath d='M27 22L5 44l-2.1-2.1L22.8 22 2.9 2.1 5 0l22 22z' fill='%23007aff'/%3E%3C/svg%3E");right:10px;left:auto}.swiper-button-next.swiper-button-black,.swiper-container-rtl .swiper-button-prev.swiper-button-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 44'%3E%3Cpath d='M27 22L5 44l-2.1-2.1L22.8 22 2.9 2.1 5 0l22 22z'/%3E%3C/svg%3E")}.swiper-button-next.swiper-button-white,.swiper-container-rtl .swiper-button-prev.swiper-button-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 44'%3E%3Cpath d='M27 22L5 44l-2.1-2.1L22.8 22 2.9 2.1 5 0l22 22z' fill='%23fff'/%3E%3C/svg%3E")}.swiper-pagination{position:absolute;text-align:center;-webkit-transition:.3s;-o-transition:.3s;transition:.3s;-webkit-transform:translateZ(0);transform:translateZ(0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-container-horizontal>.swiper-pagination-bullets,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:5px;left:0;width:100%}.swiper-pagination-bullet{width:6px;height:6px;display:inline-block;border-radius:50%;background:#000;opacity:.2}.swiper-pagination-fraction{color:#000}button.swiper-pagination-bullet{border:none;margin:0;padding:0;-webkit-box-shadow:none;box-shadow:none;appearance:none;-webkit-appearance:none;-moz-appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-white .swiper-pagination-bullet{background:#fff}.swiper-pagination-bullet-active{opacity:1}.swiper-pagination-white .swiper-pagination-bullet-active{background:#fff}.swiper-pagination-black .swiper-pagination-bullet-active{background:#000}.swiper-container-vertical>.swiper-pagination-bullets{right:10px;top:50%;-webkit-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0)}.swiper-container-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:5px 0;display:block}.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 6px}.swiper-pagination-progressbar{background:rgba(0,0,0,.25);position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:#000;position:absolute;left:0;top:0;width:100%;height:100%;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);-webkit-transform-origin:left top;-ms-transform-origin:left top;transform-origin:left top}.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{-webkit-transform-origin:right top;-ms-transform-origin:right top;transform-origin:right top}.swiper-container-horizontal>.swiper-pagination-progressbar{width:100%;height:4px;left:0;top:0}.swiper-container-vertical>.swiper-pagination-progressbar{width:4px;height:100%;left:0;top:0}.swiper-pagination-progressbar.swiper-pagination-white{background:hsla(0,0%,100%,.5)}.swiper-pagination-progressbar.swiper-pagination-white .swiper-pagination-progressbar-fill{background:#fff}.swiper-pagination-progressbar.swiper-pagination-black .swiper-pagination-progressbar-fill{background:#000}.swiper-container-3d{-webkit-perspective:1200px;perspective:1200px}.swiper-container-3d .swiper-cube-shadow,.swiper-container-3d .swiper-slide,.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top,.swiper-container-3d .swiper-wrapper{-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-container-3d .swiper-slide-shadow-left{background-image:-o-linear-gradient(right,rgba(0,0,0,.5),transparent);background-image:-webkit-gradient(linear,right top,left top,from(rgba(0,0,0,.5)),to(transparent));background-image:linear-gradient(270deg,rgba(0,0,0,.5),transparent)}.swiper-container-3d .swiper-slide-shadow-right{background-image:-o-linear-gradient(left,rgba(0,0,0,.5),transparent);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(transparent));background-image:linear-gradient(90deg,rgba(0,0,0,.5),transparent)}.swiper-container-3d .swiper-slide-shadow-top{background-image:-o-linear-gradient(bottom,rgba(0,0,0,.5),transparent);background-image:-webkit-gradient(linear,left bottom,left top,from(rgba(0,0,0,.5)),to(transparent));background-image:linear-gradient(0deg,rgba(0,0,0,.5),transparent)}.swiper-container-3d .swiper-slide-shadow-bottom{background-image:-o-linear-gradient(top,rgba(0,0,0,.5),transparent);background-image:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.5)),to(transparent));background-image:linear-gradient(180deg,rgba(0,0,0,.5),transparent)}.swiper-container-coverflow .swiper-wrapper,.swiper-container-flip .swiper-wrapper{-ms-perspective:1200px}.swiper-container-cube,.swiper-container-flip{overflow:visible}.swiper-container-cube .swiper-slide,.swiper-container-flip .swiper-slide{pointer-events:none;z-index:1}.swiper-container-cube .swiper-slide .swiper-slide,.swiper-container-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-active .swiper-slide-active,.swiper-container-flip .swiper-slide-active,.swiper-container-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-cube .swiper-slide-shadow-bottom,.swiper-container-cube .swiper-slide-shadow-left,.swiper-container-cube .swiper-slide-shadow-right,.swiper-container-cube .swiper-slide-shadow-top,.swiper-container-flip .swiper-slide-shadow-bottom,.swiper-container-flip .swiper-slide-shadow-left,.swiper-container-flip .swiper-slide-shadow-right,.swiper-container-flip .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-container-cube .swiper-slide{visibility:hidden;-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0;width:100%;height:100%}.swiper-container-cube.swiper-container-rtl .swiper-slide{-webkit-transform-origin:100% 0;-ms-transform-origin:100% 0;transform-origin:100% 0}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-next,.swiper-container-cube .swiper-slide-next+.swiper-slide,.swiper-container-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-container-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0;width:100%;height:100%;background:#000;opacity:.6;-webkit-filter:blur(50px);filter:blur(50px);z-index:0}.swiper-container-fade.swiper-container-free-mode .swiper-slide{-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out}.swiper-container-fade .swiper-slide{pointer-events:none;-webkit-transition-property:opacity;-o-transition-property:opacity;transition-property:opacity}.swiper-container-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-fade .swiper-slide-active,.swiper-container-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-zoom-container{width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain}.swiper-scrollbar{border-radius:10px;position:relative;-ms-touch-action:none;background:rgba(0,0,0,.1)}.swiper-container-horizontal>.swiper-scrollbar{position:absolute;left:1%;bottom:3px;z-index:50;height:5px;width:98%}.swiper-container-vertical>.swiper-scrollbar{position:absolute;right:3px;top:1%;z-index:50;width:5px;height:98%}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:rgba(0,0,0,.5);border-radius:10px;left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.elementor-pagination-position-outside .swiper-container{padding-bottom:30px}.elementor-pagination-position-outside .elementor-swiper-button{top:calc(50% - 30px / 2)}.elementor-swiper{position:relative}.elementor-main-swiper{position:static}.elementor-arrows-position-outside .swiper-container{width:calc(100% - 60px)}.elementor-arrows-position-outside .elementor-swiper-button-prev{left:0}.elementor-arrows-position-outside .elementor-swiper-button-next{right:0}.swiper-image-stretch .swiper-slide .swiper-slide-image{width:100%}.elementor-swiper-button{position:absolute;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;z-index:1;cursor:pointer;font-size:25px;color:hsla(0,0%,93.3%,.9);top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.elementor-swiper-button svg{fill:hsla(0,0%,93.3%,.9);height:1em;width:1em}.elementor-swiper-button-prev{left:10px}.elementor-swiper-button-next{right:10px}.elementor-swiper-button.swiper-button-disabled{opacity:.3}.swiper-container-cube .elementor-swiper-button{-webkit-transform:translate3d(0,-50%,1px);transform:translate3d(0,-50%,1px)}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;-webkit-transform-origin:50%;-ms-transform-origin:50%;transform-origin:50%;-webkit-animation:swiper-preloader-spin 1s steps(12) infinite;animation:swiper-preloader-spin 1s steps(12) infinite}.swiper-lazy-preloader:after{display:block;content:"";width:100%;height:100%;background-size:100%;background:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 120 120' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath id='a' stroke='%236c6c6c' stroke-width='11' stroke-linecap='round' d='M60 7v20'/%3E%3C/defs%3E%3Cuse xlink:href='%23a' opacity='.27'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(30 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(60 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(90 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(120 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(150 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.37' transform='rotate(180 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.46' transform='rotate(210 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.56' transform='rotate(240 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.66' transform='rotate(270 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.75' transform='rotate(300 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.85' transform='rotate(330 60 60)'/%3E%3C/svg%3E") no-repeat 50%}.swiper-lazy-preloader-white:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 120 120' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath id='a' stroke='%23fff' stroke-width='11' stroke-linecap='round' d='M60 7v20'/%3E%3C/defs%3E%3Cuse xlink:href='%23a' opacity='.27'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(30 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(60 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(90 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(120 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(150 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.37' transform='rotate(180 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.46' transform='rotate(210 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.56' transform='rotate(240 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.66' transform='rotate(270 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.75' transform='rotate(300 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.85' transform='rotate(330 60 60)'/%3E%3C/svg%3E")}@-webkit-keyframes swiper-preloader-spin{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes swiper-preloader-spin{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.elementor-lightbox{--lightbox-ui-color:hsla(0,0%,93.3%,0.9);--lightbox-ui-color-hover:#fff;--lightbox-text-color:var(--lightbox-ui-color);--lightbox-header-icons-size:20px;--lightbox-navigation-icons-size:25px}.elementor-lightbox .dialog-header{display:none}.elementor-lightbox .dialog-widget-content{background:none;-webkit-box-shadow:none;box-shadow:none;width:100%;height:100%}.elementor-lightbox .dialog-message{-webkit-animation-duration:.3s;animation-duration:.3s}.elementor-lightbox .dialog-message:not(.elementor-fit-aspect-ratio){height:100%}.elementor-lightbox .dialog-message.dialog-lightbox-message{padding:0}.elementor-lightbox .dialog-lightbox-close-button{cursor:pointer;position:absolute;font-size:var(--lightbox-header-icons-size);right:.75em;margin-top:13px;padding:.25em;z-index:2;line-height:1;display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-lightbox .dialog-lightbox-close-button svg{height:1em;width:1em}.elementor-lightbox .dialog-lightbox-close-button,.elementor-lightbox .elementor-swiper-button{color:var(--lightbox-ui-color);-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s;opacity:1}.elementor-lightbox .dialog-lightbox-close-button svg,.elementor-lightbox .elementor-swiper-button svg{fill:var(--lightbox-ui-color)}.elementor-lightbox .dialog-lightbox-close-button:hover,.elementor-lightbox .elementor-swiper-button:hover{color:var(--lightbox-ui-color-hover)}.elementor-lightbox .dialog-lightbox-close-button:hover svg,.elementor-lightbox .elementor-swiper-button:hover svg{fill:var(--lightbox-ui-color-hover)}.elementor-lightbox .swiper-container{height:100%}.elementor-lightbox .elementor-lightbox-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;position:relative;padding:70px;-webkit-box-sizing:border-box;box-sizing:border-box;height:100%;margin:auto}@media (max-width:767px){.elementor-lightbox .elementor-lightbox-item{padding:70px 0}}.elementor-lightbox .elementor-lightbox-image{max-height:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.elementor-lightbox .elementor-lightbox-image,.elementor-lightbox .elementor-lightbox-image:hover{opacity:1;-webkit-filter:none;filter:none;border:none}.elementor-lightbox .elementor-lightbox-image,.elementor-lightbox .elementor-video-container{-webkit-box-shadow:0 0 30px rgba(0,0,0,.3),0 0 8px -5px rgba(0,0,0,.3);box-shadow:0 0 30px rgba(0,0,0,.3),0 0 8px -5px rgba(0,0,0,.3);border-radius:2px}.elementor-lightbox .elementor-video-container{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}@media (min-width:1025px){.elementor-lightbox .elementor-video-container{width:75%}}@media (max-width:1024px){.elementor-lightbox .elementor-video-container{width:100%}}@media (min-width:768px) and (max-width:1024px){.elementor-lightbox .elementor-aspect-ratio-916 .elementor-video-container{width:70%}}.elementor-lightbox .elementor-swiper-button:focus{outline-width:1px}.elementor-lightbox .elementor-swiper-button-next,.elementor-lightbox .elementor-swiper-button-prev{height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:15%;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:var(--lightbox-navigation-icons-size)}.elementor-lightbox .elementor-swiper-button-prev{left:0}.elementor-lightbox .elementor-swiper-button-next{right:0}@media (max-width:767px){.elementor-lightbox .elementor-swiper-button:focus{outline:none}.elementor-lightbox .elementor-swiper-button-next,.elementor-lightbox .elementor-swiper-button-prev{width:20%}.elementor-lightbox .elementor-swiper-button-next i,.elementor-lightbox .elementor-swiper-button-prev i{padding:10px;background-color:rgba(0,0,0,.5)}.elementor-lightbox .elementor-swiper-button-prev{left:0;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-lightbox .elementor-swiper-button-next{right:0;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}}.elementor-slideshow__counter{color:currentColor;font-size:.75em;width:-webkit-max-content;width:-moz-max-content;width:max-content}.elementor-slideshow__footer,.elementor-slideshow__header{position:absolute;left:0;width:100%;padding:15px 20px;-webkit-transition:.3s;-o-transition:.3s;transition:.3s}.elementor-slideshow__footer{color:var(--lightbox-text-color)}.elementor-slideshow__header{color:var(--lightbox-ui-color);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;font-size:var(--lightbox-header-icons-size);padding-left:1em;padding-right:2.6em;top:0;-webkit-box-align:center;-ms-flex-align:center;align-items:center;z-index:10}.elementor-slideshow__header>i,.elementor-slideshow__header>svg{cursor:pointer;padding:.25em;margin:0 .35em}.elementor-slideshow__header>i{font-size:inherit}.elementor-slideshow__header>i:hover{color:var(--lightbox-ui-color-hover)}.elementor-slideshow__header>svg{-webkit-box-sizing:content-box;box-sizing:content-box;fill:var(--lightbox-ui-color);height:1em;width:1em}.elementor-slideshow__header>svg:hover{fill:var(--lightbox-ui-color-hover)}.elementor-slideshow__header .elementor-slideshow__counter{margin-right:auto}.elementor-slideshow__header .elementor-icon-share{z-index:5}.elementor-slideshow__share-menu{background-color:transparent;width:0;height:0;position:absolute;overflow:hidden;-webkit-transition:background-color .4s;-o-transition:background-color .4s;transition:background-color .4s}.elementor-slideshow__share-menu .elementor-slideshow__share-links a{color:#2c2c2c}.elementor-slideshow__share-links{display:block;position:absolute;min-width:200px;right:2.8em;top:3em;background-color:#fff;border-radius:3px;padding:14px 20px;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);opacity:0;-webkit-transform-origin:90% 10%;-ms-transform-origin:90% 10%;transform-origin:90% 10%;-webkit-transition:all .25s .1s;-o-transition:all .25s .1s;transition:all .25s .1s;-webkit-box-shadow:0 4px 15px rgba(0,0,0,.3);box-shadow:0 4px 15px rgba(0,0,0,.3)}.elementor-slideshow__share-links a{text-align:left;color:#55595c;font-size:12px;line-height:2.5;display:block;opacity:0;-webkit-transition:opacity .5s .1s;-o-transition:opacity .5s .1s;transition:opacity .5s .1s}.elementor-slideshow__share-links a:hover{color:#000}.elementor-slideshow__share-links a i,.elementor-slideshow__share-links a svg{margin-right:.75em}.elementor-slideshow__share-links a i{font-size:1.25em}.elementor-slideshow__share-links a svg{height:1.25em;width:1.25em}.elementor-slideshow__share-links:before{content:"";display:block;position:absolute;top:1px;right:.5em;border:.45em solid transparent;border-bottom-color:#fff;-webkit-transform:translateY(-100%) scaleX(.7);-ms-transform:translateY(-100%) scaleX(.7);transform:translateY(-100%) scaleX(.7)}.elementor-slideshow__footer{bottom:0;z-index:5;position:fixed}.elementor-slideshow__description,.elementor-slideshow__title{margin:0}.elementor-slideshow__title{font-size:16px;font-weight:700}.elementor-slideshow__description{font-size:14px}.elementor-slideshow--ui-hidden .elementor-slideshow__footer,.elementor-slideshow--ui-hidden .elementor-slideshow__header{opacity:0;pointer-events:none}.elementor-slideshow--ui-hidden .elementor-swiper-button-next,.elementor-slideshow--ui-hidden .elementor-swiper-button-prev{opacity:0}.elementor-slideshow--fullscreen-mode .elementor-video-container{width:100%}.elementor-slideshow--zoom-mode .elementor-slideshow__footer,.elementor-slideshow--zoom-mode .elementor-slideshow__header{background-color:rgba(0,0,0,.5)}.elementor-slideshow--zoom-mode .elementor-swiper-button-next,.elementor-slideshow--zoom-mode .elementor-swiper-button-prev{opacity:0;pointer-events:none}.elementor-slideshow--share-mode .elementor-slideshow__share-menu{top:0;left:0;width:100vw;height:100vh;opacity:1;cursor:default;background-color:rgba(0,0,0,.5)}.elementor-slideshow--share-mode .elementor-slideshow__share-links{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.elementor-slideshow--share-mode .elementor-slideshow__share-links,.elementor-slideshow--share-mode .elementor-slideshow__share-links a{opacity:1}.elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-twitter{color:#1da1f2}.elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-facebook{color:#3b5998}.elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-pinterest{color:#bd081c}.elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-download-bold{color:#a4afb7}.elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-twitter{fill:#1da1f2}.elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-facebook{fill:#3b5998}.elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-pinterest{fill:#bd081c}.elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-download-bold{fill:#a4afb7}.elementor-slideshow--share-mode .eicon-share-arrow{z-index:2}.animated{-webkit-animation-duration:1.25s;animation-duration:1.25s}.animated.animated-slow{-webkit-animation-duration:2s;animation-duration:2s}.animated.animated-fast{-webkit-animation-duration:.75s;animation-duration:.75s}.animated.infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.animated.reverse{animation-direction:reverse;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}@media (prefers-reduced-motion:reduce){.animated{-webkit-animation:none;animation:none}}.elementor-shape{overflow:hidden;position:absolute;left:0;width:100%;line-height:0;direction:ltr}.elementor-shape-top{top:-1px}.elementor-shape-top:not([data-negative=false]) svg{z-index:-1}.elementor-shape-bottom{bottom:-1px}.elementor-shape-bottom:not([data-negative=true]) svg{z-index:-1}.elementor-shape[data-negative=false].elementor-shape-bottom,.elementor-shape[data-negative=true].elementor-shape-top{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.elementor-shape svg{display:block;width:calc(100% + 1.3px);position:relative;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.elementor-shape .elementor-shape-fill{fill:#fff;-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center;-webkit-transform:rotateY(0deg);transform:rotateY(0deg)}#wp-admin-bar-elementor_edit_page>.ab-item:before{content:"\e813";font-family:eicons;top:3px;font-size:18px}#wp-admin-bar-elementor_edit_page .ab-submenu .ab-item{display:-webkit-box;display:-ms-flexbox;display:flex;width:200px}#wp-admin-bar-elementor_edit_page .elementor-edit-link-title{white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden;width:100%}#wp-admin-bar-elementor_edit_page .elementor-edit-link-type{background:#55595c;font-size:11px;line-height:9px;margin-top:6px;padding:4px 8px;border-radius:3px}#wp-admin-bar-elementor_inspector>.ab-item:before{content:"\f348";top:2px}#wpadminbar *{font-style:normal}.page-template-elementor_canvas.elementor-page:before{display:none}.elementor-post__thumbnail__link{-webkit-transition:none;-o-transition:none;transition:none}#left-area ul.elementor-icon-list-items,.elementor-edit-area .elementor-element ul.elementor-icon-list-items,.elementor .elementor-element ul.elementor-icon-list-items{padding:0}.e--ua-appleWebkit.rtl{--flex-right:flex-start}.e--ua-appleWebkit .elementor-share-buttons--align-right,.e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-right{--justify-content:var(--flex-right,flex-end)}.e--ua-appleWebkit .elementor-share-buttons--align-center,.e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-center{--justify-content:center}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-center .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-justify .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-right .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-center .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-right .elementor-grid{width:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:var(--justify-content,space-between);-ms-flex-pack:var(--justify-content,space-between);justify-content:var(--justify-content,space-between);margin-left:calc(-.5 * var(--grid-column-gap));margin-right:calc(-.5 * var(--grid-column-gap))}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-center .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-justify .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-right .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-center .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-right .elementor-grid-item{margin-left:calc(.5 * var(--grid-column-gap));margin-right:calc(.5 * var(--grid-column-gap))}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-left .elementor-grid{display:inline-block}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-left .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-left .elementor-grid-item{margin-left:0;margin-right:0}@media (max-width:1024px){.e--ua-appleWebkit .elementor-share-buttons-tablet--align-right,.e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-tablet-right{--justify-content:var(--flex-right,flex-end)}.e--ua-appleWebkit .elementor-share-buttons-tablet--align-center,.e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-tablet-center{--justify-content:center}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-center .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-justify .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-right .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-center .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-right .elementor-grid{width:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:var(--justify-content,space-between);-ms-flex-pack:var(--justify-content,space-between);justify-content:var(--justify-content,space-between);margin-left:calc(-.5 * var(--grid-column-gap));margin-right:calc(-.5 * var(--grid-column-gap))}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-center .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-justify .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-right .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-center .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-right .elementor-grid-item{margin-left:calc(.5 * var(--grid-column-gap));margin-right:calc(.5 * var(--grid-column-gap))}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-tablet--align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-left .elementor-grid{display:inline-block}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-tablet--align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-tablet--align-left .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-left .elementor-grid-item{margin-left:0;margin-right:0}}@media (max-width:767px){.e--ua-appleWebkit .elementor-share-buttons-mobile--align-right,.e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-mobile-right{--justify-content:var(--flex-right,flex-end)}.e--ua-appleWebkit .elementor-share-buttons-mobile--align-center,.e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-mobile-center{--justify-content:center}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-center .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-justify .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-right .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-center .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-right .elementor-grid{width:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:var(--justify-content,space-between);-ms-flex-pack:var(--justify-content,space-between);justify-content:var(--justify-content,space-between);margin-left:calc(-.5 * var(--grid-column-gap));margin-right:calc(-.5 * var(--grid-column-gap))}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-center .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-justify .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-right .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-center .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-right .elementor-grid-item{margin-left:calc(.5 * var(--grid-column-gap));margin-right:calc(.5 * var(--grid-column-gap))}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-mobile--align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-left .elementor-grid{display:inline-block}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-mobile--align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-mobile--align-left .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-left .elementor-grid-item{margin-left:0;margin-right:0}}@media (max-width:767px){.elementor .elementor-hidden-mobile,.elementor .elementor-hidden-phone{display:none}}@media (min-width:-1px) and (max-width:-1px){.elementor .elementor-hidden-mobile_extra{display:none}}@media (min-width:768px) and (max-width:1024px){.elementor .elementor-hidden-tablet{display:none}}@media (min-width:-1px) and (max-width:-1px){.elementor .elementor-hidden-laptop,.elementor .elementor-hidden-tablet_extra{display:none}}@media (min-width:1025px) and (max-width:99999px){.elementor .elementor-hidden-desktop{display:none}}@media (min-width:-1px){.elementor .elementor-hidden-widescreen{display:none}}.elementor-widget-text-path{font-size:20px;text-align:var(--alignment,left)}.elementor-widget-text-path svg{width:var(--width);max-width:100%;height:auto;overflow:visible;word-spacing:var(--word-spacing);-webkit-transform:rotate(var(--rotate,0)) scaleX(var(--scale-x,1)) scaleY(var(--scale-y,1));-ms-transform:rotate(var(--rotate,0)) scaleX(var(--scale-x,1)) scaleY(var(--scale-y,1));transform:rotate(var(--rotate,0)) scaleX(var(--scale-x,1)) scaleY(var(--scale-y,1))}.elementor-widget-text-path svg path{vector-effect:non-scaling-stroke;fill:var(--path-fill,transparent);stroke:var(--stroke-color,transparent);stroke-width:var(--stroke-width,1px);-webkit-transition:var(--stroke-transition) stroke,var(--stroke-transition) fill;-o-transition:var(--stroke-transition) stroke,var(--stroke-transition) fill;transition:var(--stroke-transition) stroke,var(--stroke-transition) fill}.elementor-widget-text-path svg:hover path{--path-fill:var(--path-fill-hover);--stroke-color:var(--stroke-color-hover);--stroke-width:var(--stroke-width-hover)}.elementor-widget-text-path svg text{--fill:var(--text-color);fill:var(--fill);direction:var(--direction,ltr);-webkit-transition:var(--transition) stroke,var(--transition) stroke-width,var(--transition) fill;-o-transition:var(--transition) stroke,var(--transition) stroke-width,var(--transition) fill;transition:var(--transition) stroke,var(--transition) stroke-width,var(--transition) fill}.elementor-widget-text-path svg text:hover{--color:var(--text-color-hover,var(--text-color));--fill:var(--color);color:var(--color)}.elementor-accordion{text-align:left}.elementor-accordion .elementor-accordion-item{border:1px solid #d4d4d4}.elementor-accordion .elementor-accordion-item+.elementor-accordion-item{border-top:none}.elementor-accordion .elementor-tab-title{margin:0;padding:15px 20px;font-weight:700;line-height:1;cursor:pointer;outline:none}.elementor-accordion .elementor-tab-title .elementor-accordion-icon{display:inline-block;width:1.5em}.elementor-accordion .elementor-tab-title .elementor-accordion-icon svg{width:1em;height:1em}.elementor-accordion .elementor-tab-title .elementor-accordion-icon.elementor-accordion-icon-right{float:right;text-align:right}.elementor-accordion .elementor-tab-title .elementor-accordion-icon.elementor-accordion-icon-left{float:left;text-align:left}.elementor-accordion .elementor-tab-title .elementor-accordion-icon .elementor-accordion-icon-closed{display:block}.elementor-accordion .elementor-tab-title .elementor-accordion-icon .elementor-accordion-icon-opened,.elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon-closed{display:none}.elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon-opened{display:block}.elementor-accordion .elementor-tab-content{display:none;padding:15px 20px;border-top:1px solid #d4d4d4}@media (max-width:767px){.elementor-accordion .elementor-tab-title{padding:12px 15px}.elementor-accordion .elementor-tab-title .elementor-accordion-icon{width:1.2em}.elementor-accordion .elementor-tab-content{padding:7px 15px}}.elementor-alert{padding:15px;border-left:5px solid transparent;position:relative;text-align:left}.elementor-alert .elementor-alert-title{display:block;font-weight:700}.elementor-alert .elementor-alert-description{font-size:13px}.elementor-alert button.elementor-alert-dismiss{position:absolute;right:10px;top:10px;padding:3px;font-size:20px;line-height:1;background:transparent;color:inherit;border:none;cursor:pointer}.elementor-alert.elementor-alert-info{color:#31708f;background-color:#d9edf7;border-color:#bcdff1}.elementor-alert.elementor-alert-success{color:#3c763d;background-color:#dff0d8;border-color:#cae6be}.elementor-alert.elementor-alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#f9f0c3}.elementor-alert.elementor-alert-danger{color:#a94442;background-color:#f2dede;border-color:#e8c4c4}@media (max-width:767px){.elementor-alert{padding:10px}.elementor-alert button.elementor-alert-dismiss{right:7px;top:7px}}.elementor-counter .elementor-counter-number-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;font-size:69px;font-weight:600;line-height:1}.elementor-counter .elementor-counter-number-prefix,.elementor-counter .elementor-counter-number-suffix{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;white-space:pre-wrap}.elementor-counter .elementor-counter-number-prefix{text-align:right}.elementor-counter .elementor-counter-number-suffix{text-align:left}.elementor-counter .elementor-counter-title{text-align:center;font-size:19px;font-weight:400;line-height:2.5}.elementor-widget-divider{--divider-border-style:none;--divider-border-width:1px;--divider-color:#2c2c2c;--divider-icon-size:20px;--divider-element-spacing:10px;--divider-pattern-height:24px;--divider-pattern-size:20px;--divider-pattern-url:none;--divider-pattern-repeat:repeat-x}.elementor-widget-divider .elementor-divider{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-divider .elementor-divider__text{font-size:15px;line-height:1;max-width:95%}.elementor-widget-divider .elementor-divider__element{margin:0 var(--divider-element-spacing);-ms-flex-negative:0;flex-shrink:0}.elementor-widget-divider .elementor-icon{font-size:var(--divider-icon-size)}.elementor-widget-divider .elementor-divider-separator{display:-webkit-box;display:-ms-flexbox;display:flex;margin:0;direction:ltr}.elementor-widget-divider--view-line_icon .elementor-divider-separator,.elementor-widget-divider--view-line_text .elementor-divider-separator{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-widget-divider--view-line_icon .elementor-divider-separator:after,.elementor-widget-divider--view-line_icon .elementor-divider-separator:before,.elementor-widget-divider--view-line_text .elementor-divider-separator:after,.elementor-widget-divider--view-line_text .elementor-divider-separator:before{display:block;content:"";border-bottom:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;border-top:var(--divider-border-width) var(--divider-border-style) var(--divider-color)}.elementor-widget-divider--element-align-left .elementor-divider .elementor-divider-separator>.elementor-divider__svg:first-of-type{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;-ms-flex-negative:100;flex-shrink:100}.elementor-widget-divider--element-align-left .elementor-divider-separator:before{content:none}.elementor-widget-divider--element-align-left .elementor-divider__element{margin-left:0}.elementor-widget-divider--element-align-right .elementor-divider .elementor-divider-separator>.elementor-divider__svg:last-of-type{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;-ms-flex-negative:100;flex-shrink:100}.elementor-widget-divider--element-align-right .elementor-divider-separator:after{content:none}.elementor-widget-divider--element-align-right .elementor-divider__element{margin-right:0}.elementor-widget-divider:not(.elementor-widget-divider--view-line_text):not(.elementor-widget-divider--view-line_icon) .elementor-divider-separator{border-top:var(--divider-border-width) var(--divider-border-style) var(--divider-color)}.elementor-widget-divider--separator-type-pattern{--divider-border-style:none}.elementor-widget-divider--separator-type-pattern.elementor-widget-divider--view-line .elementor-divider-separator,.elementor-widget-divider--separator-type-pattern:not(.elementor-widget-divider--view-line) .elementor-divider-separator:after,.elementor-widget-divider--separator-type-pattern:not(.elementor-widget-divider--view-line) .elementor-divider-separator:before,.elementor-widget-divider--separator-type-pattern:not([class*=elementor-widget-divider--view]) .elementor-divider-separator{width:100%;min-height:var(--divider-pattern-height);-webkit-mask-size:var(--divider-pattern-size) 100%;mask-size:var(--divider-pattern-size) 100%;-webkit-mask-repeat:var(--divider-pattern-repeat);mask-repeat:var(--divider-pattern-repeat);background-color:var(--divider-color);-webkit-mask-image:var(--divider-pattern-url);mask-image:var(--divider-pattern-url)}.elementor-widget-divider--no-spacing{--divider-pattern-size:auto}.elementor-widget-divider--bg-round{--divider-pattern-repeat:round}.rtl .elementor-widget-divider .elementor-divider__text{direction:rtl}.elementor-image-gallery .gallery-item{display:inline-block;text-align:center;vertical-align:top;width:100%;max-width:100%;margin:0 auto}.elementor-image-gallery .gallery-item img{margin:0 auto}.elementor-image-gallery .gallery-item .gallery-caption{margin:0}.elementor-image-gallery figure img{display:block}.elementor-image-gallery figure figcaption{width:100%}.gallery-spacing-custom .elementor-image-gallery .gallery-icon{padding:0}@media (min-width:768px){.elementor-image-gallery .gallery-columns-2 .gallery-item{max-width:50%}.elementor-image-gallery .gallery-columns-3 .gallery-item{max-width:33.33%}.elementor-image-gallery .gallery-columns-4 .gallery-item{max-width:25%}.elementor-image-gallery .gallery-columns-5 .gallery-item{max-width:20%}.elementor-image-gallery .gallery-columns-6 .gallery-item{max-width:16.666%}.elementor-image-gallery .gallery-columns-7 .gallery-item{max-width:14.28%}.elementor-image-gallery .gallery-columns-8 .gallery-item{max-width:12.5%}.elementor-image-gallery .gallery-columns-9 .gallery-item{max-width:11.11%}.elementor-image-gallery .gallery-columns-10 .gallery-item{max-width:10%}}@media (min-width:480px) and (max-width:767px){.elementor-image-gallery .gallery.gallery-columns-2 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-3 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-4 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-5 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-6 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-7 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-8 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-9 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-10 .gallery-item{max-width:50%}}@media (max-width:479px){.elementor-image-gallery .gallery.gallery-columns-2 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-3 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-4 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-5 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-6 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-7 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-8 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-9 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-10 .gallery-item{max-width:100%}}.elementor-widget-google_maps .elementor-widget-container{overflow:hidden}.elementor-widget-google_maps iframe{height:300px}.elementor-heading-title{padding:0;margin:0;line-height:1}.elementor-widget-heading .elementor-heading-title[class*=elementor-size-]>a{color:inherit;font-size:inherit;line-height:inherit}.elementor-widget-heading .elementor-heading-title.elementor-size-small{font-size:15px}.elementor-widget-heading .elementor-heading-title.elementor-size-medium{font-size:19px}.elementor-widget-heading .elementor-heading-title.elementor-size-large{font-size:29px}.elementor-widget-heading .elementor-heading-title.elementor-size-xl{font-size:39px}.elementor-widget-heading .elementor-heading-title.elementor-size-xxl{font-size:59px}.elementor-widget-icon-box .elementor-icon-box-wrapper{display:block;text-align:center}.elementor-widget-icon-box .elementor-icon-box-icon{margin-bottom:var(--icon-box-icon-margin,15px);margin-right:auto;margin-left:auto}@media (min-width:768px){.elementor-widget-icon-box.elementor-vertical-align-top .elementor-icon-box-wrapper{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.elementor-widget-icon-box.elementor-vertical-align-middle .elementor-icon-box-wrapper{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-widget-icon-box.elementor-vertical-align-bottom .elementor-icon-box-wrapper{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}}.elementor-widget-icon-box.elementor-position-left .elementor-icon-box-wrapper,.elementor-widget-icon-box.elementor-position-right .elementor-icon-box-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-icon-box.elementor-position-left .elementor-icon-box-icon,.elementor-widget-icon-box.elementor-position-right .elementor-icon-box-icon{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.elementor-widget-icon-box.elementor-position-right .elementor-icon-box-wrapper{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-widget-icon-box.elementor-position-right .elementor-icon-box-icon{margin-left:var(--icon-box-icon-margin,15px);margin-right:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-position-left .elementor-icon-box-wrapper{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.elementor-widget-icon-box.elementor-position-left .elementor-icon-box-icon{margin-right:var(--icon-box-icon-margin,15px);margin-left:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-position-top .elementor-icon-box-wrapper{display:block;text-align:center;-webkit-box-orient:unset;-webkit-box-direction:unset;-ms-flex-direction:unset;flex-direction:unset}.elementor-widget-icon-box.elementor-position-top .elementor-icon-box-icon{margin-bottom:var(--icon-box-icon-margin,15px);margin-right:auto;margin-left:auto}@media (min-width:-1px){.elementor-widget-icon-box.elementor-widescreen-position-left .elementor-icon-box-wrapper,.elementor-widget-icon-box.elementor-widescreen-position-right .elementor-icon-box-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-icon-box.elementor-widescreen-position-left .elementor-icon-box-icon,.elementor-widget-icon-box.elementor-widescreen-position-right .elementor-icon-box-icon{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.elementor-widget-icon-box.elementor-widescreen-position-right .elementor-icon-box-wrapper{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-widget-icon-box.elementor-widescreen-position-right .elementor-icon-box-icon{margin-left:var(--icon-box-icon-margin,15px);margin-right:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-widescreen-position-left .elementor-icon-box-wrapper{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.elementor-widget-icon-box.elementor-widescreen-position-left .elementor-icon-box-icon{margin-right:var(--icon-box-icon-margin,15px);margin-left:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-widescreen-position-top .elementor-icon-box-wrapper{display:block;text-align:center;-webkit-box-orient:unset;-webkit-box-direction:unset;-ms-flex-direction:unset;flex-direction:unset}.elementor-widget-icon-box.elementor-widescreen-position-top .elementor-icon-box-icon{margin-bottom:var(--icon-box-icon-margin,15px);margin-right:auto;margin-left:auto}}@media (max-width:-1px){.elementor-widget-icon-box.elementor-laptop-position-left .elementor-icon-box-wrapper,.elementor-widget-icon-box.elementor-laptop-position-right .elementor-icon-box-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-icon-box.elementor-laptop-position-left .elementor-icon-box-icon,.elementor-widget-icon-box.elementor-laptop-position-right .elementor-icon-box-icon{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.elementor-widget-icon-box.elementor-laptop-position-right .elementor-icon-box-wrapper{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-widget-icon-box.elementor-laptop-position-right .elementor-icon-box-icon{margin-left:var(--icon-box-icon-margin,15px);margin-right:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-laptop-position-left .elementor-icon-box-wrapper{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.elementor-widget-icon-box.elementor-laptop-position-left .elementor-icon-box-icon{margin-right:var(--icon-box-icon-margin,15px);margin-left:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-laptop-position-top .elementor-icon-box-wrapper{display:block;text-align:center;-webkit-box-orient:unset;-webkit-box-direction:unset;-ms-flex-direction:unset;flex-direction:unset}.elementor-widget-icon-box.elementor-laptop-position-top .elementor-icon-box-icon{margin-bottom:var(--icon-box-icon-margin,15px);margin-right:auto;margin-left:auto}}@media (max-width:-1px){.elementor-widget-icon-box.elementor-tablet_extra-position-left .elementor-icon-box-wrapper,.elementor-widget-icon-box.elementor-tablet_extra-position-right .elementor-icon-box-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-icon-box.elementor-tablet_extra-position-left .elementor-icon-box-icon,.elementor-widget-icon-box.elementor-tablet_extra-position-right .elementor-icon-box-icon{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.elementor-widget-icon-box.elementor-tablet_extra-position-right .elementor-icon-box-wrapper{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-widget-icon-box.elementor-tablet_extra-position-right .elementor-icon-box-icon{margin-left:var(--icon-box-icon-margin,15px);margin-right:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-tablet_extra-position-left .elementor-icon-box-wrapper{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.elementor-widget-icon-box.elementor-tablet_extra-position-left .elementor-icon-box-icon{margin-right:var(--icon-box-icon-margin,15px);margin-left:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-tablet_extra-position-top .elementor-icon-box-wrapper{display:block;text-align:center;-webkit-box-orient:unset;-webkit-box-direction:unset;-ms-flex-direction:unset;flex-direction:unset}.elementor-widget-icon-box.elementor-tablet_extra-position-top .elementor-icon-box-icon{margin-bottom:var(--icon-box-icon-margin,15px);margin-right:auto;margin-left:auto}}@media (max-width:1024px){.elementor-widget-icon-box.elementor-tablet-position-left .elementor-icon-box-wrapper,.elementor-widget-icon-box.elementor-tablet-position-right .elementor-icon-box-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-icon-box.elementor-tablet-position-left .elementor-icon-box-icon,.elementor-widget-icon-box.elementor-tablet-position-right .elementor-icon-box-icon{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.elementor-widget-icon-box.elementor-tablet-position-right .elementor-icon-box-wrapper{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-widget-icon-box.elementor-tablet-position-right .elementor-icon-box-icon{margin-left:var(--icon-box-icon-margin,15px);margin-right:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-tablet-position-left .elementor-icon-box-wrapper{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.elementor-widget-icon-box.elementor-tablet-position-left .elementor-icon-box-icon{margin-right:var(--icon-box-icon-margin,15px);margin-left:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-tablet-position-top .elementor-icon-box-wrapper{display:block;text-align:center;-webkit-box-orient:unset;-webkit-box-direction:unset;-ms-flex-direction:unset;flex-direction:unset}.elementor-widget-icon-box.elementor-tablet-position-top .elementor-icon-box-icon{margin-bottom:var(--icon-box-icon-margin,15px);margin-right:auto;margin-left:auto}}@media (max-width:-1px){.elementor-widget-icon-box.elementor-mobile_extra-position-left .elementor-icon-box-wrapper,.elementor-widget-icon-box.elementor-mobile_extra-position-right .elementor-icon-box-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-icon-box.elementor-mobile_extra-position-left .elementor-icon-box-icon,.elementor-widget-icon-box.elementor-mobile_extra-position-right .elementor-icon-box-icon{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.elementor-widget-icon-box.elementor-mobile_extra-position-right .elementor-icon-box-wrapper{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-widget-icon-box.elementor-mobile_extra-position-right .elementor-icon-box-icon{margin-left:var(--icon-box-icon-margin,15px);margin-right:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-mobile_extra-position-left .elementor-icon-box-wrapper{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.elementor-widget-icon-box.elementor-mobile_extra-position-left .elementor-icon-box-icon{margin-right:var(--icon-box-icon-margin,15px);margin-left:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-mobile_extra-position-top .elementor-icon-box-wrapper{display:block;text-align:center;-webkit-box-orient:unset;-webkit-box-direction:unset;-ms-flex-direction:unset;flex-direction:unset}.elementor-widget-icon-box.elementor-mobile_extra-position-top .elementor-icon-box-icon{margin-bottom:var(--icon-box-icon-margin,15px);margin-right:auto;margin-left:auto}}@media (max-width:767px){.elementor-widget-icon-box.elementor-mobile-position-left .elementor-icon-box-wrapper,.elementor-widget-icon-box.elementor-mobile-position-right .elementor-icon-box-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-icon-box.elementor-mobile-position-left .elementor-icon-box-icon,.elementor-widget-icon-box.elementor-mobile-position-right .elementor-icon-box-icon{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.elementor-widget-icon-box.elementor-mobile-position-right .elementor-icon-box-wrapper{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-widget-icon-box.elementor-mobile-position-right .elementor-icon-box-icon{margin-left:var(--icon-box-icon-margin,15px);margin-right:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-mobile-position-left .elementor-icon-box-wrapper{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.elementor-widget-icon-box.elementor-mobile-position-left .elementor-icon-box-icon{margin-right:var(--icon-box-icon-margin,15px);margin-left:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-mobile-position-top .elementor-icon-box-wrapper{display:block;text-align:center;-webkit-box-orient:unset;-webkit-box-direction:unset;-ms-flex-direction:unset;flex-direction:unset}.elementor-widget-icon-box.elementor-mobile-position-top .elementor-icon-box-icon{margin-bottom:var(--icon-box-icon-margin,15px);margin-right:auto;margin-left:auto}.elementor-widget-icon-box.elementor-position-left .elementor-icon-box-icon,.elementor-widget-icon-box.elementor-position-right .elementor-icon-box-icon{display:block;-webkit-box-flex:unset;-ms-flex:unset;flex:unset}}.elementor-widget-icon-box .elementor-icon-box-title a{color:inherit}.elementor-widget-icon-box .elementor-icon-box-content{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-widget-icon-box .elementor-icon-box-description{margin:0}.elementor-widget.elementor-icon-list--layout-inline .elementor-widget-container{overflow:hidden}.elementor-widget .elementor-icon-list-items.elementor-inline-items{margin-right:-8px;margin-left:-8px}.elementor-widget .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-right:8px;margin-left:8px}.elementor-widget .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{width:auto;left:auto;right:auto;position:relative;height:100%;border-top:0;border-bottom:0;border-right:0;border-left-width:1px;border-style:solid;right:-8px}.elementor-widget .elementor-icon-list-items{list-style-type:none;margin:0;padding:0}.elementor-widget .elementor-icon-list-item{margin:0;padding:0;position:relative}.elementor-widget .elementor-icon-list-item:after{position:absolute;bottom:0;width:100%}.elementor-widget .elementor-icon-list-item,.elementor-widget .elementor-icon-list-item a{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:inherit}.elementor-widget .elementor-icon-list-icon+.elementor-icon-list-text{-ms-flex-item-align:center;align-self:center;padding-left:5px}.elementor-widget .elementor-icon-list-icon{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget .elementor-icon-list-icon svg{width:var(--e-icon-list-icon-size,1em);height:var(--e-icon-list-icon-size,1em)}.elementor-widget .elementor-icon-list-icon i{width:1.25em;font-size:var(--e-icon-list-icon-size)}.elementor-widget.elementor-widget-icon-list .elementor-icon-list-icon{text-align:var(--e-icon-list-icon-align)}.elementor-widget.elementor-widget-icon-list .elementor-icon-list-icon svg{margin:var(--e-icon-list-icon-margin,0 calc(var(--e-icon-list-icon-size, 1em) * .25) 0 0)}.elementor-widget.elementor-list-item-link-full_width a{width:100%}.elementor-widget.elementor-align-center .elementor-icon-list-item,.elementor-widget.elementor-align-center .elementor-icon-list-item a{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-align-center .elementor-icon-list-item:after{margin:auto}.elementor-widget.elementor-align-center .elementor-inline-items{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-align-left .elementor-icon-list-item,.elementor-widget.elementor-align-left .elementor-icon-list-item a{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:left}.elementor-widget.elementor-align-left .elementor-inline-items{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-widget.elementor-align-right .elementor-icon-list-item,.elementor-widget.elementor-align-right .elementor-icon-list-item a{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:right}.elementor-widget.elementor-align-right .elementor-icon-list-items{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-widget:not(.elementor-align-right) .elementor-icon-list-item:after{left:0}.elementor-widget:not(.elementor-align-left) .elementor-icon-list-item:after{right:0}@media (min-width:-1px){.elementor-widget.elementor-widescreen-align-center .elementor-icon-list-item,.elementor-widget.elementor-widescreen-align-center .elementor-icon-list-item a{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-widescreen-align-center .elementor-icon-list-item:after{margin:auto}.elementor-widget.elementor-widescreen-align-center .elementor-inline-items{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-widescreen-align-left .elementor-icon-list-item,.elementor-widget.elementor-widescreen-align-left .elementor-icon-list-item a{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:left}.elementor-widget.elementor-widescreen-align-left .elementor-inline-items{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-widget.elementor-widescreen-align-right .elementor-icon-list-item,.elementor-widget.elementor-widescreen-align-right .elementor-icon-list-item a{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:right}.elementor-widget.elementor-widescreen-align-right .elementor-icon-list-items{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-widget:not(.elementor-widescreen-align-right) .elementor-icon-list-item:after{left:0}.elementor-widget:not(.elementor-widescreen-align-left) .elementor-icon-list-item:after{right:0}}@media (max-width:-1px){.elementor-widget.elementor-laptop-align-center .elementor-icon-list-item,.elementor-widget.elementor-laptop-align-center .elementor-icon-list-item a{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-laptop-align-center .elementor-icon-list-item:after{margin:auto}.elementor-widget.elementor-laptop-align-center .elementor-inline-items{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-laptop-align-left .elementor-icon-list-item,.elementor-widget.elementor-laptop-align-left .elementor-icon-list-item a{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:left}.elementor-widget.elementor-laptop-align-left .elementor-inline-items{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-widget.elementor-laptop-align-right .elementor-icon-list-item,.elementor-widget.elementor-laptop-align-right .elementor-icon-list-item a{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:right}.elementor-widget.elementor-laptop-align-right .elementor-icon-list-items{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-widget:not(.elementor-laptop-align-right) .elementor-icon-list-item:after{left:0}.elementor-widget:not(.elementor-laptop-align-left) .elementor-icon-list-item:after{right:0}}@media (max-width:-1px){.elementor-widget.elementor-tablet_extra-align-center .elementor-icon-list-item,.elementor-widget.elementor-tablet_extra-align-center .elementor-icon-list-item a{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-tablet_extra-align-center .elementor-icon-list-item:after{margin:auto}.elementor-widget.elementor-tablet_extra-align-center .elementor-inline-items{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-tablet_extra-align-left .elementor-icon-list-item,.elementor-widget.elementor-tablet_extra-align-left .elementor-icon-list-item a{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:left}.elementor-widget.elementor-tablet_extra-align-left .elementor-inline-items{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-widget.elementor-tablet_extra-align-right .elementor-icon-list-item,.elementor-widget.elementor-tablet_extra-align-right .elementor-icon-list-item a{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:right}.elementor-widget.elementor-tablet_extra-align-right .elementor-icon-list-items{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-widget:not(.elementor-tablet_extra-align-right) .elementor-icon-list-item:after{left:0}.elementor-widget:not(.elementor-tablet_extra-align-left) .elementor-icon-list-item:after{right:0}}@media (max-width:1024px){.elementor-widget.elementor-tablet-align-center .elementor-icon-list-item,.elementor-widget.elementor-tablet-align-center .elementor-icon-list-item a{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-tablet-align-center .elementor-icon-list-item:after{margin:auto}.elementor-widget.elementor-tablet-align-center .elementor-inline-items{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-tablet-align-left .elementor-icon-list-item,.elementor-widget.elementor-tablet-align-left .elementor-icon-list-item a{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:left}.elementor-widget.elementor-tablet-align-left .elementor-inline-items{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-widget.elementor-tablet-align-right .elementor-icon-list-item,.elementor-widget.elementor-tablet-align-right .elementor-icon-list-item a{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:right}.elementor-widget.elementor-tablet-align-right .elementor-icon-list-items{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-widget:not(.elementor-tablet-align-right) .elementor-icon-list-item:after{left:0}.elementor-widget:not(.elementor-tablet-align-left) .elementor-icon-list-item:after{right:0}}@media (max-width:-1px){.elementor-widget.elementor-mobile_extra-align-center .elementor-icon-list-item,.elementor-widget.elementor-mobile_extra-align-center .elementor-icon-list-item a{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-mobile_extra-align-center .elementor-icon-list-item:after{margin:auto}.elementor-widget.elementor-mobile_extra-align-center .elementor-inline-items{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-mobile_extra-align-left .elementor-icon-list-item,.elementor-widget.elementor-mobile_extra-align-left .elementor-icon-list-item a{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:left}.elementor-widget.elementor-mobile_extra-align-left .elementor-inline-items{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-widget.elementor-mobile_extra-align-right .elementor-icon-list-item,.elementor-widget.elementor-mobile_extra-align-right .elementor-icon-list-item a{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:right}.elementor-widget.elementor-mobile_extra-align-right .elementor-icon-list-items{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-widget:not(.elementor-mobile_extra-align-right) .elementor-icon-list-item:after{left:0}.elementor-widget:not(.elementor-mobile_extra-align-left) .elementor-icon-list-item:after{right:0}}@media (max-width:767px){.elementor-widget.elementor-mobile-align-center .elementor-icon-list-item,.elementor-widget.elementor-mobile-align-center .elementor-icon-list-item a{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-mobile-align-center .elementor-icon-list-item:after{margin:auto}.elementor-widget.elementor-mobile-align-center .elementor-inline-items{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-mobile-align-left .elementor-icon-list-item,.elementor-widget.elementor-mobile-align-left .elementor-icon-list-item a{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:left}.elementor-widget.elementor-mobile-align-left .elementor-inline-items{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-widget.elementor-mobile-align-right .elementor-icon-list-item,.elementor-widget.elementor-mobile-align-right .elementor-icon-list-item a{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:right}.elementor-widget.elementor-mobile-align-right .elementor-icon-list-items{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-widget:not(.elementor-mobile-align-right) .elementor-icon-list-item:after{left:0}.elementor-widget:not(.elementor-mobile-align-left) .elementor-icon-list-item:after{right:0}}.elementor-widget-image{text-align:center}.elementor-widget-image a{display:inline-block}.elementor-widget-image a img[src$=".svg"]{width:48px}.elementor-widget-image img{vertical-align:middle;display:inline-block}.elementor-widget-image-box .elementor-image-box-content{width:100%}@media (min-width:768px){.elementor-widget-image-box.elementor-position-left .elementor-image-box-wrapper,.elementor-widget-image-box.elementor-position-right .elementor-image-box-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-image-box.elementor-position-right .elementor-image-box-wrapper{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-widget-image-box.elementor-position-left .elementor-image-box-wrapper{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.elementor-widget-image-box.elementor-position-top .elementor-image-box-img{margin:auto}.elementor-widget-image-box.elementor-vertical-align-top .elementor-image-box-wrapper{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.elementor-widget-image-box.elementor-vertical-align-middle .elementor-image-box-wrapper{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-widget-image-box.elementor-vertical-align-bottom .elementor-image-box-wrapper{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}}@media (max-width:767px){.elementor-widget-image-box .elementor-image-box-img{margin-left:auto!important;margin-right:auto!important;margin-bottom:15px}}.elementor-widget-image-box .elementor-image-box-img{display:inline-block}.elementor-widget-image-box .elementor-image-box-title a{color:inherit}.elementor-widget-image-box .elementor-image-box-wrapper{text-align:center}.elementor-widget-image-box .elementor-image-box-description{margin:0}.elementor-widget-image-carousel .swiper-container{position:static}.elementor-widget-image-carousel .swiper-container .swiper-slide figure{line-height:inherit}.elementor-widget-image-carousel .swiper-slide{text-align:center}.elementor-image-carousel-wrapper:not(.swiper-container-initialized) .swiper-slide{max-width:calc(100% / var(--e-image-carousel-slides-to-show, 3))}body.elementor-page .elementor-widget-menu-anchor{margin-bottom:0}.elementor-widget-progress{text-align:left}.elementor-progress-wrapper{position:relative;background-color:#eee;color:#fff;height:100%;border-radius:2px}.elementor-progress-bar{display:-webkit-box;display:-ms-flexbox;display:flex;background-color:#818a91;width:0;font-size:11px;height:30px;line-height:30px;border-radius:2px;-webkit-transition:width 1s ease-in-out;-o-transition:width 1s ease-in-out;transition:width 1s ease-in-out}.elementor-progress-text{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden;padding-left:15px}.elementor-progress-percentage{padding-right:15px}.elementor-widget-progress .elementor-progress-wrapper.progress-info .elementor-progress-bar{background-color:#5bc0de}.elementor-widget-progress .elementor-progress-wrapper.progress-success .elementor-progress-bar{background-color:#5cb85c}.elementor-widget-progress .elementor-progress-wrapper.progress-warning .elementor-progress-bar{background-color:#f0ad4e}.elementor-widget-progress .elementor-progress-wrapper.progress-danger .elementor-progress-bar{background-color:#d9534f}.elementor-progress .elementor-title{display:block}@media (max-width:767px){.elementor-progress-text{padding-left:10px}}.elementor-widget-social-icons.elementor-grid-0 .elementor-widget-container,.elementor-widget-social-icons.elementor-grid-mobile-0 .elementor-widget-container,.elementor-widget-social-icons.elementor-grid-tablet-0 .elementor-widget-container{line-height:1;font-size:0}.elementor-widget-social-icons:not(.elementor-grid-0):not(.elementor-grid-tablet-0):not(.elementor-grid-mobile-0) .elementor-grid{display:inline-grid}.elementor-widget-social-icons .elementor-grid{grid-column-gap:var(--grid-column-gap,5px);grid-row-gap:var(--grid-row-gap,5px);grid-template-columns:var(--grid-template-columns);-webkit-box-pack:var(--justify-content,center);-ms-flex-pack:var(--justify-content,center);justify-content:var(--justify-content,center);justify-items:var(--justify-content,center)}.elementor-icon.elementor-social-icon{font-size:var(--icon-size,25px);line-height:var(--icon-size,25px);width:calc(var(--icon-size, 25px) + (2 * var(--icon-padding, .5em)));height:calc(var(--icon-size, 25px) + (2 * var(--icon-padding, .5em)))}.elementor-social-icon{--e-social-icon-icon-color:#fff;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;background-color:#818a91;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;text-align:center;cursor:pointer}.elementor-social-icon i{color:var(--e-social-icon-icon-color)}.elementor-social-icon svg{fill:var(--e-social-icon-icon-color)}.elementor-social-icon:last-child{margin:0}.elementor-social-icon:hover{opacity:.9;color:#fff}.elementor-social-icon-android{background-color:#a4c639}.elementor-social-icon-apple{background-color:#999}.elementor-social-icon-behance{background-color:#1769ff}.elementor-social-icon-bitbucket{background-color:#205081}.elementor-social-icon-codepen{background-color:#000}.elementor-social-icon-delicious{background-color:#39f}.elementor-social-icon-deviantart{background-color:#05cc47}.elementor-social-icon-digg{background-color:#005be2}.elementor-social-icon-dribbble{background-color:#ea4c89}.elementor-social-icon-elementor{background-color:#d30c5c}.elementor-social-icon-envelope{background-color:#ea4335}.elementor-social-icon-facebook,.elementor-social-icon-facebook-f{background-color:#3b5998}.elementor-social-icon-flickr{background-color:#0063dc}.elementor-social-icon-foursquare{background-color:#2d5be3}.elementor-social-icon-free-code-camp,.elementor-social-icon-freecodecamp{background-color:#006400}.elementor-social-icon-github{background-color:#333}.elementor-social-icon-gitlab{background-color:#e24329}.elementor-social-icon-globe{background-color:#818a91}.elementor-social-icon-google-plus,.elementor-social-icon-google-plus-g{background-color:#dd4b39}.elementor-social-icon-houzz{background-color:#7ac142}.elementor-social-icon-instagram{background-color:#262626}.elementor-social-icon-jsfiddle{background-color:#487aa2}.elementor-social-icon-link{background-color:#818a91}.elementor-social-icon-linkedin,.elementor-social-icon-linkedin-in{background-color:#0077b5}.elementor-social-icon-medium{background-color:#00ab6b}.elementor-social-icon-meetup{background-color:#ec1c40}.elementor-social-icon-mixcloud{background-color:#273a4b}.elementor-social-icon-odnoklassniki{background-color:#f4731c}.elementor-social-icon-pinterest{background-color:#bd081c}.elementor-social-icon-product-hunt{background-color:#da552f}.elementor-social-icon-reddit{background-color:#ff4500}.elementor-social-icon-rss{background-color:#f26522}.elementor-social-icon-shopping-cart{background-color:#4caf50}.elementor-social-icon-skype{background-color:#00aff0}.elementor-social-icon-slideshare{background-color:#0077b5}.elementor-social-icon-snapchat{background-color:#fffc00}.elementor-social-icon-soundcloud{background-color:#f80}.elementor-social-icon-spotify{background-color:#2ebd59}.elementor-social-icon-stack-overflow{background-color:#fe7a15}.elementor-social-icon-steam{background-color:#00adee}.elementor-social-icon-stumbleupon{background-color:#eb4924}.elementor-social-icon-telegram{background-color:#2ca5e0}.elementor-social-icon-thumb-tack{background-color:#1aa1d8}.elementor-social-icon-tripadvisor{background-color:#589442}.elementor-social-icon-tumblr{background-color:#35465c}.elementor-social-icon-twitch{background-color:#6441a5}.elementor-social-icon-twitter{background-color:#1da1f2}.elementor-social-icon-viber{background-color:#665cac}.elementor-social-icon-vimeo{background-color:#1ab7ea}.elementor-social-icon-vk{background-color:#45668e}.elementor-social-icon-weibo{background-color:#dd2430}.elementor-social-icon-weixin{background-color:#31a918}.elementor-social-icon-whatsapp{background-color:#25d366}.elementor-social-icon-wordpress{background-color:#21759b}.elementor-social-icon-xing{background-color:#026466}.elementor-social-icon-yelp{background-color:#af0606}.elementor-social-icon-youtube{background-color:#cd201f}.elementor-social-icon-500px{background-color:#0099e5}.elementor-shape-rounded .elementor-icon.elementor-social-icon{border-radius:10%}.elementor-shape-circle .elementor-icon.elementor-social-icon{border-radius:50%}.e-container.e-container--row .elementor-spacer-inner{width:var(--spacer-size)}.e-container.e-container--column .elementor-spacer-inner,.elementor-column .elementor-spacer-inner{height:var(--spacer-size)}.elementor-star-rating{color:#ccd6df;font-family:eicons;display:inline-block}.elementor-star-rating i{display:inline-block;position:relative;font-style:normal;cursor:default}.elementor-star-rating i:before{content:"\e934";display:block;font-size:inherit;font-family:inherit;position:absolute;overflow:hidden;color:#f0ad4e;top:0;left:0}.elementor-star-rating .elementor-star-empty:before{content:none}.elementor-star-rating .elementor-star-1:before{width:10%}.elementor-star-rating .elementor-star-2:before{width:20%}.elementor-star-rating .elementor-star-3:before{width:30%}.elementor-star-rating .elementor-star-4:before{width:40%}.elementor-star-rating .elementor-star-5:before{width:50%}.elementor-star-rating .elementor-star-6:before{width:60%}.elementor-star-rating .elementor-star-7:before{width:70%}.elementor-star-rating .elementor-star-8:before{width:80%}.elementor-star-rating .elementor-star-9:before{width:90%}.elementor-star-rating__wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-star-rating__title{margin-right:10px}.elementor-star-rating--align-right .elementor-star-rating__wrapper{text-align:right;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-star-rating--align-left .elementor-star-rating__wrapper{text-align:left;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-star-rating--align-center .elementor-star-rating__wrapper{text-align:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-star-rating--align-justify .elementor-star-rating__title{margin-right:auto}@media (max-width:1024px){.elementor-star-rating-tablet--align-right .elementor-star-rating__wrapper{text-align:right;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-star-rating-tablet--align-left .elementor-star-rating__wrapper{text-align:left;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-star-rating-tablet--align-center .elementor-star-rating__wrapper{text-align:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-star-rating-tablet--align-justify .elementor-star-rating__title{margin-right:auto}}@media (max-width:767px){.elementor-star-rating-mobile--align-right .elementor-star-rating__wrapper{text-align:right;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-star-rating-mobile--align-left .elementor-star-rating__wrapper{text-align:left;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-star-rating-mobile--align-center .elementor-star-rating__wrapper{text-align:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-star-rating-mobile--align-justify .elementor-star-rating__title{margin-right:auto}}.last-star{letter-spacing:0}.elementor--star-style-star_unicode .elementor-star-rating{font-family:Arial,Helvetica,sans-serif}.elementor--star-style-star_unicode .elementor-star-rating i:not(.elementor-star-empty):before{content:"★"}.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tabs-wrapper{width:25%;-ms-flex-negative:0;flex-shrink:0}.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tab-desktop-title.elementor-active{border-right-style:none}.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tab-desktop-title.elementor-active:after,.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tab-desktop-title.elementor-active:before{height:999em;width:0;right:0;border-right-style:solid}.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tab-desktop-title.elementor-active:before{top:0;-webkit-transform:translateY(-100%);-ms-transform:translateY(-100%);transform:translateY(-100%)}.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tab-desktop-title.elementor-active:after{top:100%}.elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title{display:table-cell}.elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title.elementor-active{border-bottom-style:none}.elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title.elementor-active:after,.elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title.elementor-active:before{bottom:0;height:0;width:999em;border-bottom-style:solid}.elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title.elementor-active:before{right:100%}.elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title.elementor-active:after{left:100%}.elementor-widget-tabs .elementor-tab-content,.elementor-widget-tabs .elementor-tab-title,.elementor-widget-tabs .elementor-tab-title:after,.elementor-widget-tabs .elementor-tab-title:before,.elementor-widget-tabs .elementor-tabs-content-wrapper{border:1px #d4d4d4}.elementor-widget-tabs .elementor-tabs{text-align:left}.elementor-widget-tabs .elementor-tabs-wrapper{overflow:hidden}.elementor-widget-tabs .elementor-tab-title{cursor:pointer;outline:var(--focus-outline,none)}.elementor-widget-tabs .elementor-tab-desktop-title{position:relative;padding:20px 25px;font-weight:700;line-height:1;border:solid transparent}.elementor-widget-tabs .elementor-tab-desktop-title.elementor-active{border-color:#d4d4d4}.elementor-widget-tabs .elementor-tab-desktop-title.elementor-active:after,.elementor-widget-tabs .elementor-tab-desktop-title.elementor-active:before{display:block;content:"";position:absolute}.elementor-widget-tabs .elementor-tab-mobile-title{padding:10px;cursor:pointer}.elementor-widget-tabs .elementor-tab-content{padding:20px;display:none}@media (max-width:767px){.elementor-tabs .elementor-tab-content,.elementor-tabs .elementor-tab-title{border-style:solid solid none}.elementor-tabs .elementor-tabs-wrapper{display:none}.elementor-tabs .elementor-tabs-content-wrapper{border-bottom-style:solid}.elementor-tabs .elementor-tab-content{padding:10px}}@media (min-width:768px){.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tabs{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tabs-wrapper{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tabs-content-wrapper{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;border-style:solid solid solid none}.elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-content{border-style:none solid solid}.elementor-widget-tabs.elementor-tabs-alignment-center .elementor-tabs-wrapper,.elementor-widget-tabs.elementor-tabs-alignment-end .elementor-tabs-wrapper,.elementor-widget-tabs.elementor-tabs-alignment-stretch .elementor-tabs-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-tabs.elementor-tabs-alignment-center .elementor-tabs-wrapper{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget-tabs.elementor-tabs-alignment-end .elementor-tabs-wrapper{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-widget-tabs.elementor-tabs-alignment-stretch.elementor-tabs-view-horizontal .elementor-tab-title{width:100%}.elementor-widget-tabs.elementor-tabs-alignment-stretch.elementor-tabs-view-vertical .elementor-tab-title{height:100%}.elementor-tabs .elementor-tab-mobile-title{display:none}}.elementor-testimonial-wrapper{overflow:hidden;text-align:center}.elementor-testimonial-wrapper .elementor-testimonial-content{font-size:1.3em;margin-bottom:20px}.elementor-testimonial-wrapper .elementor-testimonial-name{line-height:1.5;display:block}.elementor-testimonial-wrapper .elementor-testimonial-job{font-size:.85em;display:block}.elementor-testimonial-wrapper .elementor-testimonial-meta{width:100%;line-height:1}.elementor-testimonial-wrapper .elementor-testimonial-meta-inner{display:inline-block}.elementor-testimonial-wrapper .elementor-testimonial-meta .elementor-testimonial-details,.elementor-testimonial-wrapper .elementor-testimonial-meta .elementor-testimonial-image{display:table-cell;vertical-align:middle}.elementor-testimonial-wrapper .elementor-testimonial-meta .elementor-testimonial-image img{width:60px;height:60px;border-radius:50%;-o-object-fit:cover;object-fit:cover;max-width:none}.elementor-testimonial-wrapper .elementor-testimonial-meta.elementor-testimonial-image-position-aside .elementor-testimonial-image{padding-right:15px}.elementor-testimonial-wrapper .elementor-testimonial-meta.elementor-testimonial-image-position-aside .elementor-testimonial-details{text-align:left}.elementor-testimonial-wrapper .elementor-testimonial-meta.elementor-testimonial-image-position-top .elementor-testimonial-details,.elementor-testimonial-wrapper .elementor-testimonial-meta.elementor-testimonial-image-position-top .elementor-testimonial-image{display:block}.elementor-testimonial-wrapper .elementor-testimonial-meta.elementor-testimonial-image-position-top .elementor-testimonial-image{margin-bottom:20px}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:#818a91;color:#fff}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap{color:#818a91;border:3px solid;background-color:transparent}.elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap{margin-top:8px}.elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap-letter{width:1em;height:1em}.elementor-widget-text-editor .elementor-drop-cap{float:left;text-align:center;line-height:1;font-size:50px}.elementor-widget-text-editor .elementor-drop-cap-letter{display:inline-block}.elementor-toggle{text-align:left}.elementor-toggle .elementor-tab-title{font-weight:700;line-height:1;margin:0;padding:15px;border-bottom:1px solid #d4d4d4;cursor:pointer;outline:none}.elementor-toggle .elementor-tab-title .elementor-toggle-icon{display:inline-block;width:1em}.elementor-toggle .elementor-tab-title .elementor-toggle-icon svg{-webkit-margin-start:-5px;margin-inline-start:-5px;width:1em;height:1em}.elementor-toggle .elementor-tab-title .elementor-toggle-icon.elementor-toggle-icon-right{float:right;text-align:right}.elementor-toggle .elementor-tab-title .elementor-toggle-icon.elementor-toggle-icon-left{float:left;text-align:left}.elementor-toggle .elementor-tab-title .elementor-toggle-icon .elementor-toggle-icon-closed{display:block}.elementor-toggle .elementor-tab-title .elementor-toggle-icon .elementor-toggle-icon-opened{display:none}.elementor-toggle .elementor-tab-title.elementor-active{border-bottom:none}.elementor-toggle .elementor-tab-title.elementor-active .elementor-toggle-icon-closed{display:none}.elementor-toggle .elementor-tab-title.elementor-active .elementor-toggle-icon-opened{display:block}.elementor-toggle .elementor-tab-content{padding:15px;border-bottom:1px solid #d4d4d4;display:none}@media (max-width:767px){.elementor-toggle .elementor-tab-title{padding:12px}.elementor-toggle .elementor-tab-content{padding:12px 10px}}.elementor-widget-video .elementor-widget-container{overflow:hidden;-webkit-transform:translateZ(0);transform:translateZ(0)}.elementor-widget-video .elementor-open-inline .elementor-custom-embed-image-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-size:cover;background-position:50%}.elementor-widget-video .elementor-custom-embed-image-overlay{cursor:pointer;text-align:center}.elementor-widget-video .elementor-custom-embed-image-overlay:hover .elementor-custom-embed-play i{opacity:1}.elementor-widget-video .elementor-custom-embed-image-overlay img{display:block;width:100%}.elementor-widget-video .e-hosted-video .elementor-video{-o-object-fit:cover;object-fit:cover}assets/css/app.min.css000064400000266036152377341010010732 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ @import "//fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap";@import "//fonts.googleapis.com/css2?family=DM%20Sans&display=swap";@import "//fonts.googleapis.com/css2?family=Source%20Serif%20Pro&display=swap";.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media screen and (min-width:480px){.text-start-sm{text-align:start}}@media screen and (min-width:480px){.text-center-sm{text-align:center}}@media screen and (min-width:480px){.text-end-sm{text-align:end}}@media screen and (min-width:768px){.text-start-md{text-align:start}}@media screen and (min-width:768px){.text-center-md{text-align:center}}@media screen and (min-width:768px){.text-end-md{text-align:end}}@media screen and (min-width:1025px){.text-start-lg{text-align:start}}@media screen and (min-width:1025px){.text-center-lg{text-align:center}}@media screen and (min-width:1025px){.text-end-lg{text-align:end}}@media screen and (min-width:1440px){.text-start-xl{text-align:start}}@media screen and (min-width:1440px){.text-center-xl{text-align:center}}@media screen and (min-width:1440px){.text-end-xl{text-align:end}}@media screen and (min-width:1600px){.text-start-xxl{text-align:start}}@media screen and (min-width:1600px){.text-center-xxl{text-align:center}}@media screen and (min-width:1600px){.text-end-xxl{text-align:end}}@-webkit-keyframes eps-animation-pop{0%{-webkit-transform:scale(.75);transform:scale(.75);opacity:0}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes eps-animation-pop{0%{-webkit-transform:scale(.75);transform:scale(.75);opacity:0}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}.eps-button{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;--button-line-height:16px;--button-padding-y:0.5em;--button-padding-x:1.5em;--button-primary-background-color:#39b54a;--button-primary-hover-background-color:#33a242;--button-primary-active-background-color:#35a945;--button-primary-color:#fff;--button-secondary-background-color:#a4afb7;--button-secondary-hover-background-color:#96a2ac;--button-secondary-active-background-color:#9ba7b0;--button-secondary-color:#fff;--button-danger-background-color:#b01b1b;--button-danger-hover-background-color:#9a1818;--button-danger-active-background-color:#a31919;--button-danger-color:#fff;--button-cta-background-color:#93003f;--button-cta-hover-background-color:#7a0034;--button-cta-active-background-color:#840038;--button-cta-color:#fff;--button-link-background-color:#58d0f5;--button-link-hover-background-color:#40c9f4;--button-link-active-background-color:#4accf4;--button-link-color:#fff;--button-disabled-background-color:#c2cbd2;--button-disabled-hover-background-color:#b3bec7;--button-disabled-active-background-color:#b9c3cc;--button-disabled-color:#fff;color:var(--button-background-color,currentColor);font-size:var(--button-font-size,inherit);font-weight:500;line-height:var(--button-line-height);cursor:pointer}.eps-button:active{--button-background-color:var(--button-active-background-color,transparent)}.eps-button:hover{--button-background-color:var(--button-hover-background-color)}.eps-theme-dark .eps-button{--button-primary-background-color:#39b54a;--button-primary-color:#fff;--button-primary-hover-background-color:#33a242;--button-primary-active-background-color:#35a945;--button-secondary-background-color:#b4b5b7;--button-secondary-color:#fff;--button-secondary-hover-background-color:#a7a8ab;--button-secondary-active-background-color:#acadb0;--button-cta-background-color:#93003f;--button-cta-hover-background-color:#7a0034;--button-cta-active-background-color:#840038;--button-cta-color:#fff;--button-link-background-color:#58d0f5;--button-link-hover-background-color:#40c9f4;--button-link-active-background-color:#4accf4;--button-link-color:#fff;--button-disabled-background-color:#64666a;--button-disabled-hover-background-color:#58595d;--button-disabled-active-background-color:#5d5e62;--button-disabled-color:#fff}.eps-button--contained{padding:var(--button-padding-y) var(--button-padding-x);background-color:var(--button-background-color,transparent);border:1px solid var(--button-background-color)}.eps-button--contained,.eps-button--contained:hover{color:var(--button-color)}.eps-button--outlined{display:block;padding:var(--button-padding-y) var(--button-padding-x);border:1px solid var(--button-background-color)}.eps-button--contained,.eps-button--outlined{border-radius:.1875rem}.eps-button--underlined{text-decoration:underline}.eps-button--sm{--button-font-size:0.75rem;--button-line-height:14px}.eps-button--lg{--button-font-size:0.9375rem;--button-line-height:18px}.eps-button--primary{--button-color:var(--button-primary-color);--button-background-color:var(--button-primary-background-color);--button-hover-background-color:var(--button-primary-hover-background-color);--button-active-background-color:var(--button-primary-active-background-color)}.eps-button--secondary{--button-color:var(--button-secondary-color);--button-background-color:var(--button-secondary-background-color);--button-hover-background-color:var(--button-secondary-hover-background-color);--button-active-background-color:var(--button-secondary-active-background-color)}.eps-button--danger{--button-color:var(--button-danger-color);--button-background-color:var(--button-danger-background-color);--button-hover-background-color:var(--button-danger-hover-background-color);--button-active-background-color:var(--button-danger-active-background-color)}.eps-button--cta{--button-color:var(--button-cta-color);--button-background-color:var(--button-cta-background-color);--button-hover-background-color:var(--button-cta-hover-background-color);--button-active-background-color:var(--button-cta-active-background-color)}.eps-button--link{--button-color:var(--button-link-color);--button-background-color:var(--button-link-background-color);--button-hover-background-color:var(--button-link-hover-background-color);--button-active-background-color:var(--button-link-active-background-color)}.eps-button--disabled,.eps-button[disabled]{--button-color:var(--button-disabled-color);--button-background-color:var(--button-disabled-background-color);--button-hover-background-color:var(--button-disabled-hover-background-color);--button-active-background-color:var(--button-disabled-active-background-color);cursor:default}:root{--app-background-color:#f1f3f5;--app-box-shadow-color:rgba(var(--box-shadow-color,rgba(0,0,0,0.15)),0.2);--app-header-background-color:#fff;--app-header-color:#495157;--app-sidebar-background-color:hsla(0,0%,100%,0.5);--app-header-buttons-separator-color:#d5dadf;--app-header-buttons-color:#a4afb7;--app-lightbox-background-color:rgba(0,0,0,0.8)}.eps-theme-dark{--app-background-color:#34383c;--app-box-shadow-color:rgba(var(--box-shadow-color,rgba(0,0,0,0.15)),0.2);--app-header-background-color:#26292c;--app-header-color:#e0e1e3;--app-sidebar-background-color:#34383c;--app-header-buttons-separator-color:#64666a;--app-header-buttons-color:#b4b5b7;--app-lightbox-background-color:rgba(0,0,0,0.8)}:root{--text-muted:#d5dadf;--disabled:#c2cbd2;--danger:#b01b1b;--body-color:#6d7882;--hr-color:#d5dadf;--box-shadow-color:theme-colors(dark);--display-1-color:#495157;--display-2-color:#495157;--display-3-color:#6d7882;--display-4-color:#495157;--h1-color:#6d7882;--h2-color:#6d7882;--h3-color:#495157;--h4-color:#495157;--h5-color:#495157;--h6-color:#495157;--text-base-color:#495157;--text-xl-color:#495157;--text-lg-color:#495157;--text-sm-color:#495157;--text-xs-color:#495157;--text-xxs-color:#495157;--gray-800:#495157;--gray-700:#556068;--gray-600:#6d7882;--gray-500:#a4afb7;--gray-400:#c2cbd2;--gray-300:#d5dadf;--gray-200:#f1f3f5;--gray-100:#fcfcfc}.eps-theme-dark,:root{--light:#fff;--dark:#000;--info:#58d0f5;--cta:#93003f;--success:#39b54a;--warning:#fcb92c;--link-color:#58d0f5;--link-hover-color:#10bcf1}.eps-theme-dark{--text-muted:#7d7e82;--disabled:#64666a;--accent:#58d0f5;--danger:#f84343;--body-color:#e0e1e3;--body-bg:#fff;--hr-color:#4c4f56;--box-shadow-color:rgba(0,0,0,0.15);--display-1-color:#e0e1e3;--display-2-color:#e0e1e3;--display-3-color:#e0e1e3;--display-4-color:#e0e1e3;--h1-color:#e0e1e3;--h2-color:#e0e1e3;--h3-color:#e0e1e3;--h4-color:#e0e1e3;--h5-color:#e0e1e3;--h6-color:#e0e1e3;--text-base-color:#b4b5b7;--text-xl-color:#b4b5b7;--text-lg-color:#b4b5b7;--text-sm-color:#b4b5b7;--text-xs-color:#b4b5b7;--text-xxs-color:#b4b5b7;--gray-800:#26292c;--gray-700:#34383c;--gray-600:#404349;--gray-500:#4c4f56;--gray-400:#64666a;--gray-300:#7d7e82;--gray-200:#b4b5b7;--gray-100:#e0e1e3}*,:after,:before{-webkit-box-sizing:border-box;box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:Roboto,Arial,Helvetica,Verdana,sans-serif;font-size:.875rem;font-weight:400;line-height:1.5;color:var(--body-color);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--body-bg)}::-moz-selection{background-color:rgba(147,0,63,.5)}::selection{background-color:rgba(147,0,63,.5)}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}h1,h2,h3,h4,h5,h6{font-size:100%;margin:0;padding:0;line-height:inherit;font-weight:400}p{margin-top:0}b,strong{font-weight:700}small{font-size:80%}a{--eps-link-color:$eps-link-color;color:var(--eps-link-color);background-color:transparent}a,a:active,a:focus,a:hover{text-decoration:none}a:focus,a:hover{--eps-link-color:$eps-link-hover-color}a:not([href]),a:not([href]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:monospace;font-size:1em}figure{margin:0}img{border-style:none}img,svg{vertical-align:middle}svg{overflow:hidden}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}textarea{overflow:auto;resize:vertical}[hidden]{display:none!important}hr{border:0;border-bottom:1px solid var(--hr-color)}.eps-display-1{color:var(--display-1-color)}.eps-display-1,.eps-display-2{font-size:1.85rem;margin-top:.5rem;margin-bottom:.5rem}.eps-display-2{color:var(--display-2-color)}.eps-display-3{font-size:1.85rem;color:var(--display-3-color);margin-top:0;margin-bottom:1.25rem}.eps-display-4{font-size:1.85rem;color:var(--display-4-color);margin-top:.5rem;margin-bottom:.5rem}.eps-h1,h1{font-size:1.625rem;line-height:1;color:var(--h1-color);margin-bottom:1.25rem;font-weight:500}.eps-h2,h2{font-size:1.25rem;color:var(--h2-color);margin-bottom:1.25rem}.eps-h2,.eps-h3,h2,h3{line-height:1.2;margin-top:0;font-weight:500}.eps-h3,h3{font-size:1rem;color:var(--h3-color);margin-bottom:.5rem}.eps-h4,h4{font-size:.9375rem;color:var(--h4-color)}.eps-h4,.eps-h5,h4,h5{margin-top:0;margin-bottom:.5rem}.eps-h5,h5{font-size:.875rem;color:var(--h5-color)}.eps-h6,h6{font-size:.875rem;color:var(--h-6-color);margin-top:0;margin-bottom:.5rem;font-weight:700}.eps-text-xxs{line-height:1.2;color:var(--text-xxs-color)}.eps-text-xs,.eps-text-xxs{font-size:.75rem;font-weight:400}.eps-text-xs{line-height:1.5;color:var(--text-xs-color)}.eps-text{font-size:.875rem;color:var(--text-base-color)}.eps-text,.eps-text-sm{line-height:1.5;font-weight:400}.eps-text-sm{font-size:.8125rem;color:var(--text-sm-color)}.eps-text-lg{font-size:.9375rem;color:var(--text-lg-color)}.eps-text-lg,.eps-text-xl{line-height:1.5;font-weight:400}.eps-text-xl{font-size:1rem;color:var(--text-xl-color)}.video-wrapper{position:relative;padding-bottom:56.25%;height:0}.video-wrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%}.eps-separator{margin-bottom:2.75rem}.eps-theme-dark{--e-app-back-button-color:#b4b5b7}.back-button,.e-app-back-button{--button-background-color:var(--e-app-back-button-color,#a4afb7);margin-bottom:1.5rem}.back-button .eps-icon,.e-app-back-button .eps-icon{-webkit-margin-end:.3125rem;margin-inline-end:.3125rem}.eps-theme-dark{--input-border-color:--hr-color}.eps-input{border:1px solid var(--hr-color);border-radius:.1875rem;background:transparent;color:inherit;height:1.875rem;padding:0 .3125rem}.eps-input--block{width:100%}.eps-app{height:100vh;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;color:var(--body-color);background-color:var(--app-background-color);position:absolute;border-radius:0;-webkit-box-shadow:2px 8px 23px 3px var(--color-box-shadow-color);box-shadow:2px 8px 23px 3px var(--color-box-shadow-color);overflow:hidden;font-family:Roboto,Arial,Helvetica,Verdana,sans-serif;max-width:100%}.eps-app,.eps-app__lightbox{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%}.eps-app__lightbox{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;position:fixed;height:100%;background-color:var(--app-lightbox-background-color);z-index:1040;bottom:0;left:0}.eps-app__header{-ms-flex-negative:0;flex-shrink:0;font-size:.9375rem;color:var(--app-header-color);background-color:var(--app-header-background-color);-webkit-box-shadow:0 4px 10px var(--color-box-shadow-color);box-shadow:0 4px 10px var(--color-box-shadow-color);position:relative;z-index:3;height:3.125rem;padding:0 1rem}.eps-app__header-buttons{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;font-size:1.125rem}.eps-app__header-btn{--button-background-color:var(--app-header-buttons-color);-webkit-padding-start:1rem;padding-inline-start:1rem;font-size:1.125rem;line-height:1.25rem}.eps-app__header-btn:first-child{-webkit-border-start:1px solid var(--app-header-buttons-separator-color);border-inline-start:1px solid var(--app-header-buttons-separator-color)}.eps-app__header-btn:not(:first-child){-webkit-padding-end:1rem;padding-inline-end:1rem}.eps-app__logo-title-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.eps-app__logo{display:block;width:1.75rem;height:1.75rem;line-height:1.75rem;text-align:center;font-size:calc(.4 * 1.75rem);border-radius:50%;color:#fff;background-color:#93003f}.eps-app__logo:not(:last-child){-webkit-margin-end:.625rem;margin-inline-end:.625rem}.eps-app__title{font-size:.9375rem;font-weight:700;text-transform:uppercase;margin-bottom:0}.eps-app__main{display:-webkit-box;display:-ms-flexbox;display:flex;overflow:hidden;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.eps-app__sidebar{background-color:var(--app-sidebar-background-color);padding-top:1.25rem;width:30%;max-width:17.1875rem;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;overflow-y:auto;-webkit-box-shadow:2px 8px 23px 3px var(--color-box-shadow-color);box-shadow:2px 8px 23px 3px var(--color-box-shadow-color);z-index:4}.eps-app__content{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;position:relative;padding:2.75rem;height:100%;overflow-y:auto}.e-app-upload-file__input{display:none}.e-app-drop-zone{--e-app-drop-zone-icon-color:#c2cbd2;--e-app-drop-zone-text-color:#a4afb7;--e-app-drop-zone-secondary-text-color:#6d7882}.e-app-drop-zone__icon{margin-bottom:2.75rem;color:var(--e-app-drop-zone-icon-color);font-size:60px}.e-app-drop-zone__text{color:var(--e-app-drop-zone-text-color)}.e-app-drop-zone__secondary-text{color:var(--e-app-drop-zone-secondary-text-color)}.eps-theme-dark .e-app-drop-zone{--e-app-drop-zone-icon-color:#c2cbd2;--e-app-drop-zone-text-color:#b4b5b7;--e-app-drop-zone-secondary-text-color:#e0e1e3}:root{--info-toggle-color:#d5dadf;--info-toggle-hover-color:#a4afb7}.eps-theme-dark{--placeholder-filter:invert(0.8) sepia(1) saturate(0.2) hue-rotate(180deg) contrast(1.25) brightness(1.2);--info-toggle-color:#64666a;--info-toggle-hover-color:#b4b5b7}.e-site-part .eps-card__image{-webkit-filter:var(--placeholder-filter,none);filter:var(--placeholder-filter,none)}.e-site-part__info-toggle{color:var(--info-toggle-color)}.e-site-part__info-toggle:hover{--info-toggle-color:var(--info-toggle-hover-color)}.e-site-editor__header{margin-bottom:2.75rem;border-bottom:1px solid var(--hr-color)}:root{--e-elementor-loader-container-background-color:#f1f3f5;--e-elementor-loader-background-color:hsla(0,0%,100%,0.9)}.eps-theme-dark{--e-elementor-loader-container-background-color:#34383c;--e-elementor-loader-background-color:#4c4f56}.elementor-loading{background-color:var(--e-elementor-loader-container-background-color);height:100vh}.elementor-loader-wrapper{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:300px;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-loader{border-radius:50%;padding:40px;height:150px;width:150px;background-color:var(--e-elementor-loader-background-color);-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-box-shadow:2px 2px 20px 4px rgba(0,0,0,.02);box-shadow:2px 2px 20px 4px rgba(0,0,0,.02)}.elementor-loader-boxes{height:100%;width:100%;position:relative}.elementor-loader-box{position:absolute;background-color:#d5dadf;-webkit-animation:load 1.8s linear infinite;animation:load 1.8s linear infinite}.elementor-loader-box:first-of-type{width:20%;height:100%;left:0;top:0}.elementor-loader-box:not(:first-of-type){right:0;height:20%;width:60%}.elementor-loader-box:nth-of-type(2){top:0;-webkit-animation-delay:-.45s;animation-delay:-.45s}.elementor-loader-box:nth-of-type(3){top:40%;-webkit-animation-delay:-.9s;animation-delay:-.9s}.elementor-loader-box:nth-of-type(4){bottom:0;-webkit-animation-delay:-1.35s;animation-delay:-1.35s}.elementor-loading-title{color:#a4afb7;text-align:center;text-transform:uppercase;margin-top:30px;letter-spacing:7px;text-indent:7px;font-size:10px;width:100%}@-webkit-keyframes load{0%{opacity:.3}50%{opacity:1}to{opacity:.3}}@keyframes load{0%{opacity:.3}50%{opacity:1}to{opacity:.3}}.eps-menu__title{margin-top:2.75rem;margin-bottom:1rem}.e-app-import{--e-app-import-back-to-library-color:#a4afb7;padding-bottom:1.25rem}.e-app-import__drop-zone{margin-top:1.25rem}.e-app-import__back-to-library{color:var(--e-app-import-back-to-library-color);margin-bottom:1.5rem}.e-app-import__back-to-library>i{-webkit-margin-end:.5rem;margin-inline-end:.5rem}.eps-theme-dark .e-app-import{--e-app-import-back-to-library-color:#b4b5b7}.e-site-editor__promotion-overlay__link{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;height:100%;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-decoration:none}.e-site-editor__promotion-overlay__icon{font-size:1.25rem;color:#fff;margin-bottom:1rem}.e-app-import-export-wizard-step{--e-app-import-export-wizard-step-icon-color:#c2cbd2;--e-app-import-export-wizard-step-text-color:#a4afb7;--e-app-import-export-wizard-step-bottom-text-color:#a4afb7;height:100%;position:relative;text-align:center}.e-app-import-export-wizard-step__media-container{height:140px;margin:5.5rem 0 2.75rem}.e-app-import-export-wizard-step__icon{color:var(--e-app-import-export-wizard-step-icon-color);font-size:50px}.e-app-import-export-wizard-step__icon.eicon-loading{font-size:1.85rem}.e-app-import-export-wizard-step__heading{margin-bottom:1.5rem}.e-app-import-export-wizard-step__description,.e-app-import-export-wizard-step__info{color:var(--e-app-import-export-wizard-step-text-color)}.e-app-import-export-wizard-step__info{margin-top:1.5rem}.e-app-import-export-wizard-step__content{text-align:initial;margin-bottom:1.25rem}.e-app-import-export-wizard-step__notice{display:block;position:sticky;top:100%;color:var(--e-app-import-export-wizard-step-bottom-text-color);font-style:italic;margin-bottom:0}.eps-theme-dark .e-app-import-export-wizard-step{--e-app-import-export-wizard-step-icon-color:#64666a;--e-app-import-export-wizard-step-text-color:#b4b5b7;--e-app-import-export-wizard-step-bottom-text-color:#b4b5b7}.e-app-import-export-page-header{--e-app-import-export-page-header-border-bottom-color:#d5dadf;--e-app-import-export-page-header-heading-color:#6d7882;--e-app-import-export-page-header-description-color:#a4afb7;border-bottom:1px solid var(--e-app-import-export-page-header-border-bottom-color);margin-bottom:2.75rem}.e-app-import-export-page-header__content-wrapper{max-width:645px}.e-app-import-export-page-header__heading{color:var(--e-app-import-export-page-header-heading-color)}.e-app-import-export-page-header__description{color:var(--e-app-import-export-page-header-description-color);margin-top:1.25rem}.eps-theme-dark .e-app-import-export-page-header{--e-app-import-export-page-header-border-bottom-color:#4c4f56;--e-app-import-export-page-header-heading-color:#e0e1e3;--e-app-import-export-page-header-description-color:#e0e1e3}.e-app-wizard-footer{--e-app-wizard-footer-border-color:#d5dadf;padding:.5rem}.e-app-wizard-footer__separator{border-top:1px solid var(--e-app-wizard-footer-border-color)}.eps-theme-dark .e-app-wizard-footer{--e-app-wizard-footer-border-color:#4c4f56}.e-app-export-templates-features__locked{--e-app-export-templates-features-locked-color:#a4afb7;color:var(--e-app-export-templates-features-locked-color)}.eps-theme-dark .e-app-export-templates-features__locked{--e-app-export-templates-features-locked-color:#7d7e82}:root{--color-box-shadow-color:rgba(0,0,0,0.05)}.eps-theme-dark{--color-box-shadow-color:rgba(0,0,0,0.1)}:root{--card-background-color:hsla(0,0%,100%,0.5);--card-background-color-hover:#fff;--card-box-shadow:0 4px 10px var(--color-box-shadow-color);--card-header-footer-border:1px solid #f1f3f5;--card-header-footer-active-border:2px solid #e2e6ea;--card-headline-color:#6d7882;--card-figure-background-color:#f1f3f5;--card-image-overlay-background-color:rgba(0,0,0,0.2)}.eps-theme-dark{--card-background-color:#404349;--card-background-color-hover:rgba(76,79,86,0.8);--card-box-shadow:0 3px 6px var(--color-box-shadow-color);--card-header-footer-border:1px solid #34383c;--card-header-footer-active-border:1px solid #26292c;--card-headline-color:#e0e1e3;--card-figure-background-color:#34383c;--card-image-overlay-background-color:rgba(52,56,60,0.5)}.eps-card{background-color:var(--card-background-color);-webkit-box-shadow:0 4px 10px var(--color-box-shadow-color);box-shadow:0 4px 10px var(--color-box-shadow-color);border-radius:.1875rem;-webkit-transition:.3s;-o-transition:.3s;transition:.3s;font-size:.75rem}.eps-card__header{padding:.625rem;border-bottom:var(--card-header-footer-border);min-height:2.5rem;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.eps-card__header--padding{padding:var(--eps-card-header-padding)}.eps-card__headline{color:var(--card-headline-color);margin-bottom:0;font-weight:500;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap}.eps-card__body{padding:.625rem}.eps-card__body--padding{padding:var(--eps-card-body-padding)}.eps-card__figure{background-color:var(--card-figure-background-color);position:relative;padding-bottom:var(--card-image-aspect-ratio,95.6%);overflow:hidden;height:0}.eps-card__image{width:100%;-o-object-fit:contain;object-fit:contain;-o-object-position:top;object-position:top;position:absolute;top:0;left:0}.eps-card__image-overlay{position:absolute;top:0;background-color:var(--card-image-overlay-background-color);z-index:1;width:100%;height:100%;opacity:0;-webkit-transition:.3s;-o-transition:.3s;transition:.3s}.eps-card__image-overlay:hover{opacity:1}.eps-card__footer{padding:.625rem;border-top:var(--card-header-footer-border);font-size:.6875rem}.eps-card__footer--padding{padding:var(--eps-card-footer-padding)}.eps-card:hover{background-color:var(--card-background-color-hover)}:root{--menu-item-color:#6d7882;--menu-item-color-hover:#556068;--menu-item-background-color-active:#fff;--menu-item-icon-color:#a4afb7;--menu-item-action-button-color:#d5dadf}.eps-theme-dark{--menu-item-color:#e0e1e3;--menu-item-color-hover:#e0e1e3;--menu-item-background-color-active:#404349;--menu-item-icon-color:#b4b5b7;--menu-item-action-button-color:#64666a}.eps-menu-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative;-webkit-transition:.3s;-o-transition:.3s;transition:.3s;--action-button-opacity:0}.eps-menu-item:before{content:"";display:block;position:absolute;top:0;inset-inline-start:0;height:100%;width:var(--menu-item-pointer-width);background-color:#58d0f5}.eps-menu-item:hover{--action-button-opacity:1}.eps-menu-item--active,.eps-menu-item:hover{--menu-item-color:var(--menu-item-color-hover);--eps-link-color:var(--menu-item-color-hover);--menu-item-icon-color:#58d0f5}.eps-menu-item--active{background-color:var(--menu-item-background-color-active)}.eps-menu-item__link{padding:.5rem 1.875rem;min-height:2.75rem;font-size:.75rem;line-height:1.2;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:var(--menu-item-color);--eps-link-color:var(--menu-item-color)}.eps-menu-item__link:not(:last-child){-webkit-padding-end:0;padding-inline-end:0}.eps-menu-item__link .eps-icon{font-size:1.125rem;color:var(--menu-item-icon-color);-webkit-margin-end:.75rem;margin-inline-end:.75rem}.eps-menu-item__action-button{color:var(--menu-item-action-button-color);opacity:var(--action-button-opacity);padding:.625rem;-webkit-transition:.3s;-o-transition:.3s;transition:.3s;-webkit-margin-end:1.25rem;margin-inline-end:1.25rem}.eps-menu-item--active{--menu-item-pointer-width:0.3125rem;-webkit-box-shadow:0 3px 6px var(--color-box-shadow-color);box-shadow:0 3px 6px var(--color-box-shadow-color)}.eps-menu-item--active .eps-menu-item__link .eps-icon{color:#58d0f5}.eps-grid-container{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;width:100%}.eps-grid-container--no-wrap{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.eps-grid-container--wrap-reverse{-ms-flex-wrap:wrap-reverse;flex-wrap:wrap-reverse}.eps-grid-container--spacing{--grid-row-gutter:calc(-1 * calc(var(--grid-spacing-gutter) * 0.0625rem));width:var(--grid-spacing-width);margin:var(--grid-row-gutter)}.eps-grid-container--spacing>.eps-grid-item{padding:var(--grid-spacing-gutter)}.eps-grid--direction-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.eps-grid--direction-row-reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.eps-grid--direction-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.eps-grid--direction-column-reverse{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}.eps-grid--justify-stretch{-webkit-box-pack:stretch;-ms-flex-pack:stretch;justify-content:stretch}.eps-grid--justify-start{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.eps-grid--justify-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.eps-grid--justify-end{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.eps-grid--justify-space-between{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.eps-grid--justify-space-around{-ms-flex-pack:distribute;justify-content:space-around}.eps-grid--justify-space-evenly{-webkit-box-pack:space-evenly;-ms-flex-pack:space-evenly;justify-content:space-evenly}.eps-grid--align-content-stretch{-ms-flex-line-pack:stretch;align-content:stretch}.eps-grid--align-content-start{-ms-flex-line-pack:start;align-content:flex-start}.eps-grid--align-content-center{-ms-flex-line-pack:center;align-content:center}.eps-grid--align-content-end{-ms-flex-line-pack:end;align-content:flex-end}.eps-grid--align-content-space-between{-ms-flex-line-pack:justify;align-content:space-between}.eps-grid--align-items-start{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.eps-grid--align-items-center{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.eps-grid--align-items-end{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.eps-grid--align-items-baseline{-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline}.eps-grid--align-items-stretch{-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.eps-grid-item--zero-min-width{min-width:0}@media screen and (min-width:480px){.eps-grid-item-sm{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%;-ms-flex-preferred-size:0;flex-basis:0}}@media screen and (min-width:768px){.eps-grid-item-md{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%;-ms-flex-preferred-size:0;flex-basis:0}}@media screen and (min-width:1025px){.eps-grid-item-lg{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%;-ms-flex-preferred-size:0;flex-basis:0}}@media screen and (min-width:1440px){.eps-grid-item-xl{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%;-ms-flex-preferred-size:0;flex-basis:0}}@media screen and (min-width:1600px){.eps-grid-item-xxl{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%;-ms-flex-preferred-size:0;flex-basis:0}}.eps-grid-item-xs-1{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:8.3333333333%;-ms-flex-preferred-size:8.3333333333%;flex-basis:8.3333333333%}.eps-grid-item-xs-2{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:16.6666666667%;-ms-flex-preferred-size:16.6666666667%;flex-basis:16.6666666667%}.eps-grid-item-xs-3{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:25%;-ms-flex-preferred-size:25%;flex-basis:25%}.eps-grid-item-xs-4{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:33.3333333333%;-ms-flex-preferred-size:33.3333333333%;flex-basis:33.3333333333%}.eps-grid-item-xs-5{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:41.6666666667%;-ms-flex-preferred-size:41.6666666667%;flex-basis:41.6666666667%}.eps-grid-item-xs-6{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:50%;-ms-flex-preferred-size:50%;flex-basis:50%}.eps-grid-item-xs-7{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:58.3333333333%;-ms-flex-preferred-size:58.3333333333%;flex-basis:58.3333333333%}.eps-grid-item-xs-8{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:66.6666666667%;-ms-flex-preferred-size:66.6666666667%;flex-basis:66.6666666667%}.eps-grid-item-xs-9{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:75%;-ms-flex-preferred-size:75%;flex-basis:75%}.eps-grid-item-xs-10{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:83.3333333333%;-ms-flex-preferred-size:83.3333333333%;flex-basis:83.3333333333%}.eps-grid-item-xs-11{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:91.6666666667%;-ms-flex-preferred-size:91.6666666667%;flex-basis:91.6666666667%}.eps-grid-item-xs-12{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:100%;-ms-flex-preferred-size:100%;flex-basis:100%}@media screen and (min-width:480px){.eps-grid-item-sm-1{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:8.3333333333%;-ms-flex-preferred-size:8.3333333333%;flex-basis:8.3333333333%}.eps-grid-item-sm-2{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:16.6666666667%;-ms-flex-preferred-size:16.6666666667%;flex-basis:16.6666666667%}.eps-grid-item-sm-3{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:25%;-ms-flex-preferred-size:25%;flex-basis:25%}.eps-grid-item-sm-4{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:33.3333333333%;-ms-flex-preferred-size:33.3333333333%;flex-basis:33.3333333333%}.eps-grid-item-sm-5{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:41.6666666667%;-ms-flex-preferred-size:41.6666666667%;flex-basis:41.6666666667%}.eps-grid-item-sm-6{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:50%;-ms-flex-preferred-size:50%;flex-basis:50%}.eps-grid-item-sm-7{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:58.3333333333%;-ms-flex-preferred-size:58.3333333333%;flex-basis:58.3333333333%}.eps-grid-item-sm-8{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:66.6666666667%;-ms-flex-preferred-size:66.6666666667%;flex-basis:66.6666666667%}.eps-grid-item-sm-9{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:75%;-ms-flex-preferred-size:75%;flex-basis:75%}.eps-grid-item-sm-10{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:83.3333333333%;-ms-flex-preferred-size:83.3333333333%;flex-basis:83.3333333333%}.eps-grid-item-sm-11{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:91.6666666667%;-ms-flex-preferred-size:91.6666666667%;flex-basis:91.6666666667%}.eps-grid-item-sm-12{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:100%;-ms-flex-preferred-size:100%;flex-basis:100%}}@media screen and (min-width:768px){.eps-grid-item-md-1{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:8.3333333333%;-ms-flex-preferred-size:8.3333333333%;flex-basis:8.3333333333%}.eps-grid-item-md-2{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:16.6666666667%;-ms-flex-preferred-size:16.6666666667%;flex-basis:16.6666666667%}.eps-grid-item-md-3{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:25%;-ms-flex-preferred-size:25%;flex-basis:25%}.eps-grid-item-md-4{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:33.3333333333%;-ms-flex-preferred-size:33.3333333333%;flex-basis:33.3333333333%}.eps-grid-item-md-5{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:41.6666666667%;-ms-flex-preferred-size:41.6666666667%;flex-basis:41.6666666667%}.eps-grid-item-md-6{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:50%;-ms-flex-preferred-size:50%;flex-basis:50%}.eps-grid-item-md-7{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:58.3333333333%;-ms-flex-preferred-size:58.3333333333%;flex-basis:58.3333333333%}.eps-grid-item-md-8{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:66.6666666667%;-ms-flex-preferred-size:66.6666666667%;flex-basis:66.6666666667%}.eps-grid-item-md-9{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:75%;-ms-flex-preferred-size:75%;flex-basis:75%}.eps-grid-item-md-10{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:83.3333333333%;-ms-flex-preferred-size:83.3333333333%;flex-basis:83.3333333333%}.eps-grid-item-md-11{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:91.6666666667%;-ms-flex-preferred-size:91.6666666667%;flex-basis:91.6666666667%}.eps-grid-item-md-12{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:100%;-ms-flex-preferred-size:100%;flex-basis:100%}}@media screen and (min-width:1025px){.eps-grid-item-lg-1{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:8.3333333333%;-ms-flex-preferred-size:8.3333333333%;flex-basis:8.3333333333%}.eps-grid-item-lg-2{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:16.6666666667%;-ms-flex-preferred-size:16.6666666667%;flex-basis:16.6666666667%}.eps-grid-item-lg-3{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:25%;-ms-flex-preferred-size:25%;flex-basis:25%}.eps-grid-item-lg-4{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:33.3333333333%;-ms-flex-preferred-size:33.3333333333%;flex-basis:33.3333333333%}.eps-grid-item-lg-5{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:41.6666666667%;-ms-flex-preferred-size:41.6666666667%;flex-basis:41.6666666667%}.eps-grid-item-lg-6{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:50%;-ms-flex-preferred-size:50%;flex-basis:50%}.eps-grid-item-lg-7{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:58.3333333333%;-ms-flex-preferred-size:58.3333333333%;flex-basis:58.3333333333%}.eps-grid-item-lg-8{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:66.6666666667%;-ms-flex-preferred-size:66.6666666667%;flex-basis:66.6666666667%}.eps-grid-item-lg-9{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:75%;-ms-flex-preferred-size:75%;flex-basis:75%}.eps-grid-item-lg-10{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:83.3333333333%;-ms-flex-preferred-size:83.3333333333%;flex-basis:83.3333333333%}.eps-grid-item-lg-11{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:91.6666666667%;-ms-flex-preferred-size:91.6666666667%;flex-basis:91.6666666667%}.eps-grid-item-lg-12{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:100%;-ms-flex-preferred-size:100%;flex-basis:100%}}@media screen and (min-width:1440px){.eps-grid-item-xl-1{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:8.3333333333%;-ms-flex-preferred-size:8.3333333333%;flex-basis:8.3333333333%}.eps-grid-item-xl-2{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:16.6666666667%;-ms-flex-preferred-size:16.6666666667%;flex-basis:16.6666666667%}.eps-grid-item-xl-3{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:25%;-ms-flex-preferred-size:25%;flex-basis:25%}.eps-grid-item-xl-4{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:33.3333333333%;-ms-flex-preferred-size:33.3333333333%;flex-basis:33.3333333333%}.eps-grid-item-xl-5{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:41.6666666667%;-ms-flex-preferred-size:41.6666666667%;flex-basis:41.6666666667%}.eps-grid-item-xl-6{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:50%;-ms-flex-preferred-size:50%;flex-basis:50%}.eps-grid-item-xl-7{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:58.3333333333%;-ms-flex-preferred-size:58.3333333333%;flex-basis:58.3333333333%}.eps-grid-item-xl-8{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:66.6666666667%;-ms-flex-preferred-size:66.6666666667%;flex-basis:66.6666666667%}.eps-grid-item-xl-9{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:75%;-ms-flex-preferred-size:75%;flex-basis:75%}.eps-grid-item-xl-10{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:83.3333333333%;-ms-flex-preferred-size:83.3333333333%;flex-basis:83.3333333333%}.eps-grid-item-xl-11{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:91.6666666667%;-ms-flex-preferred-size:91.6666666667%;flex-basis:91.6666666667%}.eps-grid-item-xl-12{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:100%;-ms-flex-preferred-size:100%;flex-basis:100%}}@media screen and (min-width:1600px){.eps-grid-item-xxl-1{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:8.3333333333%;-ms-flex-preferred-size:8.3333333333%;flex-basis:8.3333333333%}.eps-grid-item-xxl-2{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:16.6666666667%;-ms-flex-preferred-size:16.6666666667%;flex-basis:16.6666666667%}.eps-grid-item-xxl-3{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:25%;-ms-flex-preferred-size:25%;flex-basis:25%}.eps-grid-item-xxl-4{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:33.3333333333%;-ms-flex-preferred-size:33.3333333333%;flex-basis:33.3333333333%}.eps-grid-item-xxl-5{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:41.6666666667%;-ms-flex-preferred-size:41.6666666667%;flex-basis:41.6666666667%}.eps-grid-item-xxl-6{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:50%;-ms-flex-preferred-size:50%;flex-basis:50%}.eps-grid-item-xxl-7{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:58.3333333333%;-ms-flex-preferred-size:58.3333333333%;flex-basis:58.3333333333%}.eps-grid-item-xxl-8{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:66.6666666667%;-ms-flex-preferred-size:66.6666666667%;flex-basis:66.6666666667%}.eps-grid-item-xxl-9{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:75%;-ms-flex-preferred-size:75%;flex-basis:75%}.eps-grid-item-xxl-10{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:83.3333333333%;-ms-flex-preferred-size:83.3333333333%;flex-basis:83.3333333333%}.eps-grid-item-xxl-11{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:91.6666666667%;-ms-flex-preferred-size:91.6666666667%;flex-basis:91.6666666667%}.eps-grid-item-xxl-12{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:100%;-ms-flex-preferred-size:100%;flex-basis:100%}}.eps-theme-dark,:root{--menu-title-color:#6d7882}.eps-menu ul{list-style:none;padding:0;margin:0}.eps-menu ul li{display:-webkit-box;display:-ms-flexbox;display:flex}.eps-menu__title{padding:.5rem 1.875rem;font-size:.6875rem;line-height:1.2;text-transform:uppercase;font-weight:400;color:var(--menu-title-color)}:root{--eps-modal-background-color:#fff;--eps-modal-header-background-color:#58d0f5}.eps-theme-dark{--eps-modal-background-color:#34383c;--eps-modal-header-background-color:#58d0f5}.eps-modal{max-width:43.75rem;background:var(--eps-modal-background-color);border-radius:.1875rem;-webkit-animation:eps-animation-pop .15s cubic-bezier(.57,.53,.71,1.47) forwards;animation:eps-animation-pop .15s cubic-bezier(.57,.53,.71,1.47) forwards}.eps-modal__overlay{background:rgba(0,0,0,.5);position:fixed;display:-webkit-box;display:-ms-flexbox;display:flex;top:0;left:0;width:100%;height:100%;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;z-index:1030}.eps-modal__header{font-size:.875rem;background:var(--eps-modal-header-background-color);height:2.75rem;padding:.625rem 1rem;border-radius:.1875rem}.eps-modal__header,.eps-modal__header .title{color:#fff}.eps-modal__icon{-webkit-margin-end:.625rem;margin-inline-end:.625rem}.eps-modal__body{padding:1.875rem}.eps-modal .eps-tip,.eps-modal__tip{-webkit-padding-start:.75rem;padding-inline-start:.75rem;-webkit-border-start:3px solid #58d0f5;border-inline-start:3px solid #58d0f5}.eps-modal .eps-tip:not(:last-child),.eps-modal__tip:not(:last-child){margin-bottom:1.875rem}.eps-modal .eps-tip:not(:first-child),.eps-modal__section:not(:first-child),.eps-modal__tip:not(:first-child){margin-top:1.875rem}.eps-modal__close-wrapper{-webkit-padding-start:1rem;padding-inline-start:1rem;-webkit-border-start:solid 1px #fff;border-inline-start:solid 1px #fff}.eps-add-new-button{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;--eps-add-new-button-size:1.5rem;line-height:var(--eps-add-new-button-size);cursor:pointer}.eps-add-new-button .eps-icon{background-color:#58d0f5;color:#fff;width:var(--eps-add-new-button-size);height:var(--eps-add-new-button-size);border-radius:100%;font-size:calc(var(--eps-add-new-button-size) * .75);text-align:center;line-height:var(--eps-add-new-button-size)}.eps-add-new-button span:not(.sr-only){-webkit-margin-start:.625rem;margin-inline-start:.625rem;font-weight:500}.eps-add-new-button--sm{--eps-add-new-button-size:1rem}:root{--select2-selection-background-color:#fff;--select2-selection-color:#6d7882;--select2-selection-border-color:#d5dadf;--select2-selection-opened-focused-border-color:#f1f3f5;--select2-single-selection-rendered-color:#6d7882;--select2-default-single-selection-background-color:#fff;--select2-default-single-selection-border-color:#d5dadf;--select2-default-multiple-selection-background-color:#fff;--select2-default-multiple-selection-choice-background-color:#f1f3f5;--select2-default-multiple-selection-choice-color:#6d7882;--select2-default-multiple-selection-choice-border-color:#f1f3f5;--select2-default-multiple-selection-choice-remove-color:#a4afb7;--select2-default-multiple-selection-choice-remove-hover-color:#6d7882;--select2-default-results-selected-option-background-color:#fff;--select2-default-results-selected-option-color:#6d7882;--select2-default-results-highlighted-option-background-color:#5897fb;--select2-default-results-highlighted-option-color:#fff;--select2-results-selected-option-background-color:#5897fb;--select2-results-selected-option-color:#fff;--select2-dropdown-background-color:#fff;--select2-dropdown-border-color:#d5dadf}.eps-theme-dark{--select2-selection-background-color:#34383c;--select2-selection-color:#e0e1e3;--select2-selection-border-color:#64666a;--select2-selection-opened-focused-border-color:#7d7e82;--select2-single-selection-rendered-color:#e0e1e3;--select2-default-single-selection-background-color:#34383c;--select2-default-single-selection-border-color:#4c4f56;--select2-default-multiple-selection-background-color:#34383c;--select2-default-multiple-selection-choice-background-color:#4c4f56;--select2-default-multiple-selection-choice-color:#e0e1e3;--select2-default-multiple-selection-choice-border-color:#4c4f56;--select2-default-multiple-selection-choice-remove-color:#b4b5b7;--select2-default-multiple-selection-choice-remove-hover-color:#e0e1e3;--select2-default-results-selected-option-background-color:#34383c;--select2-default-results-selected-option-color:#e0e1e3;--select2-default-results-highlighted-option-background-color:#4c4f56;--select2-default-results-highlighted-option-color:#e0e1e3;--select2-results-selected-option-background-color:#4c4f56;--select2-results-selected-option-color:#e0e1e3;--select2-dropdown-background-color:#34383c;--select2-dropdown-border-color:#64666a}.select2-container:not(.select2-container--open):not(.select2-container--focus) .select2-selection--multiple,.select2-container:not(.select2-container--open):not(.select2-container--focus) .select2-selection--single{background-color:var(--select2-selection-background-color);color:var(--select2-selection-color);border-color:var(--select2-selection-border-color)}.select2-container.select2-container--focus .select2-selection--multiple,.select2-container.select2-container--focus .select2-selection--single,.select2-container.select2-container--open .select2-selection--multiple,.select2-container.select2-container--open .select2-selection--single{border-color:var(--select2-selection-opened-focused-border-color)}.select2-container.select2-container--default .select2-selection--single .select2-selection__rendered{color:var(--select2-single-selection-rendered-color)}.select2-container--default .select2-selection--single{background-color:var(--select2-default-single-selection-background-color);border-color:var(--select2-default-single-selection-border-color)}.select2-container--default .select2-selection--multiple{background-color:var(--select2-default-multiple-selection-background-color)}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:var(--select2-default-multiple-selection-choice-background-color);color:var(--select2-default-multiple-selection-choice-color);border-color:var(--select2-default-multiple-selection-choice-border-color)}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:var(--select2-default-multiple-selection-choice-remove-color)}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:var(--select2-default-multiple-selection-choice-remove-hover-color)}.select2-container--default .select2-results__option[aria-selected]{background-color:var(--select2-default-results-selected-option-background-color);color:var(--select2-default-results-selected-option-color)}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:var(--select2-default-results-highlighted-option-background-color);color:var(--select2-default-results-highlighted-option-color)}.select2-container .select2-results__option[aria-selected=true]{background-color:var(--select2-results-selected-option-background-color);color:var(--select2-results-selected-option-color)}.select2-container .select2-dropdown{background-color:var(--select2-dropdown-background-color);border-color:var(--select2-dropdown-border-color)}.eps-notice{--eps-box-notice-color:#a4afb7;--eps-box-notice-background-color:#fcfcfc;padding:.625rem 1rem;-webkit-box-shadow:0 2px 3px 1px var(--color-box-shadow-color);box-shadow:0 2px 3px 1px var(--color-box-shadow-color);background-color:var(--eps-box-notice-background-color)}.eps-notice-semantic{-webkit-border-start:3px solid var(--eps-notice-semantic-color);border-inline-start:3px solid var(--eps-notice-semantic-color)}.eps-notice-semantic .eps-notice__icon{color:var(--eps-notice-semantic-color);font-size:1rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem}.eps-notice--warning{--eps-notice-semantic-color:#fcb92c}.eps-notice--danger{--eps-notice-semantic-color:#b01b1b}.eps-notice--info{--eps-notice-semantic-color:#58d0f5}.eps-notice__text{margin:0;padding:0;color:var(--eps-box-notice-color);font-style:italic}.eps-notice__button-container{-ms-flex-negative:0;flex-shrink:0;margin-left:1.25rem;width:auto}.eps-theme-dark .eps-notice{--eps-box-notice-color:#b4b5b7;--eps-box-notice-background-color:#404349}.eps-list{--eps-list-item-separated-border-color:#f1f3f5;padding:0;margin:0;list-style-type:none}.eps-list--padding{padding:var(--eps-list-padding)}.eps-list__item{padding:0}.eps-list__item--padding{padding:var(--eps-list-item-padding)}.eps-list--separated .eps-list__item:not(:last-child){border-bottom:1px solid var(--eps-list-item-separated-border-color)}.eps-theme-dark .eps-list{--eps-list-item-separated-border-color:#34383c}:root{--popover-background-color:#fff;--popover-item-color:#6d7882;--popover-item-hover-color:#556068;--popover-item-danger-hover-color:#b01b1b;--popover-item-background-color:#fff;--popover-box-shadow-color:rgba(0,0,0,0.15);--popover-box-shadow-size:0px 1px 20px;--popover-arrow-color:#fff}.eps-theme-dark{--popover-background-color:#4c4f56;--popover-item-color:#fff;--popover-item-hover-color:#e0e1e3;--popover-item-danger-hover-color:#f84343;--popover-item-background-color:#4c4f56;--popover-box-shadow-color:rgba(0,0,0,0.15);--popover-box-shadow-size:0px 1px 20px;--popover-arrow-color:#4c4f56}.eps-popover{padding:10px 0;background-color:var(--popover-background-color);-webkit-box-shadow:var(--popover-box-shadow-size) var(--popover-box-shadow-color);box-shadow:var(--popover-box-shadow-size) var(--popover-box-shadow-color);list-style:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;min-width:120px;border-radius:.1875rem;position:absolute;z-index:1050;margin-top:9px;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);left:.25rem}.eps-popover__background{position:fixed;top:0;bottom:0;left:0;right:0;z-index:1030}.eps-popover__container{position:relative}.eps-popover:before{content:"";display:block;position:absolute;width:16px;height:9px;margin:0 .1875rem 9px;top:-9px;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);border-left:8px solid transparent;border-right:8px solid transparent;border-top:0 solid transparent;border-bottom:9px solid transparent;border-bottom-color:var(--popover-arrow-color)}.eps-popover__item{padding:.3125rem 1rem;background-color:var(--popover-item-background-color);color:var(--popover-item-color);font-size:.6875rem;font-weight:500;line-height:.8125rem;width:100%;-webkit-box-align:center;-ms-flex-align:center;align-items:center;cursor:pointer}.eps-popover__item:hover{color:var(--popover-item-hover-color)}.eps-popover__item--danger:hover{color:var(--popover-item-danger-hover-color)}.eps-popover__item .eps-icon{font-size:inherit;-webkit-margin-end:.3125rem;margin-inline-end:.3125rem}.eps-css-grid{display:grid;grid-template-columns:repeat(var(--eps-grid-columns,auto-fill),minmax(var(--eps-grid-col-min-width,1fr),var(--eps-grid-col-max-width,1fr)));grid-gap:var(--eps-grid-spacing)}.eps-box{--eps-box-background-color:#fff;--eps-box-color:#495157;--eps-box-input-color:#495157;padding:0;border-radius:.1875rem;background-color:var(--eps-box-background-color);color:var(--eps-box-color)}.eps-box--padding{padding:var(--eps-box-padding)}.eps-box>input{width:100%;outline:0;border:0;background-color:var(--eps-box-background-color);color:var(--eps-box-input-color)}.eps-theme-dark .eps-box{--eps-box-background-color:#404349;--eps-box-color:#e0e1e3;--eps-box-input-color:#e0e1e3}:root{--checkbox-border-color:#d5dadf;--checkbox-hover-border-color:#c7cdd4;--checkbox-active-border-color:#e3e7ea;--checkbox-background-color:#fff;--checkbox-checked-background-color:#39b54a;--checkbox-checked-hover-background-color:#33a242;--checkbox-checked-active-background-color:#44c455;--checkbox-checked-disabled-background-color:#c2cbd2;--checkbox-indicator-color:#fff;--checkbox-error-background-color:#b01b1b}.eps-theme-dark{--checkbox-background-color:transparent}.eps-checkbox{-webkit-appearance:none;border-radius:.1875rem;width:15px;height:15px;outline:0;background-color:var(--checkbox-background-color);display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:1px solid var(--checkbox-border-color)}.eps-checkbox:after{display:inline-block;margin-bottom:12.5%;content:" ";width:3px;height:6px;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.eps-checkbox:hover{--checkbox-border-color:var(--checkbox-hover-border-color)}.eps-checkbox:active{--checkbox-border-color:var(--checkbox-active-border-color)}.eps-checkbox:checked{--checkbox-background-color:var(--checkbox-checked-background-color);--checkbox-border-color:var(--checkbox-checked-background-color)}.eps-checkbox:checked:after{border:solid #fff;border-width:0 1px 1px 0}.eps-checkbox:checked:hover{--checkbox-background-color:var(--checkbox-checked-hover-background-color);--checkbox-border-color:var(--checkbox-checked-hover-background-color)}.eps-checkbox:checked:active{--checkbox-background-color:var(--checkbox-checked-active-background-color);--checkbox-border-color:var(--checkbox-checked-active-background-color)}.eps-checkbox:checked:disabled{--checkbox-background-color:var(--checkbox-checked-disabled-background-color);--checkbox-border-color:var(--checkbox-checked-disabled-background-color)}.eps-checkbox--rounded{border-radius:50%}.eps-checkbox--indeterminate{--checkbox-background-color:var(--checkbox-checked-background-color);--checkbox-border-color:var(--checkbox-checked-background-color)}.eps-checkbox--indeterminate:after{display:inline-block;margin-bottom:0;content:" ";width:7px;height:0;-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg);border-top:1px solid #fff}.eps-checkbox--error:after,.eps-checkbox--error:before,.eps-checkbox--error:checked:after,.eps-checkbox--error:checked:before{display:inline-block;margin-bottom:0;content:" ";width:7px;height:0;border:solid #fff;border-width:1px 0 0;position:absolute}.eps-checkbox--error:before,.eps-checkbox--error:checked:before{-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.eps-checkbox--error:after,.eps-checkbox--error:checked:after{-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg)}.eps-checkbox--error,.eps-checkbox--error:checked,.eps-checkbox--error:checked:hover,.eps-checkbox--error:hover{--checkbox-background-color:var(--checkbox-error-background-color);--checkbox-border-color:var(--checkbox-error-background-color)}:root{--e-app-drag-drop-background-color:#fff;--e-app-drag-drop-outline-color:#d5dadf}.eps-theme-dark{--e-app-drag-drop-background-color:#404349;--e-app-drag-drop-outline-color:#7d7e82}.e-app-drag-drop{background-color:var(--e-app-drag-drop-background-color);outline:2px dashed var(--e-app-drag-drop-outline-color);outline-offset:-.75rem;margin-bottom:1.5rem;padding:4.125rem;text-align:center}.e-app-drag-drop--drag-over{outline-color:#58d0f5}.eps-dialog{border-radius:3px;width:375px}.eps-dialog__close-button{position:absolute;top:-2.75rem;right:-2.75rem;margin-top:.625rem;margin-right:.625rem;z-index:1040;font-size:1.25rem;color:#fff}.eps-dialog__content{padding:1.5rem 1.875rem 1rem;font-size:.75rem}.eps-dialog__text,.eps-dialog__title{text-align:center}.eps-dialog__buttons{display:-webkit-box;display:-ms-flexbox;display:flex}.eps-dialog__button{-webkit-box-flex:1;-ms-flex:1;flex:1;border-top:1px solid var(--hr-color);line-height:2.75rem;text-align:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.eps-dialog__button:last-child:not(:first-child){-webkit-border-start:1px solid var(--hr-color);border-inline-start:1px solid var(--hr-color)}.e-app__popover{display:none;position:absolute;-webkit-box-shadow:0 2px 15px rgba(0,0,0,.3);box-shadow:0 2px 15px rgba(0,0,0,.3);border-radius:6px;padding:20px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;z-index:999;background-color:#fff}.e-app__popover:before{content:"";position:absolute;top:-16px;right:var(--popover-arrow-offset-end,22px);border:8px solid transparent;border-bottom-color:#fff}.eps-inline-link{color:var(--eps-inline-link-color);background-color:initial;border:0;padding:0}.eps-inline-link--color-primary{--eps-inline-link-color:#39b54a}.eps-inline-link--color-secondary{--eps-inline-link-color:#c2cbd2}.eps-inline-link--color-danger{--eps-inline-link-color:#b01b1b}.eps-inline-link--color-cta{--eps-inline-link-color:#93003f}.eps-inline-link--color-link{--eps-inline-link-color:#58d0f5}.eps-inline-link--color-disabled{--eps-inline-link-color:#c2cbd2}.eps-inline-link--underline-always,.eps-inline-link--underline-always:hover,.eps-inline-link--underline-hover:hover{text-decoration:underline}.eps-inline-link--italic{font-style:italic}.eps-inline-link,.eps-inline-link:focus{outline:none}.eps-text-field{--eps-text-field-color:#6d7882;--eps-text-field-background-color:#fff;--eps-text-field-placeholder-color:#a4afb7;--eps-text-field-outlined-border-color:#d5dadf;--eps-text-field-outlined-focus-border-color:#c2cbd2;width:100%;color:var(--eps-text-field-color);background-color:var(--eps-text-field-background-color);border:0;outline:none;font-family:Roboto,Arial,Helvetica,Verdana,sans-serif;font-size:.875rem;font-weight:400;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.eps-text-field--outlined{border-radius:.1875rem;border:1px solid var(--eps-text-field-outlined-border-color);padding:.625rem}.eps-text-field--outlined:focus{border-color:var(--eps-text-field-outlined-focus-border-color)}.eps-text-field::-webkit-input-placeholder{color:var(--eps-text-field-placeholder-color);font-family:Roboto,Arial,Helvetica,Verdana,sans-serif;font-size:.875rem;font-weight:400;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.eps-text-field::-moz-placeholder{color:var(--eps-text-field-placeholder-color);font-family:Roboto,Arial,Helvetica,Verdana,sans-serif;font-size:.875rem;font-weight:400;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.eps-text-field::-ms-input-placeholder{color:var(--eps-text-field-placeholder-color);font-family:Roboto,Arial,Helvetica,Verdana,sans-serif;font-size:.875rem;font-weight:400;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.eps-text-field::placeholder{color:var(--eps-text-field-placeholder-color);font-family:Roboto,Arial,Helvetica,Verdana,sans-serif;font-size:.875rem;font-weight:400;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.eps-theme-dark .eps-text-field{--eps-text-field-color:#b4b5b7;--eps-text-field-background-color:#34383c;--eps-text-field-placeholder-color:#7d7e82;--eps-text-field-outlined-border-color:#64666a;--eps-text-field-outlined-focus-border-color:#7d7e82}.e-app-import-export-content-layout{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;height:100%}.e-app-import-export-content-layout__container{-ms-flex-preferred-size:1075px;flex-basis:1075px}.e-app-export-complete__kit-content-title{margin:2.75rem 0 .625rem}.e-app-export-kit-content{--e-app-export-kit-content-title-color:#556068;--e-app-export-kit-content-description-color:#6d7882}.e-app-export-kit-content__checkbox{-ms-flex-negative:0;flex-shrink:0;-webkit-margin-end:.75rem;margin-inline-end:.75rem}.e-app-export-kit-content__title{color:var(--e-app-export-kit-content-title-color)}.e-app-export-kit-content__description{color:var(--e-app-export-kit-content-description-color);-webkit-margin-end:1.25rem;margin-inline-end:1.25rem}.e-app-export-kit-content__notice{margin-top:1rem}.e-app-export-kit-content__small-notice{font-style:italic;color:var(--e-app-export-kit-content-description-color)}.eps-theme-dark .e-app-export-kit-content{--e-app-export-kit-content-title-color:#e0e1e3;--e-app-export-kit-content-description-color:#b4b5b7}.e-app-import-export-kit-data{--e-app-import-export-kit-data-site-area-color:#556068;--e-app-import-export-kit-data-included-color:#a4afb7}.e-app-import-export-kit-data__included,.e-app-import-export-kit-data__site-area{margin-bottom:0}.e-app-import-export-kit-data__site-area{color:var(--e-app-import-export-kit-data-site-area-color);font-weight:700}.e-app-import-export-kit-data__included{color:var(--e-app-import-export-kit-data-included-color)}.eps-theme-dark .e-app-import-export-kit-data{--e-app-import-export-kit-data-site-area-color:#b4b5b7;--e-app-import-export-kit-data-included-color:#7d7e82}.e-app-import-resolver{--e-app-import-resolver-panel-header-background-color:#fff;--e-app-import-resolver-panel-body-background-color:hsla(0,0%,100%,0.5);--e-app-import-resolver-conflicts-asset-border-color:#c2cbd2;--e-app-import-resolver-conflicts-asset-inactive-color:#a4afb7;padding-bottom:1.25rem}.e-app-import-resolver__notice{margin-bottom:1.25rem}.e-app-import-resolver__panel,.e-app-import-resolver__panel:hover{background-color:initial}.e-app-import-resolver__panel-header{background-color:var(--e-app-import-resolver-panel-header-background-color)}.e-app-import-resolver__panel-body{background-color:var(--e-app-import-resolver-panel-body-background-color)}.e-app-import-resolver-conflicts__container{-webkit-box-shadow:0 2px 3px 1px var(--color-box-shadow-color);box-shadow:0 2px 3px 1px var(--color-box-shadow-color)}.e-app-import-resolver-conflicts__checkbox{-ms-flex-negative:0;flex-shrink:0;-webkit-margin-end:.75rem;margin-inline-end:.75rem}.e-app-import-resolver-conflicts__title{line-height:1}.e-app-import-resolver-conflicts__asset:not(:first-child){-webkit-border-start:2px solid var(--e-app-import-resolver-conflicts-asset-border-color);border-inline-start:2px solid var(--e-app-import-resolver-conflicts-asset-border-color);-webkit-padding-start:1rem;padding-inline-start:1rem;-webkit-margin-start:1rem;margin-inline-start:1rem}.e-app-import-resolver-conflicts__asset:not(.active){color:var(--e-app-import-resolver-conflicts-asset-inactive-color)}.e-app-import-resolver-conflicts__edit-template{-webkit-margin-start:.3125rem;margin-inline-start:.3125rem}.eps-theme-dark .e-app-import-resolver{--e-app-import-resolver-panel-header-background-color:#4c4f56;--e-app-import-resolver-panel-body-background-color:rgba(0,0,0,0.05);--e-app-import-resolver-conflicts-asset-border-color:#64666a;--e-app-import-resolver-conflicts-asset-inactive-color:#7d7e82}.eps-panel{--eps-panel-header-background-color:#fff;--eps-panel-body-background-color:hsla(0,0%,100%,0.5)}.eps-panel,.eps-panel:hover{background-color:initial}.eps-panel__header{background-color:var(--eps-panel-header-background-color);border-radius:.1875rem}.eps-panel__body{background-color:var(--eps-panel-body-background-color);border-radius:0 0 .1875rem .1875rem}.eps-theme-dark .eps-panel{--eps-panel-header-background-color:#404349;--eps-panel-body-background-color:rgba(64,67,73,0.5)}.e-app-export-kit{padding-bottom:1.25rem}.e-app-export-kit-information{margin-top:1.25rem}.e-app-export-kit-information__field-header{margin-bottom:.625rem}.e-app-export-kit-information__label{margin:0}.e-app-export-kit-information__info-icon{-webkit-margin-start:.625rem;margin-inline-start:.625rem}.e-app-export-kit-info-modal__icon{-webkit-padding-start:.625rem;padding-inline-start:.625rem}.e-app-export-kit-info-modal__heading{margin-bottom:1.25rem}.e-app-import-export-info-modal__section:not(:first-child){margin-top:1.875rem}.e-app-import-export-info-modal__heading{margin-bottom:1.25rem}:root{--eps-badge-background-color:#fff}.eps-theme-dark{--eps-badge-background-color:#404349}.eps-badge{display:inline-block;background:var(--eps-badge-background-color);padding:0 .5rem;line-height:1.8;-webkit-box-shadow:0 3px 6px var(--color-box-shadow-color);box-shadow:0 3px 6px var(--color-box-shadow-color);border-radius:4px;font-size:.75rem}.eps-badge--sm{font-size:.625rem;border-radius:3px;padding:0 .3125rem;line-height:1.5}.eps-collapse__title{cursor:pointer;padding:.3125rem 0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;width:100%;background:transparent;border:none;color:inherit}.eps-collapse__title:focus{outline:none}.eps-collapse__icon{-webkit-transition:all .15s;-o-transition:all .15s;transition:all .15s;-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg)}.eps-collapse__content{margin-top:.625rem;display:none}.eps-collapse[data-open] .eps-collapse__content{display:block}.eps-collapse[data-open] .eps-collapse__icon{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.e-kit-library-bottom-promotion{--e-kit-library-bottom-promotion-color:tints(600)}.eps-theme-dark .e-kit-library-bottom-promotion{--e-kit-library-bottom-promotion-color:dark-tints(400)}.e-kit-library-bottom-promotion{width:100%;text-align:center;margin-top:1.875rem;color:var(--e-kit-library-bottom-promotion-color)}.e-kit-library__error-screen{margin-top:2.75rem}.e-kit-library__error-screen-title{margin-top:2.75rem;margin-bottom:0}.e-kit-library__error-screen-description{margin-top:1.5rem;color:#a4afb7;text-align:center;max-width:520px}.e-kit-library__kit-favorite-actions{padding:.3125rem;-webkit-transition:all .3s;-o-transition:.3s all;transition:all .3s;border-radius:4px}.e-kit-library__kit-favorite-actions--active{color:#b01b1b}.e-kit-library__kit-favorite-actions--loading{opacity:1%;cursor:default}.e-kit-library__kit-favorite-actions:hover{background-color:rgba(176,27,27,.1)}.e-kit-library__filter-indication{margin-top:1.5rem}.e-kit-library__filter-indication,.e-kit-library__filter-indication-text{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.e-kit-library__filter-indication-text{margin-bottom:0}.e-kit-library__filter-indication-badge{margin-left:.3125rem;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.e-kit-library__filter-indication-badge-remove{margin-left:.3125rem;font-size:.875rem}.e-kit-library__filter-indication-button{margin-left:1.5rem}#eps-app-header-btn-apply,#eps-app-header-btn-connect,#eps-app-header-btn-promotion{margin-left:.625rem;margin-right:.625rem}.e-kit-library__apply-button{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:.3125rem}.e-kit-library__kit-item{--e-kit-library-kit-item-overlay-promotion-button-background-color:#fcfcfc}.eps-theme-dark .e-kit-library__kit-item{--e-kit-library-kit-item-overlay-promotion-button-background-color:#404349}.e-kit-library__kit-item-overlay{height:100%}.e-kit-library__kit-item-overlay>:first-child{-webkit-box-flex:1;-ms-flex:1;flex:1}.e-kit-library__kit-item-overlay-overview-button{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;color:#fff;height:100%;width:100%}.e-kit-library__kit-item-overlay-overview-button>i{font-size:2rem;margin-bottom:5px}.e-kit-library__kit-item-overlay-overview-button>span{font-size:.9rem}.e-kit-library__kit-item-overlay-promotion-button{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;background:#fff;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:10px;font-size:13px;color:#93003f;background:var(--e-kit-library-kit-item-overlay-promotion-button-background-color)}.e-kit-library__kit-item-overlay-promotion-button>*{margin:0 3px}.e-kit-library__kit-item-subscription-plan-badge{position:absolute;top:0;right:0;margin:.3125rem;color:#fff;text-transform:uppercase}:root{--e-kit-library-header-back-border:1px solid #f1f3f5;--e-kit-library-header-back-color:#a4afb7}.eps-theme-dark{--e-kit-library-header-back-border:1px solid #64666a;--e-kit-library-header-back-color:#b4b5b7}.e-kit-library__header-back{color:var(--e-kit-library-header-back-color);padding-right:1.25rem;padding-left:.3125rem;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:100%;border-right:var(--e-kit-library-header-back-border)}.e-kit-library__header-back-container{-webkit-box-flex:1;-ms-flex:1;flex:1;height:100%}.e-kit-library__header-back .eps-icon{-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg)}.e-kit-library__page-loader{width:100%;height:100%;display:grid;place-items:center;font-size:1.85rem;color:#a4afb7}.eps-search-input{--eps-search-input-background-color:#fcfcfc;--eps-search-input-background-color-focus:#fff;--eps-search-input-color:#556068;--eps-search-input-placeholder-color:#a4afb7}.eps-theme-dark .eps-search-input{--eps-search-input-background-color:#404349;--eps-search-input-background-color-focus:#4c4f56;--eps-search-input-color:#b4b5b7;--eps-search-input-placeholder-color:#b4b5b7}.eps-search-input{width:100%;font-size:.9375rem;padding:.625rem 2.75rem;border:none;background:var(--eps-search-input-background-color);outline:none;color:var(--eps-search-input-color);line-height:1;height:2.75rem}.eps-search-input--sm{font-size:.8125rem;padding:.5rem 1.875rem}.eps-search-input:focus{background:var(--eps-search-input-background-color-focus)}.eps-search-input::-webkit-input-placeholder{color:var(--eps-search-input-placeholder-color);font-style:italic}.eps-search-input::-moz-placeholder{color:var(--eps-search-input-placeholder-color);font-style:italic}.eps-search-input::-ms-input-placeholder{color:var(--eps-search-input-placeholder-color);font-style:italic}.eps-search-input::placeholder{color:var(--eps-search-input-placeholder-color);font-style:italic}.eps-search-input__container{position:relative}.eps-search-input__icon{font-size:1.25rem;padding:.625rem;color:#a4afb7;position:absolute;top:0;inset-inline-start:0;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.eps-search-input__icon--sm{font-size:.75rem}.eps-search-input__clear-icon{font-size:.875rem;padding:.625rem;color:#a4afb7;position:absolute;top:0;right:0;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.eps-search-input__clear-icon--sm{font-size:.6875rem}:root{--eps-sort-select-select-background-color:#fcfcfc;--eps-sort-select-select-color:#556068;--eps-sort-select-button-background-color:#fcfcfc;--eps-sort-select-button-border:1px solid #f1f3f5}.eps-theme-dark{--eps-sort-select-select-background-color:#404349;--eps-sort-select-select-color:#b4b5b7;--eps-sort-select-button-background-color:#404349;--eps-sort-select-button-border:1px solid #26292c}.eps-sort-select{width:100%;font-size:.9375rem;display:-webkit-box;display:-ms-flexbox;display:flex}.eps-sort-select__select-wrapper{-webkit-box-flex:1;-ms-flex:1;flex:1;position:relative}.eps-sort-select__select-wrapper:after{content:"\e8ad";font-family:eicons;position:absolute;right:.625rem;top:0;bottom:0;color:#a4afb7;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;pointer-events:none}.eps-sort-select__select{width:100%;padding:.625rem;border:none;background:var(--eps-sort-select-select-background-color);outline:none;color:var(--eps-sort-select-select-color);line-height:1;cursor:pointer;height:2.75rem;-moz-appearance:none;appearance:none;-webkit-appearance:none;border-radius:0}.eps-sort-select__button{padding:.75rem;background:var(--eps-sort-select-button-background-color);border-left:var(--eps-sort-select-button-border);line-height:1;color:#a4afb7}.e-kit-library__tags-filter{--e-kit-library-tags-filter-list-search-background-color:#fff}.eps-theme-dark .e-kit-library__tags-filter{--e-kit-library-tags-filter-list-search-background-color:#404349}.e-kit-library__tags-filter{margin-top:2.75rem}.e-kit-library__tags-filter-list{margin-bottom:2.75rem}.e-kit-library__tags-filter-list .eps-collapse__title{padding-right:1.875rem;padding-left:1.875rem;text-transform:uppercase}.e-kit-library__tags-filter-list .eps-collapse__content{margin:.3125rem 1.875rem}.e-kit-library__tags-filter-list-container{max-height:250px;overflow:auto}.e-kit-library__tags-filter-list-search{margin-bottom:.625rem}.e-kit-library__tags-filter-list-search .eps-search-input{background:var(--e-kit-library-tags-filter-list-search-background-color)}.e-kit-library__tags-filter-list-item{padding:.625rem 0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-weight:500}.e-kit-library__tags-filter-list-item input{margin-right:.3125rem}.e-kit-library #eps-app-header-btn-refetch{padding:0}.e-kit-library-header-info-modal-container{margin-bottom:2.75rem}.e-kit-library__tooltip{padding:5px 12px;color:#fff;background-color:#26292c;font-size:10px}.e-kit-library__tooltip:before{border-bottom-color:#26292c}.e-kit-library__index-layout-container{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;overflow-y:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.e-kit-library__index-layout-top-area{padding:1.875rem 2.75rem;position:sticky;top:-1px;width:100%;z-index:2;background-color:var(--app-background-color);gap:1.5rem}.e-kit-library__index-layout-top-area-search,.e-kit-library__index-layout-top-area-sort{min-width:265px}.e-kit-library__index-layout-top-area-search{-webkit-box-flex:1;-ms-flex:1;flex:1}.e-kit-library__index-layout-main{padding-top:0;padding-bottom:1.5rem;overflow-y:hidden;height:auto;-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.e-kit-library__tags-filter{--e-kit-library-item-sidebar-header-title-color:#6d7882;--e-kit-library-item-sidebar-description-color:#6d7882;--e-kit-library-item-information-text-color:#6d7882}.eps-theme-dark .e-kit-library__tags-filter{--e-kit-library-item-sidebar-header-title-color:#b4b5b7;--e-kit-library-item-sidebar-description-color:#b4b5b7;--e-kit-library-item-information-text-color:#b4b5b7}.e-kit-library__item-sidebar{padding:1.5rem 1.875rem}.e-kit-library__item-sidebar-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.e-kit-library__item-sidebar-header-title{color:var(--e-kit-library-item-sidebar-header-title-color);margin-bottom:0}.e-kit-library__item-sidebar-thumbnail{margin-top:1.5rem;-webkit-box-shadow:0 4px 10px var(--color-box-shadow-color);box-shadow:0 4px 10px var(--color-box-shadow-color)}.e-kit-library__item-sidebar-description{margin-top:1.5rem;color:var(--e-kit-library-item-sidebar-description-color)}.e-kit-library__item-sidebar-collapse-tags{margin-top:2.75rem}.e-kit-library__item-sidebar-collapse-info{margin-top:1.875rem}.e-kit-library__item-sidebar-tags-container{gap:.625rem}.e-kit-library__item-information-text{font-size:.8125rem;color:var(--e-kit-library-item-information-text-color);margin-bottom:.3125rem}.e-kit-library{--e-kit-library-content-overview-group-title-color:#6d7882}.eps-theme-dark .e-kit-library{--e-kit-library-content-overview-group-title-color:#b4b5b7}.e-kit-library__content-overview-group-item{margin-bottom:2.75rem}.e-kit-library__content-overview-group-title{margin-bottom:1.875rem;color:var(--e-kit-library-content-overview-group-title-color)}.e-kit-library__preview-responsive-controls{width:auto}.e-kit-library__preview-responsive-controls-item{margin:0 .3125rem;color:#a4afb7;padding:.3125rem}.e-kit-library__preview-responsive-controls-item:hover{background:rgba(88,208,245,.1);border-radius:3px;-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s}.e-kit-library__preview-responsive-controls-item--active{color:#58d0f5}.e-kit-library__preview-loader{position:absolute;top:0;left:0;z-index:0}.e-kit-library__preview-iframe{border:none;-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s;-webkit-box-shadow:0 4px 10px var(--color-box-shadow-color);box-shadow:0 4px 10px var(--color-box-shadow-color)}.e-kit-library__preview-iframe-container{overflow-y:auto;position:relative;z-index:1}.e-app-collapse{--e-app-collapse-icon-color:#6d7882}.e-app-collapse-toggle{position:relative}.e-app-collapse-toggle--active{cursor:pointer}.e-app-collapse-toggle__icon{color:var(--e-app-collapse-icon-color);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:.875rem;position:absolute;top:50%;right:var(--e-app-collapse-toggle-icon-spacing);-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.e-app-collapse-toggle__icon:before{-webkit-transition:all .2s linear;-o-transition:all .2s linear;transition:all .2s linear}.e-app-collapse-content{display:none}.e-app-collapse--opened .e-app-collapse-toggle__icon:before{-webkit-transform:rotate(-180deg);-ms-transform:rotate(-180deg);transform:rotate(-180deg)}.e-app-collapse--opened .e-app-collapse-content{display:block}[dir=rtl] .e-app-collapse-toggle__icon{right:auto;left:var(--e-app-collapse-toggle-icon-spacing)}.eps-theme-dark .e-app-collapse{--e-app-collapse-icon-color:#b4b5b7}.e-app-import-plugins{--e-app-import-plugins-selection-section-heading-color:#6d7882;padding-bottom:1.5rem}.e-app-import-plugins__section{margin-top:1.875rem}.e-app-import-plugins__section-heading{color:var(--e-app-import-plugins-selection-section-heading-color);margin-bottom:1rem}.e-app-import-plugins__versions-notice{margin-bottom:.75rem}.eps-theme-dark .e-app-import-plugins{--e-app-import-plugins-selection-section-heading-color:#b4b5b7}.eps-table{--eps-table-body-color:#556068;--eps-table-body-background-color:#fff;border-spacing:0 2px;table-layout:fixed;width:100%}.eps-table__checkboxes-column{width:1.875rem}.eps-table__checkbox{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-negative:0;flex-shrink:0}.eps-table__cell{padding:1rem}.eps-table__head .eps-table__cell{text-align:start}.eps-table__body .eps-table__row{background-color:var(--eps-table-body-background-color)}.eps-table__body .eps-table__cell:first-child{border-radius:.1875rem 0 0 .1875rem}.eps-table__body .eps-table__cell:last-child{border-radius:0 .1875rem .1875rem 0}.eps-table--selection .eps-table__cell:first-child{-webkit-padding-end:0;padding-inline-end:0}.eps-theme-dark .eps-table{--eps-table-body-color:#b4b5b7;--eps-table-body-background-color:#404349}[dir=rtl] .eps-table__body [dir=rtl] .eps-table__cell:first-child{border-radius:0 .1875rem .1875rem 0}[dir=rtl] .eps-table__body [dir=rtl] .eps-table__cell:last-child{border-radius:.1875rem 0 0 .1875rem}.e-app-import-plugins-pro-banner{--e-app-import-plugins-pro-banner-heading-color:#556068;--e-app-import-plugins-pro-banner-description-color:#6d7882;margin-bottom:1.875rem}.e-app-import-plugins-pro-banner__heading{color:var(--e-app-import-plugins-pro-banner-heading-color);margin-bottom:.625rem}.e-app-import-plugins-pro-banner__description{color:var(--e-app-import-plugins-pro-banner-description-color);margin-bottom:0}.eps-theme-dark .e-app-import-plugins-pro-banner{--e-app-import-plugins-pro-banner-heading-color:#7d7e82;--e-app-import-plugins-pro-banner-description-color:#b4b5b7}.e-app-export-plugins,.e-app-import-content{padding-bottom:1.25rem}.e-app-import-content__plugins-notice{margin-bottom:1.25rem}.e-app-import-plugins-activation__installing-plugins{padding:.625rem 0}.e-app-import-plugins-activation__plugin-name{-webkit-margin-start:.5rem;margin-inline-start:.5rem}.e-app-import-plugins-activation__plugin-status-item{margin-bottom:.75rem}.e-app-import-export-plugins-table__cell-content{margin-bottom:0;text-transform:capitalize}.e-app-import-export-loader{--e-app-import-export-loader-color:#c2cbd2;color:var(--e-app-import-export-loader-color);font-size:50px}.e-app-import-export-loader.eicon-loading{font-size:1.85rem}.e-app-import-export-loader--absolute-center{position:absolute;top:50%;left:50%;-webkit-transform:translateX(-50%) translateY(-50%);-ms-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%)}.eps-theme-dark .e-app-import-export-loader{--e-app-import-export-loader-color:#64666a}.e-app-import-export-message-banner{--e-app-import-export-message-banner-heading-color:#556068;--e-app-import-export-message-banner-description-color:#6d7882;margin-bottom:1.875rem}.e-app-import-export-message-banner__heading{color:var(--e-app-import-export-message-banner-heading-color);margin-bottom:.625rem}.e-app-import-export-message-banner__description{color:var(--e-app-import-export-message-banner-description-color);margin-bottom:0}.eps-theme-dark .e-app-import-export-message-banner{--e-app-import-export-message-banner-heading-color:#7d7e82;--e-app-import-export-message-banner-description-color:#b4b5b7}.e-app-import-connect-pro-notice,.e-app-import-failed-plugins-notice{margin-bottom:1.25rem}.e-onboarding{font-family:DM Sans,Roboto,sans-serif}.e-onboarding .eps-app__main{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;overflow-y:auto}.e-onboarding__content{max-width:1135px;padding:initial;margin:2.75rem;overflow-y:initial}.e-onboarding__checkbox-label{display:-webkit-box;display:-ms-flexbox;display:flex;line-height:18px;margin-bottom:27px}.e-onboarding__checkbox-input{-webkit-margin-end:14px;margin-inline-end:14px;width:16px;height:16px;border-color:#69727d;border-radius:2px}.e-onboarding__checkbox-input:checked{background-color:#525861}.e-onboarding__checkbox-input:checked:after{margin-bottom:15%;width:6px;height:9px;border-width:0 2px 2px 0}.e-onboarding__feature-list{margin-bottom:40px}.e-onboarding__text-input{font-size:14px;width:325px;padding:12px 16px;color:#69727d;border:1px solid #9ea5ad}.e-onboarding__text-input:focus-visible{outline:initial;border:1px solid #3a3f45}.e-onboarding__text-input::-webkit-input-placeholder{color:#c2c7cc}.e-onboarding__text-input::-moz-placeholder{color:#c2c7cc}.e-onboarding__text-input::-ms-input-placeholder{color:#c2c7cc}.e-onboarding__text-input::placeholder{color:#c2c7cc}.e-onboarding__footnote{margin-top:24px;width:325px;text-align:center}.e-onboarding__footnote a{text-decoration:underline;color:#3a3f45}#e-app~#__wp-uploader-id-2 .media-modal{max-width:1024px;max-height:768px;margin:auto}.e-onboarding__page-content{margin-bottom:70px}.e-onboarding__page-content-start{max-width:675px;text-align:start;-ms-flex-preferred-size:555px;flex-basis:555px;-ms-flex-item-align:start;align-self:start}.e-onboarding__page-content-end{min-width:440px;max-width:540px}.e-onboarding__page-content-end img{width:100%}.e-onboarding__page-content-section-title{font-family:"DM Serif Display",serif;font-size:36px;font-weight:700;color:#0c0d0e}.e-onboarding__page-content-section-text{font-size:18px;color:#3a3f45}.e-onboarding__header-logo .eps-app__logo{background-color:#0c0d0e;color:#fff;width:1.3rem;height:1.3rem;line-height:1.3rem;font-size:.48rem}.e-onboarding__header-logo .eps-app__logo:not(:last-child){-webkit-margin-end:7px;margin-inline-end:7px}.e-onboarding__header-logo img{width:104px}.e-onboarding__header .eps-app__header-btn{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:13px}.e-onboarding__header .eps-app__header-btn .eps-icon:not(:last-child){-webkit-margin-end:7px;margin-inline-end:7px}.e-onboarding__header .eps-button{color:#0c0d0e}.e-onboarding__header .eps-button .eicon-pro-icon{color:#93003c}.e-onboarding__go-pro{width:288px;font-size:12px}.e-onboarding__go-pro-title{font-size:18px;font-weight:700;color:#871a40}.e-onboarding__go-pro-cta{display:inline-block;color:#871a40;padding:9px;border:1px solid #871a40}.e-onboarding__go-pro-cta.e-onboarding__button{font-size:14px}.e-onboarding__go-pro-paragraph:not(:last-child){margin-bottom:20px}.e-onboarding__go-pro-already-have{text-decoration:underline}.e-onboarding__progress-bar{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin-bottom:125px}.e-onboarding__progress-bar-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#69727d;font-size:.75rem}.e-onboarding__progress-bar-item-icon{display:inline-block;font-family:"DM Serif Display",serif;text-align:center;width:1.1rem;height:1.1rem;line-height:1rem;font-size:.75rem;font-weight:700;border-radius:50%;border:1px solid #69727d;-webkit-margin-end:8px;margin-inline-end:8px;-ms-flex-negative:0;flex-shrink:0}.e-onboarding__progress-bar-item:not(:last-child){-webkit-margin-end:22px;margin-inline-end:22px}.e-onboarding__progress-bar-item:not(:last-child):after{font-family:eicons;-webkit-margin-start:22px;margin-inline-start:22px;content:"\e89e"}.e-onboarding__progress-bar-item--active{color:#040080}.e-onboarding__progress-bar-item--active .e-onboarding__progress-bar-item-icon,.e-onboarding__progress-bar-item--completed .e-onboarding__progress-bar-item-icon{color:#fff;border-color:#040080;background-color:#040080}.e-onboarding__progress-bar-item--completed,.e-onboarding__progress-bar-item--skipped{cursor:pointer}.e-onboarding__progress-bar-item--skipped .e-onboarding__progress-bar-item-icon{color:#fff;background-color:#69727d}.e-onboarding__button{font-size:18px;cursor:pointer}.e-onboarding__button-action{color:#46f2b6;background-color:#040080;width:325px;padding:15px;text-align:center}.e-onboarding__button-skip{color:#6a727c;padding:15px 29px}.e-onboarding__button--disabled{pointer-events:none;background-color:#d5d8dc;color:#9ea5ad}.e-onboarding__button--disabled:hover{cursor:progress}.e-onboarding__button--processing{pointer-events:none;-webkit-filter:brightness(90%);filter:brightness(90%)}.e-onboarding__card{border:1px solid #3a3f45;border-radius:8px;padding:40px;background-color:#fff;cursor:pointer;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.e-onboarding__card-image,.e-onboarding__card-text{width:345px}.e-onboarding__card-image{margin-bottom:44px}.e-onboarding__card-text{font-size:20px;font-weight:700;text-align:center;color:#0c0d0e}.e-onboarding__card:hover{-webkit-box-shadow:4px 4px 0 0 #000;box-shadow:4px 4px 0 0 #000}.e-onboarding__card:active{-webkit-box-shadow:initial;box-shadow:none}.e-onboarding__checklist{-webkit-padding-start:0;padding-inline-start:0}.e-onboarding__checklist-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:12px;margin-bottom:12px}.e-onboarding__checklist-item .eicon-check-circle{-webkit-margin-end:9px;margin-inline-end:9px;font-size:16px;font-weight:600}.e-onboarding__notice{display:inline-block;padding:12px 14px;margin-bottom:16px;color:#3a3f45}.e-onboarding__notice--error{background-color:#fde8ec}.e-onboarding__notice--error i{font-size:16px;color:#b92136}.e-onboarding__notice--success{background-color:#ecf9f2}.e-onboarding__notice--success i{color:#117740}.e-onboarding__notice i{-webkit-margin-end:14px;margin-inline-end:14px}.e-onboarding__notice-empty-spacer{height:61px}.e-onboarding__page-account .e-onboarding__checkbox-label{margin-top:50px}.e-onboarding__action-button-text{-webkit-margin-start:10px;margin-inline-start:10px}.e-onboarding__site-name-input{margin-top:80px}.e-onboarding__page-siteLogo .e-app-upload-file__button{color:#040080;border-color:#040080}.e-onboarding__drop-zone{margin-top:3rem}.e-onboarding .eps-display-3{font-size:16px;margin-bottom:.5rem}.e-onboarding .e-app-upload-file__button{max-width:198px;margin:0 auto}.e-onboarding .e-app-drop-zone__secondary-text{font-size:14px}.e-onboarding__logo-container{position:relative;margin-top:3rem;height:220px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;min-width:220px}.e-onboarding__logo-container img{height:auto;max-height:100%;width:auto}.e-onboarding__logo-remove{position:absolute;right:8px;top:5px}.e-onboarding__logo-remove i{font-size:16px;width:15px}.e-onboarding__logo-remove:hover{cursor:pointer}.e-onboarding__is-uploading{visibility:hidden}.e-onboarding__page-goodToGo .e-onboarding__page-content-section-text,.e-onboarding__page-goodToGo .e-onboarding__page-content-section-title{text-align:center}.e-onboarding__cards-grid.e-onboarding__page-content{margin-top:48px;margin-bottom:48px}.e-onboarding__cards-grid .e-onboarding__card{max-width:555px}.e-onboarding__cards-grid .e-onboarding__card:not(:last-child){-webkit-margin-end:20px;margin-inline-end:20px}.e-onboarding__good-to-go-footer{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:end}.e-onboarding__upload-pro{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-family:DM Sans,Roboto,sans-serif;text-align:center}.e-onboarding__upload-pro .eps-app__content{overflow-y:hidden;max-width:1113px;padding:30px}.e-onboarding__upload-pro-drop-zone{margin-bottom:24px}.e-onboarding__upload-pro-drop-zone h1{font-family:"Source Serif Pro",Roboto,sans-serif}.e-onboarding__upload-pro-drop-zone .e-app-drag-drop{padding:48px}.e-onboarding__upload-pro-drop-zone .e-app-drop-zone__secondary-text,.e-onboarding__upload-pro-drop-zone .e-app-drop-zone__text,.e-onboarding__upload-pro-drop-zone .eps-display-3{margin-bottom:12px}.e-onboarding__upload-pro-drop-zone .e-app-upload-file__button{background-color:#040080;color:#46f2b6;padding:14px 40px;border-color:#040080}.e-onboarding__upload-pro-get-file{font-size:12px;margin-top:24px}.e-onboarding__upload-pro-get-file a{text-decoration:underline}.e-onboarding__upload-pro .e-onboarding__notice{margin-bottom:0}assets/css/admin-rtl.css000064400000124312152377341010011245 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ .elementor-button { font-family: Roboto, Arial, Helvetica, Verdana, sans-serif; font-weight: 500; text-transform: uppercase; outline: none; border: none; border-radius: 3px; -webkit-transition-property: background, color, opacity, -webkit-box-shadow; transition-property: background, color, opacity, -webkit-box-shadow; -o-transition-property: background, color, box-shadow, opacity; transition-property: background, color, box-shadow, opacity; transition-property: background, color, box-shadow, opacity, -webkit-box-shadow; -webkit-transition-duration: 0.3s; -o-transition-duration: 0.3s; transition-duration: 0.3s; } .elementor-button:hover { border: none; } .elementor-button:not([disabled]) { cursor: pointer; } .elementor-button:not(.elementor-button-state) .elementor-state-icon { display: none; } .elementor-button.elementor-button-success { color: #fff; } .elementor-button.elementor-button-success[disabled] { background-color: #c2cbd2; } .elementor-button.elementor-button-success:not([disabled]) { background-color: #39b54a; } .elementor-button.elementor-button-success:not([disabled]):hover { opacity: 0.85; -webkit-box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2); box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2); } .elementor-button.elementor-button-success:not([disabled]):active { -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1); box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1); } .elementor-button.elementor-button-warning { background-color: #a4afb7; color: #fff; } .elementor-button.elementor-button-warning[disabled] { background-color: #c2cbd2; } .elementor-button.elementor-button-warning:not([disabled]):hover { background-color: #b01b1b; opacity: 0.85; -webkit-box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2); box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2); } .elementor-button.elementor-button-warning:not([disabled]):active { -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1); box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1); } .elementor-button.elementor-button-danger { background-color: #d72b3f; color: #fff; } .elementor-button.elementor-button-danger[disabled] { background-color: #c2cbd2; } .elementor-button.elementor-button-danger:not([disabled]):hover { opacity: 0.85; -webkit-box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2); box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2); } .elementor-button.elementor-button-danger:not([disabled]):active { -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1); box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1); } .elementor-button.elementor-edit-template { display: inline-block; margin-top: 15px; color: #fff; } .elementor-button.elementor-button-default { background-color: #a4afb7; color: #fff; font-size: 11px; padding: 7px 21px; } .elementor-button.elementor-button-default:hover { background-color: #6d7882; -webkit-box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2); box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2); } .elementor-button.elementor-button-default:active { -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1); box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1); } .elementor-button.elementor-button-default:visited { color: #fff; } .elementor-button.elementor-button-go-pro { background-color: #93003c; } .elementor-button i { margin-left: 10px; } #adminmenu #toplevel_page_elementor div.wp-menu-image:before { content: "\e813"; font-family: eicons; font-size: 18px; margin-top: 1px; } #adminmenu #toplevel_page_elementor a[href="admin.php?page=go_elementor_pro"] { font-weight: 700; } #adminmenu #toplevel_page_elementor a[href="admin.php?page=go_elementor_pro"]:hover { color: #e0005b; } #adminmenu #toplevel_page_elementor .dashicons.dashicons-star-filled { height: auto; } #adminmenu #menu-posts-elementor_library .wp-menu-image:before { content: "\e8ff"; font-family: eicons; font-size: 18px; } #e-admin-menu__kit-library { color: #5cb85c; } body.admin-color-fresh #adminmenu #toplevel_page_elementor a[href="admin.php?page=go_elementor_pro"] { color: #c60051; } .elementor-plugins-gopro { color: #93003c; text-shadow: 1px 1px 1px #eee; font-weight: bold; } #elementor-switch-mode { margin: 15px 0; } #elementor-switch-mode-button, #elementor-editor-button { outline: none; cursor: pointer; } #elementor-switch-mode-button i, #elementor-editor-button i { margin-left: 3px; font-size: 125%; font-style: normal; } body.elementor-editor-active .elementor-switch-mode-off { display: none; } body.elementor-editor-active #elementor-switch-mode-button { background-color: #f7f7f7; color: #555; border-color: #ccc; -webkit-box-shadow: 0 1px 0 #ccc !important; box-shadow: 0 1px 0 #ccc !important; text-shadow: unset; } body.elementor-editor-active #elementor-switch-mode-button:hover { background-color: #e9e9e9; } body.elementor-editor-active #elementor-switch-mode-button:active { -webkit-box-shadow: inset 0 1px 0 #ccc; box-shadow: inset 0 1px 0 #ccc; -webkit-transform: translateY(1px); -ms-transform: translateY(1px); transform: translateY(1px); } body.elementor-editor-active #postdivrich { display: none !important; } body.elementor-editor-active .editor-block-list__layout, body.elementor-editor-active .block-editor-block-list__layout { display: none; } body.elementor-editor-inactive .elementor-switch-mode-on { display: none; } body.elementor-editor-inactive #elementor-editor { display: none; } body.elementor-editor-active .editor-block-list__layout { display: none; } body.elementor-editor-active .edit-post-layout__content .edit-post-visual-editor { -ms-flex-preferred-size: auto; flex-basis: auto; } body.elementor-editor-active #elementor-editor { margin-bottom: 50px; } body.elementor-editor-active .edit-post-text-editor__body .editor-post-text-editor { display: none; } body .block-editor #elementor-switch-mode { margin: 0 15px; } body .block-editor #elementor-switch-mode .button { margin: 2px; height: 33px; font-size: 13px; line-height: 1; } body .block-editor #elementor-switch-mode .button i { padding-left: 5px; } .elementor-button { font-size: 13px; text-decoration: none; padding: 15px 40px; } #elementor-editor { height: 300px; width: 100%; -webkit-transition: all 0.5s ease; -o-transition: all 0.5s ease; transition: all 0.5s ease; } #elementor-editor .elementor-loader-wrapper { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); width: 300px; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } #elementor-editor .elementor-loader { border-radius: 50%; padding: 40px; height: 150px; width: 150px; background-color: rgba(255, 255, 255, 0.9); -webkit-box-sizing: border-box; box-sizing: border-box; -webkit-box-shadow: 2px 2px 20px 4px rgba(0, 0, 0, 0.02); box-shadow: 2px 2px 20px 4px rgba(0, 0, 0, 0.02); } #elementor-editor .elementor-loader-boxes { height: 100%; width: 100%; position: relative; } #elementor-editor .elementor-loader-box { position: absolute; background-color: #d5dadf; -webkit-animation: load 1.8s linear infinite; animation: load 1.8s linear infinite; } #elementor-editor .elementor-loader-box:nth-of-type(1) { width: 20%; height: 100%; left: 0; top: 0; } #elementor-editor .elementor-loader-box:not(:nth-of-type(1)) { right: 0; height: 20%; width: 60%; } #elementor-editor .elementor-loader-box:nth-of-type(2) { top: 0; -webkit-animation-delay: -0.45s; animation-delay: -0.45s; } #elementor-editor .elementor-loader-box:nth-of-type(3) { top: 40%; -webkit-animation-delay: -0.9s; animation-delay: -0.9s; } #elementor-editor .elementor-loader-box:nth-of-type(4) { bottom: 0; -webkit-animation-delay: -1.35s; animation-delay: -1.35s; } #elementor-editor .elementor-loading-title { color: #a4afb7; text-align: center; text-transform: uppercase; margin-top: 30px; letter-spacing: 7px; text-indent: 7px; font-size: 10px; width: 100%; } #elementor-go-to-edit-page-link { height: 100%; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; border: 1px solid #DDD; background-color: #F7F7F7; text-decoration: none; position: relative; font-family: Sans-serif; } #elementor-go-to-edit-page-link:hover { background-color: #ffffff; } #elementor-go-to-edit-page-link:focus { -webkit-box-shadow: none; box-shadow: none; } #elementor-go-to-edit-page-link.elementor-animate #elementor-editor-button { display: none; } #elementor-go-to-edit-page-link:not(.elementor-animate) .elementor-loader-wrapper { display: none; } .elementor-button-spinner:before { font: normal 20px/0.5 dashicons; speak: none; display: inline-block; padding: 0; top: 8px; right: -4px; position: relative; vertical-align: top; content: "\f463"; } .elementor-button-spinner.loading:before { -webkit-animation: rotation 1s infinite linear; animation: rotation 1s infinite linear; } .elementor-button-spinner.success:before { content: "\f147"; color: #46b450; } .elementor-blank_state { padding: 5em 0; margin: auto; max-width: 520px; text-align: center; color: #6d7882; font-family: Roboto, sans-serif; } .elementor-blank_state i { font-size: 50px; color: #a4afb7; } .elementor-blank_state h2 { font-size: 32px; font-weight: 300; color: inherit; margin: 40px 0 10px; line-height: 1.2; } .elementor-blank_state p { font-size: 16px; font-weight: normal; color: #a4afb7; margin-bottom: 40px; } .elementor-blank_state .elementor-button { display: inline-block; } #available-widgets [class*=elementor-template] .widget-title:before { content: "\e813"; font-family: eicons; font-size: 17px; } .elementor-settings-form-page { padding-top: 30px; } .elementor-settings-form-page:not(.elementor-active) { display: none; } ._elementor_settings_update_time { display: none; } #confirm_fa_migration_admin_modal .dialog-confirm-ok { color: #6d7882; } body.post-type-attachment table.media .column-title .media-icon img[src$=".svg"] { width: 100%; } .e-major-update-warning { margin-bottom: 5px; max-width: 1000px; display: -webkit-box; display: -ms-flexbox; display: flex; } .e-major-update-warning__separator { margin: 15px -12px; } .e-major-update-warning__icon { font-size: 17px; margin-left: 9px; margin-right: 2px; } .e-major-update-warning__title { font-weight: 600; margin-bottom: 10px; } .e-major-update-warning + p { display: none; } .notice-success .e-major-update-warning__separator { border: 1px solid #46b450; } .notice-success .e-major-update-warning__icon { color: #79ba49; } .notice-warning .e-major-update-warning__separator { border: 1px solid #ffb900; } .notice-warning .e-major-update-warning__icon { color: #f56e28; } .plugins table.e-compatibility-update-table tr { background: transparent; } .plugins table.e-compatibility-update-table tr th { font-weight: 600; } .plugins table.e-compatibility-update-table tr th, .plugins table.e-compatibility-update-table tr td { min-width: 250px; font-size: 13px; background: transparent; -webkit-box-shadow: none; box-shadow: none; border: none; padding-top: 5px; padding-bottom: 5px; padding-left: 15px; padding-right: 0; } :root { --e-focus-color: rgba(0, 115, 170, .4); --e-context-primary-color: #0073aa; --e-context-primary-color-dark: #005177; --e-context-primary-tint-4: rgba(0, 115, 170, 0.4); --e-context-primary-tint-1: rgba(0, 115, 170, 0.04); --e-context-success-color: #39b54a; --e-context-success-color-dark: #2d8e3a; --e-context-success-tint-4: rgba(57, 181, 74, 0.4); --e-context-success-tint-1: rgba(57, 181, 74, 0.04); --e-context-info-color: #71d7f7; --e-context-info-color-dark: #41c9f4; --e-context-info-tint-4: rgba(113, 215, 247, 0.4); --e-context-info-tint-1: rgba(113, 215, 247, 0.04); --e-context-warning-color: #fcb92c; --e-context-warning-color-dark: #f2a503; --e-context-warning-tint-4: rgba(252, 185, 44, 0.4); --e-context-warning-tint-1: rgba(252, 185, 44, 0.04); --e-context-error-color: #d72b3f; --e-context-error-color-dark: #ae2131; --e-context-error-tint-4: rgba(215, 43, 63, 0.4); --e-context-error-tint-1: rgba(215, 43, 63, 0.04); --e-context-cta-color: #93003c; --e-context-cta-color-dark: #600027; --e-context-cta-tint-4: rgba(147, 0, 60, 0.4); --e-context-cta-tint-1: rgba(147, 0, 60, 0.04); } .e-getting-started { max-width: 900px; padding: 2.5em 0; margin: auto; text-align: center; } .e-getting-started__header { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.1); box-shadow: 0 0 8px rgba(0, 0, 0, 0.1); } .e-getting-started__header .e-logo-wrapper { font-size: 10px; margin-left: 10px; } .e-getting-started__title { padding: 0 15px; font-weight: 600; text-transform: uppercase; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .e-getting-started__skip { border-right: 1px solid #eee; font-size: 16px; color: inherit; } .e-getting-started__skip i { padding: 15px; } .e-getting-started__content { padding: 50px; } .e-getting-started__content h2 { font-size: 2em; margin-top: 0; } .e-getting-started__content--narrow { max-width: 500px; margin: auto; } .e-getting-started__video { margin: 40px 0 60px; } .e-getting-started__video iframe { -webkit-box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.15); box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.15); } .e-getting-started__actions .button-primary { margin-left: 20px; } :root { --e-button-padding-y: 0.4375rem; --e-button-padding-x: 0.75rem; --e-button-font-size: 0.8125rem; --e-button-font-weight: 500; --e-button-line-height: 0.9375rem; --e-button-border-radius: 3px; --e-button-context-color: var(--e-context-primary-color); --e-button-context-color-dark: var(--e-context-primary-color-dark); --e-button-context-tint: var(--e-context-primary-tint-1); } .e-button { display: inline-block; font-weight: var(--e-button-font-weight); text-align: center; white-space: nowrap; vertical-align: middle; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; color: #ffffff; border: 0; text-decoration: none; background: var(--e-button-context-color); padding: var(--e-button-padding-y) var(--e-button-padding-x); font-size: var(--e-button-font-size); line-height: var(--e-button-line-height); border-radius: var(--e-button-border-radius); -webkit-transition: background-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; transition: background-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; -o-transition: background-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; transition: background-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; transition: background-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; } .e-button:active, .e-button:hover, .e-button:focus { color: #ffffff; text-decoration: none; background: var(--e-button-context-color-dark); } .e-button:focus, .e-button.focus { outline: 0; -webkit-box-shadow: 0 0 0 2px var(--e-focus-color); box-shadow: 0 0 0 2px var(--e-focus-color); } .e-button.disabled, .e-button:disabled { opacity: 0.5; -webkit-box-shadow: none; box-shadow: none; } .e-button:not(:disabled):not(.disabled) { cursor: pointer; } .e-button:not(:disabled):not(.disabled):active:focus, .e-button:not(:disabled):not(.disabled).active:focus { -webkit-box-shadow: 0 0 0 2px var(--e-focus-color); box-shadow: 0 0 0 2px var(--e-focus-color); } .e-button--primary { --e-button-context-color: var(--e-context-primary-color); --e-button-context-color-dark: var(--e-context-primary-color-dark); --e-button-context-tint: var(--e-context-primary-tint-1); --e-focus-color: var(--e-context-primary-tint-4); } .e-button--success { --e-button-context-color: var(--e-context-success-color); --e-button-context-color-dark: var(--e-context-success-color-dark); --e-button-context-tint: var(--e-context-success-tint-1); --e-focus-color: var(--e-context-success-tint-4); } .e-button--info { --e-button-context-color: var(--e-context-info-color); --e-button-context-color-dark: var(--e-context-info-color-dark); --e-button-context-tint: var(--e-context-info-tint-1); --e-focus-color: var(--e-context-info-tint-4); } .e-button--warning { --e-button-context-color: var(--e-context-warning-color); --e-button-context-color-dark: var(--e-context-warning-color-dark); --e-button-context-tint: var(--e-context-warning-tint-1); --e-focus-color: var(--e-context-warning-tint-4); } .e-button--error { --e-button-context-color: var(--e-context-error-color); --e-button-context-color-dark: var(--e-context-error-color-dark); --e-button-context-tint: var(--e-context-error-tint-1); --e-focus-color: var(--e-context-error-tint-4); } .e-button--cta { --e-button-context-color: var(--e-context-cta-color); --e-button-context-color-dark: var(--e-context-cta-color-dark); --e-button-context-tint: var(--e-context-cta-tint-1); --e-focus-color: var(--e-context-cta-tint-4); } .e-button.e-button--outline { color: var(--e-button-context-color); background: none; border: 1px solid currentColor; } .e-button.e-button--outline:hover, .e-button.e-button--outline:focus { color: var(--e-button-context-color-dark); background: var(--e-button-context-tint); } .e-button.e-button--outline.disabled, .e-button.e-button--outline:disabled { color: var(--e-button-context-color-dark); background: #818a91; } .e-button > i { line-height: inherit; height: var(--e-button-line-height); width: -webkit-min-content; width: -moz-min-content; width: min-content; } .e-button > * + * { -webkit-margin-start: 0.5ch; margin-inline-start: 0.5ch; } .e-button--link { color: var(--e-button-context-color); background-color: transparent; } .e-button--link:hover, .e-button--link:focus { color: var(--e-button-context-color-dark); background: var(--e-button-context-tint); } .e-button--link:disabled, .e-button--link.disabled { color: #818a91; } a.e-button.disabled, fieldset:disabled a.e-button { pointer-events: none; } :root { --e-notice-bg: #fff; --e-notice-border-color: #ccd0d4; --e-notice-context-color: #93003c; --e-notice-context-tint: var(--e-context-cta-tint-1); --e-notice-box-shadow: 0 1px 4px rgba(0,0,0,.15); --e-notice-dismiss-color: #6d7882; } .e-notice { position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; font-family: Roboto, Arial, Helvetica, Verdana, sans-serif; background: var(--e-notice-bg); border: 1px solid var(--e-notice-border-color); border-inline-start-width: 4px; -webkit-box-shadow: var(--e-notice-box-shadow); box-shadow: var(--e-notice-box-shadow); margin: 5px 20px 5px 2px; } .e-notice.notice { padding: 0; } .e-notice::before { display: block; content: ""; position: absolute; right: -4px; top: -1px; bottom: -1px; width: 4px; background-color: var(--e-notice-context-color); } .e-notice--primary { --e-notice-context-color: var(--e-context-primary-color); --e-notice-context-color-dark: var(--e-context-primary-color-dark); --e-notice-context-tint: var(--e-context-primary-tint-1); } .e-notice--success { --e-notice-context-color: var(--e-context-success-color); --e-notice-context-color-dark: var(--e-context-success-color-dark); --e-notice-context-tint: var(--e-context-success-tint-1); } .e-notice--info { --e-notice-context-color: var(--e-context-info-color); --e-notice-context-color-dark: var(--e-context-info-color-dark); --e-notice-context-tint: var(--e-context-info-tint-1); } .e-notice--warning { --e-notice-context-color: var(--e-context-warning-color); --e-notice-context-color-dark: var(--e-context-warning-color-dark); --e-notice-context-tint: var(--e-context-warning-tint-1); } .e-notice--error { --e-notice-context-color: var(--e-context-error-color); --e-notice-context-color-dark: var(--e-context-error-color-dark); --e-notice-context-tint: var(--e-context-error-tint-1); } .e-notice--cta { --e-notice-context-color: var(--e-context-cta-color); --e-notice-context-color-dark: var(--e-context-cta-color-dark); --e-notice-context-tint: var(--e-context-cta-tint-1); } .e-notice--extended { --e-notice-is-extended: 1; } .e-notice--dismissible { padding-right: 38px; } .e-notice__aside { overflow: hidden; background-color: var(--e-notice-context-tint); width: calc(var(--e-notice-is-extended, 0) * 50px); text-align: center; padding-top: 15px; -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; -ms-flex-negative: 0; flex-shrink: 0; } .e-notice__icon-wrapper { display: inline-block; font-size: 0.625rem; max-height: 1.5rem; width: 1.5rem; line-height: 1.5rem; border-radius: 100px; background: var(--e-notice-context-color); color: #fff; text-shadow: 0 0 3px var(--e-notice-context-color-dark), 0 0 1px var(--e-notice-context-color-dark), 0 0 1px var(--e-notice-context-color-dark); } .e-notice__content { padding: 20px; } .e-notice__actions { display: -webkit-box; display: -ms-flexbox; display: flex; } .e-notice__actions > * + * { -webkit-margin-start: 8px; margin-inline-start: 8px; } .e-notice__dismiss { width: 20px; height: 20px; line-height: 20px; font-size: 0.8125rem; text-align: center; background: none; display: block; position: absolute; top: 0; right: 1px; border: none; margin: 0; padding: 9px; cursor: pointer; font-style: normal; } .e-notice__dismiss:before { font-family: eicons; display: inline-block; content: "\e87f"; color: var(--e-notice-dismiss-color); width: 20px; border-radius: 20px; speak: none; text-align: center; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .e-notice__dismiss:hover:before, .e-notice__dismiss:active:before, .e-notice__dismiss:focus:before { font-weight: bold; } .e-notice__dismiss:focus:before { color: #fff; background: var(--e-notice-dismiss-color); outline: none; } .e-notice__dismiss:focus { outline: none; } .e-notice p { line-height: 1.2; padding: 0; margin: 0; } .e-notice p + .e-notice__actions { margin-top: 1rem; } .e-notice h3 { font-size: 1.0625rem; line-height: 1.2; margin: 0; } .e-notice h3 + p { margin-top: 8px; } /*= Elementor Admin Alert ---------------------------------------*/ .elementor-admin-alert { padding: 15px; border-left: 5px solid transparent; position: relative; font-size: 12px; line-height: 1.5; text-align: right; } .elementor-admin-alert a { color: inherit; } .elementor-admin-alert.elementor-alert-info { color: #31708f; background-color: #d9edf7; border-color: #bcdff1; } .elementor-admin-alert.elementor-alert-success { color: #3c763d; background-color: #dff0d8; border-color: #cae6be; } .elementor-admin-alert.elementor-alert-warning { color: #8a6d3b; background-color: #fcf8e3; border-color: #f9f0c3; } .elementor-admin-alert.elementor-alert-danger { color: #a94442; background-color: #f2dede; border-color: #e8c4c4; } /*= Elementor System Info ---------------------------------------*/ #elementor-system-info { padding: 15px; } #elementor-system-info .elementor-system-info-section { margin-bottom: 10px; } #elementor-system-info .elementor-system-info-section > .elementor-system-info-report-name { padding-left: 10px; border-bottom: 1px solid #e1e1e1; } #elementor-system-info .elementor-system-info-section .widefat { white-space: pre; } #elementor-system-info .elementor-system-info-section .elementor-log-entries { white-space: pre-wrap; } #elementor-system-info .elementor-system-info-section:not(.elementor-system-info-log) tbody td:first-child { width: 300px; } #elementor-system-info .elementor-system-info-report-name { text-transform: uppercase; font-size: 14px; margin: 0; line-height: 2; } #elementor-system-info .elementor-system-info-report-row { overflow: hidden; padding: 5px 0; } #elementor-system-info .elementor-system-info-report-row > * { float: left; } #elementor-system-info .elementor-system-info-report-field, #elementor-system-info .elementor-system-info-field-recommendation { padding-left: 10px; color: #7F7F7F; } #elementor-system-info .elementor-system-info-report-fields { padding-left: 20px; } #elementor-system-info .elementor-system-info-plugin-name { color: #000; } #elementor-system-info .elementor-system-info-plugin-properties { padding: 10px; } #elementor-system-info #elementor-system-info-raw-code { width: 100%; height: 200px; } #elementor-system-info #elementor-system-info-raw-code-label { padding: 5px; display: block; } #elementor-system-info .elementor-warning td:first-child { border-right: 3px solid #fcb92c; } #elementor-system-info a.box-title-tool { font-size: 80%; margin-right: 15px; color: #818a91; } #elementor-system-info a.box-title-tool:hover { text-decoration: underline; } #elementor-system-info #elementor-usage-recalc { font-size: 12px; color: #ffffff; background-color: #a4afb7; padding: 4px 18px 5px 18px; border-radius: 3px; } @-webkit-keyframes elementor-rotation { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(359deg); transform: rotate(359deg); } } @keyframes elementor-rotation { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(359deg); transform: rotate(359deg); } } #elementor-deactivate-feedback-dialog-wrapper { display: none; } #elementor-deactivate-feedback-modal .dialog-widget-content { width: 550px; } #elementor-deactivate-feedback-modal .dialog-header { padding: 18px 15px; -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.1); box-shadow: 0 0 8px rgba(0, 0, 0, 0.1); text-align: right; } #elementor-deactivate-feedback-modal .dialog-message { padding: 30px 30px 0; text-align: right; } #elementor-deactivate-feedback-modal .elementor-deactivate-feedback-dialog-input { float: right; margin: 0 0 0 15px; -webkit-box-shadow: none; box-shadow: none; } #elementor-deactivate-feedback-modal .elementor-deactivate-feedback-dialog-input:not(:checked) ~ .elementor-feedback-text { display: none; } #elementor-deactivate-feedback-modal .elementor-deactivate-feedback-dialog-label { display: block; font-size: 13px; color: #6d7882; } #elementor-deactivate-feedback-modal .elementor-feedback-text { margin: 10px 30px 0 0; padding: 5px; font-size: 13px; -webkit-box-shadow: none; box-shadow: none; background-color: #fff; width: 92%; } #elementor-deactivate-feedback-modal .dialog-buttons-wrapper { border-top: none; text-align: right; padding: 20px 30px 30px; overflow: hidden; } #elementor-deactivate-feedback-modal .dialog-submit { background-color: #93003c; border-radius: 3px; color: #fff; line-height: 1; padding: 12px 20px; font-size: 13px; width: 180px; height: 38px; } #elementor-deactivate-feedback-modal .dialog-submit.elementor-loading:before { display: inline-block; content: "\f463"; font: 18px dashicons; -webkit-animation: elementor-rotation 2s infinite linear; animation: elementor-rotation 2s infinite linear; } #elementor-deactivate-feedback-modal .dialog-skip { font-size: 12px; color: #a4afb7; background: none; float: left; width: auto; } #elementor-deactivate-feedback-modal[data-feedback-selected=elementor_pro] .elementor-feedback-text { color: #b01b1b; padding: 0; } #elementor-deactivate-feedback-modal[data-feedback-selected=elementor_pro] .dialog-submit { display: none; } #elementor-deactivate-feedback-dialog-header i { color: #93003c; font-size: 19px; } #elementor-deactivate-feedback-dialog-header-title { font-size: 15px; text-transform: uppercase; font-weight: bold; padding-right: 5px; } #elementor-deactivate-feedback-dialog-form-caption { font-weight: bold; font-size: 15px; color: #495157; line-height: 1.4; } #elementor-deactivate-feedback-dialog-form-body { padding-top: 30px; } .elementor-deactivate-feedback-dialog-input-wrapper { line-height: 1; overflow: hidden; margin-bottom: 15px; } #elementor-hidden-area { display: none; } #elementor-import-template-trigger { cursor: pointer; } #elementor-import-template-area { display: none; margin: 50px 0 30px; text-align: center; } #elementor-import-template-form { display: inline-block; margin-top: 30px; padding: 30px 50px; background-color: #FFFFFF; border: 1px solid #e5e5e5; } #elementor-import-template-title { font-size: 18px; color: #555d66; } .form-table:not(.elementor-maintenance-mode-is-enabled) .elementor-default-hide { display: none; } .elementor-maintenance-mode-error { color: red; line-height: 1.6; display: none; } #tab-replace_url.elementor-active ~ p.submit, #tab-fontawesome4_migration.elementor-active ~ p.submit, #tab-import-export-kit.elementor-active ~ p.submit { display: none; } #elementor_rollback > div, #elementor_rollback_pro > div, #elementor_replace_url > div { display: -webkit-box; display: -ms-flexbox; display: flex; } #elementor_rollback > div input, #elementor_rollback > div select, #elementor_rollback_pro > div input, #elementor_rollback_pro > div select, #elementor_replace_url > div input, #elementor_replace_url > div select { margin-left: 6px; } .tab-import-export-kit__wrapper { margin: 40px 0; max-width: 700px; } .tab-import-export-kit__container { background-color: white; font-size: 16px; max-width: 700px; padding: 30px; } .tab-import-export-kit__container:not(:first-child) { margin-top: 5px; } .tab-import-export-kit__container p { color: #A4AFB7; font-size: 16px; margin: 20px 0 25px; } .tab-import-export-kit__info { font-size: 14px; } .tab-import-export-kit__container a:not(.elementor-button), .tab-import-export-kit__info a { color: #58d0f5; text-decoration: underline; } .tab-import-export-kit__box { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; } .tab-import-export-kit__box h2 { color: #6D7882; font-size: 28px; font-weight: normal; line-height: 1; margin: 0; } .tab-import-export-kit__box .elementor-button.elementor-button-success { font-weight: bold; padding: 8px 16px; text-transform: initial; } #dashboard-widgets .e-dashboard-widget h3.e-heading { font-weight: 600; margin-bottom: 13px; } #dashboard-widgets .e-dashboard-widget .e-divider_bottom { border-bottom: 1px solid #eee; margin: 0 -12px; padding: 6px 12px; } #dashboard-widgets .e-dashboard-widget .e-divider_top { border-top: 1px solid #eee; margin: 0 -12px; padding: 6px 12px; } #dashboard-widgets .e-dashboard-widget .e-quick-actions-wrap .e-divider_top, #dashboard-widgets .e-dashboard-widget .e-news-feed-wrap .e-divider_top { padding-top: 18px; margin-top: 18px; } .e-dashboard-widget .dashicons { color: #606a73; } .e-dashboard-widget ul.e-action-list li { margin-top: 14px; } .e-dashboard-widget ul.e-action-list li a { margin-right: 5px; } #e-dashboard-overview .dashicons { vertical-align: middle; font-size: 17px; } #e-dashboard-overview .e-overview__header { display: table; width: 100%; -webkit-box-shadow: 0 5px 8px rgba(0, 0, 0, 0.05); box-shadow: 0 5px 8px rgba(0, 0, 0, 0.05); margin: 0 -12px 8px; padding: 0 12px 12px; } #e-dashboard-overview .e-overview__logo, #e-dashboard-overview .e-overview__versions, #e-dashboard-overview .e-overview__create { display: table-cell; vertical-align: middle; } #e-dashboard-overview .e-overview__logo { width: 30px; } #e-dashboard-overview .e-overview__versions { padding: 0 10px; font-size: 0.9em; line-height: 1.5; } #e-dashboard-overview .e-overview__version { display: block; } #e-dashboard-overview .e-overview__create { text-align: left; } #e-dashboard-overview .e-overview__feed { font-size: 14px; font-weight: 500; } #e-dashboard-overview .e-overview__post { margin-top: 10px; } #e-dashboard-overview .e-overview__post-link { display: inline-block; } #e-dashboard-overview .e-overview__badge { background: #39b54a; color: white; font-size: 0.75em; padding: 3px 6px; border-radius: 3px; text-transform: uppercase; } #e-dashboard-overview .e-overview__post-description { margin: 0 0 1.5em; } #e-dashboard-overview .e-overview__recently-edited li { color: #72777c; } #e-dashboard-overview .e-overview__footer.e-divider_top { padding-top: 12px; padding-bottom: 0; } #e-dashboard-overview .e-overview__footer ul { display: -webkit-box; display: -ms-flexbox; display: flex; list-style: none; margin: 0; padding: 0; } #e-dashboard-overview .e-overview__footer ul li { padding: 0 10px; margin: 0; border-right: 1px solid #ddd; } #e-dashboard-overview .e-overview__footer ul li:first-child { padding-right: 0; border: none; } #e-dashboard-overview .e-overview__go-pro a { color: #93003c; font-weight: 500; } .post-type-elementor_library #elementor-template-library-tabs-wrapper { padding-top: 2em; margin-bottom: 2em; } .post-type-elementor_library th#taxonomy-elementor_library_category { width: 110px; } #elementor-new-template-modal .dialog-message { max-height: 70vh; } #elementor-new-template-dialog-content { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; height: 100%; text-align: right; color: #6d7882; } @media (max-width: 1439px) { #elementor-new-template-dialog-content { padding: 0 50px; } } @media (min-width: 1440px) { #elementor-new-template-dialog-content { padding: 0 120px; } } #elementor-new-template__description { width: 35%; max-width: 300px; padding-left: 100px; } #elementor-new-template__description__title { font-size: 30px; color: #556068; } #elementor-new-template__description__title span { font-weight: bold; } #elementor-new-template__description__content { font-size: 16px; padding: 30px 0; } #elementor-new-template__take_a_tour { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; font-size: 15px; } #elementor-new-template__take_a_tour i { color: #93003c; font-size: 30px; } #elementor-new-template__take_a_tour a { color: #6d7882; padding-right: 10px; text-decoration: none; font-weight: 500; } #elementor-new-template__form { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; max-width: 440px; padding: 55px; background-color: #fff; border-radius: 3px; -webkit-box-shadow: 0 2px 30px 0 rgba(0, 0, 0, 0.08); box-shadow: 0 2px 30px 0 rgba(0, 0, 0, 0.08); } #elementor-new-template__form__title { font-size: 23px; color: #556068; } #elementor-new-template__form__template-type.elementor-form-field__select { max-width: initial; } #elementor-new-template__form .elementor-form-field__label { display: block; margin: 25px 0 7px; font-size: 14px; line-height: 1; } #elementor-new-template__form .elementor-form-field input, #elementor-new-template__form .elementor-form-field select { width: 100%; height: 50px; padding: 10px; font-size: 14px; -webkit-box-shadow: none; box-shadow: none; border-radius: 3px; background: none; color: #495157; border: 1px solid; outline: none; } #elementor-new-template__form .elementor-form-field input:not(:focus), #elementor-new-template__form .elementor-form-field select:not(:focus) { border-color: #d5dadf; } #elementor-new-template__form .elementor-form-field input:focus, #elementor-new-template__form .elementor-form-field select:focus { border-color: #a4afb7; } #elementor-new-template__form .elementor-form-field__select { appearance: none; -webkit-appearance: none; -moz-appearance: none; cursor: pointer; } #elementor-new-template__form .elementor-form-field__select__wrapper { position: relative; } #elementor-new-template__form .elementor-form-field__select__wrapper:after { font-family: eicons; content: "\e8ad"; position: absolute; top: 50%; left: 10px; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); } #elementor-new-template__form__submit { width: 100%; height: 50px; margin-top: 25px; } @media (max-width: 1024px) { #elementor-new-template__description { max-width: 250px; padding-left: 30px; } } @media (max-width: 767px) { #elementor-new-template__description { display: none; } } #elementor-role-manager { max-width: 500px; margin-top: 50px; } #elementor-role-manager h3 { color: #6d7882; font-weight: normal; font-size: 22px; } #elementor-role-manager .elementor-settings-form-page { padding: 0; } #elementor-role-manager .elementor-role-row { background: #ffffff; color: #6d7882; margin-bottom: 2px; } #elementor-role-manager .elementor-role-row .elementor-role-label { display: -webkit-box; display: -ms-flexbox; display: flex; padding: 15px 20px; font-weight: 500; cursor: pointer; } #elementor-role-manager .elementor-role-row .elementor-role-label span.elementor-role-name { padding-left: 20px; } #elementor-role-manager .elementor-role-row .elementor-role-label span.elementor-role-toggle { text-align: left; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; } #elementor-role-manager .elementor-role-row .elementor-role-label span.elementor-role-excluded-indicator { color: #a4afb7; } #elementor-role-manager .elementor-role-row .elementor-role-controls { background-color: #f7f7f7; padding: 20px 20px 5px; } #elementor-role-manager .elementor-role-row .elementor-role-controls > div { margin-bottom: 15px; } #elementor-role-manager .elementor-role-row .elementor-role-controls .elementor-role-go-pro { display: -webkit-box; display: -ms-flexbox; display: flex; } #elementor-role-manager .elementor-role-row .elementor-role-controls .elementor-role-go-pro .elementor-role-go-pro__desc { font-weight: 500; font-style: italic; } #elementor-role-manager .elementor-role-row .elementor-role-controls .elementor-role-go-pro .elementor-role-go-pro__link { text-align: left; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; } #elementor-beta-tester-modal .elementor-templates-modal__header__items-area { color: #c2cbd2; cursor: pointer; } #elementor-beta-tester-modal .elementor-templates-modal__header__items-area:hover .elementor-beta-tester-do-not-show-again, #elementor-beta-tester-modal .elementor-templates-modal__header__items-area:hover .elementor-templates-modal__header__item > i { color: #6d7882; } #elementor-beta-tester-modal .elementor-templates-modal__header__items-area .elementor-templates-modal__header__close { border: none; } #elementor-beta-tester-modal .elementor-templates-modal__header__items-area .elementor-beta-tester-do-not-show-again { text-transform: uppercase; font-weight: bold; font-size: 12px; -webkit-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; } #elementor-beta-tester-modal .dialog-lightbox-widget-content { max-width: 500px; height: initial; } #elementor-beta-tester-modal .dialog-lightbox-message { padding: 40px; height: 300px; background-color: #fff; } #elementor-beta-tester-form__caption { font-weight: bold; font-size: 20px; color: #495157; } #elementor-beta-tester-form__description { font-size: 15px; color: #6d7882; margin-top: 10px; } #elementor-beta-tester-form__input-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; margin-top: 30px; } #elementor-beta-tester-form__input-wrapper .elementor-button { border-radius: 3px 0 0 3px; } #elementor-beta-tester-form__email { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; border: #d5dadf 1px solid; border-left: 0; border-radius: 0 3px 3px 0; margin: 0; padding: 10px; height: 50px; } #elementor-beta-tester-form__terms { margin-top: 40px; font-size: 11px; color: #a4afb7; } .e-experiment__title { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; } .e-experiment__title__indicator { height: 10px; width: 10px; border-radius: 50%; border: 2px solid white; -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); -ms-flex-negative: 0; flex-shrink: 0; margin-top: 2px; } .e-experiment__title__indicator--active { background: #39b54a; } .e-experiment__title__label { margin-right: 10px; } .e-experiment__table-title { margin: 30px 0; } .e-experiment__description { max-width: 820px; } .e-experiment__status { margin-top: 5px; font-size: 13px; font-weight: bold; font-style: italic; } .e-experiment__button.button { margin: 18px 0 22px 14px; } .e-landing-pages-empty .elementor-blank_state { padding: 5em 0 2em 0; } .e-landing-pages-empty .e-trashed-items { text-align: center; } /*# sourceMappingURL=admin-rtl.css.map */assets/css/widget-star-rating-rtl.min.css000064400000006113152377341010014451 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ @charset "UTF-8";.elementor-star-rating{color:#ccd6df;font-family:eicons;display:inline-block}.elementor-star-rating i{display:inline-block;position:relative;font-style:normal;cursor:default}.elementor-star-rating i:before{content:"\e934";display:block;font-size:inherit;font-family:inherit;position:absolute;overflow:hidden;color:#f0ad4e;top:0;right:0}.elementor-star-rating .elementor-star-empty:before{content:none}.elementor-star-rating .elementor-star-1:before{width:10%}.elementor-star-rating .elementor-star-2:before{width:20%}.elementor-star-rating .elementor-star-3:before{width:30%}.elementor-star-rating .elementor-star-4:before{width:40%}.elementor-star-rating .elementor-star-5:before{width:50%}.elementor-star-rating .elementor-star-6:before{width:60%}.elementor-star-rating .elementor-star-7:before{width:70%}.elementor-star-rating .elementor-star-8:before{width:80%}.elementor-star-rating .elementor-star-9:before{width:90%}.elementor-star-rating__wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-star-rating__title{margin-left:10px}.elementor-star-rating--align-right .elementor-star-rating__wrapper{text-align:right;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-star-rating--align-left .elementor-star-rating__wrapper{text-align:left;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-star-rating--align-center .elementor-star-rating__wrapper{text-align:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-star-rating--align-justify .elementor-star-rating__title{margin-left:auto}@media (max-width:1024px){.elementor-star-rating-tablet--align-right .elementor-star-rating__wrapper{text-align:right;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-star-rating-tablet--align-left .elementor-star-rating__wrapper{text-align:left;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-star-rating-tablet--align-center .elementor-star-rating__wrapper{text-align:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-star-rating-tablet--align-justify .elementor-star-rating__title{margin-left:auto}}@media (max-width:767px){.elementor-star-rating-mobile--align-right .elementor-star-rating__wrapper{text-align:right;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-star-rating-mobile--align-left .elementor-star-rating__wrapper{text-align:left;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-star-rating-mobile--align-center .elementor-star-rating__wrapper{text-align:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-star-rating-mobile--align-justify .elementor-star-rating__title{margin-left:auto}}.last-star{letter-spacing:0}.elementor--star-style-star_unicode .elementor-star-rating{font-family:Arial,Helvetica,sans-serif}.elementor--star-style-star_unicode .elementor-star-rating i:not(.elementor-star-empty):before{content:"★"}assets/css/widget-toggle.min.css000064400000002603152377341010012700 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ .elementor-toggle{text-align:left}.elementor-toggle .elementor-tab-title{font-weight:700;line-height:1;margin:0;padding:15px;border-bottom:1px solid #d4d4d4;cursor:pointer;outline:none}.elementor-toggle .elementor-tab-title .elementor-toggle-icon{display:inline-block;width:1em}.elementor-toggle .elementor-tab-title .elementor-toggle-icon svg{-webkit-margin-start:-5px;margin-inline-start:-5px;width:1em;height:1em}.elementor-toggle .elementor-tab-title .elementor-toggle-icon.elementor-toggle-icon-right{float:right;text-align:right}.elementor-toggle .elementor-tab-title .elementor-toggle-icon.elementor-toggle-icon-left{float:left;text-align:left}.elementor-toggle .elementor-tab-title .elementor-toggle-icon .elementor-toggle-icon-closed{display:block}.elementor-toggle .elementor-tab-title .elementor-toggle-icon .elementor-toggle-icon-opened{display:none}.elementor-toggle .elementor-tab-title.elementor-active{border-bottom:none}.elementor-toggle .elementor-tab-title.elementor-active .elementor-toggle-icon-closed{display:none}.elementor-toggle .elementor-tab-title.elementor-active .elementor-toggle-icon-opened{display:block}.elementor-toggle .elementor-tab-content{padding:15px;border-bottom:1px solid #d4d4d4;display:none}@media (max-width:767px){.elementor-toggle .elementor-tab-title{padding:12px}.elementor-toggle .elementor-tab-content{padding:12px 10px}}assets/css/widget-video.min.css000064400000001341152377341010012523 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ .elementor-widget-video .elementor-widget-container{overflow:hidden;-webkit-transform:translateZ(0);transform:translateZ(0)}.elementor-widget-video .elementor-open-inline .elementor-custom-embed-image-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-size:cover;background-position:50%}.elementor-widget-video .elementor-custom-embed-image-overlay{cursor:pointer;text-align:center}.elementor-widget-video .elementor-custom-embed-image-overlay:hover .elementor-custom-embed-play i{opacity:1}.elementor-widget-video .elementor-custom-embed-image-overlay img{display:block;width:100%}.elementor-widget-video .e-hosted-video .elementor-video{-o-object-fit:cover;object-fit:cover}assets/css/frontend-rtl.min.css000064400000477024152377341010012571 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ @charset "UTF-8";.dialog-widget-content{background-color:#fff;position:absolute;border-radius:3px;-webkit-box-shadow:2px 8px 23px 3px rgba(0,0,0,.2);box-shadow:2px 8px 23px 3px rgba(0,0,0,.2);overflow:hidden}.dialog-message{font-size:12px;line-height:1.5;-webkit-box-sizing:border-box;box-sizing:border-box}.dialog-type-lightbox{position:fixed;height:100%;width:100%;bottom:0;left:0;background-color:rgba(0,0,0,.8);z-index:9999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dialog-type-lightbox .dialog-widget-content{margin:auto;width:375px}.dialog-type-lightbox .dialog-header{font-size:15px;color:#495157;padding:30px 0 10px;font-weight:500}.dialog-type-lightbox .dialog-message{padding:0 30px 30px;min-height:50px}.dialog-type-lightbox:not(.elementor-popup-modal) .dialog-header,.dialog-type-lightbox:not(.elementor-popup-modal) .dialog-message{text-align:center}.dialog-type-lightbox .dialog-buttons-wrapper{border-top:1px solid #e6e9ec;text-align:center}.dialog-type-lightbox .dialog-buttons-wrapper>.dialog-button{font-family:Roboto,Arial,Helvetica,Verdana,sans-serif;width:50%;border:none;background:none;color:#6d7882;font-size:15px;cursor:pointer;padding:13px 0;outline:0}.dialog-type-lightbox .dialog-buttons-wrapper>.dialog-button:hover{background-color:#f4f6f7}.dialog-type-lightbox .dialog-buttons-wrapper>.dialog-button.dialog-ok{color:#b01b1b}.dialog-type-lightbox .dialog-buttons-wrapper>.dialog-button.dialog-take_over{color:#39b54a}.dialog-type-lightbox .dialog-buttons-wrapper>.dialog-button:active{background-color:rgba(230,233,236,.5)}.dialog-type-lightbox .dialog-buttons-wrapper>.dialog-button::-moz-focus-inner{border:0}.dialog-close-button{cursor:pointer;position:absolute;margin-top:15px;left:15px;font-size:15px;line-height:1}.dialog-close-button:not(:hover){opacity:.4}.dialog-alert-widget .dialog-buttons-wrapper>button{width:100%}.dialog-confirm-widget .dialog-button:first-child{border-left:1px solid #e6e9ec}.dialog-prevent-scroll{overflow:hidden;max-height:100vh}@media (min-width:1024px){body.admin-bar .dialog-lightbox-widget{height:calc(100vh - 32px)}}@media (max-width:1024px){body.admin-bar .dialog-type-lightbox{position:sticky;height:100vh}}.elementor-aspect-ratio-219 .elementor-fit-aspect-ratio{padding-bottom:42.8571%}.elementor-aspect-ratio-169 .elementor-fit-aspect-ratio{padding-bottom:56.25%}.elementor-aspect-ratio-43 .elementor-fit-aspect-ratio{padding-bottom:75%}.elementor-aspect-ratio-32 .elementor-fit-aspect-ratio{padding-bottom:66.6666%}.elementor-aspect-ratio-11 .elementor-fit-aspect-ratio{padding-bottom:100%}.elementor-aspect-ratio-916 .elementor-fit-aspect-ratio{padding-bottom:177.8%}.elementor-fit-aspect-ratio{position:relative;height:0}.elementor-fit-aspect-ratio iframe{position:absolute;top:0;left:0;height:100%;width:100%;border:0;background-color:#000}.elementor-fit-aspect-ratio video{width:100%}.flatpickr-calendar{width:280px}.flatpickr-calendar .flatpickr-current-month span.cur-month{font-weight:300}.flatpickr-calendar .dayContainer{width:280px;min-width:280px;max-width:280px}.flatpickr-calendar .flatpickr-days{width:280px}.flatpickr-calendar .flatpickr-day{max-width:37px;height:37px;line-height:37px}.elementor-templates-modal .dialog-widget-content{font-family:Roboto,Arial,Helvetica,Verdana,sans-serif;background-color:#f1f3f5;width:100%}@media (max-width:1439px){.elementor-templates-modal .dialog-widget-content{max-width:990px}}@media (min-width:1440px){.elementor-templates-modal .dialog-widget-content{max-width:1200px}}.elementor-templates-modal .dialog-header{padding:0;z-index:1}.elementor-templates-modal .dialog-buttons-wrapper,.elementor-templates-modal .dialog-header{background-color:#fff;-webkit-box-shadow:0 0 8px rgba(0,0,0,.1);box-shadow:0 0 8px rgba(0,0,0,.1);position:relative}.elementor-templates-modal .dialog-buttons-wrapper{border:none;display:none;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;padding:5px}.elementor-templates-modal .dialog-buttons-wrapper .elementor-button{height:40px;margin-right:5px}.elementor-templates-modal .dialog-buttons-wrapper .elementor-button-success{padding:12px 36px;color:#fff;width:auto;font-size:15px}.elementor-templates-modal .dialog-buttons-wrapper .elementor-button-success:hover{background-color:#39b54a}.elementor-templates-modal .dialog-message{height:750px;max-height:85vh;overflow:auto;padding-top:25px}.elementor-templates-modal .dialog-content{height:100%}.elementor-templates-modal .dialog-loading{display:none}.elementor-templates-modal__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;height:50px}.elementor-templates-modal__header__logo{line-height:1;text-transform:uppercase;font-weight:700;cursor:pointer}.elementor-templates-modal__header__logo-area{text-align:right;padding-right:15px}.elementor-templates-modal__header__logo-area>*{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-templates-modal__header__logo__icon-wrapper{margin-left:10px;font-size:12px}.elementor-templates-modal__header__logo__title{padding-top:2px}.elementor-templates-modal__header__items-area{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-templates-modal__header__item{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-sizing:content-box;box-sizing:content-box}.elementor-templates-modal__header__item>i{font-size:20px;-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s;cursor:pointer}.elementor-templates-modal__header__item>i:not(:hover){color:#a4afb7}.elementor-templates-modal__header__close--normal{width:47px;border-right:1px solid #e6e9ec}.elementor-templates-modal__header__close--normal i{font-size:18px}.elementor-templates-modal__header__close--skip{padding:10px 20px 10px 10px;margin-left:10px;color:#fff;background-color:#a4afb7;font-size:11px;font-weight:400;line-height:1;text-transform:uppercase;border-radius:2px;cursor:pointer}.elementor-templates-modal__header__close--skip>i{font-size:inherit;padding-right:10px;margin-right:15px;border-right:1px solid}.elementor-templates-modal__header__close--skip>i:not(:hover){color:#fff}.elementor-templates-modal__sidebar{-ms-flex-negative:0;flex-shrink:0;width:25%;background-color:hsla(0,0%,100%,.3)}.elementor-templates-modal__content{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-webkit-box-shadow:0 0 13px inset rgba(0,0,0,.05);box-shadow:inset 0 0 13px rgba(0,0,0,.05)}#wpadminbar #wp-admin-bar-elementor_edit_page .elementor-general-section+.elementor-second-section{border-top:1px solid #464b50;margin-top:6px}.elementor-hidden{display:none}.elementor-screen-only,.screen-reader-text,.screen-reader-text span,.ui-helper-hidden-accessible{position:absolute;top:-10000em;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0}.elementor-clearfix:after{content:"";display:block;clear:both;width:0;height:0}.e-logo-wrapper{background:#93003c;display:inline-block;padding:.75em;border-radius:50%;line-height:1}.e-logo-wrapper i{color:#fff;font-size:1em}#e-enable-unfiltered-files-dialog-import-template .dialog-confirm-ok{color:#39b54a}#e-enable-unfiltered-files-dialog-import-template .dialog-confirm-cancel{color:#b01b1b}.elementor{-webkit-hyphens:manual;-ms-hyphens:manual;hyphens:manual}.elementor *,.elementor :after,.elementor :before{-webkit-box-sizing:border-box;box-sizing:border-box}.elementor a{-webkit-box-shadow:none;box-shadow:none;text-decoration:none}.elementor hr{margin:0;background-color:transparent}.elementor img{height:auto;max-width:100%;border:none;border-radius:0;-webkit-box-shadow:none;box-shadow:none}.elementor .elementor-widget:not(.elementor-widget-text-editor):not(.elementor-widget-theme-post-content) figure{margin:0}.elementor embed,.elementor iframe,.elementor object,.elementor video{max-width:100%;width:100%;margin:0;line-height:1;border:none}.elementor .elementor-custom-embed{line-height:0}.elementor .elementor-background,.elementor .elementor-background-holder,.elementor .elementor-background-video-container{height:100%;width:100%;top:0;left:0;position:absolute;overflow:hidden;z-index:0;direction:ltr}.elementor .elementor-background-video-container{-webkit-transition:opacity 1s;-o-transition:opacity 1s;transition:opacity 1s;pointer-events:none}.elementor .elementor-background-video-container.elementor-loading{opacity:0}.elementor .elementor-background-video-embed{max-width:none}.elementor .elementor-background-video,.elementor .elementor-background-video-embed,.elementor .elementor-background-video-hosted{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.elementor .elementor-background-video{max-width:none}.elementor .elementor-html5-video{-o-object-fit:cover;object-fit:cover}.elementor .elementor-background-overlay{height:100%;width:100%;top:0;left:0;position:absolute}.elementor .elementor-background-slideshow{position:absolute;width:100%;height:100%;z-index:0;top:0;right:0}.elementor .elementor-background-slideshow__slide__image{width:100%;height:100%;background-position:50%;background-size:cover}.e-container>.elementor-element.elementor-absolute,.elementor-widget-wrap>.elementor-element.elementor-absolute{position:absolute}.e-container>.elementor-element.elementor-fixed,.elementor-widget-wrap>.elementor-element.elementor-fixed{position:fixed}.elementor-widget-wrap .elementor-element.elementor-widget__width-auto,.elementor-widget-wrap .elementor-element.elementor-widget__width-initial{max-width:100%}@media (max-width:1024px){.elementor-widget-wrap .elementor-element.elementor-widget-tablet__width-auto,.elementor-widget-wrap .elementor-element.elementor-widget-tablet__width-initial{max-width:100%}}@media (max-width:767px){.elementor-widget-wrap .elementor-element.elementor-widget-mobile__width-auto,.elementor-widget-wrap .elementor-element.elementor-widget-mobile__width-initial{max-width:100%}}.elementor-element{--flex-direction:initial;--flex-wrap:initial;--justify-content:initial;--align-items:initial;--align-content:initial;--gap:initial;--flex-basis:initial;--flex-grow:initial;--flex-shrink:initial;--order:initial;--align-self:initial;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:var(--flex-direction);flex-direction:var(--flex-direction);-ms-flex-wrap:var(--flex-wrap);flex-wrap:var(--flex-wrap);-webkit-box-pack:var(--justify-content);-ms-flex-pack:var(--justify-content);justify-content:var(--justify-content);-webkit-box-align:var(--align-items);-ms-flex-align:var(--align-items);align-items:var(--align-items);-ms-flex-line-pack:var(--align-content);align-content:var(--align-content);gap:var(--gap);-ms-flex-preferred-size:var(--flex-basis);flex-basis:var(--flex-basis);-webkit-box-flex:var(--flex-grow);-ms-flex-positive:var(--flex-grow);flex-grow:var(--flex-grow);-ms-flex-negative:var(--flex-shrink);flex-shrink:var(--flex-shrink);-webkit-box-ordinal-group:var(--order);-ms-flex-order:var(--order);order:var(--order);-ms-flex-item-align:var(--align-self);align-self:var(--align-self)}.elementor-element.elementor-absolute,.elementor-element.elementor-fixed{z-index:1}.elementor-invisible{visibility:hidden}.elementor-align-center{text-align:center}.elementor-align-center .elementor-button{width:auto}.elementor-align-right{text-align:right}.elementor-align-right .elementor-button{width:auto}.elementor-align-left{text-align:left}.elementor-align-left .elementor-button{width:auto}.elementor-align-justify .elementor-button{width:100%}.elementor-custom-embed-play{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.elementor-custom-embed-play i{font-size:100px;color:#fff;text-shadow:1px 0 6px rgba(0,0,0,.3)}.elementor-custom-embed-play svg{height:100px;width:100px;fill:#fff;-webkit-filter:drop-shadow(1px 0 6px rgba(0,0,0,.3));filter:drop-shadow(1px 0 6px rgba(0,0,0,.3))}.elementor-custom-embed-play i,.elementor-custom-embed-play svg{opacity:.8;-webkit-transition:all .5s;-o-transition:all .5s;transition:all .5s}.elementor-custom-embed-play.elementor-playing i{font-family:eicons}.elementor-custom-embed-play.elementor-playing i:before{content:"\e8fb"}.elementor-custom-embed-play.elementor-playing i,.elementor-custom-embed-play.elementor-playing svg{-webkit-animation:eicon-spin 2s linear infinite;animation:eicon-spin 2s linear infinite}.elementor-tag{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}.elementor-ken-burns{-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;-o-transition-property:transform;transition-property:transform;transition-property:transform,-webkit-transform;-webkit-transition-duration:10s;-o-transition-duration:10s;transition-duration:10s;-webkit-transition-timing-function:linear;-o-transition-timing-function:linear;transition-timing-function:linear}.elementor-ken-burns--out{-webkit-transform:scale(1.3);-ms-transform:scale(1.3);transform:scale(1.3)}.elementor-ken-burns--active{-webkit-transition-duration:20s;-o-transition-duration:20s;transition-duration:20s}.elementor-ken-burns--active.elementor-ken-burns--out{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.elementor-ken-burns--active.elementor-ken-burns--in{-webkit-transform:scale(1.3);-ms-transform:scale(1.3);transform:scale(1.3)}@media (min-width:-1px){.elementor-widescreen-align-center{text-align:center}.elementor-widescreen-align-center .elementor-button{width:auto}.elementor-widescreen-align-right{text-align:right}.elementor-widescreen-align-right .elementor-button{width:auto}.elementor-widescreen-align-left{text-align:left}.elementor-widescreen-align-left .elementor-button{width:auto}.elementor-widescreen-align-justify .elementor-button{width:100%}}@media (max-width:-1px){.elementor-laptop-align-center{text-align:center}.elementor-laptop-align-center .elementor-button{width:auto}.elementor-laptop-align-right{text-align:right}.elementor-laptop-align-right .elementor-button{width:auto}.elementor-laptop-align-left{text-align:left}.elementor-laptop-align-left .elementor-button{width:auto}.elementor-laptop-align-justify .elementor-button{width:100%}}@media (max-width:-1px){.elementor-tablet_extra-align-center{text-align:center}.elementor-tablet_extra-align-center .elementor-button{width:auto}.elementor-tablet_extra-align-right{text-align:right}.elementor-tablet_extra-align-right .elementor-button{width:auto}.elementor-tablet_extra-align-left{text-align:left}.elementor-tablet_extra-align-left .elementor-button{width:auto}.elementor-tablet_extra-align-justify .elementor-button{width:100%}}@media (max-width:1024px){.elementor-tablet-align-center{text-align:center}.elementor-tablet-align-center .elementor-button{width:auto}.elementor-tablet-align-right{text-align:right}.elementor-tablet-align-right .elementor-button{width:auto}.elementor-tablet-align-left{text-align:left}.elementor-tablet-align-left .elementor-button{width:auto}.elementor-tablet-align-justify .elementor-button{width:100%}}@media (max-width:-1px){.elementor-mobile_extra-align-center{text-align:center}.elementor-mobile_extra-align-center .elementor-button{width:auto}.elementor-mobile_extra-align-right{text-align:right}.elementor-mobile_extra-align-right .elementor-button{width:auto}.elementor-mobile_extra-align-left{text-align:left}.elementor-mobile_extra-align-left .elementor-button{width:auto}.elementor-mobile_extra-align-justify .elementor-button{width:100%}}@media (max-width:767px){.elementor-mobile-align-center{text-align:center}.elementor-mobile-align-center .elementor-button{width:auto}.elementor-mobile-align-right{text-align:right}.elementor-mobile-align-right .elementor-button{width:auto}.elementor-mobile-align-left{text-align:left}.elementor-mobile-align-left .elementor-button{width:auto}.elementor-mobile-align-justify .elementor-button{width:100%}}:root{--page-title-display:block}.elementor-page-title,h1.entry-title{display:var(--page-title-display)}@-webkit-keyframes eicon-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes eicon-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.eicon-animation-spin{-webkit-animation:eicon-spin 2s linear infinite;animation:eicon-spin 2s linear infinite}.elementor-section{position:relative}.elementor-section .elementor-container{display:-webkit-box;display:-ms-flexbox;display:flex;margin-right:auto;margin-left:auto;position:relative}@media (max-width:1024px){.elementor-section .elementor-container{-ms-flex-wrap:wrap;flex-wrap:wrap}}.elementor-section.elementor-section-boxed>.elementor-container{max-width:1140px}.elementor-section.elementor-section-stretched{position:relative;width:100%}.elementor-section.elementor-section-items-top>.elementor-container{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.elementor-section.elementor-section-items-middle>.elementor-container{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-section.elementor-section-items-bottom>.elementor-container{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}@media (min-width:768px){.elementor-section.elementor-section-height-full{height:100vh}.elementor-section.elementor-section-height-full>.elementor-container{height:100%}}.elementor-bc-flex-widget .elementor-section-content-top>.elementor-container>.elementor-column>.elementor-widget-wrap{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.elementor-bc-flex-widget .elementor-section-content-middle>.elementor-container>.elementor-column>.elementor-widget-wrap{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-bc-flex-widget .elementor-section-content-bottom>.elementor-container>.elementor-column>.elementor-widget-wrap{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.elementor-row{width:100%;display:-webkit-box;display:-ms-flexbox;display:flex}@media (max-width:1024px){.elementor-row{-ms-flex-wrap:wrap;flex-wrap:wrap}}.elementor-widget-wrap{position:relative;width:100%;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-line-pack:start;align-content:flex-start}.elementor:not(.elementor-bc-flex-widget) .elementor-widget-wrap{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-wrap>.elementor-element{width:100%}.elementor-widget-wrap.e-swiper-container{width:calc(100% - (var(--e-column-margin-left, 0px) + var(--e-column-margin-right, 0px)))}.elementor-widget{position:relative}.elementor-widget:not(:last-child){margin-bottom:20px}.elementor-widget:not(:last-child).elementor-absolute,.elementor-widget:not(:last-child).elementor-widget__width-auto,.elementor-widget:not(:last-child).elementor-widget__width-initial{margin-bottom:0}.elementor-column{min-height:1px}.elementor-column,.elementor-column-wrap{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-column-wrap{width:100%}.elementor-column-gap-narrow>.elementor-column>.elementor-element-populated{padding:5px}.elementor-column-gap-default>.elementor-column>.elementor-element-populated{padding:10px}.elementor-column-gap-extended>.elementor-column>.elementor-element-populated{padding:15px}.elementor-column-gap-wide>.elementor-column>.elementor-element-populated{padding:20px}.elementor-column-gap-wider>.elementor-column>.elementor-element-populated{padding:30px}.elementor-inner-section .elementor-column-gap-no .elementor-element-populated{padding:0}@media (min-width:768px){.elementor-column.elementor-col-10,.elementor-column[data-col="10"]{width:10%}.elementor-column.elementor-col-11,.elementor-column[data-col="11"]{width:11.111%}.elementor-column.elementor-col-12,.elementor-column[data-col="12"]{width:12.5%}.elementor-column.elementor-col-14,.elementor-column[data-col="14"]{width:14.285%}.elementor-column.elementor-col-16,.elementor-column[data-col="16"]{width:16.666%}.elementor-column.elementor-col-20,.elementor-column[data-col="20"]{width:20%}.elementor-column.elementor-col-25,.elementor-column[data-col="25"]{width:25%}.elementor-column.elementor-col-30,.elementor-column[data-col="30"]{width:30%}.elementor-column.elementor-col-33,.elementor-column[data-col="33"]{width:33.333%}.elementor-column.elementor-col-40,.elementor-column[data-col="40"]{width:40%}.elementor-column.elementor-col-50,.elementor-column[data-col="50"]{width:50%}.elementor-column.elementor-col-60,.elementor-column[data-col="60"]{width:60%}.elementor-column.elementor-col-66,.elementor-column[data-col="66"]{width:66.666%}.elementor-column.elementor-col-70,.elementor-column[data-col="70"]{width:70%}.elementor-column.elementor-col-75,.elementor-column[data-col="75"]{width:75%}.elementor-column.elementor-col-80,.elementor-column[data-col="80"]{width:80%}.elementor-column.elementor-col-83,.elementor-column[data-col="83"]{width:83.333%}.elementor-column.elementor-col-90,.elementor-column[data-col="90"]{width:90%}.elementor-column.elementor-col-100,.elementor-column[data-col="100"]{width:100%}}@media (max-width:479px){.elementor-column.elementor-xs-10{width:10%}.elementor-column.elementor-xs-11{width:11.111%}.elementor-column.elementor-xs-12{width:12.5%}.elementor-column.elementor-xs-14{width:14.285%}.elementor-column.elementor-xs-16{width:16.666%}.elementor-column.elementor-xs-20{width:20%}.elementor-column.elementor-xs-25{width:25%}.elementor-column.elementor-xs-30{width:30%}.elementor-column.elementor-xs-33{width:33.333%}.elementor-column.elementor-xs-40{width:40%}.elementor-column.elementor-xs-50{width:50%}.elementor-column.elementor-xs-60{width:60%}.elementor-column.elementor-xs-66{width:66.666%}.elementor-column.elementor-xs-70{width:70%}.elementor-column.elementor-xs-75{width:75%}.elementor-column.elementor-xs-80{width:80%}.elementor-column.elementor-xs-83{width:83.333%}.elementor-column.elementor-xs-90{width:90%}.elementor-column.elementor-xs-100{width:100%}}@media (max-width:767px){.elementor-column.elementor-sm-10{width:10%}.elementor-column.elementor-sm-11{width:11.111%}.elementor-column.elementor-sm-12{width:12.5%}.elementor-column.elementor-sm-14{width:14.285%}.elementor-column.elementor-sm-16{width:16.666%}.elementor-column.elementor-sm-20{width:20%}.elementor-column.elementor-sm-25{width:25%}.elementor-column.elementor-sm-30{width:30%}.elementor-column.elementor-sm-33{width:33.333%}.elementor-column.elementor-sm-40{width:40%}.elementor-column.elementor-sm-50{width:50%}.elementor-column.elementor-sm-60{width:60%}.elementor-column.elementor-sm-66{width:66.666%}.elementor-column.elementor-sm-70{width:70%}.elementor-column.elementor-sm-75{width:75%}.elementor-column.elementor-sm-80{width:80%}.elementor-column.elementor-sm-83{width:83.333%}.elementor-column.elementor-sm-90{width:90%}.elementor-column.elementor-sm-100{width:100%}}@media (min-width:768px) and (max-width:1024px){.elementor-column.elementor-md-10{width:10%}.elementor-column.elementor-md-11{width:11.111%}.elementor-column.elementor-md-12{width:12.5%}.elementor-column.elementor-md-14{width:14.285%}.elementor-column.elementor-md-16{width:16.666%}.elementor-column.elementor-md-20{width:20%}.elementor-column.elementor-md-25{width:25%}.elementor-column.elementor-md-30{width:30%}.elementor-column.elementor-md-33{width:33.333%}.elementor-column.elementor-md-40{width:40%}.elementor-column.elementor-md-50{width:50%}.elementor-column.elementor-md-60{width:60%}.elementor-column.elementor-md-66{width:66.666%}.elementor-column.elementor-md-70{width:70%}.elementor-column.elementor-md-75{width:75%}.elementor-column.elementor-md-80{width:80%}.elementor-column.elementor-md-83{width:83.333%}.elementor-column.elementor-md-90{width:90%}.elementor-column.elementor-md-100{width:100%}}@media (min-width:-1px){.elementor-reverse-widescreen>.elementor-container>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-widescreen>.elementor-container>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-widescreen>.elementor-container>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-widescreen>.elementor-container>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-widescreen>.elementor-container>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-widescreen>.elementor-container>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-widescreen>.elementor-container>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-widescreen>.elementor-container>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-widescreen>.elementor-container>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-widescreen>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:1025px) and (max-width:-1px){.elementor-reverse-laptop>.elementor-container>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-laptop>.elementor-container>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-laptop>.elementor-container>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-laptop>.elementor-container>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-laptop>.elementor-container>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-laptop>.elementor-container>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-laptop>.elementor-container>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-laptop>.elementor-container>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-laptop>.elementor-container>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-laptop>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:-1px) and (max-width:-1px){.elementor-reverse-laptop>.elementor-container>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-laptop>.elementor-container>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-laptop>.elementor-container>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-laptop>.elementor-container>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-laptop>.elementor-container>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-laptop>.elementor-container>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-laptop>.elementor-container>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-laptop>.elementor-container>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-laptop>.elementor-container>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-laptop>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:1025px) and (max-width:-1px){.elementor-reverse-laptop>.elementor-container>:first-child,.elementor-reverse-laptop>.elementor-container>:nth-child(2),.elementor-reverse-laptop>.elementor-container>:nth-child(3),.elementor-reverse-laptop>.elementor-container>:nth-child(4),.elementor-reverse-laptop>.elementor-container>:nth-child(5),.elementor-reverse-laptop>.elementor-container>:nth-child(6),.elementor-reverse-laptop>.elementor-container>:nth-child(7),.elementor-reverse-laptop>.elementor-container>:nth-child(8),.elementor-reverse-laptop>.elementor-container>:nth-child(9),.elementor-reverse-laptop>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:initial;-ms-flex-order:initial;order:0}.elementor-reverse-tablet_extra>.elementor-container>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:768px) and (max-width:1024px){.elementor-reverse-tablet>.elementor-container>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-tablet>.elementor-container>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-tablet>.elementor-container>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-tablet>.elementor-container>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-tablet>.elementor-container>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-tablet>.elementor-container>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-tablet>.elementor-container>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-tablet>.elementor-container>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-tablet>.elementor-container>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-tablet>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:-1px) and (max-width:1024px){.elementor-reverse-tablet>.elementor-container>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-tablet>.elementor-container>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-tablet>.elementor-container>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-tablet>.elementor-container>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-tablet>.elementor-container>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-tablet>.elementor-container>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-tablet>.elementor-container>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-tablet>.elementor-container>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-tablet>.elementor-container>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-tablet>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:768px) and (max-width:-1px){.elementor-reverse-tablet>.elementor-container>:first-child,.elementor-reverse-tablet>.elementor-container>:nth-child(2),.elementor-reverse-tablet>.elementor-container>:nth-child(3),.elementor-reverse-tablet>.elementor-container>:nth-child(4),.elementor-reverse-tablet>.elementor-container>:nth-child(5),.elementor-reverse-tablet>.elementor-container>:nth-child(6),.elementor-reverse-tablet>.elementor-container>:nth-child(7),.elementor-reverse-tablet>.elementor-container>:nth-child(8),.elementor-reverse-tablet>.elementor-container>:nth-child(9),.elementor-reverse-tablet>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:initial;-ms-flex-order:initial;order:0}.elementor-reverse-mobile_extra>.elementor-container>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (max-width:767px){.elementor-reverse-mobile>.elementor-container>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-mobile>.elementor-container>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-mobile>.elementor-container>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-mobile>.elementor-container>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-mobile>.elementor-container>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-mobile>.elementor-container>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-mobile>.elementor-container>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-mobile>.elementor-container>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-mobile>.elementor-container>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-mobile>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.elementor-column{width:100%}}ul.elementor-icon-list-items.elementor-inline-items{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}ul.elementor-icon-list-items.elementor-inline-items .elementor-inline-item{word-break:break-word}.elementor-grid{display:grid;grid-column-gap:var(--grid-column-gap);grid-row-gap:var(--grid-row-gap)}.elementor-grid .elementor-grid-item{min-width:0}.elementor-grid-0 .elementor-grid{display:inline-block;width:100%;word-spacing:var(--grid-column-gap);margin-bottom:calc(-1 * var(--grid-row-gap))}.elementor-grid-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-bottom:var(--grid-row-gap);word-break:break-word}.elementor-grid-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}@media (min-width:-1px){.elementor-grid-widescreen-0 .elementor-grid{display:inline-block;width:100%;word-spacing:var(--grid-column-gap);margin-bottom:calc(-1 * var(--grid-row-gap))}.elementor-grid-widescreen-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-bottom:var(--grid-row-gap);word-break:break-word}.elementor-grid-widescreen-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-widescreen-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-widescreen-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-widescreen-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-widescreen-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-widescreen-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-widescreen-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-widescreen-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-widescreen-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-widescreen-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-widescreen-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-widescreen-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}}@media (max-width:-1px){.elementor-grid-laptop-0 .elementor-grid{display:inline-block;width:100%;word-spacing:var(--grid-column-gap);margin-bottom:calc(-1 * var(--grid-row-gap))}.elementor-grid-laptop-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-bottom:var(--grid-row-gap);word-break:break-word}.elementor-grid-laptop-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-laptop-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-laptop-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-laptop-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-laptop-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-laptop-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-laptop-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-laptop-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-laptop-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-laptop-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-laptop-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-laptop-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}}@media (max-width:-1px){.elementor-grid-tablet_extra-0 .elementor-grid{display:inline-block;width:100%;word-spacing:var(--grid-column-gap);margin-bottom:calc(-1 * var(--grid-row-gap))}.elementor-grid-tablet_extra-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-bottom:var(--grid-row-gap);word-break:break-word}.elementor-grid-tablet_extra-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-tablet_extra-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-tablet_extra-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-tablet_extra-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-tablet_extra-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-tablet_extra-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-tablet_extra-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-tablet_extra-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-tablet_extra-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-tablet_extra-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-tablet_extra-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-tablet_extra-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}}@media (max-width:1024px){.elementor-grid-tablet-0 .elementor-grid{display:inline-block;width:100%;word-spacing:var(--grid-column-gap);margin-bottom:calc(-1 * var(--grid-row-gap))}.elementor-grid-tablet-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-bottom:var(--grid-row-gap);word-break:break-word}.elementor-grid-tablet-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-tablet-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-tablet-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-tablet-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-tablet-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-tablet-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-tablet-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-tablet-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-tablet-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-tablet-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-tablet-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-tablet-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}}@media (max-width:-1px){.elementor-grid-mobile_extra-0 .elementor-grid{display:inline-block;width:100%;word-spacing:var(--grid-column-gap);margin-bottom:calc(-1 * var(--grid-row-gap))}.elementor-grid-mobile_extra-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-bottom:var(--grid-row-gap);word-break:break-word}.elementor-grid-mobile_extra-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-mobile_extra-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-mobile_extra-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-mobile_extra-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-mobile_extra-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-mobile_extra-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-mobile_extra-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-mobile_extra-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-mobile_extra-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-mobile_extra-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-mobile_extra-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-mobile_extra-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}}@media (max-width:767px){.elementor-grid-mobile-0 .elementor-grid{display:inline-block;width:100%;word-spacing:var(--grid-column-gap);margin-bottom:calc(-1 * var(--grid-row-gap))}.elementor-grid-mobile-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-bottom:var(--grid-row-gap);word-break:break-word}.elementor-grid-mobile-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-mobile-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-mobile-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-mobile-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-mobile-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-mobile-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-mobile-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-mobile-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-mobile-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-mobile-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-mobile-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-mobile-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}}@media (min-width:1025px){#elementor-device-mode:after{content:"desktop"}}@media (min-width:-1px){#elementor-device-mode:after{content:"widescreen"}}@media (max-width:-1px){#elementor-device-mode:after{content:"laptop";content:"tablet_extra"}}@media (max-width:1024px){#elementor-device-mode:after{content:"tablet"}}@media (max-width:-1px){#elementor-device-mode:after{content:"mobile_extra"}}@media (max-width:767px){#elementor-device-mode:after{content:"mobile"}}.e-container{--border-radius:0;--display:flex;--flex-direction:column;--flex-basis:auto;--flex-grow:0;--flex-shrink:1;--content-width:Min(100%,var(--container-max-width,1140px));--width:100%;--min-height:initial;--height:auto;--text-align:initial;--margin-top:0;--margin-right:0;--margin-bottom:0;--margin-left:0;--padding-top:var(--container-default-padding,0px);--padding-right:var(--container-default-padding,0px);--padding-bottom:var(--container-default-padding,0px);--padding-left:var(--container-default-padding,0px);--position:relative;--z-index:revert;--overflow:visible;--transition:0;--gap:var(--widgets-spacing,20px);--overlay-mix-blend-mode:initial;--overlay-opacity:1;--overlay-transition:0;position:var(--position);display:var(--display);text-align:var(--text-align);-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:var(--flex-direction);flex-direction:var(--flex-direction);-webkit-box-flex:var(--flex-grow);-ms-flex:var(--flex-grow) var(--flex-shrink) var(--flex-basis);flex:var(--flex-grow) var(--flex-shrink) var(--flex-basis);width:var(--width);min-width:0;max-width:min(100%,var(--width));min-height:var(--min-height);height:var(--height);border-radius:var(--border-radius);margin:var(--margin-top) var(--margin-right) var(--margin-bottom) var(--margin-left);padding:var(--padding-top) calc((100% - var(--content-width)) / 2 + var(--padding-right)) var(--padding-bottom) calc((100% - var(--content-width)) / 2 + var(--padding-left));z-index:var(--z-index);overflow:var(--overflow);-webkit-transition:var(--transition);-o-transition:var(--transition);transition:var(--transition)}:is(.elementor-section-wrap,[data-elementor-id])>.e-container{--margin-right:auto;--margin-left:auto}.e-container .elementor-empty-view{position:relative;width:100%;height:100%;min-height:var(--min-height,100px)}.e-container .elementor-empty-view .elementor-first-add{width:auto;height:auto;inset:10px}.e-container .elementor-widget-placeholder{--size:10px;--margin-start:calc(-1 * var(--size));--margin-end:calc(-2 * var(--size));-ms-flex-negative:0;flex-shrink:0;-ms-flex-item-align:stretch;align-self:stretch;z-index:1;pointer-events:none}.e-container.e-container--row>.elementor-widget-placeholder{position:relative;z-index:9999;width:var(--size);-webkit-margin-start:var(--margin-start);margin-inline-start:var(--margin-start);height:auto;min-height:100%;-webkit-animation-name:dnd-placeholder-widget-vertical;animation-name:dnd-placeholder-widget-vertical;-webkit-animation-fill-mode:both;animation-fill-mode:both}.e-container.e-container--row[data-nesting-level]:not([data-nesting-level="0"])>.elementor-widget-placeholder{-webkit-margin-end:0;margin-inline-end:0;-webkit-margin-start:calc(var(--margin-start) + var(--margin-end));margin-inline-start:calc(var(--margin-start) + var(--margin-end))}.e-container.e-container--row[data-nesting-level]:not([data-nesting-level="0"])>:not(.elementor-element)+.elementor-widget-placeholder{-webkit-margin-end:var(--margin-end);margin-inline-end:var(--margin-end);-webkit-margin-start:var(--margin-start);margin-inline-start:var(--margin-start)}.e-container.e-container--column>.elementor-widget-placeholder{height:var(--size);-webkit-margin-before:var(--margin-start);margin-block-start:var(--margin-start);-webkit-margin-after:var(--margin-end);margin-block-end:var(--margin-end);-webkit-animation-name:dnd-placeholder-widget-horizontal;animation-name:dnd-placeholder-widget-horizontal}.e-container.e-container--column>.elementor-widget-placeholder:nth-last-child(2){-webkit-margin-before:calc(2 * var(--margin-start));margin-block-start:calc(2 * var(--margin-start));--margin-end:0}.e-container .elementor-sortable-helper{height:84px;width:125px;z-index:-1}.e-container .elementor-widget.elementor-widget{margin-bottom:0}.e-container:before{content:var(--background-overlay);display:block;position:absolute;z-index:0;width:100%;height:100%;left:0;top:0;mix-blend-mode:var(--overlay-mix-blend-mode);opacity:var(--overlay-opacity);-webkit-transition:var(--overlay-transition);-o-transition:var(--overlay-transition);transition:var(--overlay-transition);border-radius:var(--border-radius)}.e-container .elementor-widget{min-width:0}.e-container .elementor-widget-google_maps,.e-container .elementor-widget-video{-ms-flex-preferred-size:100%;flex-basis:100%}.e-container .elementor-widget.e-widget-swiper{max-width:100%;-ms-flex-preferred-size:100%;flex-basis:100%}.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-setting,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-setting{position:relative;background-color:#556068}.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-setting:hover,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-setting:hover{background-color:#495157}.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-setting.elementor-editor-element-add,.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-setting.elementor-editor-element-edit+.elementor-editor-element-remove,.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-setting:first-child:before,.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-setting:last-child:after,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-setting.elementor-editor-element-add,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-setting.elementor-editor-element-edit+.elementor-editor-element-remove,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-setting:first-child:before,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-setting:last-child:after{display:none}.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-setting:not(.elementor-editor-element-edit),.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-setting:not(.elementor-editor-element-edit){-webkit-margin-start:-25px;margin-inline-start:-25px;z-index:-1;-webkit-transition:all .3s;-o-transition:.3s all;transition:all .3s;will-change:margin-inline-start}.e-container>.e-container>.elementor-element-overlay>.elementor-editor-element-settings:hover>:is(.elementor-editor-element-duplicate,.elementor-editor-element-remove),.elementor-widget .e-container>.elementor-element-overlay>.elementor-editor-element-settings:hover>:is(.elementor-editor-element-duplicate,.elementor-editor-element-remove){-webkit-margin-start:0;margin-inline-start:0}.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-settings,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-settings{inset:auto;-webkit-transform:none;-ms-transform:none;transform:none;inset-inline-start:0;top:0;border-radius:0;border-end-end-radius:3px;height:auto;background-color:#556068}.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-settings:hover,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-settings:hover{background-color:#495157}.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-settings i.eicon-handle:before,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-settings i.eicon-handle:before{content:"\e9b4";font-size:20px;display:block;padding:2px}@media (max-width:767px){.e-container{--width:100%;--flex-wrap:wrap}}@-webkit-keyframes dnd-placeholder-widget-vertical{0%{-webkit-transform-origin:0 50%;transform-origin:0 50%;-webkit-transform:translateX(50%) scaleX(0);transform:translateX(50%) scaleX(0);opacity:0}to{-webkit-transform-origin:0 50%;transform-origin:0 50%;-webkit-transform:translateX(50%) scaleX(1);transform:translateX(50%) scaleX(1);opacity:.9}}@keyframes dnd-placeholder-widget-vertical{0%{-webkit-transform-origin:0 50%;transform-origin:0 50%;-webkit-transform:translateX(50%) scaleX(0);transform:translateX(50%) scaleX(0);opacity:0}to{-webkit-transform-origin:0 50%;transform-origin:0 50%;-webkit-transform:translateX(50%) scaleX(1);transform:translateX(50%) scaleX(1);opacity:.9}}@-webkit-keyframes dnd-placeholder-widget-horizontal{0%{-webkit-transform-origin:50% 0;transform-origin:50% 0;-webkit-transform:scaleY(0);transform:scaleY(0);opacity:0}to{-webkit-transform-origin:50% 0;transform-origin:50% 0;-webkit-transform:scaleY(1);transform:scaleY(1);opacity:.9}}@keyframes dnd-placeholder-widget-horizontal{0%{-webkit-transform-origin:50% 0;transform-origin:50% 0;-webkit-transform:scaleY(0);transform:scaleY(0);opacity:0}to{-webkit-transform-origin:50% 0;transform-origin:50% 0;-webkit-transform:scaleY(1);transform:scaleY(1);opacity:.9}}.elementor-form-fields-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group .elementor-field-subgroup,.elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group>.elementor-select-wrapper,.elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group>input,.elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group>textarea{-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.elementor-form-fields-wrapper.elementor-labels-inline>.elementor-field-group .elementor-select-wrapper,.elementor-form-fields-wrapper.elementor-labels-inline>.elementor-field-group>input{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-field-group{-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-field-group.elementor-field-type-submit{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.elementor-field-group .elementor-field-textual{width:100%;max-width:100%;border:1px solid #818a91;background-color:transparent;color:#373a3c;vertical-align:middle;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-field-group .elementor-field-textual:focus{-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.1) inset;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);outline:0}.elementor-field-group .elementor-field-textual::-webkit-input-placeholder{color:inherit;font-family:inherit;opacity:.6}.elementor-field-group .elementor-field-textual:-ms-input-placeholder{color:inherit;font-family:inherit;opacity:.6}.elementor-field-group .elementor-field-textual:-moz-placeholder,.elementor-field-group .elementor-field-textual::-moz-placeholder{color:inherit;font-family:inherit;opacity:.6}.elementor-field-group .elementor-field-textual::-ms-input-placeholder{color:inherit;font-family:inherit;opacity:.6}.elementor-field-group .elementor-field-textual::placeholder{color:inherit;font-family:inherit;opacity:.6}.elementor-field-group .elementor-select-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;position:relative;width:100%}.elementor-field-group .elementor-select-wrapper select{appearance:none;-webkit-appearance:none;-moz-appearance:none;color:inherit;font-size:inherit;font-family:inherit;font-weight:inherit;font-style:inherit;text-transform:inherit;letter-spacing:inherit;line-height:inherit;-ms-flex-preferred-size:100%;flex-basis:100%;padding-left:20px}.elementor-field-group .elementor-select-wrapper:before{content:"\e92a";font-family:eicons;font-size:15px;position:absolute;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);left:10px;pointer-events:none;text-shadow:0 0 3px rgba(0,0,0,.3)}.elementor-field-group.elementor-field-type-select-multiple .elementor-select-wrapper:before{content:""}.elementor-field-subgroup{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.elementor-field-subgroup .elementor-field-option label{display:inline-block}.elementor-field-subgroup.elementor-subgroup-inline .elementor-field-option{padding-left:10px}.elementor-field-subgroup:not(.elementor-subgroup-inline) .elementor-field-option{-ms-flex-preferred-size:100%;flex-basis:100%}.elementor-field-type-acceptance .elementor-field-subgroup .elementor-field-option input,.elementor-field-type-acceptance .elementor-field-subgroup .elementor-field-option label,.elementor-field-type-checkbox .elementor-field-subgroup .elementor-field-option input,.elementor-field-type-checkbox .elementor-field-subgroup .elementor-field-option label,.elementor-field-type-radio .elementor-field-subgroup .elementor-field-option input,.elementor-field-type-radio .elementor-field-subgroup .elementor-field-option label{display:inline}.elementor-field-label{cursor:pointer}.elementor-mark-required .elementor-field-label:after{content:"*";color:red;padding-right:.2em}.elementor-field-textual{line-height:1.4;font-size:15px;min-height:40px;padding:5px 14px;border-radius:3px}.elementor-field-textual.elementor-size-xs{font-size:13px;min-height:33px;padding:4px 12px;border-radius:2px}.elementor-field-textual.elementor-size-md{font-size:16px;min-height:47px;padding:6px 16px;border-radius:4px}.elementor-field-textual.elementor-size-lg{font-size:18px;min-height:59px;padding:7px 20px;border-radius:5px}.elementor-field-textual.elementor-size-xl{font-size:20px;min-height:72px;padding:8px 24px;border-radius:6px}.elementor-button-align-stretch .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button{-ms-flex-preferred-size:100%;flex-basis:100%}.elementor-button-align-stretch .e-form__buttons__wrapper{-ms-flex-preferred-size:50%;flex-basis:50%;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-button-align-stretch .e-form__buttons__wrapper__button{-ms-flex-preferred-size:100%;flex-basis:100%}.elementor-button-align-center .e-form__buttons,.elementor-button-align-center .elementor-field-type-submit{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-button-align-start .e-form__buttons,.elementor-button-align-start .elementor-field-type-submit{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-button-align-end .e-form__buttons,.elementor-button-align-end .elementor-field-type-submit{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-button-align-center .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button,.elementor-button-align-end .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button,.elementor-button-align-start .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button{-ms-flex-preferred-size:initial;flex-basis:auto}.elementor-button-align-center .e-form__buttons__wrapper,.elementor-button-align-end .e-form__buttons__wrapper,.elementor-button-align-start .e-form__buttons__wrapper{-webkit-box-flex:initial;-ms-flex-positive:initial;flex-grow:0}.elementor-button-align-center .e-form__buttons__wrapper,.elementor-button-align-center .e-form__buttons__wrapper__button,.elementor-button-align-end .e-form__buttons__wrapper,.elementor-button-align-end .e-form__buttons__wrapper__button,.elementor-button-align-start .e-form__buttons__wrapper,.elementor-button-align-start .e-form__buttons__wrapper__button{-ms-flex-preferred-size:initial;flex-basis:auto}@media screen and (max-width:1024px){.elementor-tablet-button-align-stretch .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button{-ms-flex-preferred-size:100%;flex-basis:100%}.elementor-tablet-button-align-stretch .e-form__buttons__wrapper{-ms-flex-preferred-size:50%;flex-basis:50%;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-tablet-button-align-stretch .e-form__buttons__wrapper__button{-ms-flex-preferred-size:100%;flex-basis:100%}.elementor-tablet-button-align-center .e-form__buttons,.elementor-tablet-button-align-center .elementor-field-type-submit{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-tablet-button-align-start .e-form__buttons,.elementor-tablet-button-align-start .elementor-field-type-submit{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-tablet-button-align-end .e-form__buttons,.elementor-tablet-button-align-end .elementor-field-type-submit{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-tablet-button-align-center .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button,.elementor-tablet-button-align-end .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button,.elementor-tablet-button-align-start .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button{-ms-flex-preferred-size:initial;flex-basis:auto}.elementor-tablet-button-align-center .e-form__buttons__wrapper,.elementor-tablet-button-align-end .e-form__buttons__wrapper,.elementor-tablet-button-align-start .e-form__buttons__wrapper{-webkit-box-flex:initial;-ms-flex-positive:initial;flex-grow:0}.elementor-tablet-button-align-center .e-form__buttons__wrapper,.elementor-tablet-button-align-center .e-form__buttons__wrapper__button,.elementor-tablet-button-align-end .e-form__buttons__wrapper,.elementor-tablet-button-align-end .e-form__buttons__wrapper__button,.elementor-tablet-button-align-start .e-form__buttons__wrapper,.elementor-tablet-button-align-start .e-form__buttons__wrapper__button{-ms-flex-preferred-size:initial;flex-basis:auto}}@media screen and (max-width:767px){.elementor-mobile-button-align-stretch .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button{-ms-flex-preferred-size:100%;flex-basis:100%}.elementor-mobile-button-align-stretch .e-form__buttons__wrapper{-ms-flex-preferred-size:50%;flex-basis:50%;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-mobile-button-align-stretch .e-form__buttons__wrapper__button{-ms-flex-preferred-size:100%;flex-basis:100%}.elementor-mobile-button-align-center .e-form__buttons,.elementor-mobile-button-align-center .elementor-field-type-submit{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-mobile-button-align-start .e-form__buttons,.elementor-mobile-button-align-start .elementor-field-type-submit{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-mobile-button-align-end .e-form__buttons,.elementor-mobile-button-align-end .elementor-field-type-submit{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-mobile-button-align-center .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button,.elementor-mobile-button-align-end .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button,.elementor-mobile-button-align-start .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button{-ms-flex-preferred-size:initial;flex-basis:auto}.elementor-mobile-button-align-center .e-form__buttons__wrapper,.elementor-mobile-button-align-end .e-form__buttons__wrapper,.elementor-mobile-button-align-start .e-form__buttons__wrapper{-webkit-box-flex:initial;-ms-flex-positive:initial;flex-grow:0}.elementor-mobile-button-align-center .e-form__buttons__wrapper,.elementor-mobile-button-align-center .e-form__buttons__wrapper__button,.elementor-mobile-button-align-end .e-form__buttons__wrapper,.elementor-mobile-button-align-end .e-form__buttons__wrapper__button,.elementor-mobile-button-align-start .e-form__buttons__wrapper,.elementor-mobile-button-align-start .e-form__buttons__wrapper__button{-ms-flex-preferred-size:initial;flex-basis:auto}}.elementor-error .elementor-field{border-color:#d9534f}.elementor-error .help-inline{color:#d9534f;font-size:.9em}.elementor-message{margin:10px 0;font-size:1em;line-height:1}.elementor-message:before{content:"\e90e";display:inline-block;font-family:eicons;font-weight:400;font-style:normal;vertical-align:middle;margin-left:5px}.elementor-message.elementor-message-danger{color:#d9534f}.elementor-message.elementor-message-danger:before{content:"\e87f"}.elementor-message.form-message-success{color:#5cb85c}.elementor-form .elementor-button{padding-top:0;padding-bottom:0;border:none}.elementor-form .elementor-button>span{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-form .elementor-button.elementor-size-xs{min-height:33px}.elementor-form .elementor-button.elementor-size-sm{min-height:40px}.elementor-form .elementor-button.elementor-size-md{min-height:47px}.elementor-form .elementor-button.elementor-size-lg{min-height:59px}.elementor-form .elementor-button.elementor-size-xl{min-height:72px}.elementor-element .elementor-widget-container{-webkit-transition:background .3s,border .3s,border-radius .3s,-webkit-box-shadow .3s;transition:background .3s,border .3s,border-radius .3s,-webkit-box-shadow .3s;-o-transition:background .3s,border .3s,border-radius .3s,box-shadow .3s;transition:background .3s,border .3s,border-radius .3s,box-shadow .3s;transition:background .3s,border .3s,border-radius .3s,box-shadow .3s,-webkit-box-shadow .3s}.elementor-button{display:inline-block;line-height:1;background-color:#818a91;font-size:15px;padding:12px 24px;border-radius:3px;color:#fff;fill:#fff;text-align:center;-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s}.elementor-button:focus,.elementor-button:hover,.elementor-button:visited{color:#fff}.elementor-button-content-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-button-icon{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-button-icon svg{width:1em;height:auto}.elementor-button-icon .e-font-icon-svg{height:1em}.elementor-button-text{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10;display:inline-block}.elementor-button.elementor-size-xs{font-size:13px;padding:10px 20px;border-radius:2px}.elementor-button.elementor-size-md{font-size:16px;padding:15px 30px;border-radius:4px}.elementor-button.elementor-size-lg{font-size:18px;padding:20px 40px;border-radius:5px}.elementor-button.elementor-size-xl{font-size:20px;padding:25px 50px;border-radius:6px}.elementor-button .elementor-align-icon-right{margin-left:5px;-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-button .elementor-align-icon-left{margin-right:5px;-webkit-box-ordinal-group:16;-ms-flex-order:15;order:15}.elementor-button span{text-decoration:inherit}.elementor-element.elementor-button-info .elementor-button{background-color:#5bc0de}.elementor-element.elementor-button-success .elementor-button{background-color:#5cb85c}.elementor-element.elementor-button-warning .elementor-button{background-color:#f0ad4e}.elementor-element.elementor-button-danger .elementor-button{background-color:#d9534f}.elementor-widget-button .elementor-button .elementor-button-info{background-color:#5bc0de}.elementor-widget-button .elementor-button .elementor-button-success{background-color:#5cb85c}.elementor-widget-button .elementor-button .elementor-button-warning{background-color:#f0ad4e}.elementor-widget-button .elementor-button .elementor-button-danger{background-color:#d9534f}.elementor-tab-title a{color:inherit}.elementor-view-stacked .elementor-icon{padding:.5em;background-color:#818a91;color:#fff;fill:#fff}.elementor-view-framed .elementor-icon{padding:.5em;color:#818a91;border:3px solid #818a91;background-color:transparent}.elementor-icon{display:inline-block;line-height:1;-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s;color:#818a91;font-size:50px;text-align:center}.elementor-icon:hover{color:#818a91}.elementor-icon i,.elementor-icon svg{width:1em;height:1em;position:relative;display:block}.elementor-icon i:before,.elementor-icon svg:before{position:absolute;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.elementor-icon i.fad{width:auto}.elementor-shape-circle .elementor-icon{border-radius:50%}.e-transform .elementor-widget-container{-webkit-transform:perspective(var(--e-transform-perspective,0)) rotate(var(--e-transform-rotateZ,0)) rotateX(var(--e-transform-rotateX,0)) rotateY(var(--e-transform-rotateY,0)) translate(var(--e-transform-translate,0)) translateX(var(--e-transform-translateX,0)) translateY(var(--e-transform-translateY,0)) scaleX(calc(var(--e-transform-flipX, 1) * var(--e-transform-scaleX, var(--e-transform-scale, 1)))) scaleY(calc(var(--e-transform-flipY, 1) * var(--e-transform-scaleY, var(--e-transform-scale, 1)))) skewX(var(--e-transform-skewX,0)) skewY(var(--e-transform-skewY,0));transform:perspective(var(--e-transform-perspective,0)) rotate(var(--e-transform-rotateZ,0)) rotateX(var(--e-transform-rotateX,0)) rotateY(var(--e-transform-rotateY,0)) translate(var(--e-transform-translate,0)) translateX(var(--e-transform-translateX,0)) translateY(var(--e-transform-translateY,0)) scaleX(calc(var(--e-transform-flipX, 1) * var(--e-transform-scaleX, var(--e-transform-scale, 1)))) scaleY(calc(var(--e-transform-flipY, 1) * var(--e-transform-scaleY, var(--e-transform-scale, 1)))) skewX(var(--e-transform-skewX,0)) skewY(var(--e-transform-skewY,0));-webkit-transform-origin:var(--e-transform-origin-y) var(--e-transform-origin-x);-ms-transform-origin:var(--e-transform-origin-y) var(--e-transform-origin-x);transform-origin:var(--e-transform-origin-y) var(--e-transform-origin-x);-webkit-transition:-webkit-transform var(--e-transform-transition-duration,.4s);transition:-webkit-transform var(--e-transform-transition-duration,.4s);-o-transition:transform var(--e-transform-transition-duration,.4s);transition:transform var(--e-transform-transition-duration,.4s);transition:transform var(--e-transform-transition-duration,.4s),-webkit-transform var(--e-transform-transition-duration,.4s)}.swiper-container{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;z-index:1}.swiper-container .swiper-slide figure{line-height:0}.swiper-container .elementor-lightbox-content-source{display:none}.swiper-container-no-flexbox .swiper-slide{float:left}.swiper-container-vertical>.swiper-wrapper{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;-o-transition-property:transform;transition-property:transform;transition-property:transform,-webkit-transform;-webkit-box-sizing:content-box;box-sizing:content-box}.swiper-container-android .swiper-slide,.swiper-wrapper{-webkit-transform:translateZ(0);transform:translateZ(0)}.swiper-container-multirow>.swiper-wrapper{-ms-flex-wrap:wrap;flex-wrap:wrap}.swiper-container-free-mode>.swiper-wrapper{-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;margin:0 auto}.swiper-slide{-ms-flex-negative:0;flex-shrink:0;width:100%;height:100%;position:relative}.swiper-container-autoheight,.swiper-container-autoheight .swiper-slide{height:auto}.swiper-container-autoheight .swiper-wrapper{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-transition-property:height,-webkit-transform;transition-property:height,-webkit-transform;-o-transition-property:transform,height;transition-property:transform,height;transition-property:transform,height,-webkit-transform}.swiper-container .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-wp8-horizontal{-ms-touch-action:pan-y;touch-action:pan-y}.swiper-wp8-vertical{-ms-touch-action:pan-x;touch-action:pan-x}.swiper-button-next,.swiper-button-prev{position:absolute;top:50%;width:27px;height:44px;margin-top:-22px;z-index:10;cursor:pointer;background-size:27px 44px;background:no-repeat 50%}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-prev,.swiper-container-rtl .swiper-button-next{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 44'%3E%3Cpath d='M0 22L22 0l2.1 2.1L4.2 22l19.9 19.9L22 44 0 22z' fill='%23007aff'/%3E%3C/svg%3E");left:10px;right:auto}.swiper-button-prev.swiper-button-black,.swiper-container-rtl .swiper-button-next.swiper-button-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 44'%3E%3Cpath d='M0 22L22 0l2.1 2.1L4.2 22l19.9 19.9L22 44 0 22z'/%3E%3C/svg%3E")}.swiper-button-prev.swiper-button-white,.swiper-container-rtl .swiper-button-next.swiper-button-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 44'%3E%3Cpath d='M0 22L22 0l2.1 2.1L4.2 22l19.9 19.9L22 44 0 22z' fill='%23fff'/%3E%3C/svg%3E")}.swiper-button-next,.swiper-container-rtl .swiper-button-prev{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 44'%3E%3Cpath d='M27 22L5 44l-2.1-2.1L22.8 22 2.9 2.1 5 0l22 22z' fill='%23007aff'/%3E%3C/svg%3E");right:10px;left:auto}.swiper-button-next.swiper-button-black,.swiper-container-rtl .swiper-button-prev.swiper-button-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 44'%3E%3Cpath d='M27 22L5 44l-2.1-2.1L22.8 22 2.9 2.1 5 0l22 22z'/%3E%3C/svg%3E")}.swiper-button-next.swiper-button-white,.swiper-container-rtl .swiper-button-prev.swiper-button-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 44'%3E%3Cpath d='M27 22L5 44l-2.1-2.1L22.8 22 2.9 2.1 5 0l22 22z' fill='%23fff'/%3E%3C/svg%3E")}.swiper-pagination{position:absolute;text-align:center;-webkit-transition:.3s;-o-transition:.3s;transition:.3s;-webkit-transform:translateZ(0);transform:translateZ(0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-container-horizontal>.swiper-pagination-bullets,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:5px;left:0;width:100%}.swiper-pagination-bullet{width:6px;height:6px;display:inline-block;border-radius:50%;background:#000;opacity:.2}.swiper-pagination-fraction{color:#000}button.swiper-pagination-bullet{border:none;margin:0;padding:0;-webkit-box-shadow:none;box-shadow:none;appearance:none;-webkit-appearance:none;-moz-appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-white .swiper-pagination-bullet{background:#fff}.swiper-pagination-bullet-active{opacity:1}.swiper-pagination-white .swiper-pagination-bullet-active{background:#fff}.swiper-pagination-black .swiper-pagination-bullet-active{background:#000}.swiper-container-vertical>.swiper-pagination-bullets{right:10px;top:50%;-webkit-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0)}.swiper-container-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:5px 0;display:block}.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 6px}.swiper-pagination-progressbar{background:rgba(0,0,0,.25);position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:#000;position:absolute;left:0;top:0;width:100%;height:100%;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);-webkit-transform-origin:left top;-ms-transform-origin:left top;transform-origin:left top}.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{-webkit-transform-origin:right top;-ms-transform-origin:right top;transform-origin:right top}.swiper-container-horizontal>.swiper-pagination-progressbar{width:100%;height:4px;left:0;top:0}.swiper-container-vertical>.swiper-pagination-progressbar{width:4px;height:100%;left:0;top:0}.swiper-pagination-progressbar.swiper-pagination-white{background:hsla(0,0%,100%,.5)}.swiper-pagination-progressbar.swiper-pagination-white .swiper-pagination-progressbar-fill{background:#fff}.swiper-pagination-progressbar.swiper-pagination-black .swiper-pagination-progressbar-fill{background:#000}.swiper-container-3d{-webkit-perspective:1200px;perspective:1200px}.swiper-container-3d .swiper-cube-shadow,.swiper-container-3d .swiper-slide,.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top,.swiper-container-3d .swiper-wrapper{-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-container-3d .swiper-slide-shadow-left{background-image:-o-linear-gradient(right,rgba(0,0,0,.5),transparent);background-image:-webkit-gradient(linear,right top,left top,from(rgba(0,0,0,.5)),to(transparent));background-image:linear-gradient(270deg,rgba(0,0,0,.5),transparent)}.swiper-container-3d .swiper-slide-shadow-right{background-image:-o-linear-gradient(left,rgba(0,0,0,.5),transparent);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(transparent));background-image:linear-gradient(90deg,rgba(0,0,0,.5),transparent)}.swiper-container-3d .swiper-slide-shadow-top{background-image:-o-linear-gradient(bottom,rgba(0,0,0,.5),transparent);background-image:-webkit-gradient(linear,left bottom,left top,from(rgba(0,0,0,.5)),to(transparent));background-image:linear-gradient(0deg,rgba(0,0,0,.5),transparent)}.swiper-container-3d .swiper-slide-shadow-bottom{background-image:-o-linear-gradient(top,rgba(0,0,0,.5),transparent);background-image:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.5)),to(transparent));background-image:linear-gradient(180deg,rgba(0,0,0,.5),transparent)}.swiper-container-coverflow .swiper-wrapper,.swiper-container-flip .swiper-wrapper{-ms-perspective:1200px}.swiper-container-cube,.swiper-container-flip{overflow:visible}.swiper-container-cube .swiper-slide,.swiper-container-flip .swiper-slide{pointer-events:none;z-index:1}.swiper-container-cube .swiper-slide .swiper-slide,.swiper-container-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-active .swiper-slide-active,.swiper-container-flip .swiper-slide-active,.swiper-container-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-cube .swiper-slide-shadow-bottom,.swiper-container-cube .swiper-slide-shadow-left,.swiper-container-cube .swiper-slide-shadow-right,.swiper-container-cube .swiper-slide-shadow-top,.swiper-container-flip .swiper-slide-shadow-bottom,.swiper-container-flip .swiper-slide-shadow-left,.swiper-container-flip .swiper-slide-shadow-right,.swiper-container-flip .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-container-cube .swiper-slide{visibility:hidden;-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0;width:100%;height:100%}.swiper-container-cube.swiper-container-rtl .swiper-slide{-webkit-transform-origin:100% 0;-ms-transform-origin:100% 0;transform-origin:100% 0}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-next,.swiper-container-cube .swiper-slide-next+.swiper-slide,.swiper-container-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-container-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0;width:100%;height:100%;background:#000;opacity:.6;-webkit-filter:blur(50px);filter:blur(50px);z-index:0}.swiper-container-fade.swiper-container-free-mode .swiper-slide{-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out}.swiper-container-fade .swiper-slide{pointer-events:none;-webkit-transition-property:opacity;-o-transition-property:opacity;transition-property:opacity}.swiper-container-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-fade .swiper-slide-active,.swiper-container-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-zoom-container{width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain}.swiper-scrollbar{border-radius:10px;position:relative;-ms-touch-action:none;background:rgba(0,0,0,.1)}.swiper-container-horizontal>.swiper-scrollbar{position:absolute;left:1%;bottom:3px;z-index:50;height:5px;width:98%}.swiper-container-vertical>.swiper-scrollbar{position:absolute;right:3px;top:1%;z-index:50;width:5px;height:98%}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:rgba(0,0,0,.5);border-radius:10px;left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.elementor-pagination-position-outside .swiper-container{padding-bottom:30px}.elementor-pagination-position-outside .elementor-swiper-button{top:calc(50% - 30px / 2)}.elementor-swiper{position:relative}.elementor-main-swiper{position:static}.elementor-arrows-position-outside .swiper-container{width:calc(100% - 60px)}.elementor-arrows-position-outside .elementor-swiper-button-prev{left:0}.elementor-arrows-position-outside .elementor-swiper-button-next{right:0}.swiper-image-stretch .swiper-slide .swiper-slide-image{width:100%}.elementor-swiper-button{position:absolute;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;z-index:1;cursor:pointer;font-size:25px;color:hsla(0,0%,93.3%,.9);top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.elementor-swiper-button svg{fill:hsla(0,0%,93.3%,.9);height:1em;width:1em}.elementor-swiper-button-prev{left:10px}.elementor-swiper-button-next{right:10px}.elementor-swiper-button.swiper-button-disabled{opacity:.3}.swiper-container-cube .elementor-swiper-button{-webkit-transform:translate3d(0,-50%,1px);transform:translate3d(0,-50%,1px)}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;-webkit-transform-origin:50%;-ms-transform-origin:50%;transform-origin:50%;-webkit-animation:swiper-preloader-spin 1s steps(12) infinite;animation:swiper-preloader-spin 1s steps(12) infinite}.swiper-lazy-preloader:after{display:block;content:"";width:100%;height:100%;background-size:100%;background:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 120 120' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath id='a' stroke='%236c6c6c' stroke-width='11' stroke-linecap='round' d='M60 7v20'/%3E%3C/defs%3E%3Cuse xlink:href='%23a' opacity='.27'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(30 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(60 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(90 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(120 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(150 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.37' transform='rotate(180 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.46' transform='rotate(210 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.56' transform='rotate(240 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.66' transform='rotate(270 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.75' transform='rotate(300 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.85' transform='rotate(330 60 60)'/%3E%3C/svg%3E") no-repeat 50%}.swiper-lazy-preloader-white:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 120 120' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath id='a' stroke='%23fff' stroke-width='11' stroke-linecap='round' d='M60 7v20'/%3E%3C/defs%3E%3Cuse xlink:href='%23a' opacity='.27'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(30 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(60 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(90 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(120 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(150 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.37' transform='rotate(180 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.46' transform='rotate(210 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.56' transform='rotate(240 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.66' transform='rotate(270 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.75' transform='rotate(300 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.85' transform='rotate(330 60 60)'/%3E%3C/svg%3E")}@-webkit-keyframes swiper-preloader-spin{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes swiper-preloader-spin{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.elementor-lightbox{--lightbox-ui-color:hsla(0,0%,93.3%,0.9);--lightbox-ui-color-hover:#fff;--lightbox-text-color:var(--lightbox-ui-color);--lightbox-header-icons-size:20px;--lightbox-navigation-icons-size:25px}.elementor-lightbox .dialog-header{display:none}.elementor-lightbox .dialog-widget-content{background:none;-webkit-box-shadow:none;box-shadow:none;width:100%;height:100%}.elementor-lightbox .dialog-message{-webkit-animation-duration:.3s;animation-duration:.3s}.elementor-lightbox .dialog-message:not(.elementor-fit-aspect-ratio){height:100%}.elementor-lightbox .dialog-message.dialog-lightbox-message{padding:0}.elementor-lightbox .dialog-lightbox-close-button{cursor:pointer;position:absolute;font-size:var(--lightbox-header-icons-size);left:.75em;margin-top:13px;padding:.25em;z-index:2;line-height:1;display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-lightbox .dialog-lightbox-close-button svg{height:1em;width:1em}.elementor-lightbox .dialog-lightbox-close-button,.elementor-lightbox .elementor-swiper-button{color:var(--lightbox-ui-color);-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s;opacity:1}.elementor-lightbox .dialog-lightbox-close-button svg,.elementor-lightbox .elementor-swiper-button svg{fill:var(--lightbox-ui-color)}.elementor-lightbox .dialog-lightbox-close-button:hover,.elementor-lightbox .elementor-swiper-button:hover{color:var(--lightbox-ui-color-hover)}.elementor-lightbox .dialog-lightbox-close-button:hover svg,.elementor-lightbox .elementor-swiper-button:hover svg{fill:var(--lightbox-ui-color-hover)}.elementor-lightbox .swiper-container{height:100%}.elementor-lightbox .elementor-lightbox-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;position:relative;padding:70px;-webkit-box-sizing:border-box;box-sizing:border-box;height:100%;margin:auto}@media (max-width:767px){.elementor-lightbox .elementor-lightbox-item{padding:70px 0}}.elementor-lightbox .elementor-lightbox-image{max-height:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.elementor-lightbox .elementor-lightbox-image,.elementor-lightbox .elementor-lightbox-image:hover{opacity:1;-webkit-filter:none;filter:none;border:none}.elementor-lightbox .elementor-lightbox-image,.elementor-lightbox .elementor-video-container{-webkit-box-shadow:0 0 30px rgba(0,0,0,.3),0 0 8px -5px rgba(0,0,0,.3);box-shadow:0 0 30px rgba(0,0,0,.3),0 0 8px -5px rgba(0,0,0,.3);border-radius:2px}.elementor-lightbox .elementor-video-container{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}@media (min-width:1025px){.elementor-lightbox .elementor-video-container{width:75%}}@media (max-width:1024px){.elementor-lightbox .elementor-video-container{width:100%}}@media (min-width:768px) and (max-width:1024px){.elementor-lightbox .elementor-aspect-ratio-916 .elementor-video-container{width:70%}}.elementor-lightbox .elementor-swiper-button:focus{outline-width:1px}.elementor-lightbox .elementor-swiper-button-next,.elementor-lightbox .elementor-swiper-button-prev{height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:15%;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:var(--lightbox-navigation-icons-size)}.elementor-lightbox .elementor-swiper-button-prev{left:0}.elementor-lightbox .elementor-swiper-button-next{right:0}@media (max-width:767px){.elementor-lightbox .elementor-swiper-button:focus{outline:none}.elementor-lightbox .elementor-swiper-button-next,.elementor-lightbox .elementor-swiper-button-prev{width:20%}.elementor-lightbox .elementor-swiper-button-next i,.elementor-lightbox .elementor-swiper-button-prev i{padding:10px;background-color:rgba(0,0,0,.5)}.elementor-lightbox .elementor-swiper-button-prev{left:0;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-lightbox .elementor-swiper-button-next{right:0;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}}.elementor-slideshow__counter{color:currentColor;font-size:.75em;width:-webkit-max-content;width:-moz-max-content;width:max-content}.elementor-slideshow__footer,.elementor-slideshow__header{position:absolute;left:0;width:100%;padding:15px 20px;-webkit-transition:.3s;-o-transition:.3s;transition:.3s}.elementor-slideshow__footer{color:var(--lightbox-text-color)}.elementor-slideshow__header{color:var(--lightbox-ui-color);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;font-size:var(--lightbox-header-icons-size);padding-right:1em;padding-left:2.6em;top:0;-webkit-box-align:center;-ms-flex-align:center;align-items:center;z-index:10}.elementor-slideshow__header>i,.elementor-slideshow__header>svg{cursor:pointer;padding:.25em;margin:0 .35em}.elementor-slideshow__header>i{font-size:inherit}.elementor-slideshow__header>i:hover{color:var(--lightbox-ui-color-hover)}.elementor-slideshow__header>svg{-webkit-box-sizing:content-box;box-sizing:content-box;fill:var(--lightbox-ui-color);height:1em;width:1em}.elementor-slideshow__header>svg:hover{fill:var(--lightbox-ui-color-hover)}.elementor-slideshow__header .elementor-slideshow__counter{margin-left:auto}.elementor-slideshow__header .elementor-icon-share{z-index:5}.elementor-slideshow__share-menu{background-color:transparent;width:0;height:0;position:absolute;overflow:hidden;-webkit-transition:background-color .4s;-o-transition:background-color .4s;transition:background-color .4s}.elementor-slideshow__share-menu .elementor-slideshow__share-links a{color:#2c2c2c}.elementor-slideshow__share-links{display:block;position:absolute;min-width:200px;left:2.8em;top:3em;background-color:#fff;border-radius:3px;padding:14px 20px;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);opacity:0;-webkit-transform-origin:90% 10%;-ms-transform-origin:90% 10%;transform-origin:90% 10%;-webkit-transition:all .25s .1s;-o-transition:all .25s .1s;transition:all .25s .1s;-webkit-box-shadow:0 4px 15px rgba(0,0,0,.3);box-shadow:0 4px 15px rgba(0,0,0,.3)}.elementor-slideshow__share-links a{text-align:right;color:#55595c;font-size:12px;line-height:2.5;display:block;opacity:0;-webkit-transition:opacity .5s .1s;-o-transition:opacity .5s .1s;transition:opacity .5s .1s}.elementor-slideshow__share-links a:hover{color:#000}.elementor-slideshow__share-links a i,.elementor-slideshow__share-links a svg{margin-left:.75em}.elementor-slideshow__share-links a i{font-size:1.25em}.elementor-slideshow__share-links a svg{height:1.25em;width:1.25em}.elementor-slideshow__share-links:before{content:"";display:block;position:absolute;top:1px;left:.5em;border:.45em solid transparent;border-bottom-color:#fff;-webkit-transform:translateY(-100%) scaleX(.7);-ms-transform:translateY(-100%) scaleX(.7);transform:translateY(-100%) scaleX(.7)}.elementor-slideshow__footer{bottom:0;z-index:5;position:fixed}.elementor-slideshow__description,.elementor-slideshow__title{margin:0}.elementor-slideshow__title{font-size:16px;font-weight:700}.elementor-slideshow__description{font-size:14px}.elementor-slideshow--ui-hidden .elementor-slideshow__footer,.elementor-slideshow--ui-hidden .elementor-slideshow__header{opacity:0;pointer-events:none}.elementor-slideshow--ui-hidden .elementor-swiper-button-next,.elementor-slideshow--ui-hidden .elementor-swiper-button-prev{opacity:0}.elementor-slideshow--fullscreen-mode .elementor-video-container{width:100%}.elementor-slideshow--zoom-mode .elementor-slideshow__footer,.elementor-slideshow--zoom-mode .elementor-slideshow__header{background-color:rgba(0,0,0,.5)}.elementor-slideshow--zoom-mode .elementor-swiper-button-next,.elementor-slideshow--zoom-mode .elementor-swiper-button-prev{opacity:0;pointer-events:none}.elementor-slideshow--share-mode .elementor-slideshow__share-menu{top:0;left:0;width:100vw;height:100vh;opacity:1;cursor:default;background-color:rgba(0,0,0,.5)}.elementor-slideshow--share-mode .elementor-slideshow__share-links{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.elementor-slideshow--share-mode .elementor-slideshow__share-links,.elementor-slideshow--share-mode .elementor-slideshow__share-links a{opacity:1}.elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-twitter{color:#1da1f2}.elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-facebook{color:#3b5998}.elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-pinterest{color:#bd081c}.elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-download-bold{color:#a4afb7}.elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-twitter{fill:#1da1f2}.elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-facebook{fill:#3b5998}.elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-pinterest{fill:#bd081c}.elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-download-bold{fill:#a4afb7}.elementor-slideshow--share-mode .eicon-share-arrow{z-index:2}.animated{-webkit-animation-duration:1.25s;animation-duration:1.25s}.animated.animated-slow{-webkit-animation-duration:2s;animation-duration:2s}.animated.animated-fast{-webkit-animation-duration:.75s;animation-duration:.75s}.animated.infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.animated.reverse{animation-direction:reverse;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}@media (prefers-reduced-motion:reduce){.animated{-webkit-animation:none;animation:none}}.elementor-shape{overflow:hidden;position:absolute;left:0;width:100%;line-height:0;direction:ltr}.elementor-shape-top{top:-1px}.elementor-shape-top:not([data-negative=false]) svg{z-index:-1}.elementor-shape-bottom{bottom:-1px}.elementor-shape-bottom:not([data-negative=true]) svg{z-index:-1}.elementor-shape[data-negative=false].elementor-shape-bottom,.elementor-shape[data-negative=true].elementor-shape-top{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.elementor-shape svg{display:block;width:calc(100% + 1.3px);position:relative;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.elementor-shape .elementor-shape-fill{fill:#fff;-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center;-webkit-transform:rotateY(0deg);transform:rotateY(0deg)}#wp-admin-bar-elementor_edit_page>.ab-item:before{content:"\e813";font-family:eicons;top:3px;font-size:18px}#wp-admin-bar-elementor_edit_page .ab-submenu .ab-item{display:-webkit-box;display:-ms-flexbox;display:flex;width:200px}#wp-admin-bar-elementor_edit_page .elementor-edit-link-title{white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden;width:100%}#wp-admin-bar-elementor_edit_page .elementor-edit-link-type{background:#55595c;font-size:11px;line-height:9px;margin-top:6px;padding:4px 8px;border-radius:3px}#wp-admin-bar-elementor_inspector>.ab-item:before{content:"\f348";top:2px}#wpadminbar *{font-style:normal}.page-template-elementor_canvas.elementor-page:before{display:none}.elementor-post__thumbnail__link{-webkit-transition:none;-o-transition:none;transition:none}#left-area ul.elementor-icon-list-items,.elementor-edit-area .elementor-element ul.elementor-icon-list-items,.elementor .elementor-element ul.elementor-icon-list-items{padding:0}.e--ua-appleWebkit.rtl{--flex-right:flex-start}.e--ua-appleWebkit .elementor-share-buttons--align-right,.e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-right{--justify-content:var(--flex-right,flex-end)}.e--ua-appleWebkit .elementor-share-buttons--align-center,.e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-center{--justify-content:center}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-center .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-justify .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-right .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-center .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-right .elementor-grid{width:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:var(--justify-content,space-between);-ms-flex-pack:var(--justify-content,space-between);justify-content:var(--justify-content,space-between);margin-left:calc(-.5 * var(--grid-column-gap));margin-right:calc(-.5 * var(--grid-column-gap))}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-center .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-justify .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-right .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-center .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-right .elementor-grid-item{margin-left:calc(.5 * var(--grid-column-gap));margin-right:calc(.5 * var(--grid-column-gap))}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-left .elementor-grid{display:inline-block}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-left .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-left .elementor-grid-item{margin-left:0;margin-right:0}@media (max-width:1024px){.e--ua-appleWebkit .elementor-share-buttons-tablet--align-right,.e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-tablet-right{--justify-content:var(--flex-right,flex-end)}.e--ua-appleWebkit .elementor-share-buttons-tablet--align-center,.e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-tablet-center{--justify-content:center}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-center .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-justify .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-right .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-center .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-right .elementor-grid{width:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:var(--justify-content,space-between);-ms-flex-pack:var(--justify-content,space-between);justify-content:var(--justify-content,space-between);margin-left:calc(-.5 * var(--grid-column-gap));margin-right:calc(-.5 * var(--grid-column-gap))}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-center .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-justify .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-right .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-center .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-right .elementor-grid-item{margin-left:calc(.5 * var(--grid-column-gap));margin-right:calc(.5 * var(--grid-column-gap))}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-tablet--align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-left .elementor-grid{display:inline-block}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-tablet--align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-tablet--align-left .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-left .elementor-grid-item{margin-left:0;margin-right:0}}@media (max-width:767px){.e--ua-appleWebkit .elementor-share-buttons-mobile--align-right,.e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-mobile-right{--justify-content:var(--flex-right,flex-end)}.e--ua-appleWebkit .elementor-share-buttons-mobile--align-center,.e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-mobile-center{--justify-content:center}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-center .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-justify .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-right .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-center .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-right .elementor-grid{width:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:var(--justify-content,space-between);-ms-flex-pack:var(--justify-content,space-between);justify-content:var(--justify-content,space-between);margin-left:calc(-.5 * var(--grid-column-gap));margin-right:calc(-.5 * var(--grid-column-gap))}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-center .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-justify .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-right .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-center .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-right .elementor-grid-item{margin-left:calc(.5 * var(--grid-column-gap));margin-right:calc(.5 * var(--grid-column-gap))}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-mobile--align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-left .elementor-grid{display:inline-block}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-mobile--align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-mobile--align-left .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-left .elementor-grid-item{margin-left:0;margin-right:0}}@media (max-width:767px){.elementor .elementor-hidden-mobile,.elementor .elementor-hidden-phone{display:none}}@media (min-width:-1px) and (max-width:-1px){.elementor .elementor-hidden-mobile_extra{display:none}}@media (min-width:768px) and (max-width:1024px){.elementor .elementor-hidden-tablet{display:none}}@media (min-width:-1px) and (max-width:-1px){.elementor .elementor-hidden-laptop,.elementor .elementor-hidden-tablet_extra{display:none}}@media (min-width:1025px) and (max-width:99999px){.elementor .elementor-hidden-desktop{display:none}}@media (min-width:-1px){.elementor .elementor-hidden-widescreen{display:none}}.elementor-widget-text-path{font-size:20px;text-align:var(--alignment,right)}.elementor-widget-text-path svg{width:var(--width);max-width:100%;height:auto;overflow:visible;word-spacing:var(--word-spacing);-webkit-transform:rotate(var(--rotate,0)) scaleX(var(--scale-x,1)) scaleY(var(--scale-y,1));-ms-transform:rotate(var(--rotate,0)) scaleX(var(--scale-x,1)) scaleY(var(--scale-y,1));transform:rotate(var(--rotate,0)) scaleX(var(--scale-x,1)) scaleY(var(--scale-y,1))}.elementor-widget-text-path svg path{vector-effect:non-scaling-stroke;fill:var(--path-fill,transparent);stroke:var(--stroke-color,transparent);stroke-width:var(--stroke-width,1px);-webkit-transition:var(--stroke-transition) stroke,var(--stroke-transition) fill;-o-transition:var(--stroke-transition) stroke,var(--stroke-transition) fill;transition:var(--stroke-transition) stroke,var(--stroke-transition) fill}.elementor-widget-text-path svg:hover path{--path-fill:var(--path-fill-hover);--stroke-color:var(--stroke-color-hover);--stroke-width:var(--stroke-width-hover)}.elementor-widget-text-path svg text{--fill:var(--text-color);fill:var(--fill);direction:var(--direction,rtl);-webkit-transition:var(--transition) stroke,var(--transition) stroke-width,var(--transition) fill;-o-transition:var(--transition) stroke,var(--transition) stroke-width,var(--transition) fill;transition:var(--transition) stroke,var(--transition) stroke-width,var(--transition) fill}.elementor-widget-text-path svg text:hover{--color:var(--text-color-hover,var(--text-color));--fill:var(--color);color:var(--color)}.elementor-accordion{text-align:right}.elementor-accordion .elementor-accordion-item{border:1px solid #d4d4d4}.elementor-accordion .elementor-accordion-item+.elementor-accordion-item{border-top:none}.elementor-accordion .elementor-tab-title{margin:0;padding:15px 20px;font-weight:700;line-height:1;cursor:pointer;outline:none}.elementor-accordion .elementor-tab-title .elementor-accordion-icon{display:inline-block;width:1.5em}.elementor-accordion .elementor-tab-title .elementor-accordion-icon svg{width:1em;height:1em}.elementor-accordion .elementor-tab-title .elementor-accordion-icon.elementor-accordion-icon-right{float:right;text-align:right}.elementor-accordion .elementor-tab-title .elementor-accordion-icon.elementor-accordion-icon-left{float:left;text-align:left}.elementor-accordion .elementor-tab-title .elementor-accordion-icon .elementor-accordion-icon-closed{display:block}.elementor-accordion .elementor-tab-title .elementor-accordion-icon .elementor-accordion-icon-opened,.elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon-closed{display:none}.elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon-opened{display:block}.elementor-accordion .elementor-tab-content{display:none;padding:15px 20px;border-top:1px solid #d4d4d4}@media (max-width:767px){.elementor-accordion .elementor-tab-title{padding:12px 15px}.elementor-accordion .elementor-tab-title .elementor-accordion-icon{width:1.2em}.elementor-accordion .elementor-tab-content{padding:7px 15px}}.elementor-alert{padding:15px;border-left:5px solid transparent;position:relative;text-align:right}.elementor-alert .elementor-alert-title{display:block;font-weight:700}.elementor-alert .elementor-alert-description{font-size:13px}.elementor-alert button.elementor-alert-dismiss{position:absolute;left:10px;top:10px;padding:3px;font-size:20px;line-height:1;background:transparent;color:inherit;border:none;cursor:pointer}.elementor-alert.elementor-alert-info{color:#31708f;background-color:#d9edf7;border-color:#bcdff1}.elementor-alert.elementor-alert-success{color:#3c763d;background-color:#dff0d8;border-color:#cae6be}.elementor-alert.elementor-alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#f9f0c3}.elementor-alert.elementor-alert-danger{color:#a94442;background-color:#f2dede;border-color:#e8c4c4}@media (max-width:767px){.elementor-alert{padding:10px}.elementor-alert button.elementor-alert-dismiss{right:7px;top:7px}}.elementor-counter .elementor-counter-number-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;font-size:69px;font-weight:600;line-height:1}.elementor-counter .elementor-counter-number-prefix,.elementor-counter .elementor-counter-number-suffix{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;white-space:pre-wrap}.elementor-counter .elementor-counter-number-prefix{text-align:left}.elementor-counter .elementor-counter-number-suffix{text-align:right}.elementor-counter .elementor-counter-title{text-align:center;font-size:19px;font-weight:400;line-height:2.5}.elementor-widget-divider{--divider-border-style:none;--divider-border-width:1px;--divider-color:#2c2c2c;--divider-icon-size:20px;--divider-element-spacing:10px;--divider-pattern-height:24px;--divider-pattern-size:20px;--divider-pattern-url:none;--divider-pattern-repeat:repeat-x}.elementor-widget-divider .elementor-divider{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-divider .elementor-divider__text{font-size:15px;line-height:1;max-width:95%}.elementor-widget-divider .elementor-divider__element{margin:0 var(--divider-element-spacing);-ms-flex-negative:0;flex-shrink:0}.elementor-widget-divider .elementor-icon{font-size:var(--divider-icon-size)}.elementor-widget-divider .elementor-divider-separator{display:-webkit-box;display:-ms-flexbox;display:flex;margin:0;direction:ltr}.elementor-widget-divider--view-line_icon .elementor-divider-separator,.elementor-widget-divider--view-line_text .elementor-divider-separator{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-widget-divider--view-line_icon .elementor-divider-separator:after,.elementor-widget-divider--view-line_icon .elementor-divider-separator:before,.elementor-widget-divider--view-line_text .elementor-divider-separator:after,.elementor-widget-divider--view-line_text .elementor-divider-separator:before{display:block;content:"";border-bottom:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;border-top:var(--divider-border-width) var(--divider-border-style) var(--divider-color)}.elementor-widget-divider--element-align-left .elementor-divider .elementor-divider-separator>.elementor-divider__svg:first-of-type{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;-ms-flex-negative:100;flex-shrink:100}.elementor-widget-divider--element-align-left .elementor-divider-separator:before{content:none}.elementor-widget-divider--element-align-left .elementor-divider__element{margin-left:0}.elementor-widget-divider--element-align-right .elementor-divider .elementor-divider-separator>.elementor-divider__svg:last-of-type{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;-ms-flex-negative:100;flex-shrink:100}.elementor-widget-divider--element-align-right .elementor-divider-separator:after{content:none}.elementor-widget-divider--element-align-right .elementor-divider__element{margin-right:0}.elementor-widget-divider:not(.elementor-widget-divider--view-line_text):not(.elementor-widget-divider--view-line_icon) .elementor-divider-separator{border-top:var(--divider-border-width) var(--divider-border-style) var(--divider-color)}.elementor-widget-divider--separator-type-pattern{--divider-border-style:none}.elementor-widget-divider--separator-type-pattern.elementor-widget-divider--view-line .elementor-divider-separator,.elementor-widget-divider--separator-type-pattern:not(.elementor-widget-divider--view-line) .elementor-divider-separator:after,.elementor-widget-divider--separator-type-pattern:not(.elementor-widget-divider--view-line) .elementor-divider-separator:before,.elementor-widget-divider--separator-type-pattern:not([class*=elementor-widget-divider--view]) .elementor-divider-separator{width:100%;min-height:var(--divider-pattern-height);-webkit-mask-size:var(--divider-pattern-size) 100%;mask-size:var(--divider-pattern-size) 100%;-webkit-mask-repeat:var(--divider-pattern-repeat);mask-repeat:var(--divider-pattern-repeat);background-color:var(--divider-color);-webkit-mask-image:var(--divider-pattern-url);mask-image:var(--divider-pattern-url)}.elementor-widget-divider--no-spacing{--divider-pattern-size:auto}.elementor-widget-divider--bg-round{--divider-pattern-repeat:round}.rtl .elementor-widget-divider .elementor-divider__text{direction:rtl}.elementor-image-gallery .gallery-item{display:inline-block;text-align:center;vertical-align:top;width:100%;max-width:100%;margin:0 auto}.elementor-image-gallery .gallery-item img{margin:0 auto}.elementor-image-gallery .gallery-item .gallery-caption{margin:0}.elementor-image-gallery figure img{display:block}.elementor-image-gallery figure figcaption{width:100%}.gallery-spacing-custom .elementor-image-gallery .gallery-icon{padding:0}@media (min-width:768px){.elementor-image-gallery .gallery-columns-2 .gallery-item{max-width:50%}.elementor-image-gallery .gallery-columns-3 .gallery-item{max-width:33.33%}.elementor-image-gallery .gallery-columns-4 .gallery-item{max-width:25%}.elementor-image-gallery .gallery-columns-5 .gallery-item{max-width:20%}.elementor-image-gallery .gallery-columns-6 .gallery-item{max-width:16.666%}.elementor-image-gallery .gallery-columns-7 .gallery-item{max-width:14.28%}.elementor-image-gallery .gallery-columns-8 .gallery-item{max-width:12.5%}.elementor-image-gallery .gallery-columns-9 .gallery-item{max-width:11.11%}.elementor-image-gallery .gallery-columns-10 .gallery-item{max-width:10%}}@media (min-width:480px) and (max-width:767px){.elementor-image-gallery .gallery.gallery-columns-2 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-3 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-4 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-5 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-6 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-7 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-8 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-9 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-10 .gallery-item{max-width:50%}}@media (max-width:479px){.elementor-image-gallery .gallery.gallery-columns-2 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-3 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-4 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-5 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-6 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-7 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-8 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-9 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-10 .gallery-item{max-width:100%}}.elementor-widget-google_maps .elementor-widget-container{overflow:hidden}.elementor-widget-google_maps iframe{height:300px}.elementor-heading-title{padding:0;margin:0;line-height:1}.elementor-widget-heading .elementor-heading-title[class*=elementor-size-]>a{color:inherit;font-size:inherit;line-height:inherit}.elementor-widget-heading .elementor-heading-title.elementor-size-small{font-size:15px}.elementor-widget-heading .elementor-heading-title.elementor-size-medium{font-size:19px}.elementor-widget-heading .elementor-heading-title.elementor-size-large{font-size:29px}.elementor-widget-heading .elementor-heading-title.elementor-size-xl{font-size:39px}.elementor-widget-heading .elementor-heading-title.elementor-size-xxl{font-size:59px}.elementor-widget-icon-box .elementor-icon-box-wrapper{display:block;text-align:center}.elementor-widget-icon-box .elementor-icon-box-icon{margin-bottom:var(--icon-box-icon-margin,15px);margin-right:auto;margin-left:auto}@media (min-width:768px){.elementor-widget-icon-box.elementor-vertical-align-top .elementor-icon-box-wrapper{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.elementor-widget-icon-box.elementor-vertical-align-middle .elementor-icon-box-wrapper{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-widget-icon-box.elementor-vertical-align-bottom .elementor-icon-box-wrapper{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}}.elementor-widget-icon-box.elementor-position-left .elementor-icon-box-wrapper,.elementor-widget-icon-box.elementor-position-right .elementor-icon-box-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-icon-box.elementor-position-left .elementor-icon-box-icon,.elementor-widget-icon-box.elementor-position-right .elementor-icon-box-icon{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.elementor-widget-icon-box.elementor-position-right .elementor-icon-box-wrapper{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.elementor-widget-icon-box.elementor-position-right .elementor-icon-box-icon{margin-left:var(--icon-box-icon-margin,15px);margin-right:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-position-left .elementor-icon-box-wrapper{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-widget-icon-box.elementor-position-left .elementor-icon-box-icon{margin-right:var(--icon-box-icon-margin,15px);margin-left:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-position-top .elementor-icon-box-wrapper{display:block;text-align:center;-webkit-box-orient:unset;-webkit-box-direction:unset;-ms-flex-direction:unset;flex-direction:unset}.elementor-widget-icon-box.elementor-position-top .elementor-icon-box-icon{margin-bottom:var(--icon-box-icon-margin,15px);margin-right:auto;margin-left:auto}@media (min-width:-1px){.elementor-widget-icon-box.elementor-widescreen-position-left .elementor-icon-box-wrapper,.elementor-widget-icon-box.elementor-widescreen-position-right .elementor-icon-box-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-icon-box.elementor-widescreen-position-left .elementor-icon-box-icon,.elementor-widget-icon-box.elementor-widescreen-position-right .elementor-icon-box-icon{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.elementor-widget-icon-box.elementor-widescreen-position-right .elementor-icon-box-wrapper{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.elementor-widget-icon-box.elementor-widescreen-position-right .elementor-icon-box-icon{margin-left:var(--icon-box-icon-margin,15px);margin-right:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-widescreen-position-left .elementor-icon-box-wrapper{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-widget-icon-box.elementor-widescreen-position-left .elementor-icon-box-icon{margin-right:var(--icon-box-icon-margin,15px);margin-left:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-widescreen-position-top .elementor-icon-box-wrapper{display:block;text-align:center;-webkit-box-orient:unset;-webkit-box-direction:unset;-ms-flex-direction:unset;flex-direction:unset}.elementor-widget-icon-box.elementor-widescreen-position-top .elementor-icon-box-icon{margin-bottom:var(--icon-box-icon-margin,15px);margin-right:auto;margin-left:auto}}@media (max-width:-1px){.elementor-widget-icon-box.elementor-laptop-position-left .elementor-icon-box-wrapper,.elementor-widget-icon-box.elementor-laptop-position-right .elementor-icon-box-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-icon-box.elementor-laptop-position-left .elementor-icon-box-icon,.elementor-widget-icon-box.elementor-laptop-position-right .elementor-icon-box-icon{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.elementor-widget-icon-box.elementor-laptop-position-right .elementor-icon-box-wrapper{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.elementor-widget-icon-box.elementor-laptop-position-right .elementor-icon-box-icon{margin-left:var(--icon-box-icon-margin,15px);margin-right:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-laptop-position-left .elementor-icon-box-wrapper{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-widget-icon-box.elementor-laptop-position-left .elementor-icon-box-icon{margin-right:var(--icon-box-icon-margin,15px);margin-left:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-laptop-position-top .elementor-icon-box-wrapper{display:block;text-align:center;-webkit-box-orient:unset;-webkit-box-direction:unset;-ms-flex-direction:unset;flex-direction:unset}.elementor-widget-icon-box.elementor-laptop-position-top .elementor-icon-box-icon{margin-bottom:var(--icon-box-icon-margin,15px);margin-right:auto;margin-left:auto}}@media (max-width:-1px){.elementor-widget-icon-box.elementor-tablet_extra-position-left .elementor-icon-box-wrapper,.elementor-widget-icon-box.elementor-tablet_extra-position-right .elementor-icon-box-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-icon-box.elementor-tablet_extra-position-left .elementor-icon-box-icon,.elementor-widget-icon-box.elementor-tablet_extra-position-right .elementor-icon-box-icon{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.elementor-widget-icon-box.elementor-tablet_extra-position-right .elementor-icon-box-wrapper{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.elementor-widget-icon-box.elementor-tablet_extra-position-right .elementor-icon-box-icon{margin-left:var(--icon-box-icon-margin,15px);margin-right:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-tablet_extra-position-left .elementor-icon-box-wrapper{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-widget-icon-box.elementor-tablet_extra-position-left .elementor-icon-box-icon{margin-right:var(--icon-box-icon-margin,15px);margin-left:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-tablet_extra-position-top .elementor-icon-box-wrapper{display:block;text-align:center;-webkit-box-orient:unset;-webkit-box-direction:unset;-ms-flex-direction:unset;flex-direction:unset}.elementor-widget-icon-box.elementor-tablet_extra-position-top .elementor-icon-box-icon{margin-bottom:var(--icon-box-icon-margin,15px);margin-right:auto;margin-left:auto}}@media (max-width:1024px){.elementor-widget-icon-box.elementor-tablet-position-left .elementor-icon-box-wrapper,.elementor-widget-icon-box.elementor-tablet-position-right .elementor-icon-box-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-icon-box.elementor-tablet-position-left .elementor-icon-box-icon,.elementor-widget-icon-box.elementor-tablet-position-right .elementor-icon-box-icon{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.elementor-widget-icon-box.elementor-tablet-position-right .elementor-icon-box-wrapper{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.elementor-widget-icon-box.elementor-tablet-position-right .elementor-icon-box-icon{margin-left:var(--icon-box-icon-margin,15px);margin-right:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-tablet-position-left .elementor-icon-box-wrapper{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-widget-icon-box.elementor-tablet-position-left .elementor-icon-box-icon{margin-right:var(--icon-box-icon-margin,15px);margin-left:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-tablet-position-top .elementor-icon-box-wrapper{display:block;text-align:center;-webkit-box-orient:unset;-webkit-box-direction:unset;-ms-flex-direction:unset;flex-direction:unset}.elementor-widget-icon-box.elementor-tablet-position-top .elementor-icon-box-icon{margin-bottom:var(--icon-box-icon-margin,15px);margin-right:auto;margin-left:auto}}@media (max-width:-1px){.elementor-widget-icon-box.elementor-mobile_extra-position-left .elementor-icon-box-wrapper,.elementor-widget-icon-box.elementor-mobile_extra-position-right .elementor-icon-box-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-icon-box.elementor-mobile_extra-position-left .elementor-icon-box-icon,.elementor-widget-icon-box.elementor-mobile_extra-position-right .elementor-icon-box-icon{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.elementor-widget-icon-box.elementor-mobile_extra-position-right .elementor-icon-box-wrapper{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.elementor-widget-icon-box.elementor-mobile_extra-position-right .elementor-icon-box-icon{margin-left:var(--icon-box-icon-margin,15px);margin-right:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-mobile_extra-position-left .elementor-icon-box-wrapper{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-widget-icon-box.elementor-mobile_extra-position-left .elementor-icon-box-icon{margin-right:var(--icon-box-icon-margin,15px);margin-left:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-mobile_extra-position-top .elementor-icon-box-wrapper{display:block;text-align:center;-webkit-box-orient:unset;-webkit-box-direction:unset;-ms-flex-direction:unset;flex-direction:unset}.elementor-widget-icon-box.elementor-mobile_extra-position-top .elementor-icon-box-icon{margin-bottom:var(--icon-box-icon-margin,15px);margin-right:auto;margin-left:auto}}@media (max-width:767px){.elementor-widget-icon-box.elementor-mobile-position-left .elementor-icon-box-wrapper,.elementor-widget-icon-box.elementor-mobile-position-right .elementor-icon-box-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-icon-box.elementor-mobile-position-left .elementor-icon-box-icon,.elementor-widget-icon-box.elementor-mobile-position-right .elementor-icon-box-icon{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.elementor-widget-icon-box.elementor-mobile-position-right .elementor-icon-box-wrapper{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.elementor-widget-icon-box.elementor-mobile-position-right .elementor-icon-box-icon{margin-left:var(--icon-box-icon-margin,15px);margin-right:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-mobile-position-left .elementor-icon-box-wrapper{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-widget-icon-box.elementor-mobile-position-left .elementor-icon-box-icon{margin-right:var(--icon-box-icon-margin,15px);margin-left:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-mobile-position-top .elementor-icon-box-wrapper{display:block;text-align:center;-webkit-box-orient:unset;-webkit-box-direction:unset;-ms-flex-direction:unset;flex-direction:unset}.elementor-widget-icon-box.elementor-mobile-position-top .elementor-icon-box-icon{margin-bottom:var(--icon-box-icon-margin,15px);margin-right:auto;margin-left:auto}.elementor-widget-icon-box.elementor-position-left .elementor-icon-box-icon,.elementor-widget-icon-box.elementor-position-right .elementor-icon-box-icon{display:block;-webkit-box-flex:unset;-ms-flex:unset;flex:unset}}.elementor-widget-icon-box .elementor-icon-box-title a{color:inherit}.elementor-widget-icon-box .elementor-icon-box-content{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-widget-icon-box .elementor-icon-box-description{margin:0}.elementor-widget.elementor-icon-list--layout-inline .elementor-widget-container{overflow:hidden}.elementor-widget .elementor-icon-list-items.elementor-inline-items{margin-right:-8px;margin-left:-8px}.elementor-widget .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-right:8px;margin-left:8px}.elementor-widget .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{width:auto;left:auto;right:auto;position:relative;height:100%;border-top:0;border-bottom:0;border-right:0;border-left-width:1px;border-style:solid;left:-8px}.elementor-widget .elementor-icon-list-items{list-style-type:none;margin:0;padding:0}.elementor-widget .elementor-icon-list-item{margin:0;padding:0;position:relative}.elementor-widget .elementor-icon-list-item:after{position:absolute;bottom:0;width:100%}.elementor-widget .elementor-icon-list-item,.elementor-widget .elementor-icon-list-item a{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:inherit}.elementor-widget .elementor-icon-list-icon+.elementor-icon-list-text{-ms-flex-item-align:center;align-self:center;padding-right:5px}.elementor-widget .elementor-icon-list-icon{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget .elementor-icon-list-icon svg{width:var(--e-icon-list-icon-size,1em);height:var(--e-icon-list-icon-size,1em)}.elementor-widget .elementor-icon-list-icon i{width:1.25em;font-size:var(--e-icon-list-icon-size)}.elementor-widget.elementor-widget-icon-list .elementor-icon-list-icon{text-align:var(--e-icon-list-icon-align)}.elementor-widget.elementor-widget-icon-list .elementor-icon-list-icon svg{margin:var(--e-icon-list-icon-margin,0 calc(var(--e-icon-list-icon-size, 1em) * .25) 0 0)}.elementor-widget.elementor-list-item-link-full_width a{width:100%}.elementor-widget.elementor-align-center .elementor-icon-list-item,.elementor-widget.elementor-align-center .elementor-icon-list-item a{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-align-center .elementor-icon-list-item:after{margin:auto}.elementor-widget.elementor-align-center .elementor-inline-items{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-align-left .elementor-icon-list-item,.elementor-widget.elementor-align-left .elementor-icon-list-item a{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:left}.elementor-widget.elementor-align-left .elementor-inline-items{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-widget.elementor-align-right .elementor-icon-list-item,.elementor-widget.elementor-align-right .elementor-icon-list-item a{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:right}.elementor-widget.elementor-align-right .elementor-icon-list-items{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-widget:not(.elementor-align-right) .elementor-icon-list-item:after{right:0}.elementor-widget:not(.elementor-align-left) .elementor-icon-list-item:after{left:0}@media (min-width:-1px){.elementor-widget.elementor-widescreen-align-center .elementor-icon-list-item,.elementor-widget.elementor-widescreen-align-center .elementor-icon-list-item a{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-widescreen-align-center .elementor-icon-list-item:after{margin:auto}.elementor-widget.elementor-widescreen-align-center .elementor-inline-items{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-widescreen-align-left .elementor-icon-list-item,.elementor-widget.elementor-widescreen-align-left .elementor-icon-list-item a{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:left}.elementor-widget.elementor-widescreen-align-left .elementor-inline-items{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-widget.elementor-widescreen-align-right .elementor-icon-list-item,.elementor-widget.elementor-widescreen-align-right .elementor-icon-list-item a{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:right}.elementor-widget.elementor-widescreen-align-right .elementor-icon-list-items{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-widget:not(.elementor-widescreen-align-right) .elementor-icon-list-item:after{right:0}.elementor-widget:not(.elementor-widescreen-align-left) .elementor-icon-list-item:after{left:0}}@media (max-width:-1px){.elementor-widget.elementor-laptop-align-center .elementor-icon-list-item,.elementor-widget.elementor-laptop-align-center .elementor-icon-list-item a{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-laptop-align-center .elementor-icon-list-item:after{margin:auto}.elementor-widget.elementor-laptop-align-center .elementor-inline-items{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-laptop-align-left .elementor-icon-list-item,.elementor-widget.elementor-laptop-align-left .elementor-icon-list-item a{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:left}.elementor-widget.elementor-laptop-align-left .elementor-inline-items{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-widget.elementor-laptop-align-right .elementor-icon-list-item,.elementor-widget.elementor-laptop-align-right .elementor-icon-list-item a{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:right}.elementor-widget.elementor-laptop-align-right .elementor-icon-list-items{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-widget:not(.elementor-laptop-align-right) .elementor-icon-list-item:after{right:0}.elementor-widget:not(.elementor-laptop-align-left) .elementor-icon-list-item:after{left:0}}@media (max-width:-1px){.elementor-widget.elementor-tablet_extra-align-center .elementor-icon-list-item,.elementor-widget.elementor-tablet_extra-align-center .elementor-icon-list-item a{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-tablet_extra-align-center .elementor-icon-list-item:after{margin:auto}.elementor-widget.elementor-tablet_extra-align-center .elementor-inline-items{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-tablet_extra-align-left .elementor-icon-list-item,.elementor-widget.elementor-tablet_extra-align-left .elementor-icon-list-item a{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:left}.elementor-widget.elementor-tablet_extra-align-left .elementor-inline-items{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-widget.elementor-tablet_extra-align-right .elementor-icon-list-item,.elementor-widget.elementor-tablet_extra-align-right .elementor-icon-list-item a{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:right}.elementor-widget.elementor-tablet_extra-align-right .elementor-icon-list-items{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-widget:not(.elementor-tablet_extra-align-right) .elementor-icon-list-item:after{right:0}.elementor-widget:not(.elementor-tablet_extra-align-left) .elementor-icon-list-item:after{left:0}}@media (max-width:1024px){.elementor-widget.elementor-tablet-align-center .elementor-icon-list-item,.elementor-widget.elementor-tablet-align-center .elementor-icon-list-item a{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-tablet-align-center .elementor-icon-list-item:after{margin:auto}.elementor-widget.elementor-tablet-align-center .elementor-inline-items{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-tablet-align-left .elementor-icon-list-item,.elementor-widget.elementor-tablet-align-left .elementor-icon-list-item a{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:left}.elementor-widget.elementor-tablet-align-left .elementor-inline-items{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-widget.elementor-tablet-align-right .elementor-icon-list-item,.elementor-widget.elementor-tablet-align-right .elementor-icon-list-item a{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:right}.elementor-widget.elementor-tablet-align-right .elementor-icon-list-items{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-widget:not(.elementor-tablet-align-right) .elementor-icon-list-item:after{right:0}.elementor-widget:not(.elementor-tablet-align-left) .elementor-icon-list-item:after{left:0}}@media (max-width:-1px){.elementor-widget.elementor-mobile_extra-align-center .elementor-icon-list-item,.elementor-widget.elementor-mobile_extra-align-center .elementor-icon-list-item a{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-mobile_extra-align-center .elementor-icon-list-item:after{margin:auto}.elementor-widget.elementor-mobile_extra-align-center .elementor-inline-items{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-mobile_extra-align-left .elementor-icon-list-item,.elementor-widget.elementor-mobile_extra-align-left .elementor-icon-list-item a{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:left}.elementor-widget.elementor-mobile_extra-align-left .elementor-inline-items{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-widget.elementor-mobile_extra-align-right .elementor-icon-list-item,.elementor-widget.elementor-mobile_extra-align-right .elementor-icon-list-item a{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:right}.elementor-widget.elementor-mobile_extra-align-right .elementor-icon-list-items{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-widget:not(.elementor-mobile_extra-align-right) .elementor-icon-list-item:after{right:0}.elementor-widget:not(.elementor-mobile_extra-align-left) .elementor-icon-list-item:after{left:0}}@media (max-width:767px){.elementor-widget.elementor-mobile-align-center .elementor-icon-list-item,.elementor-widget.elementor-mobile-align-center .elementor-icon-list-item a{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-mobile-align-center .elementor-icon-list-item:after{margin:auto}.elementor-widget.elementor-mobile-align-center .elementor-inline-items{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-mobile-align-left .elementor-icon-list-item,.elementor-widget.elementor-mobile-align-left .elementor-icon-list-item a{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:left}.elementor-widget.elementor-mobile-align-left .elementor-inline-items{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-widget.elementor-mobile-align-right .elementor-icon-list-item,.elementor-widget.elementor-mobile-align-right .elementor-icon-list-item a{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:right}.elementor-widget.elementor-mobile-align-right .elementor-icon-list-items{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-widget:not(.elementor-mobile-align-right) .elementor-icon-list-item:after{right:0}.elementor-widget:not(.elementor-mobile-align-left) .elementor-icon-list-item:after{left:0}}.elementor-widget-image{text-align:center}.elementor-widget-image a{display:inline-block}.elementor-widget-image a img[src$=".svg"]{width:48px}.elementor-widget-image img{vertical-align:middle;display:inline-block}.elementor-widget-image-box .elementor-image-box-content{width:100%}@media (min-width:768px){.elementor-widget-image-box.elementor-position-left .elementor-image-box-wrapper,.elementor-widget-image-box.elementor-position-right .elementor-image-box-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-image-box.elementor-position-right .elementor-image-box-wrapper{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.elementor-widget-image-box.elementor-position-left .elementor-image-box-wrapper{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-widget-image-box.elementor-position-top .elementor-image-box-img{margin:auto}.elementor-widget-image-box.elementor-vertical-align-top .elementor-image-box-wrapper{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.elementor-widget-image-box.elementor-vertical-align-middle .elementor-image-box-wrapper{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-widget-image-box.elementor-vertical-align-bottom .elementor-image-box-wrapper{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}}@media (max-width:767px){.elementor-widget-image-box .elementor-image-box-img{margin-left:auto!important;margin-right:auto!important;margin-bottom:15px}}.elementor-widget-image-box .elementor-image-box-img{display:inline-block}.elementor-widget-image-box .elementor-image-box-title a{color:inherit}.elementor-widget-image-box .elementor-image-box-wrapper{text-align:center}.elementor-widget-image-box .elementor-image-box-description{margin:0}.elementor-widget-image-carousel .swiper-container{position:static}.elementor-widget-image-carousel .swiper-container .swiper-slide figure{line-height:inherit}.elementor-widget-image-carousel .swiper-slide{text-align:center}.elementor-image-carousel-wrapper:not(.swiper-container-initialized) .swiper-slide{max-width:calc(100% / var(--e-image-carousel-slides-to-show, 3))}body.elementor-page .elementor-widget-menu-anchor{margin-bottom:0}.elementor-widget-progress{text-align:right}.elementor-progress-wrapper{position:relative;background-color:#eee;color:#fff;height:100%;border-radius:2px}.elementor-progress-bar{display:-webkit-box;display:-ms-flexbox;display:flex;background-color:#818a91;width:0;font-size:11px;height:30px;line-height:30px;border-radius:2px;-webkit-transition:width 1s ease-in-out;-o-transition:width 1s ease-in-out;transition:width 1s ease-in-out}.elementor-progress-text{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden;padding-right:15px}.elementor-progress-percentage{padding-left:15px}.elementor-widget-progress .elementor-progress-wrapper.progress-info .elementor-progress-bar{background-color:#5bc0de}.elementor-widget-progress .elementor-progress-wrapper.progress-success .elementor-progress-bar{background-color:#5cb85c}.elementor-widget-progress .elementor-progress-wrapper.progress-warning .elementor-progress-bar{background-color:#f0ad4e}.elementor-widget-progress .elementor-progress-wrapper.progress-danger .elementor-progress-bar{background-color:#d9534f}.elementor-progress .elementor-title{display:block}@media (max-width:767px){.elementor-progress-text{padding-right:10px}}.elementor-widget-social-icons.elementor-grid-0 .elementor-widget-container,.elementor-widget-social-icons.elementor-grid-mobile-0 .elementor-widget-container,.elementor-widget-social-icons.elementor-grid-tablet-0 .elementor-widget-container{line-height:1;font-size:0}.elementor-widget-social-icons:not(.elementor-grid-0):not(.elementor-grid-tablet-0):not(.elementor-grid-mobile-0) .elementor-grid{display:inline-grid}.elementor-widget-social-icons .elementor-grid{grid-column-gap:var(--grid-column-gap,5px);grid-row-gap:var(--grid-row-gap,5px);grid-template-columns:var(--grid-template-columns);-webkit-box-pack:var(--justify-content,center);-ms-flex-pack:var(--justify-content,center);justify-content:var(--justify-content,center);justify-items:var(--justify-content,center)}.elementor-icon.elementor-social-icon{font-size:var(--icon-size,25px);line-height:var(--icon-size,25px);width:calc(var(--icon-size, 25px) + (2 * var(--icon-padding, .5em)));height:calc(var(--icon-size, 25px) + (2 * var(--icon-padding, .5em)))}.elementor-social-icon{--e-social-icon-icon-color:#fff;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;background-color:#818a91;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;text-align:center;cursor:pointer}.elementor-social-icon i{color:var(--e-social-icon-icon-color)}.elementor-social-icon svg{fill:var(--e-social-icon-icon-color)}.elementor-social-icon:last-child{margin:0}.elementor-social-icon:hover{opacity:.9;color:#fff}.elementor-social-icon-android{background-color:#a4c639}.elementor-social-icon-apple{background-color:#999}.elementor-social-icon-behance{background-color:#1769ff}.elementor-social-icon-bitbucket{background-color:#205081}.elementor-social-icon-codepen{background-color:#000}.elementor-social-icon-delicious{background-color:#39f}.elementor-social-icon-deviantart{background-color:#05cc47}.elementor-social-icon-digg{background-color:#005be2}.elementor-social-icon-dribbble{background-color:#ea4c89}.elementor-social-icon-elementor{background-color:#d30c5c}.elementor-social-icon-envelope{background-color:#ea4335}.elementor-social-icon-facebook,.elementor-social-icon-facebook-f{background-color:#3b5998}.elementor-social-icon-flickr{background-color:#0063dc}.elementor-social-icon-foursquare{background-color:#2d5be3}.elementor-social-icon-free-code-camp,.elementor-social-icon-freecodecamp{background-color:#006400}.elementor-social-icon-github{background-color:#333}.elementor-social-icon-gitlab{background-color:#e24329}.elementor-social-icon-globe{background-color:#818a91}.elementor-social-icon-google-plus,.elementor-social-icon-google-plus-g{background-color:#dd4b39}.elementor-social-icon-houzz{background-color:#7ac142}.elementor-social-icon-instagram{background-color:#262626}.elementor-social-icon-jsfiddle{background-color:#487aa2}.elementor-social-icon-link{background-color:#818a91}.elementor-social-icon-linkedin,.elementor-social-icon-linkedin-in{background-color:#0077b5}.elementor-social-icon-medium{background-color:#00ab6b}.elementor-social-icon-meetup{background-color:#ec1c40}.elementor-social-icon-mixcloud{background-color:#273a4b}.elementor-social-icon-odnoklassniki{background-color:#f4731c}.elementor-social-icon-pinterest{background-color:#bd081c}.elementor-social-icon-product-hunt{background-color:#da552f}.elementor-social-icon-reddit{background-color:#ff4500}.elementor-social-icon-rss{background-color:#f26522}.elementor-social-icon-shopping-cart{background-color:#4caf50}.elementor-social-icon-skype{background-color:#00aff0}.elementor-social-icon-slideshare{background-color:#0077b5}.elementor-social-icon-snapchat{background-color:#fffc00}.elementor-social-icon-soundcloud{background-color:#f80}.elementor-social-icon-spotify{background-color:#2ebd59}.elementor-social-icon-stack-overflow{background-color:#fe7a15}.elementor-social-icon-steam{background-color:#00adee}.elementor-social-icon-stumbleupon{background-color:#eb4924}.elementor-social-icon-telegram{background-color:#2ca5e0}.elementor-social-icon-thumb-tack{background-color:#1aa1d8}.elementor-social-icon-tripadvisor{background-color:#589442}.elementor-social-icon-tumblr{background-color:#35465c}.elementor-social-icon-twitch{background-color:#6441a5}.elementor-social-icon-twitter{background-color:#1da1f2}.elementor-social-icon-viber{background-color:#665cac}.elementor-social-icon-vimeo{background-color:#1ab7ea}.elementor-social-icon-vk{background-color:#45668e}.elementor-social-icon-weibo{background-color:#dd2430}.elementor-social-icon-weixin{background-color:#31a918}.elementor-social-icon-whatsapp{background-color:#25d366}.elementor-social-icon-wordpress{background-color:#21759b}.elementor-social-icon-xing{background-color:#026466}.elementor-social-icon-yelp{background-color:#af0606}.elementor-social-icon-youtube{background-color:#cd201f}.elementor-social-icon-500px{background-color:#0099e5}.elementor-shape-rounded .elementor-icon.elementor-social-icon{border-radius:10%}.elementor-shape-circle .elementor-icon.elementor-social-icon{border-radius:50%}.e-container.e-container--row .elementor-spacer-inner{width:var(--spacer-size)}.e-container.e-container--column .elementor-spacer-inner,.elementor-column .elementor-spacer-inner{height:var(--spacer-size)}.elementor-star-rating{color:#ccd6df;font-family:eicons;display:inline-block}.elementor-star-rating i{display:inline-block;position:relative;font-style:normal;cursor:default}.elementor-star-rating i:before{content:"\e934";display:block;font-size:inherit;font-family:inherit;position:absolute;overflow:hidden;color:#f0ad4e;top:0;right:0}.elementor-star-rating .elementor-star-empty:before{content:none}.elementor-star-rating .elementor-star-1:before{width:10%}.elementor-star-rating .elementor-star-2:before{width:20%}.elementor-star-rating .elementor-star-3:before{width:30%}.elementor-star-rating .elementor-star-4:before{width:40%}.elementor-star-rating .elementor-star-5:before{width:50%}.elementor-star-rating .elementor-star-6:before{width:60%}.elementor-star-rating .elementor-star-7:before{width:70%}.elementor-star-rating .elementor-star-8:before{width:80%}.elementor-star-rating .elementor-star-9:before{width:90%}.elementor-star-rating__wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-star-rating__title{margin-left:10px}.elementor-star-rating--align-right .elementor-star-rating__wrapper{text-align:right;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-star-rating--align-left .elementor-star-rating__wrapper{text-align:left;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-star-rating--align-center .elementor-star-rating__wrapper{text-align:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-star-rating--align-justify .elementor-star-rating__title{margin-left:auto}@media (max-width:1024px){.elementor-star-rating-tablet--align-right .elementor-star-rating__wrapper{text-align:right;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-star-rating-tablet--align-left .elementor-star-rating__wrapper{text-align:left;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-star-rating-tablet--align-center .elementor-star-rating__wrapper{text-align:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-star-rating-tablet--align-justify .elementor-star-rating__title{margin-left:auto}}@media (max-width:767px){.elementor-star-rating-mobile--align-right .elementor-star-rating__wrapper{text-align:right;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-star-rating-mobile--align-left .elementor-star-rating__wrapper{text-align:left;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-star-rating-mobile--align-center .elementor-star-rating__wrapper{text-align:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-star-rating-mobile--align-justify .elementor-star-rating__title{margin-left:auto}}.last-star{letter-spacing:0}.elementor--star-style-star_unicode .elementor-star-rating{font-family:Arial,Helvetica,sans-serif}.elementor--star-style-star_unicode .elementor-star-rating i:not(.elementor-star-empty):before{content:"★"}.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tabs-wrapper{width:25%;-ms-flex-negative:0;flex-shrink:0}.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tab-desktop-title.elementor-active{border-left-style:none}.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tab-desktop-title.elementor-active:after,.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tab-desktop-title.elementor-active:before{height:999em;width:0;left:0;border-left-style:solid}.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tab-desktop-title.elementor-active:before{top:0;-webkit-transform:translateY(-100%);-ms-transform:translateY(-100%);transform:translateY(-100%)}.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tab-desktop-title.elementor-active:after{top:100%}.elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title{display:table-cell}.elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title.elementor-active{border-bottom-style:none}.elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title.elementor-active:after,.elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title.elementor-active:before{bottom:0;height:0;width:999em;border-bottom-style:solid}.elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title.elementor-active:before{right:100%}.elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title.elementor-active:after{left:100%}.elementor-widget-tabs .elementor-tab-content,.elementor-widget-tabs .elementor-tab-title,.elementor-widget-tabs .elementor-tab-title:after,.elementor-widget-tabs .elementor-tab-title:before,.elementor-widget-tabs .elementor-tabs-content-wrapper{border:1px #d4d4d4}.elementor-widget-tabs .elementor-tabs{text-align:right}.elementor-widget-tabs .elementor-tabs-wrapper{overflow:hidden}.elementor-widget-tabs .elementor-tab-title{cursor:pointer;outline:var(--focus-outline,none)}.elementor-widget-tabs .elementor-tab-desktop-title{position:relative;padding:20px 25px;font-weight:700;line-height:1;border:solid transparent}.elementor-widget-tabs .elementor-tab-desktop-title.elementor-active{border-color:#d4d4d4}.elementor-widget-tabs .elementor-tab-desktop-title.elementor-active:after,.elementor-widget-tabs .elementor-tab-desktop-title.elementor-active:before{display:block;content:"";position:absolute}.elementor-widget-tabs .elementor-tab-mobile-title{padding:10px;cursor:pointer}.elementor-widget-tabs .elementor-tab-content{padding:20px;display:none}@media (max-width:767px){.elementor-tabs .elementor-tab-content,.elementor-tabs .elementor-tab-title{border-style:solid solid none}.elementor-tabs .elementor-tabs-wrapper{display:none}.elementor-tabs .elementor-tabs-content-wrapper{border-bottom-style:solid}.elementor-tabs .elementor-tab-content{padding:10px}}@media (min-width:768px){.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tabs{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tabs-wrapper{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tabs-content-wrapper{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;border-style:solid none solid solid}.elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-content{border-style:none solid solid}.elementor-widget-tabs.elementor-tabs-alignment-center .elementor-tabs-wrapper,.elementor-widget-tabs.elementor-tabs-alignment-end .elementor-tabs-wrapper,.elementor-widget-tabs.elementor-tabs-alignment-stretch .elementor-tabs-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-tabs.elementor-tabs-alignment-center .elementor-tabs-wrapper{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget-tabs.elementor-tabs-alignment-end .elementor-tabs-wrapper{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-widget-tabs.elementor-tabs-alignment-stretch.elementor-tabs-view-horizontal .elementor-tab-title{width:100%}.elementor-widget-tabs.elementor-tabs-alignment-stretch.elementor-tabs-view-vertical .elementor-tab-title{height:100%}.elementor-tabs .elementor-tab-mobile-title{display:none}}.elementor-testimonial-wrapper{overflow:hidden;text-align:center}.elementor-testimonial-wrapper .elementor-testimonial-content{font-size:1.3em;margin-bottom:20px}.elementor-testimonial-wrapper .elementor-testimonial-name{line-height:1.5;display:block}.elementor-testimonial-wrapper .elementor-testimonial-job{font-size:.85em;display:block}.elementor-testimonial-wrapper .elementor-testimonial-meta{width:100%;line-height:1}.elementor-testimonial-wrapper .elementor-testimonial-meta-inner{display:inline-block}.elementor-testimonial-wrapper .elementor-testimonial-meta .elementor-testimonial-details,.elementor-testimonial-wrapper .elementor-testimonial-meta .elementor-testimonial-image{display:table-cell;vertical-align:middle}.elementor-testimonial-wrapper .elementor-testimonial-meta .elementor-testimonial-image img{width:60px;height:60px;border-radius:50%;-o-object-fit:cover;object-fit:cover;max-width:none}.elementor-testimonial-wrapper .elementor-testimonial-meta.elementor-testimonial-image-position-aside .elementor-testimonial-image{padding-left:15px}.elementor-testimonial-wrapper .elementor-testimonial-meta.elementor-testimonial-image-position-aside .elementor-testimonial-details{text-align:right}.elementor-testimonial-wrapper .elementor-testimonial-meta.elementor-testimonial-image-position-top .elementor-testimonial-details,.elementor-testimonial-wrapper .elementor-testimonial-meta.elementor-testimonial-image-position-top .elementor-testimonial-image{display:block}.elementor-testimonial-wrapper .elementor-testimonial-meta.elementor-testimonial-image-position-top .elementor-testimonial-image{margin-bottom:20px}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:#818a91;color:#fff}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap{color:#818a91;border:3px solid;background-color:transparent}.elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap{margin-top:8px}.elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap-letter{width:1em;height:1em}.elementor-widget-text-editor .elementor-drop-cap{float:right;text-align:center;line-height:1;font-size:50px}.elementor-widget-text-editor .elementor-drop-cap-letter{display:inline-block}.elementor-toggle{text-align:right}.elementor-toggle .elementor-tab-title{font-weight:700;line-height:1;margin:0;padding:15px;border-bottom:1px solid #d4d4d4;cursor:pointer;outline:none}.elementor-toggle .elementor-tab-title .elementor-toggle-icon{display:inline-block;width:1em}.elementor-toggle .elementor-tab-title .elementor-toggle-icon svg{-webkit-margin-start:-5px;margin-inline-start:-5px;width:1em;height:1em}.elementor-toggle .elementor-tab-title .elementor-toggle-icon.elementor-toggle-icon-right{float:right;text-align:right}.elementor-toggle .elementor-tab-title .elementor-toggle-icon.elementor-toggle-icon-left{float:left;text-align:left}.elementor-toggle .elementor-tab-title .elementor-toggle-icon .elementor-toggle-icon-closed{display:block}.elementor-toggle .elementor-tab-title .elementor-toggle-icon .elementor-toggle-icon-opened{display:none}.elementor-toggle .elementor-tab-title.elementor-active{border-bottom:none}.elementor-toggle .elementor-tab-title.elementor-active .elementor-toggle-icon-closed{display:none}.elementor-toggle .elementor-tab-title.elementor-active .elementor-toggle-icon-opened{display:block}.elementor-toggle .elementor-tab-content{padding:15px;border-bottom:1px solid #d4d4d4;display:none}@media (max-width:767px){.elementor-toggle .elementor-tab-title{padding:12px}.elementor-toggle .elementor-tab-content{padding:12px 10px}}.elementor-widget-video .elementor-widget-container{overflow:hidden;-webkit-transform:translateZ(0);transform:translateZ(0)}.elementor-widget-video .elementor-open-inline .elementor-custom-embed-image-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-size:cover;background-position:50%}.elementor-widget-video .elementor-custom-embed-image-overlay{cursor:pointer;text-align:center}.elementor-widget-video .elementor-custom-embed-image-overlay:hover .elementor-custom-embed-play i{opacity:1}.elementor-widget-video .elementor-custom-embed-image-overlay img{display:block;width:100%}.elementor-widget-video .e-hosted-video .elementor-video{-o-object-fit:cover;object-fit:cover}assets/css/widget-menu-anchor-rtl.min.css000064400000000151152377341010014426 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ body.elementor-page .elementor-widget-menu-anchor{margin-bottom:0}assets/css/widget-divider-rtl.min.css000064400000007217152377341010013652 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ .elementor-widget-divider{--divider-border-style:none;--divider-border-width:1px;--divider-color:#2c2c2c;--divider-icon-size:20px;--divider-element-spacing:10px;--divider-pattern-height:24px;--divider-pattern-size:20px;--divider-pattern-url:none;--divider-pattern-repeat:repeat-x}.elementor-widget-divider .elementor-divider{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-divider .elementor-divider__text{font-size:15px;line-height:1;max-width:95%}.elementor-widget-divider .elementor-divider__element{margin:0 var(--divider-element-spacing);-ms-flex-negative:0;flex-shrink:0}.elementor-widget-divider .elementor-icon{font-size:var(--divider-icon-size)}.elementor-widget-divider .elementor-divider-separator{display:-webkit-box;display:-ms-flexbox;display:flex;margin:0;direction:ltr}.elementor-widget-divider--view-line_icon .elementor-divider-separator,.elementor-widget-divider--view-line_text .elementor-divider-separator{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-widget-divider--view-line_icon .elementor-divider-separator:after,.elementor-widget-divider--view-line_icon .elementor-divider-separator:before,.elementor-widget-divider--view-line_text .elementor-divider-separator:after,.elementor-widget-divider--view-line_text .elementor-divider-separator:before{display:block;content:"";border-bottom:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;border-top:var(--divider-border-width) var(--divider-border-style) var(--divider-color)}.elementor-widget-divider--element-align-left .elementor-divider .elementor-divider-separator>.elementor-divider__svg:first-of-type{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;-ms-flex-negative:100;flex-shrink:100}.elementor-widget-divider--element-align-left .elementor-divider-separator:before{content:none}.elementor-widget-divider--element-align-left .elementor-divider__element{margin-left:0}.elementor-widget-divider--element-align-right .elementor-divider .elementor-divider-separator>.elementor-divider__svg:last-of-type{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;-ms-flex-negative:100;flex-shrink:100}.elementor-widget-divider--element-align-right .elementor-divider-separator:after{content:none}.elementor-widget-divider--element-align-right .elementor-divider__element{margin-right:0}.elementor-widget-divider:not(.elementor-widget-divider--view-line_text):not(.elementor-widget-divider--view-line_icon) .elementor-divider-separator{border-top:var(--divider-border-width) var(--divider-border-style) var(--divider-color)}.elementor-widget-divider--separator-type-pattern{--divider-border-style:none}.elementor-widget-divider--separator-type-pattern.elementor-widget-divider--view-line .elementor-divider-separator,.elementor-widget-divider--separator-type-pattern:not(.elementor-widget-divider--view-line) .elementor-divider-separator:after,.elementor-widget-divider--separator-type-pattern:not(.elementor-widget-divider--view-line) .elementor-divider-separator:before,.elementor-widget-divider--separator-type-pattern:not([class*=elementor-widget-divider--view]) .elementor-divider-separator{width:100%;min-height:var(--divider-pattern-height);-webkit-mask-size:var(--divider-pattern-size) 100%;mask-size:var(--divider-pattern-size) 100%;-webkit-mask-repeat:var(--divider-pattern-repeat);mask-repeat:var(--divider-pattern-repeat);background-color:var(--divider-color);-webkit-mask-image:var(--divider-pattern-url);mask-image:var(--divider-pattern-url)}.elementor-widget-divider--no-spacing{--divider-pattern-size:auto}.elementor-widget-divider--bg-round{--divider-pattern-repeat:round}.rtl .elementor-widget-divider .elementor-divider__text{direction:rtl}assets/css/frontend-legacy.min.css000064400000032755152377341010013232 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ .elementor-bc-flex-widget .elementor-section-content-top>.elementor-container>.elementor-row>.elementor-column>.elementor-column-wrap{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.elementor-bc-flex-widget .elementor-section-content-middle>.elementor-container>.elementor-row>.elementor-column>.elementor-column-wrap{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-bc-flex-widget .elementor-section-content-bottom>.elementor-container>.elementor-row>.elementor-column>.elementor-column-wrap{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.elementor-column-gap-narrow>.elementor-row>.elementor-column>.elementor-element-populated>.elementor-widget-wrap{padding:5px}.elementor-column-gap-default>.elementor-row>.elementor-column>.elementor-element-populated>.elementor-widget-wrap{padding:10px}.elementor-column-gap-extended>.elementor-row>.elementor-column>.elementor-element-populated>.elementor-widget-wrap{padding:15px}.elementor-column-gap-wide>.elementor-row>.elementor-column>.elementor-element-populated>.elementor-widget-wrap{padding:20px}.elementor-column-gap-wider>.elementor-row>.elementor-column>.elementor-element-populated>.elementor-widget-wrap{padding:30px}@media (min-width:-1px){.elementor-reverse-widescreen>.elementor-container>.elementor-row>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-widescreen>.elementor-container>.elementor-row>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-widescreen>.elementor-container>.elementor-row>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-widescreen>.elementor-container>.elementor-row>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-widescreen>.elementor-container>.elementor-row>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-widescreen>.elementor-container>.elementor-row>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-widescreen>.elementor-container>.elementor-row>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-widescreen>.elementor-container>.elementor-row>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-widescreen>.elementor-container>.elementor-row>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-widescreen>.elementor-container>.elementor-row>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:1025px) and (max-width:-1px){.elementor-reverse-laptop>.elementor-container>.elementor-row>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:-1px) and (max-width:-1px){.elementor-reverse-laptop>.elementor-container>.elementor-row>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:1025px) and (max-width:-1px){.elementor-reverse-laptop>.elementor-container>.elementor-row>:first-child,.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(2),.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(3),.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(4),.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(5),.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(6),.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(7),.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(8),.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(9),.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(10){-webkit-box-ordinal-group:initial;-ms-flex-order:initial;order:0}.elementor-reverse-tablet_extra>.elementor-container>.elementor-row>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-tablet_extra>.elementor-container>.elementor-row>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-tablet_extra>.elementor-container>.elementor-row>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-tablet_extra>.elementor-container>.elementor-row>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-tablet_extra>.elementor-container>.elementor-row>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-tablet_extra>.elementor-container>.elementor-row>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-tablet_extra>.elementor-container>.elementor-row>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-tablet_extra>.elementor-container>.elementor-row>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-tablet_extra>.elementor-container>.elementor-row>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-tablet_extra>.elementor-container>.elementor-row>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:768px) and (max-width:1024px){.elementor-reverse-tablet>.elementor-container>.elementor-row>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:-1px) and (max-width:1024px){.elementor-reverse-tablet>.elementor-container>.elementor-row>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:768px) and (max-width:-1px){.elementor-reverse-tablet>.elementor-container>.elementor-row>:first-child,.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(2),.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(3),.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(4),.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(5),.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(6),.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(7),.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(8),.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(9),.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(10){-webkit-box-ordinal-group:initial;-ms-flex-order:initial;order:0}.elementor-reverse-mobile_extra>.elementor-container>.elementor-row>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-mobile_extra>.elementor-container>.elementor-row>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-mobile_extra>.elementor-container>.elementor-row>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-mobile_extra>.elementor-container>.elementor-row>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-mobile_extra>.elementor-container>.elementor-row>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-mobile_extra>.elementor-container>.elementor-row>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-mobile_extra>.elementor-container>.elementor-row>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-mobile_extra>.elementor-container>.elementor-row>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-mobile_extra>.elementor-container>.elementor-row>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-mobile_extra>.elementor-container>.elementor-row>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (max-width:767px){.elementor-reverse-mobile>.elementor-container>.elementor-row>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-mobile>.elementor-container>.elementor-row>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-mobile>.elementor-container>.elementor-row>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-mobile>.elementor-container>.elementor-row>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-mobile>.elementor-container>.elementor-row>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-mobile>.elementor-container>.elementor-row>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-mobile>.elementor-container>.elementor-row>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-mobile>.elementor-container>.elementor-row>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-mobile>.elementor-container>.elementor-row>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-mobile>.elementor-container>.elementor-row>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.elementor-column{width:100%}}assets/css/widget-progress-rtl.min.css000064400000002424152377341010014063 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ .elementor-widget-progress{text-align:right}.elementor-progress-wrapper{position:relative;background-color:#eee;color:#fff;height:100%;border-radius:2px}.elementor-progress-bar{display:-webkit-box;display:-ms-flexbox;display:flex;background-color:#818a91;width:0;font-size:11px;height:30px;line-height:30px;border-radius:2px;-webkit-transition:width 1s ease-in-out;-o-transition:width 1s ease-in-out;transition:width 1s ease-in-out}.elementor-progress-text{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden;padding-right:15px}.elementor-progress-percentage{padding-left:15px}.elementor-widget-progress .elementor-progress-wrapper.progress-info .elementor-progress-bar{background-color:#5bc0de}.elementor-widget-progress .elementor-progress-wrapper.progress-success .elementor-progress-bar{background-color:#5cb85c}.elementor-widget-progress .elementor-progress-wrapper.progress-warning .elementor-progress-bar{background-color:#f0ad4e}.elementor-widget-progress .elementor-progress-wrapper.progress-danger .elementor-progress-bar{background-color:#d9534f}.elementor-progress .elementor-title{display:block}@media (max-width:767px){.elementor-progress-text{padding-right:10px}}assets/css/widget-social-icons.min.css000064400000012060152377341010014000 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ .elementor-widget-social-icons.elementor-grid-0 .elementor-widget-container,.elementor-widget-social-icons.elementor-grid-mobile-0 .elementor-widget-container,.elementor-widget-social-icons.elementor-grid-tablet-0 .elementor-widget-container{line-height:1;font-size:0}.elementor-widget-social-icons:not(.elementor-grid-0):not(.elementor-grid-tablet-0):not(.elementor-grid-mobile-0) .elementor-grid{display:inline-grid}.elementor-widget-social-icons .elementor-grid{grid-column-gap:var(--grid-column-gap,5px);grid-row-gap:var(--grid-row-gap,5px);grid-template-columns:var(--grid-template-columns);-webkit-box-pack:var(--justify-content,center);-ms-flex-pack:var(--justify-content,center);justify-content:var(--justify-content,center);justify-items:var(--justify-content,center)}.elementor-icon.elementor-social-icon{font-size:var(--icon-size,25px);line-height:var(--icon-size,25px);width:calc(var(--icon-size, 25px) + (2 * var(--icon-padding, .5em)));height:calc(var(--icon-size, 25px) + (2 * var(--icon-padding, .5em)))}.elementor-social-icon{--e-social-icon-icon-color:#fff;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;background-color:#818a91;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;text-align:center;cursor:pointer}.elementor-social-icon i{color:var(--e-social-icon-icon-color)}.elementor-social-icon svg{fill:var(--e-social-icon-icon-color)}.elementor-social-icon:last-child{margin:0}.elementor-social-icon:hover{opacity:.9;color:#fff}.elementor-social-icon-android{background-color:#a4c639}.elementor-social-icon-apple{background-color:#999}.elementor-social-icon-behance{background-color:#1769ff}.elementor-social-icon-bitbucket{background-color:#205081}.elementor-social-icon-codepen{background-color:#000}.elementor-social-icon-delicious{background-color:#39f}.elementor-social-icon-deviantart{background-color:#05cc47}.elementor-social-icon-digg{background-color:#005be2}.elementor-social-icon-dribbble{background-color:#ea4c89}.elementor-social-icon-elementor{background-color:#d30c5c}.elementor-social-icon-envelope{background-color:#ea4335}.elementor-social-icon-facebook,.elementor-social-icon-facebook-f{background-color:#3b5998}.elementor-social-icon-flickr{background-color:#0063dc}.elementor-social-icon-foursquare{background-color:#2d5be3}.elementor-social-icon-free-code-camp,.elementor-social-icon-freecodecamp{background-color:#006400}.elementor-social-icon-github{background-color:#333}.elementor-social-icon-gitlab{background-color:#e24329}.elementor-social-icon-globe{background-color:#818a91}.elementor-social-icon-google-plus,.elementor-social-icon-google-plus-g{background-color:#dd4b39}.elementor-social-icon-houzz{background-color:#7ac142}.elementor-social-icon-instagram{background-color:#262626}.elementor-social-icon-jsfiddle{background-color:#487aa2}.elementor-social-icon-link{background-color:#818a91}.elementor-social-icon-linkedin,.elementor-social-icon-linkedin-in{background-color:#0077b5}.elementor-social-icon-medium{background-color:#00ab6b}.elementor-social-icon-meetup{background-color:#ec1c40}.elementor-social-icon-mixcloud{background-color:#273a4b}.elementor-social-icon-odnoklassniki{background-color:#f4731c}.elementor-social-icon-pinterest{background-color:#bd081c}.elementor-social-icon-product-hunt{background-color:#da552f}.elementor-social-icon-reddit{background-color:#ff4500}.elementor-social-icon-rss{background-color:#f26522}.elementor-social-icon-shopping-cart{background-color:#4caf50}.elementor-social-icon-skype{background-color:#00aff0}.elementor-social-icon-slideshare{background-color:#0077b5}.elementor-social-icon-snapchat{background-color:#fffc00}.elementor-social-icon-soundcloud{background-color:#f80}.elementor-social-icon-spotify{background-color:#2ebd59}.elementor-social-icon-stack-overflow{background-color:#fe7a15}.elementor-social-icon-steam{background-color:#00adee}.elementor-social-icon-stumbleupon{background-color:#eb4924}.elementor-social-icon-telegram{background-color:#2ca5e0}.elementor-social-icon-thumb-tack{background-color:#1aa1d8}.elementor-social-icon-tripadvisor{background-color:#589442}.elementor-social-icon-tumblr{background-color:#35465c}.elementor-social-icon-twitch{background-color:#6441a5}.elementor-social-icon-twitter{background-color:#1da1f2}.elementor-social-icon-viber{background-color:#665cac}.elementor-social-icon-vimeo{background-color:#1ab7ea}.elementor-social-icon-vk{background-color:#45668e}.elementor-social-icon-weibo{background-color:#dd2430}.elementor-social-icon-weixin{background-color:#31a918}.elementor-social-icon-whatsapp{background-color:#25d366}.elementor-social-icon-wordpress{background-color:#21759b}.elementor-social-icon-xing{background-color:#026466}.elementor-social-icon-yelp{background-color:#af0606}.elementor-social-icon-youtube{background-color:#cd201f}.elementor-social-icon-500px{background-color:#0099e5}.elementor-shape-rounded .elementor-icon.elementor-social-icon{border-radius:10%}.elementor-shape-circle .elementor-icon.elementor-social-icon{border-radius:50%}assets/css/widget-testimonial-rtl.min.css000064400000003211152377341010014542 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ .elementor-testimonial-wrapper{overflow:hidden;text-align:center}.elementor-testimonial-wrapper .elementor-testimonial-content{font-size:1.3em;margin-bottom:20px}.elementor-testimonial-wrapper .elementor-testimonial-name{line-height:1.5;display:block}.elementor-testimonial-wrapper .elementor-testimonial-job{font-size:.85em;display:block}.elementor-testimonial-wrapper .elementor-testimonial-meta{width:100%;line-height:1}.elementor-testimonial-wrapper .elementor-testimonial-meta-inner{display:inline-block}.elementor-testimonial-wrapper .elementor-testimonial-meta .elementor-testimonial-details,.elementor-testimonial-wrapper .elementor-testimonial-meta .elementor-testimonial-image{display:table-cell;vertical-align:middle}.elementor-testimonial-wrapper .elementor-testimonial-meta .elementor-testimonial-image img{width:60px;height:60px;border-radius:50%;-o-object-fit:cover;object-fit:cover;max-width:none}.elementor-testimonial-wrapper .elementor-testimonial-meta.elementor-testimonial-image-position-aside .elementor-testimonial-image{padding-left:15px}.elementor-testimonial-wrapper .elementor-testimonial-meta.elementor-testimonial-image-position-aside .elementor-testimonial-details{text-align:right}.elementor-testimonial-wrapper .elementor-testimonial-meta.elementor-testimonial-image-position-top .elementor-testimonial-details,.elementor-testimonial-wrapper .elementor-testimonial-meta.elementor-testimonial-image-position-top .elementor-testimonial-image{display:block}.elementor-testimonial-wrapper .elementor-testimonial-meta.elementor-testimonial-image-position-top .elementor-testimonial-image{margin-bottom:20px}assets/css/widget-toggle-rtl.min.css000064400000002604152377341010013500 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ .elementor-toggle{text-align:right}.elementor-toggle .elementor-tab-title{font-weight:700;line-height:1;margin:0;padding:15px;border-bottom:1px solid #d4d4d4;cursor:pointer;outline:none}.elementor-toggle .elementor-tab-title .elementor-toggle-icon{display:inline-block;width:1em}.elementor-toggle .elementor-tab-title .elementor-toggle-icon svg{-webkit-margin-start:-5px;margin-inline-start:-5px;width:1em;height:1em}.elementor-toggle .elementor-tab-title .elementor-toggle-icon.elementor-toggle-icon-right{float:right;text-align:right}.elementor-toggle .elementor-tab-title .elementor-toggle-icon.elementor-toggle-icon-left{float:left;text-align:left}.elementor-toggle .elementor-tab-title .elementor-toggle-icon .elementor-toggle-icon-closed{display:block}.elementor-toggle .elementor-tab-title .elementor-toggle-icon .elementor-toggle-icon-opened{display:none}.elementor-toggle .elementor-tab-title.elementor-active{border-bottom:none}.elementor-toggle .elementor-tab-title.elementor-active .elementor-toggle-icon-closed{display:none}.elementor-toggle .elementor-tab-title.elementor-active .elementor-toggle-icon-opened{display:block}.elementor-toggle .elementor-tab-content{padding:15px;border-bottom:1px solid #d4d4d4;display:none}@media (max-width:767px){.elementor-toggle .elementor-tab-title{padding:12px}.elementor-toggle .elementor-tab-content{padding:12px 10px}}assets/css/widget-accordion.min.css000064400000003041152377341010013355 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ .elementor-accordion{text-align:left}.elementor-accordion .elementor-accordion-item{border:1px solid #d4d4d4}.elementor-accordion .elementor-accordion-item+.elementor-accordion-item{border-top:none}.elementor-accordion .elementor-tab-title{margin:0;padding:15px 20px;font-weight:700;line-height:1;cursor:pointer;outline:none}.elementor-accordion .elementor-tab-title .elementor-accordion-icon{display:inline-block;width:1.5em}.elementor-accordion .elementor-tab-title .elementor-accordion-icon svg{width:1em;height:1em}.elementor-accordion .elementor-tab-title .elementor-accordion-icon.elementor-accordion-icon-right{float:right;text-align:right}.elementor-accordion .elementor-tab-title .elementor-accordion-icon.elementor-accordion-icon-left{float:left;text-align:left}.elementor-accordion .elementor-tab-title .elementor-accordion-icon .elementor-accordion-icon-closed{display:block}.elementor-accordion .elementor-tab-title .elementor-accordion-icon .elementor-accordion-icon-opened,.elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon-closed{display:none}.elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon-opened{display:block}.elementor-accordion .elementor-tab-content{display:none;padding:15px 20px;border-top:1px solid #d4d4d4}@media (max-width:767px){.elementor-accordion .elementor-tab-title{padding:12px 15px}.elementor-accordion .elementor-tab-title .elementor-accordion-icon{width:1.2em}.elementor-accordion .elementor-tab-content{padding:7px 15px}}assets/css/frontend-legacy.css000064400000046522152377341010012445 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ .elementor-bc-flex-widget .elementor-section-content-top > .elementor-container > .elementor-row > .elementor-column > .elementor-column-wrap { -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; } .elementor-bc-flex-widget .elementor-section-content-middle > .elementor-container > .elementor-row > .elementor-column > .elementor-column-wrap { -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .elementor-bc-flex-widget .elementor-section-content-bottom > .elementor-container > .elementor-row > .elementor-column > .elementor-column-wrap { -webkit-box-align: end; -ms-flex-align: end; align-items: flex-end; } .elementor-column-gap-narrow > .elementor-row > .elementor-column > .elementor-element-populated > .elementor-widget-wrap { padding: 5px; } .elementor-column-gap-default > .elementor-row > .elementor-column > .elementor-element-populated > .elementor-widget-wrap { padding: 10px; } .elementor-column-gap-extended > .elementor-row > .elementor-column > .elementor-element-populated > .elementor-widget-wrap { padding: 15px; } .elementor-column-gap-wide > .elementor-row > .elementor-column > .elementor-element-populated > .elementor-widget-wrap { padding: 20px; } .elementor-column-gap-wider > .elementor-row > .elementor-column > .elementor-element-populated > .elementor-widget-wrap { padding: 30px; } @media (min-width: -1px) { .elementor-reverse-widescreen > .elementor-container > .elementor-row > :nth-child(1) { -webkit-box-ordinal-group: 11; -ms-flex-order: 10; order: 10; } .elementor-reverse-widescreen > .elementor-container > .elementor-row > :nth-child(2) { -webkit-box-ordinal-group: 10; -ms-flex-order: 9; order: 9; } .elementor-reverse-widescreen > .elementor-container > .elementor-row > :nth-child(3) { -webkit-box-ordinal-group: 9; -ms-flex-order: 8; order: 8; } .elementor-reverse-widescreen > .elementor-container > .elementor-row > :nth-child(4) { -webkit-box-ordinal-group: 8; -ms-flex-order: 7; order: 7; } .elementor-reverse-widescreen > .elementor-container > .elementor-row > :nth-child(5) { -webkit-box-ordinal-group: 7; -ms-flex-order: 6; order: 6; } .elementor-reverse-widescreen > .elementor-container > .elementor-row > :nth-child(6) { -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; } .elementor-reverse-widescreen > .elementor-container > .elementor-row > :nth-child(7) { -webkit-box-ordinal-group: 5; -ms-flex-order: 4; order: 4; } .elementor-reverse-widescreen > .elementor-container > .elementor-row > :nth-child(8) { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; } .elementor-reverse-widescreen > .elementor-container > .elementor-row > :nth-child(9) { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; } .elementor-reverse-widescreen > .elementor-container > .elementor-row > :nth-child(10) { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; } } @media (min-width: 1025px) and (max-width: -1px) { .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(1) { -webkit-box-ordinal-group: 11; -ms-flex-order: 10; order: 10; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(2) { -webkit-box-ordinal-group: 10; -ms-flex-order: 9; order: 9; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(3) { -webkit-box-ordinal-group: 9; -ms-flex-order: 8; order: 8; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(4) { -webkit-box-ordinal-group: 8; -ms-flex-order: 7; order: 7; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(5) { -webkit-box-ordinal-group: 7; -ms-flex-order: 6; order: 6; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(6) { -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(7) { -webkit-box-ordinal-group: 5; -ms-flex-order: 4; order: 4; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(8) { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(9) { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(10) { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; } } @media (min-width: -1px) and (max-width: -1px) { .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(1) { -webkit-box-ordinal-group: 11; -ms-flex-order: 10; order: 10; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(2) { -webkit-box-ordinal-group: 10; -ms-flex-order: 9; order: 9; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(3) { -webkit-box-ordinal-group: 9; -ms-flex-order: 8; order: 8; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(4) { -webkit-box-ordinal-group: 8; -ms-flex-order: 7; order: 7; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(5) { -webkit-box-ordinal-group: 7; -ms-flex-order: 6; order: 6; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(6) { -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(7) { -webkit-box-ordinal-group: 5; -ms-flex-order: 4; order: 4; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(8) { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(9) { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(10) { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; } } @media (min-width: 1025px) and (max-width: -1px) { .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(1) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(2) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(3) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(4) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(5) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(6) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(7) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(8) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(9) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(10) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-tablet_extra > .elementor-container > .elementor-row > :nth-child(1) { -webkit-box-ordinal-group: 11; -ms-flex-order: 10; order: 10; } .elementor-reverse-tablet_extra > .elementor-container > .elementor-row > :nth-child(2) { -webkit-box-ordinal-group: 10; -ms-flex-order: 9; order: 9; } .elementor-reverse-tablet_extra > .elementor-container > .elementor-row > :nth-child(3) { -webkit-box-ordinal-group: 9; -ms-flex-order: 8; order: 8; } .elementor-reverse-tablet_extra > .elementor-container > .elementor-row > :nth-child(4) { -webkit-box-ordinal-group: 8; -ms-flex-order: 7; order: 7; } .elementor-reverse-tablet_extra > .elementor-container > .elementor-row > :nth-child(5) { -webkit-box-ordinal-group: 7; -ms-flex-order: 6; order: 6; } .elementor-reverse-tablet_extra > .elementor-container > .elementor-row > :nth-child(6) { -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; } .elementor-reverse-tablet_extra > .elementor-container > .elementor-row > :nth-child(7) { -webkit-box-ordinal-group: 5; -ms-flex-order: 4; order: 4; } .elementor-reverse-tablet_extra > .elementor-container > .elementor-row > :nth-child(8) { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; } .elementor-reverse-tablet_extra > .elementor-container > .elementor-row > :nth-child(9) { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; } .elementor-reverse-tablet_extra > .elementor-container > .elementor-row > :nth-child(10) { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; } } @media (min-width: 768px) and (max-width: 1024px) { .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(1) { -webkit-box-ordinal-group: 11; -ms-flex-order: 10; order: 10; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(2) { -webkit-box-ordinal-group: 10; -ms-flex-order: 9; order: 9; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(3) { -webkit-box-ordinal-group: 9; -ms-flex-order: 8; order: 8; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(4) { -webkit-box-ordinal-group: 8; -ms-flex-order: 7; order: 7; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(5) { -webkit-box-ordinal-group: 7; -ms-flex-order: 6; order: 6; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(6) { -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(7) { -webkit-box-ordinal-group: 5; -ms-flex-order: 4; order: 4; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(8) { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(9) { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(10) { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; } } @media (min-width: -1px) and (max-width: 1024px) { .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(1) { -webkit-box-ordinal-group: 11; -ms-flex-order: 10; order: 10; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(2) { -webkit-box-ordinal-group: 10; -ms-flex-order: 9; order: 9; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(3) { -webkit-box-ordinal-group: 9; -ms-flex-order: 8; order: 8; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(4) { -webkit-box-ordinal-group: 8; -ms-flex-order: 7; order: 7; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(5) { -webkit-box-ordinal-group: 7; -ms-flex-order: 6; order: 6; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(6) { -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(7) { -webkit-box-ordinal-group: 5; -ms-flex-order: 4; order: 4; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(8) { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(9) { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(10) { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; } } @media (min-width: 768px) and (max-width: -1px) { .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(1) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(2) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(3) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(4) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(5) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(6) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(7) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(8) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(9) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(10) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-mobile_extra > .elementor-container > .elementor-row > :nth-child(1) { -webkit-box-ordinal-group: 11; -ms-flex-order: 10; order: 10; } .elementor-reverse-mobile_extra > .elementor-container > .elementor-row > :nth-child(2) { -webkit-box-ordinal-group: 10; -ms-flex-order: 9; order: 9; } .elementor-reverse-mobile_extra > .elementor-container > .elementor-row > :nth-child(3) { -webkit-box-ordinal-group: 9; -ms-flex-order: 8; order: 8; } .elementor-reverse-mobile_extra > .elementor-container > .elementor-row > :nth-child(4) { -webkit-box-ordinal-group: 8; -ms-flex-order: 7; order: 7; } .elementor-reverse-mobile_extra > .elementor-container > .elementor-row > :nth-child(5) { -webkit-box-ordinal-group: 7; -ms-flex-order: 6; order: 6; } .elementor-reverse-mobile_extra > .elementor-container > .elementor-row > :nth-child(6) { -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; } .elementor-reverse-mobile_extra > .elementor-container > .elementor-row > :nth-child(7) { -webkit-box-ordinal-group: 5; -ms-flex-order: 4; order: 4; } .elementor-reverse-mobile_extra > .elementor-container > .elementor-row > :nth-child(8) { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; } .elementor-reverse-mobile_extra > .elementor-container > .elementor-row > :nth-child(9) { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; } .elementor-reverse-mobile_extra > .elementor-container > .elementor-row > :nth-child(10) { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; } } @media (max-width: 767px) { .elementor-reverse-mobile > .elementor-container > .elementor-row > :nth-child(1) { -webkit-box-ordinal-group: 11; -ms-flex-order: 10; order: 10; } .elementor-reverse-mobile > .elementor-container > .elementor-row > :nth-child(2) { -webkit-box-ordinal-group: 10; -ms-flex-order: 9; order: 9; } .elementor-reverse-mobile > .elementor-container > .elementor-row > :nth-child(3) { -webkit-box-ordinal-group: 9; -ms-flex-order: 8; order: 8; } .elementor-reverse-mobile > .elementor-container > .elementor-row > :nth-child(4) { -webkit-box-ordinal-group: 8; -ms-flex-order: 7; order: 7; } .elementor-reverse-mobile > .elementor-container > .elementor-row > :nth-child(5) { -webkit-box-ordinal-group: 7; -ms-flex-order: 6; order: 6; } .elementor-reverse-mobile > .elementor-container > .elementor-row > :nth-child(6) { -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; } .elementor-reverse-mobile > .elementor-container > .elementor-row > :nth-child(7) { -webkit-box-ordinal-group: 5; -ms-flex-order: 4; order: 4; } .elementor-reverse-mobile > .elementor-container > .elementor-row > :nth-child(8) { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; } .elementor-reverse-mobile > .elementor-container > .elementor-row > :nth-child(9) { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; } .elementor-reverse-mobile > .elementor-container > .elementor-row > :nth-child(10) { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; } .elementor-column { width: 100%; } } /*# sourceMappingURL=frontend-legacy.css.map */assets/css/widget-star-rating.min.css000064400000006116152377341010013655 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ @charset "UTF-8";.elementor-star-rating{color:#ccd6df;font-family:eicons;display:inline-block}.elementor-star-rating i{display:inline-block;position:relative;font-style:normal;cursor:default}.elementor-star-rating i:before{content:"\e934";display:block;font-size:inherit;font-family:inherit;position:absolute;overflow:hidden;color:#f0ad4e;top:0;left:0}.elementor-star-rating .elementor-star-empty:before{content:none}.elementor-star-rating .elementor-star-1:before{width:10%}.elementor-star-rating .elementor-star-2:before{width:20%}.elementor-star-rating .elementor-star-3:before{width:30%}.elementor-star-rating .elementor-star-4:before{width:40%}.elementor-star-rating .elementor-star-5:before{width:50%}.elementor-star-rating .elementor-star-6:before{width:60%}.elementor-star-rating .elementor-star-7:before{width:70%}.elementor-star-rating .elementor-star-8:before{width:80%}.elementor-star-rating .elementor-star-9:before{width:90%}.elementor-star-rating__wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-star-rating__title{margin-right:10px}.elementor-star-rating--align-right .elementor-star-rating__wrapper{text-align:right;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-star-rating--align-left .elementor-star-rating__wrapper{text-align:left;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-star-rating--align-center .elementor-star-rating__wrapper{text-align:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-star-rating--align-justify .elementor-star-rating__title{margin-right:auto}@media (max-width:1024px){.elementor-star-rating-tablet--align-right .elementor-star-rating__wrapper{text-align:right;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-star-rating-tablet--align-left .elementor-star-rating__wrapper{text-align:left;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-star-rating-tablet--align-center .elementor-star-rating__wrapper{text-align:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-star-rating-tablet--align-justify .elementor-star-rating__title{margin-right:auto}}@media (max-width:767px){.elementor-star-rating-mobile--align-right .elementor-star-rating__wrapper{text-align:right;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-star-rating-mobile--align-left .elementor-star-rating__wrapper{text-align:left;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-star-rating-mobile--align-center .elementor-star-rating__wrapper{text-align:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-star-rating-mobile--align-justify .elementor-star-rating__title{margin-right:auto}}.last-star{letter-spacing:0}.elementor--star-style-star_unicode .elementor-star-rating{font-family:Arial,Helvetica,sans-serif}.elementor--star-style-star_unicode .elementor-star-rating i:not(.elementor-star-empty):before{content:"★"}assets/css/admin-rtl.min.css000064400000107556152377341010012042 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ .elementor-button{font-family:Roboto,Arial,Helvetica,Verdana,sans-serif;font-weight:500;text-transform:uppercase;outline:none;border:none;border-radius:3px;-webkit-transition-property:background,color,opacity,-webkit-box-shadow;transition-property:background,color,opacity,-webkit-box-shadow;-o-transition-property:background,color,box-shadow,opacity;transition-property:background,color,box-shadow,opacity;transition-property:background,color,box-shadow,opacity,-webkit-box-shadow;-webkit-transition-duration:.3s;-o-transition-duration:.3s;transition-duration:.3s}.elementor-button:hover{border:none}.elementor-button:not([disabled]){cursor:pointer}.elementor-button:not(.elementor-button-state) .elementor-state-icon{display:none}.elementor-button.elementor-button-success{color:#fff}.elementor-button.elementor-button-success[disabled]{background-color:#c2cbd2}.elementor-button.elementor-button-success:not([disabled]){background-color:#39b54a}.elementor-button.elementor-button-success:not([disabled]):hover{opacity:.85;-webkit-box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2);box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}.elementor-button.elementor-button-success:not([disabled]):active{-webkit-box-shadow:0 5px 10px rgba(0,0,0,.19),0 3px 3px rgba(0,0,0,.1);box-shadow:0 5px 10px rgba(0,0,0,.19),0 3px 3px rgba(0,0,0,.1)}.elementor-button.elementor-button-warning{background-color:#a4afb7;color:#fff}.elementor-button.elementor-button-warning[disabled]{background-color:#c2cbd2}.elementor-button.elementor-button-warning:not([disabled]):hover{background-color:#b01b1b;opacity:.85;-webkit-box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2);box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}.elementor-button.elementor-button-warning:not([disabled]):active{-webkit-box-shadow:0 5px 10px rgba(0,0,0,.19),0 3px 3px rgba(0,0,0,.1);box-shadow:0 5px 10px rgba(0,0,0,.19),0 3px 3px rgba(0,0,0,.1)}.elementor-button.elementor-button-danger{background-color:#d72b3f;color:#fff}.elementor-button.elementor-button-danger[disabled]{background-color:#c2cbd2}.elementor-button.elementor-button-danger:not([disabled]):hover{opacity:.85;-webkit-box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2);box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}.elementor-button.elementor-button-danger:not([disabled]):active{-webkit-box-shadow:0 5px 10px rgba(0,0,0,.19),0 3px 3px rgba(0,0,0,.1);box-shadow:0 5px 10px rgba(0,0,0,.19),0 3px 3px rgba(0,0,0,.1)}.elementor-button.elementor-edit-template{display:inline-block;margin-top:15px;color:#fff}.elementor-button.elementor-button-default{background-color:#a4afb7;color:#fff;font-size:11px;padding:7px 21px}.elementor-button.elementor-button-default:hover{background-color:#6d7882;-webkit-box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2);box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}.elementor-button.elementor-button-default:active{-webkit-box-shadow:0 5px 10px rgba(0,0,0,.19),0 3px 3px rgba(0,0,0,.1);box-shadow:0 5px 10px rgba(0,0,0,.19),0 3px 3px rgba(0,0,0,.1)}.elementor-button.elementor-button-default:visited{color:#fff}.elementor-button.elementor-button-go-pro{background-color:#93003c}.elementor-button i{margin-left:10px}#adminmenu #toplevel_page_elementor div.wp-menu-image:before{content:"\e813";font-family:eicons;font-size:18px;margin-top:1px}#adminmenu #toplevel_page_elementor a[href="admin.php?page=go_elementor_pro"]{font-weight:700}#adminmenu #toplevel_page_elementor a[href="admin.php?page=go_elementor_pro"]:hover{color:#e0005b}#adminmenu #toplevel_page_elementor .dashicons.dashicons-star-filled{height:auto}#adminmenu #menu-posts-elementor_library .wp-menu-image:before{content:"\e8ff";font-family:eicons;font-size:18px}#e-admin-menu__kit-library{color:#5cb85c}body.admin-color-fresh #adminmenu #toplevel_page_elementor a[href="admin.php?page=go_elementor_pro"]{color:#c60051}.elementor-plugins-gopro{color:#93003c;text-shadow:1px 1px 1px #eee;font-weight:700}#elementor-switch-mode{margin:15px 0}#elementor-editor-button,#elementor-switch-mode-button{outline:none;cursor:pointer}#elementor-editor-button i,#elementor-switch-mode-button i{margin-left:3px;font-size:125%;font-style:normal}body.elementor-editor-active .elementor-switch-mode-off{display:none}body.elementor-editor-active #elementor-switch-mode-button{background-color:#f7f7f7;color:#555;border-color:#ccc;-webkit-box-shadow:0 1px 0 #ccc!important;box-shadow:0 1px 0 #ccc!important;text-shadow:unset}body.elementor-editor-active #elementor-switch-mode-button:hover{background-color:#e9e9e9}body.elementor-editor-active #elementor-switch-mode-button:active{-webkit-box-shadow:inset 0 1px 0 #ccc;box-shadow:inset 0 1px 0 #ccc;-webkit-transform:translateY(1px);-ms-transform:translateY(1px);transform:translateY(1px)}body.elementor-editor-active #postdivrich{display:none!important}body.elementor-editor-active .block-editor-block-list__layout,body.elementor-editor-active .editor-block-list__layout,body.elementor-editor-inactive #elementor-editor,body.elementor-editor-inactive .elementor-switch-mode-on{display:none}body.elementor-editor-active .edit-post-layout__content .edit-post-visual-editor{-ms-flex-preferred-size:auto;flex-basis:auto}body.elementor-editor-active #elementor-editor{margin-bottom:50px}body.elementor-editor-active .edit-post-text-editor__body .editor-post-text-editor{display:none}body .block-editor #elementor-switch-mode{margin:0 15px}body .block-editor #elementor-switch-mode .button{margin:2px;height:33px;font-size:13px;line-height:1}body .block-editor #elementor-switch-mode .button i{padding-left:5px}.elementor-button{font-size:13px;text-decoration:none;padding:15px 40px}#elementor-editor{height:300px;width:100%;-webkit-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease}#elementor-editor .elementor-loader-wrapper{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:300px;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}#elementor-editor .elementor-loader{border-radius:50%;padding:40px;height:150px;width:150px;background-color:hsla(0,0%,100%,.9);-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-box-shadow:2px 2px 20px 4px rgba(0,0,0,.02);box-shadow:2px 2px 20px 4px rgba(0,0,0,.02)}#elementor-editor .elementor-loader-boxes{height:100%;width:100%;position:relative}#elementor-editor .elementor-loader-box{position:absolute;background-color:#d5dadf;-webkit-animation:load 1.8s linear infinite;animation:load 1.8s linear infinite}#elementor-editor .elementor-loader-box:first-of-type{width:20%;height:100%;left:0;top:0}#elementor-editor .elementor-loader-box:not(:first-of-type){right:0;height:20%;width:60%}#elementor-editor .elementor-loader-box:nth-of-type(2){top:0;-webkit-animation-delay:-.45s;animation-delay:-.45s}#elementor-editor .elementor-loader-box:nth-of-type(3){top:40%;-webkit-animation-delay:-.9s;animation-delay:-.9s}#elementor-editor .elementor-loader-box:nth-of-type(4){bottom:0;-webkit-animation-delay:-1.35s;animation-delay:-1.35s}#elementor-editor .elementor-loading-title{color:#a4afb7;text-align:center;text-transform:uppercase;margin-top:30px;letter-spacing:7px;text-indent:7px;font-size:10px;width:100%}#elementor-go-to-edit-page-link{height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:1px solid #ddd;background-color:#f7f7f7;text-decoration:none;position:relative;font-family:Sans-serif}#elementor-go-to-edit-page-link:hover{background-color:#fff}#elementor-go-to-edit-page-link:focus{-webkit-box-shadow:none;box-shadow:none}#elementor-go-to-edit-page-link.elementor-animate #elementor-editor-button,#elementor-go-to-edit-page-link:not(.elementor-animate) .elementor-loader-wrapper{display:none}.elementor-button-spinner:before{font:normal 20px/.5 dashicons;speak:none;display:inline-block;padding:0;top:8px;right:-4px;position:relative;vertical-align:top;content:"\f463"}.elementor-button-spinner.loading:before{-webkit-animation:rotation 1s linear infinite;animation:rotation 1s linear infinite}.elementor-button-spinner.success:before{content:"\f147";color:#46b450}.elementor-blank_state{padding:5em 0;margin:auto;max-width:520px;text-align:center;color:#6d7882;font-family:Roboto,sans-serif}.elementor-blank_state i{font-size:50px;color:#a4afb7}.elementor-blank_state h2{font-size:32px;font-weight:300;color:inherit;margin:40px 0 10px;line-height:1.2}.elementor-blank_state p{font-size:16px;font-weight:400;color:#a4afb7;margin-bottom:40px}.elementor-blank_state .elementor-button{display:inline-block}#available-widgets [class*=elementor-template] .widget-title:before{content:"\e813";font-family:eicons;font-size:17px}.elementor-settings-form-page{padding-top:30px}._elementor_settings_update_time,.elementor-settings-form-page:not(.elementor-active){display:none}#confirm_fa_migration_admin_modal .dialog-confirm-ok{color:#6d7882}body.post-type-attachment table.media .column-title .media-icon img[src$=".svg"]{width:100%}.e-major-update-warning{margin-bottom:5px;max-width:1000px;display:-webkit-box;display:-ms-flexbox;display:flex}.e-major-update-warning__separator{margin:15px -12px}.e-major-update-warning__icon{font-size:17px;margin-left:9px;margin-right:2px}.e-major-update-warning__title{font-weight:600;margin-bottom:10px}.e-major-update-warning+p{display:none}.notice-success .e-major-update-warning__separator{border:1px solid #46b450}.notice-success .e-major-update-warning__icon{color:#79ba49}.notice-warning .e-major-update-warning__separator{border:1px solid #ffb900}.notice-warning .e-major-update-warning__icon{color:#f56e28}.plugins table.e-compatibility-update-table tr{background:transparent}.plugins table.e-compatibility-update-table tr th{font-weight:600}.plugins table.e-compatibility-update-table tr td,.plugins table.e-compatibility-update-table tr th{min-width:250px;font-size:13px;background:transparent;-webkit-box-shadow:none;box-shadow:none;border:none;padding:5px 0 5px 15px}:root{--e-focus-color:rgba(0,115,170,0.4);--e-context-primary-color:#0073aa;--e-context-primary-color-dark:#005177;--e-context-primary-tint-4:rgba(0,115,170,0.4);--e-context-primary-tint-1:rgba(0,115,170,0.04);--e-context-success-color:#39b54a;--e-context-success-color-dark:#2d8e3a;--e-context-success-tint-4:rgba(57,181,74,0.4);--e-context-success-tint-1:rgba(57,181,74,0.04);--e-context-info-color:#71d7f7;--e-context-info-color-dark:#41c9f4;--e-context-info-tint-4:rgba(113,215,247,0.4);--e-context-info-tint-1:rgba(113,215,247,0.04);--e-context-warning-color:#fcb92c;--e-context-warning-color-dark:#f2a503;--e-context-warning-tint-4:rgba(252,185,44,0.4);--e-context-warning-tint-1:rgba(252,185,44,0.04);--e-context-error-color:#d72b3f;--e-context-error-color-dark:#ae2131;--e-context-error-tint-4:rgba(215,43,63,0.4);--e-context-error-tint-1:rgba(215,43,63,0.04);--e-context-cta-color:#93003c;--e-context-cta-color-dark:#600027;--e-context-cta-tint-4:rgba(147,0,60,0.4);--e-context-cta-tint-1:rgba(147,0,60,0.04)}.e-getting-started{max-width:900px;padding:2.5em 0;margin:auto;text-align:center}.e-getting-started__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-shadow:0 0 8px rgba(0,0,0,.1);box-shadow:0 0 8px rgba(0,0,0,.1)}.e-getting-started__header .e-logo-wrapper{font-size:10px;margin-left:10px}.e-getting-started__title{padding:0 15px;font-weight:600;text-transform:uppercase;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.e-getting-started__skip{border-right:1px solid #eee;font-size:16px;color:inherit}.e-getting-started__skip i{padding:15px}.e-getting-started__content{padding:50px}.e-getting-started__content h2{font-size:2em;margin-top:0}.e-getting-started__content--narrow{max-width:500px;margin:auto}.e-getting-started__video{margin:40px 0 60px}.e-getting-started__video iframe{-webkit-box-shadow:10px 10px 20px rgba(0,0,0,.15);box-shadow:10px 10px 20px rgba(0,0,0,.15)}.e-getting-started__actions .button-primary{margin-left:20px}:root{--e-button-padding-y:0.4375rem;--e-button-padding-x:0.75rem;--e-button-font-size:0.8125rem;--e-button-font-weight:500;--e-button-line-height:0.9375rem;--e-button-border-radius:3px;--e-button-context-color:var(--e-context-primary-color);--e-button-context-color-dark:var(--e-context-primary-color-dark);--e-button-context-tint:var(--e-context-primary-tint-1)}.e-button{display:inline-block;font-weight:var(--e-button-font-weight);text-align:center;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:#fff;border:0;text-decoration:none;background:var(--e-button-context-color);padding:var(--e-button-padding-y) var(--e-button-padding-x);font-size:var(--e-button-font-size);line-height:var(--e-button-line-height);border-radius:var(--e-button-border-radius);-webkit-transition:background-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;-o-transition:background-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out}.e-button:active,.e-button:focus,.e-button:hover{color:#fff;text-decoration:none;background:var(--e-button-context-color-dark)}.e-button.focus,.e-button:focus{outline:0;-webkit-box-shadow:0 0 0 2px var(--e-focus-color);box-shadow:0 0 0 2px var(--e-focus-color)}.e-button.disabled,.e-button:disabled{opacity:.5;-webkit-box-shadow:none;box-shadow:none}.e-button:not(:disabled):not(.disabled){cursor:pointer}.e-button:not(:disabled):not(.disabled).active:focus,.e-button:not(:disabled):not(.disabled):active:focus{-webkit-box-shadow:0 0 0 2px var(--e-focus-color);box-shadow:0 0 0 2px var(--e-focus-color)}.e-button--primary{--e-button-context-color:var(--e-context-primary-color);--e-button-context-color-dark:var(--e-context-primary-color-dark);--e-button-context-tint:var(--e-context-primary-tint-1);--e-focus-color:var(--e-context-primary-tint-4)}.e-button--success{--e-button-context-color:var(--e-context-success-color);--e-button-context-color-dark:var(--e-context-success-color-dark);--e-button-context-tint:var(--e-context-success-tint-1);--e-focus-color:var(--e-context-success-tint-4)}.e-button--info{--e-button-context-color:var(--e-context-info-color);--e-button-context-color-dark:var(--e-context-info-color-dark);--e-button-context-tint:var(--e-context-info-tint-1);--e-focus-color:var(--e-context-info-tint-4)}.e-button--warning{--e-button-context-color:var(--e-context-warning-color);--e-button-context-color-dark:var(--e-context-warning-color-dark);--e-button-context-tint:var(--e-context-warning-tint-1);--e-focus-color:var(--e-context-warning-tint-4)}.e-button--error{--e-button-context-color:var(--e-context-error-color);--e-button-context-color-dark:var(--e-context-error-color-dark);--e-button-context-tint:var(--e-context-error-tint-1);--e-focus-color:var(--e-context-error-tint-4)}.e-button--cta{--e-button-context-color:var(--e-context-cta-color);--e-button-context-color-dark:var(--e-context-cta-color-dark);--e-button-context-tint:var(--e-context-cta-tint-1);--e-focus-color:var(--e-context-cta-tint-4)}.e-button.e-button--outline{color:var(--e-button-context-color);background:none;border:1px solid}.e-button.e-button--outline:focus,.e-button.e-button--outline:hover{color:var(--e-button-context-color-dark);background:var(--e-button-context-tint)}.e-button.e-button--outline.disabled,.e-button.e-button--outline:disabled{color:var(--e-button-context-color-dark);background:#818a91}.e-button>i{line-height:inherit;height:var(--e-button-line-height);width:-webkit-min-content;width:-moz-min-content;width:min-content}.e-button>*+*{-webkit-margin-start:.5ch;margin-inline-start:.5ch}.e-button--link{color:var(--e-button-context-color);background-color:transparent}.e-button--link:focus,.e-button--link:hover{color:var(--e-button-context-color-dark);background:var(--e-button-context-tint)}.e-button--link.disabled,.e-button--link:disabled{color:#818a91}a.e-button.disabled,fieldset:disabled a.e-button{pointer-events:none}:root{--e-notice-bg:#fff;--e-notice-border-color:#ccd0d4;--e-notice-context-color:#93003c;--e-notice-context-tint:var(--e-context-cta-tint-1);--e-notice-box-shadow:0 1px 4px rgba(0,0,0,0.15);--e-notice-dismiss-color:#6d7882}.e-notice{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;font-family:Roboto,Arial,Helvetica,Verdana,sans-serif;background:var(--e-notice-bg);border:1px solid var(--e-notice-border-color);border-inline-start-width:4px;-webkit-box-shadow:var(--e-notice-box-shadow);box-shadow:var(--e-notice-box-shadow);margin:5px 20px 5px 2px}.e-notice.notice{padding:0}.e-notice:before{display:block;content:"";position:absolute;right:-4px;top:-1px;bottom:-1px;width:4px;background-color:var(--e-notice-context-color)}.e-notice--primary{--e-notice-context-color:var(--e-context-primary-color);--e-notice-context-color-dark:var(--e-context-primary-color-dark);--e-notice-context-tint:var(--e-context-primary-tint-1)}.e-notice--success{--e-notice-context-color:var(--e-context-success-color);--e-notice-context-color-dark:var(--e-context-success-color-dark);--e-notice-context-tint:var(--e-context-success-tint-1)}.e-notice--info{--e-notice-context-color:var(--e-context-info-color);--e-notice-context-color-dark:var(--e-context-info-color-dark);--e-notice-context-tint:var(--e-context-info-tint-1)}.e-notice--warning{--e-notice-context-color:var(--e-context-warning-color);--e-notice-context-color-dark:var(--e-context-warning-color-dark);--e-notice-context-tint:var(--e-context-warning-tint-1)}.e-notice--error{--e-notice-context-color:var(--e-context-error-color);--e-notice-context-color-dark:var(--e-context-error-color-dark);--e-notice-context-tint:var(--e-context-error-tint-1)}.e-notice--cta{--e-notice-context-color:var(--e-context-cta-color);--e-notice-context-color-dark:var(--e-context-cta-color-dark);--e-notice-context-tint:var(--e-context-cta-tint-1)}.e-notice--extended{--e-notice-is-extended:1}.e-notice--dismissible{padding-right:38px}.e-notice__aside{overflow:hidden;background-color:var(--e-notice-context-tint);width:calc(var(--e-notice-is-extended, 0) * 50px);text-align:center;padding-top:15px;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;-ms-flex-negative:0;flex-shrink:0}.e-notice__icon-wrapper{display:inline-block;font-size:.625rem;max-height:1.5rem;width:1.5rem;line-height:1.5rem;border-radius:100px;background:var(--e-notice-context-color);color:#fff;text-shadow:0 0 3px var(--e-notice-context-color-dark),0 0 1px var(--e-notice-context-color-dark),0 0 1px var(--e-notice-context-color-dark)}.e-notice__content{padding:20px}.e-notice__actions{display:-webkit-box;display:-ms-flexbox;display:flex}.e-notice__actions>*+*{-webkit-margin-start:8px;margin-inline-start:8px}.e-notice__dismiss{width:20px;height:20px;line-height:20px;font-size:.8125rem;text-align:center;background:none;display:block;position:absolute;top:0;right:1px;border:none;margin:0;padding:9px;cursor:pointer;font-style:normal}.e-notice__dismiss:before{font-family:eicons;display:inline-block;content:"\e87f";color:var(--e-notice-dismiss-color);width:20px;border-radius:20px;speak:none;text-align:center;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.e-notice__dismiss:active:before,.e-notice__dismiss:focus:before,.e-notice__dismiss:hover:before{font-weight:700}.e-notice__dismiss:focus:before{color:#fff;background:var(--e-notice-dismiss-color);outline:none}.e-notice__dismiss:focus{outline:none}.e-notice p{line-height:1.2;padding:0;margin:0}.e-notice p+.e-notice__actions{margin-top:1rem}.e-notice h3{font-size:1.0625rem;line-height:1.2;margin:0}.e-notice h3+p{margin-top:8px}.elementor-admin-alert{padding:15px;border-left:5px solid transparent;position:relative;font-size:12px;line-height:1.5;text-align:right}.elementor-admin-alert a{color:inherit}.elementor-admin-alert.elementor-alert-info{color:#31708f;background-color:#d9edf7;border-color:#bcdff1}.elementor-admin-alert.elementor-alert-success{color:#3c763d;background-color:#dff0d8;border-color:#cae6be}.elementor-admin-alert.elementor-alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#f9f0c3}.elementor-admin-alert.elementor-alert-danger{color:#a94442;background-color:#f2dede;border-color:#e8c4c4}#elementor-system-info{padding:15px}#elementor-system-info .elementor-system-info-section{margin-bottom:10px}#elementor-system-info .elementor-system-info-section>.elementor-system-info-report-name{padding-left:10px;border-bottom:1px solid #e1e1e1}#elementor-system-info .elementor-system-info-section .widefat{white-space:pre}#elementor-system-info .elementor-system-info-section .elementor-log-entries{white-space:pre-wrap}#elementor-system-info .elementor-system-info-section:not(.elementor-system-info-log) tbody td:first-child{width:300px}#elementor-system-info .elementor-system-info-report-name{text-transform:uppercase;font-size:14px;margin:0;line-height:2}#elementor-system-info .elementor-system-info-report-row{overflow:hidden;padding:5px 0}#elementor-system-info .elementor-system-info-report-row>*{float:left}#elementor-system-info .elementor-system-info-field-recommendation,#elementor-system-info .elementor-system-info-report-field{padding-left:10px;color:#7f7f7f}#elementor-system-info .elementor-system-info-report-fields{padding-left:20px}#elementor-system-info .elementor-system-info-plugin-name{color:#000}#elementor-system-info .elementor-system-info-plugin-properties{padding:10px}#elementor-system-info #elementor-system-info-raw-code{width:100%;height:200px}#elementor-system-info #elementor-system-info-raw-code-label{padding:5px;display:block}#elementor-system-info .elementor-warning td:first-child{border-right:3px solid #fcb92c}#elementor-system-info a.box-title-tool{font-size:80%;margin-right:15px;color:#818a91}#elementor-system-info a.box-title-tool:hover{text-decoration:underline}#elementor-system-info #elementor-usage-recalc{font-size:12px;color:#fff;background-color:#a4afb7;padding:4px 18px 5px;border-radius:3px}@-webkit-keyframes elementor-rotation{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes elementor-rotation{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}#elementor-deactivate-feedback-dialog-wrapper{display:none}#elementor-deactivate-feedback-modal .dialog-widget-content{width:550px}#elementor-deactivate-feedback-modal .dialog-header{padding:18px 15px;-webkit-box-shadow:0 0 8px rgba(0,0,0,.1);box-shadow:0 0 8px rgba(0,0,0,.1);text-align:right}#elementor-deactivate-feedback-modal .dialog-message{padding:30px 30px 0;text-align:right}#elementor-deactivate-feedback-modal .elementor-deactivate-feedback-dialog-input{float:right;margin:0 0 0 15px;-webkit-box-shadow:none;box-shadow:none}#elementor-deactivate-feedback-modal .elementor-deactivate-feedback-dialog-input:not(:checked)~.elementor-feedback-text{display:none}#elementor-deactivate-feedback-modal .elementor-deactivate-feedback-dialog-label{display:block;font-size:13px;color:#6d7882}#elementor-deactivate-feedback-modal .elementor-feedback-text{margin:10px 30px 0 0;padding:5px;font-size:13px;-webkit-box-shadow:none;box-shadow:none;background-color:#fff;width:92%}#elementor-deactivate-feedback-modal .dialog-buttons-wrapper{border-top:none;text-align:right;padding:20px 30px 30px;overflow:hidden}#elementor-deactivate-feedback-modal .dialog-submit{background-color:#93003c;border-radius:3px;color:#fff;line-height:1;padding:12px 20px;font-size:13px;width:180px;height:38px}#elementor-deactivate-feedback-modal .dialog-submit.elementor-loading:before{display:inline-block;content:"\f463";font:18px dashicons;-webkit-animation:elementor-rotation 2s linear infinite;animation:elementor-rotation 2s linear infinite}#elementor-deactivate-feedback-modal .dialog-skip{font-size:12px;color:#a4afb7;background:none;float:left;width:auto}#elementor-deactivate-feedback-modal[data-feedback-selected=elementor_pro] .elementor-feedback-text{color:#b01b1b;padding:0}#elementor-deactivate-feedback-modal[data-feedback-selected=elementor_pro] .dialog-submit{display:none}#elementor-deactivate-feedback-dialog-header i{color:#93003c;font-size:19px}#elementor-deactivate-feedback-dialog-header-title{font-size:15px;text-transform:uppercase;font-weight:700;padding-right:5px}#elementor-deactivate-feedback-dialog-form-caption{font-weight:700;font-size:15px;color:#495157;line-height:1.4}#elementor-deactivate-feedback-dialog-form-body{padding-top:30px}.elementor-deactivate-feedback-dialog-input-wrapper{line-height:1;overflow:hidden;margin-bottom:15px}#elementor-hidden-area{display:none}#elementor-import-template-trigger{cursor:pointer}#elementor-import-template-area{display:none;margin:50px 0 30px;text-align:center}#elementor-import-template-form{display:inline-block;margin-top:30px;padding:30px 50px;background-color:#fff;border:1px solid #e5e5e5}#elementor-import-template-title{font-size:18px;color:#555d66}.form-table:not(.elementor-maintenance-mode-is-enabled) .elementor-default-hide{display:none}.elementor-maintenance-mode-error{color:red;line-height:1.6;display:none}#tab-fontawesome4_migration.elementor-active~p.submit,#tab-import-export-kit.elementor-active~p.submit,#tab-replace_url.elementor-active~p.submit{display:none}#elementor_replace_url>div,#elementor_rollback>div,#elementor_rollback_pro>div{display:-webkit-box;display:-ms-flexbox;display:flex}#elementor_replace_url>div input,#elementor_replace_url>div select,#elementor_rollback>div input,#elementor_rollback>div select,#elementor_rollback_pro>div input,#elementor_rollback_pro>div select{margin-left:6px}.tab-import-export-kit__wrapper{margin:40px 0;max-width:700px}.tab-import-export-kit__container{background-color:#fff;font-size:16px;max-width:700px;padding:30px}.tab-import-export-kit__container:not(:first-child){margin-top:5px}.tab-import-export-kit__container p{color:#a4afb7;font-size:16px;margin:20px 0 25px}.tab-import-export-kit__info{font-size:14px}.tab-import-export-kit__container a:not(.elementor-button),.tab-import-export-kit__info a{color:#58d0f5;text-decoration:underline}.tab-import-export-kit__box{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.tab-import-export-kit__box h2{color:#6d7882;font-size:28px;font-weight:400;line-height:1;margin:0}.tab-import-export-kit__box .elementor-button.elementor-button-success{font-weight:700;padding:8px 16px;text-transform:none}#dashboard-widgets .e-dashboard-widget h3.e-heading{font-weight:600;margin-bottom:13px}#dashboard-widgets .e-dashboard-widget .e-divider_bottom{border-bottom:1px solid #eee;margin:0 -12px;padding:6px 12px}#dashboard-widgets .e-dashboard-widget .e-divider_top{border-top:1px solid #eee;margin:0 -12px;padding:6px 12px}#dashboard-widgets .e-dashboard-widget .e-news-feed-wrap .e-divider_top,#dashboard-widgets .e-dashboard-widget .e-quick-actions-wrap .e-divider_top{padding-top:18px;margin-top:18px}.e-dashboard-widget .dashicons{color:#606a73}.e-dashboard-widget ul.e-action-list li{margin-top:14px}.e-dashboard-widget ul.e-action-list li a{margin-right:5px}#e-dashboard-overview .dashicons{vertical-align:middle;font-size:17px}#e-dashboard-overview .e-overview__header{display:table;width:100%;-webkit-box-shadow:0 5px 8px rgba(0,0,0,.05);box-shadow:0 5px 8px rgba(0,0,0,.05);margin:0 -12px 8px;padding:0 12px 12px}#e-dashboard-overview .e-overview__create,#e-dashboard-overview .e-overview__logo,#e-dashboard-overview .e-overview__versions{display:table-cell;vertical-align:middle}#e-dashboard-overview .e-overview__logo{width:30px}#e-dashboard-overview .e-overview__versions{padding:0 10px;font-size:.9em;line-height:1.5}#e-dashboard-overview .e-overview__version{display:block}#e-dashboard-overview .e-overview__create{text-align:left}#e-dashboard-overview .e-overview__feed{font-size:14px;font-weight:500}#e-dashboard-overview .e-overview__post{margin-top:10px}#e-dashboard-overview .e-overview__post-link{display:inline-block}#e-dashboard-overview .e-overview__badge{background:#39b54a;color:#fff;font-size:.75em;padding:3px 6px;border-radius:3px;text-transform:uppercase}#e-dashboard-overview .e-overview__post-description{margin:0 0 1.5em}#e-dashboard-overview .e-overview__recently-edited li{color:#72777c}#e-dashboard-overview .e-overview__footer.e-divider_top{padding-top:12px;padding-bottom:0}#e-dashboard-overview .e-overview__footer ul{display:-webkit-box;display:-ms-flexbox;display:flex;list-style:none;margin:0;padding:0}#e-dashboard-overview .e-overview__footer ul li{padding:0 10px;margin:0;border-right:1px solid #ddd}#e-dashboard-overview .e-overview__footer ul li:first-child{padding-right:0;border:none}#e-dashboard-overview .e-overview__go-pro a{color:#93003c;font-weight:500}.post-type-elementor_library #elementor-template-library-tabs-wrapper{padding-top:2em;margin-bottom:2em}.post-type-elementor_library th#taxonomy-elementor_library_category{width:110px}#elementor-new-template-modal .dialog-message{max-height:70vh}#elementor-new-template-dialog-content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:100%;text-align:right;color:#6d7882}@media (max-width:1439px){#elementor-new-template-dialog-content{padding:0 50px}}@media (min-width:1440px){#elementor-new-template-dialog-content{padding:0 120px}}#elementor-new-template__description{width:35%;max-width:300px;padding-left:100px}#elementor-new-template__description__title{font-size:30px;color:#556068}#elementor-new-template__description__title span{font-weight:700}#elementor-new-template__description__content{font-size:16px;padding:30px 0}#elementor-new-template__take_a_tour{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:15px}#elementor-new-template__take_a_tour i{color:#93003c;font-size:30px}#elementor-new-template__take_a_tour a{color:#6d7882;padding-right:10px;text-decoration:none;font-weight:500}#elementor-new-template__form{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:440px;padding:55px;background-color:#fff;border-radius:3px;-webkit-box-shadow:0 2px 30px 0 rgba(0,0,0,.08);box-shadow:0 2px 30px 0 rgba(0,0,0,.08)}#elementor-new-template__form__title{font-size:23px;color:#556068}#elementor-new-template__form__template-type.elementor-form-field__select{max-width:none}#elementor-new-template__form .elementor-form-field__label{display:block;margin:25px 0 7px;font-size:14px;line-height:1}#elementor-new-template__form .elementor-form-field input,#elementor-new-template__form .elementor-form-field select{width:100%;height:50px;padding:10px;font-size:14px;-webkit-box-shadow:none;box-shadow:none;border-radius:3px;background:none;color:#495157;border:1px solid;outline:none}#elementor-new-template__form .elementor-form-field input:not(:focus),#elementor-new-template__form .elementor-form-field select:not(:focus){border-color:#d5dadf}#elementor-new-template__form .elementor-form-field input:focus,#elementor-new-template__form .elementor-form-field select:focus{border-color:#a4afb7}#elementor-new-template__form .elementor-form-field__select{appearance:none;-webkit-appearance:none;-moz-appearance:none;cursor:pointer}#elementor-new-template__form .elementor-form-field__select__wrapper{position:relative}#elementor-new-template__form .elementor-form-field__select__wrapper:after{font-family:eicons;content:"\e8ad";position:absolute;top:50%;left:10px;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}#elementor-new-template__form__submit{width:100%;height:50px;margin-top:25px}@media (max-width:1024px){#elementor-new-template__description{max-width:250px;padding-left:30px}}@media (max-width:767px){#elementor-new-template__description{display:none}}#elementor-role-manager{max-width:500px;margin-top:50px}#elementor-role-manager h3{color:#6d7882;font-weight:400;font-size:22px}#elementor-role-manager .elementor-settings-form-page{padding:0}#elementor-role-manager .elementor-role-row{background:#fff;color:#6d7882;margin-bottom:2px}#elementor-role-manager .elementor-role-row .elementor-role-label{display:-webkit-box;display:-ms-flexbox;display:flex;padding:15px 20px;font-weight:500;cursor:pointer}#elementor-role-manager .elementor-role-row .elementor-role-label span.elementor-role-name{padding-left:20px}#elementor-role-manager .elementor-role-row .elementor-role-label span.elementor-role-toggle{text-align:left;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}#elementor-role-manager .elementor-role-row .elementor-role-label span.elementor-role-excluded-indicator{color:#a4afb7}#elementor-role-manager .elementor-role-row .elementor-role-controls{background-color:#f7f7f7;padding:20px 20px 5px}#elementor-role-manager .elementor-role-row .elementor-role-controls>div{margin-bottom:15px}#elementor-role-manager .elementor-role-row .elementor-role-controls .elementor-role-go-pro{display:-webkit-box;display:-ms-flexbox;display:flex}#elementor-role-manager .elementor-role-row .elementor-role-controls .elementor-role-go-pro .elementor-role-go-pro__desc{font-weight:500;font-style:italic}#elementor-role-manager .elementor-role-row .elementor-role-controls .elementor-role-go-pro .elementor-role-go-pro__link{text-align:left;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}#elementor-beta-tester-modal .elementor-templates-modal__header__items-area{color:#c2cbd2;cursor:pointer}#elementor-beta-tester-modal .elementor-templates-modal__header__items-area:hover .elementor-beta-tester-do-not-show-again,#elementor-beta-tester-modal .elementor-templates-modal__header__items-area:hover .elementor-templates-modal__header__item>i{color:#6d7882}#elementor-beta-tester-modal .elementor-templates-modal__header__items-area .elementor-templates-modal__header__close{border:none}#elementor-beta-tester-modal .elementor-templates-modal__header__items-area .elementor-beta-tester-do-not-show-again{text-transform:uppercase;font-weight:700;font-size:12px;-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s}#elementor-beta-tester-modal .dialog-lightbox-widget-content{max-width:500px;height:auto}#elementor-beta-tester-modal .dialog-lightbox-message{padding:40px;height:300px;background-color:#fff}#elementor-beta-tester-form__caption{font-weight:700;font-size:20px;color:#495157}#elementor-beta-tester-form__description{font-size:15px;color:#6d7882;margin-top:10px}#elementor-beta-tester-form__input-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;margin-top:30px}#elementor-beta-tester-form__input-wrapper .elementor-button{border-radius:3px 0 0 3px}#elementor-beta-tester-form__email{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;border:1px solid #d5dadf;border-left:0;border-radius:0 3px 3px 0;margin:0;padding:10px;height:50px}#elementor-beta-tester-form__terms{margin-top:40px;font-size:11px;color:#a4afb7}.e-experiment__title{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.e-experiment__title__indicator{height:10px;width:10px;border-radius:50%;border:2px solid #fff;-webkit-box-shadow:0 2px 4px rgba(0,0,0,.1);box-shadow:0 2px 4px rgba(0,0,0,.1);-ms-flex-negative:0;flex-shrink:0;margin-top:2px}.e-experiment__title__indicator--active{background:#39b54a}.e-experiment__title__label{margin-right:10px}.e-experiment__table-title{margin:30px 0}.e-experiment__description{max-width:820px}.e-experiment__status{margin-top:5px;font-size:13px;font-weight:700;font-style:italic}.e-experiment__button.button{margin:18px 0 22px 14px}.e-landing-pages-empty .elementor-blank_state{padding:5em 0 2em}.e-landing-pages-empty .e-trashed-items{text-align:center}assets/css/editor-preview-legacy.css000064400000001221152377341010013556 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ .elementor-edit-area-active .elementor-top-section > .elementor-container > .elementor-row { min-height: 40px; } .elementor-edit-area-active .elementor-inner-section > .elementor-container > .elementor-row { min-height: 40px; } .elementor-edit-area-active .elementor-column-wrap.elementor-element-empty .elementor-widget-wrap { min-height: 30px; } @media (min-width: 768px) { .elementor-edit-area-active .elementor-column-wrap.elementor-element-empty .elementor-widget-wrap { margin: 10px; } } .elementor-edit-area-active .handle { display: none; } /*# sourceMappingURL=editor-preview-legacy.css.map */assets/css/widget-image-carousel-rtl.min.css000064400000000633152377341010015114 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ .elementor-widget-image-carousel .swiper-container{position:static}.elementor-widget-image-carousel .swiper-container .swiper-slide figure{line-height:inherit}.elementor-widget-image-carousel .swiper-slide{text-align:center}.elementor-image-carousel-wrapper:not(.swiper-container-initialized) .swiper-slide{max-width:calc(100% / var(--e-image-carousel-slides-to-show, 3))}assets/css/templates/frontend-lite-rtl.min.css000064400000325664152377341010015524 0ustar00.dialog-widget-content{background-color:#fff;position:absolute;border-radius:3px;-webkit-box-shadow:2px 8px 23px 3px rgba(0,0,0,.2);box-shadow:2px 8px 23px 3px rgba(0,0,0,.2);overflow:hidden}.dialog-message{font-size:12px;line-height:1.5;-webkit-box-sizing:border-box;box-sizing:border-box}.dialog-type-lightbox{position:fixed;height:100%;width:100%;bottom:0;left:0;background-color:rgba(0,0,0,.8);z-index:9999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dialog-type-lightbox .dialog-widget-content{margin:auto;width:375px}.dialog-type-lightbox .dialog-header{font-size:15px;color:#495157;padding:30px 0 10px;font-weight:500}.dialog-type-lightbox .dialog-message{padding:0 30px 30px;min-height:50px}.dialog-type-lightbox:not(.elementor-popup-modal) .dialog-header,.dialog-type-lightbox:not(.elementor-popup-modal) .dialog-message{text-align:center}.dialog-type-lightbox .dialog-buttons-wrapper{border-top:1px solid #e6e9ec;text-align:center}.dialog-type-lightbox .dialog-buttons-wrapper>.dialog-button{font-family:Roboto,Arial,Helvetica,Verdana,sans-serif;width:50%;border:none;background:none;color:#6d7882;font-size:15px;cursor:pointer;padding:13px 0;outline:0}.dialog-type-lightbox .dialog-buttons-wrapper>.dialog-button:hover{background-color:#f4f6f7}.dialog-type-lightbox .dialog-buttons-wrapper>.dialog-button.dialog-ok{color:#b01b1b}.dialog-type-lightbox .dialog-buttons-wrapper>.dialog-button.dialog-take_over{color:#39b54a}.dialog-type-lightbox .dialog-buttons-wrapper>.dialog-button:active{background-color:rgba(230,233,236,.5)}.dialog-type-lightbox .dialog-buttons-wrapper>.dialog-button::-moz-focus-inner{border:0}.dialog-close-button{cursor:pointer;position:absolute;margin-top:15px;left:15px;font-size:15px;line-height:1}.dialog-close-button:not(:hover){opacity:.4}.dialog-alert-widget .dialog-buttons-wrapper>button{width:100%}.dialog-confirm-widget .dialog-button:first-child{border-left:1px solid #e6e9ec}.dialog-prevent-scroll{overflow:hidden;max-height:100vh}@media (min-width:1024px){body.admin-bar .dialog-lightbox-widget{height:calc(100vh - 32px)}}@media (max-width:1024px){body.admin-bar .dialog-type-lightbox{position:sticky;height:100vh}}.elementor-aspect-ratio-219 .elementor-fit-aspect-ratio{padding-bottom:42.8571%}.elementor-aspect-ratio-169 .elementor-fit-aspect-ratio{padding-bottom:56.25%}.elementor-aspect-ratio-43 .elementor-fit-aspect-ratio{padding-bottom:75%}.elementor-aspect-ratio-32 .elementor-fit-aspect-ratio{padding-bottom:66.6666%}.elementor-aspect-ratio-11 .elementor-fit-aspect-ratio{padding-bottom:100%}.elementor-aspect-ratio-916 .elementor-fit-aspect-ratio{padding-bottom:177.8%}.elementor-fit-aspect-ratio{position:relative;height:0}.elementor-fit-aspect-ratio iframe{position:absolute;top:0;left:0;height:100%;width:100%;border:0;background-color:#000}.elementor-fit-aspect-ratio video{width:100%}.flatpickr-calendar{width:280px}.flatpickr-calendar .flatpickr-current-month span.cur-month{font-weight:300}.flatpickr-calendar .dayContainer{width:280px;min-width:280px;max-width:280px}.flatpickr-calendar .flatpickr-days{width:280px}.flatpickr-calendar .flatpickr-day{max-width:37px;height:37px;line-height:37px}.elementor-templates-modal .dialog-widget-content{font-family:Roboto,Arial,Helvetica,Verdana,sans-serif;background-color:#f1f3f5;width:100%}@media (max-width:1439px){.elementor-templates-modal .dialog-widget-content{max-width:990px}}@media (min-width:1440px){.elementor-templates-modal .dialog-widget-content{max-width:1200px}}.elementor-templates-modal .dialog-header{padding:0;z-index:1}.elementor-templates-modal .dialog-buttons-wrapper,.elementor-templates-modal .dialog-header{background-color:#fff;-webkit-box-shadow:0 0 8px rgba(0,0,0,.1);box-shadow:0 0 8px rgba(0,0,0,.1);position:relative}.elementor-templates-modal .dialog-buttons-wrapper{border:none;display:none;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;padding:5px}.elementor-templates-modal .dialog-buttons-wrapper .elementor-button{height:40px;margin-right:5px}.elementor-templates-modal .dialog-buttons-wrapper .elementor-button-success{padding:12px 36px;color:#fff;width:auto;font-size:15px}.elementor-templates-modal .dialog-buttons-wrapper .elementor-button-success:hover{background-color:#39b54a}.elementor-templates-modal .dialog-message{height:750px;max-height:85vh;overflow:auto;padding-top:25px}.elementor-templates-modal .dialog-content{height:100%}.elementor-templates-modal .dialog-loading{display:none}.elementor-templates-modal__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;height:50px}.elementor-templates-modal__header__logo{line-height:1;text-transform:uppercase;font-weight:700;cursor:pointer}.elementor-templates-modal__header__logo-area{text-align:right;padding-right:15px}.elementor-templates-modal__header__logo-area>*{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-templates-modal__header__logo__icon-wrapper{margin-left:10px;font-size:12px}.elementor-templates-modal__header__logo__title{padding-top:2px}.elementor-templates-modal__header__items-area{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-templates-modal__header__item{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-sizing:content-box;box-sizing:content-box}.elementor-templates-modal__header__item>i{font-size:20px;-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s;cursor:pointer}.elementor-templates-modal__header__item>i:not(:hover){color:#a4afb7}.elementor-templates-modal__header__close--normal{width:47px;border-right:1px solid #e6e9ec}.elementor-templates-modal__header__close--normal i{font-size:18px}.elementor-templates-modal__header__close--skip{padding:10px 20px 10px 10px;margin-left:10px;color:#fff;background-color:#a4afb7;font-size:11px;font-weight:400;line-height:1;text-transform:uppercase;border-radius:2px;cursor:pointer}.elementor-templates-modal__header__close--skip>i{font-size:inherit;padding-right:10px;margin-right:15px;border-right:1px solid}.elementor-templates-modal__header__close--skip>i:not(:hover){color:#fff}.elementor-templates-modal__sidebar{-ms-flex-negative:0;flex-shrink:0;width:25%;background-color:hsla(0,0%,100%,.3)}.elementor-templates-modal__content{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-webkit-box-shadow:0 0 13px inset rgba(0,0,0,.05);box-shadow:inset 0 0 13px rgba(0,0,0,.05)}#wpadminbar #wp-admin-bar-elementor_edit_page .elementor-general-section+.elementor-second-section{border-top:1px solid #464b50;margin-top:6px}.elementor-hidden{display:none}.elementor-screen-only,.screen-reader-text,.screen-reader-text span,.ui-helper-hidden-accessible{position:absolute;top:-10000em;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0}.elementor-clearfix:after{content:"";display:block;clear:both;width:0;height:0}.e-logo-wrapper{background:#93003c;display:inline-block;padding:.75em;border-radius:50%;line-height:1}.e-logo-wrapper i{color:#fff;font-size:1em}#e-enable-unfiltered-files-dialog-import-template .dialog-confirm-ok{color:#39b54a}#e-enable-unfiltered-files-dialog-import-template .dialog-confirm-cancel{color:#b01b1b}.elementor{-webkit-hyphens:manual;-ms-hyphens:manual;hyphens:manual}.elementor *,.elementor :after,.elementor :before{-webkit-box-sizing:border-box;box-sizing:border-box}.elementor a{-webkit-box-shadow:none;box-shadow:none;text-decoration:none}.elementor hr{margin:0;background-color:transparent}.elementor img{height:auto;max-width:100%;border:none;border-radius:0;-webkit-box-shadow:none;box-shadow:none}.elementor .elementor-widget:not(.elementor-widget-text-editor):not(.elementor-widget-theme-post-content) figure{margin:0}.elementor embed,.elementor iframe,.elementor object,.elementor video{max-width:100%;width:100%;margin:0;line-height:1;border:none}.elementor .elementor-custom-embed{line-height:0}.elementor .elementor-background,.elementor .elementor-background-holder,.elementor .elementor-background-video-container{height:100%;width:100%;top:0;left:0;position:absolute;overflow:hidden;z-index:0;direction:ltr}.elementor .elementor-background-video-container{-webkit-transition:opacity 1s;-o-transition:opacity 1s;transition:opacity 1s;pointer-events:none}.elementor .elementor-background-video-container.elementor-loading{opacity:0}.elementor .elementor-background-video-embed{max-width:none}.elementor .elementor-background-video,.elementor .elementor-background-video-embed,.elementor .elementor-background-video-hosted{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.elementor .elementor-background-video{max-width:none}.elementor .elementor-html5-video{-o-object-fit:cover;object-fit:cover}.elementor .elementor-background-overlay{height:100%;width:100%;top:0;left:0;position:absolute}.elementor .elementor-background-slideshow{position:absolute;width:100%;height:100%;z-index:0;top:0;right:0}.elementor .elementor-background-slideshow__slide__image{width:100%;height:100%;background-position:50%;background-size:cover}.e-container>.elementor-element.elementor-absolute,.elementor-widget-wrap>.elementor-element.elementor-absolute{position:absolute}.e-container>.elementor-element.elementor-fixed,.elementor-widget-wrap>.elementor-element.elementor-fixed{position:fixed}.elementor-widget-wrap .elementor-element.elementor-widget__width-auto,.elementor-widget-wrap .elementor-element.elementor-widget__width-initial{max-width:100%}@media (max-width:ELEMENTOR_SCREEN_TABLET_MAX){.elementor-widget-wrap .elementor-element.elementor-widget-tablet__width-auto,.elementor-widget-wrap .elementor-element.elementor-widget-tablet__width-initial{max-width:100%}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-widget-wrap .elementor-element.elementor-widget-mobile__width-auto,.elementor-widget-wrap .elementor-element.elementor-widget-mobile__width-initial{max-width:100%}}.elementor-element{--flex-direction:initial;--flex-wrap:initial;--justify-content:initial;--align-items:initial;--align-content:initial;--gap:initial;--flex-basis:initial;--flex-grow:initial;--flex-shrink:initial;--order:initial;--align-self:initial;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:var(--flex-direction);flex-direction:var(--flex-direction);-ms-flex-wrap:var(--flex-wrap);flex-wrap:var(--flex-wrap);-webkit-box-pack:var(--justify-content);-ms-flex-pack:var(--justify-content);justify-content:var(--justify-content);-webkit-box-align:var(--align-items);-ms-flex-align:var(--align-items);align-items:var(--align-items);-ms-flex-line-pack:var(--align-content);align-content:var(--align-content);gap:var(--gap);-ms-flex-preferred-size:var(--flex-basis);flex-basis:var(--flex-basis);-webkit-box-flex:var(--flex-grow);-ms-flex-positive:var(--flex-grow);flex-grow:var(--flex-grow);-ms-flex-negative:var(--flex-shrink);flex-shrink:var(--flex-shrink);-webkit-box-ordinal-group:var(--order);-ms-flex-order:var(--order);order:var(--order);-ms-flex-item-align:var(--align-self);align-self:var(--align-self)}.elementor-element.elementor-absolute,.elementor-element.elementor-fixed{z-index:1}.elementor-invisible{visibility:hidden}.elementor-align-center{text-align:center}.elementor-align-center .elementor-button{width:auto}.elementor-align-right{text-align:right}.elementor-align-right .elementor-button{width:auto}.elementor-align-left{text-align:left}.elementor-align-left .elementor-button{width:auto}.elementor-align-justify .elementor-button{width:100%}.elementor-custom-embed-play{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.elementor-custom-embed-play i{font-size:100px;color:#fff;text-shadow:1px 0 6px rgba(0,0,0,.3)}.elementor-custom-embed-play svg{height:100px;width:100px;fill:#fff;-webkit-filter:drop-shadow(1px 0 6px rgba(0,0,0,.3));filter:drop-shadow(1px 0 6px rgba(0,0,0,.3))}.elementor-custom-embed-play i,.elementor-custom-embed-play svg{opacity:.8;-webkit-transition:all .5s;-o-transition:all .5s;transition:all .5s}.elementor-custom-embed-play.elementor-playing i{font-family:eicons}.elementor-custom-embed-play.elementor-playing i:before{content:"\e8fb"}.elementor-custom-embed-play.elementor-playing i,.elementor-custom-embed-play.elementor-playing svg{-webkit-animation:eicon-spin 2s linear infinite;animation:eicon-spin 2s linear infinite}.elementor-tag{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}.elementor-ken-burns{-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;-o-transition-property:transform;transition-property:transform;transition-property:transform,-webkit-transform;-webkit-transition-duration:10s;-o-transition-duration:10s;transition-duration:10s;-webkit-transition-timing-function:linear;-o-transition-timing-function:linear;transition-timing-function:linear}.elementor-ken-burns--out{-webkit-transform:scale(1.3);-ms-transform:scale(1.3);transform:scale(1.3)}.elementor-ken-burns--active{-webkit-transition-duration:20s;-o-transition-duration:20s;transition-duration:20s}.elementor-ken-burns--active.elementor-ken-burns--out{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.elementor-ken-burns--active.elementor-ken-burns--in{-webkit-transform:scale(1.3);-ms-transform:scale(1.3);transform:scale(1.3)}@media (min-width:ELEMENTOR_SCREEN_WIDESCREEN_MIN){.elementor-widescreen-align-center{text-align:center}.elementor-widescreen-align-center .elementor-button{width:auto}.elementor-widescreen-align-right{text-align:right}.elementor-widescreen-align-right .elementor-button{width:auto}.elementor-widescreen-align-left{text-align:left}.elementor-widescreen-align-left .elementor-button{width:auto}.elementor-widescreen-align-justify .elementor-button{width:100%}}@media (max-width:ELEMENTOR_SCREEN_LAPTOP_MAX){.elementor-laptop-align-center{text-align:center}.elementor-laptop-align-center .elementor-button{width:auto}.elementor-laptop-align-right{text-align:right}.elementor-laptop-align-right .elementor-button{width:auto}.elementor-laptop-align-left{text-align:left}.elementor-laptop-align-left .elementor-button{width:auto}.elementor-laptop-align-justify .elementor-button{width:100%}}@media (max-width:ELEMENTOR_SCREEN_TABLET_EXTRA_MAX){.elementor-tablet_extra-align-center{text-align:center}.elementor-tablet_extra-align-center .elementor-button{width:auto}.elementor-tablet_extra-align-right{text-align:right}.elementor-tablet_extra-align-right .elementor-button{width:auto}.elementor-tablet_extra-align-left{text-align:left}.elementor-tablet_extra-align-left .elementor-button{width:auto}.elementor-tablet_extra-align-justify .elementor-button{width:100%}}@media (max-width:ELEMENTOR_SCREEN_TABLET_MAX){.elementor-tablet-align-center{text-align:center}.elementor-tablet-align-center .elementor-button{width:auto}.elementor-tablet-align-right{text-align:right}.elementor-tablet-align-right .elementor-button{width:auto}.elementor-tablet-align-left{text-align:left}.elementor-tablet-align-left .elementor-button{width:auto}.elementor-tablet-align-justify .elementor-button{width:100%}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_EXTRA_MAX){.elementor-mobile_extra-align-center{text-align:center}.elementor-mobile_extra-align-center .elementor-button{width:auto}.elementor-mobile_extra-align-right{text-align:right}.elementor-mobile_extra-align-right .elementor-button{width:auto}.elementor-mobile_extra-align-left{text-align:left}.elementor-mobile_extra-align-left .elementor-button{width:auto}.elementor-mobile_extra-align-justify .elementor-button{width:100%}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-mobile-align-center{text-align:center}.elementor-mobile-align-center .elementor-button{width:auto}.elementor-mobile-align-right{text-align:right}.elementor-mobile-align-right .elementor-button{width:auto}.elementor-mobile-align-left{text-align:left}.elementor-mobile-align-left .elementor-button{width:auto}.elementor-mobile-align-justify .elementor-button{width:100%}}:root{--page-title-display:block}.elementor-page-title,h1.entry-title{display:var(--page-title-display)}@-webkit-keyframes eicon-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes eicon-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.eicon-animation-spin{-webkit-animation:eicon-spin 2s linear infinite;animation:eicon-spin 2s linear infinite}.elementor-section{position:relative}.elementor-section .elementor-container{display:-webkit-box;display:-ms-flexbox;display:flex;margin-right:auto;margin-left:auto;position:relative}@media (max-width:ELEMENTOR_SCREEN_TABLET_MAX){.elementor-section .elementor-container{-ms-flex-wrap:wrap;flex-wrap:wrap}}.elementor-section.elementor-section-boxed>.elementor-container{max-width:1140px}.elementor-section.elementor-section-stretched{position:relative;width:100%}.elementor-section.elementor-section-items-top>.elementor-container{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.elementor-section.elementor-section-items-middle>.elementor-container{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-section.elementor-section-items-bottom>.elementor-container{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}@media (min-width:ELEMENTOR_SCREEN_MOBILE_NEXT){.elementor-section.elementor-section-height-full{height:100vh}.elementor-section.elementor-section-height-full>.elementor-container{height:100%}}.elementor-bc-flex-widget .elementor-section-content-top>.elementor-container>.elementor-column>.elementor-widget-wrap{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.elementor-bc-flex-widget .elementor-section-content-middle>.elementor-container>.elementor-column>.elementor-widget-wrap{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-bc-flex-widget .elementor-section-content-bottom>.elementor-container>.elementor-column>.elementor-widget-wrap{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.elementor-row{width:100%;display:-webkit-box;display:-ms-flexbox;display:flex}@media (max-width:ELEMENTOR_SCREEN_TABLET_MAX){.elementor-row{-ms-flex-wrap:wrap;flex-wrap:wrap}}.elementor-widget-wrap{position:relative;width:100%;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-line-pack:start;align-content:flex-start}.elementor:not(.elementor-bc-flex-widget) .elementor-widget-wrap{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-wrap>.elementor-element{width:100%}.elementor-widget-wrap.e-swiper-container{width:calc(100% - (var(--e-column-margin-left, 0px) + var(--e-column-margin-right, 0px)))}.elementor-widget{position:relative}.elementor-widget:not(:last-child){margin-bottom:20px}.elementor-widget:not(:last-child).elementor-absolute,.elementor-widget:not(:last-child).elementor-widget__width-auto,.elementor-widget:not(:last-child).elementor-widget__width-initial{margin-bottom:0}.elementor-column{min-height:1px}.elementor-column,.elementor-column-wrap{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-column-wrap{width:100%}.elementor-column-gap-narrow>.elementor-column>.elementor-element-populated{padding:5px}.elementor-column-gap-default>.elementor-column>.elementor-element-populated{padding:10px}.elementor-column-gap-extended>.elementor-column>.elementor-element-populated{padding:15px}.elementor-column-gap-wide>.elementor-column>.elementor-element-populated{padding:20px}.elementor-column-gap-wider>.elementor-column>.elementor-element-populated{padding:30px}.elementor-inner-section .elementor-column-gap-no .elementor-element-populated{padding:0}@media (min-width:ELEMENTOR_SCREEN_MOBILE_NEXT){.elementor-column.elementor-col-10,.elementor-column[data-col="10"]{width:10%}.elementor-column.elementor-col-11,.elementor-column[data-col="11"]{width:11.111%}.elementor-column.elementor-col-12,.elementor-column[data-col="12"]{width:12.5%}.elementor-column.elementor-col-14,.elementor-column[data-col="14"]{width:14.285%}.elementor-column.elementor-col-16,.elementor-column[data-col="16"]{width:16.666%}.elementor-column.elementor-col-20,.elementor-column[data-col="20"]{width:20%}.elementor-column.elementor-col-25,.elementor-column[data-col="25"]{width:25%}.elementor-column.elementor-col-30,.elementor-column[data-col="30"]{width:30%}.elementor-column.elementor-col-33,.elementor-column[data-col="33"]{width:33.333%}.elementor-column.elementor-col-40,.elementor-column[data-col="40"]{width:40%}.elementor-column.elementor-col-50,.elementor-column[data-col="50"]{width:50%}.elementor-column.elementor-col-60,.elementor-column[data-col="60"]{width:60%}.elementor-column.elementor-col-66,.elementor-column[data-col="66"]{width:66.666%}.elementor-column.elementor-col-70,.elementor-column[data-col="70"]{width:70%}.elementor-column.elementor-col-75,.elementor-column[data-col="75"]{width:75%}.elementor-column.elementor-col-80,.elementor-column[data-col="80"]{width:80%}.elementor-column.elementor-col-83,.elementor-column[data-col="83"]{width:83.333%}.elementor-column.elementor-col-90,.elementor-column[data-col="90"]{width:90%}.elementor-column.elementor-col-100,.elementor-column[data-col="100"]{width:100%}}@media (max-width:479px){.elementor-column.elementor-xs-10{width:10%}.elementor-column.elementor-xs-11{width:11.111%}.elementor-column.elementor-xs-12{width:12.5%}.elementor-column.elementor-xs-14{width:14.285%}.elementor-column.elementor-xs-16{width:16.666%}.elementor-column.elementor-xs-20{width:20%}.elementor-column.elementor-xs-25{width:25%}.elementor-column.elementor-xs-30{width:30%}.elementor-column.elementor-xs-33{width:33.333%}.elementor-column.elementor-xs-40{width:40%}.elementor-column.elementor-xs-50{width:50%}.elementor-column.elementor-xs-60{width:60%}.elementor-column.elementor-xs-66{width:66.666%}.elementor-column.elementor-xs-70{width:70%}.elementor-column.elementor-xs-75{width:75%}.elementor-column.elementor-xs-80{width:80%}.elementor-column.elementor-xs-83{width:83.333%}.elementor-column.elementor-xs-90{width:90%}.elementor-column.elementor-xs-100{width:100%}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-column.elementor-sm-10{width:10%}.elementor-column.elementor-sm-11{width:11.111%}.elementor-column.elementor-sm-12{width:12.5%}.elementor-column.elementor-sm-14{width:14.285%}.elementor-column.elementor-sm-16{width:16.666%}.elementor-column.elementor-sm-20{width:20%}.elementor-column.elementor-sm-25{width:25%}.elementor-column.elementor-sm-30{width:30%}.elementor-column.elementor-sm-33{width:33.333%}.elementor-column.elementor-sm-40{width:40%}.elementor-column.elementor-sm-50{width:50%}.elementor-column.elementor-sm-60{width:60%}.elementor-column.elementor-sm-66{width:66.666%}.elementor-column.elementor-sm-70{width:70%}.elementor-column.elementor-sm-75{width:75%}.elementor-column.elementor-sm-80{width:80%}.elementor-column.elementor-sm-83{width:83.333%}.elementor-column.elementor-sm-90{width:90%}.elementor-column.elementor-sm-100{width:100%}}@media (min-width:ELEMENTOR_SCREEN_MOBILE_NEXT) and (max-width:ELEMENTOR_SCREEN_TABLET_MAX){.elementor-column.elementor-md-10{width:10%}.elementor-column.elementor-md-11{width:11.111%}.elementor-column.elementor-md-12{width:12.5%}.elementor-column.elementor-md-14{width:14.285%}.elementor-column.elementor-md-16{width:16.666%}.elementor-column.elementor-md-20{width:20%}.elementor-column.elementor-md-25{width:25%}.elementor-column.elementor-md-30{width:30%}.elementor-column.elementor-md-33{width:33.333%}.elementor-column.elementor-md-40{width:40%}.elementor-column.elementor-md-50{width:50%}.elementor-column.elementor-md-60{width:60%}.elementor-column.elementor-md-66{width:66.666%}.elementor-column.elementor-md-70{width:70%}.elementor-column.elementor-md-75{width:75%}.elementor-column.elementor-md-80{width:80%}.elementor-column.elementor-md-83{width:83.333%}.elementor-column.elementor-md-90{width:90%}.elementor-column.elementor-md-100{width:100%}}@media (min-width:ELEMENTOR_SCREEN_WIDESCREEN_MIN){.elementor-reverse-widescreen>.elementor-container>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-widescreen>.elementor-container>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-widescreen>.elementor-container>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-widescreen>.elementor-container>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-widescreen>.elementor-container>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-widescreen>.elementor-container>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-widescreen>.elementor-container>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-widescreen>.elementor-container>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-widescreen>.elementor-container>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-widescreen>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:ELEMENTOR_SCREEN_TABLET_NEXT) and (max-width:ELEMENTOR_SCREEN_LAPTOP_MAX){.elementor-reverse-laptop>.elementor-container>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-laptop>.elementor-container>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-laptop>.elementor-container>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-laptop>.elementor-container>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-laptop>.elementor-container>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-laptop>.elementor-container>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-laptop>.elementor-container>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-laptop>.elementor-container>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-laptop>.elementor-container>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-laptop>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:ELEMENTOR_SCREEN_TABLET_EXTRA_NEXT) and (max-width:ELEMENTOR_SCREEN_LAPTOP_MAX){.elementor-reverse-laptop>.elementor-container>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-laptop>.elementor-container>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-laptop>.elementor-container>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-laptop>.elementor-container>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-laptop>.elementor-container>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-laptop>.elementor-container>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-laptop>.elementor-container>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-laptop>.elementor-container>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-laptop>.elementor-container>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-laptop>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:ELEMENTOR_SCREEN_TABLET_NEXT) and (max-width:ELEMENTOR_SCREEN_TABLET_EXTRA_MAX){.elementor-reverse-laptop>.elementor-container>:first-child,.elementor-reverse-laptop>.elementor-container>:nth-child(2),.elementor-reverse-laptop>.elementor-container>:nth-child(3),.elementor-reverse-laptop>.elementor-container>:nth-child(4),.elementor-reverse-laptop>.elementor-container>:nth-child(5),.elementor-reverse-laptop>.elementor-container>:nth-child(6),.elementor-reverse-laptop>.elementor-container>:nth-child(7),.elementor-reverse-laptop>.elementor-container>:nth-child(8),.elementor-reverse-laptop>.elementor-container>:nth-child(9),.elementor-reverse-laptop>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:initial;-ms-flex-order:initial;order:0}.elementor-reverse-tablet_extra>.elementor-container>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:ELEMENTOR_SCREEN_MOBILE_NEXT) and (max-width:ELEMENTOR_SCREEN_TABLET_MAX){.elementor-reverse-tablet>.elementor-container>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-tablet>.elementor-container>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-tablet>.elementor-container>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-tablet>.elementor-container>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-tablet>.elementor-container>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-tablet>.elementor-container>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-tablet>.elementor-container>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-tablet>.elementor-container>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-tablet>.elementor-container>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-tablet>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:ELEMENTOR_SCREEN_MOBILE_EXTRA_NEXT) and (max-width:ELEMENTOR_SCREEN_TABLET_MAX){.elementor-reverse-tablet>.elementor-container>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-tablet>.elementor-container>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-tablet>.elementor-container>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-tablet>.elementor-container>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-tablet>.elementor-container>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-tablet>.elementor-container>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-tablet>.elementor-container>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-tablet>.elementor-container>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-tablet>.elementor-container>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-tablet>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:ELEMENTOR_SCREEN_MOBILE_NEXT) and (max-width:ELEMENTOR_SCREEN_MOBILE_EXTRA_MAX){.elementor-reverse-tablet>.elementor-container>:first-child,.elementor-reverse-tablet>.elementor-container>:nth-child(2),.elementor-reverse-tablet>.elementor-container>:nth-child(3),.elementor-reverse-tablet>.elementor-container>:nth-child(4),.elementor-reverse-tablet>.elementor-container>:nth-child(5),.elementor-reverse-tablet>.elementor-container>:nth-child(6),.elementor-reverse-tablet>.elementor-container>:nth-child(7),.elementor-reverse-tablet>.elementor-container>:nth-child(8),.elementor-reverse-tablet>.elementor-container>:nth-child(9),.elementor-reverse-tablet>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:initial;-ms-flex-order:initial;order:0}.elementor-reverse-mobile_extra>.elementor-container>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-reverse-mobile>.elementor-container>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-mobile>.elementor-container>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-mobile>.elementor-container>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-mobile>.elementor-container>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-mobile>.elementor-container>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-mobile>.elementor-container>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-mobile>.elementor-container>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-mobile>.elementor-container>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-mobile>.elementor-container>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-mobile>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.elementor-column{width:100%}}ul.elementor-icon-list-items.elementor-inline-items{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}ul.elementor-icon-list-items.elementor-inline-items .elementor-inline-item{word-break:break-word}.elementor-grid{display:grid;grid-column-gap:var(--grid-column-gap);grid-row-gap:var(--grid-row-gap)}.elementor-grid .elementor-grid-item{min-width:0}.elementor-grid-0 .elementor-grid{display:inline-block;width:100%;word-spacing:var(--grid-column-gap);margin-bottom:calc(-1 * var(--grid-row-gap))}.elementor-grid-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-bottom:var(--grid-row-gap);word-break:break-word}.elementor-grid-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}@media (min-width:ELEMENTOR_SCREEN_WIDESCREEN_MIN){.elementor-grid-widescreen-0 .elementor-grid{display:inline-block;width:100%;word-spacing:var(--grid-column-gap);margin-bottom:calc(-1 * var(--grid-row-gap))}.elementor-grid-widescreen-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-bottom:var(--grid-row-gap);word-break:break-word}.elementor-grid-widescreen-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-widescreen-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-widescreen-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-widescreen-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-widescreen-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-widescreen-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-widescreen-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-widescreen-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-widescreen-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-widescreen-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-widescreen-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-widescreen-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}}@media (max-width:ELEMENTOR_SCREEN_LAPTOP_MAX){.elementor-grid-laptop-0 .elementor-grid{display:inline-block;width:100%;word-spacing:var(--grid-column-gap);margin-bottom:calc(-1 * var(--grid-row-gap))}.elementor-grid-laptop-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-bottom:var(--grid-row-gap);word-break:break-word}.elementor-grid-laptop-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-laptop-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-laptop-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-laptop-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-laptop-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-laptop-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-laptop-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-laptop-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-laptop-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-laptop-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-laptop-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-laptop-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}}@media (max-width:ELEMENTOR_SCREEN_TABLET_EXTRA_MAX){.elementor-grid-tablet_extra-0 .elementor-grid{display:inline-block;width:100%;word-spacing:var(--grid-column-gap);margin-bottom:calc(-1 * var(--grid-row-gap))}.elementor-grid-tablet_extra-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-bottom:var(--grid-row-gap);word-break:break-word}.elementor-grid-tablet_extra-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-tablet_extra-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-tablet_extra-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-tablet_extra-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-tablet_extra-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-tablet_extra-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-tablet_extra-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-tablet_extra-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-tablet_extra-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-tablet_extra-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-tablet_extra-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-tablet_extra-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}}@media (max-width:ELEMENTOR_SCREEN_TABLET_MAX){.elementor-grid-tablet-0 .elementor-grid{display:inline-block;width:100%;word-spacing:var(--grid-column-gap);margin-bottom:calc(-1 * var(--grid-row-gap))}.elementor-grid-tablet-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-bottom:var(--grid-row-gap);word-break:break-word}.elementor-grid-tablet-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-tablet-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-tablet-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-tablet-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-tablet-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-tablet-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-tablet-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-tablet-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-tablet-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-tablet-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-tablet-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-tablet-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_EXTRA_MAX){.elementor-grid-mobile_extra-0 .elementor-grid{display:inline-block;width:100%;word-spacing:var(--grid-column-gap);margin-bottom:calc(-1 * var(--grid-row-gap))}.elementor-grid-mobile_extra-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-bottom:var(--grid-row-gap);word-break:break-word}.elementor-grid-mobile_extra-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-mobile_extra-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-mobile_extra-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-mobile_extra-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-mobile_extra-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-mobile_extra-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-mobile_extra-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-mobile_extra-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-mobile_extra-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-mobile_extra-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-mobile_extra-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-mobile_extra-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-grid-mobile-0 .elementor-grid{display:inline-block;width:100%;word-spacing:var(--grid-column-gap);margin-bottom:calc(-1 * var(--grid-row-gap))}.elementor-grid-mobile-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-bottom:var(--grid-row-gap);word-break:break-word}.elementor-grid-mobile-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-mobile-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-mobile-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-mobile-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-mobile-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-mobile-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-mobile-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-mobile-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-mobile-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-mobile-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-mobile-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-mobile-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}}@media (min-width:ELEMENTOR_SCREEN_DESKTOP_MIN){#elementor-device-mode:after{content:"desktop"}}@media (min-width:ELEMENTOR_SCREEN_WIDESCREEN_MIN){#elementor-device-mode:after{content:"widescreen"}}@media (max-width:ELEMENTOR_SCREEN_LAPTOP_MAX){#elementor-device-mode:after{content:"laptop"}}@media (max-width:ELEMENTOR_SCREEN_TABLET_EXTRA_MAX){#elementor-device-mode:after{content:"tablet_extra"}}@media (max-width:ELEMENTOR_SCREEN_TABLET_MAX){#elementor-device-mode:after{content:"tablet"}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_EXTRA_MAX){#elementor-device-mode:after{content:"mobile_extra"}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){#elementor-device-mode:after{content:"mobile"}}.e-container{--border-radius:0;--display:flex;--flex-direction:column;--flex-basis:auto;--flex-grow:0;--flex-shrink:1;--content-width:Min(100%,var(--container-max-width,1140px));--width:100%;--min-height:initial;--height:auto;--text-align:initial;--margin-top:0;--margin-right:0;--margin-bottom:0;--margin-left:0;--padding-top:var(--container-default-padding,0px);--padding-right:var(--container-default-padding,0px);--padding-bottom:var(--container-default-padding,0px);--padding-left:var(--container-default-padding,0px);--position:relative;--z-index:revert;--overflow:visible;--transition:0;--gap:var(--widgets-spacing,20px);--overlay-mix-blend-mode:initial;--overlay-opacity:1;--overlay-transition:0;position:var(--position);display:var(--display);text-align:var(--text-align);-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:var(--flex-direction);flex-direction:var(--flex-direction);-webkit-box-flex:var(--flex-grow);-ms-flex:var(--flex-grow) var(--flex-shrink) var(--flex-basis);flex:var(--flex-grow) var(--flex-shrink) var(--flex-basis);width:var(--width);min-width:0;max-width:min(100%,var(--width));min-height:var(--min-height);height:var(--height);border-radius:var(--border-radius);margin:var(--margin-top) var(--margin-right) var(--margin-bottom) var(--margin-left);padding:var(--padding-top) calc((100% - var(--content-width)) / 2 + var(--padding-right)) var(--padding-bottom) calc((100% - var(--content-width)) / 2 + var(--padding-left));z-index:var(--z-index);overflow:var(--overflow);-webkit-transition:var(--transition);-o-transition:var(--transition);transition:var(--transition)}:is(.elementor-section-wrap,[data-elementor-id])>.e-container{--margin-right:auto;--margin-left:auto}.e-container .elementor-empty-view{position:relative;width:100%;height:100%;min-height:var(--min-height,100px)}.e-container .elementor-empty-view .elementor-first-add{width:auto;height:auto;inset:10px}.e-container .elementor-widget-placeholder{--size:10px;--margin-start:calc(-1 * var(--size));--margin-end:calc(-2 * var(--size));-ms-flex-negative:0;flex-shrink:0;-ms-flex-item-align:stretch;align-self:stretch;z-index:1;pointer-events:none}.e-container.e-container--row>.elementor-widget-placeholder{position:relative;z-index:9999;width:var(--size);-webkit-margin-start:var(--margin-start);margin-inline-start:var(--margin-start);height:auto;min-height:100%;-webkit-animation-name:dnd-placeholder-widget-vertical;animation-name:dnd-placeholder-widget-vertical;-webkit-animation-fill-mode:both;animation-fill-mode:both}.e-container.e-container--row[data-nesting-level]:not([data-nesting-level="0"])>.elementor-widget-placeholder{-webkit-margin-end:0;margin-inline-end:0;-webkit-margin-start:calc(var(--margin-start) + var(--margin-end));margin-inline-start:calc(var(--margin-start) + var(--margin-end))}.e-container.e-container--row[data-nesting-level]:not([data-nesting-level="0"])>:not(.elementor-element)+.elementor-widget-placeholder{-webkit-margin-end:var(--margin-end);margin-inline-end:var(--margin-end);-webkit-margin-start:var(--margin-start);margin-inline-start:var(--margin-start)}.e-container.e-container--column>.elementor-widget-placeholder{height:var(--size);-webkit-margin-before:var(--margin-start);margin-block-start:var(--margin-start);-webkit-margin-after:var(--margin-end);margin-block-end:var(--margin-end);-webkit-animation-name:dnd-placeholder-widget-horizontal;animation-name:dnd-placeholder-widget-horizontal}.e-container.e-container--column>.elementor-widget-placeholder:nth-last-child(2){-webkit-margin-before:calc(2 * var(--margin-start));margin-block-start:calc(2 * var(--margin-start));--margin-end:0}.e-container .elementor-sortable-helper{height:84px;width:125px;z-index:-1}.e-container .elementor-widget.elementor-widget{margin-bottom:0}.e-container:before{content:var(--background-overlay);display:block;position:absolute;z-index:0;width:100%;height:100%;left:0;top:0;mix-blend-mode:var(--overlay-mix-blend-mode);opacity:var(--overlay-opacity);-webkit-transition:var(--overlay-transition);-o-transition:var(--overlay-transition);transition:var(--overlay-transition);border-radius:var(--border-radius)}.e-container .elementor-widget{min-width:0}.e-container .elementor-widget-google_maps,.e-container .elementor-widget-video{-ms-flex-preferred-size:100%;flex-basis:100%}.e-container .elementor-widget.e-widget-swiper{max-width:100%;-ms-flex-preferred-size:100%;flex-basis:100%}.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-setting,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-setting{position:relative;background-color:#556068}.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-setting:hover,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-setting:hover{background-color:#495157}.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-setting.elementor-editor-element-add,.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-setting.elementor-editor-element-edit+.elementor-editor-element-remove,.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-setting:first-child:before,.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-setting:last-child:after,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-setting.elementor-editor-element-add,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-setting.elementor-editor-element-edit+.elementor-editor-element-remove,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-setting:first-child:before,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-setting:last-child:after{display:none}.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-setting:not(.elementor-editor-element-edit),.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-setting:not(.elementor-editor-element-edit){-webkit-margin-start:-25px;margin-inline-start:-25px;z-index:-1;-webkit-transition:all .3s;-o-transition:.3s all;transition:all .3s;will-change:margin-inline-start}.e-container>.e-container>.elementor-element-overlay>.elementor-editor-element-settings:hover>:is(.elementor-editor-element-duplicate,.elementor-editor-element-remove),.elementor-widget .e-container>.elementor-element-overlay>.elementor-editor-element-settings:hover>:is(.elementor-editor-element-duplicate,.elementor-editor-element-remove){-webkit-margin-start:0;margin-inline-start:0}.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-settings,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-settings{inset:auto;-webkit-transform:none;-ms-transform:none;transform:none;inset-inline-start:0;top:0;border-radius:0;border-end-end-radius:3px;height:auto;background-color:#556068}.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-settings:hover,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-settings:hover{background-color:#495157}.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-settings i.eicon-handle:before,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-settings i.eicon-handle:before{content:"\e9b4";font-size:20px;display:block;padding:2px}@media (max-width:767px){.e-container{--width:100%;--flex-wrap:wrap}}@-webkit-keyframes dnd-placeholder-widget-vertical{0%{-webkit-transform-origin:0 50%;transform-origin:0 50%;-webkit-transform:translateX(50%) scaleX(0);transform:translateX(50%) scaleX(0);opacity:0}to{-webkit-transform-origin:0 50%;transform-origin:0 50%;-webkit-transform:translateX(50%) scaleX(1);transform:translateX(50%) scaleX(1);opacity:.9}}@keyframes dnd-placeholder-widget-vertical{0%{-webkit-transform-origin:0 50%;transform-origin:0 50%;-webkit-transform:translateX(50%) scaleX(0);transform:translateX(50%) scaleX(0);opacity:0}to{-webkit-transform-origin:0 50%;transform-origin:0 50%;-webkit-transform:translateX(50%) scaleX(1);transform:translateX(50%) scaleX(1);opacity:.9}}@-webkit-keyframes dnd-placeholder-widget-horizontal{0%{-webkit-transform-origin:50% 0;transform-origin:50% 0;-webkit-transform:scaleY(0);transform:scaleY(0);opacity:0}to{-webkit-transform-origin:50% 0;transform-origin:50% 0;-webkit-transform:scaleY(1);transform:scaleY(1);opacity:.9}}@keyframes dnd-placeholder-widget-horizontal{0%{-webkit-transform-origin:50% 0;transform-origin:50% 0;-webkit-transform:scaleY(0);transform:scaleY(0);opacity:0}to{-webkit-transform-origin:50% 0;transform-origin:50% 0;-webkit-transform:scaleY(1);transform:scaleY(1);opacity:.9}}.elementor-form-fields-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group .elementor-field-subgroup,.elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group>.elementor-select-wrapper,.elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group>input,.elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group>textarea{-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.elementor-form-fields-wrapper.elementor-labels-inline>.elementor-field-group .elementor-select-wrapper,.elementor-form-fields-wrapper.elementor-labels-inline>.elementor-field-group>input{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-field-group{-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-field-group.elementor-field-type-submit{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.elementor-field-group .elementor-field-textual{width:100%;max-width:100%;border:1px solid #818a91;background-color:transparent;color:#373a3c;vertical-align:middle;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-field-group .elementor-field-textual:focus{-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.1) inset;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);outline:0}.elementor-field-group .elementor-field-textual::-webkit-input-placeholder{color:inherit;font-family:inherit;opacity:.6}.elementor-field-group .elementor-field-textual:-ms-input-placeholder{color:inherit;font-family:inherit;opacity:.6}.elementor-field-group .elementor-field-textual:-moz-placeholder,.elementor-field-group .elementor-field-textual::-moz-placeholder{color:inherit;font-family:inherit;opacity:.6}.elementor-field-group .elementor-field-textual::-ms-input-placeholder{color:inherit;font-family:inherit;opacity:.6}.elementor-field-group .elementor-field-textual::placeholder{color:inherit;font-family:inherit;opacity:.6}.elementor-field-group .elementor-select-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;position:relative;width:100%}.elementor-field-group .elementor-select-wrapper select{appearance:none;-webkit-appearance:none;-moz-appearance:none;color:inherit;font-size:inherit;font-family:inherit;font-weight:inherit;font-style:inherit;text-transform:inherit;letter-spacing:inherit;line-height:inherit;-ms-flex-preferred-size:100%;flex-basis:100%;padding-left:20px}.elementor-field-group .elementor-select-wrapper:before{content:"\e92a";font-family:eicons;font-size:15px;position:absolute;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);left:10px;pointer-events:none;text-shadow:0 0 3px rgba(0,0,0,.3)}.elementor-field-group.elementor-field-type-select-multiple .elementor-select-wrapper:before{content:""}.elementor-field-subgroup{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.elementor-field-subgroup .elementor-field-option label{display:inline-block}.elementor-field-subgroup.elementor-subgroup-inline .elementor-field-option{padding-left:10px}.elementor-field-subgroup:not(.elementor-subgroup-inline) .elementor-field-option{-ms-flex-preferred-size:100%;flex-basis:100%}.elementor-field-type-acceptance .elementor-field-subgroup .elementor-field-option input,.elementor-field-type-acceptance .elementor-field-subgroup .elementor-field-option label,.elementor-field-type-checkbox .elementor-field-subgroup .elementor-field-option input,.elementor-field-type-checkbox .elementor-field-subgroup .elementor-field-option label,.elementor-field-type-radio .elementor-field-subgroup .elementor-field-option input,.elementor-field-type-radio .elementor-field-subgroup .elementor-field-option label{display:inline}.elementor-field-label{cursor:pointer}.elementor-mark-required .elementor-field-label:after{content:"*";color:red;padding-right:.2em}.elementor-field-textual{line-height:1.4;font-size:15px;min-height:40px;padding:5px 14px;border-radius:3px}.elementor-field-textual.elementor-size-xs{font-size:13px;min-height:33px;padding:4px 12px;border-radius:2px}.elementor-field-textual.elementor-size-md{font-size:16px;min-height:47px;padding:6px 16px;border-radius:4px}.elementor-field-textual.elementor-size-lg{font-size:18px;min-height:59px;padding:7px 20px;border-radius:5px}.elementor-field-textual.elementor-size-xl{font-size:20px;min-height:72px;padding:8px 24px;border-radius:6px}.elementor-button-align-stretch .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button{-ms-flex-preferred-size:100%;flex-basis:100%}.elementor-button-align-stretch .e-form__buttons__wrapper{-ms-flex-preferred-size:50%;flex-basis:50%;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-button-align-stretch .e-form__buttons__wrapper__button{-ms-flex-preferred-size:100%;flex-basis:100%}.elementor-button-align-center .e-form__buttons,.elementor-button-align-center .elementor-field-type-submit{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-button-align-start .e-form__buttons,.elementor-button-align-start .elementor-field-type-submit{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-button-align-end .e-form__buttons,.elementor-button-align-end .elementor-field-type-submit{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-button-align-center .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button,.elementor-button-align-end .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button,.elementor-button-align-start .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button{-ms-flex-preferred-size:initial;flex-basis:auto}.elementor-button-align-center .e-form__buttons__wrapper,.elementor-button-align-end .e-form__buttons__wrapper,.elementor-button-align-start .e-form__buttons__wrapper{-webkit-box-flex:initial;-ms-flex-positive:initial;flex-grow:0}.elementor-button-align-center .e-form__buttons__wrapper,.elementor-button-align-center .e-form__buttons__wrapper__button,.elementor-button-align-end .e-form__buttons__wrapper,.elementor-button-align-end .e-form__buttons__wrapper__button,.elementor-button-align-start .e-form__buttons__wrapper,.elementor-button-align-start .e-form__buttons__wrapper__button{-ms-flex-preferred-size:initial;flex-basis:auto}@media screen and (max-width:ELEMENTOR_SCREEN_TABLET_MAX){.elementor-tablet-button-align-stretch .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button{-ms-flex-preferred-size:100%;flex-basis:100%}.elementor-tablet-button-align-stretch .e-form__buttons__wrapper{-ms-flex-preferred-size:50%;flex-basis:50%;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-tablet-button-align-stretch .e-form__buttons__wrapper__button{-ms-flex-preferred-size:100%;flex-basis:100%}.elementor-tablet-button-align-center .e-form__buttons,.elementor-tablet-button-align-center .elementor-field-type-submit{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-tablet-button-align-start .e-form__buttons,.elementor-tablet-button-align-start .elementor-field-type-submit{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-tablet-button-align-end .e-form__buttons,.elementor-tablet-button-align-end .elementor-field-type-submit{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-tablet-button-align-center .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button,.elementor-tablet-button-align-end .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button,.elementor-tablet-button-align-start .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button{-ms-flex-preferred-size:initial;flex-basis:auto}.elementor-tablet-button-align-center .e-form__buttons__wrapper,.elementor-tablet-button-align-end .e-form__buttons__wrapper,.elementor-tablet-button-align-start .e-form__buttons__wrapper{-webkit-box-flex:initial;-ms-flex-positive:initial;flex-grow:0}.elementor-tablet-button-align-center .e-form__buttons__wrapper,.elementor-tablet-button-align-center .e-form__buttons__wrapper__button,.elementor-tablet-button-align-end .e-form__buttons__wrapper,.elementor-tablet-button-align-end .e-form__buttons__wrapper__button,.elementor-tablet-button-align-start .e-form__buttons__wrapper,.elementor-tablet-button-align-start .e-form__buttons__wrapper__button{-ms-flex-preferred-size:initial;flex-basis:auto}}@media screen and (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-mobile-button-align-stretch .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button{-ms-flex-preferred-size:100%;flex-basis:100%}.elementor-mobile-button-align-stretch .e-form__buttons__wrapper{-ms-flex-preferred-size:50%;flex-basis:50%;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-mobile-button-align-stretch .e-form__buttons__wrapper__button{-ms-flex-preferred-size:100%;flex-basis:100%}.elementor-mobile-button-align-center .e-form__buttons,.elementor-mobile-button-align-center .elementor-field-type-submit{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-mobile-button-align-start .e-form__buttons,.elementor-mobile-button-align-start .elementor-field-type-submit{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-mobile-button-align-end .e-form__buttons,.elementor-mobile-button-align-end .elementor-field-type-submit{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-mobile-button-align-center .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button,.elementor-mobile-button-align-end .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button,.elementor-mobile-button-align-start .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button{-ms-flex-preferred-size:initial;flex-basis:auto}.elementor-mobile-button-align-center .e-form__buttons__wrapper,.elementor-mobile-button-align-end .e-form__buttons__wrapper,.elementor-mobile-button-align-start .e-form__buttons__wrapper{-webkit-box-flex:initial;-ms-flex-positive:initial;flex-grow:0}.elementor-mobile-button-align-center .e-form__buttons__wrapper,.elementor-mobile-button-align-center .e-form__buttons__wrapper__button,.elementor-mobile-button-align-end .e-form__buttons__wrapper,.elementor-mobile-button-align-end .e-form__buttons__wrapper__button,.elementor-mobile-button-align-start .e-form__buttons__wrapper,.elementor-mobile-button-align-start .e-form__buttons__wrapper__button{-ms-flex-preferred-size:initial;flex-basis:auto}}.elementor-error .elementor-field{border-color:#d9534f}.elementor-error .help-inline{color:#d9534f;font-size:.9em}.elementor-message{margin:10px 0;font-size:1em;line-height:1}.elementor-message:before{content:"\e90e";display:inline-block;font-family:eicons;font-weight:400;font-style:normal;vertical-align:middle;margin-left:5px}.elementor-message.elementor-message-danger{color:#d9534f}.elementor-message.elementor-message-danger:before{content:"\e87f"}.elementor-message.form-message-success{color:#5cb85c}.elementor-form .elementor-button{padding-top:0;padding-bottom:0;border:none}.elementor-form .elementor-button>span{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-form .elementor-button.elementor-size-xs{min-height:33px}.elementor-form .elementor-button.elementor-size-sm{min-height:40px}.elementor-form .elementor-button.elementor-size-md{min-height:47px}.elementor-form .elementor-button.elementor-size-lg{min-height:59px}.elementor-form .elementor-button.elementor-size-xl{min-height:72px}.elementor-element .elementor-widget-container{-webkit-transition:background .3s,border .3s,border-radius .3s,-webkit-box-shadow .3s;transition:background .3s,border .3s,border-radius .3s,-webkit-box-shadow .3s;-o-transition:background .3s,border .3s,border-radius .3s,box-shadow .3s;transition:background .3s,border .3s,border-radius .3s,box-shadow .3s;transition:background .3s,border .3s,border-radius .3s,box-shadow .3s,-webkit-box-shadow .3s}.elementor-button{display:inline-block;line-height:1;background-color:#818a91;font-size:15px;padding:12px 24px;border-radius:3px;color:#fff;fill:#fff;text-align:center;-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s}.elementor-button:focus,.elementor-button:hover,.elementor-button:visited{color:#fff}.elementor-button-content-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-button-icon{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-button-icon svg{width:1em;height:auto}.elementor-button-icon .e-font-icon-svg{height:1em}.elementor-button-text{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10;display:inline-block}.elementor-button.elementor-size-xs{font-size:13px;padding:10px 20px;border-radius:2px}.elementor-button.elementor-size-md{font-size:16px;padding:15px 30px;border-radius:4px}.elementor-button.elementor-size-lg{font-size:18px;padding:20px 40px;border-radius:5px}.elementor-button.elementor-size-xl{font-size:20px;padding:25px 50px;border-radius:6px}.elementor-button .elementor-align-icon-right{margin-left:5px;-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-button .elementor-align-icon-left{margin-right:5px;-webkit-box-ordinal-group:16;-ms-flex-order:15;order:15}.elementor-button span{text-decoration:inherit}.elementor-element.elementor-button-info .elementor-button{background-color:#5bc0de}.elementor-element.elementor-button-success .elementor-button{background-color:#5cb85c}.elementor-element.elementor-button-warning .elementor-button{background-color:#f0ad4e}.elementor-element.elementor-button-danger .elementor-button{background-color:#d9534f}.elementor-widget-button .elementor-button .elementor-button-info{background-color:#5bc0de}.elementor-widget-button .elementor-button .elementor-button-success{background-color:#5cb85c}.elementor-widget-button .elementor-button .elementor-button-warning{background-color:#f0ad4e}.elementor-widget-button .elementor-button .elementor-button-danger{background-color:#d9534f}.elementor-tab-title a{color:inherit}.elementor-view-stacked .elementor-icon{padding:.5em;background-color:#818a91;color:#fff;fill:#fff}.elementor-view-framed .elementor-icon{padding:.5em;color:#818a91;border:3px solid #818a91;background-color:transparent}.elementor-icon{display:inline-block;line-height:1;-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s;color:#818a91;font-size:50px;text-align:center}.elementor-icon:hover{color:#818a91}.elementor-icon i,.elementor-icon svg{width:1em;height:1em;position:relative;display:block}.elementor-icon i:before,.elementor-icon svg:before{position:absolute;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.elementor-icon i.fad{width:auto}.elementor-shape-circle .elementor-icon{border-radius:50%}.e-transform .elementor-widget-container{-webkit-transform:perspective(var(--e-transform-perspective,0)) rotate(var(--e-transform-rotateZ,0)) rotateX(var(--e-transform-rotateX,0)) rotateY(var(--e-transform-rotateY,0)) translate(var(--e-transform-translate,0)) translateX(var(--e-transform-translateX,0)) translateY(var(--e-transform-translateY,0)) scaleX(calc(var(--e-transform-flipX, 1) * var(--e-transform-scaleX, var(--e-transform-scale, 1)))) scaleY(calc(var(--e-transform-flipY, 1) * var(--e-transform-scaleY, var(--e-transform-scale, 1)))) skewX(var(--e-transform-skewX,0)) skewY(var(--e-transform-skewY,0));transform:perspective(var(--e-transform-perspective,0)) rotate(var(--e-transform-rotateZ,0)) rotateX(var(--e-transform-rotateX,0)) rotateY(var(--e-transform-rotateY,0)) translate(var(--e-transform-translate,0)) translateX(var(--e-transform-translateX,0)) translateY(var(--e-transform-translateY,0)) scaleX(calc(var(--e-transform-flipX, 1) * var(--e-transform-scaleX, var(--e-transform-scale, 1)))) scaleY(calc(var(--e-transform-flipY, 1) * var(--e-transform-scaleY, var(--e-transform-scale, 1)))) skewX(var(--e-transform-skewX,0)) skewY(var(--e-transform-skewY,0));-webkit-transform-origin:var(--e-transform-origin-y) var(--e-transform-origin-x);-ms-transform-origin:var(--e-transform-origin-y) var(--e-transform-origin-x);transform-origin:var(--e-transform-origin-y) var(--e-transform-origin-x);-webkit-transition:-webkit-transform var(--e-transform-transition-duration,.4s);transition:-webkit-transform var(--e-transform-transition-duration,.4s);-o-transition:transform var(--e-transform-transition-duration,.4s);transition:transform var(--e-transform-transition-duration,.4s);transition:transform var(--e-transform-transition-duration,.4s),-webkit-transform var(--e-transform-transition-duration,.4s)}.swiper-container{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;z-index:1}.swiper-container .swiper-slide figure{line-height:0}.swiper-container .elementor-lightbox-content-source{display:none}.swiper-container-no-flexbox .swiper-slide{float:left}.swiper-container-vertical>.swiper-wrapper{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;-o-transition-property:transform;transition-property:transform;transition-property:transform,-webkit-transform;-webkit-box-sizing:content-box;box-sizing:content-box}.swiper-container-android .swiper-slide,.swiper-wrapper{-webkit-transform:translateZ(0);transform:translateZ(0)}.swiper-container-multirow>.swiper-wrapper{-ms-flex-wrap:wrap;flex-wrap:wrap}.swiper-container-free-mode>.swiper-wrapper{-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;margin:0 auto}.swiper-slide{-ms-flex-negative:0;flex-shrink:0;width:100%;height:100%;position:relative}.swiper-container-autoheight,.swiper-container-autoheight .swiper-slide{height:auto}.swiper-container-autoheight .swiper-wrapper{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-transition-property:height,-webkit-transform;transition-property:height,-webkit-transform;-o-transition-property:transform,height;transition-property:transform,height;transition-property:transform,height,-webkit-transform}.swiper-container .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-wp8-horizontal{-ms-touch-action:pan-y;touch-action:pan-y}.swiper-wp8-vertical{-ms-touch-action:pan-x;touch-action:pan-x}.swiper-button-next,.swiper-button-prev{position:absolute;top:50%;width:27px;height:44px;margin-top:-22px;z-index:10;cursor:pointer;background-size:27px 44px;background:no-repeat 50%}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-prev,.swiper-container-rtl .swiper-button-next{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 44'%3E%3Cpath d='M0 22L22 0l2.1 2.1L4.2 22l19.9 19.9L22 44 0 22z' fill='%23007aff'/%3E%3C/svg%3E");left:10px;right:auto}.swiper-button-prev.swiper-button-black,.swiper-container-rtl .swiper-button-next.swiper-button-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 44'%3E%3Cpath d='M0 22L22 0l2.1 2.1L4.2 22l19.9 19.9L22 44 0 22z'/%3E%3C/svg%3E")}.swiper-button-prev.swiper-button-white,.swiper-container-rtl .swiper-button-next.swiper-button-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 44'%3E%3Cpath d='M0 22L22 0l2.1 2.1L4.2 22l19.9 19.9L22 44 0 22z' fill='%23fff'/%3E%3C/svg%3E")}.swiper-button-next,.swiper-container-rtl .swiper-button-prev{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 44'%3E%3Cpath d='M27 22L5 44l-2.1-2.1L22.8 22 2.9 2.1 5 0l22 22z' fill='%23007aff'/%3E%3C/svg%3E");right:10px;left:auto}.swiper-button-next.swiper-button-black,.swiper-container-rtl .swiper-button-prev.swiper-button-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 44'%3E%3Cpath d='M27 22L5 44l-2.1-2.1L22.8 22 2.9 2.1 5 0l22 22z'/%3E%3C/svg%3E")}.swiper-button-next.swiper-button-white,.swiper-container-rtl .swiper-button-prev.swiper-button-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 44'%3E%3Cpath d='M27 22L5 44l-2.1-2.1L22.8 22 2.9 2.1 5 0l22 22z' fill='%23fff'/%3E%3C/svg%3E")}.swiper-pagination{position:absolute;text-align:center;-webkit-transition:.3s;-o-transition:.3s;transition:.3s;-webkit-transform:translateZ(0);transform:translateZ(0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-container-horizontal>.swiper-pagination-bullets,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:5px;left:0;width:100%}.swiper-pagination-bullet{width:6px;height:6px;display:inline-block;border-radius:50%;background:#000;opacity:.2}.swiper-pagination-fraction{color:#000}button.swiper-pagination-bullet{border:none;margin:0;padding:0;-webkit-box-shadow:none;box-shadow:none;appearance:none;-webkit-appearance:none;-moz-appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-white .swiper-pagination-bullet{background:#fff}.swiper-pagination-bullet-active{opacity:1}.swiper-pagination-white .swiper-pagination-bullet-active{background:#fff}.swiper-pagination-black .swiper-pagination-bullet-active{background:#000}.swiper-container-vertical>.swiper-pagination-bullets{right:10px;top:50%;-webkit-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0)}.swiper-container-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:5px 0;display:block}.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 6px}.swiper-pagination-progressbar{background:rgba(0,0,0,.25);position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:#000;position:absolute;left:0;top:0;width:100%;height:100%;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);-webkit-transform-origin:left top;-ms-transform-origin:left top;transform-origin:left top}.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{-webkit-transform-origin:right top;-ms-transform-origin:right top;transform-origin:right top}.swiper-container-horizontal>.swiper-pagination-progressbar{width:100%;height:4px;left:0;top:0}.swiper-container-vertical>.swiper-pagination-progressbar{width:4px;height:100%;left:0;top:0}.swiper-pagination-progressbar.swiper-pagination-white{background:hsla(0,0%,100%,.5)}.swiper-pagination-progressbar.swiper-pagination-white .swiper-pagination-progressbar-fill{background:#fff}.swiper-pagination-progressbar.swiper-pagination-black .swiper-pagination-progressbar-fill{background:#000}.swiper-container-3d{-webkit-perspective:1200px;perspective:1200px}.swiper-container-3d .swiper-cube-shadow,.swiper-container-3d .swiper-slide,.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top,.swiper-container-3d .swiper-wrapper{-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-container-3d .swiper-slide-shadow-left{background-image:-webkit-gradient(linear,right top,left top,from(rgba(0,0,0,.5)),to(transparent));background-image:-o-linear-gradient(right,rgba(0,0,0,.5),transparent);background-image:linear-gradient(270deg,rgba(0,0,0,.5),transparent)}.swiper-container-3d .swiper-slide-shadow-right{background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(transparent));background-image:-o-linear-gradient(left,rgba(0,0,0,.5),transparent);background-image:linear-gradient(90deg,rgba(0,0,0,.5),transparent)}.swiper-container-3d .swiper-slide-shadow-top{background-image:-webkit-gradient(linear,left bottom,left top,from(rgba(0,0,0,.5)),to(transparent));background-image:-o-linear-gradient(bottom,rgba(0,0,0,.5),transparent);background-image:linear-gradient(0deg,rgba(0,0,0,.5),transparent)}.swiper-container-3d .swiper-slide-shadow-bottom{background-image:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.5)),to(transparent));background-image:-o-linear-gradient(top,rgba(0,0,0,.5),transparent);background-image:linear-gradient(180deg,rgba(0,0,0,.5),transparent)}.swiper-container-coverflow .swiper-wrapper,.swiper-container-flip .swiper-wrapper{-ms-perspective:1200px}.swiper-container-cube,.swiper-container-flip{overflow:visible}.swiper-container-cube .swiper-slide,.swiper-container-flip .swiper-slide{pointer-events:none;z-index:1}.swiper-container-cube .swiper-slide .swiper-slide,.swiper-container-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-active .swiper-slide-active,.swiper-container-flip .swiper-slide-active,.swiper-container-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-cube .swiper-slide-shadow-bottom,.swiper-container-cube .swiper-slide-shadow-left,.swiper-container-cube .swiper-slide-shadow-right,.swiper-container-cube .swiper-slide-shadow-top,.swiper-container-flip .swiper-slide-shadow-bottom,.swiper-container-flip .swiper-slide-shadow-left,.swiper-container-flip .swiper-slide-shadow-right,.swiper-container-flip .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-container-cube .swiper-slide{visibility:hidden;-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0;width:100%;height:100%}.swiper-container-cube.swiper-container-rtl .swiper-slide{-webkit-transform-origin:100% 0;-ms-transform-origin:100% 0;transform-origin:100% 0}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-next,.swiper-container-cube .swiper-slide-next+.swiper-slide,.swiper-container-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-container-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0;width:100%;height:100%;background:#000;opacity:.6;-webkit-filter:blur(50px);filter:blur(50px);z-index:0}.swiper-container-fade.swiper-container-free-mode .swiper-slide{-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out}.swiper-container-fade .swiper-slide{pointer-events:none;-webkit-transition-property:opacity;-o-transition-property:opacity;transition-property:opacity}.swiper-container-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-fade .swiper-slide-active,.swiper-container-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-zoom-container{width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain}.swiper-scrollbar{border-radius:10px;position:relative;-ms-touch-action:none;background:rgba(0,0,0,.1)}.swiper-container-horizontal>.swiper-scrollbar{position:absolute;left:1%;bottom:3px;z-index:50;height:5px;width:98%}.swiper-container-vertical>.swiper-scrollbar{position:absolute;right:3px;top:1%;z-index:50;width:5px;height:98%}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:rgba(0,0,0,.5);border-radius:10px;left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.elementor-pagination-position-outside .swiper-container{padding-bottom:30px}.elementor-pagination-position-outside .elementor-swiper-button{top:calc(50% - 30px / 2)}.elementor-swiper{position:relative}.elementor-main-swiper{position:static}.elementor-arrows-position-outside .swiper-container{width:calc(100% - 60px)}.elementor-arrows-position-outside .elementor-swiper-button-prev{left:0}.elementor-arrows-position-outside .elementor-swiper-button-next{right:0}.swiper-image-stretch .swiper-slide .swiper-slide-image{width:100%}.elementor-swiper-button{position:absolute;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;z-index:1;cursor:pointer;font-size:25px;color:hsla(0,0%,93.3%,.9);top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.elementor-swiper-button svg{fill:hsla(0,0%,93.3%,.9);height:1em;width:1em}.elementor-swiper-button-prev{left:10px}.elementor-swiper-button-next{right:10px}.elementor-swiper-button.swiper-button-disabled{opacity:.3}.swiper-container-cube .elementor-swiper-button{-webkit-transform:translate3d(0,-50%,1px);transform:translate3d(0,-50%,1px)}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;-webkit-transform-origin:50%;-ms-transform-origin:50%;transform-origin:50%;-webkit-animation:swiper-preloader-spin 1s steps(12) infinite;animation:swiper-preloader-spin 1s steps(12) infinite}.swiper-lazy-preloader:after{display:block;content:"";width:100%;height:100%;background-size:100%;background:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 120 120' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath id='a' stroke='%236c6c6c' stroke-width='11' stroke-linecap='round' d='M60 7v20'/%3E%3C/defs%3E%3Cuse xlink:href='%23a' opacity='.27'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(30 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(60 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(90 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(120 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(150 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.37' transform='rotate(180 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.46' transform='rotate(210 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.56' transform='rotate(240 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.66' transform='rotate(270 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.75' transform='rotate(300 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.85' transform='rotate(330 60 60)'/%3E%3C/svg%3E") no-repeat 50%}.swiper-lazy-preloader-white:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 120 120' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath id='a' stroke='%23fff' stroke-width='11' stroke-linecap='round' d='M60 7v20'/%3E%3C/defs%3E%3Cuse xlink:href='%23a' opacity='.27'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(30 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(60 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(90 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(120 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(150 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.37' transform='rotate(180 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.46' transform='rotate(210 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.56' transform='rotate(240 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.66' transform='rotate(270 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.75' transform='rotate(300 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.85' transform='rotate(330 60 60)'/%3E%3C/svg%3E")}@-webkit-keyframes swiper-preloader-spin{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes swiper-preloader-spin{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.elementor-lightbox{--lightbox-ui-color:hsla(0,0%,93.3%,0.9);--lightbox-ui-color-hover:#fff;--lightbox-text-color:var(--lightbox-ui-color);--lightbox-header-icons-size:20px;--lightbox-navigation-icons-size:25px}.elementor-lightbox .dialog-header{display:none}.elementor-lightbox .dialog-widget-content{background:none;-webkit-box-shadow:none;box-shadow:none;width:100%;height:100%}.elementor-lightbox .dialog-message{-webkit-animation-duration:.3s;animation-duration:.3s}.elementor-lightbox .dialog-message:not(.elementor-fit-aspect-ratio){height:100%}.elementor-lightbox .dialog-message.dialog-lightbox-message{padding:0}.elementor-lightbox .dialog-lightbox-close-button{cursor:pointer;position:absolute;font-size:var(--lightbox-header-icons-size);left:.75em;margin-top:13px;padding:.25em;z-index:2;line-height:1;display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-lightbox .dialog-lightbox-close-button svg{height:1em;width:1em}.elementor-lightbox .dialog-lightbox-close-button,.elementor-lightbox .elementor-swiper-button{color:var(--lightbox-ui-color);-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s;opacity:1}.elementor-lightbox .dialog-lightbox-close-button svg,.elementor-lightbox .elementor-swiper-button svg{fill:var(--lightbox-ui-color)}.elementor-lightbox .dialog-lightbox-close-button:hover,.elementor-lightbox .elementor-swiper-button:hover{color:var(--lightbox-ui-color-hover)}.elementor-lightbox .dialog-lightbox-close-button:hover svg,.elementor-lightbox .elementor-swiper-button:hover svg{fill:var(--lightbox-ui-color-hover)}.elementor-lightbox .swiper-container{height:100%}.elementor-lightbox .elementor-lightbox-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;position:relative;padding:70px;-webkit-box-sizing:border-box;box-sizing:border-box;height:100%;margin:auto}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-lightbox .elementor-lightbox-item{padding:70px 0}}.elementor-lightbox .elementor-lightbox-image{max-height:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.elementor-lightbox .elementor-lightbox-image,.elementor-lightbox .elementor-lightbox-image:hover{opacity:1;-webkit-filter:none;filter:none;border:none}.elementor-lightbox .elementor-lightbox-image,.elementor-lightbox .elementor-video-container{-webkit-box-shadow:0 0 30px rgba(0,0,0,.3),0 0 8px -5px rgba(0,0,0,.3);box-shadow:0 0 30px rgba(0,0,0,.3),0 0 8px -5px rgba(0,0,0,.3);border-radius:2px}.elementor-lightbox .elementor-video-container{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}@media (min-width:ELEMENTOR_SCREEN_TABLET_NEXT){.elementor-lightbox .elementor-video-container{width:75%}}@media (max-width:ELEMENTOR_SCREEN_TABLET_MAX){.elementor-lightbox .elementor-video-container{width:100%}}@media (min-width:768px) and (max-width:1024px){.elementor-lightbox .elementor-aspect-ratio-916 .elementor-video-container{width:70%}}.elementor-lightbox .elementor-swiper-button:focus{outline-width:1px}.elementor-lightbox .elementor-swiper-button-next,.elementor-lightbox .elementor-swiper-button-prev{height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:15%;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:var(--lightbox-navigation-icons-size)}.elementor-lightbox .elementor-swiper-button-prev{left:0}.elementor-lightbox .elementor-swiper-button-next{right:0}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-lightbox .elementor-swiper-button:focus{outline:none}.elementor-lightbox .elementor-swiper-button-next,.elementor-lightbox .elementor-swiper-button-prev{width:20%}.elementor-lightbox .elementor-swiper-button-next i,.elementor-lightbox .elementor-swiper-button-prev i{padding:10px;background-color:rgba(0,0,0,.5)}.elementor-lightbox .elementor-swiper-button-prev{left:0;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-lightbox .elementor-swiper-button-next{right:0;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}}.elementor-slideshow__counter{color:currentColor;font-size:.75em;width:-webkit-max-content;width:-moz-max-content;width:max-content}.elementor-slideshow__footer,.elementor-slideshow__header{position:absolute;left:0;width:100%;padding:15px 20px;-webkit-transition:.3s;-o-transition:.3s;transition:.3s}.elementor-slideshow__footer{color:var(--lightbox-text-color)}.elementor-slideshow__header{color:var(--lightbox-ui-color);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;font-size:var(--lightbox-header-icons-size);padding-right:1em;padding-left:2.6em;top:0;-webkit-box-align:center;-ms-flex-align:center;align-items:center;z-index:10}.elementor-slideshow__header>i,.elementor-slideshow__header>svg{cursor:pointer;padding:.25em;margin:0 .35em}.elementor-slideshow__header>i{font-size:inherit}.elementor-slideshow__header>i:hover{color:var(--lightbox-ui-color-hover)}.elementor-slideshow__header>svg{-webkit-box-sizing:content-box;box-sizing:content-box;fill:var(--lightbox-ui-color);height:1em;width:1em}.elementor-slideshow__header>svg:hover{fill:var(--lightbox-ui-color-hover)}.elementor-slideshow__header .elementor-slideshow__counter{margin-left:auto}.elementor-slideshow__header .elementor-icon-share{z-index:5}.elementor-slideshow__share-menu{background-color:transparent;width:0;height:0;position:absolute;overflow:hidden;-webkit-transition:background-color .4s;-o-transition:background-color .4s;transition:background-color .4s}.elementor-slideshow__share-menu .elementor-slideshow__share-links a{color:#2c2c2c}.elementor-slideshow__share-links{display:block;position:absolute;min-width:200px;left:2.8em;top:3em;background-color:#fff;border-radius:3px;padding:14px 20px;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);opacity:0;-webkit-transform-origin:90% 10%;-ms-transform-origin:90% 10%;transform-origin:90% 10%;-webkit-transition:all .25s .1s;-o-transition:all .25s .1s;transition:all .25s .1s;-webkit-box-shadow:0 4px 15px rgba(0,0,0,.3);box-shadow:0 4px 15px rgba(0,0,0,.3)}.elementor-slideshow__share-links a{text-align:right;color:#55595c;font-size:12px;line-height:2.5;display:block;opacity:0;-webkit-transition:opacity .5s .1s;-o-transition:opacity .5s .1s;transition:opacity .5s .1s}.elementor-slideshow__share-links a:hover{color:#000}.elementor-slideshow__share-links a i,.elementor-slideshow__share-links a svg{margin-left:.75em}.elementor-slideshow__share-links a i{font-size:1.25em}.elementor-slideshow__share-links a svg{height:1.25em;width:1.25em}.elementor-slideshow__share-links:before{content:"";display:block;position:absolute;top:1px;left:.5em;border:.45em solid transparent;border-bottom-color:#fff;-webkit-transform:translateY(-100%) scaleX(.7);-ms-transform:translateY(-100%) scaleX(.7);transform:translateY(-100%) scaleX(.7)}.elementor-slideshow__footer{bottom:0;z-index:5;position:fixed}.elementor-slideshow__description,.elementor-slideshow__title{margin:0}.elementor-slideshow__title{font-size:16px;font-weight:700}.elementor-slideshow__description{font-size:14px}.elementor-slideshow--ui-hidden .elementor-slideshow__footer,.elementor-slideshow--ui-hidden .elementor-slideshow__header{opacity:0;pointer-events:none}.elementor-slideshow--ui-hidden .elementor-swiper-button-next,.elementor-slideshow--ui-hidden .elementor-swiper-button-prev{opacity:0}.elementor-slideshow--fullscreen-mode .elementor-video-container{width:100%}.elementor-slideshow--zoom-mode .elementor-slideshow__footer,.elementor-slideshow--zoom-mode .elementor-slideshow__header{background-color:rgba(0,0,0,.5)}.elementor-slideshow--zoom-mode .elementor-swiper-button-next,.elementor-slideshow--zoom-mode .elementor-swiper-button-prev{opacity:0;pointer-events:none}.elementor-slideshow--share-mode .elementor-slideshow__share-menu{top:0;left:0;width:100vw;height:100vh;opacity:1;cursor:default;background-color:rgba(0,0,0,.5)}.elementor-slideshow--share-mode .elementor-slideshow__share-links{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.elementor-slideshow--share-mode .elementor-slideshow__share-links,.elementor-slideshow--share-mode .elementor-slideshow__share-links a{opacity:1}.elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-twitter{color:#1da1f2}.elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-facebook{color:#3b5998}.elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-pinterest{color:#bd081c}.elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-download-bold{color:#a4afb7}.elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-twitter{fill:#1da1f2}.elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-facebook{fill:#3b5998}.elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-pinterest{fill:#bd081c}.elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-download-bold{fill:#a4afb7}.elementor-slideshow--share-mode .eicon-share-arrow{z-index:2}.animated{-webkit-animation-duration:1.25s;animation-duration:1.25s}.animated.animated-slow{-webkit-animation-duration:2s;animation-duration:2s}.animated.animated-fast{-webkit-animation-duration:.75s;animation-duration:.75s}.animated.infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.animated.reverse{animation-direction:reverse;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}@media (prefers-reduced-motion:reduce){.animated{-webkit-animation:none;animation:none}}.elementor-shape{overflow:hidden;position:absolute;left:0;width:100%;line-height:0;direction:ltr}.elementor-shape-top{top:-1px}.elementor-shape-top:not([data-negative=false]) svg{z-index:-1}.elementor-shape-bottom{bottom:-1px}.elementor-shape-bottom:not([data-negative=true]) svg{z-index:-1}.elementor-shape[data-negative=false].elementor-shape-bottom,.elementor-shape[data-negative=true].elementor-shape-top{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.elementor-shape svg{display:block;width:calc(100% + 1.3px);position:relative;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.elementor-shape .elementor-shape-fill{fill:#fff;-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center;-webkit-transform:rotateY(0deg);transform:rotateY(0deg)}#wp-admin-bar-elementor_edit_page>.ab-item:before{content:"\e813";font-family:eicons;top:3px;font-size:18px}#wp-admin-bar-elementor_edit_page .ab-submenu .ab-item{display:-webkit-box;display:-ms-flexbox;display:flex;width:200px}#wp-admin-bar-elementor_edit_page .elementor-edit-link-title{white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden;width:100%}#wp-admin-bar-elementor_edit_page .elementor-edit-link-type{background:#55595c;font-size:11px;line-height:9px;margin-top:6px;padding:4px 8px;border-radius:3px}#wp-admin-bar-elementor_inspector>.ab-item:before{content:"\f348";top:2px}#wpadminbar *{font-style:normal}.page-template-elementor_canvas.elementor-page:before{display:none}.elementor-post__thumbnail__link{-webkit-transition:none;-o-transition:none;transition:none}#left-area ul.elementor-icon-list-items,.elementor-edit-area .elementor-element ul.elementor-icon-list-items,.elementor .elementor-element ul.elementor-icon-list-items{padding:0}.e--ua-appleWebkit.rtl{--flex-right:flex-start}.e--ua-appleWebkit .elementor-share-buttons--align-right,.e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-right{--justify-content:var(--flex-right,flex-end)}.e--ua-appleWebkit .elementor-share-buttons--align-center,.e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-center{--justify-content:center}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-center .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-justify .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-right .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-center .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-right .elementor-grid{width:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:var(--justify-content,space-between);-ms-flex-pack:var(--justify-content,space-between);justify-content:var(--justify-content,space-between);margin-left:calc(-.5 * var(--grid-column-gap));margin-right:calc(-.5 * var(--grid-column-gap))}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-center .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-justify .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-right .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-center .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-right .elementor-grid-item{margin-left:calc(.5 * var(--grid-column-gap));margin-right:calc(.5 * var(--grid-column-gap))}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-left .elementor-grid{display:inline-block}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-left .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-left .elementor-grid-item{margin-left:0;margin-right:0}@media (max-width:ELEMENTOR_SCREEN_TABLET_MAX){.e--ua-appleWebkit .elementor-share-buttons-tablet--align-right,.e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-tablet-right{--justify-content:var(--flex-right,flex-end)}.e--ua-appleWebkit .elementor-share-buttons-tablet--align-center,.e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-tablet-center{--justify-content:center}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-center .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-justify .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-right .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-center .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-right .elementor-grid{width:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:var(--justify-content,space-between);-ms-flex-pack:var(--justify-content,space-between);justify-content:var(--justify-content,space-between);margin-left:calc(-.5 * var(--grid-column-gap));margin-right:calc(-.5 * var(--grid-column-gap))}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-center .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-justify .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-right .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-center .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-right .elementor-grid-item{margin-left:calc(.5 * var(--grid-column-gap));margin-right:calc(.5 * var(--grid-column-gap))}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-tablet--align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-left .elementor-grid{display:inline-block}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-tablet--align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-tablet--align-left .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-left .elementor-grid-item{margin-left:0;margin-right:0}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.e--ua-appleWebkit .elementor-share-buttons-mobile--align-right,.e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-mobile-right{--justify-content:var(--flex-right,flex-end)}.e--ua-appleWebkit .elementor-share-buttons-mobile--align-center,.e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-mobile-center{--justify-content:center}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-center .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-justify .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-right .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-center .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-right .elementor-grid{width:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:var(--justify-content,space-between);-ms-flex-pack:var(--justify-content,space-between);justify-content:var(--justify-content,space-between);margin-left:calc(-.5 * var(--grid-column-gap));margin-right:calc(-.5 * var(--grid-column-gap))}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-center .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-justify .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-right .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-center .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-right .elementor-grid-item{margin-left:calc(.5 * var(--grid-column-gap));margin-right:calc(.5 * var(--grid-column-gap))}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-mobile--align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-left .elementor-grid{display:inline-block}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-mobile--align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-mobile--align-left .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-left .elementor-grid-item{margin-left:0;margin-right:0}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor .elementor-hidden-mobile,.elementor .elementor-hidden-phone{display:none}}@media (min-width:ELEMENTOR_SCREEN_MOBILE_EXTRA_MIN) and (max-width:ELEMENTOR_SCREEN_MOBILE_EXTRA_MAX){.elementor .elementor-hidden-mobile_extra{display:none}}@media (min-width:ELEMENTOR_SCREEN_TABLET_MIN) and (max-width:ELEMENTOR_SCREEN_TABLET_MAX){.elementor .elementor-hidden-tablet{display:none}}@media (min-width:ELEMENTOR_SCREEN_TABLET_EXTRA_MIN) and (max-width:ELEMENTOR_SCREEN_TABLET_EXTRA_MAX){.elementor .elementor-hidden-tablet_extra{display:none}}@media (min-width:ELEMENTOR_SCREEN_LAPTOP_MIN) and (max-width:ELEMENTOR_SCREEN_LAPTOP_MAX){.elementor .elementor-hidden-laptop{display:none}}@media (min-width:ELEMENTOR_SCREEN_DESKTOP_MIN) and (max-width:ELEMENTOR_SCREEN_DESKTOP_MAX){.elementor .elementor-hidden-desktop{display:none}}@media (min-width:ELEMENTOR_SCREEN_WIDESCREEN_MIN){.elementor .elementor-hidden-widescreen{display:none}}.elementor-widget-text-path{font-size:20px;text-align:var(--alignment,right)}.elementor-widget-text-path svg{width:var(--width);max-width:100%;height:auto;overflow:visible;word-spacing:var(--word-spacing);-webkit-transform:rotate(var(--rotate,0)) scaleX(var(--scale-x,1)) scaleY(var(--scale-y,1));-ms-transform:rotate(var(--rotate,0)) scaleX(var(--scale-x,1)) scaleY(var(--scale-y,1));transform:rotate(var(--rotate,0)) scaleX(var(--scale-x,1)) scaleY(var(--scale-y,1))}.elementor-widget-text-path svg path{vector-effect:non-scaling-stroke;fill:var(--path-fill,transparent);stroke:var(--stroke-color,transparent);stroke-width:var(--stroke-width,1px);-webkit-transition:var(--stroke-transition) stroke,var(--stroke-transition) fill;-o-transition:var(--stroke-transition) stroke,var(--stroke-transition) fill;transition:var(--stroke-transition) stroke,var(--stroke-transition) fill}.elementor-widget-text-path svg:hover path{--path-fill:var(--path-fill-hover);--stroke-color:var(--stroke-color-hover);--stroke-width:var(--stroke-width-hover)}.elementor-widget-text-path svg text{--fill:var(--text-color);fill:var(--fill);direction:var(--direction,rtl);-webkit-transition:var(--transition) stroke,var(--transition) stroke-width,var(--transition) fill;-o-transition:var(--transition) stroke,var(--transition) stroke-width,var(--transition) fill;transition:var(--transition) stroke,var(--transition) stroke-width,var(--transition) fill}.elementor-widget-text-path svg text:hover{--color:var(--text-color-hover,var(--text-color));--fill:var(--color);color:var(--color)}assets/css/templates/widget-image-box.min.css000064400000003341152377341010015265 0ustar00.elementor-widget-image-box .elementor-image-box-content{width:100%}@media (min-width:ELEMENTOR_SCREEN_MOBILE_NEXT){.elementor-widget-image-box.elementor-position-left .elementor-image-box-wrapper,.elementor-widget-image-box.elementor-position-right .elementor-image-box-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-image-box.elementor-position-right .elementor-image-box-wrapper{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-widget-image-box.elementor-position-left .elementor-image-box-wrapper{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.elementor-widget-image-box.elementor-position-top .elementor-image-box-img{margin:auto}.elementor-widget-image-box.elementor-vertical-align-top .elementor-image-box-wrapper{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.elementor-widget-image-box.elementor-vertical-align-middle .elementor-image-box-wrapper{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-widget-image-box.elementor-vertical-align-bottom .elementor-image-box-wrapper{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-widget-image-box .elementor-image-box-img{margin-left:auto!important;margin-right:auto!important;margin-bottom:15px}}.elementor-widget-image-box .elementor-image-box-img{display:inline-block}.elementor-widget-image-box .elementor-image-box-title a{color:inherit}.elementor-widget-image-box .elementor-image-box-wrapper{text-align:center}.elementor-widget-image-box .elementor-image-box-description{margin:0}assets/css/templates/widget-image-gallery-rtl.min.css000064400000004640152377341010016736 0ustar00.elementor-image-gallery .gallery-item{display:inline-block;text-align:center;vertical-align:top;width:100%;max-width:100%;margin:0 auto}.elementor-image-gallery .gallery-item img{margin:0 auto}.elementor-image-gallery .gallery-item .gallery-caption{margin:0}.elementor-image-gallery figure img{display:block}.elementor-image-gallery figure figcaption{width:100%}.gallery-spacing-custom .elementor-image-gallery .gallery-icon{padding:0}@media (min-width:ELEMENTOR_SCREEN_MOBILE_NEXT){.elementor-image-gallery .gallery-columns-2 .gallery-item{max-width:50%}.elementor-image-gallery .gallery-columns-3 .gallery-item{max-width:33.33%}.elementor-image-gallery .gallery-columns-4 .gallery-item{max-width:25%}.elementor-image-gallery .gallery-columns-5 .gallery-item{max-width:20%}.elementor-image-gallery .gallery-columns-6 .gallery-item{max-width:16.666%}.elementor-image-gallery .gallery-columns-7 .gallery-item{max-width:14.28%}.elementor-image-gallery .gallery-columns-8 .gallery-item{max-width:12.5%}.elementor-image-gallery .gallery-columns-9 .gallery-item{max-width:11.11%}.elementor-image-gallery .gallery-columns-10 .gallery-item{max-width:10%}}@media (min-width:480px) and (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-image-gallery .gallery.gallery-columns-2 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-3 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-4 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-5 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-6 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-7 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-8 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-9 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-10 .gallery-item{max-width:50%}}@media (max-width:479px){.elementor-image-gallery .gallery.gallery-columns-2 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-3 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-4 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-5 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-6 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-7 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-8 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-9 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-10 .gallery-item{max-width:100%}}assets/css/templates/frontend-legacy-rtl.min.css000064400000033437152377341010016025 0ustar00.elementor-bc-flex-widget .elementor-section-content-top>.elementor-container>.elementor-row>.elementor-column>.elementor-column-wrap{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.elementor-bc-flex-widget .elementor-section-content-middle>.elementor-container>.elementor-row>.elementor-column>.elementor-column-wrap{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-bc-flex-widget .elementor-section-content-bottom>.elementor-container>.elementor-row>.elementor-column>.elementor-column-wrap{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.elementor-column-gap-narrow>.elementor-row>.elementor-column>.elementor-element-populated>.elementor-widget-wrap{padding:5px}.elementor-column-gap-default>.elementor-row>.elementor-column>.elementor-element-populated>.elementor-widget-wrap{padding:10px}.elementor-column-gap-extended>.elementor-row>.elementor-column>.elementor-element-populated>.elementor-widget-wrap{padding:15px}.elementor-column-gap-wide>.elementor-row>.elementor-column>.elementor-element-populated>.elementor-widget-wrap{padding:20px}.elementor-column-gap-wider>.elementor-row>.elementor-column>.elementor-element-populated>.elementor-widget-wrap{padding:30px}@media (min-width:ELEMENTOR_SCREEN_WIDESCREEN_MIN){.elementor-reverse-widescreen>.elementor-container>.elementor-row>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-widescreen>.elementor-container>.elementor-row>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-widescreen>.elementor-container>.elementor-row>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-widescreen>.elementor-container>.elementor-row>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-widescreen>.elementor-container>.elementor-row>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-widescreen>.elementor-container>.elementor-row>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-widescreen>.elementor-container>.elementor-row>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-widescreen>.elementor-container>.elementor-row>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-widescreen>.elementor-container>.elementor-row>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-widescreen>.elementor-container>.elementor-row>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:ELEMENTOR_SCREEN_TABLET_NEXT) and (max-width:ELEMENTOR_SCREEN_LAPTOP_MAX){.elementor-reverse-laptop>.elementor-container>.elementor-row>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:ELEMENTOR_SCREEN_TABLET_EXTRA_NEXT) and (max-width:ELEMENTOR_SCREEN_LAPTOP_MAX){.elementor-reverse-laptop>.elementor-container>.elementor-row>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:ELEMENTOR_SCREEN_TABLET_NEXT) and (max-width:ELEMENTOR_SCREEN_TABLET_EXTRA_MAX){.elementor-reverse-laptop>.elementor-container>.elementor-row>:first-child,.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(2),.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(3),.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(4),.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(5),.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(6),.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(7),.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(8),.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(9),.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(10){-webkit-box-ordinal-group:initial;-ms-flex-order:initial;order:0}.elementor-reverse-tablet_extra>.elementor-container>.elementor-row>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-tablet_extra>.elementor-container>.elementor-row>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-tablet_extra>.elementor-container>.elementor-row>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-tablet_extra>.elementor-container>.elementor-row>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-tablet_extra>.elementor-container>.elementor-row>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-tablet_extra>.elementor-container>.elementor-row>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-tablet_extra>.elementor-container>.elementor-row>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-tablet_extra>.elementor-container>.elementor-row>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-tablet_extra>.elementor-container>.elementor-row>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-tablet_extra>.elementor-container>.elementor-row>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:ELEMENTOR_SCREEN_MOBILE_NEXT) and (max-width:ELEMENTOR_SCREEN_TABLET_MAX){.elementor-reverse-tablet>.elementor-container>.elementor-row>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:ELEMENTOR_SCREEN_MOBILE_EXTRA_NEXT) and (max-width:ELEMENTOR_SCREEN_TABLET_MAX){.elementor-reverse-tablet>.elementor-container>.elementor-row>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:ELEMENTOR_SCREEN_MOBILE_NEXT) and (max-width:ELEMENTOR_SCREEN_MOBILE_EXTRA_MAX){.elementor-reverse-tablet>.elementor-container>.elementor-row>:first-child,.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(2),.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(3),.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(4),.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(5),.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(6),.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(7),.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(8),.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(9),.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(10){-webkit-box-ordinal-group:initial;-ms-flex-order:initial;order:0}.elementor-reverse-mobile_extra>.elementor-container>.elementor-row>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-mobile_extra>.elementor-container>.elementor-row>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-mobile_extra>.elementor-container>.elementor-row>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-mobile_extra>.elementor-container>.elementor-row>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-mobile_extra>.elementor-container>.elementor-row>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-mobile_extra>.elementor-container>.elementor-row>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-mobile_extra>.elementor-container>.elementor-row>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-mobile_extra>.elementor-container>.elementor-row>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-mobile_extra>.elementor-container>.elementor-row>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-mobile_extra>.elementor-container>.elementor-row>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-reverse-mobile>.elementor-container>.elementor-row>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-mobile>.elementor-container>.elementor-row>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-mobile>.elementor-container>.elementor-row>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-mobile>.elementor-container>.elementor-row>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-mobile>.elementor-container>.elementor-row>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-mobile>.elementor-container>.elementor-row>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-mobile>.elementor-container>.elementor-row>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-mobile>.elementor-container>.elementor-row>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-mobile>.elementor-container>.elementor-row>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-mobile>.elementor-container>.elementor-row>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.elementor-column{width:100%}}assets/css/templates/widget-image-gallery.min.css000064400000004640152377341010016137 0ustar00.elementor-image-gallery .gallery-item{display:inline-block;text-align:center;vertical-align:top;width:100%;max-width:100%;margin:0 auto}.elementor-image-gallery .gallery-item img{margin:0 auto}.elementor-image-gallery .gallery-item .gallery-caption{margin:0}.elementor-image-gallery figure img{display:block}.elementor-image-gallery figure figcaption{width:100%}.gallery-spacing-custom .elementor-image-gallery .gallery-icon{padding:0}@media (min-width:ELEMENTOR_SCREEN_MOBILE_NEXT){.elementor-image-gallery .gallery-columns-2 .gallery-item{max-width:50%}.elementor-image-gallery .gallery-columns-3 .gallery-item{max-width:33.33%}.elementor-image-gallery .gallery-columns-4 .gallery-item{max-width:25%}.elementor-image-gallery .gallery-columns-5 .gallery-item{max-width:20%}.elementor-image-gallery .gallery-columns-6 .gallery-item{max-width:16.666%}.elementor-image-gallery .gallery-columns-7 .gallery-item{max-width:14.28%}.elementor-image-gallery .gallery-columns-8 .gallery-item{max-width:12.5%}.elementor-image-gallery .gallery-columns-9 .gallery-item{max-width:11.11%}.elementor-image-gallery .gallery-columns-10 .gallery-item{max-width:10%}}@media (min-width:480px) and (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-image-gallery .gallery.gallery-columns-2 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-3 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-4 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-5 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-6 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-7 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-8 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-9 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-10 .gallery-item{max-width:50%}}@media (max-width:479px){.elementor-image-gallery .gallery.gallery-columns-2 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-3 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-4 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-5 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-6 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-7 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-8 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-9 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-10 .gallery-item{max-width:100%}}assets/css/templates/frontend.css000064400000475012152377341010013201 0ustar00@charset "UTF-8"; .dialog-widget-content { background-color: #fff; position: absolute; border-radius: 3px; box-shadow: 2px 8px 23px 3px rgba(0, 0, 0, 0.2); overflow: hidden; } .dialog-message { font-size: 12px; line-height: 1.5; box-sizing: border-box; } .dialog-type-lightbox { position: fixed; height: 100%; width: 100%; bottom: 0; left: 0; background-color: rgba(0, 0, 0, 0.8); z-index: 9999; user-select: none; } .dialog-type-lightbox .dialog-widget-content { margin: auto; width: 375px; } .dialog-type-lightbox .dialog-header { font-size: 15px; color: #495157; padding: 30px 0 10px; font-weight: 500; } .dialog-type-lightbox .dialog-message { padding: 0 30px 30px; min-height: 50px; } .dialog-type-lightbox:not(.elementor-popup-modal) .dialog-header, .dialog-type-lightbox:not(.elementor-popup-modal) .dialog-message { text-align: center; } .dialog-type-lightbox .dialog-buttons-wrapper { border-top: 1px solid #e6e9ec; text-align: center; } .dialog-type-lightbox .dialog-buttons-wrapper > .dialog-button { font-family: Roboto, Arial, Helvetica, Verdana, sans-serif; width: 50%; border: none; background: none; color: #6d7882; font-size: 15px; cursor: pointer; padding: 13px 0; outline: 0; } .dialog-type-lightbox .dialog-buttons-wrapper > .dialog-button:hover { background-color: #f4f6f7; } .dialog-type-lightbox .dialog-buttons-wrapper > .dialog-button.dialog-ok { color: #b01b1b; } .dialog-type-lightbox .dialog-buttons-wrapper > .dialog-button.dialog-take_over { color: #39b54a; } .dialog-type-lightbox .dialog-buttons-wrapper > .dialog-button:active { background-color: rgba(230, 233, 236, 0.5); } .dialog-type-lightbox .dialog-buttons-wrapper > .dialog-button::-moz-focus-inner { border: 0; } .dialog-close-button { cursor: pointer; position: absolute; margin-top: 15px; right: 15px; font-size: 15px; line-height: 1; } .dialog-close-button:not(:hover) { opacity: 0.4; } .dialog-alert-widget .dialog-buttons-wrapper > button { width: 100%; } .dialog-confirm-widget .dialog-button:first-child { border-right: 1px solid #e6e9ec; } .dialog-prevent-scroll { overflow: hidden; max-height: 100vh; } @media (min-width: 1024px) { body.admin-bar .dialog-lightbox-widget { height: calc(100vh - 32px); } } @media (max-width: 1024px) { body.admin-bar .dialog-type-lightbox { position: sticky; height: 100vh; } } .elementor-aspect-ratio-219 .elementor-fit-aspect-ratio { padding-bottom: 42.8571%; } .elementor-aspect-ratio-169 .elementor-fit-aspect-ratio { padding-bottom: 56.25%; } .elementor-aspect-ratio-43 .elementor-fit-aspect-ratio { padding-bottom: 75%; } .elementor-aspect-ratio-32 .elementor-fit-aspect-ratio { padding-bottom: 66.6666%; } .elementor-aspect-ratio-11 .elementor-fit-aspect-ratio { padding-bottom: 100%; } .elementor-aspect-ratio-916 .elementor-fit-aspect-ratio { padding-bottom: 177.8%; } .elementor-fit-aspect-ratio { position: relative; height: 0; } .elementor-fit-aspect-ratio iframe { position: absolute; top: 0; left: 0; height: 100%; width: 100%; border: 0; background-color: #000; } .elementor-fit-aspect-ratio video { width: 100%; } .flatpickr-calendar { width: 280px; } .flatpickr-calendar .flatpickr-current-month span.cur-month { font-weight: 300; } .flatpickr-calendar .dayContainer { width: 280px; min-width: 280px; max-width: 280px; } .flatpickr-calendar .flatpickr-days { width: 280px; } .flatpickr-calendar .flatpickr-day { max-width: 37px; height: 37px; line-height: 37px; } .elementor-templates-modal .dialog-widget-content { font-family: Roboto, Arial, Helvetica, Verdana, sans-serif; background-color: #f1f3f5; width: 100%; } @media (max-width: 1439px) { .elementor-templates-modal .dialog-widget-content { max-width: 990px; } } @media (min-width: 1440px) { .elementor-templates-modal .dialog-widget-content { max-width: 1200px; } } .elementor-templates-modal .dialog-header { padding: 0; background-color: #fff; box-shadow: 0 0 8px rgba(0, 0, 0, 0.1); position: relative; z-index: 1; } .elementor-templates-modal .dialog-buttons-wrapper { background-color: #fff; border: none; display: none; justify-content: flex-end; padding: 5px; box-shadow: 0 0 8px rgba(0, 0, 0, 0.1); position: relative; } .elementor-templates-modal .dialog-buttons-wrapper .elementor-button { height: 40px; margin-left: 5px; } .elementor-templates-modal .dialog-buttons-wrapper .elementor-button-success { padding: 12px 36px; color: #fff; width: initial; font-size: 15px; } .elementor-templates-modal .dialog-buttons-wrapper .elementor-button-success:hover { background-color: #39b54a; } .elementor-templates-modal .dialog-message { height: 750px; max-height: 85vh; overflow: auto; padding-top: 25px; } .elementor-templates-modal .dialog-content { height: 100%; } .elementor-templates-modal .dialog-loading { display: none; } .elementor-templates-modal__header { display: flex; align-items: center; justify-content: space-between; height: 50px; } .elementor-templates-modal__header__logo { line-height: 1; text-transform: uppercase; font-weight: bold; cursor: pointer; } .elementor-templates-modal__header__logo-area { text-align: left; padding-left: 15px; } .elementor-templates-modal__header__logo-area > * { display: flex; align-items: center; } .elementor-templates-modal__header__logo__icon-wrapper { margin-right: 10px; font-size: 12px; } .elementor-templates-modal__header__logo__title { padding-top: 2px; } .elementor-templates-modal__header__items-area { display: flex; flex-direction: row-reverse; } .elementor-templates-modal__header__item { position: relative; display: flex; align-items: center; justify-content: center; box-sizing: content-box; } .elementor-templates-modal__header__item > i { font-size: 20px; transition: all 0.3s; cursor: pointer; } .elementor-templates-modal__header__item > i:not(:hover) { color: #a4afb7; } .elementor-templates-modal__header__close--normal { width: 47px; border-left: 1px solid #e6e9ec; } .elementor-templates-modal__header__close--normal i { font-size: 18px; } .elementor-templates-modal__header__close--skip { padding: 10px; padding-left: 20px; margin-right: 10px; color: #fff; background-color: #a4afb7; font-size: 11px; font-weight: normal; line-height: 1; text-transform: uppercase; border-radius: 2px; cursor: pointer; } .elementor-templates-modal__header__close--skip > i { font-size: inherit; padding-left: 10px; margin-left: 15px; border-left: 1px solid; } .elementor-templates-modal__header__close--skip > i:not(:hover) { color: #fff; } .elementor-templates-modal__sidebar { flex-shrink: 0; width: 25%; background-color: rgba(255, 255, 255, 0.3); } .elementor-templates-modal__content { flex-grow: 1; box-shadow: 0 0 13px inset rgba(0, 0, 0, 0.05); } /* Will select next element after last '.elementor-general-section' */ #wpadminbar #wp-admin-bar-elementor_edit_page .elementor-general-section + .elementor-second-section { border-top: 1px solid #464b50; margin-top: 6px; } .elementor-hidden { display: none; } .elementor-screen-only, .screen-reader-text, .screen-reader-text span, .ui-helper-hidden-accessible { position: absolute; top: -10000em; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0; } .elementor-clearfix:after { content: ""; display: block; clear: both; width: 0; height: 0; } .e-logo-wrapper { background: #93003c; display: inline-block; padding: 0.75em; border-radius: 50%; line-height: 1; } .e-logo-wrapper i { color: #fff; font-size: 1em; } #e-enable-unfiltered-files-dialog-import-template .dialog-confirm-ok { color: #39b54a; } #e-enable-unfiltered-files-dialog-import-template .dialog-confirm-cancel { color: #b01b1b; } .elementor { hyphens: manual; } .elementor *, .elementor *:before, .elementor *:after { box-sizing: border-box; } .elementor a { box-shadow: none; text-decoration: none; } .elementor hr { margin: 0; background-color: transparent; } .elementor img { height: auto; max-width: 100%; border: none; border-radius: 0; box-shadow: none; } .elementor .elementor-widget:not(.elementor-widget-text-editor):not(.elementor-widget-theme-post-content) figure { margin: 0; } .elementor embed, .elementor iframe, .elementor object, .elementor video { max-width: 100%; width: 100%; margin: 0; line-height: 1; border: none; } .elementor .elementor-custom-embed { line-height: 0; } .elementor .elementor-background-video-container, .elementor .elementor-background-holder, .elementor .elementor-background { height: 100%; width: 100%; top: 0; left: 0; position: absolute; overflow: hidden; z-index: 0; direction: ltr; } .elementor .elementor-background-video-container { transition: opacity 1s; pointer-events: none; } .elementor .elementor-background-video-container.elementor-loading { opacity: 0; } .elementor .elementor-background-video-embed { max-width: none; } .elementor .elementor-background-video-embed, .elementor .elementor-background-video-hosted { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } .elementor .elementor-background-video { max-width: none; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } .elementor .elementor-html5-video { object-fit: cover; } .elementor .elementor-background-overlay { height: 100%; width: 100%; top: 0; left: 0; position: absolute; } .elementor .elementor-background-slideshow { position: absolute; width: 100%; height: 100%; z-index: 0; top: 0; left: 0; } .elementor .elementor-background-slideshow__slide__image { width: 100%; height: 100%; background-position: center center; background-size: cover; } .elementor-widget-wrap > .elementor-element.elementor-absolute, .e-container > .elementor-element.elementor-absolute { position: absolute; } .elementor-widget-wrap > .elementor-element.elementor-fixed, .e-container > .elementor-element.elementor-fixed { position: fixed; } .elementor-widget-wrap .elementor-element.elementor-widget__width-auto, .elementor-widget-wrap .elementor-element.elementor-widget__width-initial { max-width: 100%; } @media (max-width: ELEMENTOR_SCREEN_TABLET_MAX) { .elementor-widget-wrap .elementor-element.elementor-widget-tablet__width-auto, .elementor-widget-wrap .elementor-element.elementor-widget-tablet__width-initial { max-width: 100%; } } @media (max-width: ELEMENTOR_SCREEN_MOBILE_MAX) { .elementor-widget-wrap .elementor-element.elementor-widget-mobile__width-auto, .elementor-widget-wrap .elementor-element.elementor-widget-mobile__width-initial { max-width: 100%; } } .elementor-element { --flex-direction: initial; --flex-wrap: initial; --justify-content: initial; --align-items: initial; --align-content: initial; --gap: initial; --flex-basis: initial; --flex-grow: initial; --flex-shrink: initial; --order: initial; --align-self: initial; flex-direction: var(--flex-direction); flex-wrap: var(--flex-wrap); justify-content: var(--justify-content); align-items: var(--align-items); align-content: var(--align-content); gap: var(--gap); flex-basis: var(--flex-basis); flex-grow: var(--flex-grow); flex-shrink: var(--flex-shrink); order: var(--order); align-self: var(--align-self); } .elementor-element.elementor-absolute, .elementor-element.elementor-fixed { z-index: 1; } .elementor-invisible { visibility: hidden; } .elementor-align-center { text-align: center; } .elementor-align-center .elementor-button { width: auto; } .elementor-align-right { text-align: right; } .elementor-align-right .elementor-button { width: auto; } .elementor-align-left { text-align: left; } .elementor-align-left .elementor-button { width: auto; } .elementor-align-justify .elementor-button { width: 100%; } .elementor-custom-embed-play { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } .elementor-custom-embed-play i { font-size: 100px; color: #fff; text-shadow: 1px 0 6px rgba(0, 0, 0, 0.3); } .elementor-custom-embed-play svg { height: 100px; width: 100px; fill: #fff; filter: drop-shadow(1px 0 6px rgba(0, 0, 0, 0.3)); } .elementor-custom-embed-play i, .elementor-custom-embed-play svg { opacity: 0.8; transition: all 0.5s; } .elementor-custom-embed-play.elementor-playing i { font-family: eicons; } .elementor-custom-embed-play.elementor-playing i:before { content: "\e8fb"; } .elementor-custom-embed-play.elementor-playing i, .elementor-custom-embed-play.elementor-playing svg { animation: eicon-spin 2s infinite linear; } .elementor-tag { display: inline-flex; } .elementor-ken-burns { transition-property: transform; transition-duration: 10s; transition-timing-function: linear; } .elementor-ken-burns--out { transform: scale(1.3); } .elementor-ken-burns--active { transition-duration: 20s; } .elementor-ken-burns--active.elementor-ken-burns--out { transform: scale(1); } .elementor-ken-burns--active.elementor-ken-burns--in { transform: scale(1.3); } @media (min-width: ELEMENTOR_SCREEN_WIDESCREEN_MIN) { .elementor-widescreen-align-center { text-align: center; } .elementor-widescreen-align-center .elementor-button { width: auto; } .elementor-widescreen-align-right { text-align: right; } .elementor-widescreen-align-right .elementor-button { width: auto; } .elementor-widescreen-align-left { text-align: left; } .elementor-widescreen-align-left .elementor-button { width: auto; } .elementor-widescreen-align-justify .elementor-button { width: 100%; } } @media (max-width: ELEMENTOR_SCREEN_LAPTOP_MAX) { .elementor-laptop-align-center { text-align: center; } .elementor-laptop-align-center .elementor-button { width: auto; } .elementor-laptop-align-right { text-align: right; } .elementor-laptop-align-right .elementor-button { width: auto; } .elementor-laptop-align-left { text-align: left; } .elementor-laptop-align-left .elementor-button { width: auto; } .elementor-laptop-align-justify .elementor-button { width: 100%; } } @media (max-width: ELEMENTOR_SCREEN_TABLET_EXTRA_MAX) { .elementor-tablet_extra-align-center { text-align: center; } .elementor-tablet_extra-align-center .elementor-button { width: auto; } .elementor-tablet_extra-align-right { text-align: right; } .elementor-tablet_extra-align-right .elementor-button { width: auto; } .elementor-tablet_extra-align-left { text-align: left; } .elementor-tablet_extra-align-left .elementor-button { width: auto; } .elementor-tablet_extra-align-justify .elementor-button { width: 100%; } } @media (max-width: ELEMENTOR_SCREEN_TABLET_MAX) { .elementor-tablet-align-center { text-align: center; } .elementor-tablet-align-center .elementor-button { width: auto; } .elementor-tablet-align-right { text-align: right; } .elementor-tablet-align-right .elementor-button { width: auto; } .elementor-tablet-align-left { text-align: left; } .elementor-tablet-align-left .elementor-button { width: auto; } .elementor-tablet-align-justify .elementor-button { width: 100%; } } @media (max-width: ELEMENTOR_SCREEN_MOBILE_EXTRA_MAX) { .elementor-mobile_extra-align-center { text-align: center; } .elementor-mobile_extra-align-center .elementor-button { width: auto; } .elementor-mobile_extra-align-right { text-align: right; } .elementor-mobile_extra-align-right .elementor-button { width: auto; } .elementor-mobile_extra-align-left { text-align: left; } .elementor-mobile_extra-align-left .elementor-button { width: auto; } .elementor-mobile_extra-align-justify .elementor-button { width: 100%; } } @media (max-width: ELEMENTOR_SCREEN_MOBILE_MAX) { .elementor-mobile-align-center { text-align: center; } .elementor-mobile-align-center .elementor-button { width: auto; } .elementor-mobile-align-right { text-align: right; } .elementor-mobile-align-right .elementor-button { width: auto; } .elementor-mobile-align-left { text-align: left; } .elementor-mobile-align-left .elementor-button { width: auto; } .elementor-mobile-align-justify .elementor-button { width: 100%; } } :root { --page-title-display: block; } .elementor-page-title, h1.entry-title { display: var(--page-title-display); } @keyframes eicon-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(359deg); } } .eicon-animation-spin { animation: eicon-spin 2s infinite linear; } .elementor-section { position: relative; } .elementor-section .elementor-container { display: flex; margin-right: auto; margin-left: auto; position: relative; } @media (max-width: ELEMENTOR_SCREEN_TABLET_MAX) { .elementor-section .elementor-container { flex-wrap: wrap; } } .elementor-section.elementor-section-boxed > .elementor-container { max-width: 1140px; } .elementor-section.elementor-section-stretched { position: relative; width: 100%; } .elementor-section.elementor-section-items-top > .elementor-container { align-items: flex-start; } .elementor-section.elementor-section-items-middle > .elementor-container { align-items: center; } .elementor-section.elementor-section-items-bottom > .elementor-container { align-items: flex-end; } @media (min-width: ELEMENTOR_SCREEN_MOBILE_NEXT) { .elementor-section.elementor-section-height-full { height: 100vh; } .elementor-section.elementor-section-height-full > .elementor-container { height: 100%; } } .elementor-bc-flex-widget .elementor-section-content-top > .elementor-container > .elementor-column > .elementor-widget-wrap { align-items: flex-start; } .elementor-bc-flex-widget .elementor-section-content-middle > .elementor-container > .elementor-column > .elementor-widget-wrap { align-items: center; } .elementor-bc-flex-widget .elementor-section-content-bottom > .elementor-container > .elementor-column > .elementor-widget-wrap { align-items: flex-end; } .elementor-row { width: 100%; display: flex; } @media (max-width: ELEMENTOR_SCREEN_TABLET_MAX) { .elementor-row { flex-wrap: wrap; } } .elementor-widget-wrap { position: relative; width: 100%; flex-wrap: wrap; align-content: flex-start; } .elementor:not(.elementor-bc-flex-widget) .elementor-widget-wrap { display: flex; } .elementor-widget-wrap > .elementor-element { width: 100%; } .elementor-widget-wrap.e-swiper-container { width: calc(100% - (var(--e-column-margin-left, 0px) + var(--e-column-margin-right, 0px))); } .elementor-widget { position: relative; } .elementor-widget:not(:last-child) { margin-bottom: 20px; } .elementor-widget:not(:last-child).elementor-widget__width-auto, .elementor-widget:not(:last-child).elementor-widget__width-initial, .elementor-widget:not(:last-child).elementor-absolute { margin-bottom: 0; } .elementor-column { position: relative; min-height: 1px; display: flex; } .elementor-column-wrap { width: 100%; position: relative; display: flex; } .elementor-column-gap-narrow > .elementor-column > .elementor-element-populated { padding: 5px; } .elementor-column-gap-default > .elementor-column > .elementor-element-populated { padding: 10px; } .elementor-column-gap-extended > .elementor-column > .elementor-element-populated { padding: 15px; } .elementor-column-gap-wide > .elementor-column > .elementor-element-populated { padding: 20px; } .elementor-column-gap-wider > .elementor-column > .elementor-element-populated { padding: 30px; } .elementor-inner-section .elementor-column-gap-no .elementor-element-populated { padding: 0; } @media (min-width: ELEMENTOR_SCREEN_MOBILE_NEXT) { .elementor-column.elementor-col-10, .elementor-column[data-col="10"] { width: 10%; } .elementor-column.elementor-col-11, .elementor-column[data-col="11"] { width: 11.111%; } .elementor-column.elementor-col-12, .elementor-column[data-col="12"] { width: 12.5%; } .elementor-column.elementor-col-14, .elementor-column[data-col="14"] { width: 14.285%; } .elementor-column.elementor-col-16, .elementor-column[data-col="16"] { width: 16.666%; } .elementor-column.elementor-col-20, .elementor-column[data-col="20"] { width: 20%; } .elementor-column.elementor-col-25, .elementor-column[data-col="25"] { width: 25%; } .elementor-column.elementor-col-30, .elementor-column[data-col="30"] { width: 30%; } .elementor-column.elementor-col-33, .elementor-column[data-col="33"] { width: 33.333%; } .elementor-column.elementor-col-40, .elementor-column[data-col="40"] { width: 40%; } .elementor-column.elementor-col-50, .elementor-column[data-col="50"] { width: 50%; } .elementor-column.elementor-col-60, .elementor-column[data-col="60"] { width: 60%; } .elementor-column.elementor-col-66, .elementor-column[data-col="66"] { width: 66.666%; } .elementor-column.elementor-col-70, .elementor-column[data-col="70"] { width: 70%; } .elementor-column.elementor-col-75, .elementor-column[data-col="75"] { width: 75%; } .elementor-column.elementor-col-80, .elementor-column[data-col="80"] { width: 80%; } .elementor-column.elementor-col-83, .elementor-column[data-col="83"] { width: 83.333%; } .elementor-column.elementor-col-90, .elementor-column[data-col="90"] { width: 90%; } .elementor-column.elementor-col-100, .elementor-column[data-col="100"] { width: 100%; } } @media (max-width: 479px) { .elementor-column.elementor-xs-10 { width: 10%; } .elementor-column.elementor-xs-11 { width: 11.111%; } .elementor-column.elementor-xs-12 { width: 12.5%; } .elementor-column.elementor-xs-14 { width: 14.285%; } .elementor-column.elementor-xs-16 { width: 16.666%; } .elementor-column.elementor-xs-20 { width: 20%; } .elementor-column.elementor-xs-25 { width: 25%; } .elementor-column.elementor-xs-30 { width: 30%; } .elementor-column.elementor-xs-33 { width: 33.333%; } .elementor-column.elementor-xs-40 { width: 40%; } .elementor-column.elementor-xs-50 { width: 50%; } .elementor-column.elementor-xs-60 { width: 60%; } .elementor-column.elementor-xs-66 { width: 66.666%; } .elementor-column.elementor-xs-70 { width: 70%; } .elementor-column.elementor-xs-75 { width: 75%; } .elementor-column.elementor-xs-80 { width: 80%; } .elementor-column.elementor-xs-83 { width: 83.333%; } .elementor-column.elementor-xs-90 { width: 90%; } .elementor-column.elementor-xs-100 { width: 100%; } } @media (max-width: ELEMENTOR_SCREEN_MOBILE_MAX) { .elementor-column.elementor-sm-10 { width: 10%; } .elementor-column.elementor-sm-11 { width: 11.111%; } .elementor-column.elementor-sm-12 { width: 12.5%; } .elementor-column.elementor-sm-14 { width: 14.285%; } .elementor-column.elementor-sm-16 { width: 16.666%; } .elementor-column.elementor-sm-20 { width: 20%; } .elementor-column.elementor-sm-25 { width: 25%; } .elementor-column.elementor-sm-30 { width: 30%; } .elementor-column.elementor-sm-33 { width: 33.333%; } .elementor-column.elementor-sm-40 { width: 40%; } .elementor-column.elementor-sm-50 { width: 50%; } .elementor-column.elementor-sm-60 { width: 60%; } .elementor-column.elementor-sm-66 { width: 66.666%; } .elementor-column.elementor-sm-70 { width: 70%; } .elementor-column.elementor-sm-75 { width: 75%; } .elementor-column.elementor-sm-80 { width: 80%; } .elementor-column.elementor-sm-83 { width: 83.333%; } .elementor-column.elementor-sm-90 { width: 90%; } .elementor-column.elementor-sm-100 { width: 100%; } } @media (min-width: ELEMENTOR_SCREEN_MOBILE_NEXT) and (max-width: ELEMENTOR_SCREEN_TABLET_MAX) { .elementor-column.elementor-md-10 { width: 10%; } .elementor-column.elementor-md-11 { width: 11.111%; } .elementor-column.elementor-md-12 { width: 12.5%; } .elementor-column.elementor-md-14 { width: 14.285%; } .elementor-column.elementor-md-16 { width: 16.666%; } .elementor-column.elementor-md-20 { width: 20%; } .elementor-column.elementor-md-25 { width: 25%; } .elementor-column.elementor-md-30 { width: 30%; } .elementor-column.elementor-md-33 { width: 33.333%; } .elementor-column.elementor-md-40 { width: 40%; } .elementor-column.elementor-md-50 { width: 50%; } .elementor-column.elementor-md-60 { width: 60%; } .elementor-column.elementor-md-66 { width: 66.666%; } .elementor-column.elementor-md-70 { width: 70%; } .elementor-column.elementor-md-75 { width: 75%; } .elementor-column.elementor-md-80 { width: 80%; } .elementor-column.elementor-md-83 { width: 83.333%; } .elementor-column.elementor-md-90 { width: 90%; } .elementor-column.elementor-md-100 { width: 100%; } } @media (min-width: ELEMENTOR_SCREEN_WIDESCREEN_MIN) { .elementor-reverse-widescreen > .elementor-container > :nth-child(1) { order: 10; } .elementor-reverse-widescreen > .elementor-container > :nth-child(2) { order: 9; } .elementor-reverse-widescreen > .elementor-container > :nth-child(3) { order: 8; } .elementor-reverse-widescreen > .elementor-container > :nth-child(4) { order: 7; } .elementor-reverse-widescreen > .elementor-container > :nth-child(5) { order: 6; } .elementor-reverse-widescreen > .elementor-container > :nth-child(6) { order: 5; } .elementor-reverse-widescreen > .elementor-container > :nth-child(7) { order: 4; } .elementor-reverse-widescreen > .elementor-container > :nth-child(8) { order: 3; } .elementor-reverse-widescreen > .elementor-container > :nth-child(9) { order: 2; } .elementor-reverse-widescreen > .elementor-container > :nth-child(10) { order: 1; } } @media (min-width: ELEMENTOR_SCREEN_TABLET_NEXT) and (max-width: ELEMENTOR_SCREEN_LAPTOP_MAX) { .elementor-reverse-laptop > .elementor-container > :nth-child(1) { order: 10; } .elementor-reverse-laptop > .elementor-container > :nth-child(2) { order: 9; } .elementor-reverse-laptop > .elementor-container > :nth-child(3) { order: 8; } .elementor-reverse-laptop > .elementor-container > :nth-child(4) { order: 7; } .elementor-reverse-laptop > .elementor-container > :nth-child(5) { order: 6; } .elementor-reverse-laptop > .elementor-container > :nth-child(6) { order: 5; } .elementor-reverse-laptop > .elementor-container > :nth-child(7) { order: 4; } .elementor-reverse-laptop > .elementor-container > :nth-child(8) { order: 3; } .elementor-reverse-laptop > .elementor-container > :nth-child(9) { order: 2; } .elementor-reverse-laptop > .elementor-container > :nth-child(10) { order: 1; } } @media (min-width: ELEMENTOR_SCREEN_TABLET_EXTRA_NEXT) and (max-width: ELEMENTOR_SCREEN_LAPTOP_MAX) { .elementor-reverse-laptop > .elementor-container > :nth-child(1) { order: 10; } .elementor-reverse-laptop > .elementor-container > :nth-child(2) { order: 9; } .elementor-reverse-laptop > .elementor-container > :nth-child(3) { order: 8; } .elementor-reverse-laptop > .elementor-container > :nth-child(4) { order: 7; } .elementor-reverse-laptop > .elementor-container > :nth-child(5) { order: 6; } .elementor-reverse-laptop > .elementor-container > :nth-child(6) { order: 5; } .elementor-reverse-laptop > .elementor-container > :nth-child(7) { order: 4; } .elementor-reverse-laptop > .elementor-container > :nth-child(8) { order: 3; } .elementor-reverse-laptop > .elementor-container > :nth-child(9) { order: 2; } .elementor-reverse-laptop > .elementor-container > :nth-child(10) { order: 1; } } @media (min-width: ELEMENTOR_SCREEN_TABLET_NEXT) and (max-width: ELEMENTOR_SCREEN_TABLET_EXTRA_MAX) { .elementor-reverse-laptop > .elementor-container > :nth-child(1) { order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(2) { order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(3) { order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(4) { order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(5) { order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(6) { order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(7) { order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(8) { order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(9) { order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(10) { order: initial; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(1) { order: 10; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(2) { order: 9; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(3) { order: 8; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(4) { order: 7; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(5) { order: 6; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(6) { order: 5; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(7) { order: 4; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(8) { order: 3; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(9) { order: 2; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(10) { order: 1; } } @media (min-width: ELEMENTOR_SCREEN_MOBILE_NEXT) and (max-width: ELEMENTOR_SCREEN_TABLET_MAX) { .elementor-reverse-tablet > .elementor-container > :nth-child(1) { order: 10; } .elementor-reverse-tablet > .elementor-container > :nth-child(2) { order: 9; } .elementor-reverse-tablet > .elementor-container > :nth-child(3) { order: 8; } .elementor-reverse-tablet > .elementor-container > :nth-child(4) { order: 7; } .elementor-reverse-tablet > .elementor-container > :nth-child(5) { order: 6; } .elementor-reverse-tablet > .elementor-container > :nth-child(6) { order: 5; } .elementor-reverse-tablet > .elementor-container > :nth-child(7) { order: 4; } .elementor-reverse-tablet > .elementor-container > :nth-child(8) { order: 3; } .elementor-reverse-tablet > .elementor-container > :nth-child(9) { order: 2; } .elementor-reverse-tablet > .elementor-container > :nth-child(10) { order: 1; } } @media (min-width: ELEMENTOR_SCREEN_MOBILE_EXTRA_NEXT) and (max-width: ELEMENTOR_SCREEN_TABLET_MAX) { .elementor-reverse-tablet > .elementor-container > :nth-child(1) { order: 10; } .elementor-reverse-tablet > .elementor-container > :nth-child(2) { order: 9; } .elementor-reverse-tablet > .elementor-container > :nth-child(3) { order: 8; } .elementor-reverse-tablet > .elementor-container > :nth-child(4) { order: 7; } .elementor-reverse-tablet > .elementor-container > :nth-child(5) { order: 6; } .elementor-reverse-tablet > .elementor-container > :nth-child(6) { order: 5; } .elementor-reverse-tablet > .elementor-container > :nth-child(7) { order: 4; } .elementor-reverse-tablet > .elementor-container > :nth-child(8) { order: 3; } .elementor-reverse-tablet > .elementor-container > :nth-child(9) { order: 2; } .elementor-reverse-tablet > .elementor-container > :nth-child(10) { order: 1; } } @media (min-width: ELEMENTOR_SCREEN_MOBILE_NEXT) and (max-width: ELEMENTOR_SCREEN_MOBILE_EXTRA_MAX) { .elementor-reverse-tablet > .elementor-container > :nth-child(1) { order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(2) { order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(3) { order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(4) { order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(5) { order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(6) { order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(7) { order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(8) { order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(9) { order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(10) { order: initial; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(1) { order: 10; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(2) { order: 9; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(3) { order: 8; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(4) { order: 7; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(5) { order: 6; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(6) { order: 5; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(7) { order: 4; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(8) { order: 3; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(9) { order: 2; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(10) { order: 1; } } @media (max-width: ELEMENTOR_SCREEN_MOBILE_MAX) { .elementor-reverse-mobile > .elementor-container > :nth-child(1) { order: 10; } .elementor-reverse-mobile > .elementor-container > :nth-child(2) { order: 9; } .elementor-reverse-mobile > .elementor-container > :nth-child(3) { order: 8; } .elementor-reverse-mobile > .elementor-container > :nth-child(4) { order: 7; } .elementor-reverse-mobile > .elementor-container > :nth-child(5) { order: 6; } .elementor-reverse-mobile > .elementor-container > :nth-child(6) { order: 5; } .elementor-reverse-mobile > .elementor-container > :nth-child(7) { order: 4; } .elementor-reverse-mobile > .elementor-container > :nth-child(8) { order: 3; } .elementor-reverse-mobile > .elementor-container > :nth-child(9) { order: 2; } .elementor-reverse-mobile > .elementor-container > :nth-child(10) { order: 1; } .elementor-column { width: 100%; } } ul.elementor-icon-list-items.elementor-inline-items { display: flex; flex-wrap: wrap; } ul.elementor-icon-list-items.elementor-inline-items .elementor-inline-item { word-break: break-word; } .elementor-grid { display: grid; grid-column-gap: var(--grid-column-gap); grid-row-gap: var(--grid-row-gap); } .elementor-grid .elementor-grid-item { min-width: 0; } .elementor-grid-0 .elementor-grid { display: inline-block; width: 100%; word-spacing: var(--grid-column-gap); margin-bottom: calc(-1 * var(--grid-row-gap)); } .elementor-grid-0 .elementor-grid .elementor-grid-item { display: inline-block; margin-bottom: var(--grid-row-gap); word-break: break-word; } .elementor-grid-1 .elementor-grid { grid-template-columns: repeat(1, 1fr); } .elementor-grid-2 .elementor-grid { grid-template-columns: repeat(2, 1fr); } .elementor-grid-3 .elementor-grid { grid-template-columns: repeat(3, 1fr); } .elementor-grid-4 .elementor-grid { grid-template-columns: repeat(4, 1fr); } .elementor-grid-5 .elementor-grid { grid-template-columns: repeat(5, 1fr); } .elementor-grid-6 .elementor-grid { grid-template-columns: repeat(6, 1fr); } .elementor-grid-7 .elementor-grid { grid-template-columns: repeat(7, 1fr); } .elementor-grid-8 .elementor-grid { grid-template-columns: repeat(8, 1fr); } .elementor-grid-9 .elementor-grid { grid-template-columns: repeat(9, 1fr); } .elementor-grid-10 .elementor-grid { grid-template-columns: repeat(10, 1fr); } .elementor-grid-11 .elementor-grid { grid-template-columns: repeat(11, 1fr); } .elementor-grid-12 .elementor-grid { grid-template-columns: repeat(12, 1fr); } @media (min-width: ELEMENTOR_SCREEN_WIDESCREEN_MIN) { .elementor-grid-widescreen-0 .elementor-grid { display: inline-block; width: 100%; word-spacing: var(--grid-column-gap); margin-bottom: calc(-1 * var(--grid-row-gap)); } .elementor-grid-widescreen-0 .elementor-grid .elementor-grid-item { display: inline-block; margin-bottom: var(--grid-row-gap); word-break: break-word; } .elementor-grid-widescreen-1 .elementor-grid { grid-template-columns: repeat(1, 1fr); } .elementor-grid-widescreen-2 .elementor-grid { grid-template-columns: repeat(2, 1fr); } .elementor-grid-widescreen-3 .elementor-grid { grid-template-columns: repeat(3, 1fr); } .elementor-grid-widescreen-4 .elementor-grid { grid-template-columns: repeat(4, 1fr); } .elementor-grid-widescreen-5 .elementor-grid { grid-template-columns: repeat(5, 1fr); } .elementor-grid-widescreen-6 .elementor-grid { grid-template-columns: repeat(6, 1fr); } .elementor-grid-widescreen-7 .elementor-grid { grid-template-columns: repeat(7, 1fr); } .elementor-grid-widescreen-8 .elementor-grid { grid-template-columns: repeat(8, 1fr); } .elementor-grid-widescreen-9 .elementor-grid { grid-template-columns: repeat(9, 1fr); } .elementor-grid-widescreen-10 .elementor-grid { grid-template-columns: repeat(10, 1fr); } .elementor-grid-widescreen-11 .elementor-grid { grid-template-columns: repeat(11, 1fr); } .elementor-grid-widescreen-12 .elementor-grid { grid-template-columns: repeat(12, 1fr); } } @media (max-width: ELEMENTOR_SCREEN_LAPTOP_MAX) { .elementor-grid-laptop-0 .elementor-grid { display: inline-block; width: 100%; word-spacing: var(--grid-column-gap); margin-bottom: calc(-1 * var(--grid-row-gap)); } .elementor-grid-laptop-0 .elementor-grid .elementor-grid-item { display: inline-block; margin-bottom: var(--grid-row-gap); word-break: break-word; } .elementor-grid-laptop-1 .elementor-grid { grid-template-columns: repeat(1, 1fr); } .elementor-grid-laptop-2 .elementor-grid { grid-template-columns: repeat(2, 1fr); } .elementor-grid-laptop-3 .elementor-grid { grid-template-columns: repeat(3, 1fr); } .elementor-grid-laptop-4 .elementor-grid { grid-template-columns: repeat(4, 1fr); } .elementor-grid-laptop-5 .elementor-grid { grid-template-columns: repeat(5, 1fr); } .elementor-grid-laptop-6 .elementor-grid { grid-template-columns: repeat(6, 1fr); } .elementor-grid-laptop-7 .elementor-grid { grid-template-columns: repeat(7, 1fr); } .elementor-grid-laptop-8 .elementor-grid { grid-template-columns: repeat(8, 1fr); } .elementor-grid-laptop-9 .elementor-grid { grid-template-columns: repeat(9, 1fr); } .elementor-grid-laptop-10 .elementor-grid { grid-template-columns: repeat(10, 1fr); } .elementor-grid-laptop-11 .elementor-grid { grid-template-columns: repeat(11, 1fr); } .elementor-grid-laptop-12 .elementor-grid { grid-template-columns: repeat(12, 1fr); } } @media (max-width: ELEMENTOR_SCREEN_TABLET_EXTRA_MAX) { .elementor-grid-tablet_extra-0 .elementor-grid { display: inline-block; width: 100%; word-spacing: var(--grid-column-gap); margin-bottom: calc(-1 * var(--grid-row-gap)); } .elementor-grid-tablet_extra-0 .elementor-grid .elementor-grid-item { display: inline-block; margin-bottom: var(--grid-row-gap); word-break: break-word; } .elementor-grid-tablet_extra-1 .elementor-grid { grid-template-columns: repeat(1, 1fr); } .elementor-grid-tablet_extra-2 .elementor-grid { grid-template-columns: repeat(2, 1fr); } .elementor-grid-tablet_extra-3 .elementor-grid { grid-template-columns: repeat(3, 1fr); } .elementor-grid-tablet_extra-4 .elementor-grid { grid-template-columns: repeat(4, 1fr); } .elementor-grid-tablet_extra-5 .elementor-grid { grid-template-columns: repeat(5, 1fr); } .elementor-grid-tablet_extra-6 .elementor-grid { grid-template-columns: repeat(6, 1fr); } .elementor-grid-tablet_extra-7 .elementor-grid { grid-template-columns: repeat(7, 1fr); } .elementor-grid-tablet_extra-8 .elementor-grid { grid-template-columns: repeat(8, 1fr); } .elementor-grid-tablet_extra-9 .elementor-grid { grid-template-columns: repeat(9, 1fr); } .elementor-grid-tablet_extra-10 .elementor-grid { grid-template-columns: repeat(10, 1fr); } .elementor-grid-tablet_extra-11 .elementor-grid { grid-template-columns: repeat(11, 1fr); } .elementor-grid-tablet_extra-12 .elementor-grid { grid-template-columns: repeat(12, 1fr); } } @media (max-width: ELEMENTOR_SCREEN_TABLET_MAX) { .elementor-grid-tablet-0 .elementor-grid { display: inline-block; width: 100%; word-spacing: var(--grid-column-gap); margin-bottom: calc(-1 * var(--grid-row-gap)); } .elementor-grid-tablet-0 .elementor-grid .elementor-grid-item { display: inline-block; margin-bottom: var(--grid-row-gap); word-break: break-word; } .elementor-grid-tablet-1 .elementor-grid { grid-template-columns: repeat(1, 1fr); } .elementor-grid-tablet-2 .elementor-grid { grid-template-columns: repeat(2, 1fr); } .elementor-grid-tablet-3 .elementor-grid { grid-template-columns: repeat(3, 1fr); } .elementor-grid-tablet-4 .elementor-grid { grid-template-columns: repeat(4, 1fr); } .elementor-grid-tablet-5 .elementor-grid { grid-template-columns: repeat(5, 1fr); } .elementor-grid-tablet-6 .elementor-grid { grid-template-columns: repeat(6, 1fr); } .elementor-grid-tablet-7 .elementor-grid { grid-template-columns: repeat(7, 1fr); } .elementor-grid-tablet-8 .elementor-grid { grid-template-columns: repeat(8, 1fr); } .elementor-grid-tablet-9 .elementor-grid { grid-template-columns: repeat(9, 1fr); } .elementor-grid-tablet-10 .elementor-grid { grid-template-columns: repeat(10, 1fr); } .elementor-grid-tablet-11 .elementor-grid { grid-template-columns: repeat(11, 1fr); } .elementor-grid-tablet-12 .elementor-grid { grid-template-columns: repeat(12, 1fr); } } @media (max-width: ELEMENTOR_SCREEN_MOBILE_EXTRA_MAX) { .elementor-grid-mobile_extra-0 .elementor-grid { display: inline-block; width: 100%; word-spacing: var(--grid-column-gap); margin-bottom: calc(-1 * var(--grid-row-gap)); } .elementor-grid-mobile_extra-0 .elementor-grid .elementor-grid-item { display: inline-block; margin-bottom: var(--grid-row-gap); word-break: break-word; } .elementor-grid-mobile_extra-1 .elementor-grid { grid-template-columns: repeat(1, 1fr); } .elementor-grid-mobile_extra-2 .elementor-grid { grid-template-columns: repeat(2, 1fr); } .elementor-grid-mobile_extra-3 .elementor-grid { grid-template-columns: repeat(3, 1fr); } .elementor-grid-mobile_extra-4 .elementor-grid { grid-template-columns: repeat(4, 1fr); } .elementor-grid-mobile_extra-5 .elementor-grid { grid-template-columns: repeat(5, 1fr); } .elementor-grid-mobile_extra-6 .elementor-grid { grid-template-columns: repeat(6, 1fr); } .elementor-grid-mobile_extra-7 .elementor-grid { grid-template-columns: repeat(7, 1fr); } .elementor-grid-mobile_extra-8 .elementor-grid { grid-template-columns: repeat(8, 1fr); } .elementor-grid-mobile_extra-9 .elementor-grid { grid-template-columns: repeat(9, 1fr); } .elementor-grid-mobile_extra-10 .elementor-grid { grid-template-columns: repeat(10, 1fr); } .elementor-grid-mobile_extra-11 .elementor-grid { grid-template-columns: repeat(11, 1fr); } .elementor-grid-mobile_extra-12 .elementor-grid { grid-template-columns: repeat(12, 1fr); } } @media (max-width: ELEMENTOR_SCREEN_MOBILE_MAX) { .elementor-grid-mobile-0 .elementor-grid { display: inline-block; width: 100%; word-spacing: var(--grid-column-gap); margin-bottom: calc(-1 * var(--grid-row-gap)); } .elementor-grid-mobile-0 .elementor-grid .elementor-grid-item { display: inline-block; margin-bottom: var(--grid-row-gap); word-break: break-word; } .elementor-grid-mobile-1 .elementor-grid { grid-template-columns: repeat(1, 1fr); } .elementor-grid-mobile-2 .elementor-grid { grid-template-columns: repeat(2, 1fr); } .elementor-grid-mobile-3 .elementor-grid { grid-template-columns: repeat(3, 1fr); } .elementor-grid-mobile-4 .elementor-grid { grid-template-columns: repeat(4, 1fr); } .elementor-grid-mobile-5 .elementor-grid { grid-template-columns: repeat(5, 1fr); } .elementor-grid-mobile-6 .elementor-grid { grid-template-columns: repeat(6, 1fr); } .elementor-grid-mobile-7 .elementor-grid { grid-template-columns: repeat(7, 1fr); } .elementor-grid-mobile-8 .elementor-grid { grid-template-columns: repeat(8, 1fr); } .elementor-grid-mobile-9 .elementor-grid { grid-template-columns: repeat(9, 1fr); } .elementor-grid-mobile-10 .elementor-grid { grid-template-columns: repeat(10, 1fr); } .elementor-grid-mobile-11 .elementor-grid { grid-template-columns: repeat(11, 1fr); } .elementor-grid-mobile-12 .elementor-grid { grid-template-columns: repeat(12, 1fr); } } @media (min-width: ELEMENTOR_SCREEN_DESKTOP_MIN) { #elementor-device-mode:after { content: "desktop"; } } @media (min-width: ELEMENTOR_SCREEN_WIDESCREEN_MIN) { #elementor-device-mode:after { content: "widescreen"; } } @media (max-width: ELEMENTOR_SCREEN_LAPTOP_MAX) { #elementor-device-mode:after { content: "laptop"; } } @media (max-width: ELEMENTOR_SCREEN_TABLET_EXTRA_MAX) { #elementor-device-mode:after { content: "tablet_extra"; } } @media (max-width: ELEMENTOR_SCREEN_TABLET_MAX) { #elementor-device-mode:after { content: "tablet"; } } @media (max-width: ELEMENTOR_SCREEN_MOBILE_EXTRA_MAX) { #elementor-device-mode:after { content: "mobile_extra"; } } @media (max-width: ELEMENTOR_SCREEN_MOBILE_MAX) { #elementor-device-mode:after { content: "mobile"; } } .e-container { --border-radius: 0; --display: flex; --flex-direction: column; --flex-basis: auto; --flex-grow: 0; --flex-shrink: 1; --content-width: Min( 100%, var( --container-max-width, 1140px ) ); --width: 100%; --min-height: initial; --height: auto; --text-align: initial; --margin-top: 0; --margin-right: 0; --margin-bottom: 0; --margin-left: 0; --padding-top: var( --container-default-padding, 0px ); --padding-right: var( --container-default-padding, 0px ); --padding-bottom: var( --container-default-padding, 0px ); --padding-left: var( --container-default-padding, 0px ); --position: relative; --z-index: revert; --overflow: visible; --transition: 0; --gap: var( --widgets-spacing, 20px ); --overlay-mix-blend-mode: initial; --overlay-opacity: 1; --overlay-transition: 0; position: var(--position); display: var(--display); text-align: var(--text-align); flex-direction: var(--flex-direction); flex: var(--flex-grow) var(--flex-shrink) var(--flex-basis); width: var(--width); min-width: 0; max-width: min(100%, var(--width)); min-height: var(--min-height); height: var(--height); border-radius: var(--border-radius); margin: var(--margin-top) var(--margin-right) var(--margin-bottom) var(--margin-left); padding-left: calc((100% - var(--content-width)) / 2 + var(--padding-left)); padding-right: calc((100% - var(--content-width)) / 2 + var(--padding-right)); padding-top: var(--padding-top); padding-bottom: var(--padding-bottom); z-index: var(--z-index); overflow: var(--overflow); transition: var(--transition); } :is(.elementor-section-wrap, [data-elementor-id]) > .e-container { --margin-right: auto; --margin-left: auto; } .e-container .elementor-empty-view { position: relative; width: 100%; height: 100%; min-height: var(--min-height, 100px); } .e-container .elementor-empty-view .elementor-first-add { width: auto; height: auto; inset: 10px; } .e-container .elementor-widget-placeholder { --size: 10px; --margin-start: calc( -1 * var( --size ) ); --margin-end: calc( -2 * var( --size ) ); flex-shrink: 0; align-self: stretch; z-index: 1; pointer-events: none; } .e-container.e-container--row > .elementor-widget-placeholder { position: relative; z-index: 9999; width: var(--size); margin-inline-start: var(--margin-start); height: auto; min-height: 100%; animation-name: dnd-placeholder-widget-vertical; animation-fill-mode: both; } .e-container.e-container--row[data-nesting-level]:not([data-nesting-level="0"]) > .elementor-widget-placeholder { margin-inline-end: 0; margin-inline-start: calc(var(--margin-start) + var(--margin-end)); } .e-container.e-container--row[data-nesting-level]:not([data-nesting-level="0"]) > :not(.elementor-element) + .elementor-widget-placeholder { margin-inline-end: var(--margin-end); margin-inline-start: var(--margin-start); } .e-container.e-container--column > .elementor-widget-placeholder { height: var(--size); margin-block-start: var(--margin-start); margin-block-end: var(--margin-end); animation-name: dnd-placeholder-widget-horizontal; } .e-container.e-container--column > .elementor-widget-placeholder:nth-last-child(2) { margin-block-start: calc(2 * var(--margin-start)); --margin-end: 0; } .e-container .elementor-sortable-helper { height: 84px; width: 125px; z-index: -1; } .e-container .elementor-widget.elementor-widget { margin-bottom: 0; } .e-container::before { content: var(--background-overlay); display: block; position: absolute; z-index: 0; width: 100%; height: 100%; left: 0; top: 0; mix-blend-mode: var(--overlay-mix-blend-mode); opacity: var(--overlay-opacity); transition: var(--overlay-transition); border-radius: var(--border-radius); } .e-container .elementor-widget { min-width: 0; } .e-container .elementor-widget-video, .e-container .elementor-widget-google_maps { flex-basis: 100%; } .e-container .elementor-widget.e-widget-swiper { max-width: 100%; flex-basis: 100%; } .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-setting, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-setting { position: relative; background-color: #556068; } .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-setting:hover, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-setting:hover { background-color: #495157; } .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-setting.elementor-editor-element-add, .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-setting.elementor-editor-element-edit + .elementor-editor-element-remove, .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-setting:first-child::before, .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-setting:last-child::after, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-setting.elementor-editor-element-add, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-setting.elementor-editor-element-edit + .elementor-editor-element-remove, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-setting:first-child::before, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-setting:last-child::after { display: none; } .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-setting:not(.elementor-editor-element-edit), .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-setting:not(.elementor-editor-element-edit) { margin-inline-start: -25px; z-index: -1; transition: 0.3s all; will-change: margin-inline-start; } .e-container > .e-container > .elementor-element-overlay > .elementor-editor-element-settings:hover > :is(.elementor-editor-element-duplicate, .elementor-editor-element-remove), .elementor-widget .e-container > .elementor-element-overlay > .elementor-editor-element-settings:hover > :is(.elementor-editor-element-duplicate, .elementor-editor-element-remove) { margin-inline-start: 0; } .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-settings, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-settings { inset: initial; transform: none; inset-inline-start: 0; top: 0; border-radius: 0; border-end-end-radius: 3px; height: auto; background-color: #556068; } .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-settings:hover, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-settings:hover { background-color: #495157; } .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-settings i.eicon-handle::before, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-settings i.eicon-handle::before { content: "\e9b4"; font-size: 20px; display: block; padding: 2px; } @media (max-width: 767px) { .e-container { --width: 100%; --flex-wrap: wrap; } } @keyframes dnd-placeholder-widget-vertical { 0% { transform-origin: 0 50%; transform: translateX(50%) scaleX(0); opacity: 0; } 100% { transform-origin: 0 50%; transform: translateX(50%) scaleX(1); opacity: 0.9; } } @keyframes dnd-placeholder-widget-horizontal { 0% { transform-origin: 50% 0; transform: scaleY(0); opacity: 0; } 100% { transform-origin: 50% 0; transform: scaleY(1); opacity: 0.9; } } .elementor-form-fields-wrapper { display: flex; flex-wrap: wrap; } .elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group > input, .elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group > textarea, .elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group > .elementor-select-wrapper, .elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group .elementor-field-subgroup { flex-basis: 100%; max-width: 100%; } .elementor-form-fields-wrapper.elementor-labels-inline > .elementor-field-group > input, .elementor-form-fields-wrapper.elementor-labels-inline > .elementor-field-group .elementor-select-wrapper { flex-grow: 1; } .elementor-field-group { flex-wrap: wrap; align-items: center; } .elementor-field-group.elementor-field-type-submit { align-items: flex-end; } .elementor-field-group .elementor-field-textual { width: 100%; max-width: 100%; border: 1px solid #818a91; background-color: transparent; color: #373a3c; vertical-align: middle; flex-grow: 1; } .elementor-field-group .elementor-field-textual:focus { box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1) inset; outline: 0; } .elementor-field-group .elementor-field-textual::-webkit-input-placeholder { color: inherit; font-family: inherit; opacity: 0.6; } .elementor-field-group .elementor-field-textual:-ms-input-placeholder { color: inherit; font-family: inherit; opacity: 0.6; } .elementor-field-group .elementor-field-textual::-moz-placeholder { color: inherit; font-family: inherit; opacity: 0.6; } .elementor-field-group .elementor-field-textual:-moz-placeholder { color: inherit; font-family: inherit; opacity: 0.6; } .elementor-field-group .elementor-field-textual::placeholder { color: inherit; font-family: inherit; opacity: 0.6; } .elementor-field-group .elementor-select-wrapper { display: flex; position: relative; width: 100%; } .elementor-field-group .elementor-select-wrapper select { appearance: none; -webkit-appearance: none; -moz-appearance: none; color: inherit; font-size: inherit; font-family: inherit; font-weight: inherit; font-style: inherit; text-transform: inherit; letter-spacing: inherit; line-height: inherit; flex-basis: 100%; padding-right: 20px; } .elementor-field-group .elementor-select-wrapper:before { content: "\e92a"; font-family: "eicons"; font-size: 15px; position: absolute; top: 50%; transform: translateY(-50%); right: 10px; pointer-events: none; text-shadow: 0 0 3px rgba(0, 0, 0, 0.3); } .elementor-field-group.elementor-field-type-select-multiple .elementor-select-wrapper:before { content: ""; } .elementor-field-subgroup { display: flex; flex-wrap: wrap; } .elementor-field-subgroup .elementor-field-option label { display: inline-block; } .elementor-field-subgroup.elementor-subgroup-inline .elementor-field-option { padding-right: 10px; } .elementor-field-subgroup:not(.elementor-subgroup-inline) .elementor-field-option { flex-basis: 100%; } .elementor-field-type-checkbox .elementor-field-subgroup .elementor-field-option input, .elementor-field-type-checkbox .elementor-field-subgroup .elementor-field-option label, .elementor-field-type-radio .elementor-field-subgroup .elementor-field-option input, .elementor-field-type-radio .elementor-field-subgroup .elementor-field-option label, .elementor-field-type-acceptance .elementor-field-subgroup .elementor-field-option input, .elementor-field-type-acceptance .elementor-field-subgroup .elementor-field-option label { display: inline; } .elementor-field-label { cursor: pointer; } .elementor-mark-required .elementor-field-label:after { content: "*"; color: red; padding-left: 0.2em; } .elementor-field-textual { line-height: 1.4; font-size: 15px; min-height: 40px; padding: 5px 14px; border-radius: 3px; } .elementor-field-textual.elementor-size-xs { font-size: 13px; min-height: 33px; padding: 4px 12px; border-radius: 2px; } .elementor-field-textual.elementor-size-md { font-size: 16px; min-height: 47px; padding: 6px 16px; border-radius: 4px; } .elementor-field-textual.elementor-size-lg { font-size: 18px; min-height: 59px; padding: 7px 20px; border-radius: 5px; } .elementor-field-textual.elementor-size-xl { font-size: 20px; min-height: 72px; padding: 8px 24px; border-radius: 6px; } .elementor-button-align-stretch .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button { flex-basis: 100%; } .elementor-button-align-stretch .e-form__buttons__wrapper { flex-basis: 50%; flex-grow: 1; } .elementor-button-align-stretch .e-form__buttons__wrapper__button { flex-basis: 100%; } .elementor-button-align-center .elementor-field-type-submit, .elementor-button-align-center .e-form__buttons { justify-content: center; } .elementor-button-align-start .elementor-field-type-submit, .elementor-button-align-start .e-form__buttons { justify-content: flex-start; } .elementor-button-align-end .elementor-field-type-submit, .elementor-button-align-end .e-form__buttons { justify-content: flex-end; } .elementor-button-align-center .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button, .elementor-button-align-start .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button, .elementor-button-align-end .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button { flex-basis: initial; } .elementor-button-align-center .e-form__buttons__wrapper, .elementor-button-align-start .e-form__buttons__wrapper, .elementor-button-align-end .e-form__buttons__wrapper { flex-grow: initial; } .elementor-button-align-center .e-form__buttons__wrapper, .elementor-button-align-center .e-form__buttons__wrapper__button, .elementor-button-align-start .e-form__buttons__wrapper, .elementor-button-align-start .e-form__buttons__wrapper__button, .elementor-button-align-end .e-form__buttons__wrapper, .elementor-button-align-end .e-form__buttons__wrapper__button { flex-basis: initial; } @media screen and (max-width: ELEMENTOR_SCREEN_TABLET_MAX) { .elementor-tablet-button-align-stretch .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button { flex-basis: 100%; } .elementor-tablet-button-align-stretch .e-form__buttons__wrapper { flex-basis: 50%; flex-grow: 1; } .elementor-tablet-button-align-stretch .e-form__buttons__wrapper__button { flex-basis: 100%; } .elementor-tablet-button-align-center .elementor-field-type-submit, .elementor-tablet-button-align-center .e-form__buttons { justify-content: center; } .elementor-tablet-button-align-start .elementor-field-type-submit, .elementor-tablet-button-align-start .e-form__buttons { justify-content: flex-start; } .elementor-tablet-button-align-end .elementor-field-type-submit, .elementor-tablet-button-align-end .e-form__buttons { justify-content: flex-end; } .elementor-tablet-button-align-center .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button, .elementor-tablet-button-align-start .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button, .elementor-tablet-button-align-end .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button { flex-basis: initial; } .elementor-tablet-button-align-center .e-form__buttons__wrapper, .elementor-tablet-button-align-start .e-form__buttons__wrapper, .elementor-tablet-button-align-end .e-form__buttons__wrapper { flex-grow: initial; } .elementor-tablet-button-align-center .e-form__buttons__wrapper, .elementor-tablet-button-align-center .e-form__buttons__wrapper__button, .elementor-tablet-button-align-start .e-form__buttons__wrapper, .elementor-tablet-button-align-start .e-form__buttons__wrapper__button, .elementor-tablet-button-align-end .e-form__buttons__wrapper, .elementor-tablet-button-align-end .e-form__buttons__wrapper__button { flex-basis: initial; } } @media screen and (max-width: ELEMENTOR_SCREEN_MOBILE_MAX) { .elementor-mobile-button-align-stretch .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button { flex-basis: 100%; } .elementor-mobile-button-align-stretch .e-form__buttons__wrapper { flex-basis: 50%; flex-grow: 1; } .elementor-mobile-button-align-stretch .e-form__buttons__wrapper__button { flex-basis: 100%; } .elementor-mobile-button-align-center .elementor-field-type-submit, .elementor-mobile-button-align-center .e-form__buttons { justify-content: center; } .elementor-mobile-button-align-start .elementor-field-type-submit, .elementor-mobile-button-align-start .e-form__buttons { justify-content: flex-start; } .elementor-mobile-button-align-end .elementor-field-type-submit, .elementor-mobile-button-align-end .e-form__buttons { justify-content: flex-end; } .elementor-mobile-button-align-center .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button, .elementor-mobile-button-align-start .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button, .elementor-mobile-button-align-end .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button { flex-basis: initial; } .elementor-mobile-button-align-center .e-form__buttons__wrapper, .elementor-mobile-button-align-start .e-form__buttons__wrapper, .elementor-mobile-button-align-end .e-form__buttons__wrapper { flex-grow: initial; } .elementor-mobile-button-align-center .e-form__buttons__wrapper, .elementor-mobile-button-align-center .e-form__buttons__wrapper__button, .elementor-mobile-button-align-start .e-form__buttons__wrapper, .elementor-mobile-button-align-start .e-form__buttons__wrapper__button, .elementor-mobile-button-align-end .e-form__buttons__wrapper, .elementor-mobile-button-align-end .e-form__buttons__wrapper__button { flex-basis: initial; } } .elementor-error .elementor-field { border-color: #d9534f; } .elementor-error .help-inline { color: #d9534f; font-size: 0.9em; } .elementor-message { margin: 10px 0; font-size: 1em; line-height: 1; } .elementor-message:before { content: "\e90e"; display: inline-block; font-family: eicons; font-weight: normal; font-style: normal; vertical-align: middle; margin-right: 5px; } .elementor-message.elementor-message-danger { color: #d9534f; } .elementor-message.elementor-message-danger:before { content: "\e87f"; } .elementor-message.form-message-success { color: #5cb85c; } .elementor-form .elementor-button { padding-top: 0; padding-bottom: 0; border: none; } .elementor-form .elementor-button > span { display: flex; justify-content: center; } .elementor-form .elementor-button.elementor-size-xs { min-height: 33px; } .elementor-form .elementor-button.elementor-size-sm { min-height: 40px; } .elementor-form .elementor-button.elementor-size-md { min-height: 47px; } .elementor-form .elementor-button.elementor-size-lg { min-height: 59px; } .elementor-form .elementor-button.elementor-size-xl { min-height: 72px; } .elementor-element .elementor-widget-container { transition: background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s; } .elementor-button { display: inline-block; line-height: 1; background-color: #818a91; font-size: 15px; padding: 12px 24px; border-radius: 3px; color: #fff; fill: #fff; text-align: center; transition: all 0.3s; } .elementor-button:hover, .elementor-button:focus, .elementor-button:visited { color: #fff; } .elementor-button-content-wrapper { display: flex; justify-content: center; } .elementor-button-icon { flex-grow: 0; order: 5; } .elementor-button-icon svg { width: 1em; height: auto; } .elementor-button-icon .e-font-icon-svg { height: 1em; } .elementor-button-text { flex-grow: 1; order: 10; display: inline-block; } .elementor-button.elementor-size-xs { font-size: 13px; padding: 10px 20px; border-radius: 2px; } .elementor-button.elementor-size-md { font-size: 16px; padding: 15px 30px; border-radius: 4px; } .elementor-button.elementor-size-lg { font-size: 18px; padding: 20px 40px; border-radius: 5px; } .elementor-button.elementor-size-xl { font-size: 20px; padding: 25px 50px; border-radius: 6px; } .elementor-button .elementor-align-icon-right { margin-left: 5px; order: 15; } .elementor-button .elementor-align-icon-left { margin-right: 5px; order: 5; } .elementor-button span { text-decoration: inherit; } .elementor-element.elementor-button-info .elementor-button { background-color: #5bc0de; } .elementor-element.elementor-button-success .elementor-button { background-color: #5cb85c; } .elementor-element.elementor-button-warning .elementor-button { background-color: #f0ad4e; } .elementor-element.elementor-button-danger .elementor-button { background-color: #d9534f; } .elementor-widget-button .elementor-button .elementor-button-info { background-color: #5bc0de; } .elementor-widget-button .elementor-button .elementor-button-success { background-color: #5cb85c; } .elementor-widget-button .elementor-button .elementor-button-warning { background-color: #f0ad4e; } .elementor-widget-button .elementor-button .elementor-button-danger { background-color: #d9534f; } .elementor-tab-title a { color: inherit; } .elementor-view-stacked .elementor-icon { padding: 0.5em; background-color: #818a91; color: #fff; fill: #fff; } .elementor-view-framed .elementor-icon { padding: 0.5em; color: #818a91; border: 3px solid #818a91; background-color: transparent; } .elementor-icon { display: inline-block; line-height: 1; transition: all 0.3s; color: #818a91; font-size: 50px; text-align: center; } .elementor-icon:hover { color: #818a91; } .elementor-icon i, .elementor-icon svg { width: 1em; height: 1em; position: relative; display: block; } .elementor-icon i:before, .elementor-icon svg:before { position: absolute; left: 50%; transform: translateX(-50%); } .elementor-icon i.fad { width: initial; } .elementor-shape-circle .elementor-icon { border-radius: 50%; } .e-transform .elementor-widget-container { transform: perspective(var(--e-transform-perspective, 0)) rotateZ(var(--e-transform-rotateZ, 0)) rotateX(var(--e-transform-rotateX, 0)) rotateY(var(--e-transform-rotateY, 0)) translate(var(--e-transform-translate, 0)) translateX(var(--e-transform-translateX, 0)) translateY(var(--e-transform-translateY, 0)) scaleX(calc(var(--e-transform-flipX, 1) * var(--e-transform-scaleX, var(--e-transform-scale, 1)))) scaleY(calc(var(--e-transform-flipY, 1) * var(--e-transform-scaleY, var(--e-transform-scale, 1)))) skewX(var(--e-transform-skewX, 0)) skewY(var(--e-transform-skewY, 0)); transform-origin: var(--e-transform-origin-y) var(--e-transform-origin-x); transition: transform var(--e-transform-transition-duration, 400ms); } /** * Swiper 3.4.2 * Customized by Elementor team */ .swiper-container { margin-left: auto; margin-right: auto; position: relative; overflow: hidden; /* Fix of Webkit flickering */ z-index: 1; } .swiper-container .swiper-slide figure { line-height: 0; } .swiper-container .elementor-lightbox-content-source { display: none; } .swiper-container-no-flexbox .swiper-slide { float: left; } .swiper-container-vertical > .swiper-wrapper { flex-direction: column; } .swiper-wrapper { position: relative; width: 100%; height: 100%; z-index: 1; display: flex; transition-property: transform; box-sizing: content-box; } .swiper-container-android .swiper-slide, .swiper-wrapper { transform: translate3d(0px, 0, 0); } .swiper-container-multirow > .swiper-wrapper { flex-wrap: wrap; } .swiper-container-free-mode > .swiper-wrapper { transition-timing-function: ease-out; margin: 0 auto; } .swiper-slide { flex-shrink: 0; width: 100%; height: 100%; position: relative; } /* Auto Height */ .swiper-container-autoheight { height: auto; } .swiper-container-autoheight .swiper-slide { height: auto; } .swiper-container-autoheight .swiper-wrapper { align-items: flex-start; transition-property: transform, height; } /* a11y */ .swiper-container .swiper-notification { position: absolute; left: 0; top: 0; pointer-events: none; opacity: 0; z-index: -1000; } /* IE10 Windows Phone 8 Fixes */ .swiper-wp8-horizontal { touch-action: pan-y; } .swiper-wp8-vertical { touch-action: pan-x; } /* Arrows */ .swiper-button-prev, .swiper-button-next { position: absolute; top: 50%; width: 27px; height: 44px; margin-top: -22px; z-index: 10; cursor: pointer; background-size: 27px 44px; background: no-repeat center; } .swiper-button-prev.swiper-button-disabled, .swiper-button-next.swiper-button-disabled { opacity: 0.35; cursor: auto; pointer-events: none; } .swiper-button-prev, .swiper-container-rtl .swiper-button-next { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E"); left: 10px; right: auto; } .swiper-button-prev.swiper-button-black, .swiper-container-rtl .swiper-button-next.swiper-button-black { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); } .swiper-button-prev.swiper-button-white, .swiper-container-rtl .swiper-button-next.swiper-button-white { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); } .swiper-button-next, .swiper-container-rtl .swiper-button-prev { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E"); right: 10px; left: auto; } .swiper-button-next.swiper-button-black, .swiper-container-rtl .swiper-button-prev.swiper-button-black { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); } .swiper-button-next.swiper-button-white, .swiper-container-rtl .swiper-button-prev.swiper-button-white { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); } /* Pagination Styles */ .swiper-pagination { position: absolute; text-align: center; transition: 300ms; transform: translate3d(0, 0, 0); z-index: 10; } .swiper-pagination.swiper-pagination-hidden { opacity: 0; } /* Common Styles */ .swiper-pagination-fraction, .swiper-pagination-custom, .swiper-container-horizontal > .swiper-pagination-bullets { bottom: 5px; left: 0; width: 100%; } /* Bullets */ .swiper-pagination-bullet { width: 6px; height: 6px; display: inline-block; border-radius: 50%; background: #000; opacity: 0.2; } .swiper-pagination-fraction { color: #000; } button.swiper-pagination-bullet { border: none; margin: 0; padding: 0; box-shadow: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; } .swiper-pagination-clickable .swiper-pagination-bullet { cursor: pointer; } .swiper-pagination-white .swiper-pagination-bullet { background: #fff; } .swiper-pagination-bullet-active { opacity: 1; } .swiper-pagination-white .swiper-pagination-bullet-active { background: #fff; } .swiper-pagination-black .swiper-pagination-bullet-active { background: #000; } .swiper-container-vertical > .swiper-pagination-bullets { right: 10px; top: 50%; transform: translate3d(0px, -50%, 0); } .swiper-container-vertical > .swiper-pagination-bullets .swiper-pagination-bullet { margin: 5px 0; display: block; } .swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet { margin: 0 6px; } /* Progressbar */ .swiper-pagination-progressbar { background: rgba(0, 0, 0, 0.25); position: absolute; } .swiper-pagination-progressbar .swiper-pagination-progressbar-fill { background: #000; position: absolute; left: 0; top: 0; width: 100%; height: 100%; transform: scale(0); transform-origin: left top; } .swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill { transform-origin: right top; } .swiper-container-horizontal > .swiper-pagination-progressbar { width: 100%; height: 4px; left: 0; top: 0; } .swiper-container-vertical > .swiper-pagination-progressbar { width: 4px; height: 100%; left: 0; top: 0; } .swiper-pagination-progressbar.swiper-pagination-white { background: rgba(255, 255, 255, 0.5); } .swiper-pagination-progressbar.swiper-pagination-white .swiper-pagination-progressbar-fill { background: #fff; } .swiper-pagination-progressbar.swiper-pagination-black .swiper-pagination-progressbar-fill { background: #000; } /* 3D Container */ .swiper-container-3d { perspective: 1200px; } .swiper-container-3d .swiper-wrapper, .swiper-container-3d .swiper-slide, .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top, .swiper-container-3d .swiper-slide-shadow-bottom, .swiper-container-3d .swiper-cube-shadow { transform-style: preserve-3d; } .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top, .swiper-container-3d .swiper-slide-shadow-bottom { position: absolute; left: 0; top: 0; width: 100%; height: 100%; pointer-events: none; z-index: 10; } .swiper-container-3d .swiper-slide-shadow-left { background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); } .swiper-container-3d .swiper-slide-shadow-right { background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); } .swiper-container-3d .swiper-slide-shadow-top { background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); } .swiper-container-3d .swiper-slide-shadow-bottom { background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); } /* Coverflow */ .swiper-container-coverflow .swiper-wrapper, .swiper-container-flip .swiper-wrapper { /* Windows 8 IE 10 fix */ -ms-perspective: 1200px; } /* Cube + Flip */ .swiper-container-cube, .swiper-container-flip { overflow: visible; } .swiper-container-cube .swiper-slide, .swiper-container-flip .swiper-slide { pointer-events: none; z-index: 1; } .swiper-container-cube .swiper-slide .swiper-slide, .swiper-container-flip .swiper-slide .swiper-slide { pointer-events: none; } .swiper-container-cube .swiper-slide-active, .swiper-container-flip .swiper-slide-active, .swiper-container-cube .swiper-slide-active .swiper-slide-active, .swiper-container-flip .swiper-slide-active .swiper-slide-active { pointer-events: auto; } .swiper-container-cube .swiper-slide-shadow-top, .swiper-container-flip .swiper-slide-shadow-top, .swiper-container-cube .swiper-slide-shadow-bottom, .swiper-container-flip .swiper-slide-shadow-bottom, .swiper-container-cube .swiper-slide-shadow-left, .swiper-container-flip .swiper-slide-shadow-left, .swiper-container-cube .swiper-slide-shadow-right, .swiper-container-flip .swiper-slide-shadow-right { z-index: 0; backface-visibility: hidden; } /* Cube */ .swiper-container-cube .swiper-slide { visibility: hidden; transform-origin: 0 0; width: 100%; height: 100%; } .swiper-container-cube.swiper-container-rtl .swiper-slide { transform-origin: 100% 0; } .swiper-container-cube .swiper-slide-active, .swiper-container-cube .swiper-slide-next, .swiper-container-cube .swiper-slide-prev, .swiper-container-cube .swiper-slide-next + .swiper-slide { pointer-events: auto; visibility: visible; } .swiper-container-cube .swiper-cube-shadow { position: absolute; left: 0; bottom: 0; width: 100%; height: 100%; background: #000; opacity: 0.6; -webkit-filter: blur(50px); filter: blur(50px); z-index: 0; } /* Fade */ .swiper-container-fade.swiper-container-free-mode .swiper-slide { transition-timing-function: ease-out; } .swiper-container-fade .swiper-slide { pointer-events: none; transition-property: opacity; } .swiper-container-fade .swiper-slide .swiper-slide { pointer-events: none; } .swiper-container-fade .swiper-slide-active { pointer-events: auto; } .swiper-container-fade .swiper-slide-active .swiper-slide-active { pointer-events: auto; } .swiper-zoom-container { width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; text-align: center; } .swiper-zoom-container > img, .swiper-zoom-container > svg, .swiper-zoom-container > canvas { max-width: 100%; max-height: 100%; object-fit: contain; } /* Scrollbar */ .swiper-scrollbar { border-radius: 10px; position: relative; -ms-touch-action: none; background: rgba(0, 0, 0, 0.1); } .swiper-container-horizontal > .swiper-scrollbar { position: absolute; left: 1%; bottom: 3px; z-index: 50; height: 5px; width: 98%; } .swiper-container-vertical > .swiper-scrollbar { position: absolute; right: 3px; top: 1%; z-index: 50; width: 5px; height: 98%; } .swiper-scrollbar-drag { height: 100%; width: 100%; position: relative; background: rgba(0, 0, 0, 0.5); border-radius: 10px; left: 0; top: 0; } .swiper-scrollbar-cursor-drag { cursor: move; } .elementor-pagination-position-outside .swiper-container { padding-bottom: 30px; } .elementor-pagination-position-outside .elementor-swiper-button { top: calc(50% - 30px / 2); } .elementor-swiper { position: relative; } .elementor-main-swiper { position: static; } .elementor-arrows-position-outside .swiper-container { width: calc(100% - 60px); } .elementor-arrows-position-outside .elementor-swiper-button-prev { left: 0; } .elementor-arrows-position-outside .elementor-swiper-button-next { right: 0; } .swiper-image-stretch .swiper-slide .swiper-slide-image { width: 100%; } .elementor-swiper-button { position: absolute; display: inline-flex; z-index: 1; cursor: pointer; font-size: 25px; color: rgba(238, 238, 238, 0.9); top: 50%; transform: translateY(-50%); } .elementor-swiper-button svg { fill: rgba(238, 238, 238, 0.9); height: 1em; width: 1em; } .elementor-swiper-button-prev { left: 10px; } .elementor-swiper-button-next { right: 10px; } .elementor-swiper-button.swiper-button-disabled { opacity: 0.3; } .swiper-container-cube .elementor-swiper-button { transform: translate3d(0, -50%, 1px); } /* Preloader */ .swiper-lazy-preloader { width: 42px; height: 42px; position: absolute; left: 50%; top: 50%; margin-left: -21px; margin-top: -21px; z-index: 10; transform-origin: 50%; animation: swiper-preloader-spin 1s steps(12, end) infinite; } .swiper-lazy-preloader:after { display: block; content: ""; width: 100%; height: 100%; background-size: 100%; background: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat 50%; } .swiper-lazy-preloader-white:after { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); } @keyframes swiper-preloader-spin { 100% { transform: rotate(360deg); } } .elementor-lightbox { --lightbox-ui-color: rgba(238, 238, 238, 0.9); --lightbox-ui-color-hover: #fff; --lightbox-text-color: var(--lightbox-ui-color); --lightbox-header-icons-size: 20px; --lightbox-navigation-icons-size: 25px; } .elementor-lightbox .dialog-header { display: none; } .elementor-lightbox .dialog-widget-content { background: none; box-shadow: none; width: 100%; height: 100%; } .elementor-lightbox .dialog-message { animation-duration: 0.3s; } .elementor-lightbox .dialog-message:not(.elementor-fit-aspect-ratio) { height: 100%; } .elementor-lightbox .dialog-message.dialog-lightbox-message { padding: 0; } .elementor-lightbox .dialog-lightbox-close-button { cursor: pointer; position: absolute; font-size: var(--lightbox-header-icons-size); right: 0.75em; margin-top: 13px; padding: 0.25em; z-index: 2; line-height: 1; display: flex; } .elementor-lightbox .dialog-lightbox-close-button svg { height: 1em; width: 1em; } .elementor-lightbox .dialog-lightbox-close-button, .elementor-lightbox .elementor-swiper-button { color: var(--lightbox-ui-color); transition: all 0.3s; opacity: 1; } .elementor-lightbox .dialog-lightbox-close-button svg, .elementor-lightbox .elementor-swiper-button svg { fill: var(--lightbox-ui-color); } .elementor-lightbox .dialog-lightbox-close-button:hover, .elementor-lightbox .elementor-swiper-button:hover { color: var(--lightbox-ui-color-hover); } .elementor-lightbox .dialog-lightbox-close-button:hover svg, .elementor-lightbox .elementor-swiper-button:hover svg { fill: var(--lightbox-ui-color-hover); } .elementor-lightbox .swiper-container { height: 100%; } .elementor-lightbox .elementor-lightbox-item { display: flex; align-items: center; justify-content: center; position: relative; padding: 70px; box-sizing: border-box; height: 100%; margin: auto; } @media (max-width: ELEMENTOR_SCREEN_MOBILE_MAX) { .elementor-lightbox .elementor-lightbox-item { padding: 70px 0; } } .elementor-lightbox .elementor-lightbox-image { max-height: 100%; user-select: none; } .elementor-lightbox .elementor-lightbox-image, .elementor-lightbox .elementor-lightbox-image:hover { opacity: 1; filter: none; border: none; } .elementor-lightbox .elementor-lightbox-image, .elementor-lightbox .elementor-video-container { box-shadow: 0 0 30px rgba(0, 0, 0, 0.3), 0 0 8px -5px rgba(0, 0, 0, 0.3); border-radius: 2px; } .elementor-lightbox .elementor-video-container { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } @media (min-width: ELEMENTOR_SCREEN_TABLET_NEXT) { .elementor-lightbox .elementor-video-container { width: 75%; } } @media (max-width: ELEMENTOR_SCREEN_TABLET_MAX) { .elementor-lightbox .elementor-video-container { width: 100%; } } @media (min-width: 768px) and (max-width: 1024px) { .elementor-lightbox .elementor-aspect-ratio-916 .elementor-video-container { width: 70%; } } .elementor-lightbox .elementor-swiper-button:focus { outline-width: 1px; } .elementor-lightbox .elementor-swiper-button-prev, .elementor-lightbox .elementor-swiper-button-next { height: 100%; display: flex; align-items: center; width: 15%; justify-content: center; font-size: var(--lightbox-navigation-icons-size); } .elementor-lightbox .elementor-swiper-button-prev { left: 0; } .elementor-lightbox .elementor-swiper-button-next { right: 0; } @media (max-width: ELEMENTOR_SCREEN_MOBILE_MAX) { .elementor-lightbox .elementor-swiper-button:focus { outline: none; } .elementor-lightbox .elementor-swiper-button-prev, .elementor-lightbox .elementor-swiper-button-next { width: 20%; } .elementor-lightbox .elementor-swiper-button-prev i, .elementor-lightbox .elementor-swiper-button-next i { padding: 10px; background-color: rgba(0, 0, 0, 0.5); } .elementor-lightbox .elementor-swiper-button-prev { left: 0; justify-content: flex-start; } .elementor-lightbox .elementor-swiper-button-next { right: 0; justify-content: flex-end; } } .elementor-slideshow__counter { color: currentColor; font-size: 0.75em; width: max-content; } .elementor-slideshow__header, .elementor-slideshow__footer { position: absolute; left: 0; width: 100%; padding: 15px 20px; transition: 0.3s; } .elementor-slideshow__footer { color: var(--lightbox-text-color); } .elementor-slideshow__header { color: var(--lightbox-ui-color); display: flex; flex-direction: row-reverse; font-size: var(--lightbox-header-icons-size); padding-left: 1em; padding-right: 2.6em; top: 0; align-items: center; z-index: 10; } .elementor-slideshow__header > i, .elementor-slideshow__header > svg { cursor: pointer; padding: 0.25em; margin: 0 0.35em; } .elementor-slideshow__header > i { font-size: inherit; } .elementor-slideshow__header > i:hover { color: var(--lightbox-ui-color-hover); } .elementor-slideshow__header > svg { box-sizing: content-box; fill: var(--lightbox-ui-color); height: 1em; width: 1em; } .elementor-slideshow__header > svg:hover { fill: var(--lightbox-ui-color-hover); } .elementor-slideshow__header .elementor-slideshow__counter { margin-right: auto; } .elementor-slideshow__header .elementor-icon-share { z-index: 5; } .elementor-slideshow__share-menu { background-color: rgba(0, 0, 0, 0); width: 0; height: 0; position: absolute; overflow: hidden; transition: background-color 400ms; } .elementor-slideshow__share-menu .elementor-slideshow__share-links a { color: #2C2C2C; } .elementor-slideshow__share-links { display: block; position: absolute; min-width: 200px; right: 2.8em; top: 3em; background-color: #fff; border-radius: 3px; padding: 14px 20px; transform: scale(0); opacity: 0; transform-origin: 90% 10%; transition: all 250ms 100ms; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3); } .elementor-slideshow__share-links a { text-align: left; color: #55595c; font-size: 12px; line-height: 2.5; display: block; opacity: 0; transition: opacity 500ms 100ms; } .elementor-slideshow__share-links a:hover { color: #000; } .elementor-slideshow__share-links a i, .elementor-slideshow__share-links a svg { margin-right: 0.75em; } .elementor-slideshow__share-links a i { font-size: 1.25em; } .elementor-slideshow__share-links a svg { height: 1.25em; width: 1.25em; } .elementor-slideshow__share-links:before { content: ""; display: block; position: absolute; top: 1px; right: 0.5em; border: 0.45em solid; border-color: transparent transparent #fff transparent; transform: translateY(-100%) scaleX(0.7); } .elementor-slideshow__footer { bottom: 0; z-index: 5; position: fixed; } .elementor-slideshow__title, .elementor-slideshow__description { margin: 0; } .elementor-slideshow__title { font-size: 16px; font-weight: bold; } .elementor-slideshow__description { font-size: 14px; } .elementor-slideshow--ui-hidden .elementor-slideshow__header, .elementor-slideshow--ui-hidden .elementor-slideshow__footer { opacity: 0; pointer-events: none; } .elementor-slideshow--ui-hidden .elementor-swiper-button-prev, .elementor-slideshow--ui-hidden .elementor-swiper-button-next { opacity: 0; } .elementor-slideshow--fullscreen-mode .elementor-video-container { width: 100%; } .elementor-slideshow--zoom-mode .elementor-slideshow__header, .elementor-slideshow--zoom-mode .elementor-slideshow__footer { background-color: rgba(0, 0, 0, 0.5); } .elementor-slideshow--zoom-mode .elementor-swiper-button-prev, .elementor-slideshow--zoom-mode .elementor-swiper-button-next { opacity: 0; pointer-events: none; } .elementor-slideshow--share-mode .elementor-slideshow__share-menu { top: 0; left: 0; width: 100vw; height: 100vh; opacity: 1; cursor: default; background-color: rgba(0, 0, 0, 0.5); } .elementor-slideshow--share-mode .elementor-slideshow__share-links { transform: scale(1); } .elementor-slideshow--share-mode .elementor-slideshow__share-links, .elementor-slideshow--share-mode .elementor-slideshow__share-links a { opacity: 1; } .elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-twitter { color: #1DA1F2; } .elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-facebook { color: #3b5998; } .elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-pinterest { color: #bd081c; } .elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-download-bold { color: #a4afb7; } .elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-twitter { fill: #1DA1F2; } .elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-facebook { fill: #3b5998; } .elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-pinterest { fill: #bd081c; } .elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-download-bold { fill: #a4afb7; } .elementor-slideshow--share-mode .eicon-share-arrow { z-index: 2; } .animated { animation-duration: 1.25s; } .animated.animated-slow { animation-duration: 2s; } .animated.animated-fast { animation-duration: 0.75s; } .animated.infinite { animation-iteration-count: infinite; } .animated.reverse { animation-direction: reverse; animation-fill-mode: forwards; } @media (prefers-reduced-motion: reduce) { .animated { animation: none; } } .elementor-shape { overflow: hidden; position: absolute; left: 0; width: 100%; line-height: 0; direction: ltr; /* * @TODO: The `z-index: -1` rules below are temporary fixes for Chrome 85 issue. * It will be removed in a future version of Chrome. */ } .elementor-shape-top { top: -1px; } .elementor-shape-top:not([data-negative=false]) svg { z-index: -1; } .elementor-shape-bottom { bottom: -1px; } .elementor-shape-bottom:not([data-negative=true]) svg { z-index: -1; } .elementor-shape[data-negative=false].elementor-shape-bottom { transform: rotate(180deg); } .elementor-shape[data-negative=true].elementor-shape-top { transform: rotate(180deg); } .elementor-shape svg { display: block; width: calc(100% + 1.3px); position: relative; left: 50%; transform: translateX(-50%); } .elementor-shape .elementor-shape-fill { fill: #fff; transform-origin: center; transform: rotateY(0deg); } #wp-admin-bar-elementor_edit_page > .ab-item::before { content: "\e813"; font-family: eicons; top: 3px; font-size: 18px; } #wp-admin-bar-elementor_edit_page .ab-submenu .ab-item { display: flex; width: 200px; } #wp-admin-bar-elementor_edit_page .elementor-edit-link-title { white-space: nowrap; text-overflow: ellipsis; overflow: hidden; width: 100%; } #wp-admin-bar-elementor_edit_page .elementor-edit-link-type { background: #55595c; font-size: 11px; line-height: 9px; margin-top: 6px; padding: 4px 8px; border-radius: 3px; } #wp-admin-bar-elementor_inspector > .ab-item::before { content: "\f348"; top: 2px; } #wpadminbar * { font-style: normal; } .page-template-elementor_canvas.elementor-page:before { display: none; } .elementor-post__thumbnail__link { transition: none; } #left-area ul.elementor-icon-list-items, .elementor .elementor-element ul.elementor-icon-list-items, .elementor-edit-area .elementor-element ul.elementor-icon-list-items { padding: 0; } .e--ua-appleWebkit.rtl { --flex-right: flex-start; } .e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-right, .e--ua-appleWebkit .elementor-share-buttons--align-right { --justify-content: var(--flex-right, flex-end); } .e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-center, .e--ua-appleWebkit .elementor-share-buttons--align-center { --justify-content: center; } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-right .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-center .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-right .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-center .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-justify .elementor-grid { width: auto; display: flex; flex-wrap: wrap; justify-content: var(--justify-content, space-between); margin-left: calc(-0.5 * var(--grid-column-gap)); margin-right: calc(-0.5 * var(--grid-column-gap)); } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-right .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-center .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-right .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-center .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-justify .elementor-grid-item { margin-left: calc(0.5 * var(--grid-column-gap)); margin-right: calc(0.5 * var(--grid-column-gap)); } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-left .elementor-grid { display: inline-block; } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-left .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-left .elementor-grid-item { margin-left: 0; margin-right: 0; } @media (max-width: ELEMENTOR_SCREEN_TABLET_MAX) { .e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-tablet-right, .e--ua-appleWebkit .elementor-share-buttons-tablet--align-right { --justify-content: var(--flex-right, flex-end); } .e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-tablet-center, .e--ua-appleWebkit .elementor-share-buttons-tablet--align-center { --justify-content: center; } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-right .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-center .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-right .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-center .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-justify .elementor-grid { width: auto; display: flex; flex-wrap: wrap; justify-content: var(--justify-content, space-between); margin-left: calc(-0.5 * var(--grid-column-gap)); margin-right: calc(-0.5 * var(--grid-column-gap)); } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-right .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-center .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-right .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-center .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-justify .elementor-grid-item { margin-left: calc(0.5 * var(--grid-column-gap)); margin-right: calc(0.5 * var(--grid-column-gap)); } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-tablet--align-left .elementor-grid { display: inline-block; } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-left .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-tablet--align-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-tablet--align-left .elementor-grid-item { margin-left: 0; margin-right: 0; } } @media (max-width: ELEMENTOR_SCREEN_MOBILE_MAX) { .e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-mobile-right, .e--ua-appleWebkit .elementor-share-buttons-mobile--align-right { --justify-content: var(--flex-right, flex-end); } .e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-mobile-center, .e--ua-appleWebkit .elementor-share-buttons-mobile--align-center { --justify-content: center; } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-right .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-center .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-right .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-center .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-justify .elementor-grid { width: auto; display: flex; flex-wrap: wrap; justify-content: var(--justify-content, space-between); margin-left: calc(-0.5 * var(--grid-column-gap)); margin-right: calc(-0.5 * var(--grid-column-gap)); } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-right .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-center .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-right .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-center .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-justify .elementor-grid-item { margin-left: calc(0.5 * var(--grid-column-gap)); margin-right: calc(0.5 * var(--grid-column-gap)); } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-mobile--align-left .elementor-grid { display: inline-block; } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-left .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-mobile--align-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-mobile--align-left .elementor-grid-item { margin-left: 0; margin-right: 0; } } @media (max-width: ELEMENTOR_SCREEN_MOBILE_MAX) { .elementor .elementor-hidden-mobile { display: none; } .elementor .elementor-hidden-phone { display: none; } } @media (min-width: ELEMENTOR_SCREEN_MOBILE_EXTRA_MIN) and (max-width: ELEMENTOR_SCREEN_MOBILE_EXTRA_MAX) { .elementor .elementor-hidden-mobile_extra { display: none; } } @media (min-width: ELEMENTOR_SCREEN_TABLET_MIN) and (max-width: ELEMENTOR_SCREEN_TABLET_MAX) { .elementor .elementor-hidden-tablet { display: none; } } @media (min-width: ELEMENTOR_SCREEN_TABLET_EXTRA_MIN) and (max-width: ELEMENTOR_SCREEN_TABLET_EXTRA_MAX) { .elementor .elementor-hidden-tablet_extra { display: none; } } @media (min-width: ELEMENTOR_SCREEN_LAPTOP_MIN) and (max-width: ELEMENTOR_SCREEN_LAPTOP_MAX) { .elementor .elementor-hidden-laptop { display: none; } } @media (min-width: ELEMENTOR_SCREEN_DESKTOP_MIN) and (max-width: ELEMENTOR_SCREEN_DESKTOP_MAX) { .elementor .elementor-hidden-desktop { display: none; } } @media (min-width: ELEMENTOR_SCREEN_WIDESCREEN_MIN) { .elementor .elementor-hidden-widescreen { display: none; } } .elementor-widget-text-path { font-size: 20px; text-align: var(--alignment, left); } .elementor-widget-text-path svg { width: var(--width); max-width: 100%; height: auto; overflow: visible; word-spacing: var(--word-spacing); transform: rotate(var(--rotate, 0)) scaleX(var(--scale-x, 1)) scaleY(var(--scale-y, 1)); } .elementor-widget-text-path svg path { vector-effect: non-scaling-stroke; /* Prevent stroke size scaling when resizing the SVG. */ fill: var(--path-fill, transparent); stroke: var(--stroke-color, transparent); stroke-width: var(--stroke-width, 1px); transition: var(--stroke-transition) stroke, var(--stroke-transition) fill; } .elementor-widget-text-path svg:hover path { --path-fill: var( --path-fill-hover ); --stroke-color: var( --stroke-color-hover ); --stroke-width: var( --stroke-width-hover ); } .elementor-widget-text-path svg text { --fill: var( --text-color ); fill: var(--fill); direction: var(--direction, ltr); transition: var(--transition) stroke, var(--transition) stroke-width, var(--transition) fill; } .elementor-widget-text-path svg text:hover { --color: var( --text-color-hover, var( --text-color ) ); --fill: var( --color ); color: var(--color); } .elementor-accordion { text-align: left; } .elementor-accordion .elementor-accordion-item { border: 1px solid #D4D4D4; } .elementor-accordion .elementor-accordion-item + .elementor-accordion-item { border-top: none; } .elementor-accordion .elementor-tab-title { margin: 0; padding: 15px 20px; font-weight: bold; line-height: 1; cursor: pointer; outline: none; } .elementor-accordion .elementor-tab-title .elementor-accordion-icon { display: inline-block; width: 1.5em; } .elementor-accordion .elementor-tab-title .elementor-accordion-icon svg { width: 1em; height: 1em; } .elementor-accordion .elementor-tab-title .elementor-accordion-icon.elementor-accordion-icon-right { float: right; text-align: right; } .elementor-accordion .elementor-tab-title .elementor-accordion-icon.elementor-accordion-icon-left { float: left; text-align: left; } .elementor-accordion .elementor-tab-title .elementor-accordion-icon .elementor-accordion-icon-closed { display: block; } .elementor-accordion .elementor-tab-title .elementor-accordion-icon .elementor-accordion-icon-opened { display: none; } .elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon-closed { display: none; } .elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon-opened { display: block; } .elementor-accordion .elementor-tab-content { display: none; padding: 15px 20px; border-top: 1px solid #D4D4D4; } @media (max-width: ELEMENTOR_SCREEN_MOBILE_MAX) { .elementor-accordion .elementor-tab-title { padding: 12px 15px; } .elementor-accordion .elementor-tab-title .elementor-accordion-icon { width: 1.2em; } .elementor-accordion .elementor-tab-content { padding: 7px 15px; } } .elementor-alert { padding: 15px; border-left: 5px solid transparent; position: relative; text-align: left; } .elementor-alert .elementor-alert-title { display: block; font-weight: bold; } .elementor-alert .elementor-alert-description { font-size: 13px; } .elementor-alert button.elementor-alert-dismiss { position: absolute; right: 10px; top: 10px; padding: 3px; font-size: 20px; line-height: 1; background: transparent; color: inherit; border: none; cursor: pointer; } .elementor-alert.elementor-alert-info { color: #31708f; background-color: #d9edf7; border-color: #bcdff1; } .elementor-alert.elementor-alert-success { color: #3c763d; background-color: #dff0d8; border-color: #cae6be; } .elementor-alert.elementor-alert-warning { color: #8a6d3b; background-color: #fcf8e3; border-color: #f9f0c3; } .elementor-alert.elementor-alert-danger { color: #a94442; background-color: #f2dede; border-color: #e8c4c4; } @media (max-width: ELEMENTOR_SCREEN_MOBILE_MAX) { .elementor-alert { padding: 10px; } .elementor-alert button.elementor-alert-dismiss { right: 7px; top: 7px; } } .elementor-counter .elementor-counter-number-wrapper { display: flex; font-size: 69px; font-weight: 600; line-height: 1; } .elementor-counter .elementor-counter-number-prefix, .elementor-counter .elementor-counter-number-suffix { flex-grow: 1; white-space: pre-wrap; } .elementor-counter .elementor-counter-number-prefix { text-align: right; } .elementor-counter .elementor-counter-number-suffix { text-align: left; } .elementor-counter .elementor-counter-title { text-align: center; font-size: 19px; font-weight: 400; line-height: 2.5; } .elementor-widget-divider { --divider-border-style: none; --divider-border-width: 1px; --divider-color: #2C2C2C; --divider-icon-size: 20px; --divider-element-spacing: 10px; --divider-pattern-height: 24px; --divider-pattern-size: 20px; --divider-pattern-url: none; --divider-pattern-repeat: repeat-x; } .elementor-widget-divider .elementor-divider { display: flex; } .elementor-widget-divider .elementor-divider__text { font-size: 15px; line-height: 1; max-width: 95%; } .elementor-widget-divider .elementor-divider__element { margin: 0 var(--divider-element-spacing); flex-shrink: 0; } .elementor-widget-divider .elementor-icon { font-size: var(--divider-icon-size); } .elementor-widget-divider .elementor-divider-separator { display: flex; margin: 0; direction: ltr; } .elementor-widget-divider--view-line_text .elementor-divider-separator, .elementor-widget-divider--view-line_icon .elementor-divider-separator { align-items: center; } .elementor-widget-divider--view-line_text .elementor-divider-separator:before, .elementor-widget-divider--view-line_text .elementor-divider-separator:after, .elementor-widget-divider--view-line_icon .elementor-divider-separator:before, .elementor-widget-divider--view-line_icon .elementor-divider-separator:after { display: block; content: ""; border-bottom: 0; flex-grow: 1; border-top: var(--divider-border-width) var(--divider-border-style) var(--divider-color); } .elementor-widget-divider--element-align-left .elementor-divider .elementor-divider-separator > .elementor-divider__svg:first-of-type { flex-grow: 0; flex-shrink: 100; } .elementor-widget-divider--element-align-left .elementor-divider-separator:before { content: none; } .elementor-widget-divider--element-align-left .elementor-divider__element { margin-left: 0; } .elementor-widget-divider--element-align-right .elementor-divider .elementor-divider-separator > .elementor-divider__svg:last-of-type { flex-grow: 0; flex-shrink: 100; } .elementor-widget-divider--element-align-right .elementor-divider-separator:after { content: none; } .elementor-widget-divider--element-align-right .elementor-divider__element { margin-right: 0; } .elementor-widget-divider:not(.elementor-widget-divider--view-line_text):not(.elementor-widget-divider--view-line_icon) .elementor-divider-separator { border-top: var(--divider-border-width) var(--divider-border-style) var(--divider-color); } .elementor-widget-divider--separator-type-pattern { --divider-border-style: none; } .elementor-widget-divider--separator-type-pattern.elementor-widget-divider--view-line .elementor-divider-separator, .elementor-widget-divider--separator-type-pattern:not([class*=elementor-widget-divider--view]) .elementor-divider-separator, .elementor-widget-divider--separator-type-pattern:not(.elementor-widget-divider--view-line) .elementor-divider-separator:before, .elementor-widget-divider--separator-type-pattern:not(.elementor-widget-divider--view-line) .elementor-divider-separator:after { width: 100%; min-height: var(--divider-pattern-height); -webkit-mask-size: var(--divider-pattern-size) 100%; mask-size: var(--divider-pattern-size) 100%; -webkit-mask-repeat: var(--divider-pattern-repeat); mask-repeat: var(--divider-pattern-repeat); background-color: var(--divider-color); -webkit-mask-image: var(--divider-pattern-url); mask-image: var(--divider-pattern-url); } .elementor-widget-divider--no-spacing { --divider-pattern-size: auto; } .elementor-widget-divider--bg-round { --divider-pattern-repeat: round; } .rtl .elementor-widget-divider .elementor-divider__text { direction: rtl; } .elementor-image-gallery .gallery-item { display: inline-block; text-align: center; vertical-align: top; width: 100%; max-width: 100%; margin: 0 auto; } .elementor-image-gallery .gallery-item img { margin: 0 auto; } .elementor-image-gallery .gallery-item .gallery-caption { margin: 0; } .elementor-image-gallery figure img { display: block; } .elementor-image-gallery figure figcaption { width: 100%; } .gallery-spacing-custom .elementor-image-gallery .gallery-icon { padding: 0; } @media (min-width: ELEMENTOR_SCREEN_MOBILE_NEXT) { .elementor-image-gallery .gallery-columns-2 .gallery-item { max-width: 50%; } .elementor-image-gallery .gallery-columns-3 .gallery-item { max-width: 33.33%; } .elementor-image-gallery .gallery-columns-4 .gallery-item { max-width: 25%; } .elementor-image-gallery .gallery-columns-5 .gallery-item { max-width: 20%; } .elementor-image-gallery .gallery-columns-6 .gallery-item { max-width: 16.666%; } .elementor-image-gallery .gallery-columns-7 .gallery-item { max-width: 14.28%; } .elementor-image-gallery .gallery-columns-8 .gallery-item { max-width: 12.5%; } .elementor-image-gallery .gallery-columns-9 .gallery-item { max-width: 11.11%; } .elementor-image-gallery .gallery-columns-10 .gallery-item { max-width: 10%; } } @media (min-width: 480px) and (max-width: ELEMENTOR_SCREEN_MOBILE_MAX) { .elementor-image-gallery .gallery.gallery-columns-2 .gallery-item, .elementor-image-gallery .gallery.gallery-columns-3 .gallery-item, .elementor-image-gallery .gallery.gallery-columns-4 .gallery-item, .elementor-image-gallery .gallery.gallery-columns-5 .gallery-item, .elementor-image-gallery .gallery.gallery-columns-6 .gallery-item, .elementor-image-gallery .gallery.gallery-columns-7 .gallery-item, .elementor-image-gallery .gallery.gallery-columns-8 .gallery-item, .elementor-image-gallery .gallery.gallery-columns-9 .gallery-item, .elementor-image-gallery .gallery.gallery-columns-10 .gallery-item { max-width: 50%; } } @media (max-width: 479px) { .elementor-image-gallery .gallery.gallery-columns-2 .gallery-item, .elementor-image-gallery .gallery.gallery-columns-3 .gallery-item, .elementor-image-gallery .gallery.gallery-columns-4 .gallery-item, .elementor-image-gallery .gallery.gallery-columns-5 .gallery-item, .elementor-image-gallery .gallery.gallery-columns-6 .gallery-item, .elementor-image-gallery .gallery.gallery-columns-7 .gallery-item, .elementor-image-gallery .gallery.gallery-columns-8 .gallery-item, .elementor-image-gallery .gallery.gallery-columns-9 .gallery-item, .elementor-image-gallery .gallery.gallery-columns-10 .gallery-item { max-width: 100%; } } .elementor-widget-google_maps .elementor-widget-container { overflow: hidden; } .elementor-widget-google_maps iframe { height: 300px; } .elementor-heading-title { padding: 0; margin: 0; line-height: 1; } .elementor-widget-heading .elementor-heading-title[class*=elementor-size-] > a { color: inherit; font-size: inherit; line-height: inherit; } .elementor-widget-heading .elementor-heading-title.elementor-size-small { font-size: 15px; } .elementor-widget-heading .elementor-heading-title.elementor-size-medium { font-size: 19px; } .elementor-widget-heading .elementor-heading-title.elementor-size-large { font-size: 29px; } .elementor-widget-heading .elementor-heading-title.elementor-size-xl { font-size: 39px; } .elementor-widget-heading .elementor-heading-title.elementor-size-xxl { font-size: 59px; } .elementor-widget-icon-box .elementor-icon-box-wrapper { display: block; text-align: center; } .elementor-widget-icon-box .elementor-icon-box-icon { margin-bottom: var(--icon-box-icon-margin, 15px); margin-right: auto; margin-left: auto; } @media (min-width: ELEMENTOR_SCREEN_MOBILE_NEXT) { .elementor-widget-icon-box.elementor-vertical-align-top .elementor-icon-box-wrapper { align-items: flex-start; } .elementor-widget-icon-box.elementor-vertical-align-middle .elementor-icon-box-wrapper { align-items: center; } .elementor-widget-icon-box.elementor-vertical-align-bottom .elementor-icon-box-wrapper { align-items: flex-end; } } .elementor-widget-icon-box.elementor-position-left .elementor-icon-box-wrapper, .elementor-widget-icon-box.elementor-position-right .elementor-icon-box-wrapper { display: flex; } .elementor-widget-icon-box.elementor-position-left .elementor-icon-box-icon, .elementor-widget-icon-box.elementor-position-right .elementor-icon-box-icon { display: inline-flex; flex: 0 0 auto; } .elementor-widget-icon-box.elementor-position-right .elementor-icon-box-wrapper { text-align: right; flex-direction: row-reverse; } .elementor-widget-icon-box.elementor-position-right .elementor-icon-box-icon { margin-left: var(--icon-box-icon-margin, 15px); margin-right: 0; margin-bottom: unset; } .elementor-widget-icon-box.elementor-position-left .elementor-icon-box-wrapper { text-align: left; flex-direction: row; } .elementor-widget-icon-box.elementor-position-left .elementor-icon-box-icon { margin-right: var(--icon-box-icon-margin, 15px); margin-left: 0; margin-bottom: unset; } .elementor-widget-icon-box.elementor-position-top .elementor-icon-box-wrapper { display: block; text-align: center; flex-direction: unset; } .elementor-widget-icon-box.elementor-position-top .elementor-icon-box-icon { margin-bottom: var(--icon-box-icon-margin, 15px); margin-right: auto; margin-left: auto; } @media (min-width: ELEMENTOR_SCREEN_WIDESCREEN_MIN) { .elementor-widget-icon-box.elementor-widescreen-position-left .elementor-icon-box-wrapper, .elementor-widget-icon-box.elementor-widescreen-position-right .elementor-icon-box-wrapper { display: flex; } .elementor-widget-icon-box.elementor-widescreen-position-left .elementor-icon-box-icon, .elementor-widget-icon-box.elementor-widescreen-position-right .elementor-icon-box-icon { display: inline-flex; flex: 0 0 auto; } .elementor-widget-icon-box.elementor-widescreen-position-right .elementor-icon-box-wrapper { text-align: right; flex-direction: row-reverse; } .elementor-widget-icon-box.elementor-widescreen-position-right .elementor-icon-box-icon { margin-left: var(--icon-box-icon-margin, 15px); margin-right: 0; margin-bottom: unset; } .elementor-widget-icon-box.elementor-widescreen-position-left .elementor-icon-box-wrapper { text-align: left; flex-direction: row; } .elementor-widget-icon-box.elementor-widescreen-position-left .elementor-icon-box-icon { margin-right: var(--icon-box-icon-margin, 15px); margin-left: 0; margin-bottom: unset; } .elementor-widget-icon-box.elementor-widescreen-position-top .elementor-icon-box-wrapper { display: block; text-align: center; flex-direction: unset; } .elementor-widget-icon-box.elementor-widescreen-position-top .elementor-icon-box-icon { margin-bottom: var(--icon-box-icon-margin, 15px); margin-right: auto; margin-left: auto; } } @media (max-width: ELEMENTOR_SCREEN_LAPTOP_MAX) { .elementor-widget-icon-box.elementor-laptop-position-left .elementor-icon-box-wrapper, .elementor-widget-icon-box.elementor-laptop-position-right .elementor-icon-box-wrapper { display: flex; } .elementor-widget-icon-box.elementor-laptop-position-left .elementor-icon-box-icon, .elementor-widget-icon-box.elementor-laptop-position-right .elementor-icon-box-icon { display: inline-flex; flex: 0 0 auto; } .elementor-widget-icon-box.elementor-laptop-position-right .elementor-icon-box-wrapper { text-align: right; flex-direction: row-reverse; } .elementor-widget-icon-box.elementor-laptop-position-right .elementor-icon-box-icon { margin-left: var(--icon-box-icon-margin, 15px); margin-right: 0; margin-bottom: unset; } .elementor-widget-icon-box.elementor-laptop-position-left .elementor-icon-box-wrapper { text-align: left; flex-direction: row; } .elementor-widget-icon-box.elementor-laptop-position-left .elementor-icon-box-icon { margin-right: var(--icon-box-icon-margin, 15px); margin-left: 0; margin-bottom: unset; } .elementor-widget-icon-box.elementor-laptop-position-top .elementor-icon-box-wrapper { display: block; text-align: center; flex-direction: unset; } .elementor-widget-icon-box.elementor-laptop-position-top .elementor-icon-box-icon { margin-bottom: var(--icon-box-icon-margin, 15px); margin-right: auto; margin-left: auto; } } @media (max-width: ELEMENTOR_SCREEN_TABLET_EXTRA_MAX) { .elementor-widget-icon-box.elementor-tablet_extra-position-left .elementor-icon-box-wrapper, .elementor-widget-icon-box.elementor-tablet_extra-position-right .elementor-icon-box-wrapper { display: flex; } .elementor-widget-icon-box.elementor-tablet_extra-position-left .elementor-icon-box-icon, .elementor-widget-icon-box.elementor-tablet_extra-position-right .elementor-icon-box-icon { display: inline-flex; flex: 0 0 auto; } .elementor-widget-icon-box.elementor-tablet_extra-position-right .elementor-icon-box-wrapper { text-align: right; flex-direction: row-reverse; } .elementor-widget-icon-box.elementor-tablet_extra-position-right .elementor-icon-box-icon { margin-left: var(--icon-box-icon-margin, 15px); margin-right: 0; margin-bottom: unset; } .elementor-widget-icon-box.elementor-tablet_extra-position-left .elementor-icon-box-wrapper { text-align: left; flex-direction: row; } .elementor-widget-icon-box.elementor-tablet_extra-position-left .elementor-icon-box-icon { margin-right: var(--icon-box-icon-margin, 15px); margin-left: 0; margin-bottom: unset; } .elementor-widget-icon-box.elementor-tablet_extra-position-top .elementor-icon-box-wrapper { display: block; text-align: center; flex-direction: unset; } .elementor-widget-icon-box.elementor-tablet_extra-position-top .elementor-icon-box-icon { margin-bottom: var(--icon-box-icon-margin, 15px); margin-right: auto; margin-left: auto; } } @media (max-width: ELEMENTOR_SCREEN_TABLET_MAX) { .elementor-widget-icon-box.elementor-tablet-position-left .elementor-icon-box-wrapper, .elementor-widget-icon-box.elementor-tablet-position-right .elementor-icon-box-wrapper { display: flex; } .elementor-widget-icon-box.elementor-tablet-position-left .elementor-icon-box-icon, .elementor-widget-icon-box.elementor-tablet-position-right .elementor-icon-box-icon { display: inline-flex; flex: 0 0 auto; } .elementor-widget-icon-box.elementor-tablet-position-right .elementor-icon-box-wrapper { text-align: right; flex-direction: row-reverse; } .elementor-widget-icon-box.elementor-tablet-position-right .elementor-icon-box-icon { margin-left: var(--icon-box-icon-margin, 15px); margin-right: 0; margin-bottom: unset; } .elementor-widget-icon-box.elementor-tablet-position-left .elementor-icon-box-wrapper { text-align: left; flex-direction: row; } .elementor-widget-icon-box.elementor-tablet-position-left .elementor-icon-box-icon { margin-right: var(--icon-box-icon-margin, 15px); margin-left: 0; margin-bottom: unset; } .elementor-widget-icon-box.elementor-tablet-position-top .elementor-icon-box-wrapper { display: block; text-align: center; flex-direction: unset; } .elementor-widget-icon-box.elementor-tablet-position-top .elementor-icon-box-icon { margin-bottom: var(--icon-box-icon-margin, 15px); margin-right: auto; margin-left: auto; } } @media (max-width: ELEMENTOR_SCREEN_MOBILE_EXTRA_MAX) { .elementor-widget-icon-box.elementor-mobile_extra-position-left .elementor-icon-box-wrapper, .elementor-widget-icon-box.elementor-mobile_extra-position-right .elementor-icon-box-wrapper { display: flex; } .elementor-widget-icon-box.elementor-mobile_extra-position-left .elementor-icon-box-icon, .elementor-widget-icon-box.elementor-mobile_extra-position-right .elementor-icon-box-icon { display: inline-flex; flex: 0 0 auto; } .elementor-widget-icon-box.elementor-mobile_extra-position-right .elementor-icon-box-wrapper { text-align: right; flex-direction: row-reverse; } .elementor-widget-icon-box.elementor-mobile_extra-position-right .elementor-icon-box-icon { margin-left: var(--icon-box-icon-margin, 15px); margin-right: 0; margin-bottom: unset; } .elementor-widget-icon-box.elementor-mobile_extra-position-left .elementor-icon-box-wrapper { text-align: left; flex-direction: row; } .elementor-widget-icon-box.elementor-mobile_extra-position-left .elementor-icon-box-icon { margin-right: var(--icon-box-icon-margin, 15px); margin-left: 0; margin-bottom: unset; } .elementor-widget-icon-box.elementor-mobile_extra-position-top .elementor-icon-box-wrapper { display: block; text-align: center; flex-direction: unset; } .elementor-widget-icon-box.elementor-mobile_extra-position-top .elementor-icon-box-icon { margin-bottom: var(--icon-box-icon-margin, 15px); margin-right: auto; margin-left: auto; } } @media (max-width: ELEMENTOR_SCREEN_MOBILE_MAX) { .elementor-widget-icon-box.elementor-mobile-position-left .elementor-icon-box-wrapper, .elementor-widget-icon-box.elementor-mobile-position-right .elementor-icon-box-wrapper { display: flex; } .elementor-widget-icon-box.elementor-mobile-position-left .elementor-icon-box-icon, .elementor-widget-icon-box.elementor-mobile-position-right .elementor-icon-box-icon { display: inline-flex; flex: 0 0 auto; } .elementor-widget-icon-box.elementor-mobile-position-right .elementor-icon-box-wrapper { text-align: right; flex-direction: row-reverse; } .elementor-widget-icon-box.elementor-mobile-position-right .elementor-icon-box-icon { margin-left: var(--icon-box-icon-margin, 15px); margin-right: 0; margin-bottom: unset; } .elementor-widget-icon-box.elementor-mobile-position-left .elementor-icon-box-wrapper { text-align: left; flex-direction: row; } .elementor-widget-icon-box.elementor-mobile-position-left .elementor-icon-box-icon { margin-right: var(--icon-box-icon-margin, 15px); margin-left: 0; margin-bottom: unset; } .elementor-widget-icon-box.elementor-mobile-position-top .elementor-icon-box-wrapper { display: block; text-align: center; flex-direction: unset; } .elementor-widget-icon-box.elementor-mobile-position-top .elementor-icon-box-icon { margin-bottom: var(--icon-box-icon-margin, 15px); margin-right: auto; margin-left: auto; } .elementor-widget-icon-box.elementor-position-left .elementor-icon-box-icon, .elementor-widget-icon-box.elementor-position-right .elementor-icon-box-icon { display: block; flex: unset; } } .elementor-widget-icon-box .elementor-icon-box-title a { color: inherit; } .elementor-widget-icon-box .elementor-icon-box-content { flex-grow: 1; } .elementor-widget-icon-box .elementor-icon-box-description { margin: 0; } .elementor-widget.elementor-icon-list--layout-inline .elementor-widget-container { overflow: hidden; } .elementor-widget .elementor-icon-list-items.elementor-inline-items { margin-right: -8px; margin-left: -8px; } .elementor-widget .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item { margin-right: 8px; margin-left: 8px; } .elementor-widget .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after { width: auto; left: auto; right: auto; position: relative; height: 100%; border-top: 0; border-bottom: 0; border-right: 0; border-left-width: 1px; border-style: solid; right: -8px; } .elementor-widget .elementor-icon-list-items { list-style-type: none; margin: 0; padding: 0; } .elementor-widget .elementor-icon-list-item { margin: 0; padding: 0; position: relative; } .elementor-widget .elementor-icon-list-item:after { position: absolute; bottom: 0; width: 100%; } .elementor-widget .elementor-icon-list-item, .elementor-widget .elementor-icon-list-item a { display: flex; align-items: center; font-size: inherit; } .elementor-widget .elementor-icon-list-icon + .elementor-icon-list-text { align-self: center; padding-left: 5px; } .elementor-widget .elementor-icon-list-icon { display: flex; } .elementor-widget .elementor-icon-list-icon svg { width: var(--e-icon-list-icon-size, 1em); height: var(--e-icon-list-icon-size, 1em); } .elementor-widget .elementor-icon-list-icon i { width: 1.25em; font-size: var(--e-icon-list-icon-size); } .elementor-widget.elementor-widget-icon-list .elementor-icon-list-icon { text-align: var(--e-icon-list-icon-align); } .elementor-widget.elementor-widget-icon-list .elementor-icon-list-icon svg { margin: var(--e-icon-list-icon-margin, 0 calc(var(--e-icon-list-icon-size, 1em) * 0.25) 0 0); } .elementor-widget.elementor-list-item-link-full_width a { width: 100%; } .elementor-widget.elementor-align-center .elementor-icon-list-item, .elementor-widget.elementor-align-center .elementor-icon-list-item a { justify-content: center; } .elementor-widget.elementor-align-center .elementor-icon-list-item:after { margin: auto; } .elementor-widget.elementor-align-center .elementor-inline-items { justify-content: center; } .elementor-widget.elementor-align-left .elementor-icon-list-item, .elementor-widget.elementor-align-left .elementor-icon-list-item a { justify-content: flex-start; text-align: left; } .elementor-widget.elementor-align-left .elementor-inline-items { justify-content: flex-start; } .elementor-widget.elementor-align-right .elementor-icon-list-item, .elementor-widget.elementor-align-right .elementor-icon-list-item a { justify-content: flex-end; text-align: right; } .elementor-widget.elementor-align-right .elementor-icon-list-items { justify-content: flex-end; } .elementor-widget:not(.elementor-align-right) .elementor-icon-list-item:after { left: 0; } .elementor-widget:not(.elementor-align-left) .elementor-icon-list-item:after { right: 0; } @media (min-width: ELEMENTOR_SCREEN_WIDESCREEN_MIN) { .elementor-widget.elementor-widescreen-align-center .elementor-icon-list-item, .elementor-widget.elementor-widescreen-align-center .elementor-icon-list-item a { justify-content: center; } .elementor-widget.elementor-widescreen-align-center .elementor-icon-list-item:after { margin: auto; } .elementor-widget.elementor-widescreen-align-center .elementor-inline-items { justify-content: center; } .elementor-widget.elementor-widescreen-align-left .elementor-icon-list-item, .elementor-widget.elementor-widescreen-align-left .elementor-icon-list-item a { justify-content: flex-start; text-align: left; } .elementor-widget.elementor-widescreen-align-left .elementor-inline-items { justify-content: flex-start; } .elementor-widget.elementor-widescreen-align-right .elementor-icon-list-item, .elementor-widget.elementor-widescreen-align-right .elementor-icon-list-item a { justify-content: flex-end; text-align: right; } .elementor-widget.elementor-widescreen-align-right .elementor-icon-list-items { justify-content: flex-end; } .elementor-widget:not(.elementor-widescreen-align-right) .elementor-icon-list-item:after { left: 0; } .elementor-widget:not(.elementor-widescreen-align-left) .elementor-icon-list-item:after { right: 0; } } @media (max-width: ELEMENTOR_SCREEN_LAPTOP_MAX) { .elementor-widget.elementor-laptop-align-center .elementor-icon-list-item, .elementor-widget.elementor-laptop-align-center .elementor-icon-list-item a { justify-content: center; } .elementor-widget.elementor-laptop-align-center .elementor-icon-list-item:after { margin: auto; } .elementor-widget.elementor-laptop-align-center .elementor-inline-items { justify-content: center; } .elementor-widget.elementor-laptop-align-left .elementor-icon-list-item, .elementor-widget.elementor-laptop-align-left .elementor-icon-list-item a { justify-content: flex-start; text-align: left; } .elementor-widget.elementor-laptop-align-left .elementor-inline-items { justify-content: flex-start; } .elementor-widget.elementor-laptop-align-right .elementor-icon-list-item, .elementor-widget.elementor-laptop-align-right .elementor-icon-list-item a { justify-content: flex-end; text-align: right; } .elementor-widget.elementor-laptop-align-right .elementor-icon-list-items { justify-content: flex-end; } .elementor-widget:not(.elementor-laptop-align-right) .elementor-icon-list-item:after { left: 0; } .elementor-widget:not(.elementor-laptop-align-left) .elementor-icon-list-item:after { right: 0; } } @media (max-width: ELEMENTOR_SCREEN_TABLET_EXTRA_MAX) { .elementor-widget.elementor-tablet_extra-align-center .elementor-icon-list-item, .elementor-widget.elementor-tablet_extra-align-center .elementor-icon-list-item a { justify-content: center; } .elementor-widget.elementor-tablet_extra-align-center .elementor-icon-list-item:after { margin: auto; } .elementor-widget.elementor-tablet_extra-align-center .elementor-inline-items { justify-content: center; } .elementor-widget.elementor-tablet_extra-align-left .elementor-icon-list-item, .elementor-widget.elementor-tablet_extra-align-left .elementor-icon-list-item a { justify-content: flex-start; text-align: left; } .elementor-widget.elementor-tablet_extra-align-left .elementor-inline-items { justify-content: flex-start; } .elementor-widget.elementor-tablet_extra-align-right .elementor-icon-list-item, .elementor-widget.elementor-tablet_extra-align-right .elementor-icon-list-item a { justify-content: flex-end; text-align: right; } .elementor-widget.elementor-tablet_extra-align-right .elementor-icon-list-items { justify-content: flex-end; } .elementor-widget:not(.elementor-tablet_extra-align-right) .elementor-icon-list-item:after { left: 0; } .elementor-widget:not(.elementor-tablet_extra-align-left) .elementor-icon-list-item:after { right: 0; } } @media (max-width: ELEMENTOR_SCREEN_TABLET_MAX) { .elementor-widget.elementor-tablet-align-center .elementor-icon-list-item, .elementor-widget.elementor-tablet-align-center .elementor-icon-list-item a { justify-content: center; } .elementor-widget.elementor-tablet-align-center .elementor-icon-list-item:after { margin: auto; } .elementor-widget.elementor-tablet-align-center .elementor-inline-items { justify-content: center; } .elementor-widget.elementor-tablet-align-left .elementor-icon-list-item, .elementor-widget.elementor-tablet-align-left .elementor-icon-list-item a { justify-content: flex-start; text-align: left; } .elementor-widget.elementor-tablet-align-left .elementor-inline-items { justify-content: flex-start; } .elementor-widget.elementor-tablet-align-right .elementor-icon-list-item, .elementor-widget.elementor-tablet-align-right .elementor-icon-list-item a { justify-content: flex-end; text-align: right; } .elementor-widget.elementor-tablet-align-right .elementor-icon-list-items { justify-content: flex-end; } .elementor-widget:not(.elementor-tablet-align-right) .elementor-icon-list-item:after { left: 0; } .elementor-widget:not(.elementor-tablet-align-left) .elementor-icon-list-item:after { right: 0; } } @media (max-width: ELEMENTOR_SCREEN_MOBILE_EXTRA_MAX) { .elementor-widget.elementor-mobile_extra-align-center .elementor-icon-list-item, .elementor-widget.elementor-mobile_extra-align-center .elementor-icon-list-item a { justify-content: center; } .elementor-widget.elementor-mobile_extra-align-center .elementor-icon-list-item:after { margin: auto; } .elementor-widget.elementor-mobile_extra-align-center .elementor-inline-items { justify-content: center; } .elementor-widget.elementor-mobile_extra-align-left .elementor-icon-list-item, .elementor-widget.elementor-mobile_extra-align-left .elementor-icon-list-item a { justify-content: flex-start; text-align: left; } .elementor-widget.elementor-mobile_extra-align-left .elementor-inline-items { justify-content: flex-start; } .elementor-widget.elementor-mobile_extra-align-right .elementor-icon-list-item, .elementor-widget.elementor-mobile_extra-align-right .elementor-icon-list-item a { justify-content: flex-end; text-align: right; } .elementor-widget.elementor-mobile_extra-align-right .elementor-icon-list-items { justify-content: flex-end; } .elementor-widget:not(.elementor-mobile_extra-align-right) .elementor-icon-list-item:after { left: 0; } .elementor-widget:not(.elementor-mobile_extra-align-left) .elementor-icon-list-item:after { right: 0; } } @media (max-width: ELEMENTOR_SCREEN_MOBILE_MAX) { .elementor-widget.elementor-mobile-align-center .elementor-icon-list-item, .elementor-widget.elementor-mobile-align-center .elementor-icon-list-item a { justify-content: center; } .elementor-widget.elementor-mobile-align-center .elementor-icon-list-item:after { margin: auto; } .elementor-widget.elementor-mobile-align-center .elementor-inline-items { justify-content: center; } .elementor-widget.elementor-mobile-align-left .elementor-icon-list-item, .elementor-widget.elementor-mobile-align-left .elementor-icon-list-item a { justify-content: flex-start; text-align: left; } .elementor-widget.elementor-mobile-align-left .elementor-inline-items { justify-content: flex-start; } .elementor-widget.elementor-mobile-align-right .elementor-icon-list-item, .elementor-widget.elementor-mobile-align-right .elementor-icon-list-item a { justify-content: flex-end; text-align: right; } .elementor-widget.elementor-mobile-align-right .elementor-icon-list-items { justify-content: flex-end; } .elementor-widget:not(.elementor-mobile-align-right) .elementor-icon-list-item:after { left: 0; } .elementor-widget:not(.elementor-mobile-align-left) .elementor-icon-list-item:after { right: 0; } } .elementor-widget-image { text-align: center; } .elementor-widget-image a { display: inline-block; } .elementor-widget-image a img[src$=".svg"] { width: 48px; } .elementor-widget-image img { vertical-align: middle; display: inline-block; } .elementor-widget-image-box .elementor-image-box-content { width: 100%; } @media (min-width: ELEMENTOR_SCREEN_MOBILE_NEXT) { .elementor-widget-image-box.elementor-position-left .elementor-image-box-wrapper, .elementor-widget-image-box.elementor-position-right .elementor-image-box-wrapper { display: flex; } .elementor-widget-image-box.elementor-position-right .elementor-image-box-wrapper { text-align: right; flex-direction: row-reverse; } .elementor-widget-image-box.elementor-position-left .elementor-image-box-wrapper { text-align: left; flex-direction: row; } .elementor-widget-image-box.elementor-position-top .elementor-image-box-img { margin: auto; } .elementor-widget-image-box.elementor-vertical-align-top .elementor-image-box-wrapper { align-items: flex-start; } .elementor-widget-image-box.elementor-vertical-align-middle .elementor-image-box-wrapper { align-items: center; } .elementor-widget-image-box.elementor-vertical-align-bottom .elementor-image-box-wrapper { align-items: flex-end; } } @media (max-width: ELEMENTOR_SCREEN_MOBILE_MAX) { .elementor-widget-image-box .elementor-image-box-img { margin-left: auto !important; margin-right: auto !important; margin-bottom: 15px; } } .elementor-widget-image-box .elementor-image-box-img { display: inline-block; } .elementor-widget-image-box .elementor-image-box-title a { color: inherit; } .elementor-widget-image-box .elementor-image-box-wrapper { text-align: center; } .elementor-widget-image-box .elementor-image-box-description { margin: 0; } .elementor-widget-image-carousel .swiper-container { position: static; } .elementor-widget-image-carousel .swiper-container .swiper-slide figure { line-height: inherit; } .elementor-widget-image-carousel .swiper-slide { text-align: center; } .elementor-image-carousel-wrapper:not(.swiper-container-initialized) .swiper-slide { max-width: calc(100% / var(--e-image-carousel-slides-to-show, 3)); } body.elementor-page .elementor-widget-menu-anchor { margin-bottom: 0; } .elementor-widget-progress { text-align: left; } .elementor-progress-wrapper { position: relative; background-color: #eeeeee; color: #ffffff; height: 100%; border-radius: 2px; } .elementor-progress-bar { display: flex; background-color: #818a91; width: 0; font-size: 11px; height: 30px; line-height: 30px; border-radius: 2px; transition: width 1s ease-in-out; } .elementor-progress-text { flex-grow: 1; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; padding-left: 15px; } .elementor-progress-percentage { padding-right: 15px; } .elementor-widget-progress .elementor-progress-wrapper.progress-info .elementor-progress-bar { background-color: #5bc0de; } .elementor-widget-progress .elementor-progress-wrapper.progress-success .elementor-progress-bar { background-color: #5cb85c; } .elementor-widget-progress .elementor-progress-wrapper.progress-warning .elementor-progress-bar { background-color: #f0ad4e; } .elementor-widget-progress .elementor-progress-wrapper.progress-danger .elementor-progress-bar { background-color: #d9534f; } .elementor-progress .elementor-title { display: block; } @media (max-width: ELEMENTOR_SCREEN_MOBILE_MAX) { .elementor-progress-text { padding-left: 10px; } } .elementor-widget-social-icons { /*TODO: This Grid-0 needs to be removed after PRO is Updated */ } .elementor-widget-social-icons.elementor-grid-0 .elementor-widget-container, .elementor-widget-social-icons.elementor-grid-tablet-0 .elementor-widget-container, .elementor-widget-social-icons.elementor-grid-mobile-0 .elementor-widget-container { line-height: 1; font-size: 0; } .elementor-widget-social-icons:not(.elementor-grid-0):not(.elementor-grid-tablet-0):not(.elementor-grid-mobile-0) .elementor-grid { display: inline-grid; } .elementor-widget-social-icons .elementor-grid { grid-column-gap: var(--grid-column-gap, 5px); grid-row-gap: var(--grid-row-gap, 5px); grid-template-columns: var(--grid-template-columns); justify-content: var(--justify-content, center); justify-items: var(--justify-content, center); } .elementor-icon.elementor-social-icon { font-size: var(--icon-size, 25px); line-height: var(--icon-size, 25px); width: calc(var(--icon-size, 25px) + (2 * var(--icon-padding, 0.5em))); height: calc(var(--icon-size, 25px) + (2 * var(--icon-padding, 0.5em))); } .elementor-social-icon { --e-social-icon-icon-color: #fff; display: inline-flex; background-color: #818a91; align-items: center; justify-content: center; text-align: center; cursor: pointer; } .elementor-social-icon i { color: var(--e-social-icon-icon-color); } .elementor-social-icon svg { fill: var(--e-social-icon-icon-color); } .elementor-social-icon:last-child { margin: 0; } .elementor-social-icon:hover { opacity: 0.9; color: white; } .elementor-social-icon-android { background-color: #A4C639; } .elementor-social-icon-apple { background-color: #999999; } .elementor-social-icon-behance { background-color: #1769ff; } .elementor-social-icon-bitbucket { background-color: #205081; } .elementor-social-icon-codepen { background-color: #000000; } .elementor-social-icon-delicious { background-color: #3399ff; } .elementor-social-icon-deviantart { background-color: #05cc47; } .elementor-social-icon-digg { background-color: #005be2; } .elementor-social-icon-dribbble { background-color: #ea4c89; } .elementor-social-icon-elementor { background-color: #D30C5C; } .elementor-social-icon-envelope { background-color: #ea4335; } .elementor-social-icon-facebook, .elementor-social-icon-facebook-f { background-color: #3b5998; } .elementor-social-icon-flickr { background-color: #0063dc; } .elementor-social-icon-foursquare { background-color: #2d5be3; } .elementor-social-icon-freecodecamp, .elementor-social-icon-free-code-camp { background-color: #006400; } .elementor-social-icon-github { background-color: #333333; } .elementor-social-icon-gitlab { background-color: #e24329; } .elementor-social-icon-globe { background-color: #818a91; } .elementor-social-icon-google-plus, .elementor-social-icon-google-plus-g { background-color: #dd4b39; } .elementor-social-icon-houzz { background-color: #7ac142; } .elementor-social-icon-instagram { background-color: #262626; } .elementor-social-icon-jsfiddle { background-color: #487AA2; } .elementor-social-icon-link { background-color: #818a91; } .elementor-social-icon-linkedin, .elementor-social-icon-linkedin-in { background-color: #0077b5; } .elementor-social-icon-medium { background-color: #00ab6b; } .elementor-social-icon-meetup { background-color: #ec1c40; } .elementor-social-icon-mixcloud { background-color: #273a4b; } .elementor-social-icon-odnoklassniki { background-color: #F4731C; } .elementor-social-icon-pinterest { background-color: #bd081c; } .elementor-social-icon-product-hunt { background-color: #da552f; } .elementor-social-icon-reddit { background-color: #ff4500; } .elementor-social-icon-rss { background-color: #f26522; } .elementor-social-icon-shopping-cart { background-color: #4CAF50; } .elementor-social-icon-skype { background-color: #00AFF0; } .elementor-social-icon-slideshare { background-color: #0077b5; } .elementor-social-icon-snapchat { background-color: #fffc00; } .elementor-social-icon-soundcloud { background-color: #ff8800; } .elementor-social-icon-spotify { background-color: #2ebd59; } .elementor-social-icon-stack-overflow { background-color: #fe7a15; } .elementor-social-icon-steam { background-color: #00adee; } .elementor-social-icon-stumbleupon { background-color: #EB4924; } .elementor-social-icon-telegram { background-color: #2CA5E0; } .elementor-social-icon-thumb-tack { background-color: #1aa1d8; } .elementor-social-icon-tripadvisor { background-color: #589442; } .elementor-social-icon-tumblr { background-color: #35465c; } .elementor-social-icon-twitch { background-color: #6441A5; } .elementor-social-icon-twitter { background-color: #1DA1F2; } .elementor-social-icon-viber { background-color: #665cac; } .elementor-social-icon-vimeo { background-color: #1ab7ea; } .elementor-social-icon-vk { background-color: #45668e; } .elementor-social-icon-weibo { background-color: #DD2430; } .elementor-social-icon-weixin { background-color: #31A918; } .elementor-social-icon-whatsapp { background-color: #25d366; } .elementor-social-icon-wordpress { background-color: #21759b; } .elementor-social-icon-xing { background-color: #026466; } .elementor-social-icon-yelp { background-color: #af0606; } .elementor-social-icon-youtube { background-color: #cd201f; } .elementor-social-icon-500px { background-color: #0099e5; } .elementor-shape-rounded .elementor-icon.elementor-social-icon { border-radius: 10%; } .elementor-shape-circle .elementor-icon.elementor-social-icon { border-radius: 50%; } .e-container.e-container--row .elementor-spacer-inner { width: var(--spacer-size); } .elementor-column .elementor-spacer-inner, .e-container.e-container--column .elementor-spacer-inner { height: var(--spacer-size); } .elementor-star-rating { color: #CCD6DF; font-family: eicons; display: inline-block; } .elementor-star-rating i { display: inline-block; position: relative; font-style: normal; cursor: default; } .elementor-star-rating i:before { content: "\e934"; display: block; font-size: inherit; font-family: inherit; position: absolute; overflow: hidden; color: #f0ad4e; top: 0; left: 0; } .elementor-star-rating .elementor-star-empty:before { content: none; } .elementor-star-rating .elementor-star-1:before { width: 10%; } .elementor-star-rating .elementor-star-2:before { width: 20%; } .elementor-star-rating .elementor-star-3:before { width: 30%; } .elementor-star-rating .elementor-star-4:before { width: 40%; } .elementor-star-rating .elementor-star-5:before { width: 50%; } .elementor-star-rating .elementor-star-6:before { width: 60%; } .elementor-star-rating .elementor-star-7:before { width: 70%; } .elementor-star-rating .elementor-star-8:before { width: 80%; } .elementor-star-rating .elementor-star-9:before { width: 90%; } .elementor-star-rating__wrapper { display: flex; align-items: center; } .elementor-star-rating__title { margin-right: 10px; } .elementor-star-rating--align-right .elementor-star-rating__wrapper { text-align: right; justify-content: flex-end; } .elementor-star-rating--align-left .elementor-star-rating__wrapper { text-align: left; justify-content: flex-start; } .elementor-star-rating--align-center .elementor-star-rating__wrapper { text-align: center; justify-content: center; } .elementor-star-rating--align-justify .elementor-star-rating__title { margin-right: auto; } @media (max-width: ELEMENTOR_SCREEN_TABLET_MAX) { .elementor-star-rating-tablet--align-right .elementor-star-rating__wrapper { text-align: right; justify-content: flex-end; } .elementor-star-rating-tablet--align-left .elementor-star-rating__wrapper { text-align: left; justify-content: flex-start; } .elementor-star-rating-tablet--align-center .elementor-star-rating__wrapper { text-align: center; justify-content: center; } .elementor-star-rating-tablet--align-justify .elementor-star-rating__title { margin-right: auto; } } @media (max-width: ELEMENTOR_SCREEN_MOBILE_MAX) { .elementor-star-rating-mobile--align-right .elementor-star-rating__wrapper { text-align: right; justify-content: flex-end; } .elementor-star-rating-mobile--align-left .elementor-star-rating__wrapper { text-align: left; justify-content: flex-start; } .elementor-star-rating-mobile--align-center .elementor-star-rating__wrapper { text-align: center; justify-content: center; } .elementor-star-rating-mobile--align-justify .elementor-star-rating__title { margin-right: auto; } } .last-star { letter-spacing: 0; } .elementor--star-style-star_unicode .elementor-star-rating { font-family: "Arial", "Helvetica", sans-serif; } .elementor--star-style-star_unicode .elementor-star-rating i:not(.elementor-star-empty):before { content: "★"; } .elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tabs-wrapper { width: 25%; flex-shrink: 0; } .elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tab-desktop-title.elementor-active { border-right-style: none; } .elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tab-desktop-title.elementor-active:before, .elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tab-desktop-title.elementor-active:after { height: 999em; width: 0; right: 0; border-right-style: solid; } .elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tab-desktop-title.elementor-active:before { top: 0; transform: translateY(-100%); } .elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tab-desktop-title.elementor-active:after { top: 100%; } .elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title { display: table-cell; } .elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title.elementor-active { border-bottom-style: none; } .elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title.elementor-active:before, .elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title.elementor-active:after { bottom: 0; height: 0; width: 999em; border-bottom-style: solid; } .elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title.elementor-active:before { right: 100%; } .elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title.elementor-active:after { left: 100%; } .elementor-widget-tabs .elementor-tab-title, .elementor-widget-tabs .elementor-tab-title:before, .elementor-widget-tabs .elementor-tab-title:after, .elementor-widget-tabs .elementor-tab-content, .elementor-widget-tabs .elementor-tabs-content-wrapper { border: 1px none #D4D4D4; } .elementor-widget-tabs .elementor-tabs { text-align: left; } .elementor-widget-tabs .elementor-tabs-wrapper { overflow: hidden; } .elementor-widget-tabs .elementor-tab-title { cursor: pointer; outline: var(--focus-outline, none); } .elementor-widget-tabs .elementor-tab-desktop-title { position: relative; padding: 20px 25px; font-weight: bold; line-height: 1; border: solid transparent; } .elementor-widget-tabs .elementor-tab-desktop-title.elementor-active { border-color: #D4D4D4; } .elementor-widget-tabs .elementor-tab-desktop-title.elementor-active:before, .elementor-widget-tabs .elementor-tab-desktop-title.elementor-active:after { display: block; content: ""; position: absolute; } .elementor-widget-tabs .elementor-tab-mobile-title { padding: 10px 10px; cursor: pointer; } .elementor-widget-tabs .elementor-tab-content { padding: 20px; display: none; } @media (max-width: ELEMENTOR_SCREEN_MOBILE_MAX) { .elementor-tabs .elementor-tab-title, .elementor-tabs .elementor-tab-content { border-style: solid; border-bottom-style: none; } .elementor-tabs .elementor-tabs-wrapper { display: none; } .elementor-tabs .elementor-tabs-content-wrapper { border-bottom-style: solid; } .elementor-tabs .elementor-tab-content { padding: 10px; } } @media (min-width: ELEMENTOR_SCREEN_MOBILE_NEXT) { .elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tabs { display: flex; } .elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tabs-wrapper { flex-direction: column; } .elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tabs-content-wrapper { flex-grow: 1; border-style: solid; border-left-style: none; } .elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-content { border-style: solid; border-top-style: none; } .elementor-widget-tabs.elementor-tabs-alignment-center .elementor-tabs-wrapper, .elementor-widget-tabs.elementor-tabs-alignment-end .elementor-tabs-wrapper, .elementor-widget-tabs.elementor-tabs-alignment-stretch .elementor-tabs-wrapper { display: flex; } .elementor-widget-tabs.elementor-tabs-alignment-center .elementor-tabs-wrapper { justify-content: center; } .elementor-widget-tabs.elementor-tabs-alignment-end .elementor-tabs-wrapper { justify-content: flex-end; } .elementor-widget-tabs.elementor-tabs-alignment-stretch.elementor-tabs-view-horizontal .elementor-tab-title { width: 100%; } .elementor-widget-tabs.elementor-tabs-alignment-stretch.elementor-tabs-view-vertical .elementor-tab-title { height: 100%; } .elementor-tabs .elementor-tab-mobile-title { display: none; } } .elementor-testimonial-wrapper { overflow: hidden; text-align: center; } .elementor-testimonial-wrapper .elementor-testimonial-content { font-size: 1.3em; margin-bottom: 20px; } .elementor-testimonial-wrapper .elementor-testimonial-name { line-height: 1.5; display: block; } .elementor-testimonial-wrapper .elementor-testimonial-job { font-size: 0.85em; display: block; } .elementor-testimonial-wrapper .elementor-testimonial-meta { width: 100%; line-height: 1; } .elementor-testimonial-wrapper .elementor-testimonial-meta-inner { display: inline-block; } .elementor-testimonial-wrapper .elementor-testimonial-meta .elementor-testimonial-details, .elementor-testimonial-wrapper .elementor-testimonial-meta .elementor-testimonial-image { display: table-cell; vertical-align: middle; } .elementor-testimonial-wrapper .elementor-testimonial-meta .elementor-testimonial-image img { width: 60px; height: 60px; border-radius: 50%; object-fit: cover; max-width: none; } .elementor-testimonial-wrapper .elementor-testimonial-meta.elementor-testimonial-image-position-aside .elementor-testimonial-image { padding-right: 15px; } .elementor-testimonial-wrapper .elementor-testimonial-meta.elementor-testimonial-image-position-aside .elementor-testimonial-details { text-align: left; } .elementor-testimonial-wrapper .elementor-testimonial-meta.elementor-testimonial-image-position-top .elementor-testimonial-details, .elementor-testimonial-wrapper .elementor-testimonial-meta.elementor-testimonial-image-position-top .elementor-testimonial-image { display: block; } .elementor-testimonial-wrapper .elementor-testimonial-meta.elementor-testimonial-image-position-top .elementor-testimonial-image { margin-bottom: 20px; } .elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap { background-color: #818a91; color: #fff; } .elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap { color: #818a91; border: 3px solid; background-color: transparent; } .elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap { margin-top: 8px; } .elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap-letter { width: 1em; height: 1em; } .elementor-widget-text-editor .elementor-drop-cap { float: left; text-align: center; line-height: 1; font-size: 50px; } .elementor-widget-text-editor .elementor-drop-cap-letter { display: inline-block; } .elementor-toggle { text-align: left; } .elementor-toggle .elementor-tab-title { font-weight: bold; line-height: 1; margin: 0; padding: 15px; border-bottom: 1px solid #D4D4D4; cursor: pointer; outline: none; } .elementor-toggle .elementor-tab-title .elementor-toggle-icon { display: inline-block; width: 1em; } .elementor-toggle .elementor-tab-title .elementor-toggle-icon svg { margin-inline-start: -5px; width: 1em; height: 1em; } .elementor-toggle .elementor-tab-title .elementor-toggle-icon.elementor-toggle-icon-right { float: right; text-align: right; } .elementor-toggle .elementor-tab-title .elementor-toggle-icon.elementor-toggle-icon-left { float: left; text-align: left; } .elementor-toggle .elementor-tab-title .elementor-toggle-icon .elementor-toggle-icon-closed { display: block; } .elementor-toggle .elementor-tab-title .elementor-toggle-icon .elementor-toggle-icon-opened { display: none; } .elementor-toggle .elementor-tab-title.elementor-active { border-bottom: none; } .elementor-toggle .elementor-tab-title.elementor-active .elementor-toggle-icon-closed { display: none; } .elementor-toggle .elementor-tab-title.elementor-active .elementor-toggle-icon-opened { display: block; } .elementor-toggle .elementor-tab-content { padding: 15px; border-bottom: 1px solid #D4D4D4; display: none; } @media (max-width: ELEMENTOR_SCREEN_MOBILE_MAX) { .elementor-toggle .elementor-tab-title { padding: 12px; } .elementor-toggle .elementor-tab-content { padding: 12px 10px; } } .elementor-widget-video .elementor-widget-container { overflow: hidden; transform: translate3d(0, 0, 0); } .elementor-widget-video .elementor-open-inline .elementor-custom-embed-image-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-size: cover; background-position: 50%; } .elementor-widget-video .elementor-custom-embed-image-overlay { cursor: pointer; text-align: center; } .elementor-widget-video .elementor-custom-embed-image-overlay:hover .elementor-custom-embed-play i { opacity: 1; } .elementor-widget-video .elementor-custom-embed-image-overlay img { display: block; width: 100%; } .elementor-widget-video .e-hosted-video .elementor-video { object-fit: cover; } /*# sourceMappingURL=frontend.css.map */assets/css/templates/frontend-lite.css000064400000320747152377341010014140 0ustar00.dialog-widget-content { background-color: #fff; position: absolute; border-radius: 3px; box-shadow: 2px 8px 23px 3px rgba(0, 0, 0, 0.2); overflow: hidden; } .dialog-message { font-size: 12px; line-height: 1.5; box-sizing: border-box; } .dialog-type-lightbox { position: fixed; height: 100%; width: 100%; bottom: 0; left: 0; background-color: rgba(0, 0, 0, 0.8); z-index: 9999; user-select: none; } .dialog-type-lightbox .dialog-widget-content { margin: auto; width: 375px; } .dialog-type-lightbox .dialog-header { font-size: 15px; color: #495157; padding: 30px 0 10px; font-weight: 500; } .dialog-type-lightbox .dialog-message { padding: 0 30px 30px; min-height: 50px; } .dialog-type-lightbox:not(.elementor-popup-modal) .dialog-header, .dialog-type-lightbox:not(.elementor-popup-modal) .dialog-message { text-align: center; } .dialog-type-lightbox .dialog-buttons-wrapper { border-top: 1px solid #e6e9ec; text-align: center; } .dialog-type-lightbox .dialog-buttons-wrapper > .dialog-button { font-family: Roboto, Arial, Helvetica, Verdana, sans-serif; width: 50%; border: none; background: none; color: #6d7882; font-size: 15px; cursor: pointer; padding: 13px 0; outline: 0; } .dialog-type-lightbox .dialog-buttons-wrapper > .dialog-button:hover { background-color: #f4f6f7; } .dialog-type-lightbox .dialog-buttons-wrapper > .dialog-button.dialog-ok { color: #b01b1b; } .dialog-type-lightbox .dialog-buttons-wrapper > .dialog-button.dialog-take_over { color: #39b54a; } .dialog-type-lightbox .dialog-buttons-wrapper > .dialog-button:active { background-color: rgba(230, 233, 236, 0.5); } .dialog-type-lightbox .dialog-buttons-wrapper > .dialog-button::-moz-focus-inner { border: 0; } .dialog-close-button { cursor: pointer; position: absolute; margin-top: 15px; right: 15px; font-size: 15px; line-height: 1; } .dialog-close-button:not(:hover) { opacity: 0.4; } .dialog-alert-widget .dialog-buttons-wrapper > button { width: 100%; } .dialog-confirm-widget .dialog-button:first-child { border-right: 1px solid #e6e9ec; } .dialog-prevent-scroll { overflow: hidden; max-height: 100vh; } @media (min-width: 1024px) { body.admin-bar .dialog-lightbox-widget { height: calc(100vh - 32px); } } @media (max-width: 1024px) { body.admin-bar .dialog-type-lightbox { position: sticky; height: 100vh; } } .elementor-aspect-ratio-219 .elementor-fit-aspect-ratio { padding-bottom: 42.8571%; } .elementor-aspect-ratio-169 .elementor-fit-aspect-ratio { padding-bottom: 56.25%; } .elementor-aspect-ratio-43 .elementor-fit-aspect-ratio { padding-bottom: 75%; } .elementor-aspect-ratio-32 .elementor-fit-aspect-ratio { padding-bottom: 66.6666%; } .elementor-aspect-ratio-11 .elementor-fit-aspect-ratio { padding-bottom: 100%; } .elementor-aspect-ratio-916 .elementor-fit-aspect-ratio { padding-bottom: 177.8%; } .elementor-fit-aspect-ratio { position: relative; height: 0; } .elementor-fit-aspect-ratio iframe { position: absolute; top: 0; left: 0; height: 100%; width: 100%; border: 0; background-color: #000; } .elementor-fit-aspect-ratio video { width: 100%; } .flatpickr-calendar { width: 280px; } .flatpickr-calendar .flatpickr-current-month span.cur-month { font-weight: 300; } .flatpickr-calendar .dayContainer { width: 280px; min-width: 280px; max-width: 280px; } .flatpickr-calendar .flatpickr-days { width: 280px; } .flatpickr-calendar .flatpickr-day { max-width: 37px; height: 37px; line-height: 37px; } .elementor-templates-modal .dialog-widget-content { font-family: Roboto, Arial, Helvetica, Verdana, sans-serif; background-color: #f1f3f5; width: 100%; } @media (max-width: 1439px) { .elementor-templates-modal .dialog-widget-content { max-width: 990px; } } @media (min-width: 1440px) { .elementor-templates-modal .dialog-widget-content { max-width: 1200px; } } .elementor-templates-modal .dialog-header { padding: 0; background-color: #fff; box-shadow: 0 0 8px rgba(0, 0, 0, 0.1); position: relative; z-index: 1; } .elementor-templates-modal .dialog-buttons-wrapper { background-color: #fff; border: none; display: none; justify-content: flex-end; padding: 5px; box-shadow: 0 0 8px rgba(0, 0, 0, 0.1); position: relative; } .elementor-templates-modal .dialog-buttons-wrapper .elementor-button { height: 40px; margin-left: 5px; } .elementor-templates-modal .dialog-buttons-wrapper .elementor-button-success { padding: 12px 36px; color: #fff; width: initial; font-size: 15px; } .elementor-templates-modal .dialog-buttons-wrapper .elementor-button-success:hover { background-color: #39b54a; } .elementor-templates-modal .dialog-message { height: 750px; max-height: 85vh; overflow: auto; padding-top: 25px; } .elementor-templates-modal .dialog-content { height: 100%; } .elementor-templates-modal .dialog-loading { display: none; } .elementor-templates-modal__header { display: flex; align-items: center; justify-content: space-between; height: 50px; } .elementor-templates-modal__header__logo { line-height: 1; text-transform: uppercase; font-weight: bold; cursor: pointer; } .elementor-templates-modal__header__logo-area { text-align: left; padding-left: 15px; } .elementor-templates-modal__header__logo-area > * { display: flex; align-items: center; } .elementor-templates-modal__header__logo__icon-wrapper { margin-right: 10px; font-size: 12px; } .elementor-templates-modal__header__logo__title { padding-top: 2px; } .elementor-templates-modal__header__items-area { display: flex; flex-direction: row-reverse; } .elementor-templates-modal__header__item { position: relative; display: flex; align-items: center; justify-content: center; box-sizing: content-box; } .elementor-templates-modal__header__item > i { font-size: 20px; transition: all 0.3s; cursor: pointer; } .elementor-templates-modal__header__item > i:not(:hover) { color: #a4afb7; } .elementor-templates-modal__header__close--normal { width: 47px; border-left: 1px solid #e6e9ec; } .elementor-templates-modal__header__close--normal i { font-size: 18px; } .elementor-templates-modal__header__close--skip { padding: 10px; padding-left: 20px; margin-right: 10px; color: #fff; background-color: #a4afb7; font-size: 11px; font-weight: normal; line-height: 1; text-transform: uppercase; border-radius: 2px; cursor: pointer; } .elementor-templates-modal__header__close--skip > i { font-size: inherit; padding-left: 10px; margin-left: 15px; border-left: 1px solid; } .elementor-templates-modal__header__close--skip > i:not(:hover) { color: #fff; } .elementor-templates-modal__sidebar { flex-shrink: 0; width: 25%; background-color: rgba(255, 255, 255, 0.3); } .elementor-templates-modal__content { flex-grow: 1; box-shadow: 0 0 13px inset rgba(0, 0, 0, 0.05); } /* Will select next element after last '.elementor-general-section' */ #wpadminbar #wp-admin-bar-elementor_edit_page .elementor-general-section + .elementor-second-section { border-top: 1px solid #464b50; margin-top: 6px; } .elementor-hidden { display: none; } .elementor-screen-only, .screen-reader-text, .screen-reader-text span, .ui-helper-hidden-accessible { position: absolute; top: -10000em; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0; } .elementor-clearfix:after { content: ""; display: block; clear: both; width: 0; height: 0; } .e-logo-wrapper { background: #93003c; display: inline-block; padding: 0.75em; border-radius: 50%; line-height: 1; } .e-logo-wrapper i { color: #fff; font-size: 1em; } #e-enable-unfiltered-files-dialog-import-template .dialog-confirm-ok { color: #39b54a; } #e-enable-unfiltered-files-dialog-import-template .dialog-confirm-cancel { color: #b01b1b; } .elementor { hyphens: manual; } .elementor *, .elementor *:before, .elementor *:after { box-sizing: border-box; } .elementor a { box-shadow: none; text-decoration: none; } .elementor hr { margin: 0; background-color: transparent; } .elementor img { height: auto; max-width: 100%; border: none; border-radius: 0; box-shadow: none; } .elementor .elementor-widget:not(.elementor-widget-text-editor):not(.elementor-widget-theme-post-content) figure { margin: 0; } .elementor embed, .elementor iframe, .elementor object, .elementor video { max-width: 100%; width: 100%; margin: 0; line-height: 1; border: none; } .elementor .elementor-custom-embed { line-height: 0; } .elementor .elementor-background-video-container, .elementor .elementor-background-holder, .elementor .elementor-background { height: 100%; width: 100%; top: 0; left: 0; position: absolute; overflow: hidden; z-index: 0; direction: ltr; } .elementor .elementor-background-video-container { transition: opacity 1s; pointer-events: none; } .elementor .elementor-background-video-container.elementor-loading { opacity: 0; } .elementor .elementor-background-video-embed { max-width: none; } .elementor .elementor-background-video-embed, .elementor .elementor-background-video-hosted { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } .elementor .elementor-background-video { max-width: none; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } .elementor .elementor-html5-video { object-fit: cover; } .elementor .elementor-background-overlay { height: 100%; width: 100%; top: 0; left: 0; position: absolute; } .elementor .elementor-background-slideshow { position: absolute; width: 100%; height: 100%; z-index: 0; top: 0; left: 0; } .elementor .elementor-background-slideshow__slide__image { width: 100%; height: 100%; background-position: center center; background-size: cover; } .elementor-widget-wrap > .elementor-element.elementor-absolute, .e-container > .elementor-element.elementor-absolute { position: absolute; } .elementor-widget-wrap > .elementor-element.elementor-fixed, .e-container > .elementor-element.elementor-fixed { position: fixed; } .elementor-widget-wrap .elementor-element.elementor-widget__width-auto, .elementor-widget-wrap .elementor-element.elementor-widget__width-initial { max-width: 100%; } @media (max-width: ELEMENTOR_SCREEN_TABLET_MAX) { .elementor-widget-wrap .elementor-element.elementor-widget-tablet__width-auto, .elementor-widget-wrap .elementor-element.elementor-widget-tablet__width-initial { max-width: 100%; } } @media (max-width: ELEMENTOR_SCREEN_MOBILE_MAX) { .elementor-widget-wrap .elementor-element.elementor-widget-mobile__width-auto, .elementor-widget-wrap .elementor-element.elementor-widget-mobile__width-initial { max-width: 100%; } } .elementor-element { --flex-direction: initial; --flex-wrap: initial; --justify-content: initial; --align-items: initial; --align-content: initial; --gap: initial; --flex-basis: initial; --flex-grow: initial; --flex-shrink: initial; --order: initial; --align-self: initial; flex-direction: var(--flex-direction); flex-wrap: var(--flex-wrap); justify-content: var(--justify-content); align-items: var(--align-items); align-content: var(--align-content); gap: var(--gap); flex-basis: var(--flex-basis); flex-grow: var(--flex-grow); flex-shrink: var(--flex-shrink); order: var(--order); align-self: var(--align-self); } .elementor-element.elementor-absolute, .elementor-element.elementor-fixed { z-index: 1; } .elementor-invisible { visibility: hidden; } .elementor-align-center { text-align: center; } .elementor-align-center .elementor-button { width: auto; } .elementor-align-right { text-align: right; } .elementor-align-right .elementor-button { width: auto; } .elementor-align-left { text-align: left; } .elementor-align-left .elementor-button { width: auto; } .elementor-align-justify .elementor-button { width: 100%; } .elementor-custom-embed-play { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } .elementor-custom-embed-play i { font-size: 100px; color: #fff; text-shadow: 1px 0 6px rgba(0, 0, 0, 0.3); } .elementor-custom-embed-play svg { height: 100px; width: 100px; fill: #fff; filter: drop-shadow(1px 0 6px rgba(0, 0, 0, 0.3)); } .elementor-custom-embed-play i, .elementor-custom-embed-play svg { opacity: 0.8; transition: all 0.5s; } .elementor-custom-embed-play.elementor-playing i { font-family: eicons; } .elementor-custom-embed-play.elementor-playing i:before { content: "\e8fb"; } .elementor-custom-embed-play.elementor-playing i, .elementor-custom-embed-play.elementor-playing svg { animation: eicon-spin 2s infinite linear; } .elementor-tag { display: inline-flex; } .elementor-ken-burns { transition-property: transform; transition-duration: 10s; transition-timing-function: linear; } .elementor-ken-burns--out { transform: scale(1.3); } .elementor-ken-burns--active { transition-duration: 20s; } .elementor-ken-burns--active.elementor-ken-burns--out { transform: scale(1); } .elementor-ken-burns--active.elementor-ken-burns--in { transform: scale(1.3); } @media (min-width: ELEMENTOR_SCREEN_WIDESCREEN_MIN) { .elementor-widescreen-align-center { text-align: center; } .elementor-widescreen-align-center .elementor-button { width: auto; } .elementor-widescreen-align-right { text-align: right; } .elementor-widescreen-align-right .elementor-button { width: auto; } .elementor-widescreen-align-left { text-align: left; } .elementor-widescreen-align-left .elementor-button { width: auto; } .elementor-widescreen-align-justify .elementor-button { width: 100%; } } @media (max-width: ELEMENTOR_SCREEN_LAPTOP_MAX) { .elementor-laptop-align-center { text-align: center; } .elementor-laptop-align-center .elementor-button { width: auto; } .elementor-laptop-align-right { text-align: right; } .elementor-laptop-align-right .elementor-button { width: auto; } .elementor-laptop-align-left { text-align: left; } .elementor-laptop-align-left .elementor-button { width: auto; } .elementor-laptop-align-justify .elementor-button { width: 100%; } } @media (max-width: ELEMENTOR_SCREEN_TABLET_EXTRA_MAX) { .elementor-tablet_extra-align-center { text-align: center; } .elementor-tablet_extra-align-center .elementor-button { width: auto; } .elementor-tablet_extra-align-right { text-align: right; } .elementor-tablet_extra-align-right .elementor-button { width: auto; } .elementor-tablet_extra-align-left { text-align: left; } .elementor-tablet_extra-align-left .elementor-button { width: auto; } .elementor-tablet_extra-align-justify .elementor-button { width: 100%; } } @media (max-width: ELEMENTOR_SCREEN_TABLET_MAX) { .elementor-tablet-align-center { text-align: center; } .elementor-tablet-align-center .elementor-button { width: auto; } .elementor-tablet-align-right { text-align: right; } .elementor-tablet-align-right .elementor-button { width: auto; } .elementor-tablet-align-left { text-align: left; } .elementor-tablet-align-left .elementor-button { width: auto; } .elementor-tablet-align-justify .elementor-button { width: 100%; } } @media (max-width: ELEMENTOR_SCREEN_MOBILE_EXTRA_MAX) { .elementor-mobile_extra-align-center { text-align: center; } .elementor-mobile_extra-align-center .elementor-button { width: auto; } .elementor-mobile_extra-align-right { text-align: right; } .elementor-mobile_extra-align-right .elementor-button { width: auto; } .elementor-mobile_extra-align-left { text-align: left; } .elementor-mobile_extra-align-left .elementor-button { width: auto; } .elementor-mobile_extra-align-justify .elementor-button { width: 100%; } } @media (max-width: ELEMENTOR_SCREEN_MOBILE_MAX) { .elementor-mobile-align-center { text-align: center; } .elementor-mobile-align-center .elementor-button { width: auto; } .elementor-mobile-align-right { text-align: right; } .elementor-mobile-align-right .elementor-button { width: auto; } .elementor-mobile-align-left { text-align: left; } .elementor-mobile-align-left .elementor-button { width: auto; } .elementor-mobile-align-justify .elementor-button { width: 100%; } } :root { --page-title-display: block; } .elementor-page-title, h1.entry-title { display: var(--page-title-display); } @keyframes eicon-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(359deg); } } .eicon-animation-spin { animation: eicon-spin 2s infinite linear; } .elementor-section { position: relative; } .elementor-section .elementor-container { display: flex; margin-right: auto; margin-left: auto; position: relative; } @media (max-width: ELEMENTOR_SCREEN_TABLET_MAX) { .elementor-section .elementor-container { flex-wrap: wrap; } } .elementor-section.elementor-section-boxed > .elementor-container { max-width: 1140px; } .elementor-section.elementor-section-stretched { position: relative; width: 100%; } .elementor-section.elementor-section-items-top > .elementor-container { align-items: flex-start; } .elementor-section.elementor-section-items-middle > .elementor-container { align-items: center; } .elementor-section.elementor-section-items-bottom > .elementor-container { align-items: flex-end; } @media (min-width: ELEMENTOR_SCREEN_MOBILE_NEXT) { .elementor-section.elementor-section-height-full { height: 100vh; } .elementor-section.elementor-section-height-full > .elementor-container { height: 100%; } } .elementor-bc-flex-widget .elementor-section-content-top > .elementor-container > .elementor-column > .elementor-widget-wrap { align-items: flex-start; } .elementor-bc-flex-widget .elementor-section-content-middle > .elementor-container > .elementor-column > .elementor-widget-wrap { align-items: center; } .elementor-bc-flex-widget .elementor-section-content-bottom > .elementor-container > .elementor-column > .elementor-widget-wrap { align-items: flex-end; } .elementor-row { width: 100%; display: flex; } @media (max-width: ELEMENTOR_SCREEN_TABLET_MAX) { .elementor-row { flex-wrap: wrap; } } .elementor-widget-wrap { position: relative; width: 100%; flex-wrap: wrap; align-content: flex-start; } .elementor:not(.elementor-bc-flex-widget) .elementor-widget-wrap { display: flex; } .elementor-widget-wrap > .elementor-element { width: 100%; } .elementor-widget-wrap.e-swiper-container { width: calc(100% - (var(--e-column-margin-left, 0px) + var(--e-column-margin-right, 0px))); } .elementor-widget { position: relative; } .elementor-widget:not(:last-child) { margin-bottom: 20px; } .elementor-widget:not(:last-child).elementor-widget__width-auto, .elementor-widget:not(:last-child).elementor-widget__width-initial, .elementor-widget:not(:last-child).elementor-absolute { margin-bottom: 0; } .elementor-column { position: relative; min-height: 1px; display: flex; } .elementor-column-wrap { width: 100%; position: relative; display: flex; } .elementor-column-gap-narrow > .elementor-column > .elementor-element-populated { padding: 5px; } .elementor-column-gap-default > .elementor-column > .elementor-element-populated { padding: 10px; } .elementor-column-gap-extended > .elementor-column > .elementor-element-populated { padding: 15px; } .elementor-column-gap-wide > .elementor-column > .elementor-element-populated { padding: 20px; } .elementor-column-gap-wider > .elementor-column > .elementor-element-populated { padding: 30px; } .elementor-inner-section .elementor-column-gap-no .elementor-element-populated { padding: 0; } @media (min-width: ELEMENTOR_SCREEN_MOBILE_NEXT) { .elementor-column.elementor-col-10, .elementor-column[data-col="10"] { width: 10%; } .elementor-column.elementor-col-11, .elementor-column[data-col="11"] { width: 11.111%; } .elementor-column.elementor-col-12, .elementor-column[data-col="12"] { width: 12.5%; } .elementor-column.elementor-col-14, .elementor-column[data-col="14"] { width: 14.285%; } .elementor-column.elementor-col-16, .elementor-column[data-col="16"] { width: 16.666%; } .elementor-column.elementor-col-20, .elementor-column[data-col="20"] { width: 20%; } .elementor-column.elementor-col-25, .elementor-column[data-col="25"] { width: 25%; } .elementor-column.elementor-col-30, .elementor-column[data-col="30"] { width: 30%; } .elementor-column.elementor-col-33, .elementor-column[data-col="33"] { width: 33.333%; } .elementor-column.elementor-col-40, .elementor-column[data-col="40"] { width: 40%; } .elementor-column.elementor-col-50, .elementor-column[data-col="50"] { width: 50%; } .elementor-column.elementor-col-60, .elementor-column[data-col="60"] { width: 60%; } .elementor-column.elementor-col-66, .elementor-column[data-col="66"] { width: 66.666%; } .elementor-column.elementor-col-70, .elementor-column[data-col="70"] { width: 70%; } .elementor-column.elementor-col-75, .elementor-column[data-col="75"] { width: 75%; } .elementor-column.elementor-col-80, .elementor-column[data-col="80"] { width: 80%; } .elementor-column.elementor-col-83, .elementor-column[data-col="83"] { width: 83.333%; } .elementor-column.elementor-col-90, .elementor-column[data-col="90"] { width: 90%; } .elementor-column.elementor-col-100, .elementor-column[data-col="100"] { width: 100%; } } @media (max-width: 479px) { .elementor-column.elementor-xs-10 { width: 10%; } .elementor-column.elementor-xs-11 { width: 11.111%; } .elementor-column.elementor-xs-12 { width: 12.5%; } .elementor-column.elementor-xs-14 { width: 14.285%; } .elementor-column.elementor-xs-16 { width: 16.666%; } .elementor-column.elementor-xs-20 { width: 20%; } .elementor-column.elementor-xs-25 { width: 25%; } .elementor-column.elementor-xs-30 { width: 30%; } .elementor-column.elementor-xs-33 { width: 33.333%; } .elementor-column.elementor-xs-40 { width: 40%; } .elementor-column.elementor-xs-50 { width: 50%; } .elementor-column.elementor-xs-60 { width: 60%; } .elementor-column.elementor-xs-66 { width: 66.666%; } .elementor-column.elementor-xs-70 { width: 70%; } .elementor-column.elementor-xs-75 { width: 75%; } .elementor-column.elementor-xs-80 { width: 80%; } .elementor-column.elementor-xs-83 { width: 83.333%; } .elementor-column.elementor-xs-90 { width: 90%; } .elementor-column.elementor-xs-100 { width: 100%; } } @media (max-width: ELEMENTOR_SCREEN_MOBILE_MAX) { .elementor-column.elementor-sm-10 { width: 10%; } .elementor-column.elementor-sm-11 { width: 11.111%; } .elementor-column.elementor-sm-12 { width: 12.5%; } .elementor-column.elementor-sm-14 { width: 14.285%; } .elementor-column.elementor-sm-16 { width: 16.666%; } .elementor-column.elementor-sm-20 { width: 20%; } .elementor-column.elementor-sm-25 { width: 25%; } .elementor-column.elementor-sm-30 { width: 30%; } .elementor-column.elementor-sm-33 { width: 33.333%; } .elementor-column.elementor-sm-40 { width: 40%; } .elementor-column.elementor-sm-50 { width: 50%; } .elementor-column.elementor-sm-60 { width: 60%; } .elementor-column.elementor-sm-66 { width: 66.666%; } .elementor-column.elementor-sm-70 { width: 70%; } .elementor-column.elementor-sm-75 { width: 75%; } .elementor-column.elementor-sm-80 { width: 80%; } .elementor-column.elementor-sm-83 { width: 83.333%; } .elementor-column.elementor-sm-90 { width: 90%; } .elementor-column.elementor-sm-100 { width: 100%; } } @media (min-width: ELEMENTOR_SCREEN_MOBILE_NEXT) and (max-width: ELEMENTOR_SCREEN_TABLET_MAX) { .elementor-column.elementor-md-10 { width: 10%; } .elementor-column.elementor-md-11 { width: 11.111%; } .elementor-column.elementor-md-12 { width: 12.5%; } .elementor-column.elementor-md-14 { width: 14.285%; } .elementor-column.elementor-md-16 { width: 16.666%; } .elementor-column.elementor-md-20 { width: 20%; } .elementor-column.elementor-md-25 { width: 25%; } .elementor-column.elementor-md-30 { width: 30%; } .elementor-column.elementor-md-33 { width: 33.333%; } .elementor-column.elementor-md-40 { width: 40%; } .elementor-column.elementor-md-50 { width: 50%; } .elementor-column.elementor-md-60 { width: 60%; } .elementor-column.elementor-md-66 { width: 66.666%; } .elementor-column.elementor-md-70 { width: 70%; } .elementor-column.elementor-md-75 { width: 75%; } .elementor-column.elementor-md-80 { width: 80%; } .elementor-column.elementor-md-83 { width: 83.333%; } .elementor-column.elementor-md-90 { width: 90%; } .elementor-column.elementor-md-100 { width: 100%; } } @media (min-width: ELEMENTOR_SCREEN_WIDESCREEN_MIN) { .elementor-reverse-widescreen > .elementor-container > :nth-child(1) { order: 10; } .elementor-reverse-widescreen > .elementor-container > :nth-child(2) { order: 9; } .elementor-reverse-widescreen > .elementor-container > :nth-child(3) { order: 8; } .elementor-reverse-widescreen > .elementor-container > :nth-child(4) { order: 7; } .elementor-reverse-widescreen > .elementor-container > :nth-child(5) { order: 6; } .elementor-reverse-widescreen > .elementor-container > :nth-child(6) { order: 5; } .elementor-reverse-widescreen > .elementor-container > :nth-child(7) { order: 4; } .elementor-reverse-widescreen > .elementor-container > :nth-child(8) { order: 3; } .elementor-reverse-widescreen > .elementor-container > :nth-child(9) { order: 2; } .elementor-reverse-widescreen > .elementor-container > :nth-child(10) { order: 1; } } @media (min-width: ELEMENTOR_SCREEN_TABLET_NEXT) and (max-width: ELEMENTOR_SCREEN_LAPTOP_MAX) { .elementor-reverse-laptop > .elementor-container > :nth-child(1) { order: 10; } .elementor-reverse-laptop > .elementor-container > :nth-child(2) { order: 9; } .elementor-reverse-laptop > .elementor-container > :nth-child(3) { order: 8; } .elementor-reverse-laptop > .elementor-container > :nth-child(4) { order: 7; } .elementor-reverse-laptop > .elementor-container > :nth-child(5) { order: 6; } .elementor-reverse-laptop > .elementor-container > :nth-child(6) { order: 5; } .elementor-reverse-laptop > .elementor-container > :nth-child(7) { order: 4; } .elementor-reverse-laptop > .elementor-container > :nth-child(8) { order: 3; } .elementor-reverse-laptop > .elementor-container > :nth-child(9) { order: 2; } .elementor-reverse-laptop > .elementor-container > :nth-child(10) { order: 1; } } @media (min-width: ELEMENTOR_SCREEN_TABLET_EXTRA_NEXT) and (max-width: ELEMENTOR_SCREEN_LAPTOP_MAX) { .elementor-reverse-laptop > .elementor-container > :nth-child(1) { order: 10; } .elementor-reverse-laptop > .elementor-container > :nth-child(2) { order: 9; } .elementor-reverse-laptop > .elementor-container > :nth-child(3) { order: 8; } .elementor-reverse-laptop > .elementor-container > :nth-child(4) { order: 7; } .elementor-reverse-laptop > .elementor-container > :nth-child(5) { order: 6; } .elementor-reverse-laptop > .elementor-container > :nth-child(6) { order: 5; } .elementor-reverse-laptop > .elementor-container > :nth-child(7) { order: 4; } .elementor-reverse-laptop > .elementor-container > :nth-child(8) { order: 3; } .elementor-reverse-laptop > .elementor-container > :nth-child(9) { order: 2; } .elementor-reverse-laptop > .elementor-container > :nth-child(10) { order: 1; } } @media (min-width: ELEMENTOR_SCREEN_TABLET_NEXT) and (max-width: ELEMENTOR_SCREEN_TABLET_EXTRA_MAX) { .elementor-reverse-laptop > .elementor-container > :nth-child(1) { order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(2) { order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(3) { order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(4) { order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(5) { order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(6) { order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(7) { order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(8) { order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(9) { order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(10) { order: initial; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(1) { order: 10; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(2) { order: 9; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(3) { order: 8; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(4) { order: 7; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(5) { order: 6; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(6) { order: 5; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(7) { order: 4; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(8) { order: 3; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(9) { order: 2; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(10) { order: 1; } } @media (min-width: ELEMENTOR_SCREEN_MOBILE_NEXT) and (max-width: ELEMENTOR_SCREEN_TABLET_MAX) { .elementor-reverse-tablet > .elementor-container > :nth-child(1) { order: 10; } .elementor-reverse-tablet > .elementor-container > :nth-child(2) { order: 9; } .elementor-reverse-tablet > .elementor-container > :nth-child(3) { order: 8; } .elementor-reverse-tablet > .elementor-container > :nth-child(4) { order: 7; } .elementor-reverse-tablet > .elementor-container > :nth-child(5) { order: 6; } .elementor-reverse-tablet > .elementor-container > :nth-child(6) { order: 5; } .elementor-reverse-tablet > .elementor-container > :nth-child(7) { order: 4; } .elementor-reverse-tablet > .elementor-container > :nth-child(8) { order: 3; } .elementor-reverse-tablet > .elementor-container > :nth-child(9) { order: 2; } .elementor-reverse-tablet > .elementor-container > :nth-child(10) { order: 1; } } @media (min-width: ELEMENTOR_SCREEN_MOBILE_EXTRA_NEXT) and (max-width: ELEMENTOR_SCREEN_TABLET_MAX) { .elementor-reverse-tablet > .elementor-container > :nth-child(1) { order: 10; } .elementor-reverse-tablet > .elementor-container > :nth-child(2) { order: 9; } .elementor-reverse-tablet > .elementor-container > :nth-child(3) { order: 8; } .elementor-reverse-tablet > .elementor-container > :nth-child(4) { order: 7; } .elementor-reverse-tablet > .elementor-container > :nth-child(5) { order: 6; } .elementor-reverse-tablet > .elementor-container > :nth-child(6) { order: 5; } .elementor-reverse-tablet > .elementor-container > :nth-child(7) { order: 4; } .elementor-reverse-tablet > .elementor-container > :nth-child(8) { order: 3; } .elementor-reverse-tablet > .elementor-container > :nth-child(9) { order: 2; } .elementor-reverse-tablet > .elementor-container > :nth-child(10) { order: 1; } } @media (min-width: ELEMENTOR_SCREEN_MOBILE_NEXT) and (max-width: ELEMENTOR_SCREEN_MOBILE_EXTRA_MAX) { .elementor-reverse-tablet > .elementor-container > :nth-child(1) { order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(2) { order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(3) { order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(4) { order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(5) { order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(6) { order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(7) { order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(8) { order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(9) { order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(10) { order: initial; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(1) { order: 10; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(2) { order: 9; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(3) { order: 8; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(4) { order: 7; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(5) { order: 6; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(6) { order: 5; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(7) { order: 4; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(8) { order: 3; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(9) { order: 2; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(10) { order: 1; } } @media (max-width: ELEMENTOR_SCREEN_MOBILE_MAX) { .elementor-reverse-mobile > .elementor-container > :nth-child(1) { order: 10; } .elementor-reverse-mobile > .elementor-container > :nth-child(2) { order: 9; } .elementor-reverse-mobile > .elementor-container > :nth-child(3) { order: 8; } .elementor-reverse-mobile > .elementor-container > :nth-child(4) { order: 7; } .elementor-reverse-mobile > .elementor-container > :nth-child(5) { order: 6; } .elementor-reverse-mobile > .elementor-container > :nth-child(6) { order: 5; } .elementor-reverse-mobile > .elementor-container > :nth-child(7) { order: 4; } .elementor-reverse-mobile > .elementor-container > :nth-child(8) { order: 3; } .elementor-reverse-mobile > .elementor-container > :nth-child(9) { order: 2; } .elementor-reverse-mobile > .elementor-container > :nth-child(10) { order: 1; } .elementor-column { width: 100%; } } ul.elementor-icon-list-items.elementor-inline-items { display: flex; flex-wrap: wrap; } ul.elementor-icon-list-items.elementor-inline-items .elementor-inline-item { word-break: break-word; } .elementor-grid { display: grid; grid-column-gap: var(--grid-column-gap); grid-row-gap: var(--grid-row-gap); } .elementor-grid .elementor-grid-item { min-width: 0; } .elementor-grid-0 .elementor-grid { display: inline-block; width: 100%; word-spacing: var(--grid-column-gap); margin-bottom: calc(-1 * var(--grid-row-gap)); } .elementor-grid-0 .elementor-grid .elementor-grid-item { display: inline-block; margin-bottom: var(--grid-row-gap); word-break: break-word; } .elementor-grid-1 .elementor-grid { grid-template-columns: repeat(1, 1fr); } .elementor-grid-2 .elementor-grid { grid-template-columns: repeat(2, 1fr); } .elementor-grid-3 .elementor-grid { grid-template-columns: repeat(3, 1fr); } .elementor-grid-4 .elementor-grid { grid-template-columns: repeat(4, 1fr); } .elementor-grid-5 .elementor-grid { grid-template-columns: repeat(5, 1fr); } .elementor-grid-6 .elementor-grid { grid-template-columns: repeat(6, 1fr); } .elementor-grid-7 .elementor-grid { grid-template-columns: repeat(7, 1fr); } .elementor-grid-8 .elementor-grid { grid-template-columns: repeat(8, 1fr); } .elementor-grid-9 .elementor-grid { grid-template-columns: repeat(9, 1fr); } .elementor-grid-10 .elementor-grid { grid-template-columns: repeat(10, 1fr); } .elementor-grid-11 .elementor-grid { grid-template-columns: repeat(11, 1fr); } .elementor-grid-12 .elementor-grid { grid-template-columns: repeat(12, 1fr); } @media (min-width: ELEMENTOR_SCREEN_WIDESCREEN_MIN) { .elementor-grid-widescreen-0 .elementor-grid { display: inline-block; width: 100%; word-spacing: var(--grid-column-gap); margin-bottom: calc(-1 * var(--grid-row-gap)); } .elementor-grid-widescreen-0 .elementor-grid .elementor-grid-item { display: inline-block; margin-bottom: var(--grid-row-gap); word-break: break-word; } .elementor-grid-widescreen-1 .elementor-grid { grid-template-columns: repeat(1, 1fr); } .elementor-grid-widescreen-2 .elementor-grid { grid-template-columns: repeat(2, 1fr); } .elementor-grid-widescreen-3 .elementor-grid { grid-template-columns: repeat(3, 1fr); } .elementor-grid-widescreen-4 .elementor-grid { grid-template-columns: repeat(4, 1fr); } .elementor-grid-widescreen-5 .elementor-grid { grid-template-columns: repeat(5, 1fr); } .elementor-grid-widescreen-6 .elementor-grid { grid-template-columns: repeat(6, 1fr); } .elementor-grid-widescreen-7 .elementor-grid { grid-template-columns: repeat(7, 1fr); } .elementor-grid-widescreen-8 .elementor-grid { grid-template-columns: repeat(8, 1fr); } .elementor-grid-widescreen-9 .elementor-grid { grid-template-columns: repeat(9, 1fr); } .elementor-grid-widescreen-10 .elementor-grid { grid-template-columns: repeat(10, 1fr); } .elementor-grid-widescreen-11 .elementor-grid { grid-template-columns: repeat(11, 1fr); } .elementor-grid-widescreen-12 .elementor-grid { grid-template-columns: repeat(12, 1fr); } } @media (max-width: ELEMENTOR_SCREEN_LAPTOP_MAX) { .elementor-grid-laptop-0 .elementor-grid { display: inline-block; width: 100%; word-spacing: var(--grid-column-gap); margin-bottom: calc(-1 * var(--grid-row-gap)); } .elementor-grid-laptop-0 .elementor-grid .elementor-grid-item { display: inline-block; margin-bottom: var(--grid-row-gap); word-break: break-word; } .elementor-grid-laptop-1 .elementor-grid { grid-template-columns: repeat(1, 1fr); } .elementor-grid-laptop-2 .elementor-grid { grid-template-columns: repeat(2, 1fr); } .elementor-grid-laptop-3 .elementor-grid { grid-template-columns: repeat(3, 1fr); } .elementor-grid-laptop-4 .elementor-grid { grid-template-columns: repeat(4, 1fr); } .elementor-grid-laptop-5 .elementor-grid { grid-template-columns: repeat(5, 1fr); } .elementor-grid-laptop-6 .elementor-grid { grid-template-columns: repeat(6, 1fr); } .elementor-grid-laptop-7 .elementor-grid { grid-template-columns: repeat(7, 1fr); } .elementor-grid-laptop-8 .elementor-grid { grid-template-columns: repeat(8, 1fr); } .elementor-grid-laptop-9 .elementor-grid { grid-template-columns: repeat(9, 1fr); } .elementor-grid-laptop-10 .elementor-grid { grid-template-columns: repeat(10, 1fr); } .elementor-grid-laptop-11 .elementor-grid { grid-template-columns: repeat(11, 1fr); } .elementor-grid-laptop-12 .elementor-grid { grid-template-columns: repeat(12, 1fr); } } @media (max-width: ELEMENTOR_SCREEN_TABLET_EXTRA_MAX) { .elementor-grid-tablet_extra-0 .elementor-grid { display: inline-block; width: 100%; word-spacing: var(--grid-column-gap); margin-bottom: calc(-1 * var(--grid-row-gap)); } .elementor-grid-tablet_extra-0 .elementor-grid .elementor-grid-item { display: inline-block; margin-bottom: var(--grid-row-gap); word-break: break-word; } .elementor-grid-tablet_extra-1 .elementor-grid { grid-template-columns: repeat(1, 1fr); } .elementor-grid-tablet_extra-2 .elementor-grid { grid-template-columns: repeat(2, 1fr); } .elementor-grid-tablet_extra-3 .elementor-grid { grid-template-columns: repeat(3, 1fr); } .elementor-grid-tablet_extra-4 .elementor-grid { grid-template-columns: repeat(4, 1fr); } .elementor-grid-tablet_extra-5 .elementor-grid { grid-template-columns: repeat(5, 1fr); } .elementor-grid-tablet_extra-6 .elementor-grid { grid-template-columns: repeat(6, 1fr); } .elementor-grid-tablet_extra-7 .elementor-grid { grid-template-columns: repeat(7, 1fr); } .elementor-grid-tablet_extra-8 .elementor-grid { grid-template-columns: repeat(8, 1fr); } .elementor-grid-tablet_extra-9 .elementor-grid { grid-template-columns: repeat(9, 1fr); } .elementor-grid-tablet_extra-10 .elementor-grid { grid-template-columns: repeat(10, 1fr); } .elementor-grid-tablet_extra-11 .elementor-grid { grid-template-columns: repeat(11, 1fr); } .elementor-grid-tablet_extra-12 .elementor-grid { grid-template-columns: repeat(12, 1fr); } } @media (max-width: ELEMENTOR_SCREEN_TABLET_MAX) { .elementor-grid-tablet-0 .elementor-grid { display: inline-block; width: 100%; word-spacing: var(--grid-column-gap); margin-bottom: calc(-1 * var(--grid-row-gap)); } .elementor-grid-tablet-0 .elementor-grid .elementor-grid-item { display: inline-block; margin-bottom: var(--grid-row-gap); word-break: break-word; } .elementor-grid-tablet-1 .elementor-grid { grid-template-columns: repeat(1, 1fr); } .elementor-grid-tablet-2 .elementor-grid { grid-template-columns: repeat(2, 1fr); } .elementor-grid-tablet-3 .elementor-grid { grid-template-columns: repeat(3, 1fr); } .elementor-grid-tablet-4 .elementor-grid { grid-template-columns: repeat(4, 1fr); } .elementor-grid-tablet-5 .elementor-grid { grid-template-columns: repeat(5, 1fr); } .elementor-grid-tablet-6 .elementor-grid { grid-template-columns: repeat(6, 1fr); } .elementor-grid-tablet-7 .elementor-grid { grid-template-columns: repeat(7, 1fr); } .elementor-grid-tablet-8 .elementor-grid { grid-template-columns: repeat(8, 1fr); } .elementor-grid-tablet-9 .elementor-grid { grid-template-columns: repeat(9, 1fr); } .elementor-grid-tablet-10 .elementor-grid { grid-template-columns: repeat(10, 1fr); } .elementor-grid-tablet-11 .elementor-grid { grid-template-columns: repeat(11, 1fr); } .elementor-grid-tablet-12 .elementor-grid { grid-template-columns: repeat(12, 1fr); } } @media (max-width: ELEMENTOR_SCREEN_MOBILE_EXTRA_MAX) { .elementor-grid-mobile_extra-0 .elementor-grid { display: inline-block; width: 100%; word-spacing: var(--grid-column-gap); margin-bottom: calc(-1 * var(--grid-row-gap)); } .elementor-grid-mobile_extra-0 .elementor-grid .elementor-grid-item { display: inline-block; margin-bottom: var(--grid-row-gap); word-break: break-word; } .elementor-grid-mobile_extra-1 .elementor-grid { grid-template-columns: repeat(1, 1fr); } .elementor-grid-mobile_extra-2 .elementor-grid { grid-template-columns: repeat(2, 1fr); } .elementor-grid-mobile_extra-3 .elementor-grid { grid-template-columns: repeat(3, 1fr); } .elementor-grid-mobile_extra-4 .elementor-grid { grid-template-columns: repeat(4, 1fr); } .elementor-grid-mobile_extra-5 .elementor-grid { grid-template-columns: repeat(5, 1fr); } .elementor-grid-mobile_extra-6 .elementor-grid { grid-template-columns: repeat(6, 1fr); } .elementor-grid-mobile_extra-7 .elementor-grid { grid-template-columns: repeat(7, 1fr); } .elementor-grid-mobile_extra-8 .elementor-grid { grid-template-columns: repeat(8, 1fr); } .elementor-grid-mobile_extra-9 .elementor-grid { grid-template-columns: repeat(9, 1fr); } .elementor-grid-mobile_extra-10 .elementor-grid { grid-template-columns: repeat(10, 1fr); } .elementor-grid-mobile_extra-11 .elementor-grid { grid-template-columns: repeat(11, 1fr); } .elementor-grid-mobile_extra-12 .elementor-grid { grid-template-columns: repeat(12, 1fr); } } @media (max-width: ELEMENTOR_SCREEN_MOBILE_MAX) { .elementor-grid-mobile-0 .elementor-grid { display: inline-block; width: 100%; word-spacing: var(--grid-column-gap); margin-bottom: calc(-1 * var(--grid-row-gap)); } .elementor-grid-mobile-0 .elementor-grid .elementor-grid-item { display: inline-block; margin-bottom: var(--grid-row-gap); word-break: break-word; } .elementor-grid-mobile-1 .elementor-grid { grid-template-columns: repeat(1, 1fr); } .elementor-grid-mobile-2 .elementor-grid { grid-template-columns: repeat(2, 1fr); } .elementor-grid-mobile-3 .elementor-grid { grid-template-columns: repeat(3, 1fr); } .elementor-grid-mobile-4 .elementor-grid { grid-template-columns: repeat(4, 1fr); } .elementor-grid-mobile-5 .elementor-grid { grid-template-columns: repeat(5, 1fr); } .elementor-grid-mobile-6 .elementor-grid { grid-template-columns: repeat(6, 1fr); } .elementor-grid-mobile-7 .elementor-grid { grid-template-columns: repeat(7, 1fr); } .elementor-grid-mobile-8 .elementor-grid { grid-template-columns: repeat(8, 1fr); } .elementor-grid-mobile-9 .elementor-grid { grid-template-columns: repeat(9, 1fr); } .elementor-grid-mobile-10 .elementor-grid { grid-template-columns: repeat(10, 1fr); } .elementor-grid-mobile-11 .elementor-grid { grid-template-columns: repeat(11, 1fr); } .elementor-grid-mobile-12 .elementor-grid { grid-template-columns: repeat(12, 1fr); } } @media (min-width: ELEMENTOR_SCREEN_DESKTOP_MIN) { #elementor-device-mode:after { content: "desktop"; } } @media (min-width: ELEMENTOR_SCREEN_WIDESCREEN_MIN) { #elementor-device-mode:after { content: "widescreen"; } } @media (max-width: ELEMENTOR_SCREEN_LAPTOP_MAX) { #elementor-device-mode:after { content: "laptop"; } } @media (max-width: ELEMENTOR_SCREEN_TABLET_EXTRA_MAX) { #elementor-device-mode:after { content: "tablet_extra"; } } @media (max-width: ELEMENTOR_SCREEN_TABLET_MAX) { #elementor-device-mode:after { content: "tablet"; } } @media (max-width: ELEMENTOR_SCREEN_MOBILE_EXTRA_MAX) { #elementor-device-mode:after { content: "mobile_extra"; } } @media (max-width: ELEMENTOR_SCREEN_MOBILE_MAX) { #elementor-device-mode:after { content: "mobile"; } } .e-container { --border-radius: 0; --display: flex; --flex-direction: column; --flex-basis: auto; --flex-grow: 0; --flex-shrink: 1; --content-width: Min( 100%, var( --container-max-width, 1140px ) ); --width: 100%; --min-height: initial; --height: auto; --text-align: initial; --margin-top: 0; --margin-right: 0; --margin-bottom: 0; --margin-left: 0; --padding-top: var( --container-default-padding, 0px ); --padding-right: var( --container-default-padding, 0px ); --padding-bottom: var( --container-default-padding, 0px ); --padding-left: var( --container-default-padding, 0px ); --position: relative; --z-index: revert; --overflow: visible; --transition: 0; --gap: var( --widgets-spacing, 20px ); --overlay-mix-blend-mode: initial; --overlay-opacity: 1; --overlay-transition: 0; position: var(--position); display: var(--display); text-align: var(--text-align); flex-direction: var(--flex-direction); flex: var(--flex-grow) var(--flex-shrink) var(--flex-basis); width: var(--width); min-width: 0; max-width: min(100%, var(--width)); min-height: var(--min-height); height: var(--height); border-radius: var(--border-radius); margin: var(--margin-top) var(--margin-right) var(--margin-bottom) var(--margin-left); padding-left: calc((100% - var(--content-width)) / 2 + var(--padding-left)); padding-right: calc((100% - var(--content-width)) / 2 + var(--padding-right)); padding-top: var(--padding-top); padding-bottom: var(--padding-bottom); z-index: var(--z-index); overflow: var(--overflow); transition: var(--transition); } :is(.elementor-section-wrap, [data-elementor-id]) > .e-container { --margin-right: auto; --margin-left: auto; } .e-container .elementor-empty-view { position: relative; width: 100%; height: 100%; min-height: var(--min-height, 100px); } .e-container .elementor-empty-view .elementor-first-add { width: auto; height: auto; inset: 10px; } .e-container .elementor-widget-placeholder { --size: 10px; --margin-start: calc( -1 * var( --size ) ); --margin-end: calc( -2 * var( --size ) ); flex-shrink: 0; align-self: stretch; z-index: 1; pointer-events: none; } .e-container.e-container--row > .elementor-widget-placeholder { position: relative; z-index: 9999; width: var(--size); margin-inline-start: var(--margin-start); height: auto; min-height: 100%; animation-name: dnd-placeholder-widget-vertical; animation-fill-mode: both; } .e-container.e-container--row[data-nesting-level]:not([data-nesting-level="0"]) > .elementor-widget-placeholder { margin-inline-end: 0; margin-inline-start: calc(var(--margin-start) + var(--margin-end)); } .e-container.e-container--row[data-nesting-level]:not([data-nesting-level="0"]) > :not(.elementor-element) + .elementor-widget-placeholder { margin-inline-end: var(--margin-end); margin-inline-start: var(--margin-start); } .e-container.e-container--column > .elementor-widget-placeholder { height: var(--size); margin-block-start: var(--margin-start); margin-block-end: var(--margin-end); animation-name: dnd-placeholder-widget-horizontal; } .e-container.e-container--column > .elementor-widget-placeholder:nth-last-child(2) { margin-block-start: calc(2 * var(--margin-start)); --margin-end: 0; } .e-container .elementor-sortable-helper { height: 84px; width: 125px; z-index: -1; } .e-container .elementor-widget.elementor-widget { margin-bottom: 0; } .e-container::before { content: var(--background-overlay); display: block; position: absolute; z-index: 0; width: 100%; height: 100%; left: 0; top: 0; mix-blend-mode: var(--overlay-mix-blend-mode); opacity: var(--overlay-opacity); transition: var(--overlay-transition); border-radius: var(--border-radius); } .e-container .elementor-widget { min-width: 0; } .e-container .elementor-widget-video, .e-container .elementor-widget-google_maps { flex-basis: 100%; } .e-container .elementor-widget.e-widget-swiper { max-width: 100%; flex-basis: 100%; } .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-setting, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-setting { position: relative; background-color: #556068; } .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-setting:hover, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-setting:hover { background-color: #495157; } .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-setting.elementor-editor-element-add, .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-setting.elementor-editor-element-edit + .elementor-editor-element-remove, .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-setting:first-child::before, .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-setting:last-child::after, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-setting.elementor-editor-element-add, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-setting.elementor-editor-element-edit + .elementor-editor-element-remove, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-setting:first-child::before, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-setting:last-child::after { display: none; } .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-setting:not(.elementor-editor-element-edit), .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-setting:not(.elementor-editor-element-edit) { margin-inline-start: -25px; z-index: -1; transition: 0.3s all; will-change: margin-inline-start; } .e-container > .e-container > .elementor-element-overlay > .elementor-editor-element-settings:hover > :is(.elementor-editor-element-duplicate, .elementor-editor-element-remove), .elementor-widget .e-container > .elementor-element-overlay > .elementor-editor-element-settings:hover > :is(.elementor-editor-element-duplicate, .elementor-editor-element-remove) { margin-inline-start: 0; } .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-settings, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-settings { inset: initial; transform: none; inset-inline-start: 0; top: 0; border-radius: 0; border-end-end-radius: 3px; height: auto; background-color: #556068; } .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-settings:hover, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-settings:hover { background-color: #495157; } .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-settings i.eicon-handle::before, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-settings i.eicon-handle::before { content: "\e9b4"; font-size: 20px; display: block; padding: 2px; } @media (max-width: 767px) { .e-container { --width: 100%; --flex-wrap: wrap; } } @keyframes dnd-placeholder-widget-vertical { 0% { transform-origin: 0 50%; transform: translateX(50%) scaleX(0); opacity: 0; } 100% { transform-origin: 0 50%; transform: translateX(50%) scaleX(1); opacity: 0.9; } } @keyframes dnd-placeholder-widget-horizontal { 0% { transform-origin: 50% 0; transform: scaleY(0); opacity: 0; } 100% { transform-origin: 50% 0; transform: scaleY(1); opacity: 0.9; } } .elementor-form-fields-wrapper { display: flex; flex-wrap: wrap; } .elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group > input, .elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group > textarea, .elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group > .elementor-select-wrapper, .elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group .elementor-field-subgroup { flex-basis: 100%; max-width: 100%; } .elementor-form-fields-wrapper.elementor-labels-inline > .elementor-field-group > input, .elementor-form-fields-wrapper.elementor-labels-inline > .elementor-field-group .elementor-select-wrapper { flex-grow: 1; } .elementor-field-group { flex-wrap: wrap; align-items: center; } .elementor-field-group.elementor-field-type-submit { align-items: flex-end; } .elementor-field-group .elementor-field-textual { width: 100%; max-width: 100%; border: 1px solid #818a91; background-color: transparent; color: #373a3c; vertical-align: middle; flex-grow: 1; } .elementor-field-group .elementor-field-textual:focus { box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1) inset; outline: 0; } .elementor-field-group .elementor-field-textual::-webkit-input-placeholder { color: inherit; font-family: inherit; opacity: 0.6; } .elementor-field-group .elementor-field-textual:-ms-input-placeholder { color: inherit; font-family: inherit; opacity: 0.6; } .elementor-field-group .elementor-field-textual::-moz-placeholder { color: inherit; font-family: inherit; opacity: 0.6; } .elementor-field-group .elementor-field-textual:-moz-placeholder { color: inherit; font-family: inherit; opacity: 0.6; } .elementor-field-group .elementor-field-textual::placeholder { color: inherit; font-family: inherit; opacity: 0.6; } .elementor-field-group .elementor-select-wrapper { display: flex; position: relative; width: 100%; } .elementor-field-group .elementor-select-wrapper select { appearance: none; -webkit-appearance: none; -moz-appearance: none; color: inherit; font-size: inherit; font-family: inherit; font-weight: inherit; font-style: inherit; text-transform: inherit; letter-spacing: inherit; line-height: inherit; flex-basis: 100%; padding-right: 20px; } .elementor-field-group .elementor-select-wrapper:before { content: "\e92a"; font-family: "eicons"; font-size: 15px; position: absolute; top: 50%; transform: translateY(-50%); right: 10px; pointer-events: none; text-shadow: 0 0 3px rgba(0, 0, 0, 0.3); } .elementor-field-group.elementor-field-type-select-multiple .elementor-select-wrapper:before { content: ""; } .elementor-field-subgroup { display: flex; flex-wrap: wrap; } .elementor-field-subgroup .elementor-field-option label { display: inline-block; } .elementor-field-subgroup.elementor-subgroup-inline .elementor-field-option { padding-right: 10px; } .elementor-field-subgroup:not(.elementor-subgroup-inline) .elementor-field-option { flex-basis: 100%; } .elementor-field-type-checkbox .elementor-field-subgroup .elementor-field-option input, .elementor-field-type-checkbox .elementor-field-subgroup .elementor-field-option label, .elementor-field-type-radio .elementor-field-subgroup .elementor-field-option input, .elementor-field-type-radio .elementor-field-subgroup .elementor-field-option label, .elementor-field-type-acceptance .elementor-field-subgroup .elementor-field-option input, .elementor-field-type-acceptance .elementor-field-subgroup .elementor-field-option label { display: inline; } .elementor-field-label { cursor: pointer; } .elementor-mark-required .elementor-field-label:after { content: "*"; color: red; padding-left: 0.2em; } .elementor-field-textual { line-height: 1.4; font-size: 15px; min-height: 40px; padding: 5px 14px; border-radius: 3px; } .elementor-field-textual.elementor-size-xs { font-size: 13px; min-height: 33px; padding: 4px 12px; border-radius: 2px; } .elementor-field-textual.elementor-size-md { font-size: 16px; min-height: 47px; padding: 6px 16px; border-radius: 4px; } .elementor-field-textual.elementor-size-lg { font-size: 18px; min-height: 59px; padding: 7px 20px; border-radius: 5px; } .elementor-field-textual.elementor-size-xl { font-size: 20px; min-height: 72px; padding: 8px 24px; border-radius: 6px; } .elementor-button-align-stretch .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button { flex-basis: 100%; } .elementor-button-align-stretch .e-form__buttons__wrapper { flex-basis: 50%; flex-grow: 1; } .elementor-button-align-stretch .e-form__buttons__wrapper__button { flex-basis: 100%; } .elementor-button-align-center .elementor-field-type-submit, .elementor-button-align-center .e-form__buttons { justify-content: center; } .elementor-button-align-start .elementor-field-type-submit, .elementor-button-align-start .e-form__buttons { justify-content: flex-start; } .elementor-button-align-end .elementor-field-type-submit, .elementor-button-align-end .e-form__buttons { justify-content: flex-end; } .elementor-button-align-center .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button, .elementor-button-align-start .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button, .elementor-button-align-end .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button { flex-basis: initial; } .elementor-button-align-center .e-form__buttons__wrapper, .elementor-button-align-start .e-form__buttons__wrapper, .elementor-button-align-end .e-form__buttons__wrapper { flex-grow: initial; } .elementor-button-align-center .e-form__buttons__wrapper, .elementor-button-align-center .e-form__buttons__wrapper__button, .elementor-button-align-start .e-form__buttons__wrapper, .elementor-button-align-start .e-form__buttons__wrapper__button, .elementor-button-align-end .e-form__buttons__wrapper, .elementor-button-align-end .e-form__buttons__wrapper__button { flex-basis: initial; } @media screen and (max-width: ELEMENTOR_SCREEN_TABLET_MAX) { .elementor-tablet-button-align-stretch .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button { flex-basis: 100%; } .elementor-tablet-button-align-stretch .e-form__buttons__wrapper { flex-basis: 50%; flex-grow: 1; } .elementor-tablet-button-align-stretch .e-form__buttons__wrapper__button { flex-basis: 100%; } .elementor-tablet-button-align-center .elementor-field-type-submit, .elementor-tablet-button-align-center .e-form__buttons { justify-content: center; } .elementor-tablet-button-align-start .elementor-field-type-submit, .elementor-tablet-button-align-start .e-form__buttons { justify-content: flex-start; } .elementor-tablet-button-align-end .elementor-field-type-submit, .elementor-tablet-button-align-end .e-form__buttons { justify-content: flex-end; } .elementor-tablet-button-align-center .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button, .elementor-tablet-button-align-start .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button, .elementor-tablet-button-align-end .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button { flex-basis: initial; } .elementor-tablet-button-align-center .e-form__buttons__wrapper, .elementor-tablet-button-align-start .e-form__buttons__wrapper, .elementor-tablet-button-align-end .e-form__buttons__wrapper { flex-grow: initial; } .elementor-tablet-button-align-center .e-form__buttons__wrapper, .elementor-tablet-button-align-center .e-form__buttons__wrapper__button, .elementor-tablet-button-align-start .e-form__buttons__wrapper, .elementor-tablet-button-align-start .e-form__buttons__wrapper__button, .elementor-tablet-button-align-end .e-form__buttons__wrapper, .elementor-tablet-button-align-end .e-form__buttons__wrapper__button { flex-basis: initial; } } @media screen and (max-width: ELEMENTOR_SCREEN_MOBILE_MAX) { .elementor-mobile-button-align-stretch .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button { flex-basis: 100%; } .elementor-mobile-button-align-stretch .e-form__buttons__wrapper { flex-basis: 50%; flex-grow: 1; } .elementor-mobile-button-align-stretch .e-form__buttons__wrapper__button { flex-basis: 100%; } .elementor-mobile-button-align-center .elementor-field-type-submit, .elementor-mobile-button-align-center .e-form__buttons { justify-content: center; } .elementor-mobile-button-align-start .elementor-field-type-submit, .elementor-mobile-button-align-start .e-form__buttons { justify-content: flex-start; } .elementor-mobile-button-align-end .elementor-field-type-submit, .elementor-mobile-button-align-end .e-form__buttons { justify-content: flex-end; } .elementor-mobile-button-align-center .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button, .elementor-mobile-button-align-start .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button, .elementor-mobile-button-align-end .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button { flex-basis: initial; } .elementor-mobile-button-align-center .e-form__buttons__wrapper, .elementor-mobile-button-align-start .e-form__buttons__wrapper, .elementor-mobile-button-align-end .e-form__buttons__wrapper { flex-grow: initial; } .elementor-mobile-button-align-center .e-form__buttons__wrapper, .elementor-mobile-button-align-center .e-form__buttons__wrapper__button, .elementor-mobile-button-align-start .e-form__buttons__wrapper, .elementor-mobile-button-align-start .e-form__buttons__wrapper__button, .elementor-mobile-button-align-end .e-form__buttons__wrapper, .elementor-mobile-button-align-end .e-form__buttons__wrapper__button { flex-basis: initial; } } .elementor-error .elementor-field { border-color: #d9534f; } .elementor-error .help-inline { color: #d9534f; font-size: 0.9em; } .elementor-message { margin: 10px 0; font-size: 1em; line-height: 1; } .elementor-message:before { content: "\e90e"; display: inline-block; font-family: eicons; font-weight: normal; font-style: normal; vertical-align: middle; margin-right: 5px; } .elementor-message.elementor-message-danger { color: #d9534f; } .elementor-message.elementor-message-danger:before { content: "\e87f"; } .elementor-message.form-message-success { color: #5cb85c; } .elementor-form .elementor-button { padding-top: 0; padding-bottom: 0; border: none; } .elementor-form .elementor-button > span { display: flex; justify-content: center; } .elementor-form .elementor-button.elementor-size-xs { min-height: 33px; } .elementor-form .elementor-button.elementor-size-sm { min-height: 40px; } .elementor-form .elementor-button.elementor-size-md { min-height: 47px; } .elementor-form .elementor-button.elementor-size-lg { min-height: 59px; } .elementor-form .elementor-button.elementor-size-xl { min-height: 72px; } .elementor-element .elementor-widget-container { transition: background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s; } .elementor-button { display: inline-block; line-height: 1; background-color: #818a91; font-size: 15px; padding: 12px 24px; border-radius: 3px; color: #fff; fill: #fff; text-align: center; transition: all 0.3s; } .elementor-button:hover, .elementor-button:focus, .elementor-button:visited { color: #fff; } .elementor-button-content-wrapper { display: flex; justify-content: center; } .elementor-button-icon { flex-grow: 0; order: 5; } .elementor-button-icon svg { width: 1em; height: auto; } .elementor-button-icon .e-font-icon-svg { height: 1em; } .elementor-button-text { flex-grow: 1; order: 10; display: inline-block; } .elementor-button.elementor-size-xs { font-size: 13px; padding: 10px 20px; border-radius: 2px; } .elementor-button.elementor-size-md { font-size: 16px; padding: 15px 30px; border-radius: 4px; } .elementor-button.elementor-size-lg { font-size: 18px; padding: 20px 40px; border-radius: 5px; } .elementor-button.elementor-size-xl { font-size: 20px; padding: 25px 50px; border-radius: 6px; } .elementor-button .elementor-align-icon-right { margin-left: 5px; order: 15; } .elementor-button .elementor-align-icon-left { margin-right: 5px; order: 5; } .elementor-button span { text-decoration: inherit; } .elementor-element.elementor-button-info .elementor-button { background-color: #5bc0de; } .elementor-element.elementor-button-success .elementor-button { background-color: #5cb85c; } .elementor-element.elementor-button-warning .elementor-button { background-color: #f0ad4e; } .elementor-element.elementor-button-danger .elementor-button { background-color: #d9534f; } .elementor-widget-button .elementor-button .elementor-button-info { background-color: #5bc0de; } .elementor-widget-button .elementor-button .elementor-button-success { background-color: #5cb85c; } .elementor-widget-button .elementor-button .elementor-button-warning { background-color: #f0ad4e; } .elementor-widget-button .elementor-button .elementor-button-danger { background-color: #d9534f; } .elementor-tab-title a { color: inherit; } .elementor-view-stacked .elementor-icon { padding: 0.5em; background-color: #818a91; color: #fff; fill: #fff; } .elementor-view-framed .elementor-icon { padding: 0.5em; color: #818a91; border: 3px solid #818a91; background-color: transparent; } .elementor-icon { display: inline-block; line-height: 1; transition: all 0.3s; color: #818a91; font-size: 50px; text-align: center; } .elementor-icon:hover { color: #818a91; } .elementor-icon i, .elementor-icon svg { width: 1em; height: 1em; position: relative; display: block; } .elementor-icon i:before, .elementor-icon svg:before { position: absolute; left: 50%; transform: translateX(-50%); } .elementor-icon i.fad { width: initial; } .elementor-shape-circle .elementor-icon { border-radius: 50%; } .e-transform .elementor-widget-container { transform: perspective(var(--e-transform-perspective, 0)) rotateZ(var(--e-transform-rotateZ, 0)) rotateX(var(--e-transform-rotateX, 0)) rotateY(var(--e-transform-rotateY, 0)) translate(var(--e-transform-translate, 0)) translateX(var(--e-transform-translateX, 0)) translateY(var(--e-transform-translateY, 0)) scaleX(calc(var(--e-transform-flipX, 1) * var(--e-transform-scaleX, var(--e-transform-scale, 1)))) scaleY(calc(var(--e-transform-flipY, 1) * var(--e-transform-scaleY, var(--e-transform-scale, 1)))) skewX(var(--e-transform-skewX, 0)) skewY(var(--e-transform-skewY, 0)); transform-origin: var(--e-transform-origin-y) var(--e-transform-origin-x); transition: transform var(--e-transform-transition-duration, 400ms); } /** * Swiper 3.4.2 * Customized by Elementor team */ .swiper-container { margin-left: auto; margin-right: auto; position: relative; overflow: hidden; /* Fix of Webkit flickering */ z-index: 1; } .swiper-container .swiper-slide figure { line-height: 0; } .swiper-container .elementor-lightbox-content-source { display: none; } .swiper-container-no-flexbox .swiper-slide { float: left; } .swiper-container-vertical > .swiper-wrapper { flex-direction: column; } .swiper-wrapper { position: relative; width: 100%; height: 100%; z-index: 1; display: flex; transition-property: transform; box-sizing: content-box; } .swiper-container-android .swiper-slide, .swiper-wrapper { transform: translate3d(0px, 0, 0); } .swiper-container-multirow > .swiper-wrapper { flex-wrap: wrap; } .swiper-container-free-mode > .swiper-wrapper { transition-timing-function: ease-out; margin: 0 auto; } .swiper-slide { flex-shrink: 0; width: 100%; height: 100%; position: relative; } /* Auto Height */ .swiper-container-autoheight { height: auto; } .swiper-container-autoheight .swiper-slide { height: auto; } .swiper-container-autoheight .swiper-wrapper { align-items: flex-start; transition-property: transform, height; } /* a11y */ .swiper-container .swiper-notification { position: absolute; left: 0; top: 0; pointer-events: none; opacity: 0; z-index: -1000; } /* IE10 Windows Phone 8 Fixes */ .swiper-wp8-horizontal { touch-action: pan-y; } .swiper-wp8-vertical { touch-action: pan-x; } /* Arrows */ .swiper-button-prev, .swiper-button-next { position: absolute; top: 50%; width: 27px; height: 44px; margin-top: -22px; z-index: 10; cursor: pointer; background-size: 27px 44px; background: no-repeat center; } .swiper-button-prev.swiper-button-disabled, .swiper-button-next.swiper-button-disabled { opacity: 0.35; cursor: auto; pointer-events: none; } .swiper-button-prev, .swiper-container-rtl .swiper-button-next { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E"); left: 10px; right: auto; } .swiper-button-prev.swiper-button-black, .swiper-container-rtl .swiper-button-next.swiper-button-black { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); } .swiper-button-prev.swiper-button-white, .swiper-container-rtl .swiper-button-next.swiper-button-white { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); } .swiper-button-next, .swiper-container-rtl .swiper-button-prev { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E"); right: 10px; left: auto; } .swiper-button-next.swiper-button-black, .swiper-container-rtl .swiper-button-prev.swiper-button-black { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); } .swiper-button-next.swiper-button-white, .swiper-container-rtl .swiper-button-prev.swiper-button-white { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); } /* Pagination Styles */ .swiper-pagination { position: absolute; text-align: center; transition: 300ms; transform: translate3d(0, 0, 0); z-index: 10; } .swiper-pagination.swiper-pagination-hidden { opacity: 0; } /* Common Styles */ .swiper-pagination-fraction, .swiper-pagination-custom, .swiper-container-horizontal > .swiper-pagination-bullets { bottom: 5px; left: 0; width: 100%; } /* Bullets */ .swiper-pagination-bullet { width: 6px; height: 6px; display: inline-block; border-radius: 50%; background: #000; opacity: 0.2; } .swiper-pagination-fraction { color: #000; } button.swiper-pagination-bullet { border: none; margin: 0; padding: 0; box-shadow: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; } .swiper-pagination-clickable .swiper-pagination-bullet { cursor: pointer; } .swiper-pagination-white .swiper-pagination-bullet { background: #fff; } .swiper-pagination-bullet-active { opacity: 1; } .swiper-pagination-white .swiper-pagination-bullet-active { background: #fff; } .swiper-pagination-black .swiper-pagination-bullet-active { background: #000; } .swiper-container-vertical > .swiper-pagination-bullets { right: 10px; top: 50%; transform: translate3d(0px, -50%, 0); } .swiper-container-vertical > .swiper-pagination-bullets .swiper-pagination-bullet { margin: 5px 0; display: block; } .swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet { margin: 0 6px; } /* Progressbar */ .swiper-pagination-progressbar { background: rgba(0, 0, 0, 0.25); position: absolute; } .swiper-pagination-progressbar .swiper-pagination-progressbar-fill { background: #000; position: absolute; left: 0; top: 0; width: 100%; height: 100%; transform: scale(0); transform-origin: left top; } .swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill { transform-origin: right top; } .swiper-container-horizontal > .swiper-pagination-progressbar { width: 100%; height: 4px; left: 0; top: 0; } .swiper-container-vertical > .swiper-pagination-progressbar { width: 4px; height: 100%; left: 0; top: 0; } .swiper-pagination-progressbar.swiper-pagination-white { background: rgba(255, 255, 255, 0.5); } .swiper-pagination-progressbar.swiper-pagination-white .swiper-pagination-progressbar-fill { background: #fff; } .swiper-pagination-progressbar.swiper-pagination-black .swiper-pagination-progressbar-fill { background: #000; } /* 3D Container */ .swiper-container-3d { perspective: 1200px; } .swiper-container-3d .swiper-wrapper, .swiper-container-3d .swiper-slide, .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top, .swiper-container-3d .swiper-slide-shadow-bottom, .swiper-container-3d .swiper-cube-shadow { transform-style: preserve-3d; } .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top, .swiper-container-3d .swiper-slide-shadow-bottom { position: absolute; left: 0; top: 0; width: 100%; height: 100%; pointer-events: none; z-index: 10; } .swiper-container-3d .swiper-slide-shadow-left { background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); } .swiper-container-3d .swiper-slide-shadow-right { background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); } .swiper-container-3d .swiper-slide-shadow-top { background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); } .swiper-container-3d .swiper-slide-shadow-bottom { background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); } /* Coverflow */ .swiper-container-coverflow .swiper-wrapper, .swiper-container-flip .swiper-wrapper { /* Windows 8 IE 10 fix */ -ms-perspective: 1200px; } /* Cube + Flip */ .swiper-container-cube, .swiper-container-flip { overflow: visible; } .swiper-container-cube .swiper-slide, .swiper-container-flip .swiper-slide { pointer-events: none; z-index: 1; } .swiper-container-cube .swiper-slide .swiper-slide, .swiper-container-flip .swiper-slide .swiper-slide { pointer-events: none; } .swiper-container-cube .swiper-slide-active, .swiper-container-flip .swiper-slide-active, .swiper-container-cube .swiper-slide-active .swiper-slide-active, .swiper-container-flip .swiper-slide-active .swiper-slide-active { pointer-events: auto; } .swiper-container-cube .swiper-slide-shadow-top, .swiper-container-flip .swiper-slide-shadow-top, .swiper-container-cube .swiper-slide-shadow-bottom, .swiper-container-flip .swiper-slide-shadow-bottom, .swiper-container-cube .swiper-slide-shadow-left, .swiper-container-flip .swiper-slide-shadow-left, .swiper-container-cube .swiper-slide-shadow-right, .swiper-container-flip .swiper-slide-shadow-right { z-index: 0; backface-visibility: hidden; } /* Cube */ .swiper-container-cube .swiper-slide { visibility: hidden; transform-origin: 0 0; width: 100%; height: 100%; } .swiper-container-cube.swiper-container-rtl .swiper-slide { transform-origin: 100% 0; } .swiper-container-cube .swiper-slide-active, .swiper-container-cube .swiper-slide-next, .swiper-container-cube .swiper-slide-prev, .swiper-container-cube .swiper-slide-next + .swiper-slide { pointer-events: auto; visibility: visible; } .swiper-container-cube .swiper-cube-shadow { position: absolute; left: 0; bottom: 0; width: 100%; height: 100%; background: #000; opacity: 0.6; -webkit-filter: blur(50px); filter: blur(50px); z-index: 0; } /* Fade */ .swiper-container-fade.swiper-container-free-mode .swiper-slide { transition-timing-function: ease-out; } .swiper-container-fade .swiper-slide { pointer-events: none; transition-property: opacity; } .swiper-container-fade .swiper-slide .swiper-slide { pointer-events: none; } .swiper-container-fade .swiper-slide-active { pointer-events: auto; } .swiper-container-fade .swiper-slide-active .swiper-slide-active { pointer-events: auto; } .swiper-zoom-container { width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; text-align: center; } .swiper-zoom-container > img, .swiper-zoom-container > svg, .swiper-zoom-container > canvas { max-width: 100%; max-height: 100%; object-fit: contain; } /* Scrollbar */ .swiper-scrollbar { border-radius: 10px; position: relative; -ms-touch-action: none; background: rgba(0, 0, 0, 0.1); } .swiper-container-horizontal > .swiper-scrollbar { position: absolute; left: 1%; bottom: 3px; z-index: 50; height: 5px; width: 98%; } .swiper-container-vertical > .swiper-scrollbar { position: absolute; right: 3px; top: 1%; z-index: 50; width: 5px; height: 98%; } .swiper-scrollbar-drag { height: 100%; width: 100%; position: relative; background: rgba(0, 0, 0, 0.5); border-radius: 10px; left: 0; top: 0; } .swiper-scrollbar-cursor-drag { cursor: move; } .elementor-pagination-position-outside .swiper-container { padding-bottom: 30px; } .elementor-pagination-position-outside .elementor-swiper-button { top: calc(50% - 30px / 2); } .elementor-swiper { position: relative; } .elementor-main-swiper { position: static; } .elementor-arrows-position-outside .swiper-container { width: calc(100% - 60px); } .elementor-arrows-position-outside .elementor-swiper-button-prev { left: 0; } .elementor-arrows-position-outside .elementor-swiper-button-next { right: 0; } .swiper-image-stretch .swiper-slide .swiper-slide-image { width: 100%; } .elementor-swiper-button { position: absolute; display: inline-flex; z-index: 1; cursor: pointer; font-size: 25px; color: rgba(238, 238, 238, 0.9); top: 50%; transform: translateY(-50%); } .elementor-swiper-button svg { fill: rgba(238, 238, 238, 0.9); height: 1em; width: 1em; } .elementor-swiper-button-prev { left: 10px; } .elementor-swiper-button-next { right: 10px; } .elementor-swiper-button.swiper-button-disabled { opacity: 0.3; } .swiper-container-cube .elementor-swiper-button { transform: translate3d(0, -50%, 1px); } /* Preloader */ .swiper-lazy-preloader { width: 42px; height: 42px; position: absolute; left: 50%; top: 50%; margin-left: -21px; margin-top: -21px; z-index: 10; transform-origin: 50%; animation: swiper-preloader-spin 1s steps(12, end) infinite; } .swiper-lazy-preloader:after { display: block; content: ""; width: 100%; height: 100%; background-size: 100%; background: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat 50%; } .swiper-lazy-preloader-white:after { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); } @keyframes swiper-preloader-spin { 100% { transform: rotate(360deg); } } .elementor-lightbox { --lightbox-ui-color: rgba(238, 238, 238, 0.9); --lightbox-ui-color-hover: #fff; --lightbox-text-color: var(--lightbox-ui-color); --lightbox-header-icons-size: 20px; --lightbox-navigation-icons-size: 25px; } .elementor-lightbox .dialog-header { display: none; } .elementor-lightbox .dialog-widget-content { background: none; box-shadow: none; width: 100%; height: 100%; } .elementor-lightbox .dialog-message { animation-duration: 0.3s; } .elementor-lightbox .dialog-message:not(.elementor-fit-aspect-ratio) { height: 100%; } .elementor-lightbox .dialog-message.dialog-lightbox-message { padding: 0; } .elementor-lightbox .dialog-lightbox-close-button { cursor: pointer; position: absolute; font-size: var(--lightbox-header-icons-size); right: 0.75em; margin-top: 13px; padding: 0.25em; z-index: 2; line-height: 1; display: flex; } .elementor-lightbox .dialog-lightbox-close-button svg { height: 1em; width: 1em; } .elementor-lightbox .dialog-lightbox-close-button, .elementor-lightbox .elementor-swiper-button { color: var(--lightbox-ui-color); transition: all 0.3s; opacity: 1; } .elementor-lightbox .dialog-lightbox-close-button svg, .elementor-lightbox .elementor-swiper-button svg { fill: var(--lightbox-ui-color); } .elementor-lightbox .dialog-lightbox-close-button:hover, .elementor-lightbox .elementor-swiper-button:hover { color: var(--lightbox-ui-color-hover); } .elementor-lightbox .dialog-lightbox-close-button:hover svg, .elementor-lightbox .elementor-swiper-button:hover svg { fill: var(--lightbox-ui-color-hover); } .elementor-lightbox .swiper-container { height: 100%; } .elementor-lightbox .elementor-lightbox-item { display: flex; align-items: center; justify-content: center; position: relative; padding: 70px; box-sizing: border-box; height: 100%; margin: auto; } @media (max-width: ELEMENTOR_SCREEN_MOBILE_MAX) { .elementor-lightbox .elementor-lightbox-item { padding: 70px 0; } } .elementor-lightbox .elementor-lightbox-image { max-height: 100%; user-select: none; } .elementor-lightbox .elementor-lightbox-image, .elementor-lightbox .elementor-lightbox-image:hover { opacity: 1; filter: none; border: none; } .elementor-lightbox .elementor-lightbox-image, .elementor-lightbox .elementor-video-container { box-shadow: 0 0 30px rgba(0, 0, 0, 0.3), 0 0 8px -5px rgba(0, 0, 0, 0.3); border-radius: 2px; } .elementor-lightbox .elementor-video-container { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } @media (min-width: ELEMENTOR_SCREEN_TABLET_NEXT) { .elementor-lightbox .elementor-video-container { width: 75%; } } @media (max-width: ELEMENTOR_SCREEN_TABLET_MAX) { .elementor-lightbox .elementor-video-container { width: 100%; } } @media (min-width: 768px) and (max-width: 1024px) { .elementor-lightbox .elementor-aspect-ratio-916 .elementor-video-container { width: 70%; } } .elementor-lightbox .elementor-swiper-button:focus { outline-width: 1px; } .elementor-lightbox .elementor-swiper-button-prev, .elementor-lightbox .elementor-swiper-button-next { height: 100%; display: flex; align-items: center; width: 15%; justify-content: center; font-size: var(--lightbox-navigation-icons-size); } .elementor-lightbox .elementor-swiper-button-prev { left: 0; } .elementor-lightbox .elementor-swiper-button-next { right: 0; } @media (max-width: ELEMENTOR_SCREEN_MOBILE_MAX) { .elementor-lightbox .elementor-swiper-button:focus { outline: none; } .elementor-lightbox .elementor-swiper-button-prev, .elementor-lightbox .elementor-swiper-button-next { width: 20%; } .elementor-lightbox .elementor-swiper-button-prev i, .elementor-lightbox .elementor-swiper-button-next i { padding: 10px; background-color: rgba(0, 0, 0, 0.5); } .elementor-lightbox .elementor-swiper-button-prev { left: 0; justify-content: flex-start; } .elementor-lightbox .elementor-swiper-button-next { right: 0; justify-content: flex-end; } } .elementor-slideshow__counter { color: currentColor; font-size: 0.75em; width: max-content; } .elementor-slideshow__header, .elementor-slideshow__footer { position: absolute; left: 0; width: 100%; padding: 15px 20px; transition: 0.3s; } .elementor-slideshow__footer { color: var(--lightbox-text-color); } .elementor-slideshow__header { color: var(--lightbox-ui-color); display: flex; flex-direction: row-reverse; font-size: var(--lightbox-header-icons-size); padding-left: 1em; padding-right: 2.6em; top: 0; align-items: center; z-index: 10; } .elementor-slideshow__header > i, .elementor-slideshow__header > svg { cursor: pointer; padding: 0.25em; margin: 0 0.35em; } .elementor-slideshow__header > i { font-size: inherit; } .elementor-slideshow__header > i:hover { color: var(--lightbox-ui-color-hover); } .elementor-slideshow__header > svg { box-sizing: content-box; fill: var(--lightbox-ui-color); height: 1em; width: 1em; } .elementor-slideshow__header > svg:hover { fill: var(--lightbox-ui-color-hover); } .elementor-slideshow__header .elementor-slideshow__counter { margin-right: auto; } .elementor-slideshow__header .elementor-icon-share { z-index: 5; } .elementor-slideshow__share-menu { background-color: rgba(0, 0, 0, 0); width: 0; height: 0; position: absolute; overflow: hidden; transition: background-color 400ms; } .elementor-slideshow__share-menu .elementor-slideshow__share-links a { color: #2C2C2C; } .elementor-slideshow__share-links { display: block; position: absolute; min-width: 200px; right: 2.8em; top: 3em; background-color: #fff; border-radius: 3px; padding: 14px 20px; transform: scale(0); opacity: 0; transform-origin: 90% 10%; transition: all 250ms 100ms; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3); } .elementor-slideshow__share-links a { text-align: left; color: #55595c; font-size: 12px; line-height: 2.5; display: block; opacity: 0; transition: opacity 500ms 100ms; } .elementor-slideshow__share-links a:hover { color: #000; } .elementor-slideshow__share-links a i, .elementor-slideshow__share-links a svg { margin-right: 0.75em; } .elementor-slideshow__share-links a i { font-size: 1.25em; } .elementor-slideshow__share-links a svg { height: 1.25em; width: 1.25em; } .elementor-slideshow__share-links:before { content: ""; display: block; position: absolute; top: 1px; right: 0.5em; border: 0.45em solid; border-color: transparent transparent #fff transparent; transform: translateY(-100%) scaleX(0.7); } .elementor-slideshow__footer { bottom: 0; z-index: 5; position: fixed; } .elementor-slideshow__title, .elementor-slideshow__description { margin: 0; } .elementor-slideshow__title { font-size: 16px; font-weight: bold; } .elementor-slideshow__description { font-size: 14px; } .elementor-slideshow--ui-hidden .elementor-slideshow__header, .elementor-slideshow--ui-hidden .elementor-slideshow__footer { opacity: 0; pointer-events: none; } .elementor-slideshow--ui-hidden .elementor-swiper-button-prev, .elementor-slideshow--ui-hidden .elementor-swiper-button-next { opacity: 0; } .elementor-slideshow--fullscreen-mode .elementor-video-container { width: 100%; } .elementor-slideshow--zoom-mode .elementor-slideshow__header, .elementor-slideshow--zoom-mode .elementor-slideshow__footer { background-color: rgba(0, 0, 0, 0.5); } .elementor-slideshow--zoom-mode .elementor-swiper-button-prev, .elementor-slideshow--zoom-mode .elementor-swiper-button-next { opacity: 0; pointer-events: none; } .elementor-slideshow--share-mode .elementor-slideshow__share-menu { top: 0; left: 0; width: 100vw; height: 100vh; opacity: 1; cursor: default; background-color: rgba(0, 0, 0, 0.5); } .elementor-slideshow--share-mode .elementor-slideshow__share-links { transform: scale(1); } .elementor-slideshow--share-mode .elementor-slideshow__share-links, .elementor-slideshow--share-mode .elementor-slideshow__share-links a { opacity: 1; } .elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-twitter { color: #1DA1F2; } .elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-facebook { color: #3b5998; } .elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-pinterest { color: #bd081c; } .elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-download-bold { color: #a4afb7; } .elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-twitter { fill: #1DA1F2; } .elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-facebook { fill: #3b5998; } .elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-pinterest { fill: #bd081c; } .elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-download-bold { fill: #a4afb7; } .elementor-slideshow--share-mode .eicon-share-arrow { z-index: 2; } .animated { animation-duration: 1.25s; } .animated.animated-slow { animation-duration: 2s; } .animated.animated-fast { animation-duration: 0.75s; } .animated.infinite { animation-iteration-count: infinite; } .animated.reverse { animation-direction: reverse; animation-fill-mode: forwards; } @media (prefers-reduced-motion: reduce) { .animated { animation: none; } } .elementor-shape { overflow: hidden; position: absolute; left: 0; width: 100%; line-height: 0; direction: ltr; /* * @TODO: The `z-index: -1` rules below are temporary fixes for Chrome 85 issue. * It will be removed in a future version of Chrome. */ } .elementor-shape-top { top: -1px; } .elementor-shape-top:not([data-negative=false]) svg { z-index: -1; } .elementor-shape-bottom { bottom: -1px; } .elementor-shape-bottom:not([data-negative=true]) svg { z-index: -1; } .elementor-shape[data-negative=false].elementor-shape-bottom { transform: rotate(180deg); } .elementor-shape[data-negative=true].elementor-shape-top { transform: rotate(180deg); } .elementor-shape svg { display: block; width: calc(100% + 1.3px); position: relative; left: 50%; transform: translateX(-50%); } .elementor-shape .elementor-shape-fill { fill: #fff; transform-origin: center; transform: rotateY(0deg); } #wp-admin-bar-elementor_edit_page > .ab-item::before { content: "\e813"; font-family: eicons; top: 3px; font-size: 18px; } #wp-admin-bar-elementor_edit_page .ab-submenu .ab-item { display: flex; width: 200px; } #wp-admin-bar-elementor_edit_page .elementor-edit-link-title { white-space: nowrap; text-overflow: ellipsis; overflow: hidden; width: 100%; } #wp-admin-bar-elementor_edit_page .elementor-edit-link-type { background: #55595c; font-size: 11px; line-height: 9px; margin-top: 6px; padding: 4px 8px; border-radius: 3px; } #wp-admin-bar-elementor_inspector > .ab-item::before { content: "\f348"; top: 2px; } #wpadminbar * { font-style: normal; } .page-template-elementor_canvas.elementor-page:before { display: none; } .elementor-post__thumbnail__link { transition: none; } #left-area ul.elementor-icon-list-items, .elementor .elementor-element ul.elementor-icon-list-items, .elementor-edit-area .elementor-element ul.elementor-icon-list-items { padding: 0; } .e--ua-appleWebkit.rtl { --flex-right: flex-start; } .e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-right, .e--ua-appleWebkit .elementor-share-buttons--align-right { --justify-content: var(--flex-right, flex-end); } .e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-center, .e--ua-appleWebkit .elementor-share-buttons--align-center { --justify-content: center; } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-right .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-center .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-right .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-center .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-justify .elementor-grid { width: auto; display: flex; flex-wrap: wrap; justify-content: var(--justify-content, space-between); margin-left: calc(-0.5 * var(--grid-column-gap)); margin-right: calc(-0.5 * var(--grid-column-gap)); } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-right .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-center .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-right .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-center .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-justify .elementor-grid-item { margin-left: calc(0.5 * var(--grid-column-gap)); margin-right: calc(0.5 * var(--grid-column-gap)); } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-left .elementor-grid { display: inline-block; } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-left .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-left .elementor-grid-item { margin-left: 0; margin-right: 0; } @media (max-width: ELEMENTOR_SCREEN_TABLET_MAX) { .e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-tablet-right, .e--ua-appleWebkit .elementor-share-buttons-tablet--align-right { --justify-content: var(--flex-right, flex-end); } .e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-tablet-center, .e--ua-appleWebkit .elementor-share-buttons-tablet--align-center { --justify-content: center; } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-right .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-center .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-right .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-center .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-justify .elementor-grid { width: auto; display: flex; flex-wrap: wrap; justify-content: var(--justify-content, space-between); margin-left: calc(-0.5 * var(--grid-column-gap)); margin-right: calc(-0.5 * var(--grid-column-gap)); } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-right .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-center .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-right .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-center .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-justify .elementor-grid-item { margin-left: calc(0.5 * var(--grid-column-gap)); margin-right: calc(0.5 * var(--grid-column-gap)); } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-tablet--align-left .elementor-grid { display: inline-block; } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-left .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-tablet--align-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-tablet--align-left .elementor-grid-item { margin-left: 0; margin-right: 0; } } @media (max-width: ELEMENTOR_SCREEN_MOBILE_MAX) { .e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-mobile-right, .e--ua-appleWebkit .elementor-share-buttons-mobile--align-right { --justify-content: var(--flex-right, flex-end); } .e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-mobile-center, .e--ua-appleWebkit .elementor-share-buttons-mobile--align-center { --justify-content: center; } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-right .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-center .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-right .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-center .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-justify .elementor-grid { width: auto; display: flex; flex-wrap: wrap; justify-content: var(--justify-content, space-between); margin-left: calc(-0.5 * var(--grid-column-gap)); margin-right: calc(-0.5 * var(--grid-column-gap)); } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-right .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-center .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-right .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-center .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-justify .elementor-grid-item { margin-left: calc(0.5 * var(--grid-column-gap)); margin-right: calc(0.5 * var(--grid-column-gap)); } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-mobile--align-left .elementor-grid { display: inline-block; } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-left .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-mobile--align-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-mobile--align-left .elementor-grid-item { margin-left: 0; margin-right: 0; } } @media (max-width: ELEMENTOR_SCREEN_MOBILE_MAX) { .elementor .elementor-hidden-mobile { display: none; } .elementor .elementor-hidden-phone { display: none; } } @media (min-width: ELEMENTOR_SCREEN_MOBILE_EXTRA_MIN) and (max-width: ELEMENTOR_SCREEN_MOBILE_EXTRA_MAX) { .elementor .elementor-hidden-mobile_extra { display: none; } } @media (min-width: ELEMENTOR_SCREEN_TABLET_MIN) and (max-width: ELEMENTOR_SCREEN_TABLET_MAX) { .elementor .elementor-hidden-tablet { display: none; } } @media (min-width: ELEMENTOR_SCREEN_TABLET_EXTRA_MIN) and (max-width: ELEMENTOR_SCREEN_TABLET_EXTRA_MAX) { .elementor .elementor-hidden-tablet_extra { display: none; } } @media (min-width: ELEMENTOR_SCREEN_LAPTOP_MIN) and (max-width: ELEMENTOR_SCREEN_LAPTOP_MAX) { .elementor .elementor-hidden-laptop { display: none; } } @media (min-width: ELEMENTOR_SCREEN_DESKTOP_MIN) and (max-width: ELEMENTOR_SCREEN_DESKTOP_MAX) { .elementor .elementor-hidden-desktop { display: none; } } @media (min-width: ELEMENTOR_SCREEN_WIDESCREEN_MIN) { .elementor .elementor-hidden-widescreen { display: none; } } .elementor-widget-text-path { font-size: 20px; text-align: var(--alignment, left); } .elementor-widget-text-path svg { width: var(--width); max-width: 100%; height: auto; overflow: visible; word-spacing: var(--word-spacing); transform: rotate(var(--rotate, 0)) scaleX(var(--scale-x, 1)) scaleY(var(--scale-y, 1)); } .elementor-widget-text-path svg path { vector-effect: non-scaling-stroke; /* Prevent stroke size scaling when resizing the SVG. */ fill: var(--path-fill, transparent); stroke: var(--stroke-color, transparent); stroke-width: var(--stroke-width, 1px); transition: var(--stroke-transition) stroke, var(--stroke-transition) fill; } .elementor-widget-text-path svg:hover path { --path-fill: var( --path-fill-hover ); --stroke-color: var( --stroke-color-hover ); --stroke-width: var( --stroke-width-hover ); } .elementor-widget-text-path svg text { --fill: var( --text-color ); fill: var(--fill); direction: var(--direction, ltr); transition: var(--transition) stroke, var(--transition) stroke-width, var(--transition) fill; } .elementor-widget-text-path svg text:hover { --color: var( --text-color-hover, var( --text-color ) ); --fill: var( --color ); color: var(--color); } /*# sourceMappingURL=frontend-lite.css.map */assets/css/templates/frontend.min.css000064400000503163152377341010013762 0ustar00@charset "UTF-8";.dialog-widget-content{background-color:#fff;position:absolute;border-radius:3px;-webkit-box-shadow:2px 8px 23px 3px rgba(0,0,0,.2);box-shadow:2px 8px 23px 3px rgba(0,0,0,.2);overflow:hidden}.dialog-message{font-size:12px;line-height:1.5;-webkit-box-sizing:border-box;box-sizing:border-box}.dialog-type-lightbox{position:fixed;height:100%;width:100%;bottom:0;left:0;background-color:rgba(0,0,0,.8);z-index:9999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dialog-type-lightbox .dialog-widget-content{margin:auto;width:375px}.dialog-type-lightbox .dialog-header{font-size:15px;color:#495157;padding:30px 0 10px;font-weight:500}.dialog-type-lightbox .dialog-message{padding:0 30px 30px;min-height:50px}.dialog-type-lightbox:not(.elementor-popup-modal) .dialog-header,.dialog-type-lightbox:not(.elementor-popup-modal) .dialog-message{text-align:center}.dialog-type-lightbox .dialog-buttons-wrapper{border-top:1px solid #e6e9ec;text-align:center}.dialog-type-lightbox .dialog-buttons-wrapper>.dialog-button{font-family:Roboto,Arial,Helvetica,Verdana,sans-serif;width:50%;border:none;background:none;color:#6d7882;font-size:15px;cursor:pointer;padding:13px 0;outline:0}.dialog-type-lightbox .dialog-buttons-wrapper>.dialog-button:hover{background-color:#f4f6f7}.dialog-type-lightbox .dialog-buttons-wrapper>.dialog-button.dialog-ok{color:#b01b1b}.dialog-type-lightbox .dialog-buttons-wrapper>.dialog-button.dialog-take_over{color:#39b54a}.dialog-type-lightbox .dialog-buttons-wrapper>.dialog-button:active{background-color:rgba(230,233,236,.5)}.dialog-type-lightbox .dialog-buttons-wrapper>.dialog-button::-moz-focus-inner{border:0}.dialog-close-button{cursor:pointer;position:absolute;margin-top:15px;right:15px;font-size:15px;line-height:1}.dialog-close-button:not(:hover){opacity:.4}.dialog-alert-widget .dialog-buttons-wrapper>button{width:100%}.dialog-confirm-widget .dialog-button:first-child{border-right:1px solid #e6e9ec}.dialog-prevent-scroll{overflow:hidden;max-height:100vh}@media (min-width:1024px){body.admin-bar .dialog-lightbox-widget{height:calc(100vh - 32px)}}@media (max-width:1024px){body.admin-bar .dialog-type-lightbox{position:sticky;height:100vh}}.elementor-aspect-ratio-219 .elementor-fit-aspect-ratio{padding-bottom:42.8571%}.elementor-aspect-ratio-169 .elementor-fit-aspect-ratio{padding-bottom:56.25%}.elementor-aspect-ratio-43 .elementor-fit-aspect-ratio{padding-bottom:75%}.elementor-aspect-ratio-32 .elementor-fit-aspect-ratio{padding-bottom:66.6666%}.elementor-aspect-ratio-11 .elementor-fit-aspect-ratio{padding-bottom:100%}.elementor-aspect-ratio-916 .elementor-fit-aspect-ratio{padding-bottom:177.8%}.elementor-fit-aspect-ratio{position:relative;height:0}.elementor-fit-aspect-ratio iframe{position:absolute;top:0;left:0;height:100%;width:100%;border:0;background-color:#000}.elementor-fit-aspect-ratio video{width:100%}.flatpickr-calendar{width:280px}.flatpickr-calendar .flatpickr-current-month span.cur-month{font-weight:300}.flatpickr-calendar .dayContainer{width:280px;min-width:280px;max-width:280px}.flatpickr-calendar .flatpickr-days{width:280px}.flatpickr-calendar .flatpickr-day{max-width:37px;height:37px;line-height:37px}.elementor-templates-modal .dialog-widget-content{font-family:Roboto,Arial,Helvetica,Verdana,sans-serif;background-color:#f1f3f5;width:100%}@media (max-width:1439px){.elementor-templates-modal .dialog-widget-content{max-width:990px}}@media (min-width:1440px){.elementor-templates-modal .dialog-widget-content{max-width:1200px}}.elementor-templates-modal .dialog-header{padding:0;z-index:1}.elementor-templates-modal .dialog-buttons-wrapper,.elementor-templates-modal .dialog-header{background-color:#fff;-webkit-box-shadow:0 0 8px rgba(0,0,0,.1);box-shadow:0 0 8px rgba(0,0,0,.1);position:relative}.elementor-templates-modal .dialog-buttons-wrapper{border:none;display:none;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;padding:5px}.elementor-templates-modal .dialog-buttons-wrapper .elementor-button{height:40px;margin-left:5px}.elementor-templates-modal .dialog-buttons-wrapper .elementor-button-success{padding:12px 36px;color:#fff;width:auto;font-size:15px}.elementor-templates-modal .dialog-buttons-wrapper .elementor-button-success:hover{background-color:#39b54a}.elementor-templates-modal .dialog-message{height:750px;max-height:85vh;overflow:auto;padding-top:25px}.elementor-templates-modal .dialog-content{height:100%}.elementor-templates-modal .dialog-loading{display:none}.elementor-templates-modal__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;height:50px}.elementor-templates-modal__header__logo{line-height:1;text-transform:uppercase;font-weight:700;cursor:pointer}.elementor-templates-modal__header__logo-area{text-align:left;padding-left:15px}.elementor-templates-modal__header__logo-area>*{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-templates-modal__header__logo__icon-wrapper{margin-right:10px;font-size:12px}.elementor-templates-modal__header__logo__title{padding-top:2px}.elementor-templates-modal__header__items-area{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-templates-modal__header__item{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-sizing:content-box;box-sizing:content-box}.elementor-templates-modal__header__item>i{font-size:20px;-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s;cursor:pointer}.elementor-templates-modal__header__item>i:not(:hover){color:#a4afb7}.elementor-templates-modal__header__close--normal{width:47px;border-left:1px solid #e6e9ec}.elementor-templates-modal__header__close--normal i{font-size:18px}.elementor-templates-modal__header__close--skip{padding:10px 10px 10px 20px;margin-right:10px;color:#fff;background-color:#a4afb7;font-size:11px;font-weight:400;line-height:1;text-transform:uppercase;border-radius:2px;cursor:pointer}.elementor-templates-modal__header__close--skip>i{font-size:inherit;padding-left:10px;margin-left:15px;border-left:1px solid}.elementor-templates-modal__header__close--skip>i:not(:hover){color:#fff}.elementor-templates-modal__sidebar{-ms-flex-negative:0;flex-shrink:0;width:25%;background-color:hsla(0,0%,100%,.3)}.elementor-templates-modal__content{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-webkit-box-shadow:0 0 13px inset rgba(0,0,0,.05);box-shadow:inset 0 0 13px rgba(0,0,0,.05)}#wpadminbar #wp-admin-bar-elementor_edit_page .elementor-general-section+.elementor-second-section{border-top:1px solid #464b50;margin-top:6px}.elementor-hidden{display:none}.elementor-screen-only,.screen-reader-text,.screen-reader-text span,.ui-helper-hidden-accessible{position:absolute;top:-10000em;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0}.elementor-clearfix:after{content:"";display:block;clear:both;width:0;height:0}.e-logo-wrapper{background:#93003c;display:inline-block;padding:.75em;border-radius:50%;line-height:1}.e-logo-wrapper i{color:#fff;font-size:1em}#e-enable-unfiltered-files-dialog-import-template .dialog-confirm-ok{color:#39b54a}#e-enable-unfiltered-files-dialog-import-template .dialog-confirm-cancel{color:#b01b1b}.elementor{-webkit-hyphens:manual;-ms-hyphens:manual;hyphens:manual}.elementor *,.elementor :after,.elementor :before{-webkit-box-sizing:border-box;box-sizing:border-box}.elementor a{-webkit-box-shadow:none;box-shadow:none;text-decoration:none}.elementor hr{margin:0;background-color:transparent}.elementor img{height:auto;max-width:100%;border:none;border-radius:0;-webkit-box-shadow:none;box-shadow:none}.elementor .elementor-widget:not(.elementor-widget-text-editor):not(.elementor-widget-theme-post-content) figure{margin:0}.elementor embed,.elementor iframe,.elementor object,.elementor video{max-width:100%;width:100%;margin:0;line-height:1;border:none}.elementor .elementor-custom-embed{line-height:0}.elementor .elementor-background,.elementor .elementor-background-holder,.elementor .elementor-background-video-container{height:100%;width:100%;top:0;left:0;position:absolute;overflow:hidden;z-index:0;direction:ltr}.elementor .elementor-background-video-container{-webkit-transition:opacity 1s;-o-transition:opacity 1s;transition:opacity 1s;pointer-events:none}.elementor .elementor-background-video-container.elementor-loading{opacity:0}.elementor .elementor-background-video-embed{max-width:none}.elementor .elementor-background-video,.elementor .elementor-background-video-embed,.elementor .elementor-background-video-hosted{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.elementor .elementor-background-video{max-width:none}.elementor .elementor-html5-video{-o-object-fit:cover;object-fit:cover}.elementor .elementor-background-overlay,.elementor .elementor-background-slideshow{height:100%;width:100%;top:0;left:0;position:absolute}.elementor .elementor-background-slideshow{z-index:0}.elementor .elementor-background-slideshow__slide__image{width:100%;height:100%;background-position:50%;background-size:cover}.e-container>.elementor-element.elementor-absolute,.elementor-widget-wrap>.elementor-element.elementor-absolute{position:absolute}.e-container>.elementor-element.elementor-fixed,.elementor-widget-wrap>.elementor-element.elementor-fixed{position:fixed}.elementor-widget-wrap .elementor-element.elementor-widget__width-auto,.elementor-widget-wrap .elementor-element.elementor-widget__width-initial{max-width:100%}@media (max-width:ELEMENTOR_SCREEN_TABLET_MAX){.elementor-widget-wrap .elementor-element.elementor-widget-tablet__width-auto,.elementor-widget-wrap .elementor-element.elementor-widget-tablet__width-initial{max-width:100%}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-widget-wrap .elementor-element.elementor-widget-mobile__width-auto,.elementor-widget-wrap .elementor-element.elementor-widget-mobile__width-initial{max-width:100%}}.elementor-element{--flex-direction:initial;--flex-wrap:initial;--justify-content:initial;--align-items:initial;--align-content:initial;--gap:initial;--flex-basis:initial;--flex-grow:initial;--flex-shrink:initial;--order:initial;--align-self:initial;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:var(--flex-direction);flex-direction:var(--flex-direction);-ms-flex-wrap:var(--flex-wrap);flex-wrap:var(--flex-wrap);-webkit-box-pack:var(--justify-content);-ms-flex-pack:var(--justify-content);justify-content:var(--justify-content);-webkit-box-align:var(--align-items);-ms-flex-align:var(--align-items);align-items:var(--align-items);-ms-flex-line-pack:var(--align-content);align-content:var(--align-content);gap:var(--gap);-ms-flex-preferred-size:var(--flex-basis);flex-basis:var(--flex-basis);-webkit-box-flex:var(--flex-grow);-ms-flex-positive:var(--flex-grow);flex-grow:var(--flex-grow);-ms-flex-negative:var(--flex-shrink);flex-shrink:var(--flex-shrink);-webkit-box-ordinal-group:var(--order);-ms-flex-order:var(--order);order:var(--order);-ms-flex-item-align:var(--align-self);align-self:var(--align-self)}.elementor-element.elementor-absolute,.elementor-element.elementor-fixed{z-index:1}.elementor-invisible{visibility:hidden}.elementor-align-center{text-align:center}.elementor-align-center .elementor-button{width:auto}.elementor-align-right{text-align:right}.elementor-align-right .elementor-button{width:auto}.elementor-align-left{text-align:left}.elementor-align-left .elementor-button{width:auto}.elementor-align-justify .elementor-button{width:100%}.elementor-custom-embed-play{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.elementor-custom-embed-play i{font-size:100px;color:#fff;text-shadow:1px 0 6px rgba(0,0,0,.3)}.elementor-custom-embed-play svg{height:100px;width:100px;fill:#fff;-webkit-filter:drop-shadow(1px 0 6px rgba(0,0,0,.3));filter:drop-shadow(1px 0 6px rgba(0,0,0,.3))}.elementor-custom-embed-play i,.elementor-custom-embed-play svg{opacity:.8;-webkit-transition:all .5s;-o-transition:all .5s;transition:all .5s}.elementor-custom-embed-play.elementor-playing i{font-family:eicons}.elementor-custom-embed-play.elementor-playing i:before{content:"\e8fb"}.elementor-custom-embed-play.elementor-playing i,.elementor-custom-embed-play.elementor-playing svg{-webkit-animation:eicon-spin 2s linear infinite;animation:eicon-spin 2s linear infinite}.elementor-tag{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}.elementor-ken-burns{-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;-o-transition-property:transform;transition-property:transform;transition-property:transform,-webkit-transform;-webkit-transition-duration:10s;-o-transition-duration:10s;transition-duration:10s;-webkit-transition-timing-function:linear;-o-transition-timing-function:linear;transition-timing-function:linear}.elementor-ken-burns--out{-webkit-transform:scale(1.3);-ms-transform:scale(1.3);transform:scale(1.3)}.elementor-ken-burns--active{-webkit-transition-duration:20s;-o-transition-duration:20s;transition-duration:20s}.elementor-ken-burns--active.elementor-ken-burns--out{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.elementor-ken-burns--active.elementor-ken-burns--in{-webkit-transform:scale(1.3);-ms-transform:scale(1.3);transform:scale(1.3)}@media (min-width:ELEMENTOR_SCREEN_WIDESCREEN_MIN){.elementor-widescreen-align-center{text-align:center}.elementor-widescreen-align-center .elementor-button{width:auto}.elementor-widescreen-align-right{text-align:right}.elementor-widescreen-align-right .elementor-button{width:auto}.elementor-widescreen-align-left{text-align:left}.elementor-widescreen-align-left .elementor-button{width:auto}.elementor-widescreen-align-justify .elementor-button{width:100%}}@media (max-width:ELEMENTOR_SCREEN_LAPTOP_MAX){.elementor-laptop-align-center{text-align:center}.elementor-laptop-align-center .elementor-button{width:auto}.elementor-laptop-align-right{text-align:right}.elementor-laptop-align-right .elementor-button{width:auto}.elementor-laptop-align-left{text-align:left}.elementor-laptop-align-left .elementor-button{width:auto}.elementor-laptop-align-justify .elementor-button{width:100%}}@media (max-width:ELEMENTOR_SCREEN_TABLET_EXTRA_MAX){.elementor-tablet_extra-align-center{text-align:center}.elementor-tablet_extra-align-center .elementor-button{width:auto}.elementor-tablet_extra-align-right{text-align:right}.elementor-tablet_extra-align-right .elementor-button{width:auto}.elementor-tablet_extra-align-left{text-align:left}.elementor-tablet_extra-align-left .elementor-button{width:auto}.elementor-tablet_extra-align-justify .elementor-button{width:100%}}@media (max-width:ELEMENTOR_SCREEN_TABLET_MAX){.elementor-tablet-align-center{text-align:center}.elementor-tablet-align-center .elementor-button{width:auto}.elementor-tablet-align-right{text-align:right}.elementor-tablet-align-right .elementor-button{width:auto}.elementor-tablet-align-left{text-align:left}.elementor-tablet-align-left .elementor-button{width:auto}.elementor-tablet-align-justify .elementor-button{width:100%}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_EXTRA_MAX){.elementor-mobile_extra-align-center{text-align:center}.elementor-mobile_extra-align-center .elementor-button{width:auto}.elementor-mobile_extra-align-right{text-align:right}.elementor-mobile_extra-align-right .elementor-button{width:auto}.elementor-mobile_extra-align-left{text-align:left}.elementor-mobile_extra-align-left .elementor-button{width:auto}.elementor-mobile_extra-align-justify .elementor-button{width:100%}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-mobile-align-center{text-align:center}.elementor-mobile-align-center .elementor-button{width:auto}.elementor-mobile-align-right{text-align:right}.elementor-mobile-align-right .elementor-button{width:auto}.elementor-mobile-align-left{text-align:left}.elementor-mobile-align-left .elementor-button{width:auto}.elementor-mobile-align-justify .elementor-button{width:100%}}:root{--page-title-display:block}.elementor-page-title,h1.entry-title{display:var(--page-title-display)}@-webkit-keyframes eicon-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes eicon-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.eicon-animation-spin{-webkit-animation:eicon-spin 2s linear infinite;animation:eicon-spin 2s linear infinite}.elementor-section{position:relative}.elementor-section .elementor-container{display:-webkit-box;display:-ms-flexbox;display:flex;margin-right:auto;margin-left:auto;position:relative}@media (max-width:ELEMENTOR_SCREEN_TABLET_MAX){.elementor-section .elementor-container{-ms-flex-wrap:wrap;flex-wrap:wrap}}.elementor-section.elementor-section-boxed>.elementor-container{max-width:1140px}.elementor-section.elementor-section-stretched{position:relative;width:100%}.elementor-section.elementor-section-items-top>.elementor-container{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.elementor-section.elementor-section-items-middle>.elementor-container{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-section.elementor-section-items-bottom>.elementor-container{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}@media (min-width:ELEMENTOR_SCREEN_MOBILE_NEXT){.elementor-section.elementor-section-height-full{height:100vh}.elementor-section.elementor-section-height-full>.elementor-container{height:100%}}.elementor-bc-flex-widget .elementor-section-content-top>.elementor-container>.elementor-column>.elementor-widget-wrap{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.elementor-bc-flex-widget .elementor-section-content-middle>.elementor-container>.elementor-column>.elementor-widget-wrap{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-bc-flex-widget .elementor-section-content-bottom>.elementor-container>.elementor-column>.elementor-widget-wrap{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.elementor-row{width:100%;display:-webkit-box;display:-ms-flexbox;display:flex}@media (max-width:ELEMENTOR_SCREEN_TABLET_MAX){.elementor-row{-ms-flex-wrap:wrap;flex-wrap:wrap}}.elementor-widget-wrap{position:relative;width:100%;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-line-pack:start;align-content:flex-start}.elementor:not(.elementor-bc-flex-widget) .elementor-widget-wrap{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-wrap>.elementor-element{width:100%}.elementor-widget-wrap.e-swiper-container{width:calc(100% - (var(--e-column-margin-left, 0px) + var(--e-column-margin-right, 0px)))}.elementor-widget{position:relative}.elementor-widget:not(:last-child){margin-bottom:20px}.elementor-widget:not(:last-child).elementor-absolute,.elementor-widget:not(:last-child).elementor-widget__width-auto,.elementor-widget:not(:last-child).elementor-widget__width-initial{margin-bottom:0}.elementor-column{min-height:1px}.elementor-column,.elementor-column-wrap{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-column-wrap{width:100%}.elementor-column-gap-narrow>.elementor-column>.elementor-element-populated{padding:5px}.elementor-column-gap-default>.elementor-column>.elementor-element-populated{padding:10px}.elementor-column-gap-extended>.elementor-column>.elementor-element-populated{padding:15px}.elementor-column-gap-wide>.elementor-column>.elementor-element-populated{padding:20px}.elementor-column-gap-wider>.elementor-column>.elementor-element-populated{padding:30px}.elementor-inner-section .elementor-column-gap-no .elementor-element-populated{padding:0}@media (min-width:ELEMENTOR_SCREEN_MOBILE_NEXT){.elementor-column.elementor-col-10,.elementor-column[data-col="10"]{width:10%}.elementor-column.elementor-col-11,.elementor-column[data-col="11"]{width:11.111%}.elementor-column.elementor-col-12,.elementor-column[data-col="12"]{width:12.5%}.elementor-column.elementor-col-14,.elementor-column[data-col="14"]{width:14.285%}.elementor-column.elementor-col-16,.elementor-column[data-col="16"]{width:16.666%}.elementor-column.elementor-col-20,.elementor-column[data-col="20"]{width:20%}.elementor-column.elementor-col-25,.elementor-column[data-col="25"]{width:25%}.elementor-column.elementor-col-30,.elementor-column[data-col="30"]{width:30%}.elementor-column.elementor-col-33,.elementor-column[data-col="33"]{width:33.333%}.elementor-column.elementor-col-40,.elementor-column[data-col="40"]{width:40%}.elementor-column.elementor-col-50,.elementor-column[data-col="50"]{width:50%}.elementor-column.elementor-col-60,.elementor-column[data-col="60"]{width:60%}.elementor-column.elementor-col-66,.elementor-column[data-col="66"]{width:66.666%}.elementor-column.elementor-col-70,.elementor-column[data-col="70"]{width:70%}.elementor-column.elementor-col-75,.elementor-column[data-col="75"]{width:75%}.elementor-column.elementor-col-80,.elementor-column[data-col="80"]{width:80%}.elementor-column.elementor-col-83,.elementor-column[data-col="83"]{width:83.333%}.elementor-column.elementor-col-90,.elementor-column[data-col="90"]{width:90%}.elementor-column.elementor-col-100,.elementor-column[data-col="100"]{width:100%}}@media (max-width:479px){.elementor-column.elementor-xs-10{width:10%}.elementor-column.elementor-xs-11{width:11.111%}.elementor-column.elementor-xs-12{width:12.5%}.elementor-column.elementor-xs-14{width:14.285%}.elementor-column.elementor-xs-16{width:16.666%}.elementor-column.elementor-xs-20{width:20%}.elementor-column.elementor-xs-25{width:25%}.elementor-column.elementor-xs-30{width:30%}.elementor-column.elementor-xs-33{width:33.333%}.elementor-column.elementor-xs-40{width:40%}.elementor-column.elementor-xs-50{width:50%}.elementor-column.elementor-xs-60{width:60%}.elementor-column.elementor-xs-66{width:66.666%}.elementor-column.elementor-xs-70{width:70%}.elementor-column.elementor-xs-75{width:75%}.elementor-column.elementor-xs-80{width:80%}.elementor-column.elementor-xs-83{width:83.333%}.elementor-column.elementor-xs-90{width:90%}.elementor-column.elementor-xs-100{width:100%}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-column.elementor-sm-10{width:10%}.elementor-column.elementor-sm-11{width:11.111%}.elementor-column.elementor-sm-12{width:12.5%}.elementor-column.elementor-sm-14{width:14.285%}.elementor-column.elementor-sm-16{width:16.666%}.elementor-column.elementor-sm-20{width:20%}.elementor-column.elementor-sm-25{width:25%}.elementor-column.elementor-sm-30{width:30%}.elementor-column.elementor-sm-33{width:33.333%}.elementor-column.elementor-sm-40{width:40%}.elementor-column.elementor-sm-50{width:50%}.elementor-column.elementor-sm-60{width:60%}.elementor-column.elementor-sm-66{width:66.666%}.elementor-column.elementor-sm-70{width:70%}.elementor-column.elementor-sm-75{width:75%}.elementor-column.elementor-sm-80{width:80%}.elementor-column.elementor-sm-83{width:83.333%}.elementor-column.elementor-sm-90{width:90%}.elementor-column.elementor-sm-100{width:100%}}@media (min-width:ELEMENTOR_SCREEN_MOBILE_NEXT) and (max-width:ELEMENTOR_SCREEN_TABLET_MAX){.elementor-column.elementor-md-10{width:10%}.elementor-column.elementor-md-11{width:11.111%}.elementor-column.elementor-md-12{width:12.5%}.elementor-column.elementor-md-14{width:14.285%}.elementor-column.elementor-md-16{width:16.666%}.elementor-column.elementor-md-20{width:20%}.elementor-column.elementor-md-25{width:25%}.elementor-column.elementor-md-30{width:30%}.elementor-column.elementor-md-33{width:33.333%}.elementor-column.elementor-md-40{width:40%}.elementor-column.elementor-md-50{width:50%}.elementor-column.elementor-md-60{width:60%}.elementor-column.elementor-md-66{width:66.666%}.elementor-column.elementor-md-70{width:70%}.elementor-column.elementor-md-75{width:75%}.elementor-column.elementor-md-80{width:80%}.elementor-column.elementor-md-83{width:83.333%}.elementor-column.elementor-md-90{width:90%}.elementor-column.elementor-md-100{width:100%}}@media (min-width:ELEMENTOR_SCREEN_WIDESCREEN_MIN){.elementor-reverse-widescreen>.elementor-container>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-widescreen>.elementor-container>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-widescreen>.elementor-container>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-widescreen>.elementor-container>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-widescreen>.elementor-container>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-widescreen>.elementor-container>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-widescreen>.elementor-container>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-widescreen>.elementor-container>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-widescreen>.elementor-container>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-widescreen>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:ELEMENTOR_SCREEN_TABLET_NEXT) and (max-width:ELEMENTOR_SCREEN_LAPTOP_MAX){.elementor-reverse-laptop>.elementor-container>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-laptop>.elementor-container>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-laptop>.elementor-container>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-laptop>.elementor-container>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-laptop>.elementor-container>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-laptop>.elementor-container>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-laptop>.elementor-container>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-laptop>.elementor-container>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-laptop>.elementor-container>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-laptop>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:ELEMENTOR_SCREEN_TABLET_EXTRA_NEXT) and (max-width:ELEMENTOR_SCREEN_LAPTOP_MAX){.elementor-reverse-laptop>.elementor-container>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-laptop>.elementor-container>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-laptop>.elementor-container>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-laptop>.elementor-container>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-laptop>.elementor-container>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-laptop>.elementor-container>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-laptop>.elementor-container>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-laptop>.elementor-container>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-laptop>.elementor-container>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-laptop>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:ELEMENTOR_SCREEN_TABLET_NEXT) and (max-width:ELEMENTOR_SCREEN_TABLET_EXTRA_MAX){.elementor-reverse-laptop>.elementor-container>:first-child,.elementor-reverse-laptop>.elementor-container>:nth-child(2),.elementor-reverse-laptop>.elementor-container>:nth-child(3),.elementor-reverse-laptop>.elementor-container>:nth-child(4),.elementor-reverse-laptop>.elementor-container>:nth-child(5),.elementor-reverse-laptop>.elementor-container>:nth-child(6),.elementor-reverse-laptop>.elementor-container>:nth-child(7),.elementor-reverse-laptop>.elementor-container>:nth-child(8),.elementor-reverse-laptop>.elementor-container>:nth-child(9),.elementor-reverse-laptop>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:initial;-ms-flex-order:initial;order:0}.elementor-reverse-tablet_extra>.elementor-container>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:ELEMENTOR_SCREEN_MOBILE_NEXT) and (max-width:ELEMENTOR_SCREEN_TABLET_MAX){.elementor-reverse-tablet>.elementor-container>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-tablet>.elementor-container>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-tablet>.elementor-container>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-tablet>.elementor-container>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-tablet>.elementor-container>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-tablet>.elementor-container>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-tablet>.elementor-container>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-tablet>.elementor-container>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-tablet>.elementor-container>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-tablet>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:ELEMENTOR_SCREEN_MOBILE_EXTRA_NEXT) and (max-width:ELEMENTOR_SCREEN_TABLET_MAX){.elementor-reverse-tablet>.elementor-container>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-tablet>.elementor-container>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-tablet>.elementor-container>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-tablet>.elementor-container>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-tablet>.elementor-container>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-tablet>.elementor-container>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-tablet>.elementor-container>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-tablet>.elementor-container>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-tablet>.elementor-container>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-tablet>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:ELEMENTOR_SCREEN_MOBILE_NEXT) and (max-width:ELEMENTOR_SCREEN_MOBILE_EXTRA_MAX){.elementor-reverse-tablet>.elementor-container>:first-child,.elementor-reverse-tablet>.elementor-container>:nth-child(2),.elementor-reverse-tablet>.elementor-container>:nth-child(3),.elementor-reverse-tablet>.elementor-container>:nth-child(4),.elementor-reverse-tablet>.elementor-container>:nth-child(5),.elementor-reverse-tablet>.elementor-container>:nth-child(6),.elementor-reverse-tablet>.elementor-container>:nth-child(7),.elementor-reverse-tablet>.elementor-container>:nth-child(8),.elementor-reverse-tablet>.elementor-container>:nth-child(9),.elementor-reverse-tablet>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:initial;-ms-flex-order:initial;order:0}.elementor-reverse-mobile_extra>.elementor-container>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-reverse-mobile>.elementor-container>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-mobile>.elementor-container>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-mobile>.elementor-container>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-mobile>.elementor-container>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-mobile>.elementor-container>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-mobile>.elementor-container>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-mobile>.elementor-container>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-mobile>.elementor-container>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-mobile>.elementor-container>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-mobile>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.elementor-column{width:100%}}ul.elementor-icon-list-items.elementor-inline-items{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}ul.elementor-icon-list-items.elementor-inline-items .elementor-inline-item{word-break:break-word}.elementor-grid{display:grid;grid-column-gap:var(--grid-column-gap);grid-row-gap:var(--grid-row-gap)}.elementor-grid .elementor-grid-item{min-width:0}.elementor-grid-0 .elementor-grid{display:inline-block;width:100%;word-spacing:var(--grid-column-gap);margin-bottom:calc(-1 * var(--grid-row-gap))}.elementor-grid-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-bottom:var(--grid-row-gap);word-break:break-word}.elementor-grid-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}@media (min-width:ELEMENTOR_SCREEN_WIDESCREEN_MIN){.elementor-grid-widescreen-0 .elementor-grid{display:inline-block;width:100%;word-spacing:var(--grid-column-gap);margin-bottom:calc(-1 * var(--grid-row-gap))}.elementor-grid-widescreen-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-bottom:var(--grid-row-gap);word-break:break-word}.elementor-grid-widescreen-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-widescreen-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-widescreen-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-widescreen-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-widescreen-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-widescreen-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-widescreen-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-widescreen-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-widescreen-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-widescreen-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-widescreen-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-widescreen-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}}@media (max-width:ELEMENTOR_SCREEN_LAPTOP_MAX){.elementor-grid-laptop-0 .elementor-grid{display:inline-block;width:100%;word-spacing:var(--grid-column-gap);margin-bottom:calc(-1 * var(--grid-row-gap))}.elementor-grid-laptop-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-bottom:var(--grid-row-gap);word-break:break-word}.elementor-grid-laptop-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-laptop-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-laptop-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-laptop-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-laptop-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-laptop-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-laptop-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-laptop-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-laptop-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-laptop-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-laptop-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-laptop-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}}@media (max-width:ELEMENTOR_SCREEN_TABLET_EXTRA_MAX){.elementor-grid-tablet_extra-0 .elementor-grid{display:inline-block;width:100%;word-spacing:var(--grid-column-gap);margin-bottom:calc(-1 * var(--grid-row-gap))}.elementor-grid-tablet_extra-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-bottom:var(--grid-row-gap);word-break:break-word}.elementor-grid-tablet_extra-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-tablet_extra-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-tablet_extra-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-tablet_extra-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-tablet_extra-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-tablet_extra-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-tablet_extra-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-tablet_extra-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-tablet_extra-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-tablet_extra-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-tablet_extra-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-tablet_extra-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}}@media (max-width:ELEMENTOR_SCREEN_TABLET_MAX){.elementor-grid-tablet-0 .elementor-grid{display:inline-block;width:100%;word-spacing:var(--grid-column-gap);margin-bottom:calc(-1 * var(--grid-row-gap))}.elementor-grid-tablet-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-bottom:var(--grid-row-gap);word-break:break-word}.elementor-grid-tablet-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-tablet-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-tablet-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-tablet-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-tablet-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-tablet-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-tablet-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-tablet-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-tablet-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-tablet-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-tablet-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-tablet-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_EXTRA_MAX){.elementor-grid-mobile_extra-0 .elementor-grid{display:inline-block;width:100%;word-spacing:var(--grid-column-gap);margin-bottom:calc(-1 * var(--grid-row-gap))}.elementor-grid-mobile_extra-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-bottom:var(--grid-row-gap);word-break:break-word}.elementor-grid-mobile_extra-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-mobile_extra-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-mobile_extra-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-mobile_extra-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-mobile_extra-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-mobile_extra-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-mobile_extra-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-mobile_extra-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-mobile_extra-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-mobile_extra-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-mobile_extra-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-mobile_extra-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-grid-mobile-0 .elementor-grid{display:inline-block;width:100%;word-spacing:var(--grid-column-gap);margin-bottom:calc(-1 * var(--grid-row-gap))}.elementor-grid-mobile-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-bottom:var(--grid-row-gap);word-break:break-word}.elementor-grid-mobile-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-mobile-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-mobile-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-mobile-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-mobile-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-mobile-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-mobile-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-mobile-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-mobile-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-mobile-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-mobile-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-mobile-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}}@media (min-width:ELEMENTOR_SCREEN_DESKTOP_MIN){#elementor-device-mode:after{content:"desktop"}}@media (min-width:ELEMENTOR_SCREEN_WIDESCREEN_MIN){#elementor-device-mode:after{content:"widescreen"}}@media (max-width:ELEMENTOR_SCREEN_LAPTOP_MAX){#elementor-device-mode:after{content:"laptop"}}@media (max-width:ELEMENTOR_SCREEN_TABLET_EXTRA_MAX){#elementor-device-mode:after{content:"tablet_extra"}}@media (max-width:ELEMENTOR_SCREEN_TABLET_MAX){#elementor-device-mode:after{content:"tablet"}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_EXTRA_MAX){#elementor-device-mode:after{content:"mobile_extra"}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){#elementor-device-mode:after{content:"mobile"}}.e-container{--border-radius:0;--display:flex;--flex-direction:column;--flex-basis:auto;--flex-grow:0;--flex-shrink:1;--content-width:Min(100%,var(--container-max-width,1140px));--width:100%;--min-height:initial;--height:auto;--text-align:initial;--margin-top:0;--margin-right:0;--margin-bottom:0;--margin-left:0;--padding-top:var(--container-default-padding,0px);--padding-right:var(--container-default-padding,0px);--padding-bottom:var(--container-default-padding,0px);--padding-left:var(--container-default-padding,0px);--position:relative;--z-index:revert;--overflow:visible;--transition:0;--gap:var(--widgets-spacing,20px);--overlay-mix-blend-mode:initial;--overlay-opacity:1;--overlay-transition:0;position:var(--position);display:var(--display);text-align:var(--text-align);-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:var(--flex-direction);flex-direction:var(--flex-direction);-webkit-box-flex:var(--flex-grow);-ms-flex:var(--flex-grow) var(--flex-shrink) var(--flex-basis);flex:var(--flex-grow) var(--flex-shrink) var(--flex-basis);width:var(--width);min-width:0;max-width:min(100%,var(--width));min-height:var(--min-height);height:var(--height);border-radius:var(--border-radius);margin:var(--margin-top) var(--margin-right) var(--margin-bottom) var(--margin-left);padding:var(--padding-top) calc((100% - var(--content-width)) / 2 + var(--padding-right)) var(--padding-bottom) calc((100% - var(--content-width)) / 2 + var(--padding-left));z-index:var(--z-index);overflow:var(--overflow);-webkit-transition:var(--transition);-o-transition:var(--transition);transition:var(--transition)}:is(.elementor-section-wrap,[data-elementor-id])>.e-container{--margin-right:auto;--margin-left:auto}.e-container .elementor-empty-view{position:relative;width:100%;height:100%;min-height:var(--min-height,100px)}.e-container .elementor-empty-view .elementor-first-add{width:auto;height:auto;inset:10px}.e-container .elementor-widget-placeholder{--size:10px;--margin-start:calc(-1 * var(--size));--margin-end:calc(-2 * var(--size));-ms-flex-negative:0;flex-shrink:0;-ms-flex-item-align:stretch;align-self:stretch;z-index:1;pointer-events:none}.e-container.e-container--row>.elementor-widget-placeholder{position:relative;z-index:9999;width:var(--size);-webkit-margin-start:var(--margin-start);margin-inline-start:var(--margin-start);height:auto;min-height:100%;-webkit-animation-name:dnd-placeholder-widget-vertical;animation-name:dnd-placeholder-widget-vertical;-webkit-animation-fill-mode:both;animation-fill-mode:both}.e-container.e-container--row[data-nesting-level]:not([data-nesting-level="0"])>.elementor-widget-placeholder{-webkit-margin-end:0;margin-inline-end:0;-webkit-margin-start:calc(var(--margin-start) + var(--margin-end));margin-inline-start:calc(var(--margin-start) + var(--margin-end))}.e-container.e-container--row[data-nesting-level]:not([data-nesting-level="0"])>:not(.elementor-element)+.elementor-widget-placeholder{-webkit-margin-end:var(--margin-end);margin-inline-end:var(--margin-end);-webkit-margin-start:var(--margin-start);margin-inline-start:var(--margin-start)}.e-container.e-container--column>.elementor-widget-placeholder{height:var(--size);-webkit-margin-before:var(--margin-start);margin-block-start:var(--margin-start);-webkit-margin-after:var(--margin-end);margin-block-end:var(--margin-end);-webkit-animation-name:dnd-placeholder-widget-horizontal;animation-name:dnd-placeholder-widget-horizontal}.e-container.e-container--column>.elementor-widget-placeholder:nth-last-child(2){-webkit-margin-before:calc(2 * var(--margin-start));margin-block-start:calc(2 * var(--margin-start));--margin-end:0}.e-container .elementor-sortable-helper{height:84px;width:125px;z-index:-1}.e-container .elementor-widget.elementor-widget{margin-bottom:0}.e-container:before{content:var(--background-overlay);display:block;position:absolute;z-index:0;width:100%;height:100%;left:0;top:0;mix-blend-mode:var(--overlay-mix-blend-mode);opacity:var(--overlay-opacity);-webkit-transition:var(--overlay-transition);-o-transition:var(--overlay-transition);transition:var(--overlay-transition);border-radius:var(--border-radius)}.e-container .elementor-widget{min-width:0}.e-container .elementor-widget-google_maps,.e-container .elementor-widget-video{-ms-flex-preferred-size:100%;flex-basis:100%}.e-container .elementor-widget.e-widget-swiper{max-width:100%;-ms-flex-preferred-size:100%;flex-basis:100%}.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-setting,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-setting{position:relative;background-color:#556068}.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-setting:hover,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-setting:hover{background-color:#495157}.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-setting.elementor-editor-element-add,.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-setting.elementor-editor-element-edit+.elementor-editor-element-remove,.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-setting:first-child:before,.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-setting:last-child:after,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-setting.elementor-editor-element-add,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-setting.elementor-editor-element-edit+.elementor-editor-element-remove,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-setting:first-child:before,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-setting:last-child:after{display:none}.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-setting:not(.elementor-editor-element-edit),.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-setting:not(.elementor-editor-element-edit){-webkit-margin-start:-25px;margin-inline-start:-25px;z-index:-1;-webkit-transition:all .3s;-o-transition:.3s all;transition:all .3s;will-change:margin-inline-start}.e-container>.e-container>.elementor-element-overlay>.elementor-editor-element-settings:hover>:is(.elementor-editor-element-duplicate,.elementor-editor-element-remove),.elementor-widget .e-container>.elementor-element-overlay>.elementor-editor-element-settings:hover>:is(.elementor-editor-element-duplicate,.elementor-editor-element-remove){-webkit-margin-start:0;margin-inline-start:0}.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-settings,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-settings{inset:auto;-webkit-transform:none;-ms-transform:none;transform:none;inset-inline-start:0;top:0;border-radius:0;border-end-end-radius:3px;height:auto;background-color:#556068}.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-settings:hover,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-settings:hover{background-color:#495157}.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-settings i.eicon-handle:before,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-settings i.eicon-handle:before{content:"\e9b4";font-size:20px;display:block;padding:2px}@media (max-width:767px){.e-container{--width:100%;--flex-wrap:wrap}}@-webkit-keyframes dnd-placeholder-widget-vertical{0%{-webkit-transform-origin:0 50%;transform-origin:0 50%;-webkit-transform:translateX(50%) scaleX(0);transform:translateX(50%) scaleX(0);opacity:0}to{-webkit-transform-origin:0 50%;transform-origin:0 50%;-webkit-transform:translateX(50%) scaleX(1);transform:translateX(50%) scaleX(1);opacity:.9}}@keyframes dnd-placeholder-widget-vertical{0%{-webkit-transform-origin:0 50%;transform-origin:0 50%;-webkit-transform:translateX(50%) scaleX(0);transform:translateX(50%) scaleX(0);opacity:0}to{-webkit-transform-origin:0 50%;transform-origin:0 50%;-webkit-transform:translateX(50%) scaleX(1);transform:translateX(50%) scaleX(1);opacity:.9}}@-webkit-keyframes dnd-placeholder-widget-horizontal{0%{-webkit-transform-origin:50% 0;transform-origin:50% 0;-webkit-transform:scaleY(0);transform:scaleY(0);opacity:0}to{-webkit-transform-origin:50% 0;transform-origin:50% 0;-webkit-transform:scaleY(1);transform:scaleY(1);opacity:.9}}@keyframes dnd-placeholder-widget-horizontal{0%{-webkit-transform-origin:50% 0;transform-origin:50% 0;-webkit-transform:scaleY(0);transform:scaleY(0);opacity:0}to{-webkit-transform-origin:50% 0;transform-origin:50% 0;-webkit-transform:scaleY(1);transform:scaleY(1);opacity:.9}}.elementor-form-fields-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group .elementor-field-subgroup,.elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group>.elementor-select-wrapper,.elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group>input,.elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group>textarea{-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.elementor-form-fields-wrapper.elementor-labels-inline>.elementor-field-group .elementor-select-wrapper,.elementor-form-fields-wrapper.elementor-labels-inline>.elementor-field-group>input{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-field-group{-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-field-group.elementor-field-type-submit{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.elementor-field-group .elementor-field-textual{width:100%;max-width:100%;border:1px solid #818a91;background-color:transparent;color:#373a3c;vertical-align:middle;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-field-group .elementor-field-textual:focus{-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.1) inset;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);outline:0}.elementor-field-group .elementor-field-textual::-webkit-input-placeholder{color:inherit;font-family:inherit;opacity:.6}.elementor-field-group .elementor-field-textual:-ms-input-placeholder{color:inherit;font-family:inherit;opacity:.6}.elementor-field-group .elementor-field-textual:-moz-placeholder,.elementor-field-group .elementor-field-textual::-moz-placeholder{color:inherit;font-family:inherit;opacity:.6}.elementor-field-group .elementor-field-textual::-ms-input-placeholder{color:inherit;font-family:inherit;opacity:.6}.elementor-field-group .elementor-field-textual::placeholder{color:inherit;font-family:inherit;opacity:.6}.elementor-field-group .elementor-select-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;position:relative;width:100%}.elementor-field-group .elementor-select-wrapper select{appearance:none;-webkit-appearance:none;-moz-appearance:none;color:inherit;font-size:inherit;font-family:inherit;font-weight:inherit;font-style:inherit;text-transform:inherit;letter-spacing:inherit;line-height:inherit;-ms-flex-preferred-size:100%;flex-basis:100%;padding-right:20px}.elementor-field-group .elementor-select-wrapper:before{content:"\e92a";font-family:eicons;font-size:15px;position:absolute;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);right:10px;pointer-events:none;text-shadow:0 0 3px rgba(0,0,0,.3)}.elementor-field-group.elementor-field-type-select-multiple .elementor-select-wrapper:before{content:""}.elementor-field-subgroup{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.elementor-field-subgroup .elementor-field-option label{display:inline-block}.elementor-field-subgroup.elementor-subgroup-inline .elementor-field-option{padding-right:10px}.elementor-field-subgroup:not(.elementor-subgroup-inline) .elementor-field-option{-ms-flex-preferred-size:100%;flex-basis:100%}.elementor-field-type-acceptance .elementor-field-subgroup .elementor-field-option input,.elementor-field-type-acceptance .elementor-field-subgroup .elementor-field-option label,.elementor-field-type-checkbox .elementor-field-subgroup .elementor-field-option input,.elementor-field-type-checkbox .elementor-field-subgroup .elementor-field-option label,.elementor-field-type-radio .elementor-field-subgroup .elementor-field-option input,.elementor-field-type-radio .elementor-field-subgroup .elementor-field-option label{display:inline}.elementor-field-label{cursor:pointer}.elementor-mark-required .elementor-field-label:after{content:"*";color:red;padding-left:.2em}.elementor-field-textual{line-height:1.4;font-size:15px;min-height:40px;padding:5px 14px;border-radius:3px}.elementor-field-textual.elementor-size-xs{font-size:13px;min-height:33px;padding:4px 12px;border-radius:2px}.elementor-field-textual.elementor-size-md{font-size:16px;min-height:47px;padding:6px 16px;border-radius:4px}.elementor-field-textual.elementor-size-lg{font-size:18px;min-height:59px;padding:7px 20px;border-radius:5px}.elementor-field-textual.elementor-size-xl{font-size:20px;min-height:72px;padding:8px 24px;border-radius:6px}.elementor-button-align-stretch .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button{-ms-flex-preferred-size:100%;flex-basis:100%}.elementor-button-align-stretch .e-form__buttons__wrapper{-ms-flex-preferred-size:50%;flex-basis:50%;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-button-align-stretch .e-form__buttons__wrapper__button{-ms-flex-preferred-size:100%;flex-basis:100%}.elementor-button-align-center .e-form__buttons,.elementor-button-align-center .elementor-field-type-submit{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-button-align-start .e-form__buttons,.elementor-button-align-start .elementor-field-type-submit{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-button-align-end .e-form__buttons,.elementor-button-align-end .elementor-field-type-submit{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-button-align-center .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button,.elementor-button-align-end .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button,.elementor-button-align-start .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button{-ms-flex-preferred-size:initial;flex-basis:auto}.elementor-button-align-center .e-form__buttons__wrapper,.elementor-button-align-end .e-form__buttons__wrapper,.elementor-button-align-start .e-form__buttons__wrapper{-webkit-box-flex:initial;-ms-flex-positive:initial;flex-grow:0}.elementor-button-align-center .e-form__buttons__wrapper,.elementor-button-align-center .e-form__buttons__wrapper__button,.elementor-button-align-end .e-form__buttons__wrapper,.elementor-button-align-end .e-form__buttons__wrapper__button,.elementor-button-align-start .e-form__buttons__wrapper,.elementor-button-align-start .e-form__buttons__wrapper__button{-ms-flex-preferred-size:initial;flex-basis:auto}@media screen and (max-width:ELEMENTOR_SCREEN_TABLET_MAX){.elementor-tablet-button-align-stretch .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button{-ms-flex-preferred-size:100%;flex-basis:100%}.elementor-tablet-button-align-stretch .e-form__buttons__wrapper{-ms-flex-preferred-size:50%;flex-basis:50%;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-tablet-button-align-stretch .e-form__buttons__wrapper__button{-ms-flex-preferred-size:100%;flex-basis:100%}.elementor-tablet-button-align-center .e-form__buttons,.elementor-tablet-button-align-center .elementor-field-type-submit{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-tablet-button-align-start .e-form__buttons,.elementor-tablet-button-align-start .elementor-field-type-submit{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-tablet-button-align-end .e-form__buttons,.elementor-tablet-button-align-end .elementor-field-type-submit{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-tablet-button-align-center .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button,.elementor-tablet-button-align-end .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button,.elementor-tablet-button-align-start .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button{-ms-flex-preferred-size:initial;flex-basis:auto}.elementor-tablet-button-align-center .e-form__buttons__wrapper,.elementor-tablet-button-align-end .e-form__buttons__wrapper,.elementor-tablet-button-align-start .e-form__buttons__wrapper{-webkit-box-flex:initial;-ms-flex-positive:initial;flex-grow:0}.elementor-tablet-button-align-center .e-form__buttons__wrapper,.elementor-tablet-button-align-center .e-form__buttons__wrapper__button,.elementor-tablet-button-align-end .e-form__buttons__wrapper,.elementor-tablet-button-align-end .e-form__buttons__wrapper__button,.elementor-tablet-button-align-start .e-form__buttons__wrapper,.elementor-tablet-button-align-start .e-form__buttons__wrapper__button{-ms-flex-preferred-size:initial;flex-basis:auto}}@media screen and (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-mobile-button-align-stretch .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button{-ms-flex-preferred-size:100%;flex-basis:100%}.elementor-mobile-button-align-stretch .e-form__buttons__wrapper{-ms-flex-preferred-size:50%;flex-basis:50%;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-mobile-button-align-stretch .e-form__buttons__wrapper__button{-ms-flex-preferred-size:100%;flex-basis:100%}.elementor-mobile-button-align-center .e-form__buttons,.elementor-mobile-button-align-center .elementor-field-type-submit{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-mobile-button-align-start .e-form__buttons,.elementor-mobile-button-align-start .elementor-field-type-submit{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-mobile-button-align-end .e-form__buttons,.elementor-mobile-button-align-end .elementor-field-type-submit{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-mobile-button-align-center .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button,.elementor-mobile-button-align-end .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button,.elementor-mobile-button-align-start .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button{-ms-flex-preferred-size:initial;flex-basis:auto}.elementor-mobile-button-align-center .e-form__buttons__wrapper,.elementor-mobile-button-align-end .e-form__buttons__wrapper,.elementor-mobile-button-align-start .e-form__buttons__wrapper{-webkit-box-flex:initial;-ms-flex-positive:initial;flex-grow:0}.elementor-mobile-button-align-center .e-form__buttons__wrapper,.elementor-mobile-button-align-center .e-form__buttons__wrapper__button,.elementor-mobile-button-align-end .e-form__buttons__wrapper,.elementor-mobile-button-align-end .e-form__buttons__wrapper__button,.elementor-mobile-button-align-start .e-form__buttons__wrapper,.elementor-mobile-button-align-start .e-form__buttons__wrapper__button{-ms-flex-preferred-size:initial;flex-basis:auto}}.elementor-error .elementor-field{border-color:#d9534f}.elementor-error .help-inline{color:#d9534f;font-size:.9em}.elementor-message{margin:10px 0;font-size:1em;line-height:1}.elementor-message:before{content:"\e90e";display:inline-block;font-family:eicons;font-weight:400;font-style:normal;vertical-align:middle;margin-right:5px}.elementor-message.elementor-message-danger{color:#d9534f}.elementor-message.elementor-message-danger:before{content:"\e87f"}.elementor-message.form-message-success{color:#5cb85c}.elementor-form .elementor-button{padding-top:0;padding-bottom:0;border:none}.elementor-form .elementor-button>span{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-form .elementor-button.elementor-size-xs{min-height:33px}.elementor-form .elementor-button.elementor-size-sm{min-height:40px}.elementor-form .elementor-button.elementor-size-md{min-height:47px}.elementor-form .elementor-button.elementor-size-lg{min-height:59px}.elementor-form .elementor-button.elementor-size-xl{min-height:72px}.elementor-element .elementor-widget-container{-webkit-transition:background .3s,border .3s,border-radius .3s,-webkit-box-shadow .3s;transition:background .3s,border .3s,border-radius .3s,-webkit-box-shadow .3s;-o-transition:background .3s,border .3s,border-radius .3s,box-shadow .3s;transition:background .3s,border .3s,border-radius .3s,box-shadow .3s;transition:background .3s,border .3s,border-radius .3s,box-shadow .3s,-webkit-box-shadow .3s}.elementor-button{display:inline-block;line-height:1;background-color:#818a91;font-size:15px;padding:12px 24px;border-radius:3px;color:#fff;fill:#fff;text-align:center;-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s}.elementor-button:focus,.elementor-button:hover,.elementor-button:visited{color:#fff}.elementor-button-content-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-button-icon{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-button-icon svg{width:1em;height:auto}.elementor-button-icon .e-font-icon-svg{height:1em}.elementor-button-text{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10;display:inline-block}.elementor-button.elementor-size-xs{font-size:13px;padding:10px 20px;border-radius:2px}.elementor-button.elementor-size-md{font-size:16px;padding:15px 30px;border-radius:4px}.elementor-button.elementor-size-lg{font-size:18px;padding:20px 40px;border-radius:5px}.elementor-button.elementor-size-xl{font-size:20px;padding:25px 50px;border-radius:6px}.elementor-button .elementor-align-icon-right{margin-left:5px;-webkit-box-ordinal-group:16;-ms-flex-order:15;order:15}.elementor-button .elementor-align-icon-left{margin-right:5px;-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-button span{text-decoration:inherit}.elementor-element.elementor-button-info .elementor-button{background-color:#5bc0de}.elementor-element.elementor-button-success .elementor-button{background-color:#5cb85c}.elementor-element.elementor-button-warning .elementor-button{background-color:#f0ad4e}.elementor-element.elementor-button-danger .elementor-button{background-color:#d9534f}.elementor-widget-button .elementor-button .elementor-button-info{background-color:#5bc0de}.elementor-widget-button .elementor-button .elementor-button-success{background-color:#5cb85c}.elementor-widget-button .elementor-button .elementor-button-warning{background-color:#f0ad4e}.elementor-widget-button .elementor-button .elementor-button-danger{background-color:#d9534f}.elementor-tab-title a{color:inherit}.elementor-view-stacked .elementor-icon{padding:.5em;background-color:#818a91;color:#fff;fill:#fff}.elementor-view-framed .elementor-icon{padding:.5em;color:#818a91;border:3px solid #818a91;background-color:transparent}.elementor-icon{display:inline-block;line-height:1;-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s;color:#818a91;font-size:50px;text-align:center}.elementor-icon:hover{color:#818a91}.elementor-icon i,.elementor-icon svg{width:1em;height:1em;position:relative;display:block}.elementor-icon i:before,.elementor-icon svg:before{position:absolute;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.elementor-icon i.fad{width:auto}.elementor-shape-circle .elementor-icon{border-radius:50%}.e-transform .elementor-widget-container{-webkit-transform:perspective(var(--e-transform-perspective,0)) rotate(var(--e-transform-rotateZ,0)) rotateX(var(--e-transform-rotateX,0)) rotateY(var(--e-transform-rotateY,0)) translate(var(--e-transform-translate,0)) translateX(var(--e-transform-translateX,0)) translateY(var(--e-transform-translateY,0)) scaleX(calc(var(--e-transform-flipX, 1) * var(--e-transform-scaleX, var(--e-transform-scale, 1)))) scaleY(calc(var(--e-transform-flipY, 1) * var(--e-transform-scaleY, var(--e-transform-scale, 1)))) skewX(var(--e-transform-skewX,0)) skewY(var(--e-transform-skewY,0));transform:perspective(var(--e-transform-perspective,0)) rotate(var(--e-transform-rotateZ,0)) rotateX(var(--e-transform-rotateX,0)) rotateY(var(--e-transform-rotateY,0)) translate(var(--e-transform-translate,0)) translateX(var(--e-transform-translateX,0)) translateY(var(--e-transform-translateY,0)) scaleX(calc(var(--e-transform-flipX, 1) * var(--e-transform-scaleX, var(--e-transform-scale, 1)))) scaleY(calc(var(--e-transform-flipY, 1) * var(--e-transform-scaleY, var(--e-transform-scale, 1)))) skewX(var(--e-transform-skewX,0)) skewY(var(--e-transform-skewY,0));-webkit-transform-origin:var(--e-transform-origin-y) var(--e-transform-origin-x);-ms-transform-origin:var(--e-transform-origin-y) var(--e-transform-origin-x);transform-origin:var(--e-transform-origin-y) var(--e-transform-origin-x);-webkit-transition:-webkit-transform var(--e-transform-transition-duration,.4s);transition:-webkit-transform var(--e-transform-transition-duration,.4s);-o-transition:transform var(--e-transform-transition-duration,.4s);transition:transform var(--e-transform-transition-duration,.4s);transition:transform var(--e-transform-transition-duration,.4s),-webkit-transform var(--e-transform-transition-duration,.4s)}.swiper-container{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;z-index:1}.swiper-container .swiper-slide figure{line-height:0}.swiper-container .elementor-lightbox-content-source{display:none}.swiper-container-no-flexbox .swiper-slide{float:left}.swiper-container-vertical>.swiper-wrapper{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;-o-transition-property:transform;transition-property:transform;transition-property:transform,-webkit-transform;-webkit-box-sizing:content-box;box-sizing:content-box}.swiper-container-android .swiper-slide,.swiper-wrapper{-webkit-transform:translateZ(0);transform:translateZ(0)}.swiper-container-multirow>.swiper-wrapper{-ms-flex-wrap:wrap;flex-wrap:wrap}.swiper-container-free-mode>.swiper-wrapper{-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;margin:0 auto}.swiper-slide{-ms-flex-negative:0;flex-shrink:0;width:100%;height:100%;position:relative}.swiper-container-autoheight,.swiper-container-autoheight .swiper-slide{height:auto}.swiper-container-autoheight .swiper-wrapper{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-transition-property:height,-webkit-transform;transition-property:height,-webkit-transform;-o-transition-property:transform,height;transition-property:transform,height;transition-property:transform,height,-webkit-transform}.swiper-container .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-wp8-horizontal{-ms-touch-action:pan-y;touch-action:pan-y}.swiper-wp8-vertical{-ms-touch-action:pan-x;touch-action:pan-x}.swiper-button-next,.swiper-button-prev{position:absolute;top:50%;width:27px;height:44px;margin-top:-22px;z-index:10;cursor:pointer;background-size:27px 44px;background:no-repeat 50%}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-prev,.swiper-container-rtl .swiper-button-next{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 44'%3E%3Cpath d='M0 22L22 0l2.1 2.1L4.2 22l19.9 19.9L22 44 0 22z' fill='%23007aff'/%3E%3C/svg%3E");left:10px;right:auto}.swiper-button-prev.swiper-button-black,.swiper-container-rtl .swiper-button-next.swiper-button-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 44'%3E%3Cpath d='M0 22L22 0l2.1 2.1L4.2 22l19.9 19.9L22 44 0 22z'/%3E%3C/svg%3E")}.swiper-button-prev.swiper-button-white,.swiper-container-rtl .swiper-button-next.swiper-button-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 44'%3E%3Cpath d='M0 22L22 0l2.1 2.1L4.2 22l19.9 19.9L22 44 0 22z' fill='%23fff'/%3E%3C/svg%3E")}.swiper-button-next,.swiper-container-rtl .swiper-button-prev{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 44'%3E%3Cpath d='M27 22L5 44l-2.1-2.1L22.8 22 2.9 2.1 5 0l22 22z' fill='%23007aff'/%3E%3C/svg%3E");right:10px;left:auto}.swiper-button-next.swiper-button-black,.swiper-container-rtl .swiper-button-prev.swiper-button-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 44'%3E%3Cpath d='M27 22L5 44l-2.1-2.1L22.8 22 2.9 2.1 5 0l22 22z'/%3E%3C/svg%3E")}.swiper-button-next.swiper-button-white,.swiper-container-rtl .swiper-button-prev.swiper-button-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 44'%3E%3Cpath d='M27 22L5 44l-2.1-2.1L22.8 22 2.9 2.1 5 0l22 22z' fill='%23fff'/%3E%3C/svg%3E")}.swiper-pagination{position:absolute;text-align:center;-webkit-transition:.3s;-o-transition:.3s;transition:.3s;-webkit-transform:translateZ(0);transform:translateZ(0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-container-horizontal>.swiper-pagination-bullets,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:5px;left:0;width:100%}.swiper-pagination-bullet{width:6px;height:6px;display:inline-block;border-radius:50%;background:#000;opacity:.2}.swiper-pagination-fraction{color:#000}button.swiper-pagination-bullet{border:none;margin:0;padding:0;-webkit-box-shadow:none;box-shadow:none;appearance:none;-webkit-appearance:none;-moz-appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-white .swiper-pagination-bullet{background:#fff}.swiper-pagination-bullet-active{opacity:1}.swiper-pagination-white .swiper-pagination-bullet-active{background:#fff}.swiper-pagination-black .swiper-pagination-bullet-active{background:#000}.swiper-container-vertical>.swiper-pagination-bullets{right:10px;top:50%;-webkit-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0)}.swiper-container-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:5px 0;display:block}.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 6px}.swiper-pagination-progressbar{background:rgba(0,0,0,.25);position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:#000;position:absolute;left:0;top:0;width:100%;height:100%;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);-webkit-transform-origin:left top;-ms-transform-origin:left top;transform-origin:left top}.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{-webkit-transform-origin:right top;-ms-transform-origin:right top;transform-origin:right top}.swiper-container-horizontal>.swiper-pagination-progressbar{width:100%;height:4px;left:0;top:0}.swiper-container-vertical>.swiper-pagination-progressbar{width:4px;height:100%;left:0;top:0}.swiper-pagination-progressbar.swiper-pagination-white{background:hsla(0,0%,100%,.5)}.swiper-pagination-progressbar.swiper-pagination-white .swiper-pagination-progressbar-fill{background:#fff}.swiper-pagination-progressbar.swiper-pagination-black .swiper-pagination-progressbar-fill{background:#000}.swiper-container-3d{-webkit-perspective:1200px;perspective:1200px}.swiper-container-3d .swiper-cube-shadow,.swiper-container-3d .swiper-slide,.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top,.swiper-container-3d .swiper-wrapper{-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-container-3d .swiper-slide-shadow-left{background-image:-webkit-gradient(linear,right top,left top,from(rgba(0,0,0,.5)),to(transparent));background-image:-o-linear-gradient(right,rgba(0,0,0,.5),transparent);background-image:linear-gradient(270deg,rgba(0,0,0,.5),transparent)}.swiper-container-3d .swiper-slide-shadow-right{background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(transparent));background-image:-o-linear-gradient(left,rgba(0,0,0,.5),transparent);background-image:linear-gradient(90deg,rgba(0,0,0,.5),transparent)}.swiper-container-3d .swiper-slide-shadow-top{background-image:-webkit-gradient(linear,left bottom,left top,from(rgba(0,0,0,.5)),to(transparent));background-image:-o-linear-gradient(bottom,rgba(0,0,0,.5),transparent);background-image:linear-gradient(0deg,rgba(0,0,0,.5),transparent)}.swiper-container-3d .swiper-slide-shadow-bottom{background-image:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.5)),to(transparent));background-image:-o-linear-gradient(top,rgba(0,0,0,.5),transparent);background-image:linear-gradient(180deg,rgba(0,0,0,.5),transparent)}.swiper-container-coverflow .swiper-wrapper,.swiper-container-flip .swiper-wrapper{-ms-perspective:1200px}.swiper-container-cube,.swiper-container-flip{overflow:visible}.swiper-container-cube .swiper-slide,.swiper-container-flip .swiper-slide{pointer-events:none;z-index:1}.swiper-container-cube .swiper-slide .swiper-slide,.swiper-container-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-active .swiper-slide-active,.swiper-container-flip .swiper-slide-active,.swiper-container-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-cube .swiper-slide-shadow-bottom,.swiper-container-cube .swiper-slide-shadow-left,.swiper-container-cube .swiper-slide-shadow-right,.swiper-container-cube .swiper-slide-shadow-top,.swiper-container-flip .swiper-slide-shadow-bottom,.swiper-container-flip .swiper-slide-shadow-left,.swiper-container-flip .swiper-slide-shadow-right,.swiper-container-flip .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-container-cube .swiper-slide{visibility:hidden;-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0;width:100%;height:100%}.swiper-container-cube.swiper-container-rtl .swiper-slide{-webkit-transform-origin:100% 0;-ms-transform-origin:100% 0;transform-origin:100% 0}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-next,.swiper-container-cube .swiper-slide-next+.swiper-slide,.swiper-container-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-container-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0;width:100%;height:100%;background:#000;opacity:.6;-webkit-filter:blur(50px);filter:blur(50px);z-index:0}.swiper-container-fade.swiper-container-free-mode .swiper-slide{-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out}.swiper-container-fade .swiper-slide{pointer-events:none;-webkit-transition-property:opacity;-o-transition-property:opacity;transition-property:opacity}.swiper-container-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-fade .swiper-slide-active,.swiper-container-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-zoom-container{width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain}.swiper-scrollbar{border-radius:10px;position:relative;-ms-touch-action:none;background:rgba(0,0,0,.1)}.swiper-container-horizontal>.swiper-scrollbar{position:absolute;left:1%;bottom:3px;z-index:50;height:5px;width:98%}.swiper-container-vertical>.swiper-scrollbar{position:absolute;right:3px;top:1%;z-index:50;width:5px;height:98%}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:rgba(0,0,0,.5);border-radius:10px;left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.elementor-pagination-position-outside .swiper-container{padding-bottom:30px}.elementor-pagination-position-outside .elementor-swiper-button{top:calc(50% - 30px / 2)}.elementor-swiper{position:relative}.elementor-main-swiper{position:static}.elementor-arrows-position-outside .swiper-container{width:calc(100% - 60px)}.elementor-arrows-position-outside .elementor-swiper-button-prev{left:0}.elementor-arrows-position-outside .elementor-swiper-button-next{right:0}.swiper-image-stretch .swiper-slide .swiper-slide-image{width:100%}.elementor-swiper-button{position:absolute;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;z-index:1;cursor:pointer;font-size:25px;color:hsla(0,0%,93.3%,.9);top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.elementor-swiper-button svg{fill:hsla(0,0%,93.3%,.9);height:1em;width:1em}.elementor-swiper-button-prev{left:10px}.elementor-swiper-button-next{right:10px}.elementor-swiper-button.swiper-button-disabled{opacity:.3}.swiper-container-cube .elementor-swiper-button{-webkit-transform:translate3d(0,-50%,1px);transform:translate3d(0,-50%,1px)}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;-webkit-transform-origin:50%;-ms-transform-origin:50%;transform-origin:50%;-webkit-animation:swiper-preloader-spin 1s steps(12) infinite;animation:swiper-preloader-spin 1s steps(12) infinite}.swiper-lazy-preloader:after{display:block;content:"";width:100%;height:100%;background-size:100%;background:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 120 120' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath id='a' stroke='%236c6c6c' stroke-width='11' stroke-linecap='round' d='M60 7v20'/%3E%3C/defs%3E%3Cuse xlink:href='%23a' opacity='.27'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(30 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(60 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(90 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(120 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(150 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.37' transform='rotate(180 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.46' transform='rotate(210 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.56' transform='rotate(240 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.66' transform='rotate(270 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.75' transform='rotate(300 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.85' transform='rotate(330 60 60)'/%3E%3C/svg%3E") no-repeat 50%}.swiper-lazy-preloader-white:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 120 120' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath id='a' stroke='%23fff' stroke-width='11' stroke-linecap='round' d='M60 7v20'/%3E%3C/defs%3E%3Cuse xlink:href='%23a' opacity='.27'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(30 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(60 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(90 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(120 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(150 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.37' transform='rotate(180 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.46' transform='rotate(210 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.56' transform='rotate(240 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.66' transform='rotate(270 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.75' transform='rotate(300 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.85' transform='rotate(330 60 60)'/%3E%3C/svg%3E")}@-webkit-keyframes swiper-preloader-spin{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes swiper-preloader-spin{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.elementor-lightbox{--lightbox-ui-color:hsla(0,0%,93.3%,0.9);--lightbox-ui-color-hover:#fff;--lightbox-text-color:var(--lightbox-ui-color);--lightbox-header-icons-size:20px;--lightbox-navigation-icons-size:25px}.elementor-lightbox .dialog-header{display:none}.elementor-lightbox .dialog-widget-content{background:none;-webkit-box-shadow:none;box-shadow:none;width:100%;height:100%}.elementor-lightbox .dialog-message{-webkit-animation-duration:.3s;animation-duration:.3s}.elementor-lightbox .dialog-message:not(.elementor-fit-aspect-ratio){height:100%}.elementor-lightbox .dialog-message.dialog-lightbox-message{padding:0}.elementor-lightbox .dialog-lightbox-close-button{cursor:pointer;position:absolute;font-size:var(--lightbox-header-icons-size);right:.75em;margin-top:13px;padding:.25em;z-index:2;line-height:1;display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-lightbox .dialog-lightbox-close-button svg{height:1em;width:1em}.elementor-lightbox .dialog-lightbox-close-button,.elementor-lightbox .elementor-swiper-button{color:var(--lightbox-ui-color);-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s;opacity:1}.elementor-lightbox .dialog-lightbox-close-button svg,.elementor-lightbox .elementor-swiper-button svg{fill:var(--lightbox-ui-color)}.elementor-lightbox .dialog-lightbox-close-button:hover,.elementor-lightbox .elementor-swiper-button:hover{color:var(--lightbox-ui-color-hover)}.elementor-lightbox .dialog-lightbox-close-button:hover svg,.elementor-lightbox .elementor-swiper-button:hover svg{fill:var(--lightbox-ui-color-hover)}.elementor-lightbox .swiper-container{height:100%}.elementor-lightbox .elementor-lightbox-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;position:relative;padding:70px;-webkit-box-sizing:border-box;box-sizing:border-box;height:100%;margin:auto}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-lightbox .elementor-lightbox-item{padding:70px 0}}.elementor-lightbox .elementor-lightbox-image{max-height:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.elementor-lightbox .elementor-lightbox-image,.elementor-lightbox .elementor-lightbox-image:hover{opacity:1;-webkit-filter:none;filter:none;border:none}.elementor-lightbox .elementor-lightbox-image,.elementor-lightbox .elementor-video-container{-webkit-box-shadow:0 0 30px rgba(0,0,0,.3),0 0 8px -5px rgba(0,0,0,.3);box-shadow:0 0 30px rgba(0,0,0,.3),0 0 8px -5px rgba(0,0,0,.3);border-radius:2px}.elementor-lightbox .elementor-video-container{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}@media (min-width:ELEMENTOR_SCREEN_TABLET_NEXT){.elementor-lightbox .elementor-video-container{width:75%}}@media (max-width:ELEMENTOR_SCREEN_TABLET_MAX){.elementor-lightbox .elementor-video-container{width:100%}}@media (min-width:768px) and (max-width:1024px){.elementor-lightbox .elementor-aspect-ratio-916 .elementor-video-container{width:70%}}.elementor-lightbox .elementor-swiper-button:focus{outline-width:1px}.elementor-lightbox .elementor-swiper-button-next,.elementor-lightbox .elementor-swiper-button-prev{height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:15%;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:var(--lightbox-navigation-icons-size)}.elementor-lightbox .elementor-swiper-button-prev{left:0}.elementor-lightbox .elementor-swiper-button-next{right:0}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-lightbox .elementor-swiper-button:focus{outline:none}.elementor-lightbox .elementor-swiper-button-next,.elementor-lightbox .elementor-swiper-button-prev{width:20%}.elementor-lightbox .elementor-swiper-button-next i,.elementor-lightbox .elementor-swiper-button-prev i{padding:10px;background-color:rgba(0,0,0,.5)}.elementor-lightbox .elementor-swiper-button-prev{left:0;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-lightbox .elementor-swiper-button-next{right:0;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}}.elementor-slideshow__counter{color:currentColor;font-size:.75em;width:-webkit-max-content;width:-moz-max-content;width:max-content}.elementor-slideshow__footer,.elementor-slideshow__header{position:absolute;left:0;width:100%;padding:15px 20px;-webkit-transition:.3s;-o-transition:.3s;transition:.3s}.elementor-slideshow__footer{color:var(--lightbox-text-color)}.elementor-slideshow__header{color:var(--lightbox-ui-color);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;font-size:var(--lightbox-header-icons-size);padding-left:1em;padding-right:2.6em;top:0;-webkit-box-align:center;-ms-flex-align:center;align-items:center;z-index:10}.elementor-slideshow__header>i,.elementor-slideshow__header>svg{cursor:pointer;padding:.25em;margin:0 .35em}.elementor-slideshow__header>i{font-size:inherit}.elementor-slideshow__header>i:hover{color:var(--lightbox-ui-color-hover)}.elementor-slideshow__header>svg{-webkit-box-sizing:content-box;box-sizing:content-box;fill:var(--lightbox-ui-color);height:1em;width:1em}.elementor-slideshow__header>svg:hover{fill:var(--lightbox-ui-color-hover)}.elementor-slideshow__header .elementor-slideshow__counter{margin-right:auto}.elementor-slideshow__header .elementor-icon-share{z-index:5}.elementor-slideshow__share-menu{background-color:transparent;width:0;height:0;position:absolute;overflow:hidden;-webkit-transition:background-color .4s;-o-transition:background-color .4s;transition:background-color .4s}.elementor-slideshow__share-menu .elementor-slideshow__share-links a{color:#2c2c2c}.elementor-slideshow__share-links{display:block;position:absolute;min-width:200px;right:2.8em;top:3em;background-color:#fff;border-radius:3px;padding:14px 20px;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);opacity:0;-webkit-transform-origin:90% 10%;-ms-transform-origin:90% 10%;transform-origin:90% 10%;-webkit-transition:all .25s .1s;-o-transition:all .25s .1s;transition:all .25s .1s;-webkit-box-shadow:0 4px 15px rgba(0,0,0,.3);box-shadow:0 4px 15px rgba(0,0,0,.3)}.elementor-slideshow__share-links a{text-align:left;color:#55595c;font-size:12px;line-height:2.5;display:block;opacity:0;-webkit-transition:opacity .5s .1s;-o-transition:opacity .5s .1s;transition:opacity .5s .1s}.elementor-slideshow__share-links a:hover{color:#000}.elementor-slideshow__share-links a i,.elementor-slideshow__share-links a svg{margin-right:.75em}.elementor-slideshow__share-links a i{font-size:1.25em}.elementor-slideshow__share-links a svg{height:1.25em;width:1.25em}.elementor-slideshow__share-links:before{content:"";display:block;position:absolute;top:1px;right:.5em;border:.45em solid transparent;border-bottom-color:#fff;-webkit-transform:translateY(-100%) scaleX(.7);-ms-transform:translateY(-100%) scaleX(.7);transform:translateY(-100%) scaleX(.7)}.elementor-slideshow__footer{bottom:0;z-index:5;position:fixed}.elementor-slideshow__description,.elementor-slideshow__title{margin:0}.elementor-slideshow__title{font-size:16px;font-weight:700}.elementor-slideshow__description{font-size:14px}.elementor-slideshow--ui-hidden .elementor-slideshow__footer,.elementor-slideshow--ui-hidden .elementor-slideshow__header{opacity:0;pointer-events:none}.elementor-slideshow--ui-hidden .elementor-swiper-button-next,.elementor-slideshow--ui-hidden .elementor-swiper-button-prev{opacity:0}.elementor-slideshow--fullscreen-mode .elementor-video-container{width:100%}.elementor-slideshow--zoom-mode .elementor-slideshow__footer,.elementor-slideshow--zoom-mode .elementor-slideshow__header{background-color:rgba(0,0,0,.5)}.elementor-slideshow--zoom-mode .elementor-swiper-button-next,.elementor-slideshow--zoom-mode .elementor-swiper-button-prev{opacity:0;pointer-events:none}.elementor-slideshow--share-mode .elementor-slideshow__share-menu{top:0;left:0;width:100vw;height:100vh;opacity:1;cursor:default;background-color:rgba(0,0,0,.5)}.elementor-slideshow--share-mode .elementor-slideshow__share-links{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.elementor-slideshow--share-mode .elementor-slideshow__share-links,.elementor-slideshow--share-mode .elementor-slideshow__share-links a{opacity:1}.elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-twitter{color:#1da1f2}.elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-facebook{color:#3b5998}.elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-pinterest{color:#bd081c}.elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-download-bold{color:#a4afb7}.elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-twitter{fill:#1da1f2}.elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-facebook{fill:#3b5998}.elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-pinterest{fill:#bd081c}.elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-download-bold{fill:#a4afb7}.elementor-slideshow--share-mode .eicon-share-arrow{z-index:2}.animated{-webkit-animation-duration:1.25s;animation-duration:1.25s}.animated.animated-slow{-webkit-animation-duration:2s;animation-duration:2s}.animated.animated-fast{-webkit-animation-duration:.75s;animation-duration:.75s}.animated.infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.animated.reverse{animation-direction:reverse;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}@media (prefers-reduced-motion:reduce){.animated{-webkit-animation:none;animation:none}}.elementor-shape{overflow:hidden;position:absolute;left:0;width:100%;line-height:0;direction:ltr}.elementor-shape-top{top:-1px}.elementor-shape-top:not([data-negative=false]) svg{z-index:-1}.elementor-shape-bottom{bottom:-1px}.elementor-shape-bottom:not([data-negative=true]) svg{z-index:-1}.elementor-shape[data-negative=false].elementor-shape-bottom,.elementor-shape[data-negative=true].elementor-shape-top{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.elementor-shape svg{display:block;width:calc(100% + 1.3px);position:relative;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.elementor-shape .elementor-shape-fill{fill:#fff;-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center;-webkit-transform:rotateY(0deg);transform:rotateY(0deg)}#wp-admin-bar-elementor_edit_page>.ab-item:before{content:"\e813";font-family:eicons;top:3px;font-size:18px}#wp-admin-bar-elementor_edit_page .ab-submenu .ab-item{display:-webkit-box;display:-ms-flexbox;display:flex;width:200px}#wp-admin-bar-elementor_edit_page .elementor-edit-link-title{white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden;width:100%}#wp-admin-bar-elementor_edit_page .elementor-edit-link-type{background:#55595c;font-size:11px;line-height:9px;margin-top:6px;padding:4px 8px;border-radius:3px}#wp-admin-bar-elementor_inspector>.ab-item:before{content:"\f348";top:2px}#wpadminbar *{font-style:normal}.page-template-elementor_canvas.elementor-page:before{display:none}.elementor-post__thumbnail__link{-webkit-transition:none;-o-transition:none;transition:none}#left-area ul.elementor-icon-list-items,.elementor-edit-area .elementor-element ul.elementor-icon-list-items,.elementor .elementor-element ul.elementor-icon-list-items{padding:0}.e--ua-appleWebkit.rtl{--flex-right:flex-start}.e--ua-appleWebkit .elementor-share-buttons--align-right,.e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-right{--justify-content:var(--flex-right,flex-end)}.e--ua-appleWebkit .elementor-share-buttons--align-center,.e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-center{--justify-content:center}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-center .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-justify .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-right .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-center .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-right .elementor-grid{width:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:var(--justify-content,space-between);-ms-flex-pack:var(--justify-content,space-between);justify-content:var(--justify-content,space-between);margin-left:calc(-.5 * var(--grid-column-gap));margin-right:calc(-.5 * var(--grid-column-gap))}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-center .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-justify .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-right .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-center .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-right .elementor-grid-item{margin-left:calc(.5 * var(--grid-column-gap));margin-right:calc(.5 * var(--grid-column-gap))}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-left .elementor-grid{display:inline-block}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-left .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-left .elementor-grid-item{margin-left:0;margin-right:0}@media (max-width:ELEMENTOR_SCREEN_TABLET_MAX){.e--ua-appleWebkit .elementor-share-buttons-tablet--align-right,.e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-tablet-right{--justify-content:var(--flex-right,flex-end)}.e--ua-appleWebkit .elementor-share-buttons-tablet--align-center,.e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-tablet-center{--justify-content:center}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-center .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-justify .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-right .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-center .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-right .elementor-grid{width:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:var(--justify-content,space-between);-ms-flex-pack:var(--justify-content,space-between);justify-content:var(--justify-content,space-between);margin-left:calc(-.5 * var(--grid-column-gap));margin-right:calc(-.5 * var(--grid-column-gap))}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-center .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-justify .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-right .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-center .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-right .elementor-grid-item{margin-left:calc(.5 * var(--grid-column-gap));margin-right:calc(.5 * var(--grid-column-gap))}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-tablet--align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-left .elementor-grid{display:inline-block}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-tablet--align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-tablet--align-left .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-left .elementor-grid-item{margin-left:0;margin-right:0}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.e--ua-appleWebkit .elementor-share-buttons-mobile--align-right,.e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-mobile-right{--justify-content:var(--flex-right,flex-end)}.e--ua-appleWebkit .elementor-share-buttons-mobile--align-center,.e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-mobile-center{--justify-content:center}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-center .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-justify .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-right .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-center .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-right .elementor-grid{width:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:var(--justify-content,space-between);-ms-flex-pack:var(--justify-content,space-between);justify-content:var(--justify-content,space-between);margin-left:calc(-.5 * var(--grid-column-gap));margin-right:calc(-.5 * var(--grid-column-gap))}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-center .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-justify .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-right .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-center .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-right .elementor-grid-item{margin-left:calc(.5 * var(--grid-column-gap));margin-right:calc(.5 * var(--grid-column-gap))}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-mobile--align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-left .elementor-grid{display:inline-block}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-mobile--align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-mobile--align-left .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-left .elementor-grid-item{margin-left:0;margin-right:0}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor .elementor-hidden-mobile,.elementor .elementor-hidden-phone{display:none}}@media (min-width:ELEMENTOR_SCREEN_MOBILE_EXTRA_MIN) and (max-width:ELEMENTOR_SCREEN_MOBILE_EXTRA_MAX){.elementor .elementor-hidden-mobile_extra{display:none}}@media (min-width:ELEMENTOR_SCREEN_TABLET_MIN) and (max-width:ELEMENTOR_SCREEN_TABLET_MAX){.elementor .elementor-hidden-tablet{display:none}}@media (min-width:ELEMENTOR_SCREEN_TABLET_EXTRA_MIN) and (max-width:ELEMENTOR_SCREEN_TABLET_EXTRA_MAX){.elementor .elementor-hidden-tablet_extra{display:none}}@media (min-width:ELEMENTOR_SCREEN_LAPTOP_MIN) and (max-width:ELEMENTOR_SCREEN_LAPTOP_MAX){.elementor .elementor-hidden-laptop{display:none}}@media (min-width:ELEMENTOR_SCREEN_DESKTOP_MIN) and (max-width:ELEMENTOR_SCREEN_DESKTOP_MAX){.elementor .elementor-hidden-desktop{display:none}}@media (min-width:ELEMENTOR_SCREEN_WIDESCREEN_MIN){.elementor .elementor-hidden-widescreen{display:none}}.elementor-widget-text-path{font-size:20px;text-align:var(--alignment,left)}.elementor-widget-text-path svg{width:var(--width);max-width:100%;height:auto;overflow:visible;word-spacing:var(--word-spacing);-webkit-transform:rotate(var(--rotate,0)) scaleX(var(--scale-x,1)) scaleY(var(--scale-y,1));-ms-transform:rotate(var(--rotate,0)) scaleX(var(--scale-x,1)) scaleY(var(--scale-y,1));transform:rotate(var(--rotate,0)) scaleX(var(--scale-x,1)) scaleY(var(--scale-y,1))}.elementor-widget-text-path svg path{vector-effect:non-scaling-stroke;fill:var(--path-fill,transparent);stroke:var(--stroke-color,transparent);stroke-width:var(--stroke-width,1px);-webkit-transition:var(--stroke-transition) stroke,var(--stroke-transition) fill;-o-transition:var(--stroke-transition) stroke,var(--stroke-transition) fill;transition:var(--stroke-transition) stroke,var(--stroke-transition) fill}.elementor-widget-text-path svg:hover path{--path-fill:var(--path-fill-hover);--stroke-color:var(--stroke-color-hover);--stroke-width:var(--stroke-width-hover)}.elementor-widget-text-path svg text{--fill:var(--text-color);fill:var(--fill);direction:var(--direction,ltr);-webkit-transition:var(--transition) stroke,var(--transition) stroke-width,var(--transition) fill;-o-transition:var(--transition) stroke,var(--transition) stroke-width,var(--transition) fill;transition:var(--transition) stroke,var(--transition) stroke-width,var(--transition) fill}.elementor-widget-text-path svg text:hover{--color:var(--text-color-hover,var(--text-color));--fill:var(--color);color:var(--color)}.elementor-accordion{text-align:left}.elementor-accordion .elementor-accordion-item{border:1px solid #d4d4d4}.elementor-accordion .elementor-accordion-item+.elementor-accordion-item{border-top:none}.elementor-accordion .elementor-tab-title{margin:0;padding:15px 20px;font-weight:700;line-height:1;cursor:pointer;outline:none}.elementor-accordion .elementor-tab-title .elementor-accordion-icon{display:inline-block;width:1.5em}.elementor-accordion .elementor-tab-title .elementor-accordion-icon svg{width:1em;height:1em}.elementor-accordion .elementor-tab-title .elementor-accordion-icon.elementor-accordion-icon-right{float:right;text-align:right}.elementor-accordion .elementor-tab-title .elementor-accordion-icon.elementor-accordion-icon-left{float:left;text-align:left}.elementor-accordion .elementor-tab-title .elementor-accordion-icon .elementor-accordion-icon-closed{display:block}.elementor-accordion .elementor-tab-title .elementor-accordion-icon .elementor-accordion-icon-opened,.elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon-closed{display:none}.elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon-opened{display:block}.elementor-accordion .elementor-tab-content{display:none;padding:15px 20px;border-top:1px solid #d4d4d4}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-accordion .elementor-tab-title{padding:12px 15px}.elementor-accordion .elementor-tab-title .elementor-accordion-icon{width:1.2em}.elementor-accordion .elementor-tab-content{padding:7px 15px}}.elementor-alert{padding:15px;border-left:5px solid transparent;position:relative;text-align:left}.elementor-alert .elementor-alert-title{display:block;font-weight:700}.elementor-alert .elementor-alert-description{font-size:13px}.elementor-alert button.elementor-alert-dismiss{position:absolute;right:10px;top:10px;padding:3px;font-size:20px;line-height:1;background:transparent;color:inherit;border:none;cursor:pointer}.elementor-alert.elementor-alert-info{color:#31708f;background-color:#d9edf7;border-color:#bcdff1}.elementor-alert.elementor-alert-success{color:#3c763d;background-color:#dff0d8;border-color:#cae6be}.elementor-alert.elementor-alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#f9f0c3}.elementor-alert.elementor-alert-danger{color:#a94442;background-color:#f2dede;border-color:#e8c4c4}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-alert{padding:10px}.elementor-alert button.elementor-alert-dismiss{right:7px;top:7px}}.elementor-counter .elementor-counter-number-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;font-size:69px;font-weight:600;line-height:1}.elementor-counter .elementor-counter-number-prefix,.elementor-counter .elementor-counter-number-suffix{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;white-space:pre-wrap}.elementor-counter .elementor-counter-number-prefix{text-align:right}.elementor-counter .elementor-counter-number-suffix{text-align:left}.elementor-counter .elementor-counter-title{text-align:center;font-size:19px;font-weight:400;line-height:2.5}.elementor-widget-divider{--divider-border-style:none;--divider-border-width:1px;--divider-color:#2c2c2c;--divider-icon-size:20px;--divider-element-spacing:10px;--divider-pattern-height:24px;--divider-pattern-size:20px;--divider-pattern-url:none;--divider-pattern-repeat:repeat-x}.elementor-widget-divider .elementor-divider{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-divider .elementor-divider__text{font-size:15px;line-height:1;max-width:95%}.elementor-widget-divider .elementor-divider__element{margin:0 var(--divider-element-spacing);-ms-flex-negative:0;flex-shrink:0}.elementor-widget-divider .elementor-icon{font-size:var(--divider-icon-size)}.elementor-widget-divider .elementor-divider-separator{display:-webkit-box;display:-ms-flexbox;display:flex;margin:0;direction:ltr}.elementor-widget-divider--view-line_icon .elementor-divider-separator,.elementor-widget-divider--view-line_text .elementor-divider-separator{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-widget-divider--view-line_icon .elementor-divider-separator:after,.elementor-widget-divider--view-line_icon .elementor-divider-separator:before,.elementor-widget-divider--view-line_text .elementor-divider-separator:after,.elementor-widget-divider--view-line_text .elementor-divider-separator:before{display:block;content:"";border-bottom:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;border-top:var(--divider-border-width) var(--divider-border-style) var(--divider-color)}.elementor-widget-divider--element-align-left .elementor-divider .elementor-divider-separator>.elementor-divider__svg:first-of-type{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;-ms-flex-negative:100;flex-shrink:100}.elementor-widget-divider--element-align-left .elementor-divider-separator:before{content:none}.elementor-widget-divider--element-align-left .elementor-divider__element{margin-left:0}.elementor-widget-divider--element-align-right .elementor-divider .elementor-divider-separator>.elementor-divider__svg:last-of-type{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;-ms-flex-negative:100;flex-shrink:100}.elementor-widget-divider--element-align-right .elementor-divider-separator:after{content:none}.elementor-widget-divider--element-align-right .elementor-divider__element{margin-right:0}.elementor-widget-divider:not(.elementor-widget-divider--view-line_text):not(.elementor-widget-divider--view-line_icon) .elementor-divider-separator{border-top:var(--divider-border-width) var(--divider-border-style) var(--divider-color)}.elementor-widget-divider--separator-type-pattern{--divider-border-style:none}.elementor-widget-divider--separator-type-pattern.elementor-widget-divider--view-line .elementor-divider-separator,.elementor-widget-divider--separator-type-pattern:not(.elementor-widget-divider--view-line) .elementor-divider-separator:after,.elementor-widget-divider--separator-type-pattern:not(.elementor-widget-divider--view-line) .elementor-divider-separator:before,.elementor-widget-divider--separator-type-pattern:not([class*=elementor-widget-divider--view]) .elementor-divider-separator{width:100%;min-height:var(--divider-pattern-height);-webkit-mask-size:var(--divider-pattern-size) 100%;mask-size:var(--divider-pattern-size) 100%;-webkit-mask-repeat:var(--divider-pattern-repeat);mask-repeat:var(--divider-pattern-repeat);background-color:var(--divider-color);-webkit-mask-image:var(--divider-pattern-url);mask-image:var(--divider-pattern-url)}.elementor-widget-divider--no-spacing{--divider-pattern-size:auto}.elementor-widget-divider--bg-round{--divider-pattern-repeat:round}.rtl .elementor-widget-divider .elementor-divider__text{direction:rtl}.elementor-image-gallery .gallery-item{display:inline-block;text-align:center;vertical-align:top;width:100%;max-width:100%;margin:0 auto}.elementor-image-gallery .gallery-item img{margin:0 auto}.elementor-image-gallery .gallery-item .gallery-caption{margin:0}.elementor-image-gallery figure img{display:block}.elementor-image-gallery figure figcaption{width:100%}.gallery-spacing-custom .elementor-image-gallery .gallery-icon{padding:0}@media (min-width:ELEMENTOR_SCREEN_MOBILE_NEXT){.elementor-image-gallery .gallery-columns-2 .gallery-item{max-width:50%}.elementor-image-gallery .gallery-columns-3 .gallery-item{max-width:33.33%}.elementor-image-gallery .gallery-columns-4 .gallery-item{max-width:25%}.elementor-image-gallery .gallery-columns-5 .gallery-item{max-width:20%}.elementor-image-gallery .gallery-columns-6 .gallery-item{max-width:16.666%}.elementor-image-gallery .gallery-columns-7 .gallery-item{max-width:14.28%}.elementor-image-gallery .gallery-columns-8 .gallery-item{max-width:12.5%}.elementor-image-gallery .gallery-columns-9 .gallery-item{max-width:11.11%}.elementor-image-gallery .gallery-columns-10 .gallery-item{max-width:10%}}@media (min-width:480px) and (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-image-gallery .gallery.gallery-columns-2 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-3 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-4 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-5 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-6 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-7 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-8 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-9 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-10 .gallery-item{max-width:50%}}@media (max-width:479px){.elementor-image-gallery .gallery.gallery-columns-2 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-3 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-4 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-5 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-6 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-7 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-8 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-9 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-10 .gallery-item{max-width:100%}}.elementor-widget-google_maps .elementor-widget-container{overflow:hidden}.elementor-widget-google_maps iframe{height:300px}.elementor-heading-title{padding:0;margin:0;line-height:1}.elementor-widget-heading .elementor-heading-title[class*=elementor-size-]>a{color:inherit;font-size:inherit;line-height:inherit}.elementor-widget-heading .elementor-heading-title.elementor-size-small{font-size:15px}.elementor-widget-heading .elementor-heading-title.elementor-size-medium{font-size:19px}.elementor-widget-heading .elementor-heading-title.elementor-size-large{font-size:29px}.elementor-widget-heading .elementor-heading-title.elementor-size-xl{font-size:39px}.elementor-widget-heading .elementor-heading-title.elementor-size-xxl{font-size:59px}.elementor-widget-icon-box .elementor-icon-box-wrapper{display:block;text-align:center}.elementor-widget-icon-box .elementor-icon-box-icon{margin-bottom:var(--icon-box-icon-margin,15px);margin-right:auto;margin-left:auto}@media (min-width:ELEMENTOR_SCREEN_MOBILE_NEXT){.elementor-widget-icon-box.elementor-vertical-align-top .elementor-icon-box-wrapper{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.elementor-widget-icon-box.elementor-vertical-align-middle .elementor-icon-box-wrapper{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-widget-icon-box.elementor-vertical-align-bottom .elementor-icon-box-wrapper{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}}.elementor-widget-icon-box.elementor-position-left .elementor-icon-box-wrapper,.elementor-widget-icon-box.elementor-position-right .elementor-icon-box-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-icon-box.elementor-position-left .elementor-icon-box-icon,.elementor-widget-icon-box.elementor-position-right .elementor-icon-box-icon{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.elementor-widget-icon-box.elementor-position-right .elementor-icon-box-wrapper{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-widget-icon-box.elementor-position-right .elementor-icon-box-icon{margin-left:var(--icon-box-icon-margin,15px);margin-right:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-position-left .elementor-icon-box-wrapper{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.elementor-widget-icon-box.elementor-position-left .elementor-icon-box-icon{margin-right:var(--icon-box-icon-margin,15px);margin-left:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-position-top .elementor-icon-box-wrapper{display:block;text-align:center;-webkit-box-orient:unset;-webkit-box-direction:unset;-ms-flex-direction:unset;flex-direction:unset}.elementor-widget-icon-box.elementor-position-top .elementor-icon-box-icon{margin-bottom:var(--icon-box-icon-margin,15px);margin-right:auto;margin-left:auto}@media (min-width:ELEMENTOR_SCREEN_WIDESCREEN_MIN){.elementor-widget-icon-box.elementor-widescreen-position-left .elementor-icon-box-wrapper,.elementor-widget-icon-box.elementor-widescreen-position-right .elementor-icon-box-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-icon-box.elementor-widescreen-position-left .elementor-icon-box-icon,.elementor-widget-icon-box.elementor-widescreen-position-right .elementor-icon-box-icon{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.elementor-widget-icon-box.elementor-widescreen-position-right .elementor-icon-box-wrapper{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-widget-icon-box.elementor-widescreen-position-right .elementor-icon-box-icon{margin-left:var(--icon-box-icon-margin,15px);margin-right:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-widescreen-position-left .elementor-icon-box-wrapper{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.elementor-widget-icon-box.elementor-widescreen-position-left .elementor-icon-box-icon{margin-right:var(--icon-box-icon-margin,15px);margin-left:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-widescreen-position-top .elementor-icon-box-wrapper{display:block;text-align:center;-webkit-box-orient:unset;-webkit-box-direction:unset;-ms-flex-direction:unset;flex-direction:unset}.elementor-widget-icon-box.elementor-widescreen-position-top .elementor-icon-box-icon{margin-bottom:var(--icon-box-icon-margin,15px);margin-right:auto;margin-left:auto}}@media (max-width:ELEMENTOR_SCREEN_LAPTOP_MAX){.elementor-widget-icon-box.elementor-laptop-position-left .elementor-icon-box-wrapper,.elementor-widget-icon-box.elementor-laptop-position-right .elementor-icon-box-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-icon-box.elementor-laptop-position-left .elementor-icon-box-icon,.elementor-widget-icon-box.elementor-laptop-position-right .elementor-icon-box-icon{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.elementor-widget-icon-box.elementor-laptop-position-right .elementor-icon-box-wrapper{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-widget-icon-box.elementor-laptop-position-right .elementor-icon-box-icon{margin-left:var(--icon-box-icon-margin,15px);margin-right:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-laptop-position-left .elementor-icon-box-wrapper{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.elementor-widget-icon-box.elementor-laptop-position-left .elementor-icon-box-icon{margin-right:var(--icon-box-icon-margin,15px);margin-left:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-laptop-position-top .elementor-icon-box-wrapper{display:block;text-align:center;-webkit-box-orient:unset;-webkit-box-direction:unset;-ms-flex-direction:unset;flex-direction:unset}.elementor-widget-icon-box.elementor-laptop-position-top .elementor-icon-box-icon{margin-bottom:var(--icon-box-icon-margin,15px);margin-right:auto;margin-left:auto}}@media (max-width:ELEMENTOR_SCREEN_TABLET_EXTRA_MAX){.elementor-widget-icon-box.elementor-tablet_extra-position-left .elementor-icon-box-wrapper,.elementor-widget-icon-box.elementor-tablet_extra-position-right .elementor-icon-box-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-icon-box.elementor-tablet_extra-position-left .elementor-icon-box-icon,.elementor-widget-icon-box.elementor-tablet_extra-position-right .elementor-icon-box-icon{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.elementor-widget-icon-box.elementor-tablet_extra-position-right .elementor-icon-box-wrapper{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-widget-icon-box.elementor-tablet_extra-position-right .elementor-icon-box-icon{margin-left:var(--icon-box-icon-margin,15px);margin-right:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-tablet_extra-position-left .elementor-icon-box-wrapper{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.elementor-widget-icon-box.elementor-tablet_extra-position-left .elementor-icon-box-icon{margin-right:var(--icon-box-icon-margin,15px);margin-left:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-tablet_extra-position-top .elementor-icon-box-wrapper{display:block;text-align:center;-webkit-box-orient:unset;-webkit-box-direction:unset;-ms-flex-direction:unset;flex-direction:unset}.elementor-widget-icon-box.elementor-tablet_extra-position-top .elementor-icon-box-icon{margin-bottom:var(--icon-box-icon-margin,15px);margin-right:auto;margin-left:auto}}@media (max-width:ELEMENTOR_SCREEN_TABLET_MAX){.elementor-widget-icon-box.elementor-tablet-position-left .elementor-icon-box-wrapper,.elementor-widget-icon-box.elementor-tablet-position-right .elementor-icon-box-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-icon-box.elementor-tablet-position-left .elementor-icon-box-icon,.elementor-widget-icon-box.elementor-tablet-position-right .elementor-icon-box-icon{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.elementor-widget-icon-box.elementor-tablet-position-right .elementor-icon-box-wrapper{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-widget-icon-box.elementor-tablet-position-right .elementor-icon-box-icon{margin-left:var(--icon-box-icon-margin,15px);margin-right:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-tablet-position-left .elementor-icon-box-wrapper{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.elementor-widget-icon-box.elementor-tablet-position-left .elementor-icon-box-icon{margin-right:var(--icon-box-icon-margin,15px);margin-left:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-tablet-position-top .elementor-icon-box-wrapper{display:block;text-align:center;-webkit-box-orient:unset;-webkit-box-direction:unset;-ms-flex-direction:unset;flex-direction:unset}.elementor-widget-icon-box.elementor-tablet-position-top .elementor-icon-box-icon{margin-bottom:var(--icon-box-icon-margin,15px);margin-right:auto;margin-left:auto}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_EXTRA_MAX){.elementor-widget-icon-box.elementor-mobile_extra-position-left .elementor-icon-box-wrapper,.elementor-widget-icon-box.elementor-mobile_extra-position-right .elementor-icon-box-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-icon-box.elementor-mobile_extra-position-left .elementor-icon-box-icon,.elementor-widget-icon-box.elementor-mobile_extra-position-right .elementor-icon-box-icon{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.elementor-widget-icon-box.elementor-mobile_extra-position-right .elementor-icon-box-wrapper{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-widget-icon-box.elementor-mobile_extra-position-right .elementor-icon-box-icon{margin-left:var(--icon-box-icon-margin,15px);margin-right:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-mobile_extra-position-left .elementor-icon-box-wrapper{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.elementor-widget-icon-box.elementor-mobile_extra-position-left .elementor-icon-box-icon{margin-right:var(--icon-box-icon-margin,15px);margin-left:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-mobile_extra-position-top .elementor-icon-box-wrapper{display:block;text-align:center;-webkit-box-orient:unset;-webkit-box-direction:unset;-ms-flex-direction:unset;flex-direction:unset}.elementor-widget-icon-box.elementor-mobile_extra-position-top .elementor-icon-box-icon{margin-bottom:var(--icon-box-icon-margin,15px);margin-right:auto;margin-left:auto}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-widget-icon-box.elementor-mobile-position-left .elementor-icon-box-wrapper,.elementor-widget-icon-box.elementor-mobile-position-right .elementor-icon-box-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-icon-box.elementor-mobile-position-left .elementor-icon-box-icon,.elementor-widget-icon-box.elementor-mobile-position-right .elementor-icon-box-icon{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.elementor-widget-icon-box.elementor-mobile-position-right .elementor-icon-box-wrapper{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-widget-icon-box.elementor-mobile-position-right .elementor-icon-box-icon{margin-left:var(--icon-box-icon-margin,15px);margin-right:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-mobile-position-left .elementor-icon-box-wrapper{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.elementor-widget-icon-box.elementor-mobile-position-left .elementor-icon-box-icon{margin-right:var(--icon-box-icon-margin,15px);margin-left:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-mobile-position-top .elementor-icon-box-wrapper{display:block;text-align:center;-webkit-box-orient:unset;-webkit-box-direction:unset;-ms-flex-direction:unset;flex-direction:unset}.elementor-widget-icon-box.elementor-mobile-position-top .elementor-icon-box-icon{margin-bottom:var(--icon-box-icon-margin,15px);margin-right:auto;margin-left:auto}.elementor-widget-icon-box.elementor-position-left .elementor-icon-box-icon,.elementor-widget-icon-box.elementor-position-right .elementor-icon-box-icon{display:block;-webkit-box-flex:unset;-ms-flex:unset;flex:unset}}.elementor-widget-icon-box .elementor-icon-box-title a{color:inherit}.elementor-widget-icon-box .elementor-icon-box-content{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-widget-icon-box .elementor-icon-box-description{margin:0}.elementor-widget.elementor-icon-list--layout-inline .elementor-widget-container{overflow:hidden}.elementor-widget .elementor-icon-list-items.elementor-inline-items{margin-right:-8px;margin-left:-8px}.elementor-widget .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-right:8px;margin-left:8px}.elementor-widget .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{width:auto;left:auto;right:auto;position:relative;height:100%;border-top:0;border-bottom:0;border-right:0;border-left-width:1px;border-style:solid;right:-8px}.elementor-widget .elementor-icon-list-items{list-style-type:none;margin:0;padding:0}.elementor-widget .elementor-icon-list-item{margin:0;padding:0;position:relative}.elementor-widget .elementor-icon-list-item:after{position:absolute;bottom:0;width:100%}.elementor-widget .elementor-icon-list-item,.elementor-widget .elementor-icon-list-item a{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:inherit}.elementor-widget .elementor-icon-list-icon+.elementor-icon-list-text{-ms-flex-item-align:center;align-self:center;padding-left:5px}.elementor-widget .elementor-icon-list-icon{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget .elementor-icon-list-icon svg{width:var(--e-icon-list-icon-size,1em);height:var(--e-icon-list-icon-size,1em)}.elementor-widget .elementor-icon-list-icon i{width:1.25em;font-size:var(--e-icon-list-icon-size)}.elementor-widget.elementor-widget-icon-list .elementor-icon-list-icon{text-align:var(--e-icon-list-icon-align)}.elementor-widget.elementor-widget-icon-list .elementor-icon-list-icon svg{margin:var(--e-icon-list-icon-margin,0 calc(var(--e-icon-list-icon-size, 1em) * .25) 0 0)}.elementor-widget.elementor-list-item-link-full_width a{width:100%}.elementor-widget.elementor-align-center .elementor-icon-list-item,.elementor-widget.elementor-align-center .elementor-icon-list-item a{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-align-center .elementor-icon-list-item:after{margin:auto}.elementor-widget.elementor-align-center .elementor-inline-items{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-align-left .elementor-icon-list-item,.elementor-widget.elementor-align-left .elementor-icon-list-item a{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:left}.elementor-widget.elementor-align-left .elementor-inline-items{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-widget.elementor-align-right .elementor-icon-list-item,.elementor-widget.elementor-align-right .elementor-icon-list-item a{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:right}.elementor-widget.elementor-align-right .elementor-icon-list-items{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-widget:not(.elementor-align-right) .elementor-icon-list-item:after{left:0}.elementor-widget:not(.elementor-align-left) .elementor-icon-list-item:after{right:0}@media (min-width:ELEMENTOR_SCREEN_WIDESCREEN_MIN){.elementor-widget.elementor-widescreen-align-center .elementor-icon-list-item,.elementor-widget.elementor-widescreen-align-center .elementor-icon-list-item a{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-widescreen-align-center .elementor-icon-list-item:after{margin:auto}.elementor-widget.elementor-widescreen-align-center .elementor-inline-items{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-widescreen-align-left .elementor-icon-list-item,.elementor-widget.elementor-widescreen-align-left .elementor-icon-list-item a{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:left}.elementor-widget.elementor-widescreen-align-left .elementor-inline-items{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-widget.elementor-widescreen-align-right .elementor-icon-list-item,.elementor-widget.elementor-widescreen-align-right .elementor-icon-list-item a{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:right}.elementor-widget.elementor-widescreen-align-right .elementor-icon-list-items{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-widget:not(.elementor-widescreen-align-right) .elementor-icon-list-item:after{left:0}.elementor-widget:not(.elementor-widescreen-align-left) .elementor-icon-list-item:after{right:0}}@media (max-width:ELEMENTOR_SCREEN_LAPTOP_MAX){.elementor-widget.elementor-laptop-align-center .elementor-icon-list-item,.elementor-widget.elementor-laptop-align-center .elementor-icon-list-item a{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-laptop-align-center .elementor-icon-list-item:after{margin:auto}.elementor-widget.elementor-laptop-align-center .elementor-inline-items{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-laptop-align-left .elementor-icon-list-item,.elementor-widget.elementor-laptop-align-left .elementor-icon-list-item a{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:left}.elementor-widget.elementor-laptop-align-left .elementor-inline-items{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-widget.elementor-laptop-align-right .elementor-icon-list-item,.elementor-widget.elementor-laptop-align-right .elementor-icon-list-item a{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:right}.elementor-widget.elementor-laptop-align-right .elementor-icon-list-items{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-widget:not(.elementor-laptop-align-right) .elementor-icon-list-item:after{left:0}.elementor-widget:not(.elementor-laptop-align-left) .elementor-icon-list-item:after{right:0}}@media (max-width:ELEMENTOR_SCREEN_TABLET_EXTRA_MAX){.elementor-widget.elementor-tablet_extra-align-center .elementor-icon-list-item,.elementor-widget.elementor-tablet_extra-align-center .elementor-icon-list-item a{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-tablet_extra-align-center .elementor-icon-list-item:after{margin:auto}.elementor-widget.elementor-tablet_extra-align-center .elementor-inline-items{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-tablet_extra-align-left .elementor-icon-list-item,.elementor-widget.elementor-tablet_extra-align-left .elementor-icon-list-item a{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:left}.elementor-widget.elementor-tablet_extra-align-left .elementor-inline-items{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-widget.elementor-tablet_extra-align-right .elementor-icon-list-item,.elementor-widget.elementor-tablet_extra-align-right .elementor-icon-list-item a{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:right}.elementor-widget.elementor-tablet_extra-align-right .elementor-icon-list-items{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-widget:not(.elementor-tablet_extra-align-right) .elementor-icon-list-item:after{left:0}.elementor-widget:not(.elementor-tablet_extra-align-left) .elementor-icon-list-item:after{right:0}}@media (max-width:ELEMENTOR_SCREEN_TABLET_MAX){.elementor-widget.elementor-tablet-align-center .elementor-icon-list-item,.elementor-widget.elementor-tablet-align-center .elementor-icon-list-item a{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-tablet-align-center .elementor-icon-list-item:after{margin:auto}.elementor-widget.elementor-tablet-align-center .elementor-inline-items{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-tablet-align-left .elementor-icon-list-item,.elementor-widget.elementor-tablet-align-left .elementor-icon-list-item a{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:left}.elementor-widget.elementor-tablet-align-left .elementor-inline-items{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-widget.elementor-tablet-align-right .elementor-icon-list-item,.elementor-widget.elementor-tablet-align-right .elementor-icon-list-item a{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:right}.elementor-widget.elementor-tablet-align-right .elementor-icon-list-items{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-widget:not(.elementor-tablet-align-right) .elementor-icon-list-item:after{left:0}.elementor-widget:not(.elementor-tablet-align-left) .elementor-icon-list-item:after{right:0}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_EXTRA_MAX){.elementor-widget.elementor-mobile_extra-align-center .elementor-icon-list-item,.elementor-widget.elementor-mobile_extra-align-center .elementor-icon-list-item a{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-mobile_extra-align-center .elementor-icon-list-item:after{margin:auto}.elementor-widget.elementor-mobile_extra-align-center .elementor-inline-items{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-mobile_extra-align-left .elementor-icon-list-item,.elementor-widget.elementor-mobile_extra-align-left .elementor-icon-list-item a{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:left}.elementor-widget.elementor-mobile_extra-align-left .elementor-inline-items{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-widget.elementor-mobile_extra-align-right .elementor-icon-list-item,.elementor-widget.elementor-mobile_extra-align-right .elementor-icon-list-item a{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:right}.elementor-widget.elementor-mobile_extra-align-right .elementor-icon-list-items{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-widget:not(.elementor-mobile_extra-align-right) .elementor-icon-list-item:after{left:0}.elementor-widget:not(.elementor-mobile_extra-align-left) .elementor-icon-list-item:after{right:0}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-widget.elementor-mobile-align-center .elementor-icon-list-item,.elementor-widget.elementor-mobile-align-center .elementor-icon-list-item a{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-mobile-align-center .elementor-icon-list-item:after{margin:auto}.elementor-widget.elementor-mobile-align-center .elementor-inline-items{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-mobile-align-left .elementor-icon-list-item,.elementor-widget.elementor-mobile-align-left .elementor-icon-list-item a{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:left}.elementor-widget.elementor-mobile-align-left .elementor-inline-items{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-widget.elementor-mobile-align-right .elementor-icon-list-item,.elementor-widget.elementor-mobile-align-right .elementor-icon-list-item a{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:right}.elementor-widget.elementor-mobile-align-right .elementor-icon-list-items{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-widget:not(.elementor-mobile-align-right) .elementor-icon-list-item:after{left:0}.elementor-widget:not(.elementor-mobile-align-left) .elementor-icon-list-item:after{right:0}}.elementor-widget-image{text-align:center}.elementor-widget-image a{display:inline-block}.elementor-widget-image a img[src$=".svg"]{width:48px}.elementor-widget-image img{vertical-align:middle;display:inline-block}.elementor-widget-image-box .elementor-image-box-content{width:100%}@media (min-width:ELEMENTOR_SCREEN_MOBILE_NEXT){.elementor-widget-image-box.elementor-position-left .elementor-image-box-wrapper,.elementor-widget-image-box.elementor-position-right .elementor-image-box-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-image-box.elementor-position-right .elementor-image-box-wrapper{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-widget-image-box.elementor-position-left .elementor-image-box-wrapper{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.elementor-widget-image-box.elementor-position-top .elementor-image-box-img{margin:auto}.elementor-widget-image-box.elementor-vertical-align-top .elementor-image-box-wrapper{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.elementor-widget-image-box.elementor-vertical-align-middle .elementor-image-box-wrapper{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-widget-image-box.elementor-vertical-align-bottom .elementor-image-box-wrapper{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-widget-image-box .elementor-image-box-img{margin-left:auto!important;margin-right:auto!important;margin-bottom:15px}}.elementor-widget-image-box .elementor-image-box-img{display:inline-block}.elementor-widget-image-box .elementor-image-box-title a{color:inherit}.elementor-widget-image-box .elementor-image-box-wrapper{text-align:center}.elementor-widget-image-box .elementor-image-box-description{margin:0}.elementor-widget-image-carousel .swiper-container{position:static}.elementor-widget-image-carousel .swiper-container .swiper-slide figure{line-height:inherit}.elementor-widget-image-carousel .swiper-slide{text-align:center}.elementor-image-carousel-wrapper:not(.swiper-container-initialized) .swiper-slide{max-width:calc(100% / var(--e-image-carousel-slides-to-show, 3))}body.elementor-page .elementor-widget-menu-anchor{margin-bottom:0}.elementor-widget-progress{text-align:left}.elementor-progress-wrapper{position:relative;background-color:#eee;color:#fff;height:100%;border-radius:2px}.elementor-progress-bar{display:-webkit-box;display:-ms-flexbox;display:flex;background-color:#818a91;width:0;font-size:11px;height:30px;line-height:30px;border-radius:2px;-webkit-transition:width 1s ease-in-out;-o-transition:width 1s ease-in-out;transition:width 1s ease-in-out}.elementor-progress-text{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden;padding-left:15px}.elementor-progress-percentage{padding-right:15px}.elementor-widget-progress .elementor-progress-wrapper.progress-info .elementor-progress-bar{background-color:#5bc0de}.elementor-widget-progress .elementor-progress-wrapper.progress-success .elementor-progress-bar{background-color:#5cb85c}.elementor-widget-progress .elementor-progress-wrapper.progress-warning .elementor-progress-bar{background-color:#f0ad4e}.elementor-widget-progress .elementor-progress-wrapper.progress-danger .elementor-progress-bar{background-color:#d9534f}.elementor-progress .elementor-title{display:block}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-progress-text{padding-left:10px}}.elementor-widget-social-icons.elementor-grid-0 .elementor-widget-container,.elementor-widget-social-icons.elementor-grid-mobile-0 .elementor-widget-container,.elementor-widget-social-icons.elementor-grid-tablet-0 .elementor-widget-container{line-height:1;font-size:0}.elementor-widget-social-icons:not(.elementor-grid-0):not(.elementor-grid-tablet-0):not(.elementor-grid-mobile-0) .elementor-grid{display:inline-grid}.elementor-widget-social-icons .elementor-grid{grid-column-gap:var(--grid-column-gap,5px);grid-row-gap:var(--grid-row-gap,5px);grid-template-columns:var(--grid-template-columns);-webkit-box-pack:var(--justify-content,center);-ms-flex-pack:var(--justify-content,center);justify-content:var(--justify-content,center);justify-items:var(--justify-content,center)}.elementor-icon.elementor-social-icon{font-size:var(--icon-size,25px);line-height:var(--icon-size,25px);width:calc(var(--icon-size, 25px) + (2 * var(--icon-padding, .5em)));height:calc(var(--icon-size, 25px) + (2 * var(--icon-padding, .5em)))}.elementor-social-icon{--e-social-icon-icon-color:#fff;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;background-color:#818a91;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;text-align:center;cursor:pointer}.elementor-social-icon i{color:var(--e-social-icon-icon-color)}.elementor-social-icon svg{fill:var(--e-social-icon-icon-color)}.elementor-social-icon:last-child{margin:0}.elementor-social-icon:hover{opacity:.9;color:#fff}.elementor-social-icon-android{background-color:#a4c639}.elementor-social-icon-apple{background-color:#999}.elementor-social-icon-behance{background-color:#1769ff}.elementor-social-icon-bitbucket{background-color:#205081}.elementor-social-icon-codepen{background-color:#000}.elementor-social-icon-delicious{background-color:#39f}.elementor-social-icon-deviantart{background-color:#05cc47}.elementor-social-icon-digg{background-color:#005be2}.elementor-social-icon-dribbble{background-color:#ea4c89}.elementor-social-icon-elementor{background-color:#d30c5c}.elementor-social-icon-envelope{background-color:#ea4335}.elementor-social-icon-facebook,.elementor-social-icon-facebook-f{background-color:#3b5998}.elementor-social-icon-flickr{background-color:#0063dc}.elementor-social-icon-foursquare{background-color:#2d5be3}.elementor-social-icon-free-code-camp,.elementor-social-icon-freecodecamp{background-color:#006400}.elementor-social-icon-github{background-color:#333}.elementor-social-icon-gitlab{background-color:#e24329}.elementor-social-icon-globe{background-color:#818a91}.elementor-social-icon-google-plus,.elementor-social-icon-google-plus-g{background-color:#dd4b39}.elementor-social-icon-houzz{background-color:#7ac142}.elementor-social-icon-instagram{background-color:#262626}.elementor-social-icon-jsfiddle{background-color:#487aa2}.elementor-social-icon-link{background-color:#818a91}.elementor-social-icon-linkedin,.elementor-social-icon-linkedin-in{background-color:#0077b5}.elementor-social-icon-medium{background-color:#00ab6b}.elementor-social-icon-meetup{background-color:#ec1c40}.elementor-social-icon-mixcloud{background-color:#273a4b}.elementor-social-icon-odnoklassniki{background-color:#f4731c}.elementor-social-icon-pinterest{background-color:#bd081c}.elementor-social-icon-product-hunt{background-color:#da552f}.elementor-social-icon-reddit{background-color:#ff4500}.elementor-social-icon-rss{background-color:#f26522}.elementor-social-icon-shopping-cart{background-color:#4caf50}.elementor-social-icon-skype{background-color:#00aff0}.elementor-social-icon-slideshare{background-color:#0077b5}.elementor-social-icon-snapchat{background-color:#fffc00}.elementor-social-icon-soundcloud{background-color:#f80}.elementor-social-icon-spotify{background-color:#2ebd59}.elementor-social-icon-stack-overflow{background-color:#fe7a15}.elementor-social-icon-steam{background-color:#00adee}.elementor-social-icon-stumbleupon{background-color:#eb4924}.elementor-social-icon-telegram{background-color:#2ca5e0}.elementor-social-icon-thumb-tack{background-color:#1aa1d8}.elementor-social-icon-tripadvisor{background-color:#589442}.elementor-social-icon-tumblr{background-color:#35465c}.elementor-social-icon-twitch{background-color:#6441a5}.elementor-social-icon-twitter{background-color:#1da1f2}.elementor-social-icon-viber{background-color:#665cac}.elementor-social-icon-vimeo{background-color:#1ab7ea}.elementor-social-icon-vk{background-color:#45668e}.elementor-social-icon-weibo{background-color:#dd2430}.elementor-social-icon-weixin{background-color:#31a918}.elementor-social-icon-whatsapp{background-color:#25d366}.elementor-social-icon-wordpress{background-color:#21759b}.elementor-social-icon-xing{background-color:#026466}.elementor-social-icon-yelp{background-color:#af0606}.elementor-social-icon-youtube{background-color:#cd201f}.elementor-social-icon-500px{background-color:#0099e5}.elementor-shape-rounded .elementor-icon.elementor-social-icon{border-radius:10%}.elementor-shape-circle .elementor-icon.elementor-social-icon{border-radius:50%}.e-container.e-container--row .elementor-spacer-inner{width:var(--spacer-size)}.e-container.e-container--column .elementor-spacer-inner,.elementor-column .elementor-spacer-inner{height:var(--spacer-size)}.elementor-star-rating{color:#ccd6df;font-family:eicons;display:inline-block}.elementor-star-rating i{display:inline-block;position:relative;font-style:normal;cursor:default}.elementor-star-rating i:before{content:"\e934";display:block;font-size:inherit;font-family:inherit;position:absolute;overflow:hidden;color:#f0ad4e;top:0;left:0}.elementor-star-rating .elementor-star-empty:before{content:none}.elementor-star-rating .elementor-star-1:before{width:10%}.elementor-star-rating .elementor-star-2:before{width:20%}.elementor-star-rating .elementor-star-3:before{width:30%}.elementor-star-rating .elementor-star-4:before{width:40%}.elementor-star-rating .elementor-star-5:before{width:50%}.elementor-star-rating .elementor-star-6:before{width:60%}.elementor-star-rating .elementor-star-7:before{width:70%}.elementor-star-rating .elementor-star-8:before{width:80%}.elementor-star-rating .elementor-star-9:before{width:90%}.elementor-star-rating__wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-star-rating__title{margin-right:10px}.elementor-star-rating--align-right .elementor-star-rating__wrapper{text-align:right;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-star-rating--align-left .elementor-star-rating__wrapper{text-align:left;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-star-rating--align-center .elementor-star-rating__wrapper{text-align:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-star-rating--align-justify .elementor-star-rating__title{margin-right:auto}@media (max-width:ELEMENTOR_SCREEN_TABLET_MAX){.elementor-star-rating-tablet--align-right .elementor-star-rating__wrapper{text-align:right;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-star-rating-tablet--align-left .elementor-star-rating__wrapper{text-align:left;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-star-rating-tablet--align-center .elementor-star-rating__wrapper{text-align:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-star-rating-tablet--align-justify .elementor-star-rating__title{margin-right:auto}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-star-rating-mobile--align-right .elementor-star-rating__wrapper{text-align:right;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-star-rating-mobile--align-left .elementor-star-rating__wrapper{text-align:left;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-star-rating-mobile--align-center .elementor-star-rating__wrapper{text-align:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-star-rating-mobile--align-justify .elementor-star-rating__title{margin-right:auto}}.last-star{letter-spacing:0}.elementor--star-style-star_unicode .elementor-star-rating{font-family:Arial,Helvetica,sans-serif}.elementor--star-style-star_unicode .elementor-star-rating i:not(.elementor-star-empty):before{content:"★"}.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tabs-wrapper{width:25%;-ms-flex-negative:0;flex-shrink:0}.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tab-desktop-title.elementor-active{border-right-style:none}.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tab-desktop-title.elementor-active:after,.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tab-desktop-title.elementor-active:before{height:999em;width:0;right:0;border-right-style:solid}.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tab-desktop-title.elementor-active:before{top:0;-webkit-transform:translateY(-100%);-ms-transform:translateY(-100%);transform:translateY(-100%)}.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tab-desktop-title.elementor-active:after{top:100%}.elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title{display:table-cell}.elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title.elementor-active{border-bottom-style:none}.elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title.elementor-active:after,.elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title.elementor-active:before{bottom:0;height:0;width:999em;border-bottom-style:solid}.elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title.elementor-active:before{right:100%}.elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title.elementor-active:after{left:100%}.elementor-widget-tabs .elementor-tab-content,.elementor-widget-tabs .elementor-tab-title,.elementor-widget-tabs .elementor-tab-title:after,.elementor-widget-tabs .elementor-tab-title:before,.elementor-widget-tabs .elementor-tabs-content-wrapper{border:1px #d4d4d4}.elementor-widget-tabs .elementor-tabs{text-align:left}.elementor-widget-tabs .elementor-tabs-wrapper{overflow:hidden}.elementor-widget-tabs .elementor-tab-title{cursor:pointer;outline:var(--focus-outline,none)}.elementor-widget-tabs .elementor-tab-desktop-title{position:relative;padding:20px 25px;font-weight:700;line-height:1;border:solid transparent}.elementor-widget-tabs .elementor-tab-desktop-title.elementor-active{border-color:#d4d4d4}.elementor-widget-tabs .elementor-tab-desktop-title.elementor-active:after,.elementor-widget-tabs .elementor-tab-desktop-title.elementor-active:before{display:block;content:"";position:absolute}.elementor-widget-tabs .elementor-tab-mobile-title{padding:10px;cursor:pointer}.elementor-widget-tabs .elementor-tab-content{padding:20px;display:none}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-tabs .elementor-tab-content,.elementor-tabs .elementor-tab-title{border-style:solid solid none}.elementor-tabs .elementor-tabs-wrapper{display:none}.elementor-tabs .elementor-tabs-content-wrapper{border-bottom-style:solid}.elementor-tabs .elementor-tab-content{padding:10px}}@media (min-width:ELEMENTOR_SCREEN_MOBILE_NEXT){.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tabs{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tabs-wrapper{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tabs-content-wrapper{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;border-style:solid solid solid none}.elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-content{border-style:none solid solid}.elementor-widget-tabs.elementor-tabs-alignment-center .elementor-tabs-wrapper,.elementor-widget-tabs.elementor-tabs-alignment-end .elementor-tabs-wrapper,.elementor-widget-tabs.elementor-tabs-alignment-stretch .elementor-tabs-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-tabs.elementor-tabs-alignment-center .elementor-tabs-wrapper{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget-tabs.elementor-tabs-alignment-end .elementor-tabs-wrapper{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-widget-tabs.elementor-tabs-alignment-stretch.elementor-tabs-view-horizontal .elementor-tab-title{width:100%}.elementor-widget-tabs.elementor-tabs-alignment-stretch.elementor-tabs-view-vertical .elementor-tab-title{height:100%}.elementor-tabs .elementor-tab-mobile-title{display:none}}.elementor-testimonial-wrapper{overflow:hidden;text-align:center}.elementor-testimonial-wrapper .elementor-testimonial-content{font-size:1.3em;margin-bottom:20px}.elementor-testimonial-wrapper .elementor-testimonial-name{line-height:1.5;display:block}.elementor-testimonial-wrapper .elementor-testimonial-job{font-size:.85em;display:block}.elementor-testimonial-wrapper .elementor-testimonial-meta{width:100%;line-height:1}.elementor-testimonial-wrapper .elementor-testimonial-meta-inner{display:inline-block}.elementor-testimonial-wrapper .elementor-testimonial-meta .elementor-testimonial-details,.elementor-testimonial-wrapper .elementor-testimonial-meta .elementor-testimonial-image{display:table-cell;vertical-align:middle}.elementor-testimonial-wrapper .elementor-testimonial-meta .elementor-testimonial-image img{width:60px;height:60px;border-radius:50%;-o-object-fit:cover;object-fit:cover;max-width:none}.elementor-testimonial-wrapper .elementor-testimonial-meta.elementor-testimonial-image-position-aside .elementor-testimonial-image{padding-right:15px}.elementor-testimonial-wrapper .elementor-testimonial-meta.elementor-testimonial-image-position-aside .elementor-testimonial-details{text-align:left}.elementor-testimonial-wrapper .elementor-testimonial-meta.elementor-testimonial-image-position-top .elementor-testimonial-details,.elementor-testimonial-wrapper .elementor-testimonial-meta.elementor-testimonial-image-position-top .elementor-testimonial-image{display:block}.elementor-testimonial-wrapper .elementor-testimonial-meta.elementor-testimonial-image-position-top .elementor-testimonial-image{margin-bottom:20px}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:#818a91;color:#fff}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap{color:#818a91;border:3px solid;background-color:transparent}.elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap{margin-top:8px}.elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap-letter{width:1em;height:1em}.elementor-widget-text-editor .elementor-drop-cap{float:left;text-align:center;line-height:1;font-size:50px}.elementor-widget-text-editor .elementor-drop-cap-letter{display:inline-block}.elementor-toggle{text-align:left}.elementor-toggle .elementor-tab-title{font-weight:700;line-height:1;margin:0;padding:15px;border-bottom:1px solid #d4d4d4;cursor:pointer;outline:none}.elementor-toggle .elementor-tab-title .elementor-toggle-icon{display:inline-block;width:1em}.elementor-toggle .elementor-tab-title .elementor-toggle-icon svg{-webkit-margin-start:-5px;margin-inline-start:-5px;width:1em;height:1em}.elementor-toggle .elementor-tab-title .elementor-toggle-icon.elementor-toggle-icon-right{float:right;text-align:right}.elementor-toggle .elementor-tab-title .elementor-toggle-icon.elementor-toggle-icon-left{float:left;text-align:left}.elementor-toggle .elementor-tab-title .elementor-toggle-icon .elementor-toggle-icon-closed{display:block}.elementor-toggle .elementor-tab-title .elementor-toggle-icon .elementor-toggle-icon-opened{display:none}.elementor-toggle .elementor-tab-title.elementor-active{border-bottom:none}.elementor-toggle .elementor-tab-title.elementor-active .elementor-toggle-icon-closed{display:none}.elementor-toggle .elementor-tab-title.elementor-active .elementor-toggle-icon-opened{display:block}.elementor-toggle .elementor-tab-content{padding:15px;border-bottom:1px solid #d4d4d4;display:none}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-toggle .elementor-tab-title{padding:12px}.elementor-toggle .elementor-tab-content{padding:12px 10px}}.elementor-widget-video .elementor-widget-container{overflow:hidden;-webkit-transform:translateZ(0);transform:translateZ(0)}.elementor-widget-video .elementor-open-inline .elementor-custom-embed-image-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-size:cover;background-position:50%}.elementor-widget-video .elementor-custom-embed-image-overlay{cursor:pointer;text-align:center}.elementor-widget-video .elementor-custom-embed-image-overlay:hover .elementor-custom-embed-play i{opacity:1}.elementor-widget-video .elementor-custom-embed-image-overlay img{display:block;width:100%}.elementor-widget-video .e-hosted-video .elementor-video{-o-object-fit:cover;object-fit:cover}assets/css/templates/widget-star-rating-rtl.min.css000064400000006117152377341010016453 0ustar00@charset "UTF-8";.elementor-star-rating{color:#ccd6df;font-family:eicons;display:inline-block}.elementor-star-rating i{display:inline-block;position:relative;font-style:normal;cursor:default}.elementor-star-rating i:before{content:"\e934";display:block;font-size:inherit;font-family:inherit;position:absolute;overflow:hidden;color:#f0ad4e;top:0;right:0}.elementor-star-rating .elementor-star-empty:before{content:none}.elementor-star-rating .elementor-star-1:before{width:10%}.elementor-star-rating .elementor-star-2:before{width:20%}.elementor-star-rating .elementor-star-3:before{width:30%}.elementor-star-rating .elementor-star-4:before{width:40%}.elementor-star-rating .elementor-star-5:before{width:50%}.elementor-star-rating .elementor-star-6:before{width:60%}.elementor-star-rating .elementor-star-7:before{width:70%}.elementor-star-rating .elementor-star-8:before{width:80%}.elementor-star-rating .elementor-star-9:before{width:90%}.elementor-star-rating__wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-star-rating__title{margin-left:10px}.elementor-star-rating--align-right .elementor-star-rating__wrapper{text-align:right;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-star-rating--align-left .elementor-star-rating__wrapper{text-align:left;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-star-rating--align-center .elementor-star-rating__wrapper{text-align:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-star-rating--align-justify .elementor-star-rating__title{margin-left:auto}@media (max-width:ELEMENTOR_SCREEN_TABLET_MAX){.elementor-star-rating-tablet--align-right .elementor-star-rating__wrapper{text-align:right;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-star-rating-tablet--align-left .elementor-star-rating__wrapper{text-align:left;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-star-rating-tablet--align-center .elementor-star-rating__wrapper{text-align:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-star-rating-tablet--align-justify .elementor-star-rating__title{margin-left:auto}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-star-rating-mobile--align-right .elementor-star-rating__wrapper{text-align:right;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-star-rating-mobile--align-left .elementor-star-rating__wrapper{text-align:left;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-star-rating-mobile--align-center .elementor-star-rating__wrapper{text-align:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-star-rating-mobile--align-justify .elementor-star-rating__title{margin-left:auto}}.last-star{letter-spacing:0}.elementor--star-style-star_unicode .elementor-star-rating{font-family:Arial,Helvetica,sans-serif}.elementor--star-style-star_unicode .elementor-star-rating i:not(.elementor-star-empty):before{content:"★"}assets/css/templates/widget-toggle.min.css000064400000002562152377341010014702 0ustar00.elementor-toggle{text-align:left}.elementor-toggle .elementor-tab-title{font-weight:700;line-height:1;margin:0;padding:15px;border-bottom:1px solid #d4d4d4;cursor:pointer;outline:none}.elementor-toggle .elementor-tab-title .elementor-toggle-icon{display:inline-block;width:1em}.elementor-toggle .elementor-tab-title .elementor-toggle-icon svg{-webkit-margin-start:-5px;margin-inline-start:-5px;width:1em;height:1em}.elementor-toggle .elementor-tab-title .elementor-toggle-icon.elementor-toggle-icon-right{float:right;text-align:right}.elementor-toggle .elementor-tab-title .elementor-toggle-icon.elementor-toggle-icon-left{float:left;text-align:left}.elementor-toggle .elementor-tab-title .elementor-toggle-icon .elementor-toggle-icon-closed{display:block}.elementor-toggle .elementor-tab-title .elementor-toggle-icon .elementor-toggle-icon-opened{display:none}.elementor-toggle .elementor-tab-title.elementor-active{border-bottom:none}.elementor-toggle .elementor-tab-title.elementor-active .elementor-toggle-icon-closed{display:none}.elementor-toggle .elementor-tab-title.elementor-active .elementor-toggle-icon-opened{display:block}.elementor-toggle .elementor-tab-content{padding:15px;border-bottom:1px solid #d4d4d4;display:none}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-toggle .elementor-tab-title{padding:12px}.elementor-toggle .elementor-tab-content{padding:12px 10px}}assets/css/templates/frontend-rtl.min.css000064400000503174152377341010014563 0ustar00@charset "UTF-8";.dialog-widget-content{background-color:#fff;position:absolute;border-radius:3px;-webkit-box-shadow:2px 8px 23px 3px rgba(0,0,0,.2);box-shadow:2px 8px 23px 3px rgba(0,0,0,.2);overflow:hidden}.dialog-message{font-size:12px;line-height:1.5;-webkit-box-sizing:border-box;box-sizing:border-box}.dialog-type-lightbox{position:fixed;height:100%;width:100%;bottom:0;left:0;background-color:rgba(0,0,0,.8);z-index:9999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dialog-type-lightbox .dialog-widget-content{margin:auto;width:375px}.dialog-type-lightbox .dialog-header{font-size:15px;color:#495157;padding:30px 0 10px;font-weight:500}.dialog-type-lightbox .dialog-message{padding:0 30px 30px;min-height:50px}.dialog-type-lightbox:not(.elementor-popup-modal) .dialog-header,.dialog-type-lightbox:not(.elementor-popup-modal) .dialog-message{text-align:center}.dialog-type-lightbox .dialog-buttons-wrapper{border-top:1px solid #e6e9ec;text-align:center}.dialog-type-lightbox .dialog-buttons-wrapper>.dialog-button{font-family:Roboto,Arial,Helvetica,Verdana,sans-serif;width:50%;border:none;background:none;color:#6d7882;font-size:15px;cursor:pointer;padding:13px 0;outline:0}.dialog-type-lightbox .dialog-buttons-wrapper>.dialog-button:hover{background-color:#f4f6f7}.dialog-type-lightbox .dialog-buttons-wrapper>.dialog-button.dialog-ok{color:#b01b1b}.dialog-type-lightbox .dialog-buttons-wrapper>.dialog-button.dialog-take_over{color:#39b54a}.dialog-type-lightbox .dialog-buttons-wrapper>.dialog-button:active{background-color:rgba(230,233,236,.5)}.dialog-type-lightbox .dialog-buttons-wrapper>.dialog-button::-moz-focus-inner{border:0}.dialog-close-button{cursor:pointer;position:absolute;margin-top:15px;left:15px;font-size:15px;line-height:1}.dialog-close-button:not(:hover){opacity:.4}.dialog-alert-widget .dialog-buttons-wrapper>button{width:100%}.dialog-confirm-widget .dialog-button:first-child{border-left:1px solid #e6e9ec}.dialog-prevent-scroll{overflow:hidden;max-height:100vh}@media (min-width:1024px){body.admin-bar .dialog-lightbox-widget{height:calc(100vh - 32px)}}@media (max-width:1024px){body.admin-bar .dialog-type-lightbox{position:sticky;height:100vh}}.elementor-aspect-ratio-219 .elementor-fit-aspect-ratio{padding-bottom:42.8571%}.elementor-aspect-ratio-169 .elementor-fit-aspect-ratio{padding-bottom:56.25%}.elementor-aspect-ratio-43 .elementor-fit-aspect-ratio{padding-bottom:75%}.elementor-aspect-ratio-32 .elementor-fit-aspect-ratio{padding-bottom:66.6666%}.elementor-aspect-ratio-11 .elementor-fit-aspect-ratio{padding-bottom:100%}.elementor-aspect-ratio-916 .elementor-fit-aspect-ratio{padding-bottom:177.8%}.elementor-fit-aspect-ratio{position:relative;height:0}.elementor-fit-aspect-ratio iframe{position:absolute;top:0;left:0;height:100%;width:100%;border:0;background-color:#000}.elementor-fit-aspect-ratio video{width:100%}.flatpickr-calendar{width:280px}.flatpickr-calendar .flatpickr-current-month span.cur-month{font-weight:300}.flatpickr-calendar .dayContainer{width:280px;min-width:280px;max-width:280px}.flatpickr-calendar .flatpickr-days{width:280px}.flatpickr-calendar .flatpickr-day{max-width:37px;height:37px;line-height:37px}.elementor-templates-modal .dialog-widget-content{font-family:Roboto,Arial,Helvetica,Verdana,sans-serif;background-color:#f1f3f5;width:100%}@media (max-width:1439px){.elementor-templates-modal .dialog-widget-content{max-width:990px}}@media (min-width:1440px){.elementor-templates-modal .dialog-widget-content{max-width:1200px}}.elementor-templates-modal .dialog-header{padding:0;z-index:1}.elementor-templates-modal .dialog-buttons-wrapper,.elementor-templates-modal .dialog-header{background-color:#fff;-webkit-box-shadow:0 0 8px rgba(0,0,0,.1);box-shadow:0 0 8px rgba(0,0,0,.1);position:relative}.elementor-templates-modal .dialog-buttons-wrapper{border:none;display:none;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;padding:5px}.elementor-templates-modal .dialog-buttons-wrapper .elementor-button{height:40px;margin-right:5px}.elementor-templates-modal .dialog-buttons-wrapper .elementor-button-success{padding:12px 36px;color:#fff;width:auto;font-size:15px}.elementor-templates-modal .dialog-buttons-wrapper .elementor-button-success:hover{background-color:#39b54a}.elementor-templates-modal .dialog-message{height:750px;max-height:85vh;overflow:auto;padding-top:25px}.elementor-templates-modal .dialog-content{height:100%}.elementor-templates-modal .dialog-loading{display:none}.elementor-templates-modal__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;height:50px}.elementor-templates-modal__header__logo{line-height:1;text-transform:uppercase;font-weight:700;cursor:pointer}.elementor-templates-modal__header__logo-area{text-align:right;padding-right:15px}.elementor-templates-modal__header__logo-area>*{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-templates-modal__header__logo__icon-wrapper{margin-left:10px;font-size:12px}.elementor-templates-modal__header__logo__title{padding-top:2px}.elementor-templates-modal__header__items-area{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-templates-modal__header__item{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-sizing:content-box;box-sizing:content-box}.elementor-templates-modal__header__item>i{font-size:20px;-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s;cursor:pointer}.elementor-templates-modal__header__item>i:not(:hover){color:#a4afb7}.elementor-templates-modal__header__close--normal{width:47px;border-right:1px solid #e6e9ec}.elementor-templates-modal__header__close--normal i{font-size:18px}.elementor-templates-modal__header__close--skip{padding:10px 20px 10px 10px;margin-left:10px;color:#fff;background-color:#a4afb7;font-size:11px;font-weight:400;line-height:1;text-transform:uppercase;border-radius:2px;cursor:pointer}.elementor-templates-modal__header__close--skip>i{font-size:inherit;padding-right:10px;margin-right:15px;border-right:1px solid}.elementor-templates-modal__header__close--skip>i:not(:hover){color:#fff}.elementor-templates-modal__sidebar{-ms-flex-negative:0;flex-shrink:0;width:25%;background-color:hsla(0,0%,100%,.3)}.elementor-templates-modal__content{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-webkit-box-shadow:0 0 13px inset rgba(0,0,0,.05);box-shadow:inset 0 0 13px rgba(0,0,0,.05)}#wpadminbar #wp-admin-bar-elementor_edit_page .elementor-general-section+.elementor-second-section{border-top:1px solid #464b50;margin-top:6px}.elementor-hidden{display:none}.elementor-screen-only,.screen-reader-text,.screen-reader-text span,.ui-helper-hidden-accessible{position:absolute;top:-10000em;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0}.elementor-clearfix:after{content:"";display:block;clear:both;width:0;height:0}.e-logo-wrapper{background:#93003c;display:inline-block;padding:.75em;border-radius:50%;line-height:1}.e-logo-wrapper i{color:#fff;font-size:1em}#e-enable-unfiltered-files-dialog-import-template .dialog-confirm-ok{color:#39b54a}#e-enable-unfiltered-files-dialog-import-template .dialog-confirm-cancel{color:#b01b1b}.elementor{-webkit-hyphens:manual;-ms-hyphens:manual;hyphens:manual}.elementor *,.elementor :after,.elementor :before{-webkit-box-sizing:border-box;box-sizing:border-box}.elementor a{-webkit-box-shadow:none;box-shadow:none;text-decoration:none}.elementor hr{margin:0;background-color:transparent}.elementor img{height:auto;max-width:100%;border:none;border-radius:0;-webkit-box-shadow:none;box-shadow:none}.elementor .elementor-widget:not(.elementor-widget-text-editor):not(.elementor-widget-theme-post-content) figure{margin:0}.elementor embed,.elementor iframe,.elementor object,.elementor video{max-width:100%;width:100%;margin:0;line-height:1;border:none}.elementor .elementor-custom-embed{line-height:0}.elementor .elementor-background,.elementor .elementor-background-holder,.elementor .elementor-background-video-container{height:100%;width:100%;top:0;left:0;position:absolute;overflow:hidden;z-index:0;direction:ltr}.elementor .elementor-background-video-container{-webkit-transition:opacity 1s;-o-transition:opacity 1s;transition:opacity 1s;pointer-events:none}.elementor .elementor-background-video-container.elementor-loading{opacity:0}.elementor .elementor-background-video-embed{max-width:none}.elementor .elementor-background-video,.elementor .elementor-background-video-embed,.elementor .elementor-background-video-hosted{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.elementor .elementor-background-video{max-width:none}.elementor .elementor-html5-video{-o-object-fit:cover;object-fit:cover}.elementor .elementor-background-overlay{height:100%;width:100%;top:0;left:0;position:absolute}.elementor .elementor-background-slideshow{position:absolute;width:100%;height:100%;z-index:0;top:0;right:0}.elementor .elementor-background-slideshow__slide__image{width:100%;height:100%;background-position:50%;background-size:cover}.e-container>.elementor-element.elementor-absolute,.elementor-widget-wrap>.elementor-element.elementor-absolute{position:absolute}.e-container>.elementor-element.elementor-fixed,.elementor-widget-wrap>.elementor-element.elementor-fixed{position:fixed}.elementor-widget-wrap .elementor-element.elementor-widget__width-auto,.elementor-widget-wrap .elementor-element.elementor-widget__width-initial{max-width:100%}@media (max-width:ELEMENTOR_SCREEN_TABLET_MAX){.elementor-widget-wrap .elementor-element.elementor-widget-tablet__width-auto,.elementor-widget-wrap .elementor-element.elementor-widget-tablet__width-initial{max-width:100%}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-widget-wrap .elementor-element.elementor-widget-mobile__width-auto,.elementor-widget-wrap .elementor-element.elementor-widget-mobile__width-initial{max-width:100%}}.elementor-element{--flex-direction:initial;--flex-wrap:initial;--justify-content:initial;--align-items:initial;--align-content:initial;--gap:initial;--flex-basis:initial;--flex-grow:initial;--flex-shrink:initial;--order:initial;--align-self:initial;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:var(--flex-direction);flex-direction:var(--flex-direction);-ms-flex-wrap:var(--flex-wrap);flex-wrap:var(--flex-wrap);-webkit-box-pack:var(--justify-content);-ms-flex-pack:var(--justify-content);justify-content:var(--justify-content);-webkit-box-align:var(--align-items);-ms-flex-align:var(--align-items);align-items:var(--align-items);-ms-flex-line-pack:var(--align-content);align-content:var(--align-content);gap:var(--gap);-ms-flex-preferred-size:var(--flex-basis);flex-basis:var(--flex-basis);-webkit-box-flex:var(--flex-grow);-ms-flex-positive:var(--flex-grow);flex-grow:var(--flex-grow);-ms-flex-negative:var(--flex-shrink);flex-shrink:var(--flex-shrink);-webkit-box-ordinal-group:var(--order);-ms-flex-order:var(--order);order:var(--order);-ms-flex-item-align:var(--align-self);align-self:var(--align-self)}.elementor-element.elementor-absolute,.elementor-element.elementor-fixed{z-index:1}.elementor-invisible{visibility:hidden}.elementor-align-center{text-align:center}.elementor-align-center .elementor-button{width:auto}.elementor-align-right{text-align:right}.elementor-align-right .elementor-button{width:auto}.elementor-align-left{text-align:left}.elementor-align-left .elementor-button{width:auto}.elementor-align-justify .elementor-button{width:100%}.elementor-custom-embed-play{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.elementor-custom-embed-play i{font-size:100px;color:#fff;text-shadow:1px 0 6px rgba(0,0,0,.3)}.elementor-custom-embed-play svg{height:100px;width:100px;fill:#fff;-webkit-filter:drop-shadow(1px 0 6px rgba(0,0,0,.3));filter:drop-shadow(1px 0 6px rgba(0,0,0,.3))}.elementor-custom-embed-play i,.elementor-custom-embed-play svg{opacity:.8;-webkit-transition:all .5s;-o-transition:all .5s;transition:all .5s}.elementor-custom-embed-play.elementor-playing i{font-family:eicons}.elementor-custom-embed-play.elementor-playing i:before{content:"\e8fb"}.elementor-custom-embed-play.elementor-playing i,.elementor-custom-embed-play.elementor-playing svg{-webkit-animation:eicon-spin 2s linear infinite;animation:eicon-spin 2s linear infinite}.elementor-tag{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}.elementor-ken-burns{-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;-o-transition-property:transform;transition-property:transform;transition-property:transform,-webkit-transform;-webkit-transition-duration:10s;-o-transition-duration:10s;transition-duration:10s;-webkit-transition-timing-function:linear;-o-transition-timing-function:linear;transition-timing-function:linear}.elementor-ken-burns--out{-webkit-transform:scale(1.3);-ms-transform:scale(1.3);transform:scale(1.3)}.elementor-ken-burns--active{-webkit-transition-duration:20s;-o-transition-duration:20s;transition-duration:20s}.elementor-ken-burns--active.elementor-ken-burns--out{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.elementor-ken-burns--active.elementor-ken-burns--in{-webkit-transform:scale(1.3);-ms-transform:scale(1.3);transform:scale(1.3)}@media (min-width:ELEMENTOR_SCREEN_WIDESCREEN_MIN){.elementor-widescreen-align-center{text-align:center}.elementor-widescreen-align-center .elementor-button{width:auto}.elementor-widescreen-align-right{text-align:right}.elementor-widescreen-align-right .elementor-button{width:auto}.elementor-widescreen-align-left{text-align:left}.elementor-widescreen-align-left .elementor-button{width:auto}.elementor-widescreen-align-justify .elementor-button{width:100%}}@media (max-width:ELEMENTOR_SCREEN_LAPTOP_MAX){.elementor-laptop-align-center{text-align:center}.elementor-laptop-align-center .elementor-button{width:auto}.elementor-laptop-align-right{text-align:right}.elementor-laptop-align-right .elementor-button{width:auto}.elementor-laptop-align-left{text-align:left}.elementor-laptop-align-left .elementor-button{width:auto}.elementor-laptop-align-justify .elementor-button{width:100%}}@media (max-width:ELEMENTOR_SCREEN_TABLET_EXTRA_MAX){.elementor-tablet_extra-align-center{text-align:center}.elementor-tablet_extra-align-center .elementor-button{width:auto}.elementor-tablet_extra-align-right{text-align:right}.elementor-tablet_extra-align-right .elementor-button{width:auto}.elementor-tablet_extra-align-left{text-align:left}.elementor-tablet_extra-align-left .elementor-button{width:auto}.elementor-tablet_extra-align-justify .elementor-button{width:100%}}@media (max-width:ELEMENTOR_SCREEN_TABLET_MAX){.elementor-tablet-align-center{text-align:center}.elementor-tablet-align-center .elementor-button{width:auto}.elementor-tablet-align-right{text-align:right}.elementor-tablet-align-right .elementor-button{width:auto}.elementor-tablet-align-left{text-align:left}.elementor-tablet-align-left .elementor-button{width:auto}.elementor-tablet-align-justify .elementor-button{width:100%}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_EXTRA_MAX){.elementor-mobile_extra-align-center{text-align:center}.elementor-mobile_extra-align-center .elementor-button{width:auto}.elementor-mobile_extra-align-right{text-align:right}.elementor-mobile_extra-align-right .elementor-button{width:auto}.elementor-mobile_extra-align-left{text-align:left}.elementor-mobile_extra-align-left .elementor-button{width:auto}.elementor-mobile_extra-align-justify .elementor-button{width:100%}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-mobile-align-center{text-align:center}.elementor-mobile-align-center .elementor-button{width:auto}.elementor-mobile-align-right{text-align:right}.elementor-mobile-align-right .elementor-button{width:auto}.elementor-mobile-align-left{text-align:left}.elementor-mobile-align-left .elementor-button{width:auto}.elementor-mobile-align-justify .elementor-button{width:100%}}:root{--page-title-display:block}.elementor-page-title,h1.entry-title{display:var(--page-title-display)}@-webkit-keyframes eicon-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes eicon-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.eicon-animation-spin{-webkit-animation:eicon-spin 2s linear infinite;animation:eicon-spin 2s linear infinite}.elementor-section{position:relative}.elementor-section .elementor-container{display:-webkit-box;display:-ms-flexbox;display:flex;margin-right:auto;margin-left:auto;position:relative}@media (max-width:ELEMENTOR_SCREEN_TABLET_MAX){.elementor-section .elementor-container{-ms-flex-wrap:wrap;flex-wrap:wrap}}.elementor-section.elementor-section-boxed>.elementor-container{max-width:1140px}.elementor-section.elementor-section-stretched{position:relative;width:100%}.elementor-section.elementor-section-items-top>.elementor-container{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.elementor-section.elementor-section-items-middle>.elementor-container{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-section.elementor-section-items-bottom>.elementor-container{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}@media (min-width:ELEMENTOR_SCREEN_MOBILE_NEXT){.elementor-section.elementor-section-height-full{height:100vh}.elementor-section.elementor-section-height-full>.elementor-container{height:100%}}.elementor-bc-flex-widget .elementor-section-content-top>.elementor-container>.elementor-column>.elementor-widget-wrap{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.elementor-bc-flex-widget .elementor-section-content-middle>.elementor-container>.elementor-column>.elementor-widget-wrap{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-bc-flex-widget .elementor-section-content-bottom>.elementor-container>.elementor-column>.elementor-widget-wrap{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.elementor-row{width:100%;display:-webkit-box;display:-ms-flexbox;display:flex}@media (max-width:ELEMENTOR_SCREEN_TABLET_MAX){.elementor-row{-ms-flex-wrap:wrap;flex-wrap:wrap}}.elementor-widget-wrap{position:relative;width:100%;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-line-pack:start;align-content:flex-start}.elementor:not(.elementor-bc-flex-widget) .elementor-widget-wrap{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-wrap>.elementor-element{width:100%}.elementor-widget-wrap.e-swiper-container{width:calc(100% - (var(--e-column-margin-left, 0px) + var(--e-column-margin-right, 0px)))}.elementor-widget{position:relative}.elementor-widget:not(:last-child){margin-bottom:20px}.elementor-widget:not(:last-child).elementor-absolute,.elementor-widget:not(:last-child).elementor-widget__width-auto,.elementor-widget:not(:last-child).elementor-widget__width-initial{margin-bottom:0}.elementor-column{min-height:1px}.elementor-column,.elementor-column-wrap{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-column-wrap{width:100%}.elementor-column-gap-narrow>.elementor-column>.elementor-element-populated{padding:5px}.elementor-column-gap-default>.elementor-column>.elementor-element-populated{padding:10px}.elementor-column-gap-extended>.elementor-column>.elementor-element-populated{padding:15px}.elementor-column-gap-wide>.elementor-column>.elementor-element-populated{padding:20px}.elementor-column-gap-wider>.elementor-column>.elementor-element-populated{padding:30px}.elementor-inner-section .elementor-column-gap-no .elementor-element-populated{padding:0}@media (min-width:ELEMENTOR_SCREEN_MOBILE_NEXT){.elementor-column.elementor-col-10,.elementor-column[data-col="10"]{width:10%}.elementor-column.elementor-col-11,.elementor-column[data-col="11"]{width:11.111%}.elementor-column.elementor-col-12,.elementor-column[data-col="12"]{width:12.5%}.elementor-column.elementor-col-14,.elementor-column[data-col="14"]{width:14.285%}.elementor-column.elementor-col-16,.elementor-column[data-col="16"]{width:16.666%}.elementor-column.elementor-col-20,.elementor-column[data-col="20"]{width:20%}.elementor-column.elementor-col-25,.elementor-column[data-col="25"]{width:25%}.elementor-column.elementor-col-30,.elementor-column[data-col="30"]{width:30%}.elementor-column.elementor-col-33,.elementor-column[data-col="33"]{width:33.333%}.elementor-column.elementor-col-40,.elementor-column[data-col="40"]{width:40%}.elementor-column.elementor-col-50,.elementor-column[data-col="50"]{width:50%}.elementor-column.elementor-col-60,.elementor-column[data-col="60"]{width:60%}.elementor-column.elementor-col-66,.elementor-column[data-col="66"]{width:66.666%}.elementor-column.elementor-col-70,.elementor-column[data-col="70"]{width:70%}.elementor-column.elementor-col-75,.elementor-column[data-col="75"]{width:75%}.elementor-column.elementor-col-80,.elementor-column[data-col="80"]{width:80%}.elementor-column.elementor-col-83,.elementor-column[data-col="83"]{width:83.333%}.elementor-column.elementor-col-90,.elementor-column[data-col="90"]{width:90%}.elementor-column.elementor-col-100,.elementor-column[data-col="100"]{width:100%}}@media (max-width:479px){.elementor-column.elementor-xs-10{width:10%}.elementor-column.elementor-xs-11{width:11.111%}.elementor-column.elementor-xs-12{width:12.5%}.elementor-column.elementor-xs-14{width:14.285%}.elementor-column.elementor-xs-16{width:16.666%}.elementor-column.elementor-xs-20{width:20%}.elementor-column.elementor-xs-25{width:25%}.elementor-column.elementor-xs-30{width:30%}.elementor-column.elementor-xs-33{width:33.333%}.elementor-column.elementor-xs-40{width:40%}.elementor-column.elementor-xs-50{width:50%}.elementor-column.elementor-xs-60{width:60%}.elementor-column.elementor-xs-66{width:66.666%}.elementor-column.elementor-xs-70{width:70%}.elementor-column.elementor-xs-75{width:75%}.elementor-column.elementor-xs-80{width:80%}.elementor-column.elementor-xs-83{width:83.333%}.elementor-column.elementor-xs-90{width:90%}.elementor-column.elementor-xs-100{width:100%}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-column.elementor-sm-10{width:10%}.elementor-column.elementor-sm-11{width:11.111%}.elementor-column.elementor-sm-12{width:12.5%}.elementor-column.elementor-sm-14{width:14.285%}.elementor-column.elementor-sm-16{width:16.666%}.elementor-column.elementor-sm-20{width:20%}.elementor-column.elementor-sm-25{width:25%}.elementor-column.elementor-sm-30{width:30%}.elementor-column.elementor-sm-33{width:33.333%}.elementor-column.elementor-sm-40{width:40%}.elementor-column.elementor-sm-50{width:50%}.elementor-column.elementor-sm-60{width:60%}.elementor-column.elementor-sm-66{width:66.666%}.elementor-column.elementor-sm-70{width:70%}.elementor-column.elementor-sm-75{width:75%}.elementor-column.elementor-sm-80{width:80%}.elementor-column.elementor-sm-83{width:83.333%}.elementor-column.elementor-sm-90{width:90%}.elementor-column.elementor-sm-100{width:100%}}@media (min-width:ELEMENTOR_SCREEN_MOBILE_NEXT) and (max-width:ELEMENTOR_SCREEN_TABLET_MAX){.elementor-column.elementor-md-10{width:10%}.elementor-column.elementor-md-11{width:11.111%}.elementor-column.elementor-md-12{width:12.5%}.elementor-column.elementor-md-14{width:14.285%}.elementor-column.elementor-md-16{width:16.666%}.elementor-column.elementor-md-20{width:20%}.elementor-column.elementor-md-25{width:25%}.elementor-column.elementor-md-30{width:30%}.elementor-column.elementor-md-33{width:33.333%}.elementor-column.elementor-md-40{width:40%}.elementor-column.elementor-md-50{width:50%}.elementor-column.elementor-md-60{width:60%}.elementor-column.elementor-md-66{width:66.666%}.elementor-column.elementor-md-70{width:70%}.elementor-column.elementor-md-75{width:75%}.elementor-column.elementor-md-80{width:80%}.elementor-column.elementor-md-83{width:83.333%}.elementor-column.elementor-md-90{width:90%}.elementor-column.elementor-md-100{width:100%}}@media (min-width:ELEMENTOR_SCREEN_WIDESCREEN_MIN){.elementor-reverse-widescreen>.elementor-container>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-widescreen>.elementor-container>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-widescreen>.elementor-container>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-widescreen>.elementor-container>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-widescreen>.elementor-container>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-widescreen>.elementor-container>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-widescreen>.elementor-container>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-widescreen>.elementor-container>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-widescreen>.elementor-container>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-widescreen>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:ELEMENTOR_SCREEN_TABLET_NEXT) and (max-width:ELEMENTOR_SCREEN_LAPTOP_MAX){.elementor-reverse-laptop>.elementor-container>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-laptop>.elementor-container>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-laptop>.elementor-container>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-laptop>.elementor-container>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-laptop>.elementor-container>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-laptop>.elementor-container>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-laptop>.elementor-container>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-laptop>.elementor-container>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-laptop>.elementor-container>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-laptop>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:ELEMENTOR_SCREEN_TABLET_EXTRA_NEXT) and (max-width:ELEMENTOR_SCREEN_LAPTOP_MAX){.elementor-reverse-laptop>.elementor-container>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-laptop>.elementor-container>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-laptop>.elementor-container>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-laptop>.elementor-container>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-laptop>.elementor-container>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-laptop>.elementor-container>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-laptop>.elementor-container>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-laptop>.elementor-container>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-laptop>.elementor-container>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-laptop>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:ELEMENTOR_SCREEN_TABLET_NEXT) and (max-width:ELEMENTOR_SCREEN_TABLET_EXTRA_MAX){.elementor-reverse-laptop>.elementor-container>:first-child,.elementor-reverse-laptop>.elementor-container>:nth-child(2),.elementor-reverse-laptop>.elementor-container>:nth-child(3),.elementor-reverse-laptop>.elementor-container>:nth-child(4),.elementor-reverse-laptop>.elementor-container>:nth-child(5),.elementor-reverse-laptop>.elementor-container>:nth-child(6),.elementor-reverse-laptop>.elementor-container>:nth-child(7),.elementor-reverse-laptop>.elementor-container>:nth-child(8),.elementor-reverse-laptop>.elementor-container>:nth-child(9),.elementor-reverse-laptop>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:initial;-ms-flex-order:initial;order:0}.elementor-reverse-tablet_extra>.elementor-container>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:ELEMENTOR_SCREEN_MOBILE_NEXT) and (max-width:ELEMENTOR_SCREEN_TABLET_MAX){.elementor-reverse-tablet>.elementor-container>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-tablet>.elementor-container>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-tablet>.elementor-container>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-tablet>.elementor-container>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-tablet>.elementor-container>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-tablet>.elementor-container>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-tablet>.elementor-container>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-tablet>.elementor-container>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-tablet>.elementor-container>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-tablet>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:ELEMENTOR_SCREEN_MOBILE_EXTRA_NEXT) and (max-width:ELEMENTOR_SCREEN_TABLET_MAX){.elementor-reverse-tablet>.elementor-container>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-tablet>.elementor-container>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-tablet>.elementor-container>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-tablet>.elementor-container>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-tablet>.elementor-container>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-tablet>.elementor-container>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-tablet>.elementor-container>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-tablet>.elementor-container>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-tablet>.elementor-container>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-tablet>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:ELEMENTOR_SCREEN_MOBILE_NEXT) and (max-width:ELEMENTOR_SCREEN_MOBILE_EXTRA_MAX){.elementor-reverse-tablet>.elementor-container>:first-child,.elementor-reverse-tablet>.elementor-container>:nth-child(2),.elementor-reverse-tablet>.elementor-container>:nth-child(3),.elementor-reverse-tablet>.elementor-container>:nth-child(4),.elementor-reverse-tablet>.elementor-container>:nth-child(5),.elementor-reverse-tablet>.elementor-container>:nth-child(6),.elementor-reverse-tablet>.elementor-container>:nth-child(7),.elementor-reverse-tablet>.elementor-container>:nth-child(8),.elementor-reverse-tablet>.elementor-container>:nth-child(9),.elementor-reverse-tablet>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:initial;-ms-flex-order:initial;order:0}.elementor-reverse-mobile_extra>.elementor-container>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-reverse-mobile>.elementor-container>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-mobile>.elementor-container>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-mobile>.elementor-container>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-mobile>.elementor-container>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-mobile>.elementor-container>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-mobile>.elementor-container>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-mobile>.elementor-container>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-mobile>.elementor-container>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-mobile>.elementor-container>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-mobile>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.elementor-column{width:100%}}ul.elementor-icon-list-items.elementor-inline-items{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}ul.elementor-icon-list-items.elementor-inline-items .elementor-inline-item{word-break:break-word}.elementor-grid{display:grid;grid-column-gap:var(--grid-column-gap);grid-row-gap:var(--grid-row-gap)}.elementor-grid .elementor-grid-item{min-width:0}.elementor-grid-0 .elementor-grid{display:inline-block;width:100%;word-spacing:var(--grid-column-gap);margin-bottom:calc(-1 * var(--grid-row-gap))}.elementor-grid-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-bottom:var(--grid-row-gap);word-break:break-word}.elementor-grid-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}@media (min-width:ELEMENTOR_SCREEN_WIDESCREEN_MIN){.elementor-grid-widescreen-0 .elementor-grid{display:inline-block;width:100%;word-spacing:var(--grid-column-gap);margin-bottom:calc(-1 * var(--grid-row-gap))}.elementor-grid-widescreen-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-bottom:var(--grid-row-gap);word-break:break-word}.elementor-grid-widescreen-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-widescreen-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-widescreen-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-widescreen-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-widescreen-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-widescreen-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-widescreen-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-widescreen-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-widescreen-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-widescreen-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-widescreen-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-widescreen-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}}@media (max-width:ELEMENTOR_SCREEN_LAPTOP_MAX){.elementor-grid-laptop-0 .elementor-grid{display:inline-block;width:100%;word-spacing:var(--grid-column-gap);margin-bottom:calc(-1 * var(--grid-row-gap))}.elementor-grid-laptop-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-bottom:var(--grid-row-gap);word-break:break-word}.elementor-grid-laptop-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-laptop-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-laptop-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-laptop-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-laptop-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-laptop-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-laptop-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-laptop-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-laptop-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-laptop-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-laptop-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-laptop-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}}@media (max-width:ELEMENTOR_SCREEN_TABLET_EXTRA_MAX){.elementor-grid-tablet_extra-0 .elementor-grid{display:inline-block;width:100%;word-spacing:var(--grid-column-gap);margin-bottom:calc(-1 * var(--grid-row-gap))}.elementor-grid-tablet_extra-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-bottom:var(--grid-row-gap);word-break:break-word}.elementor-grid-tablet_extra-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-tablet_extra-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-tablet_extra-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-tablet_extra-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-tablet_extra-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-tablet_extra-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-tablet_extra-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-tablet_extra-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-tablet_extra-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-tablet_extra-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-tablet_extra-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-tablet_extra-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}}@media (max-width:ELEMENTOR_SCREEN_TABLET_MAX){.elementor-grid-tablet-0 .elementor-grid{display:inline-block;width:100%;word-spacing:var(--grid-column-gap);margin-bottom:calc(-1 * var(--grid-row-gap))}.elementor-grid-tablet-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-bottom:var(--grid-row-gap);word-break:break-word}.elementor-grid-tablet-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-tablet-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-tablet-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-tablet-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-tablet-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-tablet-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-tablet-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-tablet-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-tablet-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-tablet-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-tablet-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-tablet-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_EXTRA_MAX){.elementor-grid-mobile_extra-0 .elementor-grid{display:inline-block;width:100%;word-spacing:var(--grid-column-gap);margin-bottom:calc(-1 * var(--grid-row-gap))}.elementor-grid-mobile_extra-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-bottom:var(--grid-row-gap);word-break:break-word}.elementor-grid-mobile_extra-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-mobile_extra-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-mobile_extra-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-mobile_extra-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-mobile_extra-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-mobile_extra-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-mobile_extra-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-mobile_extra-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-mobile_extra-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-mobile_extra-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-mobile_extra-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-mobile_extra-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-grid-mobile-0 .elementor-grid{display:inline-block;width:100%;word-spacing:var(--grid-column-gap);margin-bottom:calc(-1 * var(--grid-row-gap))}.elementor-grid-mobile-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-bottom:var(--grid-row-gap);word-break:break-word}.elementor-grid-mobile-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-mobile-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-mobile-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-mobile-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-mobile-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-mobile-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-mobile-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-mobile-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-mobile-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-mobile-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-mobile-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-mobile-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}}@media (min-width:ELEMENTOR_SCREEN_DESKTOP_MIN){#elementor-device-mode:after{content:"desktop"}}@media (min-width:ELEMENTOR_SCREEN_WIDESCREEN_MIN){#elementor-device-mode:after{content:"widescreen"}}@media (max-width:ELEMENTOR_SCREEN_LAPTOP_MAX){#elementor-device-mode:after{content:"laptop"}}@media (max-width:ELEMENTOR_SCREEN_TABLET_EXTRA_MAX){#elementor-device-mode:after{content:"tablet_extra"}}@media (max-width:ELEMENTOR_SCREEN_TABLET_MAX){#elementor-device-mode:after{content:"tablet"}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_EXTRA_MAX){#elementor-device-mode:after{content:"mobile_extra"}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){#elementor-device-mode:after{content:"mobile"}}.e-container{--border-radius:0;--display:flex;--flex-direction:column;--flex-basis:auto;--flex-grow:0;--flex-shrink:1;--content-width:Min(100%,var(--container-max-width,1140px));--width:100%;--min-height:initial;--height:auto;--text-align:initial;--margin-top:0;--margin-right:0;--margin-bottom:0;--margin-left:0;--padding-top:var(--container-default-padding,0px);--padding-right:var(--container-default-padding,0px);--padding-bottom:var(--container-default-padding,0px);--padding-left:var(--container-default-padding,0px);--position:relative;--z-index:revert;--overflow:visible;--transition:0;--gap:var(--widgets-spacing,20px);--overlay-mix-blend-mode:initial;--overlay-opacity:1;--overlay-transition:0;position:var(--position);display:var(--display);text-align:var(--text-align);-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:var(--flex-direction);flex-direction:var(--flex-direction);-webkit-box-flex:var(--flex-grow);-ms-flex:var(--flex-grow) var(--flex-shrink) var(--flex-basis);flex:var(--flex-grow) var(--flex-shrink) var(--flex-basis);width:var(--width);min-width:0;max-width:min(100%,var(--width));min-height:var(--min-height);height:var(--height);border-radius:var(--border-radius);margin:var(--margin-top) var(--margin-right) var(--margin-bottom) var(--margin-left);padding:var(--padding-top) calc((100% - var(--content-width)) / 2 + var(--padding-right)) var(--padding-bottom) calc((100% - var(--content-width)) / 2 + var(--padding-left));z-index:var(--z-index);overflow:var(--overflow);-webkit-transition:var(--transition);-o-transition:var(--transition);transition:var(--transition)}:is(.elementor-section-wrap,[data-elementor-id])>.e-container{--margin-right:auto;--margin-left:auto}.e-container .elementor-empty-view{position:relative;width:100%;height:100%;min-height:var(--min-height,100px)}.e-container .elementor-empty-view .elementor-first-add{width:auto;height:auto;inset:10px}.e-container .elementor-widget-placeholder{--size:10px;--margin-start:calc(-1 * var(--size));--margin-end:calc(-2 * var(--size));-ms-flex-negative:0;flex-shrink:0;-ms-flex-item-align:stretch;align-self:stretch;z-index:1;pointer-events:none}.e-container.e-container--row>.elementor-widget-placeholder{position:relative;z-index:9999;width:var(--size);-webkit-margin-start:var(--margin-start);margin-inline-start:var(--margin-start);height:auto;min-height:100%;-webkit-animation-name:dnd-placeholder-widget-vertical;animation-name:dnd-placeholder-widget-vertical;-webkit-animation-fill-mode:both;animation-fill-mode:both}.e-container.e-container--row[data-nesting-level]:not([data-nesting-level="0"])>.elementor-widget-placeholder{-webkit-margin-end:0;margin-inline-end:0;-webkit-margin-start:calc(var(--margin-start) + var(--margin-end));margin-inline-start:calc(var(--margin-start) + var(--margin-end))}.e-container.e-container--row[data-nesting-level]:not([data-nesting-level="0"])>:not(.elementor-element)+.elementor-widget-placeholder{-webkit-margin-end:var(--margin-end);margin-inline-end:var(--margin-end);-webkit-margin-start:var(--margin-start);margin-inline-start:var(--margin-start)}.e-container.e-container--column>.elementor-widget-placeholder{height:var(--size);-webkit-margin-before:var(--margin-start);margin-block-start:var(--margin-start);-webkit-margin-after:var(--margin-end);margin-block-end:var(--margin-end);-webkit-animation-name:dnd-placeholder-widget-horizontal;animation-name:dnd-placeholder-widget-horizontal}.e-container.e-container--column>.elementor-widget-placeholder:nth-last-child(2){-webkit-margin-before:calc(2 * var(--margin-start));margin-block-start:calc(2 * var(--margin-start));--margin-end:0}.e-container .elementor-sortable-helper{height:84px;width:125px;z-index:-1}.e-container .elementor-widget.elementor-widget{margin-bottom:0}.e-container:before{content:var(--background-overlay);display:block;position:absolute;z-index:0;width:100%;height:100%;left:0;top:0;mix-blend-mode:var(--overlay-mix-blend-mode);opacity:var(--overlay-opacity);-webkit-transition:var(--overlay-transition);-o-transition:var(--overlay-transition);transition:var(--overlay-transition);border-radius:var(--border-radius)}.e-container .elementor-widget{min-width:0}.e-container .elementor-widget-google_maps,.e-container .elementor-widget-video{-ms-flex-preferred-size:100%;flex-basis:100%}.e-container .elementor-widget.e-widget-swiper{max-width:100%;-ms-flex-preferred-size:100%;flex-basis:100%}.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-setting,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-setting{position:relative;background-color:#556068}.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-setting:hover,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-setting:hover{background-color:#495157}.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-setting.elementor-editor-element-add,.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-setting.elementor-editor-element-edit+.elementor-editor-element-remove,.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-setting:first-child:before,.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-setting:last-child:after,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-setting.elementor-editor-element-add,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-setting.elementor-editor-element-edit+.elementor-editor-element-remove,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-setting:first-child:before,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-setting:last-child:after{display:none}.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-setting:not(.elementor-editor-element-edit),.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-setting:not(.elementor-editor-element-edit){-webkit-margin-start:-25px;margin-inline-start:-25px;z-index:-1;-webkit-transition:all .3s;-o-transition:.3s all;transition:all .3s;will-change:margin-inline-start}.e-container>.e-container>.elementor-element-overlay>.elementor-editor-element-settings:hover>:is(.elementor-editor-element-duplicate,.elementor-editor-element-remove),.elementor-widget .e-container>.elementor-element-overlay>.elementor-editor-element-settings:hover>:is(.elementor-editor-element-duplicate,.elementor-editor-element-remove){-webkit-margin-start:0;margin-inline-start:0}.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-settings,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-settings{inset:auto;-webkit-transform:none;-ms-transform:none;transform:none;inset-inline-start:0;top:0;border-radius:0;border-end-end-radius:3px;height:auto;background-color:#556068}.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-settings:hover,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-settings:hover{background-color:#495157}.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-settings i.eicon-handle:before,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-settings i.eicon-handle:before{content:"\e9b4";font-size:20px;display:block;padding:2px}@media (max-width:767px){.e-container{--width:100%;--flex-wrap:wrap}}@-webkit-keyframes dnd-placeholder-widget-vertical{0%{-webkit-transform-origin:0 50%;transform-origin:0 50%;-webkit-transform:translateX(50%) scaleX(0);transform:translateX(50%) scaleX(0);opacity:0}to{-webkit-transform-origin:0 50%;transform-origin:0 50%;-webkit-transform:translateX(50%) scaleX(1);transform:translateX(50%) scaleX(1);opacity:.9}}@keyframes dnd-placeholder-widget-vertical{0%{-webkit-transform-origin:0 50%;transform-origin:0 50%;-webkit-transform:translateX(50%) scaleX(0);transform:translateX(50%) scaleX(0);opacity:0}to{-webkit-transform-origin:0 50%;transform-origin:0 50%;-webkit-transform:translateX(50%) scaleX(1);transform:translateX(50%) scaleX(1);opacity:.9}}@-webkit-keyframes dnd-placeholder-widget-horizontal{0%{-webkit-transform-origin:50% 0;transform-origin:50% 0;-webkit-transform:scaleY(0);transform:scaleY(0);opacity:0}to{-webkit-transform-origin:50% 0;transform-origin:50% 0;-webkit-transform:scaleY(1);transform:scaleY(1);opacity:.9}}@keyframes dnd-placeholder-widget-horizontal{0%{-webkit-transform-origin:50% 0;transform-origin:50% 0;-webkit-transform:scaleY(0);transform:scaleY(0);opacity:0}to{-webkit-transform-origin:50% 0;transform-origin:50% 0;-webkit-transform:scaleY(1);transform:scaleY(1);opacity:.9}}.elementor-form-fields-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group .elementor-field-subgroup,.elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group>.elementor-select-wrapper,.elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group>input,.elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group>textarea{-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.elementor-form-fields-wrapper.elementor-labels-inline>.elementor-field-group .elementor-select-wrapper,.elementor-form-fields-wrapper.elementor-labels-inline>.elementor-field-group>input{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-field-group{-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-field-group.elementor-field-type-submit{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.elementor-field-group .elementor-field-textual{width:100%;max-width:100%;border:1px solid #818a91;background-color:transparent;color:#373a3c;vertical-align:middle;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-field-group .elementor-field-textual:focus{-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.1) inset;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);outline:0}.elementor-field-group .elementor-field-textual::-webkit-input-placeholder{color:inherit;font-family:inherit;opacity:.6}.elementor-field-group .elementor-field-textual:-ms-input-placeholder{color:inherit;font-family:inherit;opacity:.6}.elementor-field-group .elementor-field-textual:-moz-placeholder,.elementor-field-group .elementor-field-textual::-moz-placeholder{color:inherit;font-family:inherit;opacity:.6}.elementor-field-group .elementor-field-textual::-ms-input-placeholder{color:inherit;font-family:inherit;opacity:.6}.elementor-field-group .elementor-field-textual::placeholder{color:inherit;font-family:inherit;opacity:.6}.elementor-field-group .elementor-select-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;position:relative;width:100%}.elementor-field-group .elementor-select-wrapper select{appearance:none;-webkit-appearance:none;-moz-appearance:none;color:inherit;font-size:inherit;font-family:inherit;font-weight:inherit;font-style:inherit;text-transform:inherit;letter-spacing:inherit;line-height:inherit;-ms-flex-preferred-size:100%;flex-basis:100%;padding-left:20px}.elementor-field-group .elementor-select-wrapper:before{content:"\e92a";font-family:eicons;font-size:15px;position:absolute;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);left:10px;pointer-events:none;text-shadow:0 0 3px rgba(0,0,0,.3)}.elementor-field-group.elementor-field-type-select-multiple .elementor-select-wrapper:before{content:""}.elementor-field-subgroup{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.elementor-field-subgroup .elementor-field-option label{display:inline-block}.elementor-field-subgroup.elementor-subgroup-inline .elementor-field-option{padding-left:10px}.elementor-field-subgroup:not(.elementor-subgroup-inline) .elementor-field-option{-ms-flex-preferred-size:100%;flex-basis:100%}.elementor-field-type-acceptance .elementor-field-subgroup .elementor-field-option input,.elementor-field-type-acceptance .elementor-field-subgroup .elementor-field-option label,.elementor-field-type-checkbox .elementor-field-subgroup .elementor-field-option input,.elementor-field-type-checkbox .elementor-field-subgroup .elementor-field-option label,.elementor-field-type-radio .elementor-field-subgroup .elementor-field-option input,.elementor-field-type-radio .elementor-field-subgroup .elementor-field-option label{display:inline}.elementor-field-label{cursor:pointer}.elementor-mark-required .elementor-field-label:after{content:"*";color:red;padding-right:.2em}.elementor-field-textual{line-height:1.4;font-size:15px;min-height:40px;padding:5px 14px;border-radius:3px}.elementor-field-textual.elementor-size-xs{font-size:13px;min-height:33px;padding:4px 12px;border-radius:2px}.elementor-field-textual.elementor-size-md{font-size:16px;min-height:47px;padding:6px 16px;border-radius:4px}.elementor-field-textual.elementor-size-lg{font-size:18px;min-height:59px;padding:7px 20px;border-radius:5px}.elementor-field-textual.elementor-size-xl{font-size:20px;min-height:72px;padding:8px 24px;border-radius:6px}.elementor-button-align-stretch .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button{-ms-flex-preferred-size:100%;flex-basis:100%}.elementor-button-align-stretch .e-form__buttons__wrapper{-ms-flex-preferred-size:50%;flex-basis:50%;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-button-align-stretch .e-form__buttons__wrapper__button{-ms-flex-preferred-size:100%;flex-basis:100%}.elementor-button-align-center .e-form__buttons,.elementor-button-align-center .elementor-field-type-submit{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-button-align-start .e-form__buttons,.elementor-button-align-start .elementor-field-type-submit{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-button-align-end .e-form__buttons,.elementor-button-align-end .elementor-field-type-submit{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-button-align-center .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button,.elementor-button-align-end .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button,.elementor-button-align-start .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button{-ms-flex-preferred-size:initial;flex-basis:auto}.elementor-button-align-center .e-form__buttons__wrapper,.elementor-button-align-end .e-form__buttons__wrapper,.elementor-button-align-start .e-form__buttons__wrapper{-webkit-box-flex:initial;-ms-flex-positive:initial;flex-grow:0}.elementor-button-align-center .e-form__buttons__wrapper,.elementor-button-align-center .e-form__buttons__wrapper__button,.elementor-button-align-end .e-form__buttons__wrapper,.elementor-button-align-end .e-form__buttons__wrapper__button,.elementor-button-align-start .e-form__buttons__wrapper,.elementor-button-align-start .e-form__buttons__wrapper__button{-ms-flex-preferred-size:initial;flex-basis:auto}@media screen and (max-width:ELEMENTOR_SCREEN_TABLET_MAX){.elementor-tablet-button-align-stretch .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button{-ms-flex-preferred-size:100%;flex-basis:100%}.elementor-tablet-button-align-stretch .e-form__buttons__wrapper{-ms-flex-preferred-size:50%;flex-basis:50%;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-tablet-button-align-stretch .e-form__buttons__wrapper__button{-ms-flex-preferred-size:100%;flex-basis:100%}.elementor-tablet-button-align-center .e-form__buttons,.elementor-tablet-button-align-center .elementor-field-type-submit{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-tablet-button-align-start .e-form__buttons,.elementor-tablet-button-align-start .elementor-field-type-submit{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-tablet-button-align-end .e-form__buttons,.elementor-tablet-button-align-end .elementor-field-type-submit{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-tablet-button-align-center .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button,.elementor-tablet-button-align-end .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button,.elementor-tablet-button-align-start .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button{-ms-flex-preferred-size:initial;flex-basis:auto}.elementor-tablet-button-align-center .e-form__buttons__wrapper,.elementor-tablet-button-align-end .e-form__buttons__wrapper,.elementor-tablet-button-align-start .e-form__buttons__wrapper{-webkit-box-flex:initial;-ms-flex-positive:initial;flex-grow:0}.elementor-tablet-button-align-center .e-form__buttons__wrapper,.elementor-tablet-button-align-center .e-form__buttons__wrapper__button,.elementor-tablet-button-align-end .e-form__buttons__wrapper,.elementor-tablet-button-align-end .e-form__buttons__wrapper__button,.elementor-tablet-button-align-start .e-form__buttons__wrapper,.elementor-tablet-button-align-start .e-form__buttons__wrapper__button{-ms-flex-preferred-size:initial;flex-basis:auto}}@media screen and (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-mobile-button-align-stretch .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button{-ms-flex-preferred-size:100%;flex-basis:100%}.elementor-mobile-button-align-stretch .e-form__buttons__wrapper{-ms-flex-preferred-size:50%;flex-basis:50%;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-mobile-button-align-stretch .e-form__buttons__wrapper__button{-ms-flex-preferred-size:100%;flex-basis:100%}.elementor-mobile-button-align-center .e-form__buttons,.elementor-mobile-button-align-center .elementor-field-type-submit{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-mobile-button-align-start .e-form__buttons,.elementor-mobile-button-align-start .elementor-field-type-submit{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-mobile-button-align-end .e-form__buttons,.elementor-mobile-button-align-end .elementor-field-type-submit{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-mobile-button-align-center .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button,.elementor-mobile-button-align-end .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button,.elementor-mobile-button-align-start .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button{-ms-flex-preferred-size:initial;flex-basis:auto}.elementor-mobile-button-align-center .e-form__buttons__wrapper,.elementor-mobile-button-align-end .e-form__buttons__wrapper,.elementor-mobile-button-align-start .e-form__buttons__wrapper{-webkit-box-flex:initial;-ms-flex-positive:initial;flex-grow:0}.elementor-mobile-button-align-center .e-form__buttons__wrapper,.elementor-mobile-button-align-center .e-form__buttons__wrapper__button,.elementor-mobile-button-align-end .e-form__buttons__wrapper,.elementor-mobile-button-align-end .e-form__buttons__wrapper__button,.elementor-mobile-button-align-start .e-form__buttons__wrapper,.elementor-mobile-button-align-start .e-form__buttons__wrapper__button{-ms-flex-preferred-size:initial;flex-basis:auto}}.elementor-error .elementor-field{border-color:#d9534f}.elementor-error .help-inline{color:#d9534f;font-size:.9em}.elementor-message{margin:10px 0;font-size:1em;line-height:1}.elementor-message:before{content:"\e90e";display:inline-block;font-family:eicons;font-weight:400;font-style:normal;vertical-align:middle;margin-left:5px}.elementor-message.elementor-message-danger{color:#d9534f}.elementor-message.elementor-message-danger:before{content:"\e87f"}.elementor-message.form-message-success{color:#5cb85c}.elementor-form .elementor-button{padding-top:0;padding-bottom:0;border:none}.elementor-form .elementor-button>span{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-form .elementor-button.elementor-size-xs{min-height:33px}.elementor-form .elementor-button.elementor-size-sm{min-height:40px}.elementor-form .elementor-button.elementor-size-md{min-height:47px}.elementor-form .elementor-button.elementor-size-lg{min-height:59px}.elementor-form .elementor-button.elementor-size-xl{min-height:72px}.elementor-element .elementor-widget-container{-webkit-transition:background .3s,border .3s,border-radius .3s,-webkit-box-shadow .3s;transition:background .3s,border .3s,border-radius .3s,-webkit-box-shadow .3s;-o-transition:background .3s,border .3s,border-radius .3s,box-shadow .3s;transition:background .3s,border .3s,border-radius .3s,box-shadow .3s;transition:background .3s,border .3s,border-radius .3s,box-shadow .3s,-webkit-box-shadow .3s}.elementor-button{display:inline-block;line-height:1;background-color:#818a91;font-size:15px;padding:12px 24px;border-radius:3px;color:#fff;fill:#fff;text-align:center;-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s}.elementor-button:focus,.elementor-button:hover,.elementor-button:visited{color:#fff}.elementor-button-content-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-button-icon{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-button-icon svg{width:1em;height:auto}.elementor-button-icon .e-font-icon-svg{height:1em}.elementor-button-text{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10;display:inline-block}.elementor-button.elementor-size-xs{font-size:13px;padding:10px 20px;border-radius:2px}.elementor-button.elementor-size-md{font-size:16px;padding:15px 30px;border-radius:4px}.elementor-button.elementor-size-lg{font-size:18px;padding:20px 40px;border-radius:5px}.elementor-button.elementor-size-xl{font-size:20px;padding:25px 50px;border-radius:6px}.elementor-button .elementor-align-icon-right{margin-left:5px;-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-button .elementor-align-icon-left{margin-right:5px;-webkit-box-ordinal-group:16;-ms-flex-order:15;order:15}.elementor-button span{text-decoration:inherit}.elementor-element.elementor-button-info .elementor-button{background-color:#5bc0de}.elementor-element.elementor-button-success .elementor-button{background-color:#5cb85c}.elementor-element.elementor-button-warning .elementor-button{background-color:#f0ad4e}.elementor-element.elementor-button-danger .elementor-button{background-color:#d9534f}.elementor-widget-button .elementor-button .elementor-button-info{background-color:#5bc0de}.elementor-widget-button .elementor-button .elementor-button-success{background-color:#5cb85c}.elementor-widget-button .elementor-button .elementor-button-warning{background-color:#f0ad4e}.elementor-widget-button .elementor-button .elementor-button-danger{background-color:#d9534f}.elementor-tab-title a{color:inherit}.elementor-view-stacked .elementor-icon{padding:.5em;background-color:#818a91;color:#fff;fill:#fff}.elementor-view-framed .elementor-icon{padding:.5em;color:#818a91;border:3px solid #818a91;background-color:transparent}.elementor-icon{display:inline-block;line-height:1;-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s;color:#818a91;font-size:50px;text-align:center}.elementor-icon:hover{color:#818a91}.elementor-icon i,.elementor-icon svg{width:1em;height:1em;position:relative;display:block}.elementor-icon i:before,.elementor-icon svg:before{position:absolute;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.elementor-icon i.fad{width:auto}.elementor-shape-circle .elementor-icon{border-radius:50%}.e-transform .elementor-widget-container{-webkit-transform:perspective(var(--e-transform-perspective,0)) rotate(var(--e-transform-rotateZ,0)) rotateX(var(--e-transform-rotateX,0)) rotateY(var(--e-transform-rotateY,0)) translate(var(--e-transform-translate,0)) translateX(var(--e-transform-translateX,0)) translateY(var(--e-transform-translateY,0)) scaleX(calc(var(--e-transform-flipX, 1) * var(--e-transform-scaleX, var(--e-transform-scale, 1)))) scaleY(calc(var(--e-transform-flipY, 1) * var(--e-transform-scaleY, var(--e-transform-scale, 1)))) skewX(var(--e-transform-skewX,0)) skewY(var(--e-transform-skewY,0));transform:perspective(var(--e-transform-perspective,0)) rotate(var(--e-transform-rotateZ,0)) rotateX(var(--e-transform-rotateX,0)) rotateY(var(--e-transform-rotateY,0)) translate(var(--e-transform-translate,0)) translateX(var(--e-transform-translateX,0)) translateY(var(--e-transform-translateY,0)) scaleX(calc(var(--e-transform-flipX, 1) * var(--e-transform-scaleX, var(--e-transform-scale, 1)))) scaleY(calc(var(--e-transform-flipY, 1) * var(--e-transform-scaleY, var(--e-transform-scale, 1)))) skewX(var(--e-transform-skewX,0)) skewY(var(--e-transform-skewY,0));-webkit-transform-origin:var(--e-transform-origin-y) var(--e-transform-origin-x);-ms-transform-origin:var(--e-transform-origin-y) var(--e-transform-origin-x);transform-origin:var(--e-transform-origin-y) var(--e-transform-origin-x);-webkit-transition:-webkit-transform var(--e-transform-transition-duration,.4s);transition:-webkit-transform var(--e-transform-transition-duration,.4s);-o-transition:transform var(--e-transform-transition-duration,.4s);transition:transform var(--e-transform-transition-duration,.4s);transition:transform var(--e-transform-transition-duration,.4s),-webkit-transform var(--e-transform-transition-duration,.4s)}.swiper-container{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;z-index:1}.swiper-container .swiper-slide figure{line-height:0}.swiper-container .elementor-lightbox-content-source{display:none}.swiper-container-no-flexbox .swiper-slide{float:left}.swiper-container-vertical>.swiper-wrapper{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;-o-transition-property:transform;transition-property:transform;transition-property:transform,-webkit-transform;-webkit-box-sizing:content-box;box-sizing:content-box}.swiper-container-android .swiper-slide,.swiper-wrapper{-webkit-transform:translateZ(0);transform:translateZ(0)}.swiper-container-multirow>.swiper-wrapper{-ms-flex-wrap:wrap;flex-wrap:wrap}.swiper-container-free-mode>.swiper-wrapper{-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;margin:0 auto}.swiper-slide{-ms-flex-negative:0;flex-shrink:0;width:100%;height:100%;position:relative}.swiper-container-autoheight,.swiper-container-autoheight .swiper-slide{height:auto}.swiper-container-autoheight .swiper-wrapper{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-transition-property:height,-webkit-transform;transition-property:height,-webkit-transform;-o-transition-property:transform,height;transition-property:transform,height;transition-property:transform,height,-webkit-transform}.swiper-container .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-wp8-horizontal{-ms-touch-action:pan-y;touch-action:pan-y}.swiper-wp8-vertical{-ms-touch-action:pan-x;touch-action:pan-x}.swiper-button-next,.swiper-button-prev{position:absolute;top:50%;width:27px;height:44px;margin-top:-22px;z-index:10;cursor:pointer;background-size:27px 44px;background:no-repeat 50%}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-prev,.swiper-container-rtl .swiper-button-next{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 44'%3E%3Cpath d='M0 22L22 0l2.1 2.1L4.2 22l19.9 19.9L22 44 0 22z' fill='%23007aff'/%3E%3C/svg%3E");left:10px;right:auto}.swiper-button-prev.swiper-button-black,.swiper-container-rtl .swiper-button-next.swiper-button-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 44'%3E%3Cpath d='M0 22L22 0l2.1 2.1L4.2 22l19.9 19.9L22 44 0 22z'/%3E%3C/svg%3E")}.swiper-button-prev.swiper-button-white,.swiper-container-rtl .swiper-button-next.swiper-button-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 44'%3E%3Cpath d='M0 22L22 0l2.1 2.1L4.2 22l19.9 19.9L22 44 0 22z' fill='%23fff'/%3E%3C/svg%3E")}.swiper-button-next,.swiper-container-rtl .swiper-button-prev{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 44'%3E%3Cpath d='M27 22L5 44l-2.1-2.1L22.8 22 2.9 2.1 5 0l22 22z' fill='%23007aff'/%3E%3C/svg%3E");right:10px;left:auto}.swiper-button-next.swiper-button-black,.swiper-container-rtl .swiper-button-prev.swiper-button-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 44'%3E%3Cpath d='M27 22L5 44l-2.1-2.1L22.8 22 2.9 2.1 5 0l22 22z'/%3E%3C/svg%3E")}.swiper-button-next.swiper-button-white,.swiper-container-rtl .swiper-button-prev.swiper-button-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 44'%3E%3Cpath d='M27 22L5 44l-2.1-2.1L22.8 22 2.9 2.1 5 0l22 22z' fill='%23fff'/%3E%3C/svg%3E")}.swiper-pagination{position:absolute;text-align:center;-webkit-transition:.3s;-o-transition:.3s;transition:.3s;-webkit-transform:translateZ(0);transform:translateZ(0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-container-horizontal>.swiper-pagination-bullets,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:5px;left:0;width:100%}.swiper-pagination-bullet{width:6px;height:6px;display:inline-block;border-radius:50%;background:#000;opacity:.2}.swiper-pagination-fraction{color:#000}button.swiper-pagination-bullet{border:none;margin:0;padding:0;-webkit-box-shadow:none;box-shadow:none;appearance:none;-webkit-appearance:none;-moz-appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-white .swiper-pagination-bullet{background:#fff}.swiper-pagination-bullet-active{opacity:1}.swiper-pagination-white .swiper-pagination-bullet-active{background:#fff}.swiper-pagination-black .swiper-pagination-bullet-active{background:#000}.swiper-container-vertical>.swiper-pagination-bullets{right:10px;top:50%;-webkit-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0)}.swiper-container-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:5px 0;display:block}.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 6px}.swiper-pagination-progressbar{background:rgba(0,0,0,.25);position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:#000;position:absolute;left:0;top:0;width:100%;height:100%;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);-webkit-transform-origin:left top;-ms-transform-origin:left top;transform-origin:left top}.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{-webkit-transform-origin:right top;-ms-transform-origin:right top;transform-origin:right top}.swiper-container-horizontal>.swiper-pagination-progressbar{width:100%;height:4px;left:0;top:0}.swiper-container-vertical>.swiper-pagination-progressbar{width:4px;height:100%;left:0;top:0}.swiper-pagination-progressbar.swiper-pagination-white{background:hsla(0,0%,100%,.5)}.swiper-pagination-progressbar.swiper-pagination-white .swiper-pagination-progressbar-fill{background:#fff}.swiper-pagination-progressbar.swiper-pagination-black .swiper-pagination-progressbar-fill{background:#000}.swiper-container-3d{-webkit-perspective:1200px;perspective:1200px}.swiper-container-3d .swiper-cube-shadow,.swiper-container-3d .swiper-slide,.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top,.swiper-container-3d .swiper-wrapper{-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-container-3d .swiper-slide-shadow-left{background-image:-webkit-gradient(linear,right top,left top,from(rgba(0,0,0,.5)),to(transparent));background-image:-o-linear-gradient(right,rgba(0,0,0,.5),transparent);background-image:linear-gradient(270deg,rgba(0,0,0,.5),transparent)}.swiper-container-3d .swiper-slide-shadow-right{background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(transparent));background-image:-o-linear-gradient(left,rgba(0,0,0,.5),transparent);background-image:linear-gradient(90deg,rgba(0,0,0,.5),transparent)}.swiper-container-3d .swiper-slide-shadow-top{background-image:-webkit-gradient(linear,left bottom,left top,from(rgba(0,0,0,.5)),to(transparent));background-image:-o-linear-gradient(bottom,rgba(0,0,0,.5),transparent);background-image:linear-gradient(0deg,rgba(0,0,0,.5),transparent)}.swiper-container-3d .swiper-slide-shadow-bottom{background-image:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.5)),to(transparent));background-image:-o-linear-gradient(top,rgba(0,0,0,.5),transparent);background-image:linear-gradient(180deg,rgba(0,0,0,.5),transparent)}.swiper-container-coverflow .swiper-wrapper,.swiper-container-flip .swiper-wrapper{-ms-perspective:1200px}.swiper-container-cube,.swiper-container-flip{overflow:visible}.swiper-container-cube .swiper-slide,.swiper-container-flip .swiper-slide{pointer-events:none;z-index:1}.swiper-container-cube .swiper-slide .swiper-slide,.swiper-container-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-active .swiper-slide-active,.swiper-container-flip .swiper-slide-active,.swiper-container-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-cube .swiper-slide-shadow-bottom,.swiper-container-cube .swiper-slide-shadow-left,.swiper-container-cube .swiper-slide-shadow-right,.swiper-container-cube .swiper-slide-shadow-top,.swiper-container-flip .swiper-slide-shadow-bottom,.swiper-container-flip .swiper-slide-shadow-left,.swiper-container-flip .swiper-slide-shadow-right,.swiper-container-flip .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-container-cube .swiper-slide{visibility:hidden;-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0;width:100%;height:100%}.swiper-container-cube.swiper-container-rtl .swiper-slide{-webkit-transform-origin:100% 0;-ms-transform-origin:100% 0;transform-origin:100% 0}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-next,.swiper-container-cube .swiper-slide-next+.swiper-slide,.swiper-container-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-container-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0;width:100%;height:100%;background:#000;opacity:.6;-webkit-filter:blur(50px);filter:blur(50px);z-index:0}.swiper-container-fade.swiper-container-free-mode .swiper-slide{-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out}.swiper-container-fade .swiper-slide{pointer-events:none;-webkit-transition-property:opacity;-o-transition-property:opacity;transition-property:opacity}.swiper-container-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-fade .swiper-slide-active,.swiper-container-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-zoom-container{width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain}.swiper-scrollbar{border-radius:10px;position:relative;-ms-touch-action:none;background:rgba(0,0,0,.1)}.swiper-container-horizontal>.swiper-scrollbar{position:absolute;left:1%;bottom:3px;z-index:50;height:5px;width:98%}.swiper-container-vertical>.swiper-scrollbar{position:absolute;right:3px;top:1%;z-index:50;width:5px;height:98%}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:rgba(0,0,0,.5);border-radius:10px;left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.elementor-pagination-position-outside .swiper-container{padding-bottom:30px}.elementor-pagination-position-outside .elementor-swiper-button{top:calc(50% - 30px / 2)}.elementor-swiper{position:relative}.elementor-main-swiper{position:static}.elementor-arrows-position-outside .swiper-container{width:calc(100% - 60px)}.elementor-arrows-position-outside .elementor-swiper-button-prev{left:0}.elementor-arrows-position-outside .elementor-swiper-button-next{right:0}.swiper-image-stretch .swiper-slide .swiper-slide-image{width:100%}.elementor-swiper-button{position:absolute;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;z-index:1;cursor:pointer;font-size:25px;color:hsla(0,0%,93.3%,.9);top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.elementor-swiper-button svg{fill:hsla(0,0%,93.3%,.9);height:1em;width:1em}.elementor-swiper-button-prev{left:10px}.elementor-swiper-button-next{right:10px}.elementor-swiper-button.swiper-button-disabled{opacity:.3}.swiper-container-cube .elementor-swiper-button{-webkit-transform:translate3d(0,-50%,1px);transform:translate3d(0,-50%,1px)}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;-webkit-transform-origin:50%;-ms-transform-origin:50%;transform-origin:50%;-webkit-animation:swiper-preloader-spin 1s steps(12) infinite;animation:swiper-preloader-spin 1s steps(12) infinite}.swiper-lazy-preloader:after{display:block;content:"";width:100%;height:100%;background-size:100%;background:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 120 120' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath id='a' stroke='%236c6c6c' stroke-width='11' stroke-linecap='round' d='M60 7v20'/%3E%3C/defs%3E%3Cuse xlink:href='%23a' opacity='.27'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(30 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(60 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(90 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(120 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(150 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.37' transform='rotate(180 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.46' transform='rotate(210 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.56' transform='rotate(240 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.66' transform='rotate(270 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.75' transform='rotate(300 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.85' transform='rotate(330 60 60)'/%3E%3C/svg%3E") no-repeat 50%}.swiper-lazy-preloader-white:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 120 120' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath id='a' stroke='%23fff' stroke-width='11' stroke-linecap='round' d='M60 7v20'/%3E%3C/defs%3E%3Cuse xlink:href='%23a' opacity='.27'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(30 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(60 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(90 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(120 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(150 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.37' transform='rotate(180 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.46' transform='rotate(210 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.56' transform='rotate(240 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.66' transform='rotate(270 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.75' transform='rotate(300 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.85' transform='rotate(330 60 60)'/%3E%3C/svg%3E")}@-webkit-keyframes swiper-preloader-spin{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes swiper-preloader-spin{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.elementor-lightbox{--lightbox-ui-color:hsla(0,0%,93.3%,0.9);--lightbox-ui-color-hover:#fff;--lightbox-text-color:var(--lightbox-ui-color);--lightbox-header-icons-size:20px;--lightbox-navigation-icons-size:25px}.elementor-lightbox .dialog-header{display:none}.elementor-lightbox .dialog-widget-content{background:none;-webkit-box-shadow:none;box-shadow:none;width:100%;height:100%}.elementor-lightbox .dialog-message{-webkit-animation-duration:.3s;animation-duration:.3s}.elementor-lightbox .dialog-message:not(.elementor-fit-aspect-ratio){height:100%}.elementor-lightbox .dialog-message.dialog-lightbox-message{padding:0}.elementor-lightbox .dialog-lightbox-close-button{cursor:pointer;position:absolute;font-size:var(--lightbox-header-icons-size);left:.75em;margin-top:13px;padding:.25em;z-index:2;line-height:1;display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-lightbox .dialog-lightbox-close-button svg{height:1em;width:1em}.elementor-lightbox .dialog-lightbox-close-button,.elementor-lightbox .elementor-swiper-button{color:var(--lightbox-ui-color);-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s;opacity:1}.elementor-lightbox .dialog-lightbox-close-button svg,.elementor-lightbox .elementor-swiper-button svg{fill:var(--lightbox-ui-color)}.elementor-lightbox .dialog-lightbox-close-button:hover,.elementor-lightbox .elementor-swiper-button:hover{color:var(--lightbox-ui-color-hover)}.elementor-lightbox .dialog-lightbox-close-button:hover svg,.elementor-lightbox .elementor-swiper-button:hover svg{fill:var(--lightbox-ui-color-hover)}.elementor-lightbox .swiper-container{height:100%}.elementor-lightbox .elementor-lightbox-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;position:relative;padding:70px;-webkit-box-sizing:border-box;box-sizing:border-box;height:100%;margin:auto}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-lightbox .elementor-lightbox-item{padding:70px 0}}.elementor-lightbox .elementor-lightbox-image{max-height:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.elementor-lightbox .elementor-lightbox-image,.elementor-lightbox .elementor-lightbox-image:hover{opacity:1;-webkit-filter:none;filter:none;border:none}.elementor-lightbox .elementor-lightbox-image,.elementor-lightbox .elementor-video-container{-webkit-box-shadow:0 0 30px rgba(0,0,0,.3),0 0 8px -5px rgba(0,0,0,.3);box-shadow:0 0 30px rgba(0,0,0,.3),0 0 8px -5px rgba(0,0,0,.3);border-radius:2px}.elementor-lightbox .elementor-video-container{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}@media (min-width:ELEMENTOR_SCREEN_TABLET_NEXT){.elementor-lightbox .elementor-video-container{width:75%}}@media (max-width:ELEMENTOR_SCREEN_TABLET_MAX){.elementor-lightbox .elementor-video-container{width:100%}}@media (min-width:768px) and (max-width:1024px){.elementor-lightbox .elementor-aspect-ratio-916 .elementor-video-container{width:70%}}.elementor-lightbox .elementor-swiper-button:focus{outline-width:1px}.elementor-lightbox .elementor-swiper-button-next,.elementor-lightbox .elementor-swiper-button-prev{height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:15%;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:var(--lightbox-navigation-icons-size)}.elementor-lightbox .elementor-swiper-button-prev{left:0}.elementor-lightbox .elementor-swiper-button-next{right:0}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-lightbox .elementor-swiper-button:focus{outline:none}.elementor-lightbox .elementor-swiper-button-next,.elementor-lightbox .elementor-swiper-button-prev{width:20%}.elementor-lightbox .elementor-swiper-button-next i,.elementor-lightbox .elementor-swiper-button-prev i{padding:10px;background-color:rgba(0,0,0,.5)}.elementor-lightbox .elementor-swiper-button-prev{left:0;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-lightbox .elementor-swiper-button-next{right:0;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}}.elementor-slideshow__counter{color:currentColor;font-size:.75em;width:-webkit-max-content;width:-moz-max-content;width:max-content}.elementor-slideshow__footer,.elementor-slideshow__header{position:absolute;left:0;width:100%;padding:15px 20px;-webkit-transition:.3s;-o-transition:.3s;transition:.3s}.elementor-slideshow__footer{color:var(--lightbox-text-color)}.elementor-slideshow__header{color:var(--lightbox-ui-color);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;font-size:var(--lightbox-header-icons-size);padding-right:1em;padding-left:2.6em;top:0;-webkit-box-align:center;-ms-flex-align:center;align-items:center;z-index:10}.elementor-slideshow__header>i,.elementor-slideshow__header>svg{cursor:pointer;padding:.25em;margin:0 .35em}.elementor-slideshow__header>i{font-size:inherit}.elementor-slideshow__header>i:hover{color:var(--lightbox-ui-color-hover)}.elementor-slideshow__header>svg{-webkit-box-sizing:content-box;box-sizing:content-box;fill:var(--lightbox-ui-color);height:1em;width:1em}.elementor-slideshow__header>svg:hover{fill:var(--lightbox-ui-color-hover)}.elementor-slideshow__header .elementor-slideshow__counter{margin-left:auto}.elementor-slideshow__header .elementor-icon-share{z-index:5}.elementor-slideshow__share-menu{background-color:transparent;width:0;height:0;position:absolute;overflow:hidden;-webkit-transition:background-color .4s;-o-transition:background-color .4s;transition:background-color .4s}.elementor-slideshow__share-menu .elementor-slideshow__share-links a{color:#2c2c2c}.elementor-slideshow__share-links{display:block;position:absolute;min-width:200px;left:2.8em;top:3em;background-color:#fff;border-radius:3px;padding:14px 20px;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);opacity:0;-webkit-transform-origin:90% 10%;-ms-transform-origin:90% 10%;transform-origin:90% 10%;-webkit-transition:all .25s .1s;-o-transition:all .25s .1s;transition:all .25s .1s;-webkit-box-shadow:0 4px 15px rgba(0,0,0,.3);box-shadow:0 4px 15px rgba(0,0,0,.3)}.elementor-slideshow__share-links a{text-align:right;color:#55595c;font-size:12px;line-height:2.5;display:block;opacity:0;-webkit-transition:opacity .5s .1s;-o-transition:opacity .5s .1s;transition:opacity .5s .1s}.elementor-slideshow__share-links a:hover{color:#000}.elementor-slideshow__share-links a i,.elementor-slideshow__share-links a svg{margin-left:.75em}.elementor-slideshow__share-links a i{font-size:1.25em}.elementor-slideshow__share-links a svg{height:1.25em;width:1.25em}.elementor-slideshow__share-links:before{content:"";display:block;position:absolute;top:1px;left:.5em;border:.45em solid transparent;border-bottom-color:#fff;-webkit-transform:translateY(-100%) scaleX(.7);-ms-transform:translateY(-100%) scaleX(.7);transform:translateY(-100%) scaleX(.7)}.elementor-slideshow__footer{bottom:0;z-index:5;position:fixed}.elementor-slideshow__description,.elementor-slideshow__title{margin:0}.elementor-slideshow__title{font-size:16px;font-weight:700}.elementor-slideshow__description{font-size:14px}.elementor-slideshow--ui-hidden .elementor-slideshow__footer,.elementor-slideshow--ui-hidden .elementor-slideshow__header{opacity:0;pointer-events:none}.elementor-slideshow--ui-hidden .elementor-swiper-button-next,.elementor-slideshow--ui-hidden .elementor-swiper-button-prev{opacity:0}.elementor-slideshow--fullscreen-mode .elementor-video-container{width:100%}.elementor-slideshow--zoom-mode .elementor-slideshow__footer,.elementor-slideshow--zoom-mode .elementor-slideshow__header{background-color:rgba(0,0,0,.5)}.elementor-slideshow--zoom-mode .elementor-swiper-button-next,.elementor-slideshow--zoom-mode .elementor-swiper-button-prev{opacity:0;pointer-events:none}.elementor-slideshow--share-mode .elementor-slideshow__share-menu{top:0;left:0;width:100vw;height:100vh;opacity:1;cursor:default;background-color:rgba(0,0,0,.5)}.elementor-slideshow--share-mode .elementor-slideshow__share-links{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.elementor-slideshow--share-mode .elementor-slideshow__share-links,.elementor-slideshow--share-mode .elementor-slideshow__share-links a{opacity:1}.elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-twitter{color:#1da1f2}.elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-facebook{color:#3b5998}.elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-pinterest{color:#bd081c}.elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-download-bold{color:#a4afb7}.elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-twitter{fill:#1da1f2}.elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-facebook{fill:#3b5998}.elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-pinterest{fill:#bd081c}.elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-download-bold{fill:#a4afb7}.elementor-slideshow--share-mode .eicon-share-arrow{z-index:2}.animated{-webkit-animation-duration:1.25s;animation-duration:1.25s}.animated.animated-slow{-webkit-animation-duration:2s;animation-duration:2s}.animated.animated-fast{-webkit-animation-duration:.75s;animation-duration:.75s}.animated.infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.animated.reverse{animation-direction:reverse;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}@media (prefers-reduced-motion:reduce){.animated{-webkit-animation:none;animation:none}}.elementor-shape{overflow:hidden;position:absolute;left:0;width:100%;line-height:0;direction:ltr}.elementor-shape-top{top:-1px}.elementor-shape-top:not([data-negative=false]) svg{z-index:-1}.elementor-shape-bottom{bottom:-1px}.elementor-shape-bottom:not([data-negative=true]) svg{z-index:-1}.elementor-shape[data-negative=false].elementor-shape-bottom,.elementor-shape[data-negative=true].elementor-shape-top{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.elementor-shape svg{display:block;width:calc(100% + 1.3px);position:relative;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.elementor-shape .elementor-shape-fill{fill:#fff;-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center;-webkit-transform:rotateY(0deg);transform:rotateY(0deg)}#wp-admin-bar-elementor_edit_page>.ab-item:before{content:"\e813";font-family:eicons;top:3px;font-size:18px}#wp-admin-bar-elementor_edit_page .ab-submenu .ab-item{display:-webkit-box;display:-ms-flexbox;display:flex;width:200px}#wp-admin-bar-elementor_edit_page .elementor-edit-link-title{white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden;width:100%}#wp-admin-bar-elementor_edit_page .elementor-edit-link-type{background:#55595c;font-size:11px;line-height:9px;margin-top:6px;padding:4px 8px;border-radius:3px}#wp-admin-bar-elementor_inspector>.ab-item:before{content:"\f348";top:2px}#wpadminbar *{font-style:normal}.page-template-elementor_canvas.elementor-page:before{display:none}.elementor-post__thumbnail__link{-webkit-transition:none;-o-transition:none;transition:none}#left-area ul.elementor-icon-list-items,.elementor-edit-area .elementor-element ul.elementor-icon-list-items,.elementor .elementor-element ul.elementor-icon-list-items{padding:0}.e--ua-appleWebkit.rtl{--flex-right:flex-start}.e--ua-appleWebkit .elementor-share-buttons--align-right,.e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-right{--justify-content:var(--flex-right,flex-end)}.e--ua-appleWebkit .elementor-share-buttons--align-center,.e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-center{--justify-content:center}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-center .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-justify .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-right .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-center .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-right .elementor-grid{width:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:var(--justify-content,space-between);-ms-flex-pack:var(--justify-content,space-between);justify-content:var(--justify-content,space-between);margin-left:calc(-.5 * var(--grid-column-gap));margin-right:calc(-.5 * var(--grid-column-gap))}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-center .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-justify .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-right .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-center .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-right .elementor-grid-item{margin-left:calc(.5 * var(--grid-column-gap));margin-right:calc(.5 * var(--grid-column-gap))}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-left .elementor-grid{display:inline-block}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-left .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-left .elementor-grid-item{margin-left:0;margin-right:0}@media (max-width:ELEMENTOR_SCREEN_TABLET_MAX){.e--ua-appleWebkit .elementor-share-buttons-tablet--align-right,.e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-tablet-right{--justify-content:var(--flex-right,flex-end)}.e--ua-appleWebkit .elementor-share-buttons-tablet--align-center,.e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-tablet-center{--justify-content:center}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-center .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-justify .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-right .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-center .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-right .elementor-grid{width:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:var(--justify-content,space-between);-ms-flex-pack:var(--justify-content,space-between);justify-content:var(--justify-content,space-between);margin-left:calc(-.5 * var(--grid-column-gap));margin-right:calc(-.5 * var(--grid-column-gap))}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-center .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-justify .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-right .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-center .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-right .elementor-grid-item{margin-left:calc(.5 * var(--grid-column-gap));margin-right:calc(.5 * var(--grid-column-gap))}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-tablet--align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-left .elementor-grid{display:inline-block}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-tablet--align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-tablet--align-left .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-left .elementor-grid-item{margin-left:0;margin-right:0}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.e--ua-appleWebkit .elementor-share-buttons-mobile--align-right,.e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-mobile-right{--justify-content:var(--flex-right,flex-end)}.e--ua-appleWebkit .elementor-share-buttons-mobile--align-center,.e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-mobile-center{--justify-content:center}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-center .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-justify .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-right .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-center .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-right .elementor-grid{width:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:var(--justify-content,space-between);-ms-flex-pack:var(--justify-content,space-between);justify-content:var(--justify-content,space-between);margin-left:calc(-.5 * var(--grid-column-gap));margin-right:calc(-.5 * var(--grid-column-gap))}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-center .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-justify .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-right .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-center .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-right .elementor-grid-item{margin-left:calc(.5 * var(--grid-column-gap));margin-right:calc(.5 * var(--grid-column-gap))}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-mobile--align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-left .elementor-grid{display:inline-block}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-mobile--align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-mobile--align-left .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-left .elementor-grid-item{margin-left:0;margin-right:0}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor .elementor-hidden-mobile,.elementor .elementor-hidden-phone{display:none}}@media (min-width:ELEMENTOR_SCREEN_MOBILE_EXTRA_MIN) and (max-width:ELEMENTOR_SCREEN_MOBILE_EXTRA_MAX){.elementor .elementor-hidden-mobile_extra{display:none}}@media (min-width:ELEMENTOR_SCREEN_TABLET_MIN) and (max-width:ELEMENTOR_SCREEN_TABLET_MAX){.elementor .elementor-hidden-tablet{display:none}}@media (min-width:ELEMENTOR_SCREEN_TABLET_EXTRA_MIN) and (max-width:ELEMENTOR_SCREEN_TABLET_EXTRA_MAX){.elementor .elementor-hidden-tablet_extra{display:none}}@media (min-width:ELEMENTOR_SCREEN_LAPTOP_MIN) and (max-width:ELEMENTOR_SCREEN_LAPTOP_MAX){.elementor .elementor-hidden-laptop{display:none}}@media (min-width:ELEMENTOR_SCREEN_DESKTOP_MIN) and (max-width:ELEMENTOR_SCREEN_DESKTOP_MAX){.elementor .elementor-hidden-desktop{display:none}}@media (min-width:ELEMENTOR_SCREEN_WIDESCREEN_MIN){.elementor .elementor-hidden-widescreen{display:none}}.elementor-widget-text-path{font-size:20px;text-align:var(--alignment,right)}.elementor-widget-text-path svg{width:var(--width);max-width:100%;height:auto;overflow:visible;word-spacing:var(--word-spacing);-webkit-transform:rotate(var(--rotate,0)) scaleX(var(--scale-x,1)) scaleY(var(--scale-y,1));-ms-transform:rotate(var(--rotate,0)) scaleX(var(--scale-x,1)) scaleY(var(--scale-y,1));transform:rotate(var(--rotate,0)) scaleX(var(--scale-x,1)) scaleY(var(--scale-y,1))}.elementor-widget-text-path svg path{vector-effect:non-scaling-stroke;fill:var(--path-fill,transparent);stroke:var(--stroke-color,transparent);stroke-width:var(--stroke-width,1px);-webkit-transition:var(--stroke-transition) stroke,var(--stroke-transition) fill;-o-transition:var(--stroke-transition) stroke,var(--stroke-transition) fill;transition:var(--stroke-transition) stroke,var(--stroke-transition) fill}.elementor-widget-text-path svg:hover path{--path-fill:var(--path-fill-hover);--stroke-color:var(--stroke-color-hover);--stroke-width:var(--stroke-width-hover)}.elementor-widget-text-path svg text{--fill:var(--text-color);fill:var(--fill);direction:var(--direction,rtl);-webkit-transition:var(--transition) stroke,var(--transition) stroke-width,var(--transition) fill;-o-transition:var(--transition) stroke,var(--transition) stroke-width,var(--transition) fill;transition:var(--transition) stroke,var(--transition) stroke-width,var(--transition) fill}.elementor-widget-text-path svg text:hover{--color:var(--text-color-hover,var(--text-color));--fill:var(--color);color:var(--color)}.elementor-accordion{text-align:right}.elementor-accordion .elementor-accordion-item{border:1px solid #d4d4d4}.elementor-accordion .elementor-accordion-item+.elementor-accordion-item{border-top:none}.elementor-accordion .elementor-tab-title{margin:0;padding:15px 20px;font-weight:700;line-height:1;cursor:pointer;outline:none}.elementor-accordion .elementor-tab-title .elementor-accordion-icon{display:inline-block;width:1.5em}.elementor-accordion .elementor-tab-title .elementor-accordion-icon svg{width:1em;height:1em}.elementor-accordion .elementor-tab-title .elementor-accordion-icon.elementor-accordion-icon-right{float:right;text-align:right}.elementor-accordion .elementor-tab-title .elementor-accordion-icon.elementor-accordion-icon-left{float:left;text-align:left}.elementor-accordion .elementor-tab-title .elementor-accordion-icon .elementor-accordion-icon-closed{display:block}.elementor-accordion .elementor-tab-title .elementor-accordion-icon .elementor-accordion-icon-opened,.elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon-closed{display:none}.elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon-opened{display:block}.elementor-accordion .elementor-tab-content{display:none;padding:15px 20px;border-top:1px solid #d4d4d4}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-accordion .elementor-tab-title{padding:12px 15px}.elementor-accordion .elementor-tab-title .elementor-accordion-icon{width:1.2em}.elementor-accordion .elementor-tab-content{padding:7px 15px}}.elementor-alert{padding:15px;border-left:5px solid transparent;position:relative;text-align:right}.elementor-alert .elementor-alert-title{display:block;font-weight:700}.elementor-alert .elementor-alert-description{font-size:13px}.elementor-alert button.elementor-alert-dismiss{position:absolute;left:10px;top:10px;padding:3px;font-size:20px;line-height:1;background:transparent;color:inherit;border:none;cursor:pointer}.elementor-alert.elementor-alert-info{color:#31708f;background-color:#d9edf7;border-color:#bcdff1}.elementor-alert.elementor-alert-success{color:#3c763d;background-color:#dff0d8;border-color:#cae6be}.elementor-alert.elementor-alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#f9f0c3}.elementor-alert.elementor-alert-danger{color:#a94442;background-color:#f2dede;border-color:#e8c4c4}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-alert{padding:10px}.elementor-alert button.elementor-alert-dismiss{right:7px;top:7px}}.elementor-counter .elementor-counter-number-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;font-size:69px;font-weight:600;line-height:1}.elementor-counter .elementor-counter-number-prefix,.elementor-counter .elementor-counter-number-suffix{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;white-space:pre-wrap}.elementor-counter .elementor-counter-number-prefix{text-align:left}.elementor-counter .elementor-counter-number-suffix{text-align:right}.elementor-counter .elementor-counter-title{text-align:center;font-size:19px;font-weight:400;line-height:2.5}.elementor-widget-divider{--divider-border-style:none;--divider-border-width:1px;--divider-color:#2c2c2c;--divider-icon-size:20px;--divider-element-spacing:10px;--divider-pattern-height:24px;--divider-pattern-size:20px;--divider-pattern-url:none;--divider-pattern-repeat:repeat-x}.elementor-widget-divider .elementor-divider{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-divider .elementor-divider__text{font-size:15px;line-height:1;max-width:95%}.elementor-widget-divider .elementor-divider__element{margin:0 var(--divider-element-spacing);-ms-flex-negative:0;flex-shrink:0}.elementor-widget-divider .elementor-icon{font-size:var(--divider-icon-size)}.elementor-widget-divider .elementor-divider-separator{display:-webkit-box;display:-ms-flexbox;display:flex;margin:0;direction:ltr}.elementor-widget-divider--view-line_icon .elementor-divider-separator,.elementor-widget-divider--view-line_text .elementor-divider-separator{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-widget-divider--view-line_icon .elementor-divider-separator:after,.elementor-widget-divider--view-line_icon .elementor-divider-separator:before,.elementor-widget-divider--view-line_text .elementor-divider-separator:after,.elementor-widget-divider--view-line_text .elementor-divider-separator:before{display:block;content:"";border-bottom:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;border-top:var(--divider-border-width) var(--divider-border-style) var(--divider-color)}.elementor-widget-divider--element-align-left .elementor-divider .elementor-divider-separator>.elementor-divider__svg:first-of-type{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;-ms-flex-negative:100;flex-shrink:100}.elementor-widget-divider--element-align-left .elementor-divider-separator:before{content:none}.elementor-widget-divider--element-align-left .elementor-divider__element{margin-left:0}.elementor-widget-divider--element-align-right .elementor-divider .elementor-divider-separator>.elementor-divider__svg:last-of-type{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;-ms-flex-negative:100;flex-shrink:100}.elementor-widget-divider--element-align-right .elementor-divider-separator:after{content:none}.elementor-widget-divider--element-align-right .elementor-divider__element{margin-right:0}.elementor-widget-divider:not(.elementor-widget-divider--view-line_text):not(.elementor-widget-divider--view-line_icon) .elementor-divider-separator{border-top:var(--divider-border-width) var(--divider-border-style) var(--divider-color)}.elementor-widget-divider--separator-type-pattern{--divider-border-style:none}.elementor-widget-divider--separator-type-pattern.elementor-widget-divider--view-line .elementor-divider-separator,.elementor-widget-divider--separator-type-pattern:not(.elementor-widget-divider--view-line) .elementor-divider-separator:after,.elementor-widget-divider--separator-type-pattern:not(.elementor-widget-divider--view-line) .elementor-divider-separator:before,.elementor-widget-divider--separator-type-pattern:not([class*=elementor-widget-divider--view]) .elementor-divider-separator{width:100%;min-height:var(--divider-pattern-height);-webkit-mask-size:var(--divider-pattern-size) 100%;mask-size:var(--divider-pattern-size) 100%;-webkit-mask-repeat:var(--divider-pattern-repeat);mask-repeat:var(--divider-pattern-repeat);background-color:var(--divider-color);-webkit-mask-image:var(--divider-pattern-url);mask-image:var(--divider-pattern-url)}.elementor-widget-divider--no-spacing{--divider-pattern-size:auto}.elementor-widget-divider--bg-round{--divider-pattern-repeat:round}.rtl .elementor-widget-divider .elementor-divider__text{direction:rtl}.elementor-image-gallery .gallery-item{display:inline-block;text-align:center;vertical-align:top;width:100%;max-width:100%;margin:0 auto}.elementor-image-gallery .gallery-item img{margin:0 auto}.elementor-image-gallery .gallery-item .gallery-caption{margin:0}.elementor-image-gallery figure img{display:block}.elementor-image-gallery figure figcaption{width:100%}.gallery-spacing-custom .elementor-image-gallery .gallery-icon{padding:0}@media (min-width:ELEMENTOR_SCREEN_MOBILE_NEXT){.elementor-image-gallery .gallery-columns-2 .gallery-item{max-width:50%}.elementor-image-gallery .gallery-columns-3 .gallery-item{max-width:33.33%}.elementor-image-gallery .gallery-columns-4 .gallery-item{max-width:25%}.elementor-image-gallery .gallery-columns-5 .gallery-item{max-width:20%}.elementor-image-gallery .gallery-columns-6 .gallery-item{max-width:16.666%}.elementor-image-gallery .gallery-columns-7 .gallery-item{max-width:14.28%}.elementor-image-gallery .gallery-columns-8 .gallery-item{max-width:12.5%}.elementor-image-gallery .gallery-columns-9 .gallery-item{max-width:11.11%}.elementor-image-gallery .gallery-columns-10 .gallery-item{max-width:10%}}@media (min-width:480px) and (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-image-gallery .gallery.gallery-columns-2 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-3 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-4 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-5 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-6 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-7 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-8 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-9 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-10 .gallery-item{max-width:50%}}@media (max-width:479px){.elementor-image-gallery .gallery.gallery-columns-2 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-3 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-4 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-5 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-6 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-7 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-8 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-9 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-10 .gallery-item{max-width:100%}}.elementor-widget-google_maps .elementor-widget-container{overflow:hidden}.elementor-widget-google_maps iframe{height:300px}.elementor-heading-title{padding:0;margin:0;line-height:1}.elementor-widget-heading .elementor-heading-title[class*=elementor-size-]>a{color:inherit;font-size:inherit;line-height:inherit}.elementor-widget-heading .elementor-heading-title.elementor-size-small{font-size:15px}.elementor-widget-heading .elementor-heading-title.elementor-size-medium{font-size:19px}.elementor-widget-heading .elementor-heading-title.elementor-size-large{font-size:29px}.elementor-widget-heading .elementor-heading-title.elementor-size-xl{font-size:39px}.elementor-widget-heading .elementor-heading-title.elementor-size-xxl{font-size:59px}.elementor-widget-icon-box .elementor-icon-box-wrapper{display:block;text-align:center}.elementor-widget-icon-box .elementor-icon-box-icon{margin-bottom:var(--icon-box-icon-margin,15px);margin-right:auto;margin-left:auto}@media (min-width:ELEMENTOR_SCREEN_MOBILE_NEXT){.elementor-widget-icon-box.elementor-vertical-align-top .elementor-icon-box-wrapper{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.elementor-widget-icon-box.elementor-vertical-align-middle .elementor-icon-box-wrapper{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-widget-icon-box.elementor-vertical-align-bottom .elementor-icon-box-wrapper{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}}.elementor-widget-icon-box.elementor-position-left .elementor-icon-box-wrapper,.elementor-widget-icon-box.elementor-position-right .elementor-icon-box-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-icon-box.elementor-position-left .elementor-icon-box-icon,.elementor-widget-icon-box.elementor-position-right .elementor-icon-box-icon{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.elementor-widget-icon-box.elementor-position-right .elementor-icon-box-wrapper{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.elementor-widget-icon-box.elementor-position-right .elementor-icon-box-icon{margin-left:var(--icon-box-icon-margin,15px);margin-right:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-position-left .elementor-icon-box-wrapper{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-widget-icon-box.elementor-position-left .elementor-icon-box-icon{margin-right:var(--icon-box-icon-margin,15px);margin-left:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-position-top .elementor-icon-box-wrapper{display:block;text-align:center;-webkit-box-orient:unset;-webkit-box-direction:unset;-ms-flex-direction:unset;flex-direction:unset}.elementor-widget-icon-box.elementor-position-top .elementor-icon-box-icon{margin-bottom:var(--icon-box-icon-margin,15px);margin-right:auto;margin-left:auto}@media (min-width:ELEMENTOR_SCREEN_WIDESCREEN_MIN){.elementor-widget-icon-box.elementor-widescreen-position-left .elementor-icon-box-wrapper,.elementor-widget-icon-box.elementor-widescreen-position-right .elementor-icon-box-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-icon-box.elementor-widescreen-position-left .elementor-icon-box-icon,.elementor-widget-icon-box.elementor-widescreen-position-right .elementor-icon-box-icon{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.elementor-widget-icon-box.elementor-widescreen-position-right .elementor-icon-box-wrapper{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.elementor-widget-icon-box.elementor-widescreen-position-right .elementor-icon-box-icon{margin-left:var(--icon-box-icon-margin,15px);margin-right:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-widescreen-position-left .elementor-icon-box-wrapper{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-widget-icon-box.elementor-widescreen-position-left .elementor-icon-box-icon{margin-right:var(--icon-box-icon-margin,15px);margin-left:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-widescreen-position-top .elementor-icon-box-wrapper{display:block;text-align:center;-webkit-box-orient:unset;-webkit-box-direction:unset;-ms-flex-direction:unset;flex-direction:unset}.elementor-widget-icon-box.elementor-widescreen-position-top .elementor-icon-box-icon{margin-bottom:var(--icon-box-icon-margin,15px);margin-right:auto;margin-left:auto}}@media (max-width:ELEMENTOR_SCREEN_LAPTOP_MAX){.elementor-widget-icon-box.elementor-laptop-position-left .elementor-icon-box-wrapper,.elementor-widget-icon-box.elementor-laptop-position-right .elementor-icon-box-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-icon-box.elementor-laptop-position-left .elementor-icon-box-icon,.elementor-widget-icon-box.elementor-laptop-position-right .elementor-icon-box-icon{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.elementor-widget-icon-box.elementor-laptop-position-right .elementor-icon-box-wrapper{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.elementor-widget-icon-box.elementor-laptop-position-right .elementor-icon-box-icon{margin-left:var(--icon-box-icon-margin,15px);margin-right:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-laptop-position-left .elementor-icon-box-wrapper{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-widget-icon-box.elementor-laptop-position-left .elementor-icon-box-icon{margin-right:var(--icon-box-icon-margin,15px);margin-left:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-laptop-position-top .elementor-icon-box-wrapper{display:block;text-align:center;-webkit-box-orient:unset;-webkit-box-direction:unset;-ms-flex-direction:unset;flex-direction:unset}.elementor-widget-icon-box.elementor-laptop-position-top .elementor-icon-box-icon{margin-bottom:var(--icon-box-icon-margin,15px);margin-right:auto;margin-left:auto}}@media (max-width:ELEMENTOR_SCREEN_TABLET_EXTRA_MAX){.elementor-widget-icon-box.elementor-tablet_extra-position-left .elementor-icon-box-wrapper,.elementor-widget-icon-box.elementor-tablet_extra-position-right .elementor-icon-box-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-icon-box.elementor-tablet_extra-position-left .elementor-icon-box-icon,.elementor-widget-icon-box.elementor-tablet_extra-position-right .elementor-icon-box-icon{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.elementor-widget-icon-box.elementor-tablet_extra-position-right .elementor-icon-box-wrapper{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.elementor-widget-icon-box.elementor-tablet_extra-position-right .elementor-icon-box-icon{margin-left:var(--icon-box-icon-margin,15px);margin-right:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-tablet_extra-position-left .elementor-icon-box-wrapper{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-widget-icon-box.elementor-tablet_extra-position-left .elementor-icon-box-icon{margin-right:var(--icon-box-icon-margin,15px);margin-left:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-tablet_extra-position-top .elementor-icon-box-wrapper{display:block;text-align:center;-webkit-box-orient:unset;-webkit-box-direction:unset;-ms-flex-direction:unset;flex-direction:unset}.elementor-widget-icon-box.elementor-tablet_extra-position-top .elementor-icon-box-icon{margin-bottom:var(--icon-box-icon-margin,15px);margin-right:auto;margin-left:auto}}@media (max-width:ELEMENTOR_SCREEN_TABLET_MAX){.elementor-widget-icon-box.elementor-tablet-position-left .elementor-icon-box-wrapper,.elementor-widget-icon-box.elementor-tablet-position-right .elementor-icon-box-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-icon-box.elementor-tablet-position-left .elementor-icon-box-icon,.elementor-widget-icon-box.elementor-tablet-position-right .elementor-icon-box-icon{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.elementor-widget-icon-box.elementor-tablet-position-right .elementor-icon-box-wrapper{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.elementor-widget-icon-box.elementor-tablet-position-right .elementor-icon-box-icon{margin-left:var(--icon-box-icon-margin,15px);margin-right:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-tablet-position-left .elementor-icon-box-wrapper{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-widget-icon-box.elementor-tablet-position-left .elementor-icon-box-icon{margin-right:var(--icon-box-icon-margin,15px);margin-left:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-tablet-position-top .elementor-icon-box-wrapper{display:block;text-align:center;-webkit-box-orient:unset;-webkit-box-direction:unset;-ms-flex-direction:unset;flex-direction:unset}.elementor-widget-icon-box.elementor-tablet-position-top .elementor-icon-box-icon{margin-bottom:var(--icon-box-icon-margin,15px);margin-right:auto;margin-left:auto}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_EXTRA_MAX){.elementor-widget-icon-box.elementor-mobile_extra-position-left .elementor-icon-box-wrapper,.elementor-widget-icon-box.elementor-mobile_extra-position-right .elementor-icon-box-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-icon-box.elementor-mobile_extra-position-left .elementor-icon-box-icon,.elementor-widget-icon-box.elementor-mobile_extra-position-right .elementor-icon-box-icon{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.elementor-widget-icon-box.elementor-mobile_extra-position-right .elementor-icon-box-wrapper{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.elementor-widget-icon-box.elementor-mobile_extra-position-right .elementor-icon-box-icon{margin-left:var(--icon-box-icon-margin,15px);margin-right:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-mobile_extra-position-left .elementor-icon-box-wrapper{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-widget-icon-box.elementor-mobile_extra-position-left .elementor-icon-box-icon{margin-right:var(--icon-box-icon-margin,15px);margin-left:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-mobile_extra-position-top .elementor-icon-box-wrapper{display:block;text-align:center;-webkit-box-orient:unset;-webkit-box-direction:unset;-ms-flex-direction:unset;flex-direction:unset}.elementor-widget-icon-box.elementor-mobile_extra-position-top .elementor-icon-box-icon{margin-bottom:var(--icon-box-icon-margin,15px);margin-right:auto;margin-left:auto}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-widget-icon-box.elementor-mobile-position-left .elementor-icon-box-wrapper,.elementor-widget-icon-box.elementor-mobile-position-right .elementor-icon-box-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-icon-box.elementor-mobile-position-left .elementor-icon-box-icon,.elementor-widget-icon-box.elementor-mobile-position-right .elementor-icon-box-icon{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.elementor-widget-icon-box.elementor-mobile-position-right .elementor-icon-box-wrapper{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.elementor-widget-icon-box.elementor-mobile-position-right .elementor-icon-box-icon{margin-left:var(--icon-box-icon-margin,15px);margin-right:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-mobile-position-left .elementor-icon-box-wrapper{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-widget-icon-box.elementor-mobile-position-left .elementor-icon-box-icon{margin-right:var(--icon-box-icon-margin,15px);margin-left:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-mobile-position-top .elementor-icon-box-wrapper{display:block;text-align:center;-webkit-box-orient:unset;-webkit-box-direction:unset;-ms-flex-direction:unset;flex-direction:unset}.elementor-widget-icon-box.elementor-mobile-position-top .elementor-icon-box-icon{margin-bottom:var(--icon-box-icon-margin,15px);margin-right:auto;margin-left:auto}.elementor-widget-icon-box.elementor-position-left .elementor-icon-box-icon,.elementor-widget-icon-box.elementor-position-right .elementor-icon-box-icon{display:block;-webkit-box-flex:unset;-ms-flex:unset;flex:unset}}.elementor-widget-icon-box .elementor-icon-box-title a{color:inherit}.elementor-widget-icon-box .elementor-icon-box-content{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-widget-icon-box .elementor-icon-box-description{margin:0}.elementor-widget.elementor-icon-list--layout-inline .elementor-widget-container{overflow:hidden}.elementor-widget .elementor-icon-list-items.elementor-inline-items{margin-right:-8px;margin-left:-8px}.elementor-widget .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-right:8px;margin-left:8px}.elementor-widget .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{width:auto;left:auto;right:auto;position:relative;height:100%;border-top:0;border-bottom:0;border-right:0;border-left-width:1px;border-style:solid;left:-8px}.elementor-widget .elementor-icon-list-items{list-style-type:none;margin:0;padding:0}.elementor-widget .elementor-icon-list-item{margin:0;padding:0;position:relative}.elementor-widget .elementor-icon-list-item:after{position:absolute;bottom:0;width:100%}.elementor-widget .elementor-icon-list-item,.elementor-widget .elementor-icon-list-item a{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:inherit}.elementor-widget .elementor-icon-list-icon+.elementor-icon-list-text{-ms-flex-item-align:center;align-self:center;padding-right:5px}.elementor-widget .elementor-icon-list-icon{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget .elementor-icon-list-icon svg{width:var(--e-icon-list-icon-size,1em);height:var(--e-icon-list-icon-size,1em)}.elementor-widget .elementor-icon-list-icon i{width:1.25em;font-size:var(--e-icon-list-icon-size)}.elementor-widget.elementor-widget-icon-list .elementor-icon-list-icon{text-align:var(--e-icon-list-icon-align)}.elementor-widget.elementor-widget-icon-list .elementor-icon-list-icon svg{margin:var(--e-icon-list-icon-margin,0 calc(var(--e-icon-list-icon-size, 1em) * .25) 0 0)}.elementor-widget.elementor-list-item-link-full_width a{width:100%}.elementor-widget.elementor-align-center .elementor-icon-list-item,.elementor-widget.elementor-align-center .elementor-icon-list-item a{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-align-center .elementor-icon-list-item:after{margin:auto}.elementor-widget.elementor-align-center .elementor-inline-items{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-align-left .elementor-icon-list-item,.elementor-widget.elementor-align-left .elementor-icon-list-item a{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:left}.elementor-widget.elementor-align-left .elementor-inline-items{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-widget.elementor-align-right .elementor-icon-list-item,.elementor-widget.elementor-align-right .elementor-icon-list-item a{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:right}.elementor-widget.elementor-align-right .elementor-icon-list-items{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-widget:not(.elementor-align-right) .elementor-icon-list-item:after{right:0}.elementor-widget:not(.elementor-align-left) .elementor-icon-list-item:after{left:0}@media (min-width:ELEMENTOR_SCREEN_WIDESCREEN_MIN){.elementor-widget.elementor-widescreen-align-center .elementor-icon-list-item,.elementor-widget.elementor-widescreen-align-center .elementor-icon-list-item a{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-widescreen-align-center .elementor-icon-list-item:after{margin:auto}.elementor-widget.elementor-widescreen-align-center .elementor-inline-items{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-widescreen-align-left .elementor-icon-list-item,.elementor-widget.elementor-widescreen-align-left .elementor-icon-list-item a{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:left}.elementor-widget.elementor-widescreen-align-left .elementor-inline-items{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-widget.elementor-widescreen-align-right .elementor-icon-list-item,.elementor-widget.elementor-widescreen-align-right .elementor-icon-list-item a{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:right}.elementor-widget.elementor-widescreen-align-right .elementor-icon-list-items{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-widget:not(.elementor-widescreen-align-right) .elementor-icon-list-item:after{right:0}.elementor-widget:not(.elementor-widescreen-align-left) .elementor-icon-list-item:after{left:0}}@media (max-width:ELEMENTOR_SCREEN_LAPTOP_MAX){.elementor-widget.elementor-laptop-align-center .elementor-icon-list-item,.elementor-widget.elementor-laptop-align-center .elementor-icon-list-item a{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-laptop-align-center .elementor-icon-list-item:after{margin:auto}.elementor-widget.elementor-laptop-align-center .elementor-inline-items{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-laptop-align-left .elementor-icon-list-item,.elementor-widget.elementor-laptop-align-left .elementor-icon-list-item a{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:left}.elementor-widget.elementor-laptop-align-left .elementor-inline-items{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-widget.elementor-laptop-align-right .elementor-icon-list-item,.elementor-widget.elementor-laptop-align-right .elementor-icon-list-item a{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:right}.elementor-widget.elementor-laptop-align-right .elementor-icon-list-items{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-widget:not(.elementor-laptop-align-right) .elementor-icon-list-item:after{right:0}.elementor-widget:not(.elementor-laptop-align-left) .elementor-icon-list-item:after{left:0}}@media (max-width:ELEMENTOR_SCREEN_TABLET_EXTRA_MAX){.elementor-widget.elementor-tablet_extra-align-center .elementor-icon-list-item,.elementor-widget.elementor-tablet_extra-align-center .elementor-icon-list-item a{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-tablet_extra-align-center .elementor-icon-list-item:after{margin:auto}.elementor-widget.elementor-tablet_extra-align-center .elementor-inline-items{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-tablet_extra-align-left .elementor-icon-list-item,.elementor-widget.elementor-tablet_extra-align-left .elementor-icon-list-item a{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:left}.elementor-widget.elementor-tablet_extra-align-left .elementor-inline-items{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-widget.elementor-tablet_extra-align-right .elementor-icon-list-item,.elementor-widget.elementor-tablet_extra-align-right .elementor-icon-list-item a{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:right}.elementor-widget.elementor-tablet_extra-align-right .elementor-icon-list-items{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-widget:not(.elementor-tablet_extra-align-right) .elementor-icon-list-item:after{right:0}.elementor-widget:not(.elementor-tablet_extra-align-left) .elementor-icon-list-item:after{left:0}}@media (max-width:ELEMENTOR_SCREEN_TABLET_MAX){.elementor-widget.elementor-tablet-align-center .elementor-icon-list-item,.elementor-widget.elementor-tablet-align-center .elementor-icon-list-item a{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-tablet-align-center .elementor-icon-list-item:after{margin:auto}.elementor-widget.elementor-tablet-align-center .elementor-inline-items{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-tablet-align-left .elementor-icon-list-item,.elementor-widget.elementor-tablet-align-left .elementor-icon-list-item a{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:left}.elementor-widget.elementor-tablet-align-left .elementor-inline-items{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-widget.elementor-tablet-align-right .elementor-icon-list-item,.elementor-widget.elementor-tablet-align-right .elementor-icon-list-item a{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:right}.elementor-widget.elementor-tablet-align-right .elementor-icon-list-items{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-widget:not(.elementor-tablet-align-right) .elementor-icon-list-item:after{right:0}.elementor-widget:not(.elementor-tablet-align-left) .elementor-icon-list-item:after{left:0}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_EXTRA_MAX){.elementor-widget.elementor-mobile_extra-align-center .elementor-icon-list-item,.elementor-widget.elementor-mobile_extra-align-center .elementor-icon-list-item a{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-mobile_extra-align-center .elementor-icon-list-item:after{margin:auto}.elementor-widget.elementor-mobile_extra-align-center .elementor-inline-items{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-mobile_extra-align-left .elementor-icon-list-item,.elementor-widget.elementor-mobile_extra-align-left .elementor-icon-list-item a{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:left}.elementor-widget.elementor-mobile_extra-align-left .elementor-inline-items{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-widget.elementor-mobile_extra-align-right .elementor-icon-list-item,.elementor-widget.elementor-mobile_extra-align-right .elementor-icon-list-item a{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:right}.elementor-widget.elementor-mobile_extra-align-right .elementor-icon-list-items{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-widget:not(.elementor-mobile_extra-align-right) .elementor-icon-list-item:after{right:0}.elementor-widget:not(.elementor-mobile_extra-align-left) .elementor-icon-list-item:after{left:0}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-widget.elementor-mobile-align-center .elementor-icon-list-item,.elementor-widget.elementor-mobile-align-center .elementor-icon-list-item a{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-mobile-align-center .elementor-icon-list-item:after{margin:auto}.elementor-widget.elementor-mobile-align-center .elementor-inline-items{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-mobile-align-left .elementor-icon-list-item,.elementor-widget.elementor-mobile-align-left .elementor-icon-list-item a{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:left}.elementor-widget.elementor-mobile-align-left .elementor-inline-items{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-widget.elementor-mobile-align-right .elementor-icon-list-item,.elementor-widget.elementor-mobile-align-right .elementor-icon-list-item a{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:right}.elementor-widget.elementor-mobile-align-right .elementor-icon-list-items{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-widget:not(.elementor-mobile-align-right) .elementor-icon-list-item:after{right:0}.elementor-widget:not(.elementor-mobile-align-left) .elementor-icon-list-item:after{left:0}}.elementor-widget-image{text-align:center}.elementor-widget-image a{display:inline-block}.elementor-widget-image a img[src$=".svg"]{width:48px}.elementor-widget-image img{vertical-align:middle;display:inline-block}.elementor-widget-image-box .elementor-image-box-content{width:100%}@media (min-width:ELEMENTOR_SCREEN_MOBILE_NEXT){.elementor-widget-image-box.elementor-position-left .elementor-image-box-wrapper,.elementor-widget-image-box.elementor-position-right .elementor-image-box-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-image-box.elementor-position-right .elementor-image-box-wrapper{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.elementor-widget-image-box.elementor-position-left .elementor-image-box-wrapper{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-widget-image-box.elementor-position-top .elementor-image-box-img{margin:auto}.elementor-widget-image-box.elementor-vertical-align-top .elementor-image-box-wrapper{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.elementor-widget-image-box.elementor-vertical-align-middle .elementor-image-box-wrapper{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-widget-image-box.elementor-vertical-align-bottom .elementor-image-box-wrapper{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-widget-image-box .elementor-image-box-img{margin-left:auto!important;margin-right:auto!important;margin-bottom:15px}}.elementor-widget-image-box .elementor-image-box-img{display:inline-block}.elementor-widget-image-box .elementor-image-box-title a{color:inherit}.elementor-widget-image-box .elementor-image-box-wrapper{text-align:center}.elementor-widget-image-box .elementor-image-box-description{margin:0}.elementor-widget-image-carousel .swiper-container{position:static}.elementor-widget-image-carousel .swiper-container .swiper-slide figure{line-height:inherit}.elementor-widget-image-carousel .swiper-slide{text-align:center}.elementor-image-carousel-wrapper:not(.swiper-container-initialized) .swiper-slide{max-width:calc(100% / var(--e-image-carousel-slides-to-show, 3))}body.elementor-page .elementor-widget-menu-anchor{margin-bottom:0}.elementor-widget-progress{text-align:right}.elementor-progress-wrapper{position:relative;background-color:#eee;color:#fff;height:100%;border-radius:2px}.elementor-progress-bar{display:-webkit-box;display:-ms-flexbox;display:flex;background-color:#818a91;width:0;font-size:11px;height:30px;line-height:30px;border-radius:2px;-webkit-transition:width 1s ease-in-out;-o-transition:width 1s ease-in-out;transition:width 1s ease-in-out}.elementor-progress-text{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden;padding-right:15px}.elementor-progress-percentage{padding-left:15px}.elementor-widget-progress .elementor-progress-wrapper.progress-info .elementor-progress-bar{background-color:#5bc0de}.elementor-widget-progress .elementor-progress-wrapper.progress-success .elementor-progress-bar{background-color:#5cb85c}.elementor-widget-progress .elementor-progress-wrapper.progress-warning .elementor-progress-bar{background-color:#f0ad4e}.elementor-widget-progress .elementor-progress-wrapper.progress-danger .elementor-progress-bar{background-color:#d9534f}.elementor-progress .elementor-title{display:block}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-progress-text{padding-right:10px}}.elementor-widget-social-icons.elementor-grid-0 .elementor-widget-container,.elementor-widget-social-icons.elementor-grid-mobile-0 .elementor-widget-container,.elementor-widget-social-icons.elementor-grid-tablet-0 .elementor-widget-container{line-height:1;font-size:0}.elementor-widget-social-icons:not(.elementor-grid-0):not(.elementor-grid-tablet-0):not(.elementor-grid-mobile-0) .elementor-grid{display:inline-grid}.elementor-widget-social-icons .elementor-grid{grid-column-gap:var(--grid-column-gap,5px);grid-row-gap:var(--grid-row-gap,5px);grid-template-columns:var(--grid-template-columns);-webkit-box-pack:var(--justify-content,center);-ms-flex-pack:var(--justify-content,center);justify-content:var(--justify-content,center);justify-items:var(--justify-content,center)}.elementor-icon.elementor-social-icon{font-size:var(--icon-size,25px);line-height:var(--icon-size,25px);width:calc(var(--icon-size, 25px) + (2 * var(--icon-padding, .5em)));height:calc(var(--icon-size, 25px) + (2 * var(--icon-padding, .5em)))}.elementor-social-icon{--e-social-icon-icon-color:#fff;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;background-color:#818a91;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;text-align:center;cursor:pointer}.elementor-social-icon i{color:var(--e-social-icon-icon-color)}.elementor-social-icon svg{fill:var(--e-social-icon-icon-color)}.elementor-social-icon:last-child{margin:0}.elementor-social-icon:hover{opacity:.9;color:#fff}.elementor-social-icon-android{background-color:#a4c639}.elementor-social-icon-apple{background-color:#999}.elementor-social-icon-behance{background-color:#1769ff}.elementor-social-icon-bitbucket{background-color:#205081}.elementor-social-icon-codepen{background-color:#000}.elementor-social-icon-delicious{background-color:#39f}.elementor-social-icon-deviantart{background-color:#05cc47}.elementor-social-icon-digg{background-color:#005be2}.elementor-social-icon-dribbble{background-color:#ea4c89}.elementor-social-icon-elementor{background-color:#d30c5c}.elementor-social-icon-envelope{background-color:#ea4335}.elementor-social-icon-facebook,.elementor-social-icon-facebook-f{background-color:#3b5998}.elementor-social-icon-flickr{background-color:#0063dc}.elementor-social-icon-foursquare{background-color:#2d5be3}.elementor-social-icon-free-code-camp,.elementor-social-icon-freecodecamp{background-color:#006400}.elementor-social-icon-github{background-color:#333}.elementor-social-icon-gitlab{background-color:#e24329}.elementor-social-icon-globe{background-color:#818a91}.elementor-social-icon-google-plus,.elementor-social-icon-google-plus-g{background-color:#dd4b39}.elementor-social-icon-houzz{background-color:#7ac142}.elementor-social-icon-instagram{background-color:#262626}.elementor-social-icon-jsfiddle{background-color:#487aa2}.elementor-social-icon-link{background-color:#818a91}.elementor-social-icon-linkedin,.elementor-social-icon-linkedin-in{background-color:#0077b5}.elementor-social-icon-medium{background-color:#00ab6b}.elementor-social-icon-meetup{background-color:#ec1c40}.elementor-social-icon-mixcloud{background-color:#273a4b}.elementor-social-icon-odnoklassniki{background-color:#f4731c}.elementor-social-icon-pinterest{background-color:#bd081c}.elementor-social-icon-product-hunt{background-color:#da552f}.elementor-social-icon-reddit{background-color:#ff4500}.elementor-social-icon-rss{background-color:#f26522}.elementor-social-icon-shopping-cart{background-color:#4caf50}.elementor-social-icon-skype{background-color:#00aff0}.elementor-social-icon-slideshare{background-color:#0077b5}.elementor-social-icon-snapchat{background-color:#fffc00}.elementor-social-icon-soundcloud{background-color:#f80}.elementor-social-icon-spotify{background-color:#2ebd59}.elementor-social-icon-stack-overflow{background-color:#fe7a15}.elementor-social-icon-steam{background-color:#00adee}.elementor-social-icon-stumbleupon{background-color:#eb4924}.elementor-social-icon-telegram{background-color:#2ca5e0}.elementor-social-icon-thumb-tack{background-color:#1aa1d8}.elementor-social-icon-tripadvisor{background-color:#589442}.elementor-social-icon-tumblr{background-color:#35465c}.elementor-social-icon-twitch{background-color:#6441a5}.elementor-social-icon-twitter{background-color:#1da1f2}.elementor-social-icon-viber{background-color:#665cac}.elementor-social-icon-vimeo{background-color:#1ab7ea}.elementor-social-icon-vk{background-color:#45668e}.elementor-social-icon-weibo{background-color:#dd2430}.elementor-social-icon-weixin{background-color:#31a918}.elementor-social-icon-whatsapp{background-color:#25d366}.elementor-social-icon-wordpress{background-color:#21759b}.elementor-social-icon-xing{background-color:#026466}.elementor-social-icon-yelp{background-color:#af0606}.elementor-social-icon-youtube{background-color:#cd201f}.elementor-social-icon-500px{background-color:#0099e5}.elementor-shape-rounded .elementor-icon.elementor-social-icon{border-radius:10%}.elementor-shape-circle .elementor-icon.elementor-social-icon{border-radius:50%}.e-container.e-container--row .elementor-spacer-inner{width:var(--spacer-size)}.e-container.e-container--column .elementor-spacer-inner,.elementor-column .elementor-spacer-inner{height:var(--spacer-size)}.elementor-star-rating{color:#ccd6df;font-family:eicons;display:inline-block}.elementor-star-rating i{display:inline-block;position:relative;font-style:normal;cursor:default}.elementor-star-rating i:before{content:"\e934";display:block;font-size:inherit;font-family:inherit;position:absolute;overflow:hidden;color:#f0ad4e;top:0;right:0}.elementor-star-rating .elementor-star-empty:before{content:none}.elementor-star-rating .elementor-star-1:before{width:10%}.elementor-star-rating .elementor-star-2:before{width:20%}.elementor-star-rating .elementor-star-3:before{width:30%}.elementor-star-rating .elementor-star-4:before{width:40%}.elementor-star-rating .elementor-star-5:before{width:50%}.elementor-star-rating .elementor-star-6:before{width:60%}.elementor-star-rating .elementor-star-7:before{width:70%}.elementor-star-rating .elementor-star-8:before{width:80%}.elementor-star-rating .elementor-star-9:before{width:90%}.elementor-star-rating__wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-star-rating__title{margin-left:10px}.elementor-star-rating--align-right .elementor-star-rating__wrapper{text-align:right;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-star-rating--align-left .elementor-star-rating__wrapper{text-align:left;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-star-rating--align-center .elementor-star-rating__wrapper{text-align:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-star-rating--align-justify .elementor-star-rating__title{margin-left:auto}@media (max-width:ELEMENTOR_SCREEN_TABLET_MAX){.elementor-star-rating-tablet--align-right .elementor-star-rating__wrapper{text-align:right;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-star-rating-tablet--align-left .elementor-star-rating__wrapper{text-align:left;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-star-rating-tablet--align-center .elementor-star-rating__wrapper{text-align:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-star-rating-tablet--align-justify .elementor-star-rating__title{margin-left:auto}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-star-rating-mobile--align-right .elementor-star-rating__wrapper{text-align:right;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-star-rating-mobile--align-left .elementor-star-rating__wrapper{text-align:left;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-star-rating-mobile--align-center .elementor-star-rating__wrapper{text-align:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-star-rating-mobile--align-justify .elementor-star-rating__title{margin-left:auto}}.last-star{letter-spacing:0}.elementor--star-style-star_unicode .elementor-star-rating{font-family:Arial,Helvetica,sans-serif}.elementor--star-style-star_unicode .elementor-star-rating i:not(.elementor-star-empty):before{content:"★"}.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tabs-wrapper{width:25%;-ms-flex-negative:0;flex-shrink:0}.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tab-desktop-title.elementor-active{border-left-style:none}.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tab-desktop-title.elementor-active:after,.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tab-desktop-title.elementor-active:before{height:999em;width:0;left:0;border-left-style:solid}.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tab-desktop-title.elementor-active:before{top:0;-webkit-transform:translateY(-100%);-ms-transform:translateY(-100%);transform:translateY(-100%)}.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tab-desktop-title.elementor-active:after{top:100%}.elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title{display:table-cell}.elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title.elementor-active{border-bottom-style:none}.elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title.elementor-active:after,.elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title.elementor-active:before{bottom:0;height:0;width:999em;border-bottom-style:solid}.elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title.elementor-active:before{right:100%}.elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title.elementor-active:after{left:100%}.elementor-widget-tabs .elementor-tab-content,.elementor-widget-tabs .elementor-tab-title,.elementor-widget-tabs .elementor-tab-title:after,.elementor-widget-tabs .elementor-tab-title:before,.elementor-widget-tabs .elementor-tabs-content-wrapper{border:1px #d4d4d4}.elementor-widget-tabs .elementor-tabs{text-align:right}.elementor-widget-tabs .elementor-tabs-wrapper{overflow:hidden}.elementor-widget-tabs .elementor-tab-title{cursor:pointer;outline:var(--focus-outline,none)}.elementor-widget-tabs .elementor-tab-desktop-title{position:relative;padding:20px 25px;font-weight:700;line-height:1;border:solid transparent}.elementor-widget-tabs .elementor-tab-desktop-title.elementor-active{border-color:#d4d4d4}.elementor-widget-tabs .elementor-tab-desktop-title.elementor-active:after,.elementor-widget-tabs .elementor-tab-desktop-title.elementor-active:before{display:block;content:"";position:absolute}.elementor-widget-tabs .elementor-tab-mobile-title{padding:10px;cursor:pointer}.elementor-widget-tabs .elementor-tab-content{padding:20px;display:none}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-tabs .elementor-tab-content,.elementor-tabs .elementor-tab-title{border-style:solid solid none}.elementor-tabs .elementor-tabs-wrapper{display:none}.elementor-tabs .elementor-tabs-content-wrapper{border-bottom-style:solid}.elementor-tabs .elementor-tab-content{padding:10px}}@media (min-width:ELEMENTOR_SCREEN_MOBILE_NEXT){.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tabs{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tabs-wrapper{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tabs-content-wrapper{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;border-style:solid none solid solid}.elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-content{border-style:none solid solid}.elementor-widget-tabs.elementor-tabs-alignment-center .elementor-tabs-wrapper,.elementor-widget-tabs.elementor-tabs-alignment-end .elementor-tabs-wrapper,.elementor-widget-tabs.elementor-tabs-alignment-stretch .elementor-tabs-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-tabs.elementor-tabs-alignment-center .elementor-tabs-wrapper{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget-tabs.elementor-tabs-alignment-end .elementor-tabs-wrapper{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-widget-tabs.elementor-tabs-alignment-stretch.elementor-tabs-view-horizontal .elementor-tab-title{width:100%}.elementor-widget-tabs.elementor-tabs-alignment-stretch.elementor-tabs-view-vertical .elementor-tab-title{height:100%}.elementor-tabs .elementor-tab-mobile-title{display:none}}.elementor-testimonial-wrapper{overflow:hidden;text-align:center}.elementor-testimonial-wrapper .elementor-testimonial-content{font-size:1.3em;margin-bottom:20px}.elementor-testimonial-wrapper .elementor-testimonial-name{line-height:1.5;display:block}.elementor-testimonial-wrapper .elementor-testimonial-job{font-size:.85em;display:block}.elementor-testimonial-wrapper .elementor-testimonial-meta{width:100%;line-height:1}.elementor-testimonial-wrapper .elementor-testimonial-meta-inner{display:inline-block}.elementor-testimonial-wrapper .elementor-testimonial-meta .elementor-testimonial-details,.elementor-testimonial-wrapper .elementor-testimonial-meta .elementor-testimonial-image{display:table-cell;vertical-align:middle}.elementor-testimonial-wrapper .elementor-testimonial-meta .elementor-testimonial-image img{width:60px;height:60px;border-radius:50%;-o-object-fit:cover;object-fit:cover;max-width:none}.elementor-testimonial-wrapper .elementor-testimonial-meta.elementor-testimonial-image-position-aside .elementor-testimonial-image{padding-left:15px}.elementor-testimonial-wrapper .elementor-testimonial-meta.elementor-testimonial-image-position-aside .elementor-testimonial-details{text-align:right}.elementor-testimonial-wrapper .elementor-testimonial-meta.elementor-testimonial-image-position-top .elementor-testimonial-details,.elementor-testimonial-wrapper .elementor-testimonial-meta.elementor-testimonial-image-position-top .elementor-testimonial-image{display:block}.elementor-testimonial-wrapper .elementor-testimonial-meta.elementor-testimonial-image-position-top .elementor-testimonial-image{margin-bottom:20px}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:#818a91;color:#fff}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap{color:#818a91;border:3px solid;background-color:transparent}.elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap{margin-top:8px}.elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap-letter{width:1em;height:1em}.elementor-widget-text-editor .elementor-drop-cap{float:right;text-align:center;line-height:1;font-size:50px}.elementor-widget-text-editor .elementor-drop-cap-letter{display:inline-block}.elementor-toggle{text-align:right}.elementor-toggle .elementor-tab-title{font-weight:700;line-height:1;margin:0;padding:15px;border-bottom:1px solid #d4d4d4;cursor:pointer;outline:none}.elementor-toggle .elementor-tab-title .elementor-toggle-icon{display:inline-block;width:1em}.elementor-toggle .elementor-tab-title .elementor-toggle-icon svg{-webkit-margin-start:-5px;margin-inline-start:-5px;width:1em;height:1em}.elementor-toggle .elementor-tab-title .elementor-toggle-icon.elementor-toggle-icon-right{float:right;text-align:right}.elementor-toggle .elementor-tab-title .elementor-toggle-icon.elementor-toggle-icon-left{float:left;text-align:left}.elementor-toggle .elementor-tab-title .elementor-toggle-icon .elementor-toggle-icon-closed{display:block}.elementor-toggle .elementor-tab-title .elementor-toggle-icon .elementor-toggle-icon-opened{display:none}.elementor-toggle .elementor-tab-title.elementor-active{border-bottom:none}.elementor-toggle .elementor-tab-title.elementor-active .elementor-toggle-icon-closed{display:none}.elementor-toggle .elementor-tab-title.elementor-active .elementor-toggle-icon-opened{display:block}.elementor-toggle .elementor-tab-content{padding:15px;border-bottom:1px solid #d4d4d4;display:none}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-toggle .elementor-tab-title{padding:12px}.elementor-toggle .elementor-tab-content{padding:12px 10px}}.elementor-widget-video .elementor-widget-container{overflow:hidden;-webkit-transform:translateZ(0);transform:translateZ(0)}.elementor-widget-video .elementor-open-inline .elementor-custom-embed-image-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-size:cover;background-position:50%}.elementor-widget-video .elementor-custom-embed-image-overlay{cursor:pointer;text-align:center}.elementor-widget-video .elementor-custom-embed-image-overlay:hover .elementor-custom-embed-play i{opacity:1}.elementor-widget-video .elementor-custom-embed-image-overlay img{display:block;width:100%}.elementor-widget-video .e-hosted-video .elementor-video{-o-object-fit:cover;object-fit:cover}assets/css/templates/frontend-legacy.min.css000064400000033437152377341010015226 0ustar00.elementor-bc-flex-widget .elementor-section-content-top>.elementor-container>.elementor-row>.elementor-column>.elementor-column-wrap{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.elementor-bc-flex-widget .elementor-section-content-middle>.elementor-container>.elementor-row>.elementor-column>.elementor-column-wrap{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-bc-flex-widget .elementor-section-content-bottom>.elementor-container>.elementor-row>.elementor-column>.elementor-column-wrap{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.elementor-column-gap-narrow>.elementor-row>.elementor-column>.elementor-element-populated>.elementor-widget-wrap{padding:5px}.elementor-column-gap-default>.elementor-row>.elementor-column>.elementor-element-populated>.elementor-widget-wrap{padding:10px}.elementor-column-gap-extended>.elementor-row>.elementor-column>.elementor-element-populated>.elementor-widget-wrap{padding:15px}.elementor-column-gap-wide>.elementor-row>.elementor-column>.elementor-element-populated>.elementor-widget-wrap{padding:20px}.elementor-column-gap-wider>.elementor-row>.elementor-column>.elementor-element-populated>.elementor-widget-wrap{padding:30px}@media (min-width:ELEMENTOR_SCREEN_WIDESCREEN_MIN){.elementor-reverse-widescreen>.elementor-container>.elementor-row>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-widescreen>.elementor-container>.elementor-row>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-widescreen>.elementor-container>.elementor-row>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-widescreen>.elementor-container>.elementor-row>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-widescreen>.elementor-container>.elementor-row>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-widescreen>.elementor-container>.elementor-row>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-widescreen>.elementor-container>.elementor-row>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-widescreen>.elementor-container>.elementor-row>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-widescreen>.elementor-container>.elementor-row>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-widescreen>.elementor-container>.elementor-row>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:ELEMENTOR_SCREEN_TABLET_NEXT) and (max-width:ELEMENTOR_SCREEN_LAPTOP_MAX){.elementor-reverse-laptop>.elementor-container>.elementor-row>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:ELEMENTOR_SCREEN_TABLET_EXTRA_NEXT) and (max-width:ELEMENTOR_SCREEN_LAPTOP_MAX){.elementor-reverse-laptop>.elementor-container>.elementor-row>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:ELEMENTOR_SCREEN_TABLET_NEXT) and (max-width:ELEMENTOR_SCREEN_TABLET_EXTRA_MAX){.elementor-reverse-laptop>.elementor-container>.elementor-row>:first-child,.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(2),.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(3),.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(4),.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(5),.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(6),.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(7),.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(8),.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(9),.elementor-reverse-laptop>.elementor-container>.elementor-row>:nth-child(10){-webkit-box-ordinal-group:initial;-ms-flex-order:initial;order:0}.elementor-reverse-tablet_extra>.elementor-container>.elementor-row>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-tablet_extra>.elementor-container>.elementor-row>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-tablet_extra>.elementor-container>.elementor-row>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-tablet_extra>.elementor-container>.elementor-row>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-tablet_extra>.elementor-container>.elementor-row>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-tablet_extra>.elementor-container>.elementor-row>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-tablet_extra>.elementor-container>.elementor-row>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-tablet_extra>.elementor-container>.elementor-row>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-tablet_extra>.elementor-container>.elementor-row>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-tablet_extra>.elementor-container>.elementor-row>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:ELEMENTOR_SCREEN_MOBILE_NEXT) and (max-width:ELEMENTOR_SCREEN_TABLET_MAX){.elementor-reverse-tablet>.elementor-container>.elementor-row>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:ELEMENTOR_SCREEN_MOBILE_EXTRA_NEXT) and (max-width:ELEMENTOR_SCREEN_TABLET_MAX){.elementor-reverse-tablet>.elementor-container>.elementor-row>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:ELEMENTOR_SCREEN_MOBILE_NEXT) and (max-width:ELEMENTOR_SCREEN_MOBILE_EXTRA_MAX){.elementor-reverse-tablet>.elementor-container>.elementor-row>:first-child,.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(2),.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(3),.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(4),.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(5),.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(6),.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(7),.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(8),.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(9),.elementor-reverse-tablet>.elementor-container>.elementor-row>:nth-child(10){-webkit-box-ordinal-group:initial;-ms-flex-order:initial;order:0}.elementor-reverse-mobile_extra>.elementor-container>.elementor-row>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-mobile_extra>.elementor-container>.elementor-row>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-mobile_extra>.elementor-container>.elementor-row>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-mobile_extra>.elementor-container>.elementor-row>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-mobile_extra>.elementor-container>.elementor-row>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-mobile_extra>.elementor-container>.elementor-row>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-mobile_extra>.elementor-container>.elementor-row>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-mobile_extra>.elementor-container>.elementor-row>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-mobile_extra>.elementor-container>.elementor-row>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-mobile_extra>.elementor-container>.elementor-row>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-reverse-mobile>.elementor-container>.elementor-row>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-mobile>.elementor-container>.elementor-row>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-mobile>.elementor-container>.elementor-row>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-mobile>.elementor-container>.elementor-row>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-mobile>.elementor-container>.elementor-row>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-mobile>.elementor-container>.elementor-row>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-mobile>.elementor-container>.elementor-row>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-mobile>.elementor-container>.elementor-row>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-mobile>.elementor-container>.elementor-row>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-mobile>.elementor-container>.elementor-row>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.elementor-column{width:100%}}assets/css/templates/widget-progress-rtl.min.css000064400000002403152377341010016056 0ustar00.elementor-widget-progress{text-align:right}.elementor-progress-wrapper{position:relative;background-color:#eee;color:#fff;height:100%;border-radius:2px}.elementor-progress-bar{display:-webkit-box;display:-ms-flexbox;display:flex;background-color:#818a91;width:0;font-size:11px;height:30px;line-height:30px;border-radius:2px;-webkit-transition:width 1s ease-in-out;-o-transition:width 1s ease-in-out;transition:width 1s ease-in-out}.elementor-progress-text{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden;padding-right:15px}.elementor-progress-percentage{padding-left:15px}.elementor-widget-progress .elementor-progress-wrapper.progress-info .elementor-progress-bar{background-color:#5bc0de}.elementor-widget-progress .elementor-progress-wrapper.progress-success .elementor-progress-bar{background-color:#5cb85c}.elementor-widget-progress .elementor-progress-wrapper.progress-warning .elementor-progress-bar{background-color:#f0ad4e}.elementor-widget-progress .elementor-progress-wrapper.progress-danger .elementor-progress-bar{background-color:#d9534f}.elementor-progress .elementor-title{display:block}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-progress-text{padding-right:10px}}assets/css/templates/widget-toggle-rtl.min.css000064400000002563152377341010015502 0ustar00.elementor-toggle{text-align:right}.elementor-toggle .elementor-tab-title{font-weight:700;line-height:1;margin:0;padding:15px;border-bottom:1px solid #d4d4d4;cursor:pointer;outline:none}.elementor-toggle .elementor-tab-title .elementor-toggle-icon{display:inline-block;width:1em}.elementor-toggle .elementor-tab-title .elementor-toggle-icon svg{-webkit-margin-start:-5px;margin-inline-start:-5px;width:1em;height:1em}.elementor-toggle .elementor-tab-title .elementor-toggle-icon.elementor-toggle-icon-right{float:right;text-align:right}.elementor-toggle .elementor-tab-title .elementor-toggle-icon.elementor-toggle-icon-left{float:left;text-align:left}.elementor-toggle .elementor-tab-title .elementor-toggle-icon .elementor-toggle-icon-closed{display:block}.elementor-toggle .elementor-tab-title .elementor-toggle-icon .elementor-toggle-icon-opened{display:none}.elementor-toggle .elementor-tab-title.elementor-active{border-bottom:none}.elementor-toggle .elementor-tab-title.elementor-active .elementor-toggle-icon-closed{display:none}.elementor-toggle .elementor-tab-title.elementor-active .elementor-toggle-icon-opened{display:block}.elementor-toggle .elementor-tab-content{padding:15px;border-bottom:1px solid #d4d4d4;display:none}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-toggle .elementor-tab-title{padding:12px}.elementor-toggle .elementor-tab-content{padding:12px 10px}}assets/css/templates/widget-accordion.min.css000064400000003020152377341010015350 0ustar00.elementor-accordion{text-align:left}.elementor-accordion .elementor-accordion-item{border:1px solid #d4d4d4}.elementor-accordion .elementor-accordion-item+.elementor-accordion-item{border-top:none}.elementor-accordion .elementor-tab-title{margin:0;padding:15px 20px;font-weight:700;line-height:1;cursor:pointer;outline:none}.elementor-accordion .elementor-tab-title .elementor-accordion-icon{display:inline-block;width:1.5em}.elementor-accordion .elementor-tab-title .elementor-accordion-icon svg{width:1em;height:1em}.elementor-accordion .elementor-tab-title .elementor-accordion-icon.elementor-accordion-icon-right{float:right;text-align:right}.elementor-accordion .elementor-tab-title .elementor-accordion-icon.elementor-accordion-icon-left{float:left;text-align:left}.elementor-accordion .elementor-tab-title .elementor-accordion-icon .elementor-accordion-icon-closed{display:block}.elementor-accordion .elementor-tab-title .elementor-accordion-icon .elementor-accordion-icon-opened,.elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon-closed{display:none}.elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon-opened{display:block}.elementor-accordion .elementor-tab-content{display:none;padding:15px 20px;border-top:1px solid #d4d4d4}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-accordion .elementor-tab-title{padding:12px 15px}.elementor-accordion .elementor-tab-title .elementor-accordion-icon{width:1.2em}.elementor-accordion .elementor-tab-content{padding:7px 15px}}assets/css/templates/frontend-legacy.css000064400000030710152377341010014433 0ustar00.elementor-bc-flex-widget .elementor-section-content-top > .elementor-container > .elementor-row > .elementor-column > .elementor-column-wrap { align-items: flex-start; } .elementor-bc-flex-widget .elementor-section-content-middle > .elementor-container > .elementor-row > .elementor-column > .elementor-column-wrap { align-items: center; } .elementor-bc-flex-widget .elementor-section-content-bottom > .elementor-container > .elementor-row > .elementor-column > .elementor-column-wrap { align-items: flex-end; } .elementor-column-gap-narrow > .elementor-row > .elementor-column > .elementor-element-populated > .elementor-widget-wrap { padding: 5px; } .elementor-column-gap-default > .elementor-row > .elementor-column > .elementor-element-populated > .elementor-widget-wrap { padding: 10px; } .elementor-column-gap-extended > .elementor-row > .elementor-column > .elementor-element-populated > .elementor-widget-wrap { padding: 15px; } .elementor-column-gap-wide > .elementor-row > .elementor-column > .elementor-element-populated > .elementor-widget-wrap { padding: 20px; } .elementor-column-gap-wider > .elementor-row > .elementor-column > .elementor-element-populated > .elementor-widget-wrap { padding: 30px; } @media (min-width: ELEMENTOR_SCREEN_WIDESCREEN_MIN) { .elementor-reverse-widescreen > .elementor-container > .elementor-row > :nth-child(1) { order: 10; } .elementor-reverse-widescreen > .elementor-container > .elementor-row > :nth-child(2) { order: 9; } .elementor-reverse-widescreen > .elementor-container > .elementor-row > :nth-child(3) { order: 8; } .elementor-reverse-widescreen > .elementor-container > .elementor-row > :nth-child(4) { order: 7; } .elementor-reverse-widescreen > .elementor-container > .elementor-row > :nth-child(5) { order: 6; } .elementor-reverse-widescreen > .elementor-container > .elementor-row > :nth-child(6) { order: 5; } .elementor-reverse-widescreen > .elementor-container > .elementor-row > :nth-child(7) { order: 4; } .elementor-reverse-widescreen > .elementor-container > .elementor-row > :nth-child(8) { order: 3; } .elementor-reverse-widescreen > .elementor-container > .elementor-row > :nth-child(9) { order: 2; } .elementor-reverse-widescreen > .elementor-container > .elementor-row > :nth-child(10) { order: 1; } } @media (min-width: ELEMENTOR_SCREEN_TABLET_NEXT) and (max-width: ELEMENTOR_SCREEN_LAPTOP_MAX) { .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(1) { order: 10; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(2) { order: 9; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(3) { order: 8; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(4) { order: 7; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(5) { order: 6; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(6) { order: 5; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(7) { order: 4; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(8) { order: 3; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(9) { order: 2; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(10) { order: 1; } } @media (min-width: ELEMENTOR_SCREEN_TABLET_EXTRA_NEXT) and (max-width: ELEMENTOR_SCREEN_LAPTOP_MAX) { .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(1) { order: 10; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(2) { order: 9; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(3) { order: 8; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(4) { order: 7; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(5) { order: 6; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(6) { order: 5; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(7) { order: 4; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(8) { order: 3; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(9) { order: 2; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(10) { order: 1; } } @media (min-width: ELEMENTOR_SCREEN_TABLET_NEXT) and (max-width: ELEMENTOR_SCREEN_TABLET_EXTRA_MAX) { .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(1) { order: initial; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(2) { order: initial; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(3) { order: initial; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(4) { order: initial; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(5) { order: initial; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(6) { order: initial; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(7) { order: initial; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(8) { order: initial; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(9) { order: initial; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(10) { order: initial; } .elementor-reverse-tablet_extra > .elementor-container > .elementor-row > :nth-child(1) { order: 10; } .elementor-reverse-tablet_extra > .elementor-container > .elementor-row > :nth-child(2) { order: 9; } .elementor-reverse-tablet_extra > .elementor-container > .elementor-row > :nth-child(3) { order: 8; } .elementor-reverse-tablet_extra > .elementor-container > .elementor-row > :nth-child(4) { order: 7; } .elementor-reverse-tablet_extra > .elementor-container > .elementor-row > :nth-child(5) { order: 6; } .elementor-reverse-tablet_extra > .elementor-container > .elementor-row > :nth-child(6) { order: 5; } .elementor-reverse-tablet_extra > .elementor-container > .elementor-row > :nth-child(7) { order: 4; } .elementor-reverse-tablet_extra > .elementor-container > .elementor-row > :nth-child(8) { order: 3; } .elementor-reverse-tablet_extra > .elementor-container > .elementor-row > :nth-child(9) { order: 2; } .elementor-reverse-tablet_extra > .elementor-container > .elementor-row > :nth-child(10) { order: 1; } } @media (min-width: ELEMENTOR_SCREEN_MOBILE_NEXT) and (max-width: ELEMENTOR_SCREEN_TABLET_MAX) { .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(1) { order: 10; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(2) { order: 9; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(3) { order: 8; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(4) { order: 7; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(5) { order: 6; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(6) { order: 5; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(7) { order: 4; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(8) { order: 3; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(9) { order: 2; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(10) { order: 1; } } @media (min-width: ELEMENTOR_SCREEN_MOBILE_EXTRA_NEXT) and (max-width: ELEMENTOR_SCREEN_TABLET_MAX) { .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(1) { order: 10; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(2) { order: 9; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(3) { order: 8; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(4) { order: 7; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(5) { order: 6; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(6) { order: 5; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(7) { order: 4; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(8) { order: 3; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(9) { order: 2; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(10) { order: 1; } } @media (min-width: ELEMENTOR_SCREEN_MOBILE_NEXT) and (max-width: ELEMENTOR_SCREEN_MOBILE_EXTRA_MAX) { .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(1) { order: initial; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(2) { order: initial; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(3) { order: initial; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(4) { order: initial; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(5) { order: initial; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(6) { order: initial; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(7) { order: initial; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(8) { order: initial; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(9) { order: initial; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(10) { order: initial; } .elementor-reverse-mobile_extra > .elementor-container > .elementor-row > :nth-child(1) { order: 10; } .elementor-reverse-mobile_extra > .elementor-container > .elementor-row > :nth-child(2) { order: 9; } .elementor-reverse-mobile_extra > .elementor-container > .elementor-row > :nth-child(3) { order: 8; } .elementor-reverse-mobile_extra > .elementor-container > .elementor-row > :nth-child(4) { order: 7; } .elementor-reverse-mobile_extra > .elementor-container > .elementor-row > :nth-child(5) { order: 6; } .elementor-reverse-mobile_extra > .elementor-container > .elementor-row > :nth-child(6) { order: 5; } .elementor-reverse-mobile_extra > .elementor-container > .elementor-row > :nth-child(7) { order: 4; } .elementor-reverse-mobile_extra > .elementor-container > .elementor-row > :nth-child(8) { order: 3; } .elementor-reverse-mobile_extra > .elementor-container > .elementor-row > :nth-child(9) { order: 2; } .elementor-reverse-mobile_extra > .elementor-container > .elementor-row > :nth-child(10) { order: 1; } } @media (max-width: ELEMENTOR_SCREEN_MOBILE_MAX) { .elementor-reverse-mobile > .elementor-container > .elementor-row > :nth-child(1) { order: 10; } .elementor-reverse-mobile > .elementor-container > .elementor-row > :nth-child(2) { order: 9; } .elementor-reverse-mobile > .elementor-container > .elementor-row > :nth-child(3) { order: 8; } .elementor-reverse-mobile > .elementor-container > .elementor-row > :nth-child(4) { order: 7; } .elementor-reverse-mobile > .elementor-container > .elementor-row > :nth-child(5) { order: 6; } .elementor-reverse-mobile > .elementor-container > .elementor-row > :nth-child(6) { order: 5; } .elementor-reverse-mobile > .elementor-container > .elementor-row > :nth-child(7) { order: 4; } .elementor-reverse-mobile > .elementor-container > .elementor-row > :nth-child(8) { order: 3; } .elementor-reverse-mobile > .elementor-container > .elementor-row > :nth-child(9) { order: 2; } .elementor-reverse-mobile > .elementor-container > .elementor-row > :nth-child(10) { order: 1; } .elementor-column { width: 100%; } } /*# sourceMappingURL=frontend-legacy.css.map */assets/css/templates/widget-star-rating.min.css000064400000006122152377341010015650 0ustar00@charset "UTF-8";.elementor-star-rating{color:#ccd6df;font-family:eicons;display:inline-block}.elementor-star-rating i{display:inline-block;position:relative;font-style:normal;cursor:default}.elementor-star-rating i:before{content:"\e934";display:block;font-size:inherit;font-family:inherit;position:absolute;overflow:hidden;color:#f0ad4e;top:0;left:0}.elementor-star-rating .elementor-star-empty:before{content:none}.elementor-star-rating .elementor-star-1:before{width:10%}.elementor-star-rating .elementor-star-2:before{width:20%}.elementor-star-rating .elementor-star-3:before{width:30%}.elementor-star-rating .elementor-star-4:before{width:40%}.elementor-star-rating .elementor-star-5:before{width:50%}.elementor-star-rating .elementor-star-6:before{width:60%}.elementor-star-rating .elementor-star-7:before{width:70%}.elementor-star-rating .elementor-star-8:before{width:80%}.elementor-star-rating .elementor-star-9:before{width:90%}.elementor-star-rating__wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-star-rating__title{margin-right:10px}.elementor-star-rating--align-right .elementor-star-rating__wrapper{text-align:right;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-star-rating--align-left .elementor-star-rating__wrapper{text-align:left;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-star-rating--align-center .elementor-star-rating__wrapper{text-align:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-star-rating--align-justify .elementor-star-rating__title{margin-right:auto}@media (max-width:ELEMENTOR_SCREEN_TABLET_MAX){.elementor-star-rating-tablet--align-right .elementor-star-rating__wrapper{text-align:right;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-star-rating-tablet--align-left .elementor-star-rating__wrapper{text-align:left;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-star-rating-tablet--align-center .elementor-star-rating__wrapper{text-align:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-star-rating-tablet--align-justify .elementor-star-rating__title{margin-right:auto}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-star-rating-mobile--align-right .elementor-star-rating__wrapper{text-align:right;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-star-rating-mobile--align-left .elementor-star-rating__wrapper{text-align:left;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-star-rating-mobile--align-center .elementor-star-rating__wrapper{text-align:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-star-rating-mobile--align-justify .elementor-star-rating__title{margin-right:auto}}.last-star{letter-spacing:0}.elementor--star-style-star_unicode .elementor-star-rating{font-family:Arial,Helvetica,sans-serif}.elementor--star-style-star_unicode .elementor-star-rating i:not(.elementor-star-empty):before{content:"★"}assets/css/templates/widget-alert-rtl.min.css000064400000001704152377341010015324 0ustar00.elementor-alert{padding:15px;border-left:5px solid transparent;position:relative;text-align:right}.elementor-alert .elementor-alert-title{display:block;font-weight:700}.elementor-alert .elementor-alert-description{font-size:13px}.elementor-alert button.elementor-alert-dismiss{position:absolute;left:10px;top:10px;padding:3px;font-size:20px;line-height:1;background:transparent;color:inherit;border:none;cursor:pointer}.elementor-alert.elementor-alert-info{color:#31708f;background-color:#d9edf7;border-color:#bcdff1}.elementor-alert.elementor-alert-success{color:#3c763d;background-color:#dff0d8;border-color:#cae6be}.elementor-alert.elementor-alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#f9f0c3}.elementor-alert.elementor-alert-danger{color:#a94442;background-color:#f2dede;border-color:#e8c4c4}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-alert{padding:10px}.elementor-alert button.elementor-alert-dismiss{right:7px;top:7px}}assets/css/templates/widget-icon-box-rtl.min.css000064400000031507152377341010015737 0ustar00.elementor-widget-icon-box .elementor-icon-box-wrapper{display:block;text-align:center}.elementor-widget-icon-box .elementor-icon-box-icon{margin-bottom:var(--icon-box-icon-margin,15px);margin-right:auto;margin-left:auto}@media (min-width:ELEMENTOR_SCREEN_MOBILE_NEXT){.elementor-widget-icon-box.elementor-vertical-align-top .elementor-icon-box-wrapper{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.elementor-widget-icon-box.elementor-vertical-align-middle .elementor-icon-box-wrapper{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-widget-icon-box.elementor-vertical-align-bottom .elementor-icon-box-wrapper{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}}.elementor-widget-icon-box.elementor-position-left .elementor-icon-box-wrapper,.elementor-widget-icon-box.elementor-position-right .elementor-icon-box-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-icon-box.elementor-position-left .elementor-icon-box-icon,.elementor-widget-icon-box.elementor-position-right .elementor-icon-box-icon{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.elementor-widget-icon-box.elementor-position-right .elementor-icon-box-wrapper{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.elementor-widget-icon-box.elementor-position-right .elementor-icon-box-icon{margin-left:var(--icon-box-icon-margin,15px);margin-right:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-position-left .elementor-icon-box-wrapper{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-widget-icon-box.elementor-position-left .elementor-icon-box-icon{margin-right:var(--icon-box-icon-margin,15px);margin-left:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-position-top .elementor-icon-box-wrapper{display:block;text-align:center;-webkit-box-orient:unset;-webkit-box-direction:unset;-ms-flex-direction:unset;flex-direction:unset}.elementor-widget-icon-box.elementor-position-top .elementor-icon-box-icon{margin-bottom:var(--icon-box-icon-margin,15px);margin-right:auto;margin-left:auto}@media (min-width:ELEMENTOR_SCREEN_WIDESCREEN_MIN){.elementor-widget-icon-box.elementor-widescreen-position-left .elementor-icon-box-wrapper,.elementor-widget-icon-box.elementor-widescreen-position-right .elementor-icon-box-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-icon-box.elementor-widescreen-position-left .elementor-icon-box-icon,.elementor-widget-icon-box.elementor-widescreen-position-right .elementor-icon-box-icon{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.elementor-widget-icon-box.elementor-widescreen-position-right .elementor-icon-box-wrapper{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.elementor-widget-icon-box.elementor-widescreen-position-right .elementor-icon-box-icon{margin-left:var(--icon-box-icon-margin,15px);margin-right:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-widescreen-position-left .elementor-icon-box-wrapper{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-widget-icon-box.elementor-widescreen-position-left .elementor-icon-box-icon{margin-right:var(--icon-box-icon-margin,15px);margin-left:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-widescreen-position-top .elementor-icon-box-wrapper{display:block;text-align:center;-webkit-box-orient:unset;-webkit-box-direction:unset;-ms-flex-direction:unset;flex-direction:unset}.elementor-widget-icon-box.elementor-widescreen-position-top .elementor-icon-box-icon{margin-bottom:var(--icon-box-icon-margin,15px);margin-right:auto;margin-left:auto}}@media (max-width:ELEMENTOR_SCREEN_LAPTOP_MAX){.elementor-widget-icon-box.elementor-laptop-position-left .elementor-icon-box-wrapper,.elementor-widget-icon-box.elementor-laptop-position-right .elementor-icon-box-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-icon-box.elementor-laptop-position-left .elementor-icon-box-icon,.elementor-widget-icon-box.elementor-laptop-position-right .elementor-icon-box-icon{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.elementor-widget-icon-box.elementor-laptop-position-right .elementor-icon-box-wrapper{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.elementor-widget-icon-box.elementor-laptop-position-right .elementor-icon-box-icon{margin-left:var(--icon-box-icon-margin,15px);margin-right:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-laptop-position-left .elementor-icon-box-wrapper{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-widget-icon-box.elementor-laptop-position-left .elementor-icon-box-icon{margin-right:var(--icon-box-icon-margin,15px);margin-left:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-laptop-position-top .elementor-icon-box-wrapper{display:block;text-align:center;-webkit-box-orient:unset;-webkit-box-direction:unset;-ms-flex-direction:unset;flex-direction:unset}.elementor-widget-icon-box.elementor-laptop-position-top .elementor-icon-box-icon{margin-bottom:var(--icon-box-icon-margin,15px);margin-right:auto;margin-left:auto}}@media (max-width:ELEMENTOR_SCREEN_TABLET_EXTRA_MAX){.elementor-widget-icon-box.elementor-tablet_extra-position-left .elementor-icon-box-wrapper,.elementor-widget-icon-box.elementor-tablet_extra-position-right .elementor-icon-box-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-icon-box.elementor-tablet_extra-position-left .elementor-icon-box-icon,.elementor-widget-icon-box.elementor-tablet_extra-position-right .elementor-icon-box-icon{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.elementor-widget-icon-box.elementor-tablet_extra-position-right .elementor-icon-box-wrapper{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.elementor-widget-icon-box.elementor-tablet_extra-position-right .elementor-icon-box-icon{margin-left:var(--icon-box-icon-margin,15px);margin-right:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-tablet_extra-position-left .elementor-icon-box-wrapper{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-widget-icon-box.elementor-tablet_extra-position-left .elementor-icon-box-icon{margin-right:var(--icon-box-icon-margin,15px);margin-left:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-tablet_extra-position-top .elementor-icon-box-wrapper{display:block;text-align:center;-webkit-box-orient:unset;-webkit-box-direction:unset;-ms-flex-direction:unset;flex-direction:unset}.elementor-widget-icon-box.elementor-tablet_extra-position-top .elementor-icon-box-icon{margin-bottom:var(--icon-box-icon-margin,15px);margin-right:auto;margin-left:auto}}@media (max-width:ELEMENTOR_SCREEN_TABLET_MAX){.elementor-widget-icon-box.elementor-tablet-position-left .elementor-icon-box-wrapper,.elementor-widget-icon-box.elementor-tablet-position-right .elementor-icon-box-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-icon-box.elementor-tablet-position-left .elementor-icon-box-icon,.elementor-widget-icon-box.elementor-tablet-position-right .elementor-icon-box-icon{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.elementor-widget-icon-box.elementor-tablet-position-right .elementor-icon-box-wrapper{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.elementor-widget-icon-box.elementor-tablet-position-right .elementor-icon-box-icon{margin-left:var(--icon-box-icon-margin,15px);margin-right:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-tablet-position-left .elementor-icon-box-wrapper{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-widget-icon-box.elementor-tablet-position-left .elementor-icon-box-icon{margin-right:var(--icon-box-icon-margin,15px);margin-left:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-tablet-position-top .elementor-icon-box-wrapper{display:block;text-align:center;-webkit-box-orient:unset;-webkit-box-direction:unset;-ms-flex-direction:unset;flex-direction:unset}.elementor-widget-icon-box.elementor-tablet-position-top .elementor-icon-box-icon{margin-bottom:var(--icon-box-icon-margin,15px);margin-right:auto;margin-left:auto}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_EXTRA_MAX){.elementor-widget-icon-box.elementor-mobile_extra-position-left .elementor-icon-box-wrapper,.elementor-widget-icon-box.elementor-mobile_extra-position-right .elementor-icon-box-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-icon-box.elementor-mobile_extra-position-left .elementor-icon-box-icon,.elementor-widget-icon-box.elementor-mobile_extra-position-right .elementor-icon-box-icon{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.elementor-widget-icon-box.elementor-mobile_extra-position-right .elementor-icon-box-wrapper{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.elementor-widget-icon-box.elementor-mobile_extra-position-right .elementor-icon-box-icon{margin-left:var(--icon-box-icon-margin,15px);margin-right:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-mobile_extra-position-left .elementor-icon-box-wrapper{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-widget-icon-box.elementor-mobile_extra-position-left .elementor-icon-box-icon{margin-right:var(--icon-box-icon-margin,15px);margin-left:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-mobile_extra-position-top .elementor-icon-box-wrapper{display:block;text-align:center;-webkit-box-orient:unset;-webkit-box-direction:unset;-ms-flex-direction:unset;flex-direction:unset}.elementor-widget-icon-box.elementor-mobile_extra-position-top .elementor-icon-box-icon{margin-bottom:var(--icon-box-icon-margin,15px);margin-right:auto;margin-left:auto}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-widget-icon-box.elementor-mobile-position-left .elementor-icon-box-wrapper,.elementor-widget-icon-box.elementor-mobile-position-right .elementor-icon-box-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-icon-box.elementor-mobile-position-left .elementor-icon-box-icon,.elementor-widget-icon-box.elementor-mobile-position-right .elementor-icon-box-icon{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.elementor-widget-icon-box.elementor-mobile-position-right .elementor-icon-box-wrapper{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.elementor-widget-icon-box.elementor-mobile-position-right .elementor-icon-box-icon{margin-left:var(--icon-box-icon-margin,15px);margin-right:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-mobile-position-left .elementor-icon-box-wrapper{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-widget-icon-box.elementor-mobile-position-left .elementor-icon-box-icon{margin-right:var(--icon-box-icon-margin,15px);margin-left:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-mobile-position-top .elementor-icon-box-wrapper{display:block;text-align:center;-webkit-box-orient:unset;-webkit-box-direction:unset;-ms-flex-direction:unset;flex-direction:unset}.elementor-widget-icon-box.elementor-mobile-position-top .elementor-icon-box-icon{margin-bottom:var(--icon-box-icon-margin,15px);margin-right:auto;margin-left:auto}.elementor-widget-icon-box.elementor-position-left .elementor-icon-box-icon,.elementor-widget-icon-box.elementor-position-right .elementor-icon-box-icon{display:block;-webkit-box-flex:unset;-ms-flex:unset;flex:unset}}.elementor-widget-icon-box .elementor-icon-box-title a{color:inherit}.elementor-widget-icon-box .elementor-icon-box-content{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-widget-icon-box .elementor-icon-box-description{margin:0}assets/css/templates/frontend-rtl.css000064400000475016152377341010014004 0ustar00@charset "UTF-8"; .dialog-widget-content { background-color: #fff; position: absolute; border-radius: 3px; box-shadow: 2px 8px 23px 3px rgba(0, 0, 0, 0.2); overflow: hidden; } .dialog-message { font-size: 12px; line-height: 1.5; box-sizing: border-box; } .dialog-type-lightbox { position: fixed; height: 100%; width: 100%; bottom: 0; left: 0; background-color: rgba(0, 0, 0, 0.8); z-index: 9999; user-select: none; } .dialog-type-lightbox .dialog-widget-content { margin: auto; width: 375px; } .dialog-type-lightbox .dialog-header { font-size: 15px; color: #495157; padding: 30px 0 10px; font-weight: 500; } .dialog-type-lightbox .dialog-message { padding: 0 30px 30px; min-height: 50px; } .dialog-type-lightbox:not(.elementor-popup-modal) .dialog-header, .dialog-type-lightbox:not(.elementor-popup-modal) .dialog-message { text-align: center; } .dialog-type-lightbox .dialog-buttons-wrapper { border-top: 1px solid #e6e9ec; text-align: center; } .dialog-type-lightbox .dialog-buttons-wrapper > .dialog-button { font-family: Roboto, Arial, Helvetica, Verdana, sans-serif; width: 50%; border: none; background: none; color: #6d7882; font-size: 15px; cursor: pointer; padding: 13px 0; outline: 0; } .dialog-type-lightbox .dialog-buttons-wrapper > .dialog-button:hover { background-color: #f4f6f7; } .dialog-type-lightbox .dialog-buttons-wrapper > .dialog-button.dialog-ok { color: #b01b1b; } .dialog-type-lightbox .dialog-buttons-wrapper > .dialog-button.dialog-take_over { color: #39b54a; } .dialog-type-lightbox .dialog-buttons-wrapper > .dialog-button:active { background-color: rgba(230, 233, 236, 0.5); } .dialog-type-lightbox .dialog-buttons-wrapper > .dialog-button::-moz-focus-inner { border: 0; } .dialog-close-button { cursor: pointer; position: absolute; margin-top: 15px; left: 15px; font-size: 15px; line-height: 1; } .dialog-close-button:not(:hover) { opacity: 0.4; } .dialog-alert-widget .dialog-buttons-wrapper > button { width: 100%; } .dialog-confirm-widget .dialog-button:first-child { border-left: 1px solid #e6e9ec; } .dialog-prevent-scroll { overflow: hidden; max-height: 100vh; } @media (min-width: 1024px) { body.admin-bar .dialog-lightbox-widget { height: calc(100vh - 32px); } } @media (max-width: 1024px) { body.admin-bar .dialog-type-lightbox { position: sticky; height: 100vh; } } .elementor-aspect-ratio-219 .elementor-fit-aspect-ratio { padding-bottom: 42.8571%; } .elementor-aspect-ratio-169 .elementor-fit-aspect-ratio { padding-bottom: 56.25%; } .elementor-aspect-ratio-43 .elementor-fit-aspect-ratio { padding-bottom: 75%; } .elementor-aspect-ratio-32 .elementor-fit-aspect-ratio { padding-bottom: 66.6666%; } .elementor-aspect-ratio-11 .elementor-fit-aspect-ratio { padding-bottom: 100%; } .elementor-aspect-ratio-916 .elementor-fit-aspect-ratio { padding-bottom: 177.8%; } .elementor-fit-aspect-ratio { position: relative; height: 0; } .elementor-fit-aspect-ratio iframe { position: absolute; top: 0; left: 0; height: 100%; width: 100%; border: 0; background-color: #000; } .elementor-fit-aspect-ratio video { width: 100%; } .flatpickr-calendar { width: 280px; } .flatpickr-calendar .flatpickr-current-month span.cur-month { font-weight: 300; } .flatpickr-calendar .dayContainer { width: 280px; min-width: 280px; max-width: 280px; } .flatpickr-calendar .flatpickr-days { width: 280px; } .flatpickr-calendar .flatpickr-day { max-width: 37px; height: 37px; line-height: 37px; } .elementor-templates-modal .dialog-widget-content { font-family: Roboto, Arial, Helvetica, Verdana, sans-serif; background-color: #f1f3f5; width: 100%; } @media (max-width: 1439px) { .elementor-templates-modal .dialog-widget-content { max-width: 990px; } } @media (min-width: 1440px) { .elementor-templates-modal .dialog-widget-content { max-width: 1200px; } } .elementor-templates-modal .dialog-header { padding: 0; background-color: #fff; box-shadow: 0 0 8px rgba(0, 0, 0, 0.1); position: relative; z-index: 1; } .elementor-templates-modal .dialog-buttons-wrapper { background-color: #fff; border: none; display: none; justify-content: flex-end; padding: 5px; box-shadow: 0 0 8px rgba(0, 0, 0, 0.1); position: relative; } .elementor-templates-modal .dialog-buttons-wrapper .elementor-button { height: 40px; margin-right: 5px; } .elementor-templates-modal .dialog-buttons-wrapper .elementor-button-success { padding: 12px 36px; color: #fff; width: initial; font-size: 15px; } .elementor-templates-modal .dialog-buttons-wrapper .elementor-button-success:hover { background-color: #39b54a; } .elementor-templates-modal .dialog-message { height: 750px; max-height: 85vh; overflow: auto; padding-top: 25px; } .elementor-templates-modal .dialog-content { height: 100%; } .elementor-templates-modal .dialog-loading { display: none; } .elementor-templates-modal__header { display: flex; align-items: center; justify-content: space-between; height: 50px; } .elementor-templates-modal__header__logo { line-height: 1; text-transform: uppercase; font-weight: bold; cursor: pointer; } .elementor-templates-modal__header__logo-area { text-align: right; padding-right: 15px; } .elementor-templates-modal__header__logo-area > * { display: flex; align-items: center; } .elementor-templates-modal__header__logo__icon-wrapper { margin-left: 10px; font-size: 12px; } .elementor-templates-modal__header__logo__title { padding-top: 2px; } .elementor-templates-modal__header__items-area { display: flex; flex-direction: row-reverse; } .elementor-templates-modal__header__item { position: relative; display: flex; align-items: center; justify-content: center; box-sizing: content-box; } .elementor-templates-modal__header__item > i { font-size: 20px; transition: all 0.3s; cursor: pointer; } .elementor-templates-modal__header__item > i:not(:hover) { color: #a4afb7; } .elementor-templates-modal__header__close--normal { width: 47px; border-right: 1px solid #e6e9ec; } .elementor-templates-modal__header__close--normal i { font-size: 18px; } .elementor-templates-modal__header__close--skip { padding: 10px; padding-right: 20px; margin-left: 10px; color: #fff; background-color: #a4afb7; font-size: 11px; font-weight: normal; line-height: 1; text-transform: uppercase; border-radius: 2px; cursor: pointer; } .elementor-templates-modal__header__close--skip > i { font-size: inherit; padding-right: 10px; margin-right: 15px; border-right: 1px solid; } .elementor-templates-modal__header__close--skip > i:not(:hover) { color: #fff; } .elementor-templates-modal__sidebar { flex-shrink: 0; width: 25%; background-color: rgba(255, 255, 255, 0.3); } .elementor-templates-modal__content { flex-grow: 1; box-shadow: 0 0 13px inset rgba(0, 0, 0, 0.05); } /* Will select next element after last '.elementor-general-section' */ #wpadminbar #wp-admin-bar-elementor_edit_page .elementor-general-section + .elementor-second-section { border-top: 1px solid #464b50; margin-top: 6px; } .elementor-hidden { display: none; } .elementor-screen-only, .screen-reader-text, .screen-reader-text span, .ui-helper-hidden-accessible { position: absolute; top: -10000em; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0; } .elementor-clearfix:after { content: ""; display: block; clear: both; width: 0; height: 0; } .e-logo-wrapper { background: #93003c; display: inline-block; padding: 0.75em; border-radius: 50%; line-height: 1; } .e-logo-wrapper i { color: #fff; font-size: 1em; } #e-enable-unfiltered-files-dialog-import-template .dialog-confirm-ok { color: #39b54a; } #e-enable-unfiltered-files-dialog-import-template .dialog-confirm-cancel { color: #b01b1b; } .elementor { hyphens: manual; } .elementor *, .elementor *:before, .elementor *:after { box-sizing: border-box; } .elementor a { box-shadow: none; text-decoration: none; } .elementor hr { margin: 0; background-color: transparent; } .elementor img { height: auto; max-width: 100%; border: none; border-radius: 0; box-shadow: none; } .elementor .elementor-widget:not(.elementor-widget-text-editor):not(.elementor-widget-theme-post-content) figure { margin: 0; } .elementor embed, .elementor iframe, .elementor object, .elementor video { max-width: 100%; width: 100%; margin: 0; line-height: 1; border: none; } .elementor .elementor-custom-embed { line-height: 0; } .elementor .elementor-background-video-container, .elementor .elementor-background-holder, .elementor .elementor-background { height: 100%; width: 100%; top: 0; left: 0; position: absolute; overflow: hidden; z-index: 0; direction: ltr; } .elementor .elementor-background-video-container { transition: opacity 1s; pointer-events: none; } .elementor .elementor-background-video-container.elementor-loading { opacity: 0; } .elementor .elementor-background-video-embed { max-width: none; } .elementor .elementor-background-video-embed, .elementor .elementor-background-video-hosted { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } .elementor .elementor-background-video { max-width: none; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } .elementor .elementor-html5-video { object-fit: cover; } .elementor .elementor-background-overlay { height: 100%; width: 100%; top: 0; left: 0; position: absolute; } .elementor .elementor-background-slideshow { position: absolute; width: 100%; height: 100%; z-index: 0; top: 0; right: 0; } .elementor .elementor-background-slideshow__slide__image { width: 100%; height: 100%; background-position: center center; background-size: cover; } .elementor-widget-wrap > .elementor-element.elementor-absolute, .e-container > .elementor-element.elementor-absolute { position: absolute; } .elementor-widget-wrap > .elementor-element.elementor-fixed, .e-container > .elementor-element.elementor-fixed { position: fixed; } .elementor-widget-wrap .elementor-element.elementor-widget__width-auto, .elementor-widget-wrap .elementor-element.elementor-widget__width-initial { max-width: 100%; } @media (max-width: ELEMENTOR_SCREEN_TABLET_MAX) { .elementor-widget-wrap .elementor-element.elementor-widget-tablet__width-auto, .elementor-widget-wrap .elementor-element.elementor-widget-tablet__width-initial { max-width: 100%; } } @media (max-width: ELEMENTOR_SCREEN_MOBILE_MAX) { .elementor-widget-wrap .elementor-element.elementor-widget-mobile__width-auto, .elementor-widget-wrap .elementor-element.elementor-widget-mobile__width-initial { max-width: 100%; } } .elementor-element { --flex-direction: initial; --flex-wrap: initial; --justify-content: initial; --align-items: initial; --align-content: initial; --gap: initial; --flex-basis: initial; --flex-grow: initial; --flex-shrink: initial; --order: initial; --align-self: initial; flex-direction: var(--flex-direction); flex-wrap: var(--flex-wrap); justify-content: var(--justify-content); align-items: var(--align-items); align-content: var(--align-content); gap: var(--gap); flex-basis: var(--flex-basis); flex-grow: var(--flex-grow); flex-shrink: var(--flex-shrink); order: var(--order); align-self: var(--align-self); } .elementor-element.elementor-absolute, .elementor-element.elementor-fixed { z-index: 1; } .elementor-invisible { visibility: hidden; } .elementor-align-center { text-align: center; } .elementor-align-center .elementor-button { width: auto; } .elementor-align-right { text-align: right; } .elementor-align-right .elementor-button { width: auto; } .elementor-align-left { text-align: left; } .elementor-align-left .elementor-button { width: auto; } .elementor-align-justify .elementor-button { width: 100%; } .elementor-custom-embed-play { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } .elementor-custom-embed-play i { font-size: 100px; color: #fff; text-shadow: 1px 0 6px rgba(0, 0, 0, 0.3); } .elementor-custom-embed-play svg { height: 100px; width: 100px; fill: #fff; filter: drop-shadow(1px 0 6px rgba(0, 0, 0, 0.3)); } .elementor-custom-embed-play i, .elementor-custom-embed-play svg { opacity: 0.8; transition: all 0.5s; } .elementor-custom-embed-play.elementor-playing i { font-family: eicons; } .elementor-custom-embed-play.elementor-playing i:before { content: "\e8fb"; } .elementor-custom-embed-play.elementor-playing i, .elementor-custom-embed-play.elementor-playing svg { animation: eicon-spin 2s infinite linear; } .elementor-tag { display: inline-flex; } .elementor-ken-burns { transition-property: transform; transition-duration: 10s; transition-timing-function: linear; } .elementor-ken-burns--out { transform: scale(1.3); } .elementor-ken-burns--active { transition-duration: 20s; } .elementor-ken-burns--active.elementor-ken-burns--out { transform: scale(1); } .elementor-ken-burns--active.elementor-ken-burns--in { transform: scale(1.3); } @media (min-width: ELEMENTOR_SCREEN_WIDESCREEN_MIN) { .elementor-widescreen-align-center { text-align: center; } .elementor-widescreen-align-center .elementor-button { width: auto; } .elementor-widescreen-align-right { text-align: right; } .elementor-widescreen-align-right .elementor-button { width: auto; } .elementor-widescreen-align-left { text-align: left; } .elementor-widescreen-align-left .elementor-button { width: auto; } .elementor-widescreen-align-justify .elementor-button { width: 100%; } } @media (max-width: ELEMENTOR_SCREEN_LAPTOP_MAX) { .elementor-laptop-align-center { text-align: center; } .elementor-laptop-align-center .elementor-button { width: auto; } .elementor-laptop-align-right { text-align: right; } .elementor-laptop-align-right .elementor-button { width: auto; } .elementor-laptop-align-left { text-align: left; } .elementor-laptop-align-left .elementor-button { width: auto; } .elementor-laptop-align-justify .elementor-button { width: 100%; } } @media (max-width: ELEMENTOR_SCREEN_TABLET_EXTRA_MAX) { .elementor-tablet_extra-align-center { text-align: center; } .elementor-tablet_extra-align-center .elementor-button { width: auto; } .elementor-tablet_extra-align-right { text-align: right; } .elementor-tablet_extra-align-right .elementor-button { width: auto; } .elementor-tablet_extra-align-left { text-align: left; } .elementor-tablet_extra-align-left .elementor-button { width: auto; } .elementor-tablet_extra-align-justify .elementor-button { width: 100%; } } @media (max-width: ELEMENTOR_SCREEN_TABLET_MAX) { .elementor-tablet-align-center { text-align: center; } .elementor-tablet-align-center .elementor-button { width: auto; } .elementor-tablet-align-right { text-align: right; } .elementor-tablet-align-right .elementor-button { width: auto; } .elementor-tablet-align-left { text-align: left; } .elementor-tablet-align-left .elementor-button { width: auto; } .elementor-tablet-align-justify .elementor-button { width: 100%; } } @media (max-width: ELEMENTOR_SCREEN_MOBILE_EXTRA_MAX) { .elementor-mobile_extra-align-center { text-align: center; } .elementor-mobile_extra-align-center .elementor-button { width: auto; } .elementor-mobile_extra-align-right { text-align: right; } .elementor-mobile_extra-align-right .elementor-button { width: auto; } .elementor-mobile_extra-align-left { text-align: left; } .elementor-mobile_extra-align-left .elementor-button { width: auto; } .elementor-mobile_extra-align-justify .elementor-button { width: 100%; } } @media (max-width: ELEMENTOR_SCREEN_MOBILE_MAX) { .elementor-mobile-align-center { text-align: center; } .elementor-mobile-align-center .elementor-button { width: auto; } .elementor-mobile-align-right { text-align: right; } .elementor-mobile-align-right .elementor-button { width: auto; } .elementor-mobile-align-left { text-align: left; } .elementor-mobile-align-left .elementor-button { width: auto; } .elementor-mobile-align-justify .elementor-button { width: 100%; } } :root { --page-title-display: block; } .elementor-page-title, h1.entry-title { display: var(--page-title-display); } @keyframes eicon-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(359deg); } } .eicon-animation-spin { animation: eicon-spin 2s infinite linear; } .elementor-section { position: relative; } .elementor-section .elementor-container { display: flex; margin-right: auto; margin-left: auto; position: relative; } @media (max-width: ELEMENTOR_SCREEN_TABLET_MAX) { .elementor-section .elementor-container { flex-wrap: wrap; } } .elementor-section.elementor-section-boxed > .elementor-container { max-width: 1140px; } .elementor-section.elementor-section-stretched { position: relative; width: 100%; } .elementor-section.elementor-section-items-top > .elementor-container { align-items: flex-start; } .elementor-section.elementor-section-items-middle > .elementor-container { align-items: center; } .elementor-section.elementor-section-items-bottom > .elementor-container { align-items: flex-end; } @media (min-width: ELEMENTOR_SCREEN_MOBILE_NEXT) { .elementor-section.elementor-section-height-full { height: 100vh; } .elementor-section.elementor-section-height-full > .elementor-container { height: 100%; } } .elementor-bc-flex-widget .elementor-section-content-top > .elementor-container > .elementor-column > .elementor-widget-wrap { align-items: flex-start; } .elementor-bc-flex-widget .elementor-section-content-middle > .elementor-container > .elementor-column > .elementor-widget-wrap { align-items: center; } .elementor-bc-flex-widget .elementor-section-content-bottom > .elementor-container > .elementor-column > .elementor-widget-wrap { align-items: flex-end; } .elementor-row { width: 100%; display: flex; } @media (max-width: ELEMENTOR_SCREEN_TABLET_MAX) { .elementor-row { flex-wrap: wrap; } } .elementor-widget-wrap { position: relative; width: 100%; flex-wrap: wrap; align-content: flex-start; } .elementor:not(.elementor-bc-flex-widget) .elementor-widget-wrap { display: flex; } .elementor-widget-wrap > .elementor-element { width: 100%; } .elementor-widget-wrap.e-swiper-container { width: calc(100% - (var(--e-column-margin-left, 0px) + var(--e-column-margin-right, 0px))); } .elementor-widget { position: relative; } .elementor-widget:not(:last-child) { margin-bottom: 20px; } .elementor-widget:not(:last-child).elementor-widget__width-auto, .elementor-widget:not(:last-child).elementor-widget__width-initial, .elementor-widget:not(:last-child).elementor-absolute { margin-bottom: 0; } .elementor-column { position: relative; min-height: 1px; display: flex; } .elementor-column-wrap { width: 100%; position: relative; display: flex; } .elementor-column-gap-narrow > .elementor-column > .elementor-element-populated { padding: 5px; } .elementor-column-gap-default > .elementor-column > .elementor-element-populated { padding: 10px; } .elementor-column-gap-extended > .elementor-column > .elementor-element-populated { padding: 15px; } .elementor-column-gap-wide > .elementor-column > .elementor-element-populated { padding: 20px; } .elementor-column-gap-wider > .elementor-column > .elementor-element-populated { padding: 30px; } .elementor-inner-section .elementor-column-gap-no .elementor-element-populated { padding: 0; } @media (min-width: ELEMENTOR_SCREEN_MOBILE_NEXT) { .elementor-column.elementor-col-10, .elementor-column[data-col="10"] { width: 10%; } .elementor-column.elementor-col-11, .elementor-column[data-col="11"] { width: 11.111%; } .elementor-column.elementor-col-12, .elementor-column[data-col="12"] { width: 12.5%; } .elementor-column.elementor-col-14, .elementor-column[data-col="14"] { width: 14.285%; } .elementor-column.elementor-col-16, .elementor-column[data-col="16"] { width: 16.666%; } .elementor-column.elementor-col-20, .elementor-column[data-col="20"] { width: 20%; } .elementor-column.elementor-col-25, .elementor-column[data-col="25"] { width: 25%; } .elementor-column.elementor-col-30, .elementor-column[data-col="30"] { width: 30%; } .elementor-column.elementor-col-33, .elementor-column[data-col="33"] { width: 33.333%; } .elementor-column.elementor-col-40, .elementor-column[data-col="40"] { width: 40%; } .elementor-column.elementor-col-50, .elementor-column[data-col="50"] { width: 50%; } .elementor-column.elementor-col-60, .elementor-column[data-col="60"] { width: 60%; } .elementor-column.elementor-col-66, .elementor-column[data-col="66"] { width: 66.666%; } .elementor-column.elementor-col-70, .elementor-column[data-col="70"] { width: 70%; } .elementor-column.elementor-col-75, .elementor-column[data-col="75"] { width: 75%; } .elementor-column.elementor-col-80, .elementor-column[data-col="80"] { width: 80%; } .elementor-column.elementor-col-83, .elementor-column[data-col="83"] { width: 83.333%; } .elementor-column.elementor-col-90, .elementor-column[data-col="90"] { width: 90%; } .elementor-column.elementor-col-100, .elementor-column[data-col="100"] { width: 100%; } } @media (max-width: 479px) { .elementor-column.elementor-xs-10 { width: 10%; } .elementor-column.elementor-xs-11 { width: 11.111%; } .elementor-column.elementor-xs-12 { width: 12.5%; } .elementor-column.elementor-xs-14 { width: 14.285%; } .elementor-column.elementor-xs-16 { width: 16.666%; } .elementor-column.elementor-xs-20 { width: 20%; } .elementor-column.elementor-xs-25 { width: 25%; } .elementor-column.elementor-xs-30 { width: 30%; } .elementor-column.elementor-xs-33 { width: 33.333%; } .elementor-column.elementor-xs-40 { width: 40%; } .elementor-column.elementor-xs-50 { width: 50%; } .elementor-column.elementor-xs-60 { width: 60%; } .elementor-column.elementor-xs-66 { width: 66.666%; } .elementor-column.elementor-xs-70 { width: 70%; } .elementor-column.elementor-xs-75 { width: 75%; } .elementor-column.elementor-xs-80 { width: 80%; } .elementor-column.elementor-xs-83 { width: 83.333%; } .elementor-column.elementor-xs-90 { width: 90%; } .elementor-column.elementor-xs-100 { width: 100%; } } @media (max-width: ELEMENTOR_SCREEN_MOBILE_MAX) { .elementor-column.elementor-sm-10 { width: 10%; } .elementor-column.elementor-sm-11 { width: 11.111%; } .elementor-column.elementor-sm-12 { width: 12.5%; } .elementor-column.elementor-sm-14 { width: 14.285%; } .elementor-column.elementor-sm-16 { width: 16.666%; } .elementor-column.elementor-sm-20 { width: 20%; } .elementor-column.elementor-sm-25 { width: 25%; } .elementor-column.elementor-sm-30 { width: 30%; } .elementor-column.elementor-sm-33 { width: 33.333%; } .elementor-column.elementor-sm-40 { width: 40%; } .elementor-column.elementor-sm-50 { width: 50%; } .elementor-column.elementor-sm-60 { width: 60%; } .elementor-column.elementor-sm-66 { width: 66.666%; } .elementor-column.elementor-sm-70 { width: 70%; } .elementor-column.elementor-sm-75 { width: 75%; } .elementor-column.elementor-sm-80 { width: 80%; } .elementor-column.elementor-sm-83 { width: 83.333%; } .elementor-column.elementor-sm-90 { width: 90%; } .elementor-column.elementor-sm-100 { width: 100%; } } @media (min-width: ELEMENTOR_SCREEN_MOBILE_NEXT) and (max-width: ELEMENTOR_SCREEN_TABLET_MAX) { .elementor-column.elementor-md-10 { width: 10%; } .elementor-column.elementor-md-11 { width: 11.111%; } .elementor-column.elementor-md-12 { width: 12.5%; } .elementor-column.elementor-md-14 { width: 14.285%; } .elementor-column.elementor-md-16 { width: 16.666%; } .elementor-column.elementor-md-20 { width: 20%; } .elementor-column.elementor-md-25 { width: 25%; } .elementor-column.elementor-md-30 { width: 30%; } .elementor-column.elementor-md-33 { width: 33.333%; } .elementor-column.elementor-md-40 { width: 40%; } .elementor-column.elementor-md-50 { width: 50%; } .elementor-column.elementor-md-60 { width: 60%; } .elementor-column.elementor-md-66 { width: 66.666%; } .elementor-column.elementor-md-70 { width: 70%; } .elementor-column.elementor-md-75 { width: 75%; } .elementor-column.elementor-md-80 { width: 80%; } .elementor-column.elementor-md-83 { width: 83.333%; } .elementor-column.elementor-md-90 { width: 90%; } .elementor-column.elementor-md-100 { width: 100%; } } @media (min-width: ELEMENTOR_SCREEN_WIDESCREEN_MIN) { .elementor-reverse-widescreen > .elementor-container > :nth-child(1) { order: 10; } .elementor-reverse-widescreen > .elementor-container > :nth-child(2) { order: 9; } .elementor-reverse-widescreen > .elementor-container > :nth-child(3) { order: 8; } .elementor-reverse-widescreen > .elementor-container > :nth-child(4) { order: 7; } .elementor-reverse-widescreen > .elementor-container > :nth-child(5) { order: 6; } .elementor-reverse-widescreen > .elementor-container > :nth-child(6) { order: 5; } .elementor-reverse-widescreen > .elementor-container > :nth-child(7) { order: 4; } .elementor-reverse-widescreen > .elementor-container > :nth-child(8) { order: 3; } .elementor-reverse-widescreen > .elementor-container > :nth-child(9) { order: 2; } .elementor-reverse-widescreen > .elementor-container > :nth-child(10) { order: 1; } } @media (min-width: ELEMENTOR_SCREEN_TABLET_NEXT) and (max-width: ELEMENTOR_SCREEN_LAPTOP_MAX) { .elementor-reverse-laptop > .elementor-container > :nth-child(1) { order: 10; } .elementor-reverse-laptop > .elementor-container > :nth-child(2) { order: 9; } .elementor-reverse-laptop > .elementor-container > :nth-child(3) { order: 8; } .elementor-reverse-laptop > .elementor-container > :nth-child(4) { order: 7; } .elementor-reverse-laptop > .elementor-container > :nth-child(5) { order: 6; } .elementor-reverse-laptop > .elementor-container > :nth-child(6) { order: 5; } .elementor-reverse-laptop > .elementor-container > :nth-child(7) { order: 4; } .elementor-reverse-laptop > .elementor-container > :nth-child(8) { order: 3; } .elementor-reverse-laptop > .elementor-container > :nth-child(9) { order: 2; } .elementor-reverse-laptop > .elementor-container > :nth-child(10) { order: 1; } } @media (min-width: ELEMENTOR_SCREEN_TABLET_EXTRA_NEXT) and (max-width: ELEMENTOR_SCREEN_LAPTOP_MAX) { .elementor-reverse-laptop > .elementor-container > :nth-child(1) { order: 10; } .elementor-reverse-laptop > .elementor-container > :nth-child(2) { order: 9; } .elementor-reverse-laptop > .elementor-container > :nth-child(3) { order: 8; } .elementor-reverse-laptop > .elementor-container > :nth-child(4) { order: 7; } .elementor-reverse-laptop > .elementor-container > :nth-child(5) { order: 6; } .elementor-reverse-laptop > .elementor-container > :nth-child(6) { order: 5; } .elementor-reverse-laptop > .elementor-container > :nth-child(7) { order: 4; } .elementor-reverse-laptop > .elementor-container > :nth-child(8) { order: 3; } .elementor-reverse-laptop > .elementor-container > :nth-child(9) { order: 2; } .elementor-reverse-laptop > .elementor-container > :nth-child(10) { order: 1; } } @media (min-width: ELEMENTOR_SCREEN_TABLET_NEXT) and (max-width: ELEMENTOR_SCREEN_TABLET_EXTRA_MAX) { .elementor-reverse-laptop > .elementor-container > :nth-child(1) { order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(2) { order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(3) { order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(4) { order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(5) { order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(6) { order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(7) { order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(8) { order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(9) { order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(10) { order: initial; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(1) { order: 10; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(2) { order: 9; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(3) { order: 8; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(4) { order: 7; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(5) { order: 6; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(6) { order: 5; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(7) { order: 4; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(8) { order: 3; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(9) { order: 2; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(10) { order: 1; } } @media (min-width: ELEMENTOR_SCREEN_MOBILE_NEXT) and (max-width: ELEMENTOR_SCREEN_TABLET_MAX) { .elementor-reverse-tablet > .elementor-container > :nth-child(1) { order: 10; } .elementor-reverse-tablet > .elementor-container > :nth-child(2) { order: 9; } .elementor-reverse-tablet > .elementor-container > :nth-child(3) { order: 8; } .elementor-reverse-tablet > .elementor-container > :nth-child(4) { order: 7; } .elementor-reverse-tablet > .elementor-container > :nth-child(5) { order: 6; } .elementor-reverse-tablet > .elementor-container > :nth-child(6) { order: 5; } .elementor-reverse-tablet > .elementor-container > :nth-child(7) { order: 4; } .elementor-reverse-tablet > .elementor-container > :nth-child(8) { order: 3; } .elementor-reverse-tablet > .elementor-container > :nth-child(9) { order: 2; } .elementor-reverse-tablet > .elementor-container > :nth-child(10) { order: 1; } } @media (min-width: ELEMENTOR_SCREEN_MOBILE_EXTRA_NEXT) and (max-width: ELEMENTOR_SCREEN_TABLET_MAX) { .elementor-reverse-tablet > .elementor-container > :nth-child(1) { order: 10; } .elementor-reverse-tablet > .elementor-container > :nth-child(2) { order: 9; } .elementor-reverse-tablet > .elementor-container > :nth-child(3) { order: 8; } .elementor-reverse-tablet > .elementor-container > :nth-child(4) { order: 7; } .elementor-reverse-tablet > .elementor-container > :nth-child(5) { order: 6; } .elementor-reverse-tablet > .elementor-container > :nth-child(6) { order: 5; } .elementor-reverse-tablet > .elementor-container > :nth-child(7) { order: 4; } .elementor-reverse-tablet > .elementor-container > :nth-child(8) { order: 3; } .elementor-reverse-tablet > .elementor-container > :nth-child(9) { order: 2; } .elementor-reverse-tablet > .elementor-container > :nth-child(10) { order: 1; } } @media (min-width: ELEMENTOR_SCREEN_MOBILE_NEXT) and (max-width: ELEMENTOR_SCREEN_MOBILE_EXTRA_MAX) { .elementor-reverse-tablet > .elementor-container > :nth-child(1) { order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(2) { order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(3) { order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(4) { order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(5) { order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(6) { order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(7) { order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(8) { order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(9) { order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(10) { order: initial; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(1) { order: 10; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(2) { order: 9; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(3) { order: 8; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(4) { order: 7; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(5) { order: 6; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(6) { order: 5; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(7) { order: 4; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(8) { order: 3; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(9) { order: 2; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(10) { order: 1; } } @media (max-width: ELEMENTOR_SCREEN_MOBILE_MAX) { .elementor-reverse-mobile > .elementor-container > :nth-child(1) { order: 10; } .elementor-reverse-mobile > .elementor-container > :nth-child(2) { order: 9; } .elementor-reverse-mobile > .elementor-container > :nth-child(3) { order: 8; } .elementor-reverse-mobile > .elementor-container > :nth-child(4) { order: 7; } .elementor-reverse-mobile > .elementor-container > :nth-child(5) { order: 6; } .elementor-reverse-mobile > .elementor-container > :nth-child(6) { order: 5; } .elementor-reverse-mobile > .elementor-container > :nth-child(7) { order: 4; } .elementor-reverse-mobile > .elementor-container > :nth-child(8) { order: 3; } .elementor-reverse-mobile > .elementor-container > :nth-child(9) { order: 2; } .elementor-reverse-mobile > .elementor-container > :nth-child(10) { order: 1; } .elementor-column { width: 100%; } } ul.elementor-icon-list-items.elementor-inline-items { display: flex; flex-wrap: wrap; } ul.elementor-icon-list-items.elementor-inline-items .elementor-inline-item { word-break: break-word; } .elementor-grid { display: grid; grid-column-gap: var(--grid-column-gap); grid-row-gap: var(--grid-row-gap); } .elementor-grid .elementor-grid-item { min-width: 0; } .elementor-grid-0 .elementor-grid { display: inline-block; width: 100%; word-spacing: var(--grid-column-gap); margin-bottom: calc(-1 * var(--grid-row-gap)); } .elementor-grid-0 .elementor-grid .elementor-grid-item { display: inline-block; margin-bottom: var(--grid-row-gap); word-break: break-word; } .elementor-grid-1 .elementor-grid { grid-template-columns: repeat(1, 1fr); } .elementor-grid-2 .elementor-grid { grid-template-columns: repeat(2, 1fr); } .elementor-grid-3 .elementor-grid { grid-template-columns: repeat(3, 1fr); } .elementor-grid-4 .elementor-grid { grid-template-columns: repeat(4, 1fr); } .elementor-grid-5 .elementor-grid { grid-template-columns: repeat(5, 1fr); } .elementor-grid-6 .elementor-grid { grid-template-columns: repeat(6, 1fr); } .elementor-grid-7 .elementor-grid { grid-template-columns: repeat(7, 1fr); } .elementor-grid-8 .elementor-grid { grid-template-columns: repeat(8, 1fr); } .elementor-grid-9 .elementor-grid { grid-template-columns: repeat(9, 1fr); } .elementor-grid-10 .elementor-grid { grid-template-columns: repeat(10, 1fr); } .elementor-grid-11 .elementor-grid { grid-template-columns: repeat(11, 1fr); } .elementor-grid-12 .elementor-grid { grid-template-columns: repeat(12, 1fr); } @media (min-width: ELEMENTOR_SCREEN_WIDESCREEN_MIN) { .elementor-grid-widescreen-0 .elementor-grid { display: inline-block; width: 100%; word-spacing: var(--grid-column-gap); margin-bottom: calc(-1 * var(--grid-row-gap)); } .elementor-grid-widescreen-0 .elementor-grid .elementor-grid-item { display: inline-block; margin-bottom: var(--grid-row-gap); word-break: break-word; } .elementor-grid-widescreen-1 .elementor-grid { grid-template-columns: repeat(1, 1fr); } .elementor-grid-widescreen-2 .elementor-grid { grid-template-columns: repeat(2, 1fr); } .elementor-grid-widescreen-3 .elementor-grid { grid-template-columns: repeat(3, 1fr); } .elementor-grid-widescreen-4 .elementor-grid { grid-template-columns: repeat(4, 1fr); } .elementor-grid-widescreen-5 .elementor-grid { grid-template-columns: repeat(5, 1fr); } .elementor-grid-widescreen-6 .elementor-grid { grid-template-columns: repeat(6, 1fr); } .elementor-grid-widescreen-7 .elementor-grid { grid-template-columns: repeat(7, 1fr); } .elementor-grid-widescreen-8 .elementor-grid { grid-template-columns: repeat(8, 1fr); } .elementor-grid-widescreen-9 .elementor-grid { grid-template-columns: repeat(9, 1fr); } .elementor-grid-widescreen-10 .elementor-grid { grid-template-columns: repeat(10, 1fr); } .elementor-grid-widescreen-11 .elementor-grid { grid-template-columns: repeat(11, 1fr); } .elementor-grid-widescreen-12 .elementor-grid { grid-template-columns: repeat(12, 1fr); } } @media (max-width: ELEMENTOR_SCREEN_LAPTOP_MAX) { .elementor-grid-laptop-0 .elementor-grid { display: inline-block; width: 100%; word-spacing: var(--grid-column-gap); margin-bottom: calc(-1 * var(--grid-row-gap)); } .elementor-grid-laptop-0 .elementor-grid .elementor-grid-item { display: inline-block; margin-bottom: var(--grid-row-gap); word-break: break-word; } .elementor-grid-laptop-1 .elementor-grid { grid-template-columns: repeat(1, 1fr); } .elementor-grid-laptop-2 .elementor-grid { grid-template-columns: repeat(2, 1fr); } .elementor-grid-laptop-3 .elementor-grid { grid-template-columns: repeat(3, 1fr); } .elementor-grid-laptop-4 .elementor-grid { grid-template-columns: repeat(4, 1fr); } .elementor-grid-laptop-5 .elementor-grid { grid-template-columns: repeat(5, 1fr); } .elementor-grid-laptop-6 .elementor-grid { grid-template-columns: repeat(6, 1fr); } .elementor-grid-laptop-7 .elementor-grid { grid-template-columns: repeat(7, 1fr); } .elementor-grid-laptop-8 .elementor-grid { grid-template-columns: repeat(8, 1fr); } .elementor-grid-laptop-9 .elementor-grid { grid-template-columns: repeat(9, 1fr); } .elementor-grid-laptop-10 .elementor-grid { grid-template-columns: repeat(10, 1fr); } .elementor-grid-laptop-11 .elementor-grid { grid-template-columns: repeat(11, 1fr); } .elementor-grid-laptop-12 .elementor-grid { grid-template-columns: repeat(12, 1fr); } } @media (max-width: ELEMENTOR_SCREEN_TABLET_EXTRA_MAX) { .elementor-grid-tablet_extra-0 .elementor-grid { display: inline-block; width: 100%; word-spacing: var(--grid-column-gap); margin-bottom: calc(-1 * var(--grid-row-gap)); } .elementor-grid-tablet_extra-0 .elementor-grid .elementor-grid-item { display: inline-block; margin-bottom: var(--grid-row-gap); word-break: break-word; } .elementor-grid-tablet_extra-1 .elementor-grid { grid-template-columns: repeat(1, 1fr); } .elementor-grid-tablet_extra-2 .elementor-grid { grid-template-columns: repeat(2, 1fr); } .elementor-grid-tablet_extra-3 .elementor-grid { grid-template-columns: repeat(3, 1fr); } .elementor-grid-tablet_extra-4 .elementor-grid { grid-template-columns: repeat(4, 1fr); } .elementor-grid-tablet_extra-5 .elementor-grid { grid-template-columns: repeat(5, 1fr); } .elementor-grid-tablet_extra-6 .elementor-grid { grid-template-columns: repeat(6, 1fr); } .elementor-grid-tablet_extra-7 .elementor-grid { grid-template-columns: repeat(7, 1fr); } .elementor-grid-tablet_extra-8 .elementor-grid { grid-template-columns: repeat(8, 1fr); } .elementor-grid-tablet_extra-9 .elementor-grid { grid-template-columns: repeat(9, 1fr); } .elementor-grid-tablet_extra-10 .elementor-grid { grid-template-columns: repeat(10, 1fr); } .elementor-grid-tablet_extra-11 .elementor-grid { grid-template-columns: repeat(11, 1fr); } .elementor-grid-tablet_extra-12 .elementor-grid { grid-template-columns: repeat(12, 1fr); } } @media (max-width: ELEMENTOR_SCREEN_TABLET_MAX) { .elementor-grid-tablet-0 .elementor-grid { display: inline-block; width: 100%; word-spacing: var(--grid-column-gap); margin-bottom: calc(-1 * var(--grid-row-gap)); } .elementor-grid-tablet-0 .elementor-grid .elementor-grid-item { display: inline-block; margin-bottom: var(--grid-row-gap); word-break: break-word; } .elementor-grid-tablet-1 .elementor-grid { grid-template-columns: repeat(1, 1fr); } .elementor-grid-tablet-2 .elementor-grid { grid-template-columns: repeat(2, 1fr); } .elementor-grid-tablet-3 .elementor-grid { grid-template-columns: repeat(3, 1fr); } .elementor-grid-tablet-4 .elementor-grid { grid-template-columns: repeat(4, 1fr); } .elementor-grid-tablet-5 .elementor-grid { grid-template-columns: repeat(5, 1fr); } .elementor-grid-tablet-6 .elementor-grid { grid-template-columns: repeat(6, 1fr); } .elementor-grid-tablet-7 .elementor-grid { grid-template-columns: repeat(7, 1fr); } .elementor-grid-tablet-8 .elementor-grid { grid-template-columns: repeat(8, 1fr); } .elementor-grid-tablet-9 .elementor-grid { grid-template-columns: repeat(9, 1fr); } .elementor-grid-tablet-10 .elementor-grid { grid-template-columns: repeat(10, 1fr); } .elementor-grid-tablet-11 .elementor-grid { grid-template-columns: repeat(11, 1fr); } .elementor-grid-tablet-12 .elementor-grid { grid-template-columns: repeat(12, 1fr); } } @media (max-width: ELEMENTOR_SCREEN_MOBILE_EXTRA_MAX) { .elementor-grid-mobile_extra-0 .elementor-grid { display: inline-block; width: 100%; word-spacing: var(--grid-column-gap); margin-bottom: calc(-1 * var(--grid-row-gap)); } .elementor-grid-mobile_extra-0 .elementor-grid .elementor-grid-item { display: inline-block; margin-bottom: var(--grid-row-gap); word-break: break-word; } .elementor-grid-mobile_extra-1 .elementor-grid { grid-template-columns: repeat(1, 1fr); } .elementor-grid-mobile_extra-2 .elementor-grid { grid-template-columns: repeat(2, 1fr); } .elementor-grid-mobile_extra-3 .elementor-grid { grid-template-columns: repeat(3, 1fr); } .elementor-grid-mobile_extra-4 .elementor-grid { grid-template-columns: repeat(4, 1fr); } .elementor-grid-mobile_extra-5 .elementor-grid { grid-template-columns: repeat(5, 1fr); } .elementor-grid-mobile_extra-6 .elementor-grid { grid-template-columns: repeat(6, 1fr); } .elementor-grid-mobile_extra-7 .elementor-grid { grid-template-columns: repeat(7, 1fr); } .elementor-grid-mobile_extra-8 .elementor-grid { grid-template-columns: repeat(8, 1fr); } .elementor-grid-mobile_extra-9 .elementor-grid { grid-template-columns: repeat(9, 1fr); } .elementor-grid-mobile_extra-10 .elementor-grid { grid-template-columns: repeat(10, 1fr); } .elementor-grid-mobile_extra-11 .elementor-grid { grid-template-columns: repeat(11, 1fr); } .elementor-grid-mobile_extra-12 .elementor-grid { grid-template-columns: repeat(12, 1fr); } } @media (max-width: ELEMENTOR_SCREEN_MOBILE_MAX) { .elementor-grid-mobile-0 .elementor-grid { display: inline-block; width: 100%; word-spacing: var(--grid-column-gap); margin-bottom: calc(-1 * var(--grid-row-gap)); } .elementor-grid-mobile-0 .elementor-grid .elementor-grid-item { display: inline-block; margin-bottom: var(--grid-row-gap); word-break: break-word; } .elementor-grid-mobile-1 .elementor-grid { grid-template-columns: repeat(1, 1fr); } .elementor-grid-mobile-2 .elementor-grid { grid-template-columns: repeat(2, 1fr); } .elementor-grid-mobile-3 .elementor-grid { grid-template-columns: repeat(3, 1fr); } .elementor-grid-mobile-4 .elementor-grid { grid-template-columns: repeat(4, 1fr); } .elementor-grid-mobile-5 .elementor-grid { grid-template-columns: repeat(5, 1fr); } .elementor-grid-mobile-6 .elementor-grid { grid-template-columns: repeat(6, 1fr); } .elementor-grid-mobile-7 .elementor-grid { grid-template-columns: repeat(7, 1fr); } .elementor-grid-mobile-8 .elementor-grid { grid-template-columns: repeat(8, 1fr); } .elementor-grid-mobile-9 .elementor-grid { grid-template-columns: repeat(9, 1fr); } .elementor-grid-mobile-10 .elementor-grid { grid-template-columns: repeat(10, 1fr); } .elementor-grid-mobile-11 .elementor-grid { grid-template-columns: repeat(11, 1fr); } .elementor-grid-mobile-12 .elementor-grid { grid-template-columns: repeat(12, 1fr); } } @media (min-width: ELEMENTOR_SCREEN_DESKTOP_MIN) { #elementor-device-mode:after { content: "desktop"; } } @media (min-width: ELEMENTOR_SCREEN_WIDESCREEN_MIN) { #elementor-device-mode:after { content: "widescreen"; } } @media (max-width: ELEMENTOR_SCREEN_LAPTOP_MAX) { #elementor-device-mode:after { content: "laptop"; } } @media (max-width: ELEMENTOR_SCREEN_TABLET_EXTRA_MAX) { #elementor-device-mode:after { content: "tablet_extra"; } } @media (max-width: ELEMENTOR_SCREEN_TABLET_MAX) { #elementor-device-mode:after { content: "tablet"; } } @media (max-width: ELEMENTOR_SCREEN_MOBILE_EXTRA_MAX) { #elementor-device-mode:after { content: "mobile_extra"; } } @media (max-width: ELEMENTOR_SCREEN_MOBILE_MAX) { #elementor-device-mode:after { content: "mobile"; } } .e-container { --border-radius: 0; --display: flex; --flex-direction: column; --flex-basis: auto; --flex-grow: 0; --flex-shrink: 1; --content-width: Min( 100%, var( --container-max-width, 1140px ) ); --width: 100%; --min-height: initial; --height: auto; --text-align: initial; --margin-top: 0; --margin-right: 0; --margin-bottom: 0; --margin-left: 0; --padding-top: var( --container-default-padding, 0px ); --padding-right: var( --container-default-padding, 0px ); --padding-bottom: var( --container-default-padding, 0px ); --padding-left: var( --container-default-padding, 0px ); --position: relative; --z-index: revert; --overflow: visible; --transition: 0; --gap: var( --widgets-spacing, 20px ); --overlay-mix-blend-mode: initial; --overlay-opacity: 1; --overlay-transition: 0; position: var(--position); display: var(--display); text-align: var(--text-align); flex-direction: var(--flex-direction); flex: var(--flex-grow) var(--flex-shrink) var(--flex-basis); width: var(--width); min-width: 0; max-width: min(100%, var(--width)); min-height: var(--min-height); height: var(--height); border-radius: var(--border-radius); margin: var(--margin-top) var(--margin-right) var(--margin-bottom) var(--margin-left); padding-left: calc((100% - var(--content-width)) / 2 + var(--padding-left)); padding-right: calc((100% - var(--content-width)) / 2 + var(--padding-right)); padding-top: var(--padding-top); padding-bottom: var(--padding-bottom); z-index: var(--z-index); overflow: var(--overflow); transition: var(--transition); } :is(.elementor-section-wrap, [data-elementor-id]) > .e-container { --margin-right: auto; --margin-left: auto; } .e-container .elementor-empty-view { position: relative; width: 100%; height: 100%; min-height: var(--min-height, 100px); } .e-container .elementor-empty-view .elementor-first-add { width: auto; height: auto; inset: 10px; } .e-container .elementor-widget-placeholder { --size: 10px; --margin-start: calc( -1 * var( --size ) ); --margin-end: calc( -2 * var( --size ) ); flex-shrink: 0; align-self: stretch; z-index: 1; pointer-events: none; } .e-container.e-container--row > .elementor-widget-placeholder { position: relative; z-index: 9999; width: var(--size); margin-inline-start: var(--margin-start); height: auto; min-height: 100%; animation-name: dnd-placeholder-widget-vertical; animation-fill-mode: both; } .e-container.e-container--row[data-nesting-level]:not([data-nesting-level="0"]) > .elementor-widget-placeholder { margin-inline-end: 0; margin-inline-start: calc(var(--margin-start) + var(--margin-end)); } .e-container.e-container--row[data-nesting-level]:not([data-nesting-level="0"]) > :not(.elementor-element) + .elementor-widget-placeholder { margin-inline-end: var(--margin-end); margin-inline-start: var(--margin-start); } .e-container.e-container--column > .elementor-widget-placeholder { height: var(--size); margin-block-start: var(--margin-start); margin-block-end: var(--margin-end); animation-name: dnd-placeholder-widget-horizontal; } .e-container.e-container--column > .elementor-widget-placeholder:nth-last-child(2) { margin-block-start: calc(2 * var(--margin-start)); --margin-end: 0; } .e-container .elementor-sortable-helper { height: 84px; width: 125px; z-index: -1; } .e-container .elementor-widget.elementor-widget { margin-bottom: 0; } .e-container::before { content: var(--background-overlay); display: block; position: absolute; z-index: 0; width: 100%; height: 100%; left: 0; top: 0; mix-blend-mode: var(--overlay-mix-blend-mode); opacity: var(--overlay-opacity); transition: var(--overlay-transition); border-radius: var(--border-radius); } .e-container .elementor-widget { min-width: 0; } .e-container .elementor-widget-video, .e-container .elementor-widget-google_maps { flex-basis: 100%; } .e-container .elementor-widget.e-widget-swiper { max-width: 100%; flex-basis: 100%; } .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-setting, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-setting { position: relative; background-color: #556068; } .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-setting:hover, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-setting:hover { background-color: #495157; } .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-setting.elementor-editor-element-add, .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-setting.elementor-editor-element-edit + .elementor-editor-element-remove, .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-setting:first-child::before, .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-setting:last-child::after, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-setting.elementor-editor-element-add, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-setting.elementor-editor-element-edit + .elementor-editor-element-remove, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-setting:first-child::before, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-setting:last-child::after { display: none; } .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-setting:not(.elementor-editor-element-edit), .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-setting:not(.elementor-editor-element-edit) { margin-inline-start: -25px; z-index: -1; transition: 0.3s all; will-change: margin-inline-start; } .e-container > .e-container > .elementor-element-overlay > .elementor-editor-element-settings:hover > :is(.elementor-editor-element-duplicate, .elementor-editor-element-remove), .elementor-widget .e-container > .elementor-element-overlay > .elementor-editor-element-settings:hover > :is(.elementor-editor-element-duplicate, .elementor-editor-element-remove) { margin-inline-start: 0; } .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-settings, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-settings { inset: initial; transform: none; inset-inline-start: 0; top: 0; border-radius: 0; border-end-end-radius: 3px; height: auto; background-color: #556068; } .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-settings:hover, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-settings:hover { background-color: #495157; } .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-settings i.eicon-handle::before, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-settings i.eicon-handle::before { content: "\e9b4"; font-size: 20px; display: block; padding: 2px; } @media (max-width: 767px) { .e-container { --width: 100%; --flex-wrap: wrap; } } @keyframes dnd-placeholder-widget-vertical { 0% { transform-origin: 0 50%; transform: translateX(50%) scaleX(0); opacity: 0; } 100% { transform-origin: 0 50%; transform: translateX(50%) scaleX(1); opacity: 0.9; } } @keyframes dnd-placeholder-widget-horizontal { 0% { transform-origin: 50% 0; transform: scaleY(0); opacity: 0; } 100% { transform-origin: 50% 0; transform: scaleY(1); opacity: 0.9; } } .elementor-form-fields-wrapper { display: flex; flex-wrap: wrap; } .elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group > input, .elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group > textarea, .elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group > .elementor-select-wrapper, .elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group .elementor-field-subgroup { flex-basis: 100%; max-width: 100%; } .elementor-form-fields-wrapper.elementor-labels-inline > .elementor-field-group > input, .elementor-form-fields-wrapper.elementor-labels-inline > .elementor-field-group .elementor-select-wrapper { flex-grow: 1; } .elementor-field-group { flex-wrap: wrap; align-items: center; } .elementor-field-group.elementor-field-type-submit { align-items: flex-end; } .elementor-field-group .elementor-field-textual { width: 100%; max-width: 100%; border: 1px solid #818a91; background-color: transparent; color: #373a3c; vertical-align: middle; flex-grow: 1; } .elementor-field-group .elementor-field-textual:focus { box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1) inset; outline: 0; } .elementor-field-group .elementor-field-textual::-webkit-input-placeholder { color: inherit; font-family: inherit; opacity: 0.6; } .elementor-field-group .elementor-field-textual:-ms-input-placeholder { color: inherit; font-family: inherit; opacity: 0.6; } .elementor-field-group .elementor-field-textual::-moz-placeholder { color: inherit; font-family: inherit; opacity: 0.6; } .elementor-field-group .elementor-field-textual:-moz-placeholder { color: inherit; font-family: inherit; opacity: 0.6; } .elementor-field-group .elementor-field-textual::placeholder { color: inherit; font-family: inherit; opacity: 0.6; } .elementor-field-group .elementor-select-wrapper { display: flex; position: relative; width: 100%; } .elementor-field-group .elementor-select-wrapper select { appearance: none; -webkit-appearance: none; -moz-appearance: none; color: inherit; font-size: inherit; font-family: inherit; font-weight: inherit; font-style: inherit; text-transform: inherit; letter-spacing: inherit; line-height: inherit; flex-basis: 100%; padding-left: 20px; } .elementor-field-group .elementor-select-wrapper:before { content: "\e92a"; font-family: "eicons"; font-size: 15px; position: absolute; top: 50%; transform: translateY(-50%); left: 10px; pointer-events: none; text-shadow: 0 0 3px rgba(0, 0, 0, 0.3); } .elementor-field-group.elementor-field-type-select-multiple .elementor-select-wrapper:before { content: ""; } .elementor-field-subgroup { display: flex; flex-wrap: wrap; } .elementor-field-subgroup .elementor-field-option label { display: inline-block; } .elementor-field-subgroup.elementor-subgroup-inline .elementor-field-option { padding-left: 10px; } .elementor-field-subgroup:not(.elementor-subgroup-inline) .elementor-field-option { flex-basis: 100%; } .elementor-field-type-checkbox .elementor-field-subgroup .elementor-field-option input, .elementor-field-type-checkbox .elementor-field-subgroup .elementor-field-option label, .elementor-field-type-radio .elementor-field-subgroup .elementor-field-option input, .elementor-field-type-radio .elementor-field-subgroup .elementor-field-option label, .elementor-field-type-acceptance .elementor-field-subgroup .elementor-field-option input, .elementor-field-type-acceptance .elementor-field-subgroup .elementor-field-option label { display: inline; } .elementor-field-label { cursor: pointer; } .elementor-mark-required .elementor-field-label:after { content: "*"; color: red; padding-right: 0.2em; } .elementor-field-textual { line-height: 1.4; font-size: 15px; min-height: 40px; padding: 5px 14px; border-radius: 3px; } .elementor-field-textual.elementor-size-xs { font-size: 13px; min-height: 33px; padding: 4px 12px; border-radius: 2px; } .elementor-field-textual.elementor-size-md { font-size: 16px; min-height: 47px; padding: 6px 16px; border-radius: 4px; } .elementor-field-textual.elementor-size-lg { font-size: 18px; min-height: 59px; padding: 7px 20px; border-radius: 5px; } .elementor-field-textual.elementor-size-xl { font-size: 20px; min-height: 72px; padding: 8px 24px; border-radius: 6px; } .elementor-button-align-stretch .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button { flex-basis: 100%; } .elementor-button-align-stretch .e-form__buttons__wrapper { flex-basis: 50%; flex-grow: 1; } .elementor-button-align-stretch .e-form__buttons__wrapper__button { flex-basis: 100%; } .elementor-button-align-center .elementor-field-type-submit, .elementor-button-align-center .e-form__buttons { justify-content: center; } .elementor-button-align-start .elementor-field-type-submit, .elementor-button-align-start .e-form__buttons { justify-content: flex-end; } .elementor-button-align-end .elementor-field-type-submit, .elementor-button-align-end .e-form__buttons { justify-content: flex-start; } .elementor-button-align-center .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button, .elementor-button-align-start .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button, .elementor-button-align-end .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button { flex-basis: initial; } .elementor-button-align-center .e-form__buttons__wrapper, .elementor-button-align-start .e-form__buttons__wrapper, .elementor-button-align-end .e-form__buttons__wrapper { flex-grow: initial; } .elementor-button-align-center .e-form__buttons__wrapper, .elementor-button-align-center .e-form__buttons__wrapper__button, .elementor-button-align-start .e-form__buttons__wrapper, .elementor-button-align-start .e-form__buttons__wrapper__button, .elementor-button-align-end .e-form__buttons__wrapper, .elementor-button-align-end .e-form__buttons__wrapper__button { flex-basis: initial; } @media screen and (max-width: ELEMENTOR_SCREEN_TABLET_MAX) { .elementor-tablet-button-align-stretch .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button { flex-basis: 100%; } .elementor-tablet-button-align-stretch .e-form__buttons__wrapper { flex-basis: 50%; flex-grow: 1; } .elementor-tablet-button-align-stretch .e-form__buttons__wrapper__button { flex-basis: 100%; } .elementor-tablet-button-align-center .elementor-field-type-submit, .elementor-tablet-button-align-center .e-form__buttons { justify-content: center; } .elementor-tablet-button-align-start .elementor-field-type-submit, .elementor-tablet-button-align-start .e-form__buttons { justify-content: flex-end; } .elementor-tablet-button-align-end .elementor-field-type-submit, .elementor-tablet-button-align-end .e-form__buttons { justify-content: flex-start; } .elementor-tablet-button-align-center .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button, .elementor-tablet-button-align-start .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button, .elementor-tablet-button-align-end .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button { flex-basis: initial; } .elementor-tablet-button-align-center .e-form__buttons__wrapper, .elementor-tablet-button-align-start .e-form__buttons__wrapper, .elementor-tablet-button-align-end .e-form__buttons__wrapper { flex-grow: initial; } .elementor-tablet-button-align-center .e-form__buttons__wrapper, .elementor-tablet-button-align-center .e-form__buttons__wrapper__button, .elementor-tablet-button-align-start .e-form__buttons__wrapper, .elementor-tablet-button-align-start .e-form__buttons__wrapper__button, .elementor-tablet-button-align-end .e-form__buttons__wrapper, .elementor-tablet-button-align-end .e-form__buttons__wrapper__button { flex-basis: initial; } } @media screen and (max-width: ELEMENTOR_SCREEN_MOBILE_MAX) { .elementor-mobile-button-align-stretch .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button { flex-basis: 100%; } .elementor-mobile-button-align-stretch .e-form__buttons__wrapper { flex-basis: 50%; flex-grow: 1; } .elementor-mobile-button-align-stretch .e-form__buttons__wrapper__button { flex-basis: 100%; } .elementor-mobile-button-align-center .elementor-field-type-submit, .elementor-mobile-button-align-center .e-form__buttons { justify-content: center; } .elementor-mobile-button-align-start .elementor-field-type-submit, .elementor-mobile-button-align-start .e-form__buttons { justify-content: flex-end; } .elementor-mobile-button-align-end .elementor-field-type-submit, .elementor-mobile-button-align-end .e-form__buttons { justify-content: flex-start; } .elementor-mobile-button-align-center .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button, .elementor-mobile-button-align-start .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button, .elementor-mobile-button-align-end .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button { flex-basis: initial; } .elementor-mobile-button-align-center .e-form__buttons__wrapper, .elementor-mobile-button-align-start .e-form__buttons__wrapper, .elementor-mobile-button-align-end .e-form__buttons__wrapper { flex-grow: initial; } .elementor-mobile-button-align-center .e-form__buttons__wrapper, .elementor-mobile-button-align-center .e-form__buttons__wrapper__button, .elementor-mobile-button-align-start .e-form__buttons__wrapper, .elementor-mobile-button-align-start .e-form__buttons__wrapper__button, .elementor-mobile-button-align-end .e-form__buttons__wrapper, .elementor-mobile-button-align-end .e-form__buttons__wrapper__button { flex-basis: initial; } } .elementor-error .elementor-field { border-color: #d9534f; } .elementor-error .help-inline { color: #d9534f; font-size: 0.9em; } .elementor-message { margin: 10px 0; font-size: 1em; line-height: 1; } .elementor-message:before { content: "\e90e"; display: inline-block; font-family: eicons; font-weight: normal; font-style: normal; vertical-align: middle; margin-left: 5px; } .elementor-message.elementor-message-danger { color: #d9534f; } .elementor-message.elementor-message-danger:before { content: "\e87f"; } .elementor-message.form-message-success { color: #5cb85c; } .elementor-form .elementor-button { padding-top: 0; padding-bottom: 0; border: none; } .elementor-form .elementor-button > span { display: flex; justify-content: center; } .elementor-form .elementor-button.elementor-size-xs { min-height: 33px; } .elementor-form .elementor-button.elementor-size-sm { min-height: 40px; } .elementor-form .elementor-button.elementor-size-md { min-height: 47px; } .elementor-form .elementor-button.elementor-size-lg { min-height: 59px; } .elementor-form .elementor-button.elementor-size-xl { min-height: 72px; } .elementor-element .elementor-widget-container { transition: background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s; } .elementor-button { display: inline-block; line-height: 1; background-color: #818a91; font-size: 15px; padding: 12px 24px; border-radius: 3px; color: #fff; fill: #fff; text-align: center; transition: all 0.3s; } .elementor-button:hover, .elementor-button:focus, .elementor-button:visited { color: #fff; } .elementor-button-content-wrapper { display: flex; justify-content: center; } .elementor-button-icon { flex-grow: 0; order: 5; } .elementor-button-icon svg { width: 1em; height: auto; } .elementor-button-icon .e-font-icon-svg { height: 1em; } .elementor-button-text { flex-grow: 1; order: 10; display: inline-block; } .elementor-button.elementor-size-xs { font-size: 13px; padding: 10px 20px; border-radius: 2px; } .elementor-button.elementor-size-md { font-size: 16px; padding: 15px 30px; border-radius: 4px; } .elementor-button.elementor-size-lg { font-size: 18px; padding: 20px 40px; border-radius: 5px; } .elementor-button.elementor-size-xl { font-size: 20px; padding: 25px 50px; border-radius: 6px; } .elementor-button .elementor-align-icon-right { margin-left: 5px; order: 5; } .elementor-button .elementor-align-icon-left { margin-right: 5px; order: 15; } .elementor-button span { text-decoration: inherit; } .elementor-element.elementor-button-info .elementor-button { background-color: #5bc0de; } .elementor-element.elementor-button-success .elementor-button { background-color: #5cb85c; } .elementor-element.elementor-button-warning .elementor-button { background-color: #f0ad4e; } .elementor-element.elementor-button-danger .elementor-button { background-color: #d9534f; } .elementor-widget-button .elementor-button .elementor-button-info { background-color: #5bc0de; } .elementor-widget-button .elementor-button .elementor-button-success { background-color: #5cb85c; } .elementor-widget-button .elementor-button .elementor-button-warning { background-color: #f0ad4e; } .elementor-widget-button .elementor-button .elementor-button-danger { background-color: #d9534f; } .elementor-tab-title a { color: inherit; } .elementor-view-stacked .elementor-icon { padding: 0.5em; background-color: #818a91; color: #fff; fill: #fff; } .elementor-view-framed .elementor-icon { padding: 0.5em; color: #818a91; border: 3px solid #818a91; background-color: transparent; } .elementor-icon { display: inline-block; line-height: 1; transition: all 0.3s; color: #818a91; font-size: 50px; text-align: center; } .elementor-icon:hover { color: #818a91; } .elementor-icon i, .elementor-icon svg { width: 1em; height: 1em; position: relative; display: block; } .elementor-icon i:before, .elementor-icon svg:before { position: absolute; left: 50%; transform: translateX(-50%); } .elementor-icon i.fad { width: initial; } .elementor-shape-circle .elementor-icon { border-radius: 50%; } .e-transform .elementor-widget-container { transform: perspective(var(--e-transform-perspective, 0)) rotateZ(var(--e-transform-rotateZ, 0)) rotateX(var(--e-transform-rotateX, 0)) rotateY(var(--e-transform-rotateY, 0)) translate(var(--e-transform-translate, 0)) translateX(var(--e-transform-translateX, 0)) translateY(var(--e-transform-translateY, 0)) scaleX(calc(var(--e-transform-flipX, 1) * var(--e-transform-scaleX, var(--e-transform-scale, 1)))) scaleY(calc(var(--e-transform-flipY, 1) * var(--e-transform-scaleY, var(--e-transform-scale, 1)))) skewX(var(--e-transform-skewX, 0)) skewY(var(--e-transform-skewY, 0)); transform-origin: var(--e-transform-origin-y) var(--e-transform-origin-x); transition: transform var(--e-transform-transition-duration, 400ms); } /** * Swiper 3.4.2 * Customized by Elementor team */ .swiper-container { margin-left: auto; margin-right: auto; position: relative; overflow: hidden; /* Fix of Webkit flickering */ z-index: 1; } .swiper-container .swiper-slide figure { line-height: 0; } .swiper-container .elementor-lightbox-content-source { display: none; } .swiper-container-no-flexbox .swiper-slide { float: left; } .swiper-container-vertical > .swiper-wrapper { flex-direction: column; } .swiper-wrapper { position: relative; width: 100%; height: 100%; z-index: 1; display: flex; transition-property: transform; box-sizing: content-box; } .swiper-container-android .swiper-slide, .swiper-wrapper { transform: translate3d(0px, 0, 0); } .swiper-container-multirow > .swiper-wrapper { flex-wrap: wrap; } .swiper-container-free-mode > .swiper-wrapper { transition-timing-function: ease-out; margin: 0 auto; } .swiper-slide { flex-shrink: 0; width: 100%; height: 100%; position: relative; } /* Auto Height */ .swiper-container-autoheight { height: auto; } .swiper-container-autoheight .swiper-slide { height: auto; } .swiper-container-autoheight .swiper-wrapper { align-items: flex-start; transition-property: transform, height; } /* a11y */ .swiper-container .swiper-notification { position: absolute; left: 0; top: 0; pointer-events: none; opacity: 0; z-index: -1000; } /* IE10 Windows Phone 8 Fixes */ .swiper-wp8-horizontal { touch-action: pan-y; } .swiper-wp8-vertical { touch-action: pan-x; } /* Arrows */ .swiper-button-prev, .swiper-button-next { position: absolute; top: 50%; width: 27px; height: 44px; margin-top: -22px; z-index: 10; cursor: pointer; background-size: 27px 44px; background: no-repeat center; } .swiper-button-prev.swiper-button-disabled, .swiper-button-next.swiper-button-disabled { opacity: 0.35; cursor: auto; pointer-events: none; } .swiper-button-prev, .swiper-container-rtl .swiper-button-next { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E"); left: 10px; right: auto; } .swiper-button-prev.swiper-button-black, .swiper-container-rtl .swiper-button-next.swiper-button-black { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); } .swiper-button-prev.swiper-button-white, .swiper-container-rtl .swiper-button-next.swiper-button-white { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); } .swiper-button-next, .swiper-container-rtl .swiper-button-prev { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E"); right: 10px; left: auto; } .swiper-button-next.swiper-button-black, .swiper-container-rtl .swiper-button-prev.swiper-button-black { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); } .swiper-button-next.swiper-button-white, .swiper-container-rtl .swiper-button-prev.swiper-button-white { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); } /* Pagination Styles */ .swiper-pagination { position: absolute; text-align: center; transition: 300ms; transform: translate3d(0, 0, 0); z-index: 10; } .swiper-pagination.swiper-pagination-hidden { opacity: 0; } /* Common Styles */ .swiper-pagination-fraction, .swiper-pagination-custom, .swiper-container-horizontal > .swiper-pagination-bullets { bottom: 5px; left: 0; width: 100%; } /* Bullets */ .swiper-pagination-bullet { width: 6px; height: 6px; display: inline-block; border-radius: 50%; background: #000; opacity: 0.2; } .swiper-pagination-fraction { color: #000; } button.swiper-pagination-bullet { border: none; margin: 0; padding: 0; box-shadow: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; } .swiper-pagination-clickable .swiper-pagination-bullet { cursor: pointer; } .swiper-pagination-white .swiper-pagination-bullet { background: #fff; } .swiper-pagination-bullet-active { opacity: 1; } .swiper-pagination-white .swiper-pagination-bullet-active { background: #fff; } .swiper-pagination-black .swiper-pagination-bullet-active { background: #000; } .swiper-container-vertical > .swiper-pagination-bullets { right: 10px; top: 50%; transform: translate3d(0px, -50%, 0); } .swiper-container-vertical > .swiper-pagination-bullets .swiper-pagination-bullet { margin: 5px 0; display: block; } .swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet { margin: 0 6px; } /* Progressbar */ .swiper-pagination-progressbar { background: rgba(0, 0, 0, 0.25); position: absolute; } .swiper-pagination-progressbar .swiper-pagination-progressbar-fill { background: #000; position: absolute; left: 0; top: 0; width: 100%; height: 100%; transform: scale(0); transform-origin: left top; } .swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill { transform-origin: right top; } .swiper-container-horizontal > .swiper-pagination-progressbar { width: 100%; height: 4px; left: 0; top: 0; } .swiper-container-vertical > .swiper-pagination-progressbar { width: 4px; height: 100%; left: 0; top: 0; } .swiper-pagination-progressbar.swiper-pagination-white { background: rgba(255, 255, 255, 0.5); } .swiper-pagination-progressbar.swiper-pagination-white .swiper-pagination-progressbar-fill { background: #fff; } .swiper-pagination-progressbar.swiper-pagination-black .swiper-pagination-progressbar-fill { background: #000; } /* 3D Container */ .swiper-container-3d { perspective: 1200px; } .swiper-container-3d .swiper-wrapper, .swiper-container-3d .swiper-slide, .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top, .swiper-container-3d .swiper-slide-shadow-bottom, .swiper-container-3d .swiper-cube-shadow { transform-style: preserve-3d; } .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top, .swiper-container-3d .swiper-slide-shadow-bottom { position: absolute; left: 0; top: 0; width: 100%; height: 100%; pointer-events: none; z-index: 10; } .swiper-container-3d .swiper-slide-shadow-left { background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); } .swiper-container-3d .swiper-slide-shadow-right { background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); } .swiper-container-3d .swiper-slide-shadow-top { background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); } .swiper-container-3d .swiper-slide-shadow-bottom { background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); } /* Coverflow */ .swiper-container-coverflow .swiper-wrapper, .swiper-container-flip .swiper-wrapper { /* Windows 8 IE 10 fix */ -ms-perspective: 1200px; } /* Cube + Flip */ .swiper-container-cube, .swiper-container-flip { overflow: visible; } .swiper-container-cube .swiper-slide, .swiper-container-flip .swiper-slide { pointer-events: none; z-index: 1; } .swiper-container-cube .swiper-slide .swiper-slide, .swiper-container-flip .swiper-slide .swiper-slide { pointer-events: none; } .swiper-container-cube .swiper-slide-active, .swiper-container-flip .swiper-slide-active, .swiper-container-cube .swiper-slide-active .swiper-slide-active, .swiper-container-flip .swiper-slide-active .swiper-slide-active { pointer-events: auto; } .swiper-container-cube .swiper-slide-shadow-top, .swiper-container-flip .swiper-slide-shadow-top, .swiper-container-cube .swiper-slide-shadow-bottom, .swiper-container-flip .swiper-slide-shadow-bottom, .swiper-container-cube .swiper-slide-shadow-left, .swiper-container-flip .swiper-slide-shadow-left, .swiper-container-cube .swiper-slide-shadow-right, .swiper-container-flip .swiper-slide-shadow-right { z-index: 0; backface-visibility: hidden; } /* Cube */ .swiper-container-cube .swiper-slide { visibility: hidden; transform-origin: 0 0; width: 100%; height: 100%; } .swiper-container-cube.swiper-container-rtl .swiper-slide { transform-origin: 100% 0; } .swiper-container-cube .swiper-slide-active, .swiper-container-cube .swiper-slide-next, .swiper-container-cube .swiper-slide-prev, .swiper-container-cube .swiper-slide-next + .swiper-slide { pointer-events: auto; visibility: visible; } .swiper-container-cube .swiper-cube-shadow { position: absolute; left: 0; bottom: 0; width: 100%; height: 100%; background: #000; opacity: 0.6; -webkit-filter: blur(50px); filter: blur(50px); z-index: 0; } /* Fade */ .swiper-container-fade.swiper-container-free-mode .swiper-slide { transition-timing-function: ease-out; } .swiper-container-fade .swiper-slide { pointer-events: none; transition-property: opacity; } .swiper-container-fade .swiper-slide .swiper-slide { pointer-events: none; } .swiper-container-fade .swiper-slide-active { pointer-events: auto; } .swiper-container-fade .swiper-slide-active .swiper-slide-active { pointer-events: auto; } .swiper-zoom-container { width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; text-align: center; } .swiper-zoom-container > img, .swiper-zoom-container > svg, .swiper-zoom-container > canvas { max-width: 100%; max-height: 100%; object-fit: contain; } /* Scrollbar */ .swiper-scrollbar { border-radius: 10px; position: relative; -ms-touch-action: none; background: rgba(0, 0, 0, 0.1); } .swiper-container-horizontal > .swiper-scrollbar { position: absolute; left: 1%; bottom: 3px; z-index: 50; height: 5px; width: 98%; } .swiper-container-vertical > .swiper-scrollbar { position: absolute; right: 3px; top: 1%; z-index: 50; width: 5px; height: 98%; } .swiper-scrollbar-drag { height: 100%; width: 100%; position: relative; background: rgba(0, 0, 0, 0.5); border-radius: 10px; left: 0; top: 0; } .swiper-scrollbar-cursor-drag { cursor: move; } .elementor-pagination-position-outside .swiper-container { padding-bottom: 30px; } .elementor-pagination-position-outside .elementor-swiper-button { top: calc(50% - 30px / 2); } .elementor-swiper { position: relative; } .elementor-main-swiper { position: static; } .elementor-arrows-position-outside .swiper-container { width: calc(100% - 60px); } .elementor-arrows-position-outside .elementor-swiper-button-prev { left: 0; } .elementor-arrows-position-outside .elementor-swiper-button-next { right: 0; } .swiper-image-stretch .swiper-slide .swiper-slide-image { width: 100%; } .elementor-swiper-button { position: absolute; display: inline-flex; z-index: 1; cursor: pointer; font-size: 25px; color: rgba(238, 238, 238, 0.9); top: 50%; transform: translateY(-50%); } .elementor-swiper-button svg { fill: rgba(238, 238, 238, 0.9); height: 1em; width: 1em; } .elementor-swiper-button-prev { left: 10px; } .elementor-swiper-button-next { right: 10px; } .elementor-swiper-button.swiper-button-disabled { opacity: 0.3; } .swiper-container-cube .elementor-swiper-button { transform: translate3d(0, -50%, 1px); } /* Preloader */ .swiper-lazy-preloader { width: 42px; height: 42px; position: absolute; left: 50%; top: 50%; margin-left: -21px; margin-top: -21px; z-index: 10; transform-origin: 50%; animation: swiper-preloader-spin 1s steps(12, end) infinite; } .swiper-lazy-preloader:after { display: block; content: ""; width: 100%; height: 100%; background-size: 100%; background: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat 50%; } .swiper-lazy-preloader-white:after { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); } @keyframes swiper-preloader-spin { 100% { transform: rotate(360deg); } } .elementor-lightbox { --lightbox-ui-color: rgba(238, 238, 238, 0.9); --lightbox-ui-color-hover: #fff; --lightbox-text-color: var(--lightbox-ui-color); --lightbox-header-icons-size: 20px; --lightbox-navigation-icons-size: 25px; } .elementor-lightbox .dialog-header { display: none; } .elementor-lightbox .dialog-widget-content { background: none; box-shadow: none; width: 100%; height: 100%; } .elementor-lightbox .dialog-message { animation-duration: 0.3s; } .elementor-lightbox .dialog-message:not(.elementor-fit-aspect-ratio) { height: 100%; } .elementor-lightbox .dialog-message.dialog-lightbox-message { padding: 0; } .elementor-lightbox .dialog-lightbox-close-button { cursor: pointer; position: absolute; font-size: var(--lightbox-header-icons-size); left: 0.75em; margin-top: 13px; padding: 0.25em; z-index: 2; line-height: 1; display: flex; } .elementor-lightbox .dialog-lightbox-close-button svg { height: 1em; width: 1em; } .elementor-lightbox .dialog-lightbox-close-button, .elementor-lightbox .elementor-swiper-button { color: var(--lightbox-ui-color); transition: all 0.3s; opacity: 1; } .elementor-lightbox .dialog-lightbox-close-button svg, .elementor-lightbox .elementor-swiper-button svg { fill: var(--lightbox-ui-color); } .elementor-lightbox .dialog-lightbox-close-button:hover, .elementor-lightbox .elementor-swiper-button:hover { color: var(--lightbox-ui-color-hover); } .elementor-lightbox .dialog-lightbox-close-button:hover svg, .elementor-lightbox .elementor-swiper-button:hover svg { fill: var(--lightbox-ui-color-hover); } .elementor-lightbox .swiper-container { height: 100%; } .elementor-lightbox .elementor-lightbox-item { display: flex; align-items: center; justify-content: center; position: relative; padding: 70px; box-sizing: border-box; height: 100%; margin: auto; } @media (max-width: ELEMENTOR_SCREEN_MOBILE_MAX) { .elementor-lightbox .elementor-lightbox-item { padding: 70px 0; } } .elementor-lightbox .elementor-lightbox-image { max-height: 100%; user-select: none; } .elementor-lightbox .elementor-lightbox-image, .elementor-lightbox .elementor-lightbox-image:hover { opacity: 1; filter: none; border: none; } .elementor-lightbox .elementor-lightbox-image, .elementor-lightbox .elementor-video-container { box-shadow: 0 0 30px rgba(0, 0, 0, 0.3), 0 0 8px -5px rgba(0, 0, 0, 0.3); border-radius: 2px; } .elementor-lightbox .elementor-video-container { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } @media (min-width: ELEMENTOR_SCREEN_TABLET_NEXT) { .elementor-lightbox .elementor-video-container { width: 75%; } } @media (max-width: ELEMENTOR_SCREEN_TABLET_MAX) { .elementor-lightbox .elementor-video-container { width: 100%; } } @media (min-width: 768px) and (max-width: 1024px) { .elementor-lightbox .elementor-aspect-ratio-916 .elementor-video-container { width: 70%; } } .elementor-lightbox .elementor-swiper-button:focus { outline-width: 1px; } .elementor-lightbox .elementor-swiper-button-prev, .elementor-lightbox .elementor-swiper-button-next { height: 100%; display: flex; align-items: center; width: 15%; justify-content: center; font-size: var(--lightbox-navigation-icons-size); } .elementor-lightbox .elementor-swiper-button-prev { left: 0; } .elementor-lightbox .elementor-swiper-button-next { right: 0; } @media (max-width: ELEMENTOR_SCREEN_MOBILE_MAX) { .elementor-lightbox .elementor-swiper-button:focus { outline: none; } .elementor-lightbox .elementor-swiper-button-prev, .elementor-lightbox .elementor-swiper-button-next { width: 20%; } .elementor-lightbox .elementor-swiper-button-prev i, .elementor-lightbox .elementor-swiper-button-next i { padding: 10px; background-color: rgba(0, 0, 0, 0.5); } .elementor-lightbox .elementor-swiper-button-prev { left: 0; justify-content: flex-start; } .elementor-lightbox .elementor-swiper-button-next { right: 0; justify-content: flex-end; } } .elementor-slideshow__counter { color: currentColor; font-size: 0.75em; width: max-content; } .elementor-slideshow__header, .elementor-slideshow__footer { position: absolute; left: 0; width: 100%; padding: 15px 20px; transition: 0.3s; } .elementor-slideshow__footer { color: var(--lightbox-text-color); } .elementor-slideshow__header { color: var(--lightbox-ui-color); display: flex; flex-direction: row-reverse; font-size: var(--lightbox-header-icons-size); padding-right: 1em; padding-left: 2.6em; top: 0; align-items: center; z-index: 10; } .elementor-slideshow__header > i, .elementor-slideshow__header > svg { cursor: pointer; padding: 0.25em; margin: 0 0.35em; } .elementor-slideshow__header > i { font-size: inherit; } .elementor-slideshow__header > i:hover { color: var(--lightbox-ui-color-hover); } .elementor-slideshow__header > svg { box-sizing: content-box; fill: var(--lightbox-ui-color); height: 1em; width: 1em; } .elementor-slideshow__header > svg:hover { fill: var(--lightbox-ui-color-hover); } .elementor-slideshow__header .elementor-slideshow__counter { margin-left: auto; } .elementor-slideshow__header .elementor-icon-share { z-index: 5; } .elementor-slideshow__share-menu { background-color: rgba(0, 0, 0, 0); width: 0; height: 0; position: absolute; overflow: hidden; transition: background-color 400ms; } .elementor-slideshow__share-menu .elementor-slideshow__share-links a { color: #2C2C2C; } .elementor-slideshow__share-links { display: block; position: absolute; min-width: 200px; left: 2.8em; top: 3em; background-color: #fff; border-radius: 3px; padding: 14px 20px; transform: scale(0); opacity: 0; transform-origin: 90% 10%; transition: all 250ms 100ms; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3); } .elementor-slideshow__share-links a { text-align: right; color: #55595c; font-size: 12px; line-height: 2.5; display: block; opacity: 0; transition: opacity 500ms 100ms; } .elementor-slideshow__share-links a:hover { color: #000; } .elementor-slideshow__share-links a i, .elementor-slideshow__share-links a svg { margin-left: 0.75em; } .elementor-slideshow__share-links a i { font-size: 1.25em; } .elementor-slideshow__share-links a svg { height: 1.25em; width: 1.25em; } .elementor-slideshow__share-links:before { content: ""; display: block; position: absolute; top: 1px; left: 0.5em; border: 0.45em solid; border-color: transparent transparent #fff transparent; transform: translateY(-100%) scaleX(0.7); } .elementor-slideshow__footer { bottom: 0; z-index: 5; position: fixed; } .elementor-slideshow__title, .elementor-slideshow__description { margin: 0; } .elementor-slideshow__title { font-size: 16px; font-weight: bold; } .elementor-slideshow__description { font-size: 14px; } .elementor-slideshow--ui-hidden .elementor-slideshow__header, .elementor-slideshow--ui-hidden .elementor-slideshow__footer { opacity: 0; pointer-events: none; } .elementor-slideshow--ui-hidden .elementor-swiper-button-prev, .elementor-slideshow--ui-hidden .elementor-swiper-button-next { opacity: 0; } .elementor-slideshow--fullscreen-mode .elementor-video-container { width: 100%; } .elementor-slideshow--zoom-mode .elementor-slideshow__header, .elementor-slideshow--zoom-mode .elementor-slideshow__footer { background-color: rgba(0, 0, 0, 0.5); } .elementor-slideshow--zoom-mode .elementor-swiper-button-prev, .elementor-slideshow--zoom-mode .elementor-swiper-button-next { opacity: 0; pointer-events: none; } .elementor-slideshow--share-mode .elementor-slideshow__share-menu { top: 0; left: 0; width: 100vw; height: 100vh; opacity: 1; cursor: default; background-color: rgba(0, 0, 0, 0.5); } .elementor-slideshow--share-mode .elementor-slideshow__share-links { transform: scale(1); } .elementor-slideshow--share-mode .elementor-slideshow__share-links, .elementor-slideshow--share-mode .elementor-slideshow__share-links a { opacity: 1; } .elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-twitter { color: #1DA1F2; } .elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-facebook { color: #3b5998; } .elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-pinterest { color: #bd081c; } .elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-download-bold { color: #a4afb7; } .elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-twitter { fill: #1DA1F2; } .elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-facebook { fill: #3b5998; } .elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-pinterest { fill: #bd081c; } .elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-download-bold { fill: #a4afb7; } .elementor-slideshow--share-mode .eicon-share-arrow { z-index: 2; } .animated { animation-duration: 1.25s; } .animated.animated-slow { animation-duration: 2s; } .animated.animated-fast { animation-duration: 0.75s; } .animated.infinite { animation-iteration-count: infinite; } .animated.reverse { animation-direction: reverse; animation-fill-mode: forwards; } @media (prefers-reduced-motion: reduce) { .animated { animation: none; } } .elementor-shape { overflow: hidden; position: absolute; left: 0; width: 100%; line-height: 0; direction: ltr; /* * @TODO: The `z-index: -1` rules below are temporary fixes for Chrome 85 issue. * It will be removed in a future version of Chrome. */ } .elementor-shape-top { top: -1px; } .elementor-shape-top:not([data-negative=false]) svg { z-index: -1; } .elementor-shape-bottom { bottom: -1px; } .elementor-shape-bottom:not([data-negative=true]) svg { z-index: -1; } .elementor-shape[data-negative=false].elementor-shape-bottom { transform: rotate(180deg); } .elementor-shape[data-negative=true].elementor-shape-top { transform: rotate(180deg); } .elementor-shape svg { display: block; width: calc(100% + 1.3px); position: relative; left: 50%; transform: translateX(-50%); } .elementor-shape .elementor-shape-fill { fill: #fff; transform-origin: center; transform: rotateY(0deg); } #wp-admin-bar-elementor_edit_page > .ab-item::before { content: "\e813"; font-family: eicons; top: 3px; font-size: 18px; } #wp-admin-bar-elementor_edit_page .ab-submenu .ab-item { display: flex; width: 200px; } #wp-admin-bar-elementor_edit_page .elementor-edit-link-title { white-space: nowrap; text-overflow: ellipsis; overflow: hidden; width: 100%; } #wp-admin-bar-elementor_edit_page .elementor-edit-link-type { background: #55595c; font-size: 11px; line-height: 9px; margin-top: 6px; padding: 4px 8px; border-radius: 3px; } #wp-admin-bar-elementor_inspector > .ab-item::before { content: "\f348"; top: 2px; } #wpadminbar * { font-style: normal; } .page-template-elementor_canvas.elementor-page:before { display: none; } .elementor-post__thumbnail__link { transition: none; } #left-area ul.elementor-icon-list-items, .elementor .elementor-element ul.elementor-icon-list-items, .elementor-edit-area .elementor-element ul.elementor-icon-list-items { padding: 0; } .e--ua-appleWebkit.rtl { --flex-right: flex-start; } .e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-right, .e--ua-appleWebkit .elementor-share-buttons--align-right { --justify-content: var(--flex-right, flex-end); } .e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-center, .e--ua-appleWebkit .elementor-share-buttons--align-center { --justify-content: center; } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-right .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-center .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-right .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-center .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-justify .elementor-grid { width: auto; display: flex; flex-wrap: wrap; justify-content: var(--justify-content, space-between); margin-left: calc(-0.5 * var(--grid-column-gap)); margin-right: calc(-0.5 * var(--grid-column-gap)); } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-right .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-center .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-right .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-center .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-justify .elementor-grid-item { margin-left: calc(0.5 * var(--grid-column-gap)); margin-right: calc(0.5 * var(--grid-column-gap)); } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-left .elementor-grid { display: inline-block; } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-left .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-left .elementor-grid-item { margin-left: 0; margin-right: 0; } @media (max-width: ELEMENTOR_SCREEN_TABLET_MAX) { .e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-tablet-right, .e--ua-appleWebkit .elementor-share-buttons-tablet--align-right { --justify-content: var(--flex-right, flex-end); } .e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-tablet-center, .e--ua-appleWebkit .elementor-share-buttons-tablet--align-center { --justify-content: center; } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-right .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-center .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-right .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-center .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-justify .elementor-grid { width: auto; display: flex; flex-wrap: wrap; justify-content: var(--justify-content, space-between); margin-left: calc(-0.5 * var(--grid-column-gap)); margin-right: calc(-0.5 * var(--grid-column-gap)); } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-right .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-center .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-right .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-center .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-justify .elementor-grid-item { margin-left: calc(0.5 * var(--grid-column-gap)); margin-right: calc(0.5 * var(--grid-column-gap)); } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-tablet--align-left .elementor-grid { display: inline-block; } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-left .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-tablet--align-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-tablet--align-left .elementor-grid-item { margin-left: 0; margin-right: 0; } } @media (max-width: ELEMENTOR_SCREEN_MOBILE_MAX) { .e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-mobile-right, .e--ua-appleWebkit .elementor-share-buttons-mobile--align-right { --justify-content: var(--flex-right, flex-end); } .e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-mobile-center, .e--ua-appleWebkit .elementor-share-buttons-mobile--align-center { --justify-content: center; } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-right .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-center .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-right .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-center .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-justify .elementor-grid { width: auto; display: flex; flex-wrap: wrap; justify-content: var(--justify-content, space-between); margin-left: calc(-0.5 * var(--grid-column-gap)); margin-right: calc(-0.5 * var(--grid-column-gap)); } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-right .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-center .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-right .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-center .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-justify .elementor-grid-item { margin-left: calc(0.5 * var(--grid-column-gap)); margin-right: calc(0.5 * var(--grid-column-gap)); } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-mobile--align-left .elementor-grid { display: inline-block; } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-left .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-mobile--align-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-mobile--align-left .elementor-grid-item { margin-left: 0; margin-right: 0; } } @media (max-width: ELEMENTOR_SCREEN_MOBILE_MAX) { .elementor .elementor-hidden-mobile { display: none; } .elementor .elementor-hidden-phone { display: none; } } @media (min-width: ELEMENTOR_SCREEN_MOBILE_EXTRA_MIN) and (max-width: ELEMENTOR_SCREEN_MOBILE_EXTRA_MAX) { .elementor .elementor-hidden-mobile_extra { display: none; } } @media (min-width: ELEMENTOR_SCREEN_TABLET_MIN) and (max-width: ELEMENTOR_SCREEN_TABLET_MAX) { .elementor .elementor-hidden-tablet { display: none; } } @media (min-width: ELEMENTOR_SCREEN_TABLET_EXTRA_MIN) and (max-width: ELEMENTOR_SCREEN_TABLET_EXTRA_MAX) { .elementor .elementor-hidden-tablet_extra { display: none; } } @media (min-width: ELEMENTOR_SCREEN_LAPTOP_MIN) and (max-width: ELEMENTOR_SCREEN_LAPTOP_MAX) { .elementor .elementor-hidden-laptop { display: none; } } @media (min-width: ELEMENTOR_SCREEN_DESKTOP_MIN) and (max-width: ELEMENTOR_SCREEN_DESKTOP_MAX) { .elementor .elementor-hidden-desktop { display: none; } } @media (min-width: ELEMENTOR_SCREEN_WIDESCREEN_MIN) { .elementor .elementor-hidden-widescreen { display: none; } } .elementor-widget-text-path { font-size: 20px; text-align: var(--alignment, right); } .elementor-widget-text-path svg { width: var(--width); max-width: 100%; height: auto; overflow: visible; word-spacing: var(--word-spacing); transform: rotate(var(--rotate, 0)) scaleX(var(--scale-x, 1)) scaleY(var(--scale-y, 1)); } .elementor-widget-text-path svg path { vector-effect: non-scaling-stroke; /* Prevent stroke size scaling when resizing the SVG. */ fill: var(--path-fill, transparent); stroke: var(--stroke-color, transparent); stroke-width: var(--stroke-width, 1px); transition: var(--stroke-transition) stroke, var(--stroke-transition) fill; } .elementor-widget-text-path svg:hover path { --path-fill: var( --path-fill-hover ); --stroke-color: var( --stroke-color-hover ); --stroke-width: var( --stroke-width-hover ); } .elementor-widget-text-path svg text { --fill: var( --text-color ); fill: var(--fill); direction: var(--direction, rtl); transition: var(--transition) stroke, var(--transition) stroke-width, var(--transition) fill; } .elementor-widget-text-path svg text:hover { --color: var( --text-color-hover, var( --text-color ) ); --fill: var( --color ); color: var(--color); } .elementor-accordion { text-align: right; } .elementor-accordion .elementor-accordion-item { border: 1px solid #D4D4D4; } .elementor-accordion .elementor-accordion-item + .elementor-accordion-item { border-top: none; } .elementor-accordion .elementor-tab-title { margin: 0; padding: 15px 20px; font-weight: bold; line-height: 1; cursor: pointer; outline: none; } .elementor-accordion .elementor-tab-title .elementor-accordion-icon { display: inline-block; width: 1.5em; } .elementor-accordion .elementor-tab-title .elementor-accordion-icon svg { width: 1em; height: 1em; } .elementor-accordion .elementor-tab-title .elementor-accordion-icon.elementor-accordion-icon-right { float: right; text-align: right; } .elementor-accordion .elementor-tab-title .elementor-accordion-icon.elementor-accordion-icon-left { float: left; text-align: left; } .elementor-accordion .elementor-tab-title .elementor-accordion-icon .elementor-accordion-icon-closed { display: block; } .elementor-accordion .elementor-tab-title .elementor-accordion-icon .elementor-accordion-icon-opened { display: none; } .elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon-closed { display: none; } .elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon-opened { display: block; } .elementor-accordion .elementor-tab-content { display: none; padding: 15px 20px; border-top: 1px solid #D4D4D4; } @media (max-width: ELEMENTOR_SCREEN_MOBILE_MAX) { .elementor-accordion .elementor-tab-title { padding: 12px 15px; } .elementor-accordion .elementor-tab-title .elementor-accordion-icon { width: 1.2em; } .elementor-accordion .elementor-tab-content { padding: 7px 15px; } } .elementor-alert { padding: 15px; border-left: 5px solid transparent; position: relative; text-align: right; } .elementor-alert .elementor-alert-title { display: block; font-weight: bold; } .elementor-alert .elementor-alert-description { font-size: 13px; } .elementor-alert button.elementor-alert-dismiss { position: absolute; left: 10px; top: 10px; padding: 3px; font-size: 20px; line-height: 1; background: transparent; color: inherit; border: none; cursor: pointer; } .elementor-alert.elementor-alert-info { color: #31708f; background-color: #d9edf7; border-color: #bcdff1; } .elementor-alert.elementor-alert-success { color: #3c763d; background-color: #dff0d8; border-color: #cae6be; } .elementor-alert.elementor-alert-warning { color: #8a6d3b; background-color: #fcf8e3; border-color: #f9f0c3; } .elementor-alert.elementor-alert-danger { color: #a94442; background-color: #f2dede; border-color: #e8c4c4; } @media (max-width: ELEMENTOR_SCREEN_MOBILE_MAX) { .elementor-alert { padding: 10px; } .elementor-alert button.elementor-alert-dismiss { right: 7px; top: 7px; } } .elementor-counter .elementor-counter-number-wrapper { display: flex; font-size: 69px; font-weight: 600; line-height: 1; } .elementor-counter .elementor-counter-number-prefix, .elementor-counter .elementor-counter-number-suffix { flex-grow: 1; white-space: pre-wrap; } .elementor-counter .elementor-counter-number-prefix { text-align: left; } .elementor-counter .elementor-counter-number-suffix { text-align: right; } .elementor-counter .elementor-counter-title { text-align: center; font-size: 19px; font-weight: 400; line-height: 2.5; } .elementor-widget-divider { --divider-border-style: none; --divider-border-width: 1px; --divider-color: #2C2C2C; --divider-icon-size: 20px; --divider-element-spacing: 10px; --divider-pattern-height: 24px; --divider-pattern-size: 20px; --divider-pattern-url: none; --divider-pattern-repeat: repeat-x; } .elementor-widget-divider .elementor-divider { display: flex; } .elementor-widget-divider .elementor-divider__text { font-size: 15px; line-height: 1; max-width: 95%; } .elementor-widget-divider .elementor-divider__element { margin: 0 var(--divider-element-spacing); flex-shrink: 0; } .elementor-widget-divider .elementor-icon { font-size: var(--divider-icon-size); } .elementor-widget-divider .elementor-divider-separator { display: flex; margin: 0; direction: ltr; } .elementor-widget-divider--view-line_text .elementor-divider-separator, .elementor-widget-divider--view-line_icon .elementor-divider-separator { align-items: center; } .elementor-widget-divider--view-line_text .elementor-divider-separator:before, .elementor-widget-divider--view-line_text .elementor-divider-separator:after, .elementor-widget-divider--view-line_icon .elementor-divider-separator:before, .elementor-widget-divider--view-line_icon .elementor-divider-separator:after { display: block; content: ""; border-bottom: 0; flex-grow: 1; border-top: var(--divider-border-width) var(--divider-border-style) var(--divider-color); } .elementor-widget-divider--element-align-left .elementor-divider .elementor-divider-separator > .elementor-divider__svg:first-of-type { flex-grow: 0; flex-shrink: 100; } .elementor-widget-divider--element-align-left .elementor-divider-separator:before { content: none; } .elementor-widget-divider--element-align-left .elementor-divider__element { margin-left: 0; } .elementor-widget-divider--element-align-right .elementor-divider .elementor-divider-separator > .elementor-divider__svg:last-of-type { flex-grow: 0; flex-shrink: 100; } .elementor-widget-divider--element-align-right .elementor-divider-separator:after { content: none; } .elementor-widget-divider--element-align-right .elementor-divider__element { margin-right: 0; } .elementor-widget-divider:not(.elementor-widget-divider--view-line_text):not(.elementor-widget-divider--view-line_icon) .elementor-divider-separator { border-top: var(--divider-border-width) var(--divider-border-style) var(--divider-color); } .elementor-widget-divider--separator-type-pattern { --divider-border-style: none; } .elementor-widget-divider--separator-type-pattern.elementor-widget-divider--view-line .elementor-divider-separator, .elementor-widget-divider--separator-type-pattern:not([class*=elementor-widget-divider--view]) .elementor-divider-separator, .elementor-widget-divider--separator-type-pattern:not(.elementor-widget-divider--view-line) .elementor-divider-separator:before, .elementor-widget-divider--separator-type-pattern:not(.elementor-widget-divider--view-line) .elementor-divider-separator:after { width: 100%; min-height: var(--divider-pattern-height); -webkit-mask-size: var(--divider-pattern-size) 100%; mask-size: var(--divider-pattern-size) 100%; -webkit-mask-repeat: var(--divider-pattern-repeat); mask-repeat: var(--divider-pattern-repeat); background-color: var(--divider-color); -webkit-mask-image: var(--divider-pattern-url); mask-image: var(--divider-pattern-url); } .elementor-widget-divider--no-spacing { --divider-pattern-size: auto; } .elementor-widget-divider--bg-round { --divider-pattern-repeat: round; } .rtl .elementor-widget-divider .elementor-divider__text { direction: rtl; } .elementor-image-gallery .gallery-item { display: inline-block; text-align: center; vertical-align: top; width: 100%; max-width: 100%; margin: 0 auto; } .elementor-image-gallery .gallery-item img { margin: 0 auto; } .elementor-image-gallery .gallery-item .gallery-caption { margin: 0; } .elementor-image-gallery figure img { display: block; } .elementor-image-gallery figure figcaption { width: 100%; } .gallery-spacing-custom .elementor-image-gallery .gallery-icon { padding: 0; } @media (min-width: ELEMENTOR_SCREEN_MOBILE_NEXT) { .elementor-image-gallery .gallery-columns-2 .gallery-item { max-width: 50%; } .elementor-image-gallery .gallery-columns-3 .gallery-item { max-width: 33.33%; } .elementor-image-gallery .gallery-columns-4 .gallery-item { max-width: 25%; } .elementor-image-gallery .gallery-columns-5 .gallery-item { max-width: 20%; } .elementor-image-gallery .gallery-columns-6 .gallery-item { max-width: 16.666%; } .elementor-image-gallery .gallery-columns-7 .gallery-item { max-width: 14.28%; } .elementor-image-gallery .gallery-columns-8 .gallery-item { max-width: 12.5%; } .elementor-image-gallery .gallery-columns-9 .gallery-item { max-width: 11.11%; } .elementor-image-gallery .gallery-columns-10 .gallery-item { max-width: 10%; } } @media (min-width: 480px) and (max-width: ELEMENTOR_SCREEN_MOBILE_MAX) { .elementor-image-gallery .gallery.gallery-columns-2 .gallery-item, .elementor-image-gallery .gallery.gallery-columns-3 .gallery-item, .elementor-image-gallery .gallery.gallery-columns-4 .gallery-item, .elementor-image-gallery .gallery.gallery-columns-5 .gallery-item, .elementor-image-gallery .gallery.gallery-columns-6 .gallery-item, .elementor-image-gallery .gallery.gallery-columns-7 .gallery-item, .elementor-image-gallery .gallery.gallery-columns-8 .gallery-item, .elementor-image-gallery .gallery.gallery-columns-9 .gallery-item, .elementor-image-gallery .gallery.gallery-columns-10 .gallery-item { max-width: 50%; } } @media (max-width: 479px) { .elementor-image-gallery .gallery.gallery-columns-2 .gallery-item, .elementor-image-gallery .gallery.gallery-columns-3 .gallery-item, .elementor-image-gallery .gallery.gallery-columns-4 .gallery-item, .elementor-image-gallery .gallery.gallery-columns-5 .gallery-item, .elementor-image-gallery .gallery.gallery-columns-6 .gallery-item, .elementor-image-gallery .gallery.gallery-columns-7 .gallery-item, .elementor-image-gallery .gallery.gallery-columns-8 .gallery-item, .elementor-image-gallery .gallery.gallery-columns-9 .gallery-item, .elementor-image-gallery .gallery.gallery-columns-10 .gallery-item { max-width: 100%; } } .elementor-widget-google_maps .elementor-widget-container { overflow: hidden; } .elementor-widget-google_maps iframe { height: 300px; } .elementor-heading-title { padding: 0; margin: 0; line-height: 1; } .elementor-widget-heading .elementor-heading-title[class*=elementor-size-] > a { color: inherit; font-size: inherit; line-height: inherit; } .elementor-widget-heading .elementor-heading-title.elementor-size-small { font-size: 15px; } .elementor-widget-heading .elementor-heading-title.elementor-size-medium { font-size: 19px; } .elementor-widget-heading .elementor-heading-title.elementor-size-large { font-size: 29px; } .elementor-widget-heading .elementor-heading-title.elementor-size-xl { font-size: 39px; } .elementor-widget-heading .elementor-heading-title.elementor-size-xxl { font-size: 59px; } .elementor-widget-icon-box .elementor-icon-box-wrapper { display: block; text-align: center; } .elementor-widget-icon-box .elementor-icon-box-icon { margin-bottom: var(--icon-box-icon-margin, 15px); margin-right: auto; margin-left: auto; } @media (min-width: ELEMENTOR_SCREEN_MOBILE_NEXT) { .elementor-widget-icon-box.elementor-vertical-align-top .elementor-icon-box-wrapper { align-items: flex-start; } .elementor-widget-icon-box.elementor-vertical-align-middle .elementor-icon-box-wrapper { align-items: center; } .elementor-widget-icon-box.elementor-vertical-align-bottom .elementor-icon-box-wrapper { align-items: flex-end; } } .elementor-widget-icon-box.elementor-position-left .elementor-icon-box-wrapper, .elementor-widget-icon-box.elementor-position-right .elementor-icon-box-wrapper { display: flex; } .elementor-widget-icon-box.elementor-position-left .elementor-icon-box-icon, .elementor-widget-icon-box.elementor-position-right .elementor-icon-box-icon { display: inline-flex; flex: 0 0 auto; } .elementor-widget-icon-box.elementor-position-right .elementor-icon-box-wrapper { text-align: left; flex-direction: row; } .elementor-widget-icon-box.elementor-position-right .elementor-icon-box-icon { margin-left: var(--icon-box-icon-margin, 15px); margin-right: 0; margin-bottom: unset; } .elementor-widget-icon-box.elementor-position-left .elementor-icon-box-wrapper { text-align: right; flex-direction: row-reverse; } .elementor-widget-icon-box.elementor-position-left .elementor-icon-box-icon { margin-right: var(--icon-box-icon-margin, 15px); margin-left: 0; margin-bottom: unset; } .elementor-widget-icon-box.elementor-position-top .elementor-icon-box-wrapper { display: block; text-align: center; flex-direction: unset; } .elementor-widget-icon-box.elementor-position-top .elementor-icon-box-icon { margin-bottom: var(--icon-box-icon-margin, 15px); margin-right: auto; margin-left: auto; } @media (min-width: ELEMENTOR_SCREEN_WIDESCREEN_MIN) { .elementor-widget-icon-box.elementor-widescreen-position-left .elementor-icon-box-wrapper, .elementor-widget-icon-box.elementor-widescreen-position-right .elementor-icon-box-wrapper { display: flex; } .elementor-widget-icon-box.elementor-widescreen-position-left .elementor-icon-box-icon, .elementor-widget-icon-box.elementor-widescreen-position-right .elementor-icon-box-icon { display: inline-flex; flex: 0 0 auto; } .elementor-widget-icon-box.elementor-widescreen-position-right .elementor-icon-box-wrapper { text-align: left; flex-direction: row; } .elementor-widget-icon-box.elementor-widescreen-position-right .elementor-icon-box-icon { margin-left: var(--icon-box-icon-margin, 15px); margin-right: 0; margin-bottom: unset; } .elementor-widget-icon-box.elementor-widescreen-position-left .elementor-icon-box-wrapper { text-align: right; flex-direction: row-reverse; } .elementor-widget-icon-box.elementor-widescreen-position-left .elementor-icon-box-icon { margin-right: var(--icon-box-icon-margin, 15px); margin-left: 0; margin-bottom: unset; } .elementor-widget-icon-box.elementor-widescreen-position-top .elementor-icon-box-wrapper { display: block; text-align: center; flex-direction: unset; } .elementor-widget-icon-box.elementor-widescreen-position-top .elementor-icon-box-icon { margin-bottom: var(--icon-box-icon-margin, 15px); margin-right: auto; margin-left: auto; } } @media (max-width: ELEMENTOR_SCREEN_LAPTOP_MAX) { .elementor-widget-icon-box.elementor-laptop-position-left .elementor-icon-box-wrapper, .elementor-widget-icon-box.elementor-laptop-position-right .elementor-icon-box-wrapper { display: flex; } .elementor-widget-icon-box.elementor-laptop-position-left .elementor-icon-box-icon, .elementor-widget-icon-box.elementor-laptop-position-right .elementor-icon-box-icon { display: inline-flex; flex: 0 0 auto; } .elementor-widget-icon-box.elementor-laptop-position-right .elementor-icon-box-wrapper { text-align: left; flex-direction: row; } .elementor-widget-icon-box.elementor-laptop-position-right .elementor-icon-box-icon { margin-left: var(--icon-box-icon-margin, 15px); margin-right: 0; margin-bottom: unset; } .elementor-widget-icon-box.elementor-laptop-position-left .elementor-icon-box-wrapper { text-align: right; flex-direction: row-reverse; } .elementor-widget-icon-box.elementor-laptop-position-left .elementor-icon-box-icon { margin-right: var(--icon-box-icon-margin, 15px); margin-left: 0; margin-bottom: unset; } .elementor-widget-icon-box.elementor-laptop-position-top .elementor-icon-box-wrapper { display: block; text-align: center; flex-direction: unset; } .elementor-widget-icon-box.elementor-laptop-position-top .elementor-icon-box-icon { margin-bottom: var(--icon-box-icon-margin, 15px); margin-right: auto; margin-left: auto; } } @media (max-width: ELEMENTOR_SCREEN_TABLET_EXTRA_MAX) { .elementor-widget-icon-box.elementor-tablet_extra-position-left .elementor-icon-box-wrapper, .elementor-widget-icon-box.elementor-tablet_extra-position-right .elementor-icon-box-wrapper { display: flex; } .elementor-widget-icon-box.elementor-tablet_extra-position-left .elementor-icon-box-icon, .elementor-widget-icon-box.elementor-tablet_extra-position-right .elementor-icon-box-icon { display: inline-flex; flex: 0 0 auto; } .elementor-widget-icon-box.elementor-tablet_extra-position-right .elementor-icon-box-wrapper { text-align: left; flex-direction: row; } .elementor-widget-icon-box.elementor-tablet_extra-position-right .elementor-icon-box-icon { margin-left: var(--icon-box-icon-margin, 15px); margin-right: 0; margin-bottom: unset; } .elementor-widget-icon-box.elementor-tablet_extra-position-left .elementor-icon-box-wrapper { text-align: right; flex-direction: row-reverse; } .elementor-widget-icon-box.elementor-tablet_extra-position-left .elementor-icon-box-icon { margin-right: var(--icon-box-icon-margin, 15px); margin-left: 0; margin-bottom: unset; } .elementor-widget-icon-box.elementor-tablet_extra-position-top .elementor-icon-box-wrapper { display: block; text-align: center; flex-direction: unset; } .elementor-widget-icon-box.elementor-tablet_extra-position-top .elementor-icon-box-icon { margin-bottom: var(--icon-box-icon-margin, 15px); margin-right: auto; margin-left: auto; } } @media (max-width: ELEMENTOR_SCREEN_TABLET_MAX) { .elementor-widget-icon-box.elementor-tablet-position-left .elementor-icon-box-wrapper, .elementor-widget-icon-box.elementor-tablet-position-right .elementor-icon-box-wrapper { display: flex; } .elementor-widget-icon-box.elementor-tablet-position-left .elementor-icon-box-icon, .elementor-widget-icon-box.elementor-tablet-position-right .elementor-icon-box-icon { display: inline-flex; flex: 0 0 auto; } .elementor-widget-icon-box.elementor-tablet-position-right .elementor-icon-box-wrapper { text-align: left; flex-direction: row; } .elementor-widget-icon-box.elementor-tablet-position-right .elementor-icon-box-icon { margin-left: var(--icon-box-icon-margin, 15px); margin-right: 0; margin-bottom: unset; } .elementor-widget-icon-box.elementor-tablet-position-left .elementor-icon-box-wrapper { text-align: right; flex-direction: row-reverse; } .elementor-widget-icon-box.elementor-tablet-position-left .elementor-icon-box-icon { margin-right: var(--icon-box-icon-margin, 15px); margin-left: 0; margin-bottom: unset; } .elementor-widget-icon-box.elementor-tablet-position-top .elementor-icon-box-wrapper { display: block; text-align: center; flex-direction: unset; } .elementor-widget-icon-box.elementor-tablet-position-top .elementor-icon-box-icon { margin-bottom: var(--icon-box-icon-margin, 15px); margin-right: auto; margin-left: auto; } } @media (max-width: ELEMENTOR_SCREEN_MOBILE_EXTRA_MAX) { .elementor-widget-icon-box.elementor-mobile_extra-position-left .elementor-icon-box-wrapper, .elementor-widget-icon-box.elementor-mobile_extra-position-right .elementor-icon-box-wrapper { display: flex; } .elementor-widget-icon-box.elementor-mobile_extra-position-left .elementor-icon-box-icon, .elementor-widget-icon-box.elementor-mobile_extra-position-right .elementor-icon-box-icon { display: inline-flex; flex: 0 0 auto; } .elementor-widget-icon-box.elementor-mobile_extra-position-right .elementor-icon-box-wrapper { text-align: left; flex-direction: row; } .elementor-widget-icon-box.elementor-mobile_extra-position-right .elementor-icon-box-icon { margin-left: var(--icon-box-icon-margin, 15px); margin-right: 0; margin-bottom: unset; } .elementor-widget-icon-box.elementor-mobile_extra-position-left .elementor-icon-box-wrapper { text-align: right; flex-direction: row-reverse; } .elementor-widget-icon-box.elementor-mobile_extra-position-left .elementor-icon-box-icon { margin-right: var(--icon-box-icon-margin, 15px); margin-left: 0; margin-bottom: unset; } .elementor-widget-icon-box.elementor-mobile_extra-position-top .elementor-icon-box-wrapper { display: block; text-align: center; flex-direction: unset; } .elementor-widget-icon-box.elementor-mobile_extra-position-top .elementor-icon-box-icon { margin-bottom: var(--icon-box-icon-margin, 15px); margin-right: auto; margin-left: auto; } } @media (max-width: ELEMENTOR_SCREEN_MOBILE_MAX) { .elementor-widget-icon-box.elementor-mobile-position-left .elementor-icon-box-wrapper, .elementor-widget-icon-box.elementor-mobile-position-right .elementor-icon-box-wrapper { display: flex; } .elementor-widget-icon-box.elementor-mobile-position-left .elementor-icon-box-icon, .elementor-widget-icon-box.elementor-mobile-position-right .elementor-icon-box-icon { display: inline-flex; flex: 0 0 auto; } .elementor-widget-icon-box.elementor-mobile-position-right .elementor-icon-box-wrapper { text-align: left; flex-direction: row; } .elementor-widget-icon-box.elementor-mobile-position-right .elementor-icon-box-icon { margin-left: var(--icon-box-icon-margin, 15px); margin-right: 0; margin-bottom: unset; } .elementor-widget-icon-box.elementor-mobile-position-left .elementor-icon-box-wrapper { text-align: right; flex-direction: row-reverse; } .elementor-widget-icon-box.elementor-mobile-position-left .elementor-icon-box-icon { margin-right: var(--icon-box-icon-margin, 15px); margin-left: 0; margin-bottom: unset; } .elementor-widget-icon-box.elementor-mobile-position-top .elementor-icon-box-wrapper { display: block; text-align: center; flex-direction: unset; } .elementor-widget-icon-box.elementor-mobile-position-top .elementor-icon-box-icon { margin-bottom: var(--icon-box-icon-margin, 15px); margin-right: auto; margin-left: auto; } .elementor-widget-icon-box.elementor-position-left .elementor-icon-box-icon, .elementor-widget-icon-box.elementor-position-right .elementor-icon-box-icon { display: block; flex: unset; } } .elementor-widget-icon-box .elementor-icon-box-title a { color: inherit; } .elementor-widget-icon-box .elementor-icon-box-content { flex-grow: 1; } .elementor-widget-icon-box .elementor-icon-box-description { margin: 0; } .elementor-widget.elementor-icon-list--layout-inline .elementor-widget-container { overflow: hidden; } .elementor-widget .elementor-icon-list-items.elementor-inline-items { margin-right: -8px; margin-left: -8px; } .elementor-widget .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item { margin-right: 8px; margin-left: 8px; } .elementor-widget .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after { width: auto; left: auto; right: auto; position: relative; height: 100%; border-top: 0; border-bottom: 0; border-right: 0; border-left-width: 1px; border-style: solid; left: -8px; } .elementor-widget .elementor-icon-list-items { list-style-type: none; margin: 0; padding: 0; } .elementor-widget .elementor-icon-list-item { margin: 0; padding: 0; position: relative; } .elementor-widget .elementor-icon-list-item:after { position: absolute; bottom: 0; width: 100%; } .elementor-widget .elementor-icon-list-item, .elementor-widget .elementor-icon-list-item a { display: flex; align-items: center; font-size: inherit; } .elementor-widget .elementor-icon-list-icon + .elementor-icon-list-text { align-self: center; padding-right: 5px; } .elementor-widget .elementor-icon-list-icon { display: flex; } .elementor-widget .elementor-icon-list-icon svg { width: var(--e-icon-list-icon-size, 1em); height: var(--e-icon-list-icon-size, 1em); } .elementor-widget .elementor-icon-list-icon i { width: 1.25em; font-size: var(--e-icon-list-icon-size); } .elementor-widget.elementor-widget-icon-list .elementor-icon-list-icon { text-align: var(--e-icon-list-icon-align); } .elementor-widget.elementor-widget-icon-list .elementor-icon-list-icon svg { margin: var(--e-icon-list-icon-margin, 0 calc(var(--e-icon-list-icon-size, 1em) * 0.25) 0 0); } .elementor-widget.elementor-list-item-link-full_width a { width: 100%; } .elementor-widget.elementor-align-center .elementor-icon-list-item, .elementor-widget.elementor-align-center .elementor-icon-list-item a { justify-content: center; } .elementor-widget.elementor-align-center .elementor-icon-list-item:after { margin: auto; } .elementor-widget.elementor-align-center .elementor-inline-items { justify-content: center; } .elementor-widget.elementor-align-left .elementor-icon-list-item, .elementor-widget.elementor-align-left .elementor-icon-list-item a { justify-content: flex-end; text-align: left; } .elementor-widget.elementor-align-left .elementor-inline-items { justify-content: flex-end; } .elementor-widget.elementor-align-right .elementor-icon-list-item, .elementor-widget.elementor-align-right .elementor-icon-list-item a { justify-content: flex-start; text-align: right; } .elementor-widget.elementor-align-right .elementor-icon-list-items { justify-content: flex-start; } .elementor-widget:not(.elementor-align-right) .elementor-icon-list-item:after { right: 0; } .elementor-widget:not(.elementor-align-left) .elementor-icon-list-item:after { left: 0; } @media (min-width: ELEMENTOR_SCREEN_WIDESCREEN_MIN) { .elementor-widget.elementor-widescreen-align-center .elementor-icon-list-item, .elementor-widget.elementor-widescreen-align-center .elementor-icon-list-item a { justify-content: center; } .elementor-widget.elementor-widescreen-align-center .elementor-icon-list-item:after { margin: auto; } .elementor-widget.elementor-widescreen-align-center .elementor-inline-items { justify-content: center; } .elementor-widget.elementor-widescreen-align-left .elementor-icon-list-item, .elementor-widget.elementor-widescreen-align-left .elementor-icon-list-item a { justify-content: flex-end; text-align: left; } .elementor-widget.elementor-widescreen-align-left .elementor-inline-items { justify-content: flex-end; } .elementor-widget.elementor-widescreen-align-right .elementor-icon-list-item, .elementor-widget.elementor-widescreen-align-right .elementor-icon-list-item a { justify-content: flex-start; text-align: right; } .elementor-widget.elementor-widescreen-align-right .elementor-icon-list-items { justify-content: flex-start; } .elementor-widget:not(.elementor-widescreen-align-right) .elementor-icon-list-item:after { right: 0; } .elementor-widget:not(.elementor-widescreen-align-left) .elementor-icon-list-item:after { left: 0; } } @media (max-width: ELEMENTOR_SCREEN_LAPTOP_MAX) { .elementor-widget.elementor-laptop-align-center .elementor-icon-list-item, .elementor-widget.elementor-laptop-align-center .elementor-icon-list-item a { justify-content: center; } .elementor-widget.elementor-laptop-align-center .elementor-icon-list-item:after { margin: auto; } .elementor-widget.elementor-laptop-align-center .elementor-inline-items { justify-content: center; } .elementor-widget.elementor-laptop-align-left .elementor-icon-list-item, .elementor-widget.elementor-laptop-align-left .elementor-icon-list-item a { justify-content: flex-end; text-align: left; } .elementor-widget.elementor-laptop-align-left .elementor-inline-items { justify-content: flex-end; } .elementor-widget.elementor-laptop-align-right .elementor-icon-list-item, .elementor-widget.elementor-laptop-align-right .elementor-icon-list-item a { justify-content: flex-start; text-align: right; } .elementor-widget.elementor-laptop-align-right .elementor-icon-list-items { justify-content: flex-start; } .elementor-widget:not(.elementor-laptop-align-right) .elementor-icon-list-item:after { right: 0; } .elementor-widget:not(.elementor-laptop-align-left) .elementor-icon-list-item:after { left: 0; } } @media (max-width: ELEMENTOR_SCREEN_TABLET_EXTRA_MAX) { .elementor-widget.elementor-tablet_extra-align-center .elementor-icon-list-item, .elementor-widget.elementor-tablet_extra-align-center .elementor-icon-list-item a { justify-content: center; } .elementor-widget.elementor-tablet_extra-align-center .elementor-icon-list-item:after { margin: auto; } .elementor-widget.elementor-tablet_extra-align-center .elementor-inline-items { justify-content: center; } .elementor-widget.elementor-tablet_extra-align-left .elementor-icon-list-item, .elementor-widget.elementor-tablet_extra-align-left .elementor-icon-list-item a { justify-content: flex-end; text-align: left; } .elementor-widget.elementor-tablet_extra-align-left .elementor-inline-items { justify-content: flex-end; } .elementor-widget.elementor-tablet_extra-align-right .elementor-icon-list-item, .elementor-widget.elementor-tablet_extra-align-right .elementor-icon-list-item a { justify-content: flex-start; text-align: right; } .elementor-widget.elementor-tablet_extra-align-right .elementor-icon-list-items { justify-content: flex-start; } .elementor-widget:not(.elementor-tablet_extra-align-right) .elementor-icon-list-item:after { right: 0; } .elementor-widget:not(.elementor-tablet_extra-align-left) .elementor-icon-list-item:after { left: 0; } } @media (max-width: ELEMENTOR_SCREEN_TABLET_MAX) { .elementor-widget.elementor-tablet-align-center .elementor-icon-list-item, .elementor-widget.elementor-tablet-align-center .elementor-icon-list-item a { justify-content: center; } .elementor-widget.elementor-tablet-align-center .elementor-icon-list-item:after { margin: auto; } .elementor-widget.elementor-tablet-align-center .elementor-inline-items { justify-content: center; } .elementor-widget.elementor-tablet-align-left .elementor-icon-list-item, .elementor-widget.elementor-tablet-align-left .elementor-icon-list-item a { justify-content: flex-end; text-align: left; } .elementor-widget.elementor-tablet-align-left .elementor-inline-items { justify-content: flex-end; } .elementor-widget.elementor-tablet-align-right .elementor-icon-list-item, .elementor-widget.elementor-tablet-align-right .elementor-icon-list-item a { justify-content: flex-start; text-align: right; } .elementor-widget.elementor-tablet-align-right .elementor-icon-list-items { justify-content: flex-start; } .elementor-widget:not(.elementor-tablet-align-right) .elementor-icon-list-item:after { right: 0; } .elementor-widget:not(.elementor-tablet-align-left) .elementor-icon-list-item:after { left: 0; } } @media (max-width: ELEMENTOR_SCREEN_MOBILE_EXTRA_MAX) { .elementor-widget.elementor-mobile_extra-align-center .elementor-icon-list-item, .elementor-widget.elementor-mobile_extra-align-center .elementor-icon-list-item a { justify-content: center; } .elementor-widget.elementor-mobile_extra-align-center .elementor-icon-list-item:after { margin: auto; } .elementor-widget.elementor-mobile_extra-align-center .elementor-inline-items { justify-content: center; } .elementor-widget.elementor-mobile_extra-align-left .elementor-icon-list-item, .elementor-widget.elementor-mobile_extra-align-left .elementor-icon-list-item a { justify-content: flex-end; text-align: left; } .elementor-widget.elementor-mobile_extra-align-left .elementor-inline-items { justify-content: flex-end; } .elementor-widget.elementor-mobile_extra-align-right .elementor-icon-list-item, .elementor-widget.elementor-mobile_extra-align-right .elementor-icon-list-item a { justify-content: flex-start; text-align: right; } .elementor-widget.elementor-mobile_extra-align-right .elementor-icon-list-items { justify-content: flex-start; } .elementor-widget:not(.elementor-mobile_extra-align-right) .elementor-icon-list-item:after { right: 0; } .elementor-widget:not(.elementor-mobile_extra-align-left) .elementor-icon-list-item:after { left: 0; } } @media (max-width: ELEMENTOR_SCREEN_MOBILE_MAX) { .elementor-widget.elementor-mobile-align-center .elementor-icon-list-item, .elementor-widget.elementor-mobile-align-center .elementor-icon-list-item a { justify-content: center; } .elementor-widget.elementor-mobile-align-center .elementor-icon-list-item:after { margin: auto; } .elementor-widget.elementor-mobile-align-center .elementor-inline-items { justify-content: center; } .elementor-widget.elementor-mobile-align-left .elementor-icon-list-item, .elementor-widget.elementor-mobile-align-left .elementor-icon-list-item a { justify-content: flex-end; text-align: left; } .elementor-widget.elementor-mobile-align-left .elementor-inline-items { justify-content: flex-end; } .elementor-widget.elementor-mobile-align-right .elementor-icon-list-item, .elementor-widget.elementor-mobile-align-right .elementor-icon-list-item a { justify-content: flex-start; text-align: right; } .elementor-widget.elementor-mobile-align-right .elementor-icon-list-items { justify-content: flex-start; } .elementor-widget:not(.elementor-mobile-align-right) .elementor-icon-list-item:after { right: 0; } .elementor-widget:not(.elementor-mobile-align-left) .elementor-icon-list-item:after { left: 0; } } .elementor-widget-image { text-align: center; } .elementor-widget-image a { display: inline-block; } .elementor-widget-image a img[src$=".svg"] { width: 48px; } .elementor-widget-image img { vertical-align: middle; display: inline-block; } .elementor-widget-image-box .elementor-image-box-content { width: 100%; } @media (min-width: ELEMENTOR_SCREEN_MOBILE_NEXT) { .elementor-widget-image-box.elementor-position-left .elementor-image-box-wrapper, .elementor-widget-image-box.elementor-position-right .elementor-image-box-wrapper { display: flex; } .elementor-widget-image-box.elementor-position-right .elementor-image-box-wrapper { text-align: left; flex-direction: row; } .elementor-widget-image-box.elementor-position-left .elementor-image-box-wrapper { text-align: right; flex-direction: row-reverse; } .elementor-widget-image-box.elementor-position-top .elementor-image-box-img { margin: auto; } .elementor-widget-image-box.elementor-vertical-align-top .elementor-image-box-wrapper { align-items: flex-start; } .elementor-widget-image-box.elementor-vertical-align-middle .elementor-image-box-wrapper { align-items: center; } .elementor-widget-image-box.elementor-vertical-align-bottom .elementor-image-box-wrapper { align-items: flex-end; } } @media (max-width: ELEMENTOR_SCREEN_MOBILE_MAX) { .elementor-widget-image-box .elementor-image-box-img { margin-left: auto !important; margin-right: auto !important; margin-bottom: 15px; } } .elementor-widget-image-box .elementor-image-box-img { display: inline-block; } .elementor-widget-image-box .elementor-image-box-title a { color: inherit; } .elementor-widget-image-box .elementor-image-box-wrapper { text-align: center; } .elementor-widget-image-box .elementor-image-box-description { margin: 0; } .elementor-widget-image-carousel .swiper-container { position: static; } .elementor-widget-image-carousel .swiper-container .swiper-slide figure { line-height: inherit; } .elementor-widget-image-carousel .swiper-slide { text-align: center; } .elementor-image-carousel-wrapper:not(.swiper-container-initialized) .swiper-slide { max-width: calc(100% / var(--e-image-carousel-slides-to-show, 3)); } body.elementor-page .elementor-widget-menu-anchor { margin-bottom: 0; } .elementor-widget-progress { text-align: right; } .elementor-progress-wrapper { position: relative; background-color: #eeeeee; color: #ffffff; height: 100%; border-radius: 2px; } .elementor-progress-bar { display: flex; background-color: #818a91; width: 0; font-size: 11px; height: 30px; line-height: 30px; border-radius: 2px; transition: width 1s ease-in-out; } .elementor-progress-text { flex-grow: 1; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; padding-right: 15px; } .elementor-progress-percentage { padding-left: 15px; } .elementor-widget-progress .elementor-progress-wrapper.progress-info .elementor-progress-bar { background-color: #5bc0de; } .elementor-widget-progress .elementor-progress-wrapper.progress-success .elementor-progress-bar { background-color: #5cb85c; } .elementor-widget-progress .elementor-progress-wrapper.progress-warning .elementor-progress-bar { background-color: #f0ad4e; } .elementor-widget-progress .elementor-progress-wrapper.progress-danger .elementor-progress-bar { background-color: #d9534f; } .elementor-progress .elementor-title { display: block; } @media (max-width: ELEMENTOR_SCREEN_MOBILE_MAX) { .elementor-progress-text { padding-right: 10px; } } .elementor-widget-social-icons { /*TODO: This Grid-0 needs to be removed after PRO is Updated */ } .elementor-widget-social-icons.elementor-grid-0 .elementor-widget-container, .elementor-widget-social-icons.elementor-grid-tablet-0 .elementor-widget-container, .elementor-widget-social-icons.elementor-grid-mobile-0 .elementor-widget-container { line-height: 1; font-size: 0; } .elementor-widget-social-icons:not(.elementor-grid-0):not(.elementor-grid-tablet-0):not(.elementor-grid-mobile-0) .elementor-grid { display: inline-grid; } .elementor-widget-social-icons .elementor-grid { grid-column-gap: var(--grid-column-gap, 5px); grid-row-gap: var(--grid-row-gap, 5px); grid-template-columns: var(--grid-template-columns); justify-content: var(--justify-content, center); justify-items: var(--justify-content, center); } .elementor-icon.elementor-social-icon { font-size: var(--icon-size, 25px); line-height: var(--icon-size, 25px); width: calc(var(--icon-size, 25px) + (2 * var(--icon-padding, 0.5em))); height: calc(var(--icon-size, 25px) + (2 * var(--icon-padding, 0.5em))); } .elementor-social-icon { --e-social-icon-icon-color: #fff; display: inline-flex; background-color: #818a91; align-items: center; justify-content: center; text-align: center; cursor: pointer; } .elementor-social-icon i { color: var(--e-social-icon-icon-color); } .elementor-social-icon svg { fill: var(--e-social-icon-icon-color); } .elementor-social-icon:last-child { margin: 0; } .elementor-social-icon:hover { opacity: 0.9; color: white; } .elementor-social-icon-android { background-color: #A4C639; } .elementor-social-icon-apple { background-color: #999999; } .elementor-social-icon-behance { background-color: #1769ff; } .elementor-social-icon-bitbucket { background-color: #205081; } .elementor-social-icon-codepen { background-color: #000000; } .elementor-social-icon-delicious { background-color: #3399ff; } .elementor-social-icon-deviantart { background-color: #05cc47; } .elementor-social-icon-digg { background-color: #005be2; } .elementor-social-icon-dribbble { background-color: #ea4c89; } .elementor-social-icon-elementor { background-color: #D30C5C; } .elementor-social-icon-envelope { background-color: #ea4335; } .elementor-social-icon-facebook, .elementor-social-icon-facebook-f { background-color: #3b5998; } .elementor-social-icon-flickr { background-color: #0063dc; } .elementor-social-icon-foursquare { background-color: #2d5be3; } .elementor-social-icon-freecodecamp, .elementor-social-icon-free-code-camp { background-color: #006400; } .elementor-social-icon-github { background-color: #333333; } .elementor-social-icon-gitlab { background-color: #e24329; } .elementor-social-icon-globe { background-color: #818a91; } .elementor-social-icon-google-plus, .elementor-social-icon-google-plus-g { background-color: #dd4b39; } .elementor-social-icon-houzz { background-color: #7ac142; } .elementor-social-icon-instagram { background-color: #262626; } .elementor-social-icon-jsfiddle { background-color: #487AA2; } .elementor-social-icon-link { background-color: #818a91; } .elementor-social-icon-linkedin, .elementor-social-icon-linkedin-in { background-color: #0077b5; } .elementor-social-icon-medium { background-color: #00ab6b; } .elementor-social-icon-meetup { background-color: #ec1c40; } .elementor-social-icon-mixcloud { background-color: #273a4b; } .elementor-social-icon-odnoklassniki { background-color: #F4731C; } .elementor-social-icon-pinterest { background-color: #bd081c; } .elementor-social-icon-product-hunt { background-color: #da552f; } .elementor-social-icon-reddit { background-color: #ff4500; } .elementor-social-icon-rss { background-color: #f26522; } .elementor-social-icon-shopping-cart { background-color: #4CAF50; } .elementor-social-icon-skype { background-color: #00AFF0; } .elementor-social-icon-slideshare { background-color: #0077b5; } .elementor-social-icon-snapchat { background-color: #fffc00; } .elementor-social-icon-soundcloud { background-color: #ff8800; } .elementor-social-icon-spotify { background-color: #2ebd59; } .elementor-social-icon-stack-overflow { background-color: #fe7a15; } .elementor-social-icon-steam { background-color: #00adee; } .elementor-social-icon-stumbleupon { background-color: #EB4924; } .elementor-social-icon-telegram { background-color: #2CA5E0; } .elementor-social-icon-thumb-tack { background-color: #1aa1d8; } .elementor-social-icon-tripadvisor { background-color: #589442; } .elementor-social-icon-tumblr { background-color: #35465c; } .elementor-social-icon-twitch { background-color: #6441A5; } .elementor-social-icon-twitter { background-color: #1DA1F2; } .elementor-social-icon-viber { background-color: #665cac; } .elementor-social-icon-vimeo { background-color: #1ab7ea; } .elementor-social-icon-vk { background-color: #45668e; } .elementor-social-icon-weibo { background-color: #DD2430; } .elementor-social-icon-weixin { background-color: #31A918; } .elementor-social-icon-whatsapp { background-color: #25d366; } .elementor-social-icon-wordpress { background-color: #21759b; } .elementor-social-icon-xing { background-color: #026466; } .elementor-social-icon-yelp { background-color: #af0606; } .elementor-social-icon-youtube { background-color: #cd201f; } .elementor-social-icon-500px { background-color: #0099e5; } .elementor-shape-rounded .elementor-icon.elementor-social-icon { border-radius: 10%; } .elementor-shape-circle .elementor-icon.elementor-social-icon { border-radius: 50%; } .e-container.e-container--row .elementor-spacer-inner { width: var(--spacer-size); } .elementor-column .elementor-spacer-inner, .e-container.e-container--column .elementor-spacer-inner { height: var(--spacer-size); } .elementor-star-rating { color: #CCD6DF; font-family: eicons; display: inline-block; } .elementor-star-rating i { display: inline-block; position: relative; font-style: normal; cursor: default; } .elementor-star-rating i:before { content: "\e934"; display: block; font-size: inherit; font-family: inherit; position: absolute; overflow: hidden; color: #f0ad4e; top: 0; right: 0; } .elementor-star-rating .elementor-star-empty:before { content: none; } .elementor-star-rating .elementor-star-1:before { width: 10%; } .elementor-star-rating .elementor-star-2:before { width: 20%; } .elementor-star-rating .elementor-star-3:before { width: 30%; } .elementor-star-rating .elementor-star-4:before { width: 40%; } .elementor-star-rating .elementor-star-5:before { width: 50%; } .elementor-star-rating .elementor-star-6:before { width: 60%; } .elementor-star-rating .elementor-star-7:before { width: 70%; } .elementor-star-rating .elementor-star-8:before { width: 80%; } .elementor-star-rating .elementor-star-9:before { width: 90%; } .elementor-star-rating__wrapper { display: flex; align-items: center; } .elementor-star-rating__title { margin-left: 10px; } .elementor-star-rating--align-right .elementor-star-rating__wrapper { text-align: right; justify-content: flex-start; } .elementor-star-rating--align-left .elementor-star-rating__wrapper { text-align: left; justify-content: flex-end; } .elementor-star-rating--align-center .elementor-star-rating__wrapper { text-align: center; justify-content: center; } .elementor-star-rating--align-justify .elementor-star-rating__title { margin-left: auto; } @media (max-width: ELEMENTOR_SCREEN_TABLET_MAX) { .elementor-star-rating-tablet--align-right .elementor-star-rating__wrapper { text-align: right; justify-content: flex-start; } .elementor-star-rating-tablet--align-left .elementor-star-rating__wrapper { text-align: left; justify-content: flex-end; } .elementor-star-rating-tablet--align-center .elementor-star-rating__wrapper { text-align: center; justify-content: center; } .elementor-star-rating-tablet--align-justify .elementor-star-rating__title { margin-left: auto; } } @media (max-width: ELEMENTOR_SCREEN_MOBILE_MAX) { .elementor-star-rating-mobile--align-right .elementor-star-rating__wrapper { text-align: right; justify-content: flex-start; } .elementor-star-rating-mobile--align-left .elementor-star-rating__wrapper { text-align: left; justify-content: flex-end; } .elementor-star-rating-mobile--align-center .elementor-star-rating__wrapper { text-align: center; justify-content: center; } .elementor-star-rating-mobile--align-justify .elementor-star-rating__title { margin-left: auto; } } .last-star { letter-spacing: 0; } .elementor--star-style-star_unicode .elementor-star-rating { font-family: "Arial", "Helvetica", sans-serif; } .elementor--star-style-star_unicode .elementor-star-rating i:not(.elementor-star-empty):before { content: "★"; } .elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tabs-wrapper { width: 25%; flex-shrink: 0; } .elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tab-desktop-title.elementor-active { border-left-style: none; } .elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tab-desktop-title.elementor-active:before, .elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tab-desktop-title.elementor-active:after { height: 999em; width: 0; left: 0; border-left-style: solid; } .elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tab-desktop-title.elementor-active:before { top: 0; transform: translateY(-100%); } .elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tab-desktop-title.elementor-active:after { top: 100%; } .elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title { display: table-cell; } .elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title.elementor-active { border-bottom-style: none; } .elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title.elementor-active:before, .elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title.elementor-active:after { bottom: 0; height: 0; width: 999em; border-bottom-style: solid; } .elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title.elementor-active:before { right: 100%; } .elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title.elementor-active:after { left: 100%; } .elementor-widget-tabs .elementor-tab-title, .elementor-widget-tabs .elementor-tab-title:before, .elementor-widget-tabs .elementor-tab-title:after, .elementor-widget-tabs .elementor-tab-content, .elementor-widget-tabs .elementor-tabs-content-wrapper { border: 1px none #D4D4D4; } .elementor-widget-tabs .elementor-tabs { text-align: right; } .elementor-widget-tabs .elementor-tabs-wrapper { overflow: hidden; } .elementor-widget-tabs .elementor-tab-title { cursor: pointer; outline: var(--focus-outline, none); } .elementor-widget-tabs .elementor-tab-desktop-title { position: relative; padding: 20px 25px; font-weight: bold; line-height: 1; border: solid transparent; } .elementor-widget-tabs .elementor-tab-desktop-title.elementor-active { border-color: #D4D4D4; } .elementor-widget-tabs .elementor-tab-desktop-title.elementor-active:before, .elementor-widget-tabs .elementor-tab-desktop-title.elementor-active:after { display: block; content: ""; position: absolute; } .elementor-widget-tabs .elementor-tab-mobile-title { padding: 10px 10px; cursor: pointer; } .elementor-widget-tabs .elementor-tab-content { padding: 20px; display: none; } @media (max-width: ELEMENTOR_SCREEN_MOBILE_MAX) { .elementor-tabs .elementor-tab-title, .elementor-tabs .elementor-tab-content { border-style: solid; border-bottom-style: none; } .elementor-tabs .elementor-tabs-wrapper { display: none; } .elementor-tabs .elementor-tabs-content-wrapper { border-bottom-style: solid; } .elementor-tabs .elementor-tab-content { padding: 10px; } } @media (min-width: ELEMENTOR_SCREEN_MOBILE_NEXT) { .elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tabs { display: flex; } .elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tabs-wrapper { flex-direction: column; } .elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tabs-content-wrapper { flex-grow: 1; border-style: solid; border-right-style: none; } .elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-content { border-style: solid; border-top-style: none; } .elementor-widget-tabs.elementor-tabs-alignment-center .elementor-tabs-wrapper, .elementor-widget-tabs.elementor-tabs-alignment-end .elementor-tabs-wrapper, .elementor-widget-tabs.elementor-tabs-alignment-stretch .elementor-tabs-wrapper { display: flex; } .elementor-widget-tabs.elementor-tabs-alignment-center .elementor-tabs-wrapper { justify-content: center; } .elementor-widget-tabs.elementor-tabs-alignment-end .elementor-tabs-wrapper { justify-content: flex-end; } .elementor-widget-tabs.elementor-tabs-alignment-stretch.elementor-tabs-view-horizontal .elementor-tab-title { width: 100%; } .elementor-widget-tabs.elementor-tabs-alignment-stretch.elementor-tabs-view-vertical .elementor-tab-title { height: 100%; } .elementor-tabs .elementor-tab-mobile-title { display: none; } } .elementor-testimonial-wrapper { overflow: hidden; text-align: center; } .elementor-testimonial-wrapper .elementor-testimonial-content { font-size: 1.3em; margin-bottom: 20px; } .elementor-testimonial-wrapper .elementor-testimonial-name { line-height: 1.5; display: block; } .elementor-testimonial-wrapper .elementor-testimonial-job { font-size: 0.85em; display: block; } .elementor-testimonial-wrapper .elementor-testimonial-meta { width: 100%; line-height: 1; } .elementor-testimonial-wrapper .elementor-testimonial-meta-inner { display: inline-block; } .elementor-testimonial-wrapper .elementor-testimonial-meta .elementor-testimonial-details, .elementor-testimonial-wrapper .elementor-testimonial-meta .elementor-testimonial-image { display: table-cell; vertical-align: middle; } .elementor-testimonial-wrapper .elementor-testimonial-meta .elementor-testimonial-image img { width: 60px; height: 60px; border-radius: 50%; object-fit: cover; max-width: none; } .elementor-testimonial-wrapper .elementor-testimonial-meta.elementor-testimonial-image-position-aside .elementor-testimonial-image { padding-left: 15px; } .elementor-testimonial-wrapper .elementor-testimonial-meta.elementor-testimonial-image-position-aside .elementor-testimonial-details { text-align: right; } .elementor-testimonial-wrapper .elementor-testimonial-meta.elementor-testimonial-image-position-top .elementor-testimonial-details, .elementor-testimonial-wrapper .elementor-testimonial-meta.elementor-testimonial-image-position-top .elementor-testimonial-image { display: block; } .elementor-testimonial-wrapper .elementor-testimonial-meta.elementor-testimonial-image-position-top .elementor-testimonial-image { margin-bottom: 20px; } .elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap { background-color: #818a91; color: #fff; } .elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap { color: #818a91; border: 3px solid; background-color: transparent; } .elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap { margin-top: 8px; } .elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap-letter { width: 1em; height: 1em; } .elementor-widget-text-editor .elementor-drop-cap { float: right; text-align: center; line-height: 1; font-size: 50px; } .elementor-widget-text-editor .elementor-drop-cap-letter { display: inline-block; } .elementor-toggle { text-align: right; } .elementor-toggle .elementor-tab-title { font-weight: bold; line-height: 1; margin: 0; padding: 15px; border-bottom: 1px solid #D4D4D4; cursor: pointer; outline: none; } .elementor-toggle .elementor-tab-title .elementor-toggle-icon { display: inline-block; width: 1em; } .elementor-toggle .elementor-tab-title .elementor-toggle-icon svg { margin-inline-start: -5px; width: 1em; height: 1em; } .elementor-toggle .elementor-tab-title .elementor-toggle-icon.elementor-toggle-icon-right { float: right; text-align: right; } .elementor-toggle .elementor-tab-title .elementor-toggle-icon.elementor-toggle-icon-left { float: left; text-align: left; } .elementor-toggle .elementor-tab-title .elementor-toggle-icon .elementor-toggle-icon-closed { display: block; } .elementor-toggle .elementor-tab-title .elementor-toggle-icon .elementor-toggle-icon-opened { display: none; } .elementor-toggle .elementor-tab-title.elementor-active { border-bottom: none; } .elementor-toggle .elementor-tab-title.elementor-active .elementor-toggle-icon-closed { display: none; } .elementor-toggle .elementor-tab-title.elementor-active .elementor-toggle-icon-opened { display: block; } .elementor-toggle .elementor-tab-content { padding: 15px; border-bottom: 1px solid #D4D4D4; display: none; } @media (max-width: ELEMENTOR_SCREEN_MOBILE_MAX) { .elementor-toggle .elementor-tab-title { padding: 12px; } .elementor-toggle .elementor-tab-content { padding: 12px 10px; } } .elementor-widget-video .elementor-widget-container { overflow: hidden; transform: translate3d(0, 0, 0); } .elementor-widget-video .elementor-open-inline .elementor-custom-embed-image-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-size: cover; background-position: 50%; } .elementor-widget-video .elementor-custom-embed-image-overlay { cursor: pointer; text-align: center; } .elementor-widget-video .elementor-custom-embed-image-overlay:hover .elementor-custom-embed-play i { opacity: 1; } .elementor-widget-video .elementor-custom-embed-image-overlay img { display: block; width: 100%; } .elementor-widget-video .e-hosted-video .elementor-video { object-fit: cover; } /*# sourceMappingURL=frontend-rtl.css.map */assets/css/templates/widget-icon-list.min.css000064400000027157152377341010015331 0ustar00.elementor-widget.elementor-icon-list--layout-inline .elementor-widget-container{overflow:hidden}.elementor-widget .elementor-icon-list-items.elementor-inline-items{margin-right:-8px;margin-left:-8px}.elementor-widget .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-right:8px;margin-left:8px}.elementor-widget .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{width:auto;left:auto;right:auto;position:relative;height:100%;border-top:0;border-bottom:0;border-right:0;border-left-width:1px;border-style:solid;right:-8px}.elementor-widget .elementor-icon-list-items{list-style-type:none;margin:0;padding:0}.elementor-widget .elementor-icon-list-item{margin:0;padding:0;position:relative}.elementor-widget .elementor-icon-list-item:after{position:absolute;bottom:0;width:100%}.elementor-widget .elementor-icon-list-item,.elementor-widget .elementor-icon-list-item a{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:inherit}.elementor-widget .elementor-icon-list-icon+.elementor-icon-list-text{-ms-flex-item-align:center;align-self:center;padding-left:5px}.elementor-widget .elementor-icon-list-icon{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget .elementor-icon-list-icon svg{width:var(--e-icon-list-icon-size,1em);height:var(--e-icon-list-icon-size,1em)}.elementor-widget .elementor-icon-list-icon i{width:1.25em;font-size:var(--e-icon-list-icon-size)}.elementor-widget.elementor-widget-icon-list .elementor-icon-list-icon{text-align:var(--e-icon-list-icon-align)}.elementor-widget.elementor-widget-icon-list .elementor-icon-list-icon svg{margin:var(--e-icon-list-icon-margin,0 calc(var(--e-icon-list-icon-size, 1em) * .25) 0 0)}.elementor-widget.elementor-list-item-link-full_width a{width:100%}.elementor-widget.elementor-align-center .elementor-icon-list-item,.elementor-widget.elementor-align-center .elementor-icon-list-item a{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-align-center .elementor-icon-list-item:after{margin:auto}.elementor-widget.elementor-align-center .elementor-inline-items{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-align-left .elementor-icon-list-item,.elementor-widget.elementor-align-left .elementor-icon-list-item a{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:left}.elementor-widget.elementor-align-left .elementor-inline-items{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-widget.elementor-align-right .elementor-icon-list-item,.elementor-widget.elementor-align-right .elementor-icon-list-item a{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:right}.elementor-widget.elementor-align-right .elementor-icon-list-items{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-widget:not(.elementor-align-right) .elementor-icon-list-item:after{left:0}.elementor-widget:not(.elementor-align-left) .elementor-icon-list-item:after{right:0}@media (min-width:ELEMENTOR_SCREEN_WIDESCREEN_MIN){.elementor-widget.elementor-widescreen-align-center .elementor-icon-list-item,.elementor-widget.elementor-widescreen-align-center .elementor-icon-list-item a{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-widescreen-align-center .elementor-icon-list-item:after{margin:auto}.elementor-widget.elementor-widescreen-align-center .elementor-inline-items{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-widescreen-align-left .elementor-icon-list-item,.elementor-widget.elementor-widescreen-align-left .elementor-icon-list-item a{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:left}.elementor-widget.elementor-widescreen-align-left .elementor-inline-items{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-widget.elementor-widescreen-align-right .elementor-icon-list-item,.elementor-widget.elementor-widescreen-align-right .elementor-icon-list-item a{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:right}.elementor-widget.elementor-widescreen-align-right .elementor-icon-list-items{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-widget:not(.elementor-widescreen-align-right) .elementor-icon-list-item:after{left:0}.elementor-widget:not(.elementor-widescreen-align-left) .elementor-icon-list-item:after{right:0}}@media (max-width:ELEMENTOR_SCREEN_LAPTOP_MAX){.elementor-widget.elementor-laptop-align-center .elementor-icon-list-item,.elementor-widget.elementor-laptop-align-center .elementor-icon-list-item a{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-laptop-align-center .elementor-icon-list-item:after{margin:auto}.elementor-widget.elementor-laptop-align-center .elementor-inline-items{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-laptop-align-left .elementor-icon-list-item,.elementor-widget.elementor-laptop-align-left .elementor-icon-list-item a{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:left}.elementor-widget.elementor-laptop-align-left .elementor-inline-items{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-widget.elementor-laptop-align-right .elementor-icon-list-item,.elementor-widget.elementor-laptop-align-right .elementor-icon-list-item a{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:right}.elementor-widget.elementor-laptop-align-right .elementor-icon-list-items{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-widget:not(.elementor-laptop-align-right) .elementor-icon-list-item:after{left:0}.elementor-widget:not(.elementor-laptop-align-left) .elementor-icon-list-item:after{right:0}}@media (max-width:ELEMENTOR_SCREEN_TABLET_EXTRA_MAX){.elementor-widget.elementor-tablet_extra-align-center .elementor-icon-list-item,.elementor-widget.elementor-tablet_extra-align-center .elementor-icon-list-item a{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-tablet_extra-align-center .elementor-icon-list-item:after{margin:auto}.elementor-widget.elementor-tablet_extra-align-center .elementor-inline-items{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-tablet_extra-align-left .elementor-icon-list-item,.elementor-widget.elementor-tablet_extra-align-left .elementor-icon-list-item a{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:left}.elementor-widget.elementor-tablet_extra-align-left .elementor-inline-items{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-widget.elementor-tablet_extra-align-right .elementor-icon-list-item,.elementor-widget.elementor-tablet_extra-align-right .elementor-icon-list-item a{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:right}.elementor-widget.elementor-tablet_extra-align-right .elementor-icon-list-items{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-widget:not(.elementor-tablet_extra-align-right) .elementor-icon-list-item:after{left:0}.elementor-widget:not(.elementor-tablet_extra-align-left) .elementor-icon-list-item:after{right:0}}@media (max-width:ELEMENTOR_SCREEN_TABLET_MAX){.elementor-widget.elementor-tablet-align-center .elementor-icon-list-item,.elementor-widget.elementor-tablet-align-center .elementor-icon-list-item a{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-tablet-align-center .elementor-icon-list-item:after{margin:auto}.elementor-widget.elementor-tablet-align-center .elementor-inline-items{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-tablet-align-left .elementor-icon-list-item,.elementor-widget.elementor-tablet-align-left .elementor-icon-list-item a{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:left}.elementor-widget.elementor-tablet-align-left .elementor-inline-items{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-widget.elementor-tablet-align-right .elementor-icon-list-item,.elementor-widget.elementor-tablet-align-right .elementor-icon-list-item a{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:right}.elementor-widget.elementor-tablet-align-right .elementor-icon-list-items{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-widget:not(.elementor-tablet-align-right) .elementor-icon-list-item:after{left:0}.elementor-widget:not(.elementor-tablet-align-left) .elementor-icon-list-item:after{right:0}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_EXTRA_MAX){.elementor-widget.elementor-mobile_extra-align-center .elementor-icon-list-item,.elementor-widget.elementor-mobile_extra-align-center .elementor-icon-list-item a{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-mobile_extra-align-center .elementor-icon-list-item:after{margin:auto}.elementor-widget.elementor-mobile_extra-align-center .elementor-inline-items{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-mobile_extra-align-left .elementor-icon-list-item,.elementor-widget.elementor-mobile_extra-align-left .elementor-icon-list-item a{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:left}.elementor-widget.elementor-mobile_extra-align-left .elementor-inline-items{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-widget.elementor-mobile_extra-align-right .elementor-icon-list-item,.elementor-widget.elementor-mobile_extra-align-right .elementor-icon-list-item a{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:right}.elementor-widget.elementor-mobile_extra-align-right .elementor-icon-list-items{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-widget:not(.elementor-mobile_extra-align-right) .elementor-icon-list-item:after{left:0}.elementor-widget:not(.elementor-mobile_extra-align-left) .elementor-icon-list-item:after{right:0}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-widget.elementor-mobile-align-center .elementor-icon-list-item,.elementor-widget.elementor-mobile-align-center .elementor-icon-list-item a{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-mobile-align-center .elementor-icon-list-item:after{margin:auto}.elementor-widget.elementor-mobile-align-center .elementor-inline-items{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-mobile-align-left .elementor-icon-list-item,.elementor-widget.elementor-mobile-align-left .elementor-icon-list-item a{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:left}.elementor-widget.elementor-mobile-align-left .elementor-inline-items{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-widget.elementor-mobile-align-right .elementor-icon-list-item,.elementor-widget.elementor-mobile-align-right .elementor-icon-list-item a{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:right}.elementor-widget.elementor-mobile-align-right .elementor-icon-list-items{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-widget:not(.elementor-mobile-align-right) .elementor-icon-list-item:after{left:0}.elementor-widget:not(.elementor-mobile-align-left) .elementor-icon-list-item:after{right:0}}assets/css/templates/widget-image-box-rtl.min.css000064400000003341152377341010016064 0ustar00.elementor-widget-image-box .elementor-image-box-content{width:100%}@media (min-width:ELEMENTOR_SCREEN_MOBILE_NEXT){.elementor-widget-image-box.elementor-position-left .elementor-image-box-wrapper,.elementor-widget-image-box.elementor-position-right .elementor-image-box-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-image-box.elementor-position-right .elementor-image-box-wrapper{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.elementor-widget-image-box.elementor-position-left .elementor-image-box-wrapper{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-widget-image-box.elementor-position-top .elementor-image-box-img{margin:auto}.elementor-widget-image-box.elementor-vertical-align-top .elementor-image-box-wrapper{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.elementor-widget-image-box.elementor-vertical-align-middle .elementor-image-box-wrapper{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-widget-image-box.elementor-vertical-align-bottom .elementor-image-box-wrapper{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-widget-image-box .elementor-image-box-img{margin-left:auto!important;margin-right:auto!important;margin-bottom:15px}}.elementor-widget-image-box .elementor-image-box-img{display:inline-block}.elementor-widget-image-box .elementor-image-box-title a{color:inherit}.elementor-widget-image-box .elementor-image-box-wrapper{text-align:center}.elementor-widget-image-box .elementor-image-box-description{margin:0}assets/css/templates/widget-accordion-rtl.min.css000064400000003021152377341010016150 0ustar00.elementor-accordion{text-align:right}.elementor-accordion .elementor-accordion-item{border:1px solid #d4d4d4}.elementor-accordion .elementor-accordion-item+.elementor-accordion-item{border-top:none}.elementor-accordion .elementor-tab-title{margin:0;padding:15px 20px;font-weight:700;line-height:1;cursor:pointer;outline:none}.elementor-accordion .elementor-tab-title .elementor-accordion-icon{display:inline-block;width:1.5em}.elementor-accordion .elementor-tab-title .elementor-accordion-icon svg{width:1em;height:1em}.elementor-accordion .elementor-tab-title .elementor-accordion-icon.elementor-accordion-icon-right{float:right;text-align:right}.elementor-accordion .elementor-tab-title .elementor-accordion-icon.elementor-accordion-icon-left{float:left;text-align:left}.elementor-accordion .elementor-tab-title .elementor-accordion-icon .elementor-accordion-icon-closed{display:block}.elementor-accordion .elementor-tab-title .elementor-accordion-icon .elementor-accordion-icon-opened,.elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon-closed{display:none}.elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon-opened{display:block}.elementor-accordion .elementor-tab-content{display:none;padding:15px 20px;border-top:1px solid #d4d4d4}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-accordion .elementor-tab-title{padding:12px 15px}.elementor-accordion .elementor-tab-title .elementor-accordion-icon{width:1.2em}.elementor-accordion .elementor-tab-content{padding:7px 15px}}assets/css/templates/widget-tabs.min.css000064400000010530152377341010014344 0ustar00.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tabs-wrapper{width:25%;-ms-flex-negative:0;flex-shrink:0}.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tab-desktop-title.elementor-active{border-right-style:none}.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tab-desktop-title.elementor-active:after,.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tab-desktop-title.elementor-active:before{height:999em;width:0;right:0;border-right-style:solid}.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tab-desktop-title.elementor-active:before{top:0;-webkit-transform:translateY(-100%);-ms-transform:translateY(-100%);transform:translateY(-100%)}.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tab-desktop-title.elementor-active:after{top:100%}.elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title{display:table-cell}.elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title.elementor-active{border-bottom-style:none}.elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title.elementor-active:after,.elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title.elementor-active:before{bottom:0;height:0;width:999em;border-bottom-style:solid}.elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title.elementor-active:before{right:100%}.elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title.elementor-active:after{left:100%}.elementor-widget-tabs .elementor-tab-content,.elementor-widget-tabs .elementor-tab-title,.elementor-widget-tabs .elementor-tab-title:after,.elementor-widget-tabs .elementor-tab-title:before,.elementor-widget-tabs .elementor-tabs-content-wrapper{border:1px #d4d4d4}.elementor-widget-tabs .elementor-tabs{text-align:left}.elementor-widget-tabs .elementor-tabs-wrapper{overflow:hidden}.elementor-widget-tabs .elementor-tab-title{cursor:pointer;outline:var(--focus-outline,none)}.elementor-widget-tabs .elementor-tab-desktop-title{position:relative;padding:20px 25px;font-weight:700;line-height:1;border:solid transparent}.elementor-widget-tabs .elementor-tab-desktop-title.elementor-active{border-color:#d4d4d4}.elementor-widget-tabs .elementor-tab-desktop-title.elementor-active:after,.elementor-widget-tabs .elementor-tab-desktop-title.elementor-active:before{display:block;content:"";position:absolute}.elementor-widget-tabs .elementor-tab-mobile-title{padding:10px;cursor:pointer}.elementor-widget-tabs .elementor-tab-content{padding:20px;display:none}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-tabs .elementor-tab-content,.elementor-tabs .elementor-tab-title{border-style:solid solid none}.elementor-tabs .elementor-tabs-wrapper{display:none}.elementor-tabs .elementor-tabs-content-wrapper{border-bottom-style:solid}.elementor-tabs .elementor-tab-content{padding:10px}}@media (min-width:ELEMENTOR_SCREEN_MOBILE_NEXT){.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tabs{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tabs-wrapper{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tabs-content-wrapper{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;border-style:solid solid solid none}.elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-content{border-style:none solid solid}.elementor-widget-tabs.elementor-tabs-alignment-center .elementor-tabs-wrapper,.elementor-widget-tabs.elementor-tabs-alignment-end .elementor-tabs-wrapper,.elementor-widget-tabs.elementor-tabs-alignment-stretch .elementor-tabs-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-tabs.elementor-tabs-alignment-center .elementor-tabs-wrapper{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget-tabs.elementor-tabs-alignment-end .elementor-tabs-wrapper{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-widget-tabs.elementor-tabs-alignment-stretch.elementor-tabs-view-horizontal .elementor-tab-title{width:100%}.elementor-widget-tabs.elementor-tabs-alignment-stretch.elementor-tabs-view-vertical .elementor-tab-title{height:100%}.elementor-tabs .elementor-tab-mobile-title{display:none}}assets/css/templates/widget-icon-list-rtl.min.css000064400000027157152377341010016130 0ustar00.elementor-widget.elementor-icon-list--layout-inline .elementor-widget-container{overflow:hidden}.elementor-widget .elementor-icon-list-items.elementor-inline-items{margin-right:-8px;margin-left:-8px}.elementor-widget .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-right:8px;margin-left:8px}.elementor-widget .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{width:auto;left:auto;right:auto;position:relative;height:100%;border-top:0;border-bottom:0;border-right:0;border-left-width:1px;border-style:solid;left:-8px}.elementor-widget .elementor-icon-list-items{list-style-type:none;margin:0;padding:0}.elementor-widget .elementor-icon-list-item{margin:0;padding:0;position:relative}.elementor-widget .elementor-icon-list-item:after{position:absolute;bottom:0;width:100%}.elementor-widget .elementor-icon-list-item,.elementor-widget .elementor-icon-list-item a{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:inherit}.elementor-widget .elementor-icon-list-icon+.elementor-icon-list-text{-ms-flex-item-align:center;align-self:center;padding-right:5px}.elementor-widget .elementor-icon-list-icon{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget .elementor-icon-list-icon svg{width:var(--e-icon-list-icon-size,1em);height:var(--e-icon-list-icon-size,1em)}.elementor-widget .elementor-icon-list-icon i{width:1.25em;font-size:var(--e-icon-list-icon-size)}.elementor-widget.elementor-widget-icon-list .elementor-icon-list-icon{text-align:var(--e-icon-list-icon-align)}.elementor-widget.elementor-widget-icon-list .elementor-icon-list-icon svg{margin:var(--e-icon-list-icon-margin,0 calc(var(--e-icon-list-icon-size, 1em) * .25) 0 0)}.elementor-widget.elementor-list-item-link-full_width a{width:100%}.elementor-widget.elementor-align-center .elementor-icon-list-item,.elementor-widget.elementor-align-center .elementor-icon-list-item a{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-align-center .elementor-icon-list-item:after{margin:auto}.elementor-widget.elementor-align-center .elementor-inline-items{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-align-left .elementor-icon-list-item,.elementor-widget.elementor-align-left .elementor-icon-list-item a{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:left}.elementor-widget.elementor-align-left .elementor-inline-items{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-widget.elementor-align-right .elementor-icon-list-item,.elementor-widget.elementor-align-right .elementor-icon-list-item a{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:right}.elementor-widget.elementor-align-right .elementor-icon-list-items{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-widget:not(.elementor-align-right) .elementor-icon-list-item:after{right:0}.elementor-widget:not(.elementor-align-left) .elementor-icon-list-item:after{left:0}@media (min-width:ELEMENTOR_SCREEN_WIDESCREEN_MIN){.elementor-widget.elementor-widescreen-align-center .elementor-icon-list-item,.elementor-widget.elementor-widescreen-align-center .elementor-icon-list-item a{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-widescreen-align-center .elementor-icon-list-item:after{margin:auto}.elementor-widget.elementor-widescreen-align-center .elementor-inline-items{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-widescreen-align-left .elementor-icon-list-item,.elementor-widget.elementor-widescreen-align-left .elementor-icon-list-item a{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:left}.elementor-widget.elementor-widescreen-align-left .elementor-inline-items{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-widget.elementor-widescreen-align-right .elementor-icon-list-item,.elementor-widget.elementor-widescreen-align-right .elementor-icon-list-item a{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:right}.elementor-widget.elementor-widescreen-align-right .elementor-icon-list-items{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-widget:not(.elementor-widescreen-align-right) .elementor-icon-list-item:after{right:0}.elementor-widget:not(.elementor-widescreen-align-left) .elementor-icon-list-item:after{left:0}}@media (max-width:ELEMENTOR_SCREEN_LAPTOP_MAX){.elementor-widget.elementor-laptop-align-center .elementor-icon-list-item,.elementor-widget.elementor-laptop-align-center .elementor-icon-list-item a{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-laptop-align-center .elementor-icon-list-item:after{margin:auto}.elementor-widget.elementor-laptop-align-center .elementor-inline-items{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-laptop-align-left .elementor-icon-list-item,.elementor-widget.elementor-laptop-align-left .elementor-icon-list-item a{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:left}.elementor-widget.elementor-laptop-align-left .elementor-inline-items{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-widget.elementor-laptop-align-right .elementor-icon-list-item,.elementor-widget.elementor-laptop-align-right .elementor-icon-list-item a{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:right}.elementor-widget.elementor-laptop-align-right .elementor-icon-list-items{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-widget:not(.elementor-laptop-align-right) .elementor-icon-list-item:after{right:0}.elementor-widget:not(.elementor-laptop-align-left) .elementor-icon-list-item:after{left:0}}@media (max-width:ELEMENTOR_SCREEN_TABLET_EXTRA_MAX){.elementor-widget.elementor-tablet_extra-align-center .elementor-icon-list-item,.elementor-widget.elementor-tablet_extra-align-center .elementor-icon-list-item a{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-tablet_extra-align-center .elementor-icon-list-item:after{margin:auto}.elementor-widget.elementor-tablet_extra-align-center .elementor-inline-items{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-tablet_extra-align-left .elementor-icon-list-item,.elementor-widget.elementor-tablet_extra-align-left .elementor-icon-list-item a{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:left}.elementor-widget.elementor-tablet_extra-align-left .elementor-inline-items{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-widget.elementor-tablet_extra-align-right .elementor-icon-list-item,.elementor-widget.elementor-tablet_extra-align-right .elementor-icon-list-item a{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:right}.elementor-widget.elementor-tablet_extra-align-right .elementor-icon-list-items{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-widget:not(.elementor-tablet_extra-align-right) .elementor-icon-list-item:after{right:0}.elementor-widget:not(.elementor-tablet_extra-align-left) .elementor-icon-list-item:after{left:0}}@media (max-width:ELEMENTOR_SCREEN_TABLET_MAX){.elementor-widget.elementor-tablet-align-center .elementor-icon-list-item,.elementor-widget.elementor-tablet-align-center .elementor-icon-list-item a{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-tablet-align-center .elementor-icon-list-item:after{margin:auto}.elementor-widget.elementor-tablet-align-center .elementor-inline-items{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-tablet-align-left .elementor-icon-list-item,.elementor-widget.elementor-tablet-align-left .elementor-icon-list-item a{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:left}.elementor-widget.elementor-tablet-align-left .elementor-inline-items{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-widget.elementor-tablet-align-right .elementor-icon-list-item,.elementor-widget.elementor-tablet-align-right .elementor-icon-list-item a{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:right}.elementor-widget.elementor-tablet-align-right .elementor-icon-list-items{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-widget:not(.elementor-tablet-align-right) .elementor-icon-list-item:after{right:0}.elementor-widget:not(.elementor-tablet-align-left) .elementor-icon-list-item:after{left:0}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_EXTRA_MAX){.elementor-widget.elementor-mobile_extra-align-center .elementor-icon-list-item,.elementor-widget.elementor-mobile_extra-align-center .elementor-icon-list-item a{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-mobile_extra-align-center .elementor-icon-list-item:after{margin:auto}.elementor-widget.elementor-mobile_extra-align-center .elementor-inline-items{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-mobile_extra-align-left .elementor-icon-list-item,.elementor-widget.elementor-mobile_extra-align-left .elementor-icon-list-item a{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:left}.elementor-widget.elementor-mobile_extra-align-left .elementor-inline-items{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-widget.elementor-mobile_extra-align-right .elementor-icon-list-item,.elementor-widget.elementor-mobile_extra-align-right .elementor-icon-list-item a{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:right}.elementor-widget.elementor-mobile_extra-align-right .elementor-icon-list-items{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-widget:not(.elementor-mobile_extra-align-right) .elementor-icon-list-item:after{right:0}.elementor-widget:not(.elementor-mobile_extra-align-left) .elementor-icon-list-item:after{left:0}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-widget.elementor-mobile-align-center .elementor-icon-list-item,.elementor-widget.elementor-mobile-align-center .elementor-icon-list-item a{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-mobile-align-center .elementor-icon-list-item:after{margin:auto}.elementor-widget.elementor-mobile-align-center .elementor-inline-items{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-mobile-align-left .elementor-icon-list-item,.elementor-widget.elementor-mobile-align-left .elementor-icon-list-item a{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:left}.elementor-widget.elementor-mobile-align-left .elementor-inline-items{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-widget.elementor-mobile-align-right .elementor-icon-list-item,.elementor-widget.elementor-mobile-align-right .elementor-icon-list-item a{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:right}.elementor-widget.elementor-mobile-align-right .elementor-icon-list-items{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-widget:not(.elementor-mobile-align-right) .elementor-icon-list-item:after{right:0}.elementor-widget:not(.elementor-mobile-align-left) .elementor-icon-list-item:after{left:0}}assets/css/templates/widget-alert.min.css000064400000001704152377341010014525 0ustar00.elementor-alert{padding:15px;border-left:5px solid transparent;position:relative;text-align:left}.elementor-alert .elementor-alert-title{display:block;font-weight:700}.elementor-alert .elementor-alert-description{font-size:13px}.elementor-alert button.elementor-alert-dismiss{position:absolute;right:10px;top:10px;padding:3px;font-size:20px;line-height:1;background:transparent;color:inherit;border:none;cursor:pointer}.elementor-alert.elementor-alert-info{color:#31708f;background-color:#d9edf7;border-color:#bcdff1}.elementor-alert.elementor-alert-success{color:#3c763d;background-color:#dff0d8;border-color:#cae6be}.elementor-alert.elementor-alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#f9f0c3}.elementor-alert.elementor-alert-danger{color:#a94442;background-color:#f2dede;border-color:#e8c4c4}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-alert{padding:10px}.elementor-alert button.elementor-alert-dismiss{right:7px;top:7px}}assets/css/templates/widget-progress.min.css000064400000002401152377341010015255 0ustar00.elementor-widget-progress{text-align:left}.elementor-progress-wrapper{position:relative;background-color:#eee;color:#fff;height:100%;border-radius:2px}.elementor-progress-bar{display:-webkit-box;display:-ms-flexbox;display:flex;background-color:#818a91;width:0;font-size:11px;height:30px;line-height:30px;border-radius:2px;-webkit-transition:width 1s ease-in-out;-o-transition:width 1s ease-in-out;transition:width 1s ease-in-out}.elementor-progress-text{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden;padding-left:15px}.elementor-progress-percentage{padding-right:15px}.elementor-widget-progress .elementor-progress-wrapper.progress-info .elementor-progress-bar{background-color:#5bc0de}.elementor-widget-progress .elementor-progress-wrapper.progress-success .elementor-progress-bar{background-color:#5cb85c}.elementor-widget-progress .elementor-progress-wrapper.progress-warning .elementor-progress-bar{background-color:#f0ad4e}.elementor-widget-progress .elementor-progress-wrapper.progress-danger .elementor-progress-bar{background-color:#d9534f}.elementor-progress .elementor-title{display:block}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-progress-text{padding-left:10px}}assets/css/templates/frontend-lite.min.css000064400000325653152377341010014723 0ustar00.dialog-widget-content{background-color:#fff;position:absolute;border-radius:3px;-webkit-box-shadow:2px 8px 23px 3px rgba(0,0,0,.2);box-shadow:2px 8px 23px 3px rgba(0,0,0,.2);overflow:hidden}.dialog-message{font-size:12px;line-height:1.5;-webkit-box-sizing:border-box;box-sizing:border-box}.dialog-type-lightbox{position:fixed;height:100%;width:100%;bottom:0;left:0;background-color:rgba(0,0,0,.8);z-index:9999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dialog-type-lightbox .dialog-widget-content{margin:auto;width:375px}.dialog-type-lightbox .dialog-header{font-size:15px;color:#495157;padding:30px 0 10px;font-weight:500}.dialog-type-lightbox .dialog-message{padding:0 30px 30px;min-height:50px}.dialog-type-lightbox:not(.elementor-popup-modal) .dialog-header,.dialog-type-lightbox:not(.elementor-popup-modal) .dialog-message{text-align:center}.dialog-type-lightbox .dialog-buttons-wrapper{border-top:1px solid #e6e9ec;text-align:center}.dialog-type-lightbox .dialog-buttons-wrapper>.dialog-button{font-family:Roboto,Arial,Helvetica,Verdana,sans-serif;width:50%;border:none;background:none;color:#6d7882;font-size:15px;cursor:pointer;padding:13px 0;outline:0}.dialog-type-lightbox .dialog-buttons-wrapper>.dialog-button:hover{background-color:#f4f6f7}.dialog-type-lightbox .dialog-buttons-wrapper>.dialog-button.dialog-ok{color:#b01b1b}.dialog-type-lightbox .dialog-buttons-wrapper>.dialog-button.dialog-take_over{color:#39b54a}.dialog-type-lightbox .dialog-buttons-wrapper>.dialog-button:active{background-color:rgba(230,233,236,.5)}.dialog-type-lightbox .dialog-buttons-wrapper>.dialog-button::-moz-focus-inner{border:0}.dialog-close-button{cursor:pointer;position:absolute;margin-top:15px;right:15px;font-size:15px;line-height:1}.dialog-close-button:not(:hover){opacity:.4}.dialog-alert-widget .dialog-buttons-wrapper>button{width:100%}.dialog-confirm-widget .dialog-button:first-child{border-right:1px solid #e6e9ec}.dialog-prevent-scroll{overflow:hidden;max-height:100vh}@media (min-width:1024px){body.admin-bar .dialog-lightbox-widget{height:calc(100vh - 32px)}}@media (max-width:1024px){body.admin-bar .dialog-type-lightbox{position:sticky;height:100vh}}.elementor-aspect-ratio-219 .elementor-fit-aspect-ratio{padding-bottom:42.8571%}.elementor-aspect-ratio-169 .elementor-fit-aspect-ratio{padding-bottom:56.25%}.elementor-aspect-ratio-43 .elementor-fit-aspect-ratio{padding-bottom:75%}.elementor-aspect-ratio-32 .elementor-fit-aspect-ratio{padding-bottom:66.6666%}.elementor-aspect-ratio-11 .elementor-fit-aspect-ratio{padding-bottom:100%}.elementor-aspect-ratio-916 .elementor-fit-aspect-ratio{padding-bottom:177.8%}.elementor-fit-aspect-ratio{position:relative;height:0}.elementor-fit-aspect-ratio iframe{position:absolute;top:0;left:0;height:100%;width:100%;border:0;background-color:#000}.elementor-fit-aspect-ratio video{width:100%}.flatpickr-calendar{width:280px}.flatpickr-calendar .flatpickr-current-month span.cur-month{font-weight:300}.flatpickr-calendar .dayContainer{width:280px;min-width:280px;max-width:280px}.flatpickr-calendar .flatpickr-days{width:280px}.flatpickr-calendar .flatpickr-day{max-width:37px;height:37px;line-height:37px}.elementor-templates-modal .dialog-widget-content{font-family:Roboto,Arial,Helvetica,Verdana,sans-serif;background-color:#f1f3f5;width:100%}@media (max-width:1439px){.elementor-templates-modal .dialog-widget-content{max-width:990px}}@media (min-width:1440px){.elementor-templates-modal .dialog-widget-content{max-width:1200px}}.elementor-templates-modal .dialog-header{padding:0;z-index:1}.elementor-templates-modal .dialog-buttons-wrapper,.elementor-templates-modal .dialog-header{background-color:#fff;-webkit-box-shadow:0 0 8px rgba(0,0,0,.1);box-shadow:0 0 8px rgba(0,0,0,.1);position:relative}.elementor-templates-modal .dialog-buttons-wrapper{border:none;display:none;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;padding:5px}.elementor-templates-modal .dialog-buttons-wrapper .elementor-button{height:40px;margin-left:5px}.elementor-templates-modal .dialog-buttons-wrapper .elementor-button-success{padding:12px 36px;color:#fff;width:auto;font-size:15px}.elementor-templates-modal .dialog-buttons-wrapper .elementor-button-success:hover{background-color:#39b54a}.elementor-templates-modal .dialog-message{height:750px;max-height:85vh;overflow:auto;padding-top:25px}.elementor-templates-modal .dialog-content{height:100%}.elementor-templates-modal .dialog-loading{display:none}.elementor-templates-modal__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;height:50px}.elementor-templates-modal__header__logo{line-height:1;text-transform:uppercase;font-weight:700;cursor:pointer}.elementor-templates-modal__header__logo-area{text-align:left;padding-left:15px}.elementor-templates-modal__header__logo-area>*{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-templates-modal__header__logo__icon-wrapper{margin-right:10px;font-size:12px}.elementor-templates-modal__header__logo__title{padding-top:2px}.elementor-templates-modal__header__items-area{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-templates-modal__header__item{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-sizing:content-box;box-sizing:content-box}.elementor-templates-modal__header__item>i{font-size:20px;-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s;cursor:pointer}.elementor-templates-modal__header__item>i:not(:hover){color:#a4afb7}.elementor-templates-modal__header__close--normal{width:47px;border-left:1px solid #e6e9ec}.elementor-templates-modal__header__close--normal i{font-size:18px}.elementor-templates-modal__header__close--skip{padding:10px 10px 10px 20px;margin-right:10px;color:#fff;background-color:#a4afb7;font-size:11px;font-weight:400;line-height:1;text-transform:uppercase;border-radius:2px;cursor:pointer}.elementor-templates-modal__header__close--skip>i{font-size:inherit;padding-left:10px;margin-left:15px;border-left:1px solid}.elementor-templates-modal__header__close--skip>i:not(:hover){color:#fff}.elementor-templates-modal__sidebar{-ms-flex-negative:0;flex-shrink:0;width:25%;background-color:hsla(0,0%,100%,.3)}.elementor-templates-modal__content{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-webkit-box-shadow:0 0 13px inset rgba(0,0,0,.05);box-shadow:inset 0 0 13px rgba(0,0,0,.05)}#wpadminbar #wp-admin-bar-elementor_edit_page .elementor-general-section+.elementor-second-section{border-top:1px solid #464b50;margin-top:6px}.elementor-hidden{display:none}.elementor-screen-only,.screen-reader-text,.screen-reader-text span,.ui-helper-hidden-accessible{position:absolute;top:-10000em;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0}.elementor-clearfix:after{content:"";display:block;clear:both;width:0;height:0}.e-logo-wrapper{background:#93003c;display:inline-block;padding:.75em;border-radius:50%;line-height:1}.e-logo-wrapper i{color:#fff;font-size:1em}#e-enable-unfiltered-files-dialog-import-template .dialog-confirm-ok{color:#39b54a}#e-enable-unfiltered-files-dialog-import-template .dialog-confirm-cancel{color:#b01b1b}.elementor{-webkit-hyphens:manual;-ms-hyphens:manual;hyphens:manual}.elementor *,.elementor :after,.elementor :before{-webkit-box-sizing:border-box;box-sizing:border-box}.elementor a{-webkit-box-shadow:none;box-shadow:none;text-decoration:none}.elementor hr{margin:0;background-color:transparent}.elementor img{height:auto;max-width:100%;border:none;border-radius:0;-webkit-box-shadow:none;box-shadow:none}.elementor .elementor-widget:not(.elementor-widget-text-editor):not(.elementor-widget-theme-post-content) figure{margin:0}.elementor embed,.elementor iframe,.elementor object,.elementor video{max-width:100%;width:100%;margin:0;line-height:1;border:none}.elementor .elementor-custom-embed{line-height:0}.elementor .elementor-background,.elementor .elementor-background-holder,.elementor .elementor-background-video-container{height:100%;width:100%;top:0;left:0;position:absolute;overflow:hidden;z-index:0;direction:ltr}.elementor .elementor-background-video-container{-webkit-transition:opacity 1s;-o-transition:opacity 1s;transition:opacity 1s;pointer-events:none}.elementor .elementor-background-video-container.elementor-loading{opacity:0}.elementor .elementor-background-video-embed{max-width:none}.elementor .elementor-background-video,.elementor .elementor-background-video-embed,.elementor .elementor-background-video-hosted{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.elementor .elementor-background-video{max-width:none}.elementor .elementor-html5-video{-o-object-fit:cover;object-fit:cover}.elementor .elementor-background-overlay,.elementor .elementor-background-slideshow{height:100%;width:100%;top:0;left:0;position:absolute}.elementor .elementor-background-slideshow{z-index:0}.elementor .elementor-background-slideshow__slide__image{width:100%;height:100%;background-position:50%;background-size:cover}.e-container>.elementor-element.elementor-absolute,.elementor-widget-wrap>.elementor-element.elementor-absolute{position:absolute}.e-container>.elementor-element.elementor-fixed,.elementor-widget-wrap>.elementor-element.elementor-fixed{position:fixed}.elementor-widget-wrap .elementor-element.elementor-widget__width-auto,.elementor-widget-wrap .elementor-element.elementor-widget__width-initial{max-width:100%}@media (max-width:ELEMENTOR_SCREEN_TABLET_MAX){.elementor-widget-wrap .elementor-element.elementor-widget-tablet__width-auto,.elementor-widget-wrap .elementor-element.elementor-widget-tablet__width-initial{max-width:100%}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-widget-wrap .elementor-element.elementor-widget-mobile__width-auto,.elementor-widget-wrap .elementor-element.elementor-widget-mobile__width-initial{max-width:100%}}.elementor-element{--flex-direction:initial;--flex-wrap:initial;--justify-content:initial;--align-items:initial;--align-content:initial;--gap:initial;--flex-basis:initial;--flex-grow:initial;--flex-shrink:initial;--order:initial;--align-self:initial;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:var(--flex-direction);flex-direction:var(--flex-direction);-ms-flex-wrap:var(--flex-wrap);flex-wrap:var(--flex-wrap);-webkit-box-pack:var(--justify-content);-ms-flex-pack:var(--justify-content);justify-content:var(--justify-content);-webkit-box-align:var(--align-items);-ms-flex-align:var(--align-items);align-items:var(--align-items);-ms-flex-line-pack:var(--align-content);align-content:var(--align-content);gap:var(--gap);-ms-flex-preferred-size:var(--flex-basis);flex-basis:var(--flex-basis);-webkit-box-flex:var(--flex-grow);-ms-flex-positive:var(--flex-grow);flex-grow:var(--flex-grow);-ms-flex-negative:var(--flex-shrink);flex-shrink:var(--flex-shrink);-webkit-box-ordinal-group:var(--order);-ms-flex-order:var(--order);order:var(--order);-ms-flex-item-align:var(--align-self);align-self:var(--align-self)}.elementor-element.elementor-absolute,.elementor-element.elementor-fixed{z-index:1}.elementor-invisible{visibility:hidden}.elementor-align-center{text-align:center}.elementor-align-center .elementor-button{width:auto}.elementor-align-right{text-align:right}.elementor-align-right .elementor-button{width:auto}.elementor-align-left{text-align:left}.elementor-align-left .elementor-button{width:auto}.elementor-align-justify .elementor-button{width:100%}.elementor-custom-embed-play{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.elementor-custom-embed-play i{font-size:100px;color:#fff;text-shadow:1px 0 6px rgba(0,0,0,.3)}.elementor-custom-embed-play svg{height:100px;width:100px;fill:#fff;-webkit-filter:drop-shadow(1px 0 6px rgba(0,0,0,.3));filter:drop-shadow(1px 0 6px rgba(0,0,0,.3))}.elementor-custom-embed-play i,.elementor-custom-embed-play svg{opacity:.8;-webkit-transition:all .5s;-o-transition:all .5s;transition:all .5s}.elementor-custom-embed-play.elementor-playing i{font-family:eicons}.elementor-custom-embed-play.elementor-playing i:before{content:"\e8fb"}.elementor-custom-embed-play.elementor-playing i,.elementor-custom-embed-play.elementor-playing svg{-webkit-animation:eicon-spin 2s linear infinite;animation:eicon-spin 2s linear infinite}.elementor-tag{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}.elementor-ken-burns{-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;-o-transition-property:transform;transition-property:transform;transition-property:transform,-webkit-transform;-webkit-transition-duration:10s;-o-transition-duration:10s;transition-duration:10s;-webkit-transition-timing-function:linear;-o-transition-timing-function:linear;transition-timing-function:linear}.elementor-ken-burns--out{-webkit-transform:scale(1.3);-ms-transform:scale(1.3);transform:scale(1.3)}.elementor-ken-burns--active{-webkit-transition-duration:20s;-o-transition-duration:20s;transition-duration:20s}.elementor-ken-burns--active.elementor-ken-burns--out{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.elementor-ken-burns--active.elementor-ken-burns--in{-webkit-transform:scale(1.3);-ms-transform:scale(1.3);transform:scale(1.3)}@media (min-width:ELEMENTOR_SCREEN_WIDESCREEN_MIN){.elementor-widescreen-align-center{text-align:center}.elementor-widescreen-align-center .elementor-button{width:auto}.elementor-widescreen-align-right{text-align:right}.elementor-widescreen-align-right .elementor-button{width:auto}.elementor-widescreen-align-left{text-align:left}.elementor-widescreen-align-left .elementor-button{width:auto}.elementor-widescreen-align-justify .elementor-button{width:100%}}@media (max-width:ELEMENTOR_SCREEN_LAPTOP_MAX){.elementor-laptop-align-center{text-align:center}.elementor-laptop-align-center .elementor-button{width:auto}.elementor-laptop-align-right{text-align:right}.elementor-laptop-align-right .elementor-button{width:auto}.elementor-laptop-align-left{text-align:left}.elementor-laptop-align-left .elementor-button{width:auto}.elementor-laptop-align-justify .elementor-button{width:100%}}@media (max-width:ELEMENTOR_SCREEN_TABLET_EXTRA_MAX){.elementor-tablet_extra-align-center{text-align:center}.elementor-tablet_extra-align-center .elementor-button{width:auto}.elementor-tablet_extra-align-right{text-align:right}.elementor-tablet_extra-align-right .elementor-button{width:auto}.elementor-tablet_extra-align-left{text-align:left}.elementor-tablet_extra-align-left .elementor-button{width:auto}.elementor-tablet_extra-align-justify .elementor-button{width:100%}}@media (max-width:ELEMENTOR_SCREEN_TABLET_MAX){.elementor-tablet-align-center{text-align:center}.elementor-tablet-align-center .elementor-button{width:auto}.elementor-tablet-align-right{text-align:right}.elementor-tablet-align-right .elementor-button{width:auto}.elementor-tablet-align-left{text-align:left}.elementor-tablet-align-left .elementor-button{width:auto}.elementor-tablet-align-justify .elementor-button{width:100%}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_EXTRA_MAX){.elementor-mobile_extra-align-center{text-align:center}.elementor-mobile_extra-align-center .elementor-button{width:auto}.elementor-mobile_extra-align-right{text-align:right}.elementor-mobile_extra-align-right .elementor-button{width:auto}.elementor-mobile_extra-align-left{text-align:left}.elementor-mobile_extra-align-left .elementor-button{width:auto}.elementor-mobile_extra-align-justify .elementor-button{width:100%}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-mobile-align-center{text-align:center}.elementor-mobile-align-center .elementor-button{width:auto}.elementor-mobile-align-right{text-align:right}.elementor-mobile-align-right .elementor-button{width:auto}.elementor-mobile-align-left{text-align:left}.elementor-mobile-align-left .elementor-button{width:auto}.elementor-mobile-align-justify .elementor-button{width:100%}}:root{--page-title-display:block}.elementor-page-title,h1.entry-title{display:var(--page-title-display)}@-webkit-keyframes eicon-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes eicon-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.eicon-animation-spin{-webkit-animation:eicon-spin 2s linear infinite;animation:eicon-spin 2s linear infinite}.elementor-section{position:relative}.elementor-section .elementor-container{display:-webkit-box;display:-ms-flexbox;display:flex;margin-right:auto;margin-left:auto;position:relative}@media (max-width:ELEMENTOR_SCREEN_TABLET_MAX){.elementor-section .elementor-container{-ms-flex-wrap:wrap;flex-wrap:wrap}}.elementor-section.elementor-section-boxed>.elementor-container{max-width:1140px}.elementor-section.elementor-section-stretched{position:relative;width:100%}.elementor-section.elementor-section-items-top>.elementor-container{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.elementor-section.elementor-section-items-middle>.elementor-container{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-section.elementor-section-items-bottom>.elementor-container{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}@media (min-width:ELEMENTOR_SCREEN_MOBILE_NEXT){.elementor-section.elementor-section-height-full{height:100vh}.elementor-section.elementor-section-height-full>.elementor-container{height:100%}}.elementor-bc-flex-widget .elementor-section-content-top>.elementor-container>.elementor-column>.elementor-widget-wrap{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.elementor-bc-flex-widget .elementor-section-content-middle>.elementor-container>.elementor-column>.elementor-widget-wrap{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-bc-flex-widget .elementor-section-content-bottom>.elementor-container>.elementor-column>.elementor-widget-wrap{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.elementor-row{width:100%;display:-webkit-box;display:-ms-flexbox;display:flex}@media (max-width:ELEMENTOR_SCREEN_TABLET_MAX){.elementor-row{-ms-flex-wrap:wrap;flex-wrap:wrap}}.elementor-widget-wrap{position:relative;width:100%;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-line-pack:start;align-content:flex-start}.elementor:not(.elementor-bc-flex-widget) .elementor-widget-wrap{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-wrap>.elementor-element{width:100%}.elementor-widget-wrap.e-swiper-container{width:calc(100% - (var(--e-column-margin-left, 0px) + var(--e-column-margin-right, 0px)))}.elementor-widget{position:relative}.elementor-widget:not(:last-child){margin-bottom:20px}.elementor-widget:not(:last-child).elementor-absolute,.elementor-widget:not(:last-child).elementor-widget__width-auto,.elementor-widget:not(:last-child).elementor-widget__width-initial{margin-bottom:0}.elementor-column{min-height:1px}.elementor-column,.elementor-column-wrap{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-column-wrap{width:100%}.elementor-column-gap-narrow>.elementor-column>.elementor-element-populated{padding:5px}.elementor-column-gap-default>.elementor-column>.elementor-element-populated{padding:10px}.elementor-column-gap-extended>.elementor-column>.elementor-element-populated{padding:15px}.elementor-column-gap-wide>.elementor-column>.elementor-element-populated{padding:20px}.elementor-column-gap-wider>.elementor-column>.elementor-element-populated{padding:30px}.elementor-inner-section .elementor-column-gap-no .elementor-element-populated{padding:0}@media (min-width:ELEMENTOR_SCREEN_MOBILE_NEXT){.elementor-column.elementor-col-10,.elementor-column[data-col="10"]{width:10%}.elementor-column.elementor-col-11,.elementor-column[data-col="11"]{width:11.111%}.elementor-column.elementor-col-12,.elementor-column[data-col="12"]{width:12.5%}.elementor-column.elementor-col-14,.elementor-column[data-col="14"]{width:14.285%}.elementor-column.elementor-col-16,.elementor-column[data-col="16"]{width:16.666%}.elementor-column.elementor-col-20,.elementor-column[data-col="20"]{width:20%}.elementor-column.elementor-col-25,.elementor-column[data-col="25"]{width:25%}.elementor-column.elementor-col-30,.elementor-column[data-col="30"]{width:30%}.elementor-column.elementor-col-33,.elementor-column[data-col="33"]{width:33.333%}.elementor-column.elementor-col-40,.elementor-column[data-col="40"]{width:40%}.elementor-column.elementor-col-50,.elementor-column[data-col="50"]{width:50%}.elementor-column.elementor-col-60,.elementor-column[data-col="60"]{width:60%}.elementor-column.elementor-col-66,.elementor-column[data-col="66"]{width:66.666%}.elementor-column.elementor-col-70,.elementor-column[data-col="70"]{width:70%}.elementor-column.elementor-col-75,.elementor-column[data-col="75"]{width:75%}.elementor-column.elementor-col-80,.elementor-column[data-col="80"]{width:80%}.elementor-column.elementor-col-83,.elementor-column[data-col="83"]{width:83.333%}.elementor-column.elementor-col-90,.elementor-column[data-col="90"]{width:90%}.elementor-column.elementor-col-100,.elementor-column[data-col="100"]{width:100%}}@media (max-width:479px){.elementor-column.elementor-xs-10{width:10%}.elementor-column.elementor-xs-11{width:11.111%}.elementor-column.elementor-xs-12{width:12.5%}.elementor-column.elementor-xs-14{width:14.285%}.elementor-column.elementor-xs-16{width:16.666%}.elementor-column.elementor-xs-20{width:20%}.elementor-column.elementor-xs-25{width:25%}.elementor-column.elementor-xs-30{width:30%}.elementor-column.elementor-xs-33{width:33.333%}.elementor-column.elementor-xs-40{width:40%}.elementor-column.elementor-xs-50{width:50%}.elementor-column.elementor-xs-60{width:60%}.elementor-column.elementor-xs-66{width:66.666%}.elementor-column.elementor-xs-70{width:70%}.elementor-column.elementor-xs-75{width:75%}.elementor-column.elementor-xs-80{width:80%}.elementor-column.elementor-xs-83{width:83.333%}.elementor-column.elementor-xs-90{width:90%}.elementor-column.elementor-xs-100{width:100%}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-column.elementor-sm-10{width:10%}.elementor-column.elementor-sm-11{width:11.111%}.elementor-column.elementor-sm-12{width:12.5%}.elementor-column.elementor-sm-14{width:14.285%}.elementor-column.elementor-sm-16{width:16.666%}.elementor-column.elementor-sm-20{width:20%}.elementor-column.elementor-sm-25{width:25%}.elementor-column.elementor-sm-30{width:30%}.elementor-column.elementor-sm-33{width:33.333%}.elementor-column.elementor-sm-40{width:40%}.elementor-column.elementor-sm-50{width:50%}.elementor-column.elementor-sm-60{width:60%}.elementor-column.elementor-sm-66{width:66.666%}.elementor-column.elementor-sm-70{width:70%}.elementor-column.elementor-sm-75{width:75%}.elementor-column.elementor-sm-80{width:80%}.elementor-column.elementor-sm-83{width:83.333%}.elementor-column.elementor-sm-90{width:90%}.elementor-column.elementor-sm-100{width:100%}}@media (min-width:ELEMENTOR_SCREEN_MOBILE_NEXT) and (max-width:ELEMENTOR_SCREEN_TABLET_MAX){.elementor-column.elementor-md-10{width:10%}.elementor-column.elementor-md-11{width:11.111%}.elementor-column.elementor-md-12{width:12.5%}.elementor-column.elementor-md-14{width:14.285%}.elementor-column.elementor-md-16{width:16.666%}.elementor-column.elementor-md-20{width:20%}.elementor-column.elementor-md-25{width:25%}.elementor-column.elementor-md-30{width:30%}.elementor-column.elementor-md-33{width:33.333%}.elementor-column.elementor-md-40{width:40%}.elementor-column.elementor-md-50{width:50%}.elementor-column.elementor-md-60{width:60%}.elementor-column.elementor-md-66{width:66.666%}.elementor-column.elementor-md-70{width:70%}.elementor-column.elementor-md-75{width:75%}.elementor-column.elementor-md-80{width:80%}.elementor-column.elementor-md-83{width:83.333%}.elementor-column.elementor-md-90{width:90%}.elementor-column.elementor-md-100{width:100%}}@media (min-width:ELEMENTOR_SCREEN_WIDESCREEN_MIN){.elementor-reverse-widescreen>.elementor-container>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-widescreen>.elementor-container>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-widescreen>.elementor-container>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-widescreen>.elementor-container>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-widescreen>.elementor-container>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-widescreen>.elementor-container>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-widescreen>.elementor-container>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-widescreen>.elementor-container>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-widescreen>.elementor-container>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-widescreen>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:ELEMENTOR_SCREEN_TABLET_NEXT) and (max-width:ELEMENTOR_SCREEN_LAPTOP_MAX){.elementor-reverse-laptop>.elementor-container>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-laptop>.elementor-container>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-laptop>.elementor-container>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-laptop>.elementor-container>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-laptop>.elementor-container>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-laptop>.elementor-container>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-laptop>.elementor-container>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-laptop>.elementor-container>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-laptop>.elementor-container>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-laptop>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:ELEMENTOR_SCREEN_TABLET_EXTRA_NEXT) and (max-width:ELEMENTOR_SCREEN_LAPTOP_MAX){.elementor-reverse-laptop>.elementor-container>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-laptop>.elementor-container>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-laptop>.elementor-container>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-laptop>.elementor-container>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-laptop>.elementor-container>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-laptop>.elementor-container>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-laptop>.elementor-container>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-laptop>.elementor-container>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-laptop>.elementor-container>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-laptop>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:ELEMENTOR_SCREEN_TABLET_NEXT) and (max-width:ELEMENTOR_SCREEN_TABLET_EXTRA_MAX){.elementor-reverse-laptop>.elementor-container>:first-child,.elementor-reverse-laptop>.elementor-container>:nth-child(2),.elementor-reverse-laptop>.elementor-container>:nth-child(3),.elementor-reverse-laptop>.elementor-container>:nth-child(4),.elementor-reverse-laptop>.elementor-container>:nth-child(5),.elementor-reverse-laptop>.elementor-container>:nth-child(6),.elementor-reverse-laptop>.elementor-container>:nth-child(7),.elementor-reverse-laptop>.elementor-container>:nth-child(8),.elementor-reverse-laptop>.elementor-container>:nth-child(9),.elementor-reverse-laptop>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:initial;-ms-flex-order:initial;order:0}.elementor-reverse-tablet_extra>.elementor-container>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:ELEMENTOR_SCREEN_MOBILE_NEXT) and (max-width:ELEMENTOR_SCREEN_TABLET_MAX){.elementor-reverse-tablet>.elementor-container>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-tablet>.elementor-container>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-tablet>.elementor-container>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-tablet>.elementor-container>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-tablet>.elementor-container>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-tablet>.elementor-container>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-tablet>.elementor-container>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-tablet>.elementor-container>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-tablet>.elementor-container>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-tablet>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:ELEMENTOR_SCREEN_MOBILE_EXTRA_NEXT) and (max-width:ELEMENTOR_SCREEN_TABLET_MAX){.elementor-reverse-tablet>.elementor-container>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-tablet>.elementor-container>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-tablet>.elementor-container>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-tablet>.elementor-container>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-tablet>.elementor-container>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-tablet>.elementor-container>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-tablet>.elementor-container>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-tablet>.elementor-container>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-tablet>.elementor-container>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-tablet>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:ELEMENTOR_SCREEN_MOBILE_NEXT) and (max-width:ELEMENTOR_SCREEN_MOBILE_EXTRA_MAX){.elementor-reverse-tablet>.elementor-container>:first-child,.elementor-reverse-tablet>.elementor-container>:nth-child(2),.elementor-reverse-tablet>.elementor-container>:nth-child(3),.elementor-reverse-tablet>.elementor-container>:nth-child(4),.elementor-reverse-tablet>.elementor-container>:nth-child(5),.elementor-reverse-tablet>.elementor-container>:nth-child(6),.elementor-reverse-tablet>.elementor-container>:nth-child(7),.elementor-reverse-tablet>.elementor-container>:nth-child(8),.elementor-reverse-tablet>.elementor-container>:nth-child(9),.elementor-reverse-tablet>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:initial;-ms-flex-order:initial;order:0}.elementor-reverse-mobile_extra>.elementor-container>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-reverse-mobile>.elementor-container>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-mobile>.elementor-container>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-mobile>.elementor-container>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-mobile>.elementor-container>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-mobile>.elementor-container>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-mobile>.elementor-container>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-mobile>.elementor-container>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-mobile>.elementor-container>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-mobile>.elementor-container>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-mobile>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.elementor-column{width:100%}}ul.elementor-icon-list-items.elementor-inline-items{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}ul.elementor-icon-list-items.elementor-inline-items .elementor-inline-item{word-break:break-word}.elementor-grid{display:grid;grid-column-gap:var(--grid-column-gap);grid-row-gap:var(--grid-row-gap)}.elementor-grid .elementor-grid-item{min-width:0}.elementor-grid-0 .elementor-grid{display:inline-block;width:100%;word-spacing:var(--grid-column-gap);margin-bottom:calc(-1 * var(--grid-row-gap))}.elementor-grid-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-bottom:var(--grid-row-gap);word-break:break-word}.elementor-grid-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}@media (min-width:ELEMENTOR_SCREEN_WIDESCREEN_MIN){.elementor-grid-widescreen-0 .elementor-grid{display:inline-block;width:100%;word-spacing:var(--grid-column-gap);margin-bottom:calc(-1 * var(--grid-row-gap))}.elementor-grid-widescreen-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-bottom:var(--grid-row-gap);word-break:break-word}.elementor-grid-widescreen-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-widescreen-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-widescreen-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-widescreen-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-widescreen-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-widescreen-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-widescreen-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-widescreen-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-widescreen-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-widescreen-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-widescreen-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-widescreen-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}}@media (max-width:ELEMENTOR_SCREEN_LAPTOP_MAX){.elementor-grid-laptop-0 .elementor-grid{display:inline-block;width:100%;word-spacing:var(--grid-column-gap);margin-bottom:calc(-1 * var(--grid-row-gap))}.elementor-grid-laptop-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-bottom:var(--grid-row-gap);word-break:break-word}.elementor-grid-laptop-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-laptop-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-laptop-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-laptop-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-laptop-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-laptop-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-laptop-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-laptop-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-laptop-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-laptop-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-laptop-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-laptop-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}}@media (max-width:ELEMENTOR_SCREEN_TABLET_EXTRA_MAX){.elementor-grid-tablet_extra-0 .elementor-grid{display:inline-block;width:100%;word-spacing:var(--grid-column-gap);margin-bottom:calc(-1 * var(--grid-row-gap))}.elementor-grid-tablet_extra-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-bottom:var(--grid-row-gap);word-break:break-word}.elementor-grid-tablet_extra-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-tablet_extra-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-tablet_extra-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-tablet_extra-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-tablet_extra-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-tablet_extra-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-tablet_extra-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-tablet_extra-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-tablet_extra-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-tablet_extra-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-tablet_extra-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-tablet_extra-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}}@media (max-width:ELEMENTOR_SCREEN_TABLET_MAX){.elementor-grid-tablet-0 .elementor-grid{display:inline-block;width:100%;word-spacing:var(--grid-column-gap);margin-bottom:calc(-1 * var(--grid-row-gap))}.elementor-grid-tablet-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-bottom:var(--grid-row-gap);word-break:break-word}.elementor-grid-tablet-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-tablet-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-tablet-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-tablet-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-tablet-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-tablet-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-tablet-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-tablet-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-tablet-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-tablet-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-tablet-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-tablet-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_EXTRA_MAX){.elementor-grid-mobile_extra-0 .elementor-grid{display:inline-block;width:100%;word-spacing:var(--grid-column-gap);margin-bottom:calc(-1 * var(--grid-row-gap))}.elementor-grid-mobile_extra-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-bottom:var(--grid-row-gap);word-break:break-word}.elementor-grid-mobile_extra-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-mobile_extra-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-mobile_extra-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-mobile_extra-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-mobile_extra-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-mobile_extra-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-mobile_extra-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-mobile_extra-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-mobile_extra-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-mobile_extra-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-mobile_extra-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-mobile_extra-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-grid-mobile-0 .elementor-grid{display:inline-block;width:100%;word-spacing:var(--grid-column-gap);margin-bottom:calc(-1 * var(--grid-row-gap))}.elementor-grid-mobile-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-bottom:var(--grid-row-gap);word-break:break-word}.elementor-grid-mobile-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-mobile-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-mobile-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-mobile-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-mobile-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-mobile-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-mobile-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-mobile-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-mobile-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-mobile-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-mobile-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-mobile-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}}@media (min-width:ELEMENTOR_SCREEN_DESKTOP_MIN){#elementor-device-mode:after{content:"desktop"}}@media (min-width:ELEMENTOR_SCREEN_WIDESCREEN_MIN){#elementor-device-mode:after{content:"widescreen"}}@media (max-width:ELEMENTOR_SCREEN_LAPTOP_MAX){#elementor-device-mode:after{content:"laptop"}}@media (max-width:ELEMENTOR_SCREEN_TABLET_EXTRA_MAX){#elementor-device-mode:after{content:"tablet_extra"}}@media (max-width:ELEMENTOR_SCREEN_TABLET_MAX){#elementor-device-mode:after{content:"tablet"}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_EXTRA_MAX){#elementor-device-mode:after{content:"mobile_extra"}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){#elementor-device-mode:after{content:"mobile"}}.e-container{--border-radius:0;--display:flex;--flex-direction:column;--flex-basis:auto;--flex-grow:0;--flex-shrink:1;--content-width:Min(100%,var(--container-max-width,1140px));--width:100%;--min-height:initial;--height:auto;--text-align:initial;--margin-top:0;--margin-right:0;--margin-bottom:0;--margin-left:0;--padding-top:var(--container-default-padding,0px);--padding-right:var(--container-default-padding,0px);--padding-bottom:var(--container-default-padding,0px);--padding-left:var(--container-default-padding,0px);--position:relative;--z-index:revert;--overflow:visible;--transition:0;--gap:var(--widgets-spacing,20px);--overlay-mix-blend-mode:initial;--overlay-opacity:1;--overlay-transition:0;position:var(--position);display:var(--display);text-align:var(--text-align);-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:var(--flex-direction);flex-direction:var(--flex-direction);-webkit-box-flex:var(--flex-grow);-ms-flex:var(--flex-grow) var(--flex-shrink) var(--flex-basis);flex:var(--flex-grow) var(--flex-shrink) var(--flex-basis);width:var(--width);min-width:0;max-width:min(100%,var(--width));min-height:var(--min-height);height:var(--height);border-radius:var(--border-radius);margin:var(--margin-top) var(--margin-right) var(--margin-bottom) var(--margin-left);padding:var(--padding-top) calc((100% - var(--content-width)) / 2 + var(--padding-right)) var(--padding-bottom) calc((100% - var(--content-width)) / 2 + var(--padding-left));z-index:var(--z-index);overflow:var(--overflow);-webkit-transition:var(--transition);-o-transition:var(--transition);transition:var(--transition)}:is(.elementor-section-wrap,[data-elementor-id])>.e-container{--margin-right:auto;--margin-left:auto}.e-container .elementor-empty-view{position:relative;width:100%;height:100%;min-height:var(--min-height,100px)}.e-container .elementor-empty-view .elementor-first-add{width:auto;height:auto;inset:10px}.e-container .elementor-widget-placeholder{--size:10px;--margin-start:calc(-1 * var(--size));--margin-end:calc(-2 * var(--size));-ms-flex-negative:0;flex-shrink:0;-ms-flex-item-align:stretch;align-self:stretch;z-index:1;pointer-events:none}.e-container.e-container--row>.elementor-widget-placeholder{position:relative;z-index:9999;width:var(--size);-webkit-margin-start:var(--margin-start);margin-inline-start:var(--margin-start);height:auto;min-height:100%;-webkit-animation-name:dnd-placeholder-widget-vertical;animation-name:dnd-placeholder-widget-vertical;-webkit-animation-fill-mode:both;animation-fill-mode:both}.e-container.e-container--row[data-nesting-level]:not([data-nesting-level="0"])>.elementor-widget-placeholder{-webkit-margin-end:0;margin-inline-end:0;-webkit-margin-start:calc(var(--margin-start) + var(--margin-end));margin-inline-start:calc(var(--margin-start) + var(--margin-end))}.e-container.e-container--row[data-nesting-level]:not([data-nesting-level="0"])>:not(.elementor-element)+.elementor-widget-placeholder{-webkit-margin-end:var(--margin-end);margin-inline-end:var(--margin-end);-webkit-margin-start:var(--margin-start);margin-inline-start:var(--margin-start)}.e-container.e-container--column>.elementor-widget-placeholder{height:var(--size);-webkit-margin-before:var(--margin-start);margin-block-start:var(--margin-start);-webkit-margin-after:var(--margin-end);margin-block-end:var(--margin-end);-webkit-animation-name:dnd-placeholder-widget-horizontal;animation-name:dnd-placeholder-widget-horizontal}.e-container.e-container--column>.elementor-widget-placeholder:nth-last-child(2){-webkit-margin-before:calc(2 * var(--margin-start));margin-block-start:calc(2 * var(--margin-start));--margin-end:0}.e-container .elementor-sortable-helper{height:84px;width:125px;z-index:-1}.e-container .elementor-widget.elementor-widget{margin-bottom:0}.e-container:before{content:var(--background-overlay);display:block;position:absolute;z-index:0;width:100%;height:100%;left:0;top:0;mix-blend-mode:var(--overlay-mix-blend-mode);opacity:var(--overlay-opacity);-webkit-transition:var(--overlay-transition);-o-transition:var(--overlay-transition);transition:var(--overlay-transition);border-radius:var(--border-radius)}.e-container .elementor-widget{min-width:0}.e-container .elementor-widget-google_maps,.e-container .elementor-widget-video{-ms-flex-preferred-size:100%;flex-basis:100%}.e-container .elementor-widget.e-widget-swiper{max-width:100%;-ms-flex-preferred-size:100%;flex-basis:100%}.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-setting,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-setting{position:relative;background-color:#556068}.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-setting:hover,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-setting:hover{background-color:#495157}.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-setting.elementor-editor-element-add,.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-setting.elementor-editor-element-edit+.elementor-editor-element-remove,.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-setting:first-child:before,.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-setting:last-child:after,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-setting.elementor-editor-element-add,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-setting.elementor-editor-element-edit+.elementor-editor-element-remove,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-setting:first-child:before,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-setting:last-child:after{display:none}.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-setting:not(.elementor-editor-element-edit),.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-setting:not(.elementor-editor-element-edit){-webkit-margin-start:-25px;margin-inline-start:-25px;z-index:-1;-webkit-transition:all .3s;-o-transition:.3s all;transition:all .3s;will-change:margin-inline-start}.e-container>.e-container>.elementor-element-overlay>.elementor-editor-element-settings:hover>:is(.elementor-editor-element-duplicate,.elementor-editor-element-remove),.elementor-widget .e-container>.elementor-element-overlay>.elementor-editor-element-settings:hover>:is(.elementor-editor-element-duplicate,.elementor-editor-element-remove){-webkit-margin-start:0;margin-inline-start:0}.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-settings,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-settings{inset:auto;-webkit-transform:none;-ms-transform:none;transform:none;inset-inline-start:0;top:0;border-radius:0;border-end-end-radius:3px;height:auto;background-color:#556068}.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-settings:hover,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-settings:hover{background-color:#495157}.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-settings i.eicon-handle:before,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-settings i.eicon-handle:before{content:"\e9b4";font-size:20px;display:block;padding:2px}@media (max-width:767px){.e-container{--width:100%;--flex-wrap:wrap}}@-webkit-keyframes dnd-placeholder-widget-vertical{0%{-webkit-transform-origin:0 50%;transform-origin:0 50%;-webkit-transform:translateX(50%) scaleX(0);transform:translateX(50%) scaleX(0);opacity:0}to{-webkit-transform-origin:0 50%;transform-origin:0 50%;-webkit-transform:translateX(50%) scaleX(1);transform:translateX(50%) scaleX(1);opacity:.9}}@keyframes dnd-placeholder-widget-vertical{0%{-webkit-transform-origin:0 50%;transform-origin:0 50%;-webkit-transform:translateX(50%) scaleX(0);transform:translateX(50%) scaleX(0);opacity:0}to{-webkit-transform-origin:0 50%;transform-origin:0 50%;-webkit-transform:translateX(50%) scaleX(1);transform:translateX(50%) scaleX(1);opacity:.9}}@-webkit-keyframes dnd-placeholder-widget-horizontal{0%{-webkit-transform-origin:50% 0;transform-origin:50% 0;-webkit-transform:scaleY(0);transform:scaleY(0);opacity:0}to{-webkit-transform-origin:50% 0;transform-origin:50% 0;-webkit-transform:scaleY(1);transform:scaleY(1);opacity:.9}}@keyframes dnd-placeholder-widget-horizontal{0%{-webkit-transform-origin:50% 0;transform-origin:50% 0;-webkit-transform:scaleY(0);transform:scaleY(0);opacity:0}to{-webkit-transform-origin:50% 0;transform-origin:50% 0;-webkit-transform:scaleY(1);transform:scaleY(1);opacity:.9}}.elementor-form-fields-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group .elementor-field-subgroup,.elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group>.elementor-select-wrapper,.elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group>input,.elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group>textarea{-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.elementor-form-fields-wrapper.elementor-labels-inline>.elementor-field-group .elementor-select-wrapper,.elementor-form-fields-wrapper.elementor-labels-inline>.elementor-field-group>input{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-field-group{-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-field-group.elementor-field-type-submit{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.elementor-field-group .elementor-field-textual{width:100%;max-width:100%;border:1px solid #818a91;background-color:transparent;color:#373a3c;vertical-align:middle;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-field-group .elementor-field-textual:focus{-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.1) inset;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);outline:0}.elementor-field-group .elementor-field-textual::-webkit-input-placeholder{color:inherit;font-family:inherit;opacity:.6}.elementor-field-group .elementor-field-textual:-ms-input-placeholder{color:inherit;font-family:inherit;opacity:.6}.elementor-field-group .elementor-field-textual:-moz-placeholder,.elementor-field-group .elementor-field-textual::-moz-placeholder{color:inherit;font-family:inherit;opacity:.6}.elementor-field-group .elementor-field-textual::-ms-input-placeholder{color:inherit;font-family:inherit;opacity:.6}.elementor-field-group .elementor-field-textual::placeholder{color:inherit;font-family:inherit;opacity:.6}.elementor-field-group .elementor-select-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;position:relative;width:100%}.elementor-field-group .elementor-select-wrapper select{appearance:none;-webkit-appearance:none;-moz-appearance:none;color:inherit;font-size:inherit;font-family:inherit;font-weight:inherit;font-style:inherit;text-transform:inherit;letter-spacing:inherit;line-height:inherit;-ms-flex-preferred-size:100%;flex-basis:100%;padding-right:20px}.elementor-field-group .elementor-select-wrapper:before{content:"\e92a";font-family:eicons;font-size:15px;position:absolute;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);right:10px;pointer-events:none;text-shadow:0 0 3px rgba(0,0,0,.3)}.elementor-field-group.elementor-field-type-select-multiple .elementor-select-wrapper:before{content:""}.elementor-field-subgroup{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.elementor-field-subgroup .elementor-field-option label{display:inline-block}.elementor-field-subgroup.elementor-subgroup-inline .elementor-field-option{padding-right:10px}.elementor-field-subgroup:not(.elementor-subgroup-inline) .elementor-field-option{-ms-flex-preferred-size:100%;flex-basis:100%}.elementor-field-type-acceptance .elementor-field-subgroup .elementor-field-option input,.elementor-field-type-acceptance .elementor-field-subgroup .elementor-field-option label,.elementor-field-type-checkbox .elementor-field-subgroup .elementor-field-option input,.elementor-field-type-checkbox .elementor-field-subgroup .elementor-field-option label,.elementor-field-type-radio .elementor-field-subgroup .elementor-field-option input,.elementor-field-type-radio .elementor-field-subgroup .elementor-field-option label{display:inline}.elementor-field-label{cursor:pointer}.elementor-mark-required .elementor-field-label:after{content:"*";color:red;padding-left:.2em}.elementor-field-textual{line-height:1.4;font-size:15px;min-height:40px;padding:5px 14px;border-radius:3px}.elementor-field-textual.elementor-size-xs{font-size:13px;min-height:33px;padding:4px 12px;border-radius:2px}.elementor-field-textual.elementor-size-md{font-size:16px;min-height:47px;padding:6px 16px;border-radius:4px}.elementor-field-textual.elementor-size-lg{font-size:18px;min-height:59px;padding:7px 20px;border-radius:5px}.elementor-field-textual.elementor-size-xl{font-size:20px;min-height:72px;padding:8px 24px;border-radius:6px}.elementor-button-align-stretch .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button{-ms-flex-preferred-size:100%;flex-basis:100%}.elementor-button-align-stretch .e-form__buttons__wrapper{-ms-flex-preferred-size:50%;flex-basis:50%;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-button-align-stretch .e-form__buttons__wrapper__button{-ms-flex-preferred-size:100%;flex-basis:100%}.elementor-button-align-center .e-form__buttons,.elementor-button-align-center .elementor-field-type-submit{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-button-align-start .e-form__buttons,.elementor-button-align-start .elementor-field-type-submit{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-button-align-end .e-form__buttons,.elementor-button-align-end .elementor-field-type-submit{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-button-align-center .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button,.elementor-button-align-end .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button,.elementor-button-align-start .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button{-ms-flex-preferred-size:initial;flex-basis:auto}.elementor-button-align-center .e-form__buttons__wrapper,.elementor-button-align-end .e-form__buttons__wrapper,.elementor-button-align-start .e-form__buttons__wrapper{-webkit-box-flex:initial;-ms-flex-positive:initial;flex-grow:0}.elementor-button-align-center .e-form__buttons__wrapper,.elementor-button-align-center .e-form__buttons__wrapper__button,.elementor-button-align-end .e-form__buttons__wrapper,.elementor-button-align-end .e-form__buttons__wrapper__button,.elementor-button-align-start .e-form__buttons__wrapper,.elementor-button-align-start .e-form__buttons__wrapper__button{-ms-flex-preferred-size:initial;flex-basis:auto}@media screen and (max-width:ELEMENTOR_SCREEN_TABLET_MAX){.elementor-tablet-button-align-stretch .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button{-ms-flex-preferred-size:100%;flex-basis:100%}.elementor-tablet-button-align-stretch .e-form__buttons__wrapper{-ms-flex-preferred-size:50%;flex-basis:50%;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-tablet-button-align-stretch .e-form__buttons__wrapper__button{-ms-flex-preferred-size:100%;flex-basis:100%}.elementor-tablet-button-align-center .e-form__buttons,.elementor-tablet-button-align-center .elementor-field-type-submit{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-tablet-button-align-start .e-form__buttons,.elementor-tablet-button-align-start .elementor-field-type-submit{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-tablet-button-align-end .e-form__buttons,.elementor-tablet-button-align-end .elementor-field-type-submit{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-tablet-button-align-center .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button,.elementor-tablet-button-align-end .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button,.elementor-tablet-button-align-start .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button{-ms-flex-preferred-size:initial;flex-basis:auto}.elementor-tablet-button-align-center .e-form__buttons__wrapper,.elementor-tablet-button-align-end .e-form__buttons__wrapper,.elementor-tablet-button-align-start .e-form__buttons__wrapper{-webkit-box-flex:initial;-ms-flex-positive:initial;flex-grow:0}.elementor-tablet-button-align-center .e-form__buttons__wrapper,.elementor-tablet-button-align-center .e-form__buttons__wrapper__button,.elementor-tablet-button-align-end .e-form__buttons__wrapper,.elementor-tablet-button-align-end .e-form__buttons__wrapper__button,.elementor-tablet-button-align-start .e-form__buttons__wrapper,.elementor-tablet-button-align-start .e-form__buttons__wrapper__button{-ms-flex-preferred-size:initial;flex-basis:auto}}@media screen and (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-mobile-button-align-stretch .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button{-ms-flex-preferred-size:100%;flex-basis:100%}.elementor-mobile-button-align-stretch .e-form__buttons__wrapper{-ms-flex-preferred-size:50%;flex-basis:50%;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-mobile-button-align-stretch .e-form__buttons__wrapper__button{-ms-flex-preferred-size:100%;flex-basis:100%}.elementor-mobile-button-align-center .e-form__buttons,.elementor-mobile-button-align-center .elementor-field-type-submit{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-mobile-button-align-start .e-form__buttons,.elementor-mobile-button-align-start .elementor-field-type-submit{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-mobile-button-align-end .e-form__buttons,.elementor-mobile-button-align-end .elementor-field-type-submit{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-mobile-button-align-center .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button,.elementor-mobile-button-align-end .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button,.elementor-mobile-button-align-start .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button{-ms-flex-preferred-size:initial;flex-basis:auto}.elementor-mobile-button-align-center .e-form__buttons__wrapper,.elementor-mobile-button-align-end .e-form__buttons__wrapper,.elementor-mobile-button-align-start .e-form__buttons__wrapper{-webkit-box-flex:initial;-ms-flex-positive:initial;flex-grow:0}.elementor-mobile-button-align-center .e-form__buttons__wrapper,.elementor-mobile-button-align-center .e-form__buttons__wrapper__button,.elementor-mobile-button-align-end .e-form__buttons__wrapper,.elementor-mobile-button-align-end .e-form__buttons__wrapper__button,.elementor-mobile-button-align-start .e-form__buttons__wrapper,.elementor-mobile-button-align-start .e-form__buttons__wrapper__button{-ms-flex-preferred-size:initial;flex-basis:auto}}.elementor-error .elementor-field{border-color:#d9534f}.elementor-error .help-inline{color:#d9534f;font-size:.9em}.elementor-message{margin:10px 0;font-size:1em;line-height:1}.elementor-message:before{content:"\e90e";display:inline-block;font-family:eicons;font-weight:400;font-style:normal;vertical-align:middle;margin-right:5px}.elementor-message.elementor-message-danger{color:#d9534f}.elementor-message.elementor-message-danger:before{content:"\e87f"}.elementor-message.form-message-success{color:#5cb85c}.elementor-form .elementor-button{padding-top:0;padding-bottom:0;border:none}.elementor-form .elementor-button>span{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-form .elementor-button.elementor-size-xs{min-height:33px}.elementor-form .elementor-button.elementor-size-sm{min-height:40px}.elementor-form .elementor-button.elementor-size-md{min-height:47px}.elementor-form .elementor-button.elementor-size-lg{min-height:59px}.elementor-form .elementor-button.elementor-size-xl{min-height:72px}.elementor-element .elementor-widget-container{-webkit-transition:background .3s,border .3s,border-radius .3s,-webkit-box-shadow .3s;transition:background .3s,border .3s,border-radius .3s,-webkit-box-shadow .3s;-o-transition:background .3s,border .3s,border-radius .3s,box-shadow .3s;transition:background .3s,border .3s,border-radius .3s,box-shadow .3s;transition:background .3s,border .3s,border-radius .3s,box-shadow .3s,-webkit-box-shadow .3s}.elementor-button{display:inline-block;line-height:1;background-color:#818a91;font-size:15px;padding:12px 24px;border-radius:3px;color:#fff;fill:#fff;text-align:center;-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s}.elementor-button:focus,.elementor-button:hover,.elementor-button:visited{color:#fff}.elementor-button-content-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-button-icon{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-button-icon svg{width:1em;height:auto}.elementor-button-icon .e-font-icon-svg{height:1em}.elementor-button-text{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10;display:inline-block}.elementor-button.elementor-size-xs{font-size:13px;padding:10px 20px;border-radius:2px}.elementor-button.elementor-size-md{font-size:16px;padding:15px 30px;border-radius:4px}.elementor-button.elementor-size-lg{font-size:18px;padding:20px 40px;border-radius:5px}.elementor-button.elementor-size-xl{font-size:20px;padding:25px 50px;border-radius:6px}.elementor-button .elementor-align-icon-right{margin-left:5px;-webkit-box-ordinal-group:16;-ms-flex-order:15;order:15}.elementor-button .elementor-align-icon-left{margin-right:5px;-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-button span{text-decoration:inherit}.elementor-element.elementor-button-info .elementor-button{background-color:#5bc0de}.elementor-element.elementor-button-success .elementor-button{background-color:#5cb85c}.elementor-element.elementor-button-warning .elementor-button{background-color:#f0ad4e}.elementor-element.elementor-button-danger .elementor-button{background-color:#d9534f}.elementor-widget-button .elementor-button .elementor-button-info{background-color:#5bc0de}.elementor-widget-button .elementor-button .elementor-button-success{background-color:#5cb85c}.elementor-widget-button .elementor-button .elementor-button-warning{background-color:#f0ad4e}.elementor-widget-button .elementor-button .elementor-button-danger{background-color:#d9534f}.elementor-tab-title a{color:inherit}.elementor-view-stacked .elementor-icon{padding:.5em;background-color:#818a91;color:#fff;fill:#fff}.elementor-view-framed .elementor-icon{padding:.5em;color:#818a91;border:3px solid #818a91;background-color:transparent}.elementor-icon{display:inline-block;line-height:1;-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s;color:#818a91;font-size:50px;text-align:center}.elementor-icon:hover{color:#818a91}.elementor-icon i,.elementor-icon svg{width:1em;height:1em;position:relative;display:block}.elementor-icon i:before,.elementor-icon svg:before{position:absolute;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.elementor-icon i.fad{width:auto}.elementor-shape-circle .elementor-icon{border-radius:50%}.e-transform .elementor-widget-container{-webkit-transform:perspective(var(--e-transform-perspective,0)) rotate(var(--e-transform-rotateZ,0)) rotateX(var(--e-transform-rotateX,0)) rotateY(var(--e-transform-rotateY,0)) translate(var(--e-transform-translate,0)) translateX(var(--e-transform-translateX,0)) translateY(var(--e-transform-translateY,0)) scaleX(calc(var(--e-transform-flipX, 1) * var(--e-transform-scaleX, var(--e-transform-scale, 1)))) scaleY(calc(var(--e-transform-flipY, 1) * var(--e-transform-scaleY, var(--e-transform-scale, 1)))) skewX(var(--e-transform-skewX,0)) skewY(var(--e-transform-skewY,0));transform:perspective(var(--e-transform-perspective,0)) rotate(var(--e-transform-rotateZ,0)) rotateX(var(--e-transform-rotateX,0)) rotateY(var(--e-transform-rotateY,0)) translate(var(--e-transform-translate,0)) translateX(var(--e-transform-translateX,0)) translateY(var(--e-transform-translateY,0)) scaleX(calc(var(--e-transform-flipX, 1) * var(--e-transform-scaleX, var(--e-transform-scale, 1)))) scaleY(calc(var(--e-transform-flipY, 1) * var(--e-transform-scaleY, var(--e-transform-scale, 1)))) skewX(var(--e-transform-skewX,0)) skewY(var(--e-transform-skewY,0));-webkit-transform-origin:var(--e-transform-origin-y) var(--e-transform-origin-x);-ms-transform-origin:var(--e-transform-origin-y) var(--e-transform-origin-x);transform-origin:var(--e-transform-origin-y) var(--e-transform-origin-x);-webkit-transition:-webkit-transform var(--e-transform-transition-duration,.4s);transition:-webkit-transform var(--e-transform-transition-duration,.4s);-o-transition:transform var(--e-transform-transition-duration,.4s);transition:transform var(--e-transform-transition-duration,.4s);transition:transform var(--e-transform-transition-duration,.4s),-webkit-transform var(--e-transform-transition-duration,.4s)}.swiper-container{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;z-index:1}.swiper-container .swiper-slide figure{line-height:0}.swiper-container .elementor-lightbox-content-source{display:none}.swiper-container-no-flexbox .swiper-slide{float:left}.swiper-container-vertical>.swiper-wrapper{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;-o-transition-property:transform;transition-property:transform;transition-property:transform,-webkit-transform;-webkit-box-sizing:content-box;box-sizing:content-box}.swiper-container-android .swiper-slide,.swiper-wrapper{-webkit-transform:translateZ(0);transform:translateZ(0)}.swiper-container-multirow>.swiper-wrapper{-ms-flex-wrap:wrap;flex-wrap:wrap}.swiper-container-free-mode>.swiper-wrapper{-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;margin:0 auto}.swiper-slide{-ms-flex-negative:0;flex-shrink:0;width:100%;height:100%;position:relative}.swiper-container-autoheight,.swiper-container-autoheight .swiper-slide{height:auto}.swiper-container-autoheight .swiper-wrapper{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-transition-property:height,-webkit-transform;transition-property:height,-webkit-transform;-o-transition-property:transform,height;transition-property:transform,height;transition-property:transform,height,-webkit-transform}.swiper-container .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-wp8-horizontal{-ms-touch-action:pan-y;touch-action:pan-y}.swiper-wp8-vertical{-ms-touch-action:pan-x;touch-action:pan-x}.swiper-button-next,.swiper-button-prev{position:absolute;top:50%;width:27px;height:44px;margin-top:-22px;z-index:10;cursor:pointer;background-size:27px 44px;background:no-repeat 50%}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-prev,.swiper-container-rtl .swiper-button-next{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 44'%3E%3Cpath d='M0 22L22 0l2.1 2.1L4.2 22l19.9 19.9L22 44 0 22z' fill='%23007aff'/%3E%3C/svg%3E");left:10px;right:auto}.swiper-button-prev.swiper-button-black,.swiper-container-rtl .swiper-button-next.swiper-button-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 44'%3E%3Cpath d='M0 22L22 0l2.1 2.1L4.2 22l19.9 19.9L22 44 0 22z'/%3E%3C/svg%3E")}.swiper-button-prev.swiper-button-white,.swiper-container-rtl .swiper-button-next.swiper-button-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 44'%3E%3Cpath d='M0 22L22 0l2.1 2.1L4.2 22l19.9 19.9L22 44 0 22z' fill='%23fff'/%3E%3C/svg%3E")}.swiper-button-next,.swiper-container-rtl .swiper-button-prev{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 44'%3E%3Cpath d='M27 22L5 44l-2.1-2.1L22.8 22 2.9 2.1 5 0l22 22z' fill='%23007aff'/%3E%3C/svg%3E");right:10px;left:auto}.swiper-button-next.swiper-button-black,.swiper-container-rtl .swiper-button-prev.swiper-button-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 44'%3E%3Cpath d='M27 22L5 44l-2.1-2.1L22.8 22 2.9 2.1 5 0l22 22z'/%3E%3C/svg%3E")}.swiper-button-next.swiper-button-white,.swiper-container-rtl .swiper-button-prev.swiper-button-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 44'%3E%3Cpath d='M27 22L5 44l-2.1-2.1L22.8 22 2.9 2.1 5 0l22 22z' fill='%23fff'/%3E%3C/svg%3E")}.swiper-pagination{position:absolute;text-align:center;-webkit-transition:.3s;-o-transition:.3s;transition:.3s;-webkit-transform:translateZ(0);transform:translateZ(0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-container-horizontal>.swiper-pagination-bullets,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:5px;left:0;width:100%}.swiper-pagination-bullet{width:6px;height:6px;display:inline-block;border-radius:50%;background:#000;opacity:.2}.swiper-pagination-fraction{color:#000}button.swiper-pagination-bullet{border:none;margin:0;padding:0;-webkit-box-shadow:none;box-shadow:none;appearance:none;-webkit-appearance:none;-moz-appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-white .swiper-pagination-bullet{background:#fff}.swiper-pagination-bullet-active{opacity:1}.swiper-pagination-white .swiper-pagination-bullet-active{background:#fff}.swiper-pagination-black .swiper-pagination-bullet-active{background:#000}.swiper-container-vertical>.swiper-pagination-bullets{right:10px;top:50%;-webkit-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0)}.swiper-container-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:5px 0;display:block}.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 6px}.swiper-pagination-progressbar{background:rgba(0,0,0,.25);position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:#000;position:absolute;left:0;top:0;width:100%;height:100%;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);-webkit-transform-origin:left top;-ms-transform-origin:left top;transform-origin:left top}.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{-webkit-transform-origin:right top;-ms-transform-origin:right top;transform-origin:right top}.swiper-container-horizontal>.swiper-pagination-progressbar{width:100%;height:4px;left:0;top:0}.swiper-container-vertical>.swiper-pagination-progressbar{width:4px;height:100%;left:0;top:0}.swiper-pagination-progressbar.swiper-pagination-white{background:hsla(0,0%,100%,.5)}.swiper-pagination-progressbar.swiper-pagination-white .swiper-pagination-progressbar-fill{background:#fff}.swiper-pagination-progressbar.swiper-pagination-black .swiper-pagination-progressbar-fill{background:#000}.swiper-container-3d{-webkit-perspective:1200px;perspective:1200px}.swiper-container-3d .swiper-cube-shadow,.swiper-container-3d .swiper-slide,.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top,.swiper-container-3d .swiper-wrapper{-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-container-3d .swiper-slide-shadow-left{background-image:-webkit-gradient(linear,right top,left top,from(rgba(0,0,0,.5)),to(transparent));background-image:-o-linear-gradient(right,rgba(0,0,0,.5),transparent);background-image:linear-gradient(270deg,rgba(0,0,0,.5),transparent)}.swiper-container-3d .swiper-slide-shadow-right{background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(transparent));background-image:-o-linear-gradient(left,rgba(0,0,0,.5),transparent);background-image:linear-gradient(90deg,rgba(0,0,0,.5),transparent)}.swiper-container-3d .swiper-slide-shadow-top{background-image:-webkit-gradient(linear,left bottom,left top,from(rgba(0,0,0,.5)),to(transparent));background-image:-o-linear-gradient(bottom,rgba(0,0,0,.5),transparent);background-image:linear-gradient(0deg,rgba(0,0,0,.5),transparent)}.swiper-container-3d .swiper-slide-shadow-bottom{background-image:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.5)),to(transparent));background-image:-o-linear-gradient(top,rgba(0,0,0,.5),transparent);background-image:linear-gradient(180deg,rgba(0,0,0,.5),transparent)}.swiper-container-coverflow .swiper-wrapper,.swiper-container-flip .swiper-wrapper{-ms-perspective:1200px}.swiper-container-cube,.swiper-container-flip{overflow:visible}.swiper-container-cube .swiper-slide,.swiper-container-flip .swiper-slide{pointer-events:none;z-index:1}.swiper-container-cube .swiper-slide .swiper-slide,.swiper-container-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-active .swiper-slide-active,.swiper-container-flip .swiper-slide-active,.swiper-container-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-cube .swiper-slide-shadow-bottom,.swiper-container-cube .swiper-slide-shadow-left,.swiper-container-cube .swiper-slide-shadow-right,.swiper-container-cube .swiper-slide-shadow-top,.swiper-container-flip .swiper-slide-shadow-bottom,.swiper-container-flip .swiper-slide-shadow-left,.swiper-container-flip .swiper-slide-shadow-right,.swiper-container-flip .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-container-cube .swiper-slide{visibility:hidden;-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0;width:100%;height:100%}.swiper-container-cube.swiper-container-rtl .swiper-slide{-webkit-transform-origin:100% 0;-ms-transform-origin:100% 0;transform-origin:100% 0}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-next,.swiper-container-cube .swiper-slide-next+.swiper-slide,.swiper-container-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-container-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0;width:100%;height:100%;background:#000;opacity:.6;-webkit-filter:blur(50px);filter:blur(50px);z-index:0}.swiper-container-fade.swiper-container-free-mode .swiper-slide{-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out}.swiper-container-fade .swiper-slide{pointer-events:none;-webkit-transition-property:opacity;-o-transition-property:opacity;transition-property:opacity}.swiper-container-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-fade .swiper-slide-active,.swiper-container-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-zoom-container{width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain}.swiper-scrollbar{border-radius:10px;position:relative;-ms-touch-action:none;background:rgba(0,0,0,.1)}.swiper-container-horizontal>.swiper-scrollbar{position:absolute;left:1%;bottom:3px;z-index:50;height:5px;width:98%}.swiper-container-vertical>.swiper-scrollbar{position:absolute;right:3px;top:1%;z-index:50;width:5px;height:98%}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:rgba(0,0,0,.5);border-radius:10px;left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.elementor-pagination-position-outside .swiper-container{padding-bottom:30px}.elementor-pagination-position-outside .elementor-swiper-button{top:calc(50% - 30px / 2)}.elementor-swiper{position:relative}.elementor-main-swiper{position:static}.elementor-arrows-position-outside .swiper-container{width:calc(100% - 60px)}.elementor-arrows-position-outside .elementor-swiper-button-prev{left:0}.elementor-arrows-position-outside .elementor-swiper-button-next{right:0}.swiper-image-stretch .swiper-slide .swiper-slide-image{width:100%}.elementor-swiper-button{position:absolute;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;z-index:1;cursor:pointer;font-size:25px;color:hsla(0,0%,93.3%,.9);top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.elementor-swiper-button svg{fill:hsla(0,0%,93.3%,.9);height:1em;width:1em}.elementor-swiper-button-prev{left:10px}.elementor-swiper-button-next{right:10px}.elementor-swiper-button.swiper-button-disabled{opacity:.3}.swiper-container-cube .elementor-swiper-button{-webkit-transform:translate3d(0,-50%,1px);transform:translate3d(0,-50%,1px)}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;-webkit-transform-origin:50%;-ms-transform-origin:50%;transform-origin:50%;-webkit-animation:swiper-preloader-spin 1s steps(12) infinite;animation:swiper-preloader-spin 1s steps(12) infinite}.swiper-lazy-preloader:after{display:block;content:"";width:100%;height:100%;background-size:100%;background:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 120 120' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath id='a' stroke='%236c6c6c' stroke-width='11' stroke-linecap='round' d='M60 7v20'/%3E%3C/defs%3E%3Cuse xlink:href='%23a' opacity='.27'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(30 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(60 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(90 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(120 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(150 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.37' transform='rotate(180 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.46' transform='rotate(210 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.56' transform='rotate(240 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.66' transform='rotate(270 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.75' transform='rotate(300 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.85' transform='rotate(330 60 60)'/%3E%3C/svg%3E") no-repeat 50%}.swiper-lazy-preloader-white:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 120 120' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath id='a' stroke='%23fff' stroke-width='11' stroke-linecap='round' d='M60 7v20'/%3E%3C/defs%3E%3Cuse xlink:href='%23a' opacity='.27'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(30 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(60 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(90 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(120 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(150 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.37' transform='rotate(180 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.46' transform='rotate(210 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.56' transform='rotate(240 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.66' transform='rotate(270 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.75' transform='rotate(300 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.85' transform='rotate(330 60 60)'/%3E%3C/svg%3E")}@-webkit-keyframes swiper-preloader-spin{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes swiper-preloader-spin{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.elementor-lightbox{--lightbox-ui-color:hsla(0,0%,93.3%,0.9);--lightbox-ui-color-hover:#fff;--lightbox-text-color:var(--lightbox-ui-color);--lightbox-header-icons-size:20px;--lightbox-navigation-icons-size:25px}.elementor-lightbox .dialog-header{display:none}.elementor-lightbox .dialog-widget-content{background:none;-webkit-box-shadow:none;box-shadow:none;width:100%;height:100%}.elementor-lightbox .dialog-message{-webkit-animation-duration:.3s;animation-duration:.3s}.elementor-lightbox .dialog-message:not(.elementor-fit-aspect-ratio){height:100%}.elementor-lightbox .dialog-message.dialog-lightbox-message{padding:0}.elementor-lightbox .dialog-lightbox-close-button{cursor:pointer;position:absolute;font-size:var(--lightbox-header-icons-size);right:.75em;margin-top:13px;padding:.25em;z-index:2;line-height:1;display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-lightbox .dialog-lightbox-close-button svg{height:1em;width:1em}.elementor-lightbox .dialog-lightbox-close-button,.elementor-lightbox .elementor-swiper-button{color:var(--lightbox-ui-color);-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s;opacity:1}.elementor-lightbox .dialog-lightbox-close-button svg,.elementor-lightbox .elementor-swiper-button svg{fill:var(--lightbox-ui-color)}.elementor-lightbox .dialog-lightbox-close-button:hover,.elementor-lightbox .elementor-swiper-button:hover{color:var(--lightbox-ui-color-hover)}.elementor-lightbox .dialog-lightbox-close-button:hover svg,.elementor-lightbox .elementor-swiper-button:hover svg{fill:var(--lightbox-ui-color-hover)}.elementor-lightbox .swiper-container{height:100%}.elementor-lightbox .elementor-lightbox-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;position:relative;padding:70px;-webkit-box-sizing:border-box;box-sizing:border-box;height:100%;margin:auto}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-lightbox .elementor-lightbox-item{padding:70px 0}}.elementor-lightbox .elementor-lightbox-image{max-height:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.elementor-lightbox .elementor-lightbox-image,.elementor-lightbox .elementor-lightbox-image:hover{opacity:1;-webkit-filter:none;filter:none;border:none}.elementor-lightbox .elementor-lightbox-image,.elementor-lightbox .elementor-video-container{-webkit-box-shadow:0 0 30px rgba(0,0,0,.3),0 0 8px -5px rgba(0,0,0,.3);box-shadow:0 0 30px rgba(0,0,0,.3),0 0 8px -5px rgba(0,0,0,.3);border-radius:2px}.elementor-lightbox .elementor-video-container{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}@media (min-width:ELEMENTOR_SCREEN_TABLET_NEXT){.elementor-lightbox .elementor-video-container{width:75%}}@media (max-width:ELEMENTOR_SCREEN_TABLET_MAX){.elementor-lightbox .elementor-video-container{width:100%}}@media (min-width:768px) and (max-width:1024px){.elementor-lightbox .elementor-aspect-ratio-916 .elementor-video-container{width:70%}}.elementor-lightbox .elementor-swiper-button:focus{outline-width:1px}.elementor-lightbox .elementor-swiper-button-next,.elementor-lightbox .elementor-swiper-button-prev{height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:15%;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:var(--lightbox-navigation-icons-size)}.elementor-lightbox .elementor-swiper-button-prev{left:0}.elementor-lightbox .elementor-swiper-button-next{right:0}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-lightbox .elementor-swiper-button:focus{outline:none}.elementor-lightbox .elementor-swiper-button-next,.elementor-lightbox .elementor-swiper-button-prev{width:20%}.elementor-lightbox .elementor-swiper-button-next i,.elementor-lightbox .elementor-swiper-button-prev i{padding:10px;background-color:rgba(0,0,0,.5)}.elementor-lightbox .elementor-swiper-button-prev{left:0;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-lightbox .elementor-swiper-button-next{right:0;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}}.elementor-slideshow__counter{color:currentColor;font-size:.75em;width:-webkit-max-content;width:-moz-max-content;width:max-content}.elementor-slideshow__footer,.elementor-slideshow__header{position:absolute;left:0;width:100%;padding:15px 20px;-webkit-transition:.3s;-o-transition:.3s;transition:.3s}.elementor-slideshow__footer{color:var(--lightbox-text-color)}.elementor-slideshow__header{color:var(--lightbox-ui-color);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;font-size:var(--lightbox-header-icons-size);padding-left:1em;padding-right:2.6em;top:0;-webkit-box-align:center;-ms-flex-align:center;align-items:center;z-index:10}.elementor-slideshow__header>i,.elementor-slideshow__header>svg{cursor:pointer;padding:.25em;margin:0 .35em}.elementor-slideshow__header>i{font-size:inherit}.elementor-slideshow__header>i:hover{color:var(--lightbox-ui-color-hover)}.elementor-slideshow__header>svg{-webkit-box-sizing:content-box;box-sizing:content-box;fill:var(--lightbox-ui-color);height:1em;width:1em}.elementor-slideshow__header>svg:hover{fill:var(--lightbox-ui-color-hover)}.elementor-slideshow__header .elementor-slideshow__counter{margin-right:auto}.elementor-slideshow__header .elementor-icon-share{z-index:5}.elementor-slideshow__share-menu{background-color:transparent;width:0;height:0;position:absolute;overflow:hidden;-webkit-transition:background-color .4s;-o-transition:background-color .4s;transition:background-color .4s}.elementor-slideshow__share-menu .elementor-slideshow__share-links a{color:#2c2c2c}.elementor-slideshow__share-links{display:block;position:absolute;min-width:200px;right:2.8em;top:3em;background-color:#fff;border-radius:3px;padding:14px 20px;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);opacity:0;-webkit-transform-origin:90% 10%;-ms-transform-origin:90% 10%;transform-origin:90% 10%;-webkit-transition:all .25s .1s;-o-transition:all .25s .1s;transition:all .25s .1s;-webkit-box-shadow:0 4px 15px rgba(0,0,0,.3);box-shadow:0 4px 15px rgba(0,0,0,.3)}.elementor-slideshow__share-links a{text-align:left;color:#55595c;font-size:12px;line-height:2.5;display:block;opacity:0;-webkit-transition:opacity .5s .1s;-o-transition:opacity .5s .1s;transition:opacity .5s .1s}.elementor-slideshow__share-links a:hover{color:#000}.elementor-slideshow__share-links a i,.elementor-slideshow__share-links a svg{margin-right:.75em}.elementor-slideshow__share-links a i{font-size:1.25em}.elementor-slideshow__share-links a svg{height:1.25em;width:1.25em}.elementor-slideshow__share-links:before{content:"";display:block;position:absolute;top:1px;right:.5em;border:.45em solid transparent;border-bottom-color:#fff;-webkit-transform:translateY(-100%) scaleX(.7);-ms-transform:translateY(-100%) scaleX(.7);transform:translateY(-100%) scaleX(.7)}.elementor-slideshow__footer{bottom:0;z-index:5;position:fixed}.elementor-slideshow__description,.elementor-slideshow__title{margin:0}.elementor-slideshow__title{font-size:16px;font-weight:700}.elementor-slideshow__description{font-size:14px}.elementor-slideshow--ui-hidden .elementor-slideshow__footer,.elementor-slideshow--ui-hidden .elementor-slideshow__header{opacity:0;pointer-events:none}.elementor-slideshow--ui-hidden .elementor-swiper-button-next,.elementor-slideshow--ui-hidden .elementor-swiper-button-prev{opacity:0}.elementor-slideshow--fullscreen-mode .elementor-video-container{width:100%}.elementor-slideshow--zoom-mode .elementor-slideshow__footer,.elementor-slideshow--zoom-mode .elementor-slideshow__header{background-color:rgba(0,0,0,.5)}.elementor-slideshow--zoom-mode .elementor-swiper-button-next,.elementor-slideshow--zoom-mode .elementor-swiper-button-prev{opacity:0;pointer-events:none}.elementor-slideshow--share-mode .elementor-slideshow__share-menu{top:0;left:0;width:100vw;height:100vh;opacity:1;cursor:default;background-color:rgba(0,0,0,.5)}.elementor-slideshow--share-mode .elementor-slideshow__share-links{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.elementor-slideshow--share-mode .elementor-slideshow__share-links,.elementor-slideshow--share-mode .elementor-slideshow__share-links a{opacity:1}.elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-twitter{color:#1da1f2}.elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-facebook{color:#3b5998}.elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-pinterest{color:#bd081c}.elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-download-bold{color:#a4afb7}.elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-twitter{fill:#1da1f2}.elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-facebook{fill:#3b5998}.elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-pinterest{fill:#bd081c}.elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-download-bold{fill:#a4afb7}.elementor-slideshow--share-mode .eicon-share-arrow{z-index:2}.animated{-webkit-animation-duration:1.25s;animation-duration:1.25s}.animated.animated-slow{-webkit-animation-duration:2s;animation-duration:2s}.animated.animated-fast{-webkit-animation-duration:.75s;animation-duration:.75s}.animated.infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.animated.reverse{animation-direction:reverse;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}@media (prefers-reduced-motion:reduce){.animated{-webkit-animation:none;animation:none}}.elementor-shape{overflow:hidden;position:absolute;left:0;width:100%;line-height:0;direction:ltr}.elementor-shape-top{top:-1px}.elementor-shape-top:not([data-negative=false]) svg{z-index:-1}.elementor-shape-bottom{bottom:-1px}.elementor-shape-bottom:not([data-negative=true]) svg{z-index:-1}.elementor-shape[data-negative=false].elementor-shape-bottom,.elementor-shape[data-negative=true].elementor-shape-top{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.elementor-shape svg{display:block;width:calc(100% + 1.3px);position:relative;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.elementor-shape .elementor-shape-fill{fill:#fff;-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center;-webkit-transform:rotateY(0deg);transform:rotateY(0deg)}#wp-admin-bar-elementor_edit_page>.ab-item:before{content:"\e813";font-family:eicons;top:3px;font-size:18px}#wp-admin-bar-elementor_edit_page .ab-submenu .ab-item{display:-webkit-box;display:-ms-flexbox;display:flex;width:200px}#wp-admin-bar-elementor_edit_page .elementor-edit-link-title{white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden;width:100%}#wp-admin-bar-elementor_edit_page .elementor-edit-link-type{background:#55595c;font-size:11px;line-height:9px;margin-top:6px;padding:4px 8px;border-radius:3px}#wp-admin-bar-elementor_inspector>.ab-item:before{content:"\f348";top:2px}#wpadminbar *{font-style:normal}.page-template-elementor_canvas.elementor-page:before{display:none}.elementor-post__thumbnail__link{-webkit-transition:none;-o-transition:none;transition:none}#left-area ul.elementor-icon-list-items,.elementor-edit-area .elementor-element ul.elementor-icon-list-items,.elementor .elementor-element ul.elementor-icon-list-items{padding:0}.e--ua-appleWebkit.rtl{--flex-right:flex-start}.e--ua-appleWebkit .elementor-share-buttons--align-right,.e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-right{--justify-content:var(--flex-right,flex-end)}.e--ua-appleWebkit .elementor-share-buttons--align-center,.e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-center{--justify-content:center}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-center .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-justify .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-right .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-center .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-right .elementor-grid{width:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:var(--justify-content,space-between);-ms-flex-pack:var(--justify-content,space-between);justify-content:var(--justify-content,space-between);margin-left:calc(-.5 * var(--grid-column-gap));margin-right:calc(-.5 * var(--grid-column-gap))}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-center .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-justify .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-right .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-center .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-right .elementor-grid-item{margin-left:calc(.5 * var(--grid-column-gap));margin-right:calc(.5 * var(--grid-column-gap))}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-left .elementor-grid{display:inline-block}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-left .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-left .elementor-grid-item{margin-left:0;margin-right:0}@media (max-width:ELEMENTOR_SCREEN_TABLET_MAX){.e--ua-appleWebkit .elementor-share-buttons-tablet--align-right,.e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-tablet-right{--justify-content:var(--flex-right,flex-end)}.e--ua-appleWebkit .elementor-share-buttons-tablet--align-center,.e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-tablet-center{--justify-content:center}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-center .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-justify .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-right .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-center .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-right .elementor-grid{width:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:var(--justify-content,space-between);-ms-flex-pack:var(--justify-content,space-between);justify-content:var(--justify-content,space-between);margin-left:calc(-.5 * var(--grid-column-gap));margin-right:calc(-.5 * var(--grid-column-gap))}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-center .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-justify .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-right .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-center .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-right .elementor-grid-item{margin-left:calc(.5 * var(--grid-column-gap));margin-right:calc(.5 * var(--grid-column-gap))}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-tablet--align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-left .elementor-grid{display:inline-block}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-tablet--align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-tablet--align-left .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-left .elementor-grid-item{margin-left:0;margin-right:0}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.e--ua-appleWebkit .elementor-share-buttons-mobile--align-right,.e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-mobile-right{--justify-content:var(--flex-right,flex-end)}.e--ua-appleWebkit .elementor-share-buttons-mobile--align-center,.e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-mobile-center{--justify-content:center}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-center .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-justify .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-right .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-center .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-right .elementor-grid{width:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:var(--justify-content,space-between);-ms-flex-pack:var(--justify-content,space-between);justify-content:var(--justify-content,space-between);margin-left:calc(-.5 * var(--grid-column-gap));margin-right:calc(-.5 * var(--grid-column-gap))}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-center .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-justify .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-right .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-center .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-right .elementor-grid-item{margin-left:calc(.5 * var(--grid-column-gap));margin-right:calc(.5 * var(--grid-column-gap))}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-mobile--align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-left .elementor-grid{display:inline-block}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-mobile--align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-mobile--align-left .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-left .elementor-grid-item{margin-left:0;margin-right:0}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor .elementor-hidden-mobile,.elementor .elementor-hidden-phone{display:none}}@media (min-width:ELEMENTOR_SCREEN_MOBILE_EXTRA_MIN) and (max-width:ELEMENTOR_SCREEN_MOBILE_EXTRA_MAX){.elementor .elementor-hidden-mobile_extra{display:none}}@media (min-width:ELEMENTOR_SCREEN_TABLET_MIN) and (max-width:ELEMENTOR_SCREEN_TABLET_MAX){.elementor .elementor-hidden-tablet{display:none}}@media (min-width:ELEMENTOR_SCREEN_TABLET_EXTRA_MIN) and (max-width:ELEMENTOR_SCREEN_TABLET_EXTRA_MAX){.elementor .elementor-hidden-tablet_extra{display:none}}@media (min-width:ELEMENTOR_SCREEN_LAPTOP_MIN) and (max-width:ELEMENTOR_SCREEN_LAPTOP_MAX){.elementor .elementor-hidden-laptop{display:none}}@media (min-width:ELEMENTOR_SCREEN_DESKTOP_MIN) and (max-width:ELEMENTOR_SCREEN_DESKTOP_MAX){.elementor .elementor-hidden-desktop{display:none}}@media (min-width:ELEMENTOR_SCREEN_WIDESCREEN_MIN){.elementor .elementor-hidden-widescreen{display:none}}.elementor-widget-text-path{font-size:20px;text-align:var(--alignment,left)}.elementor-widget-text-path svg{width:var(--width);max-width:100%;height:auto;overflow:visible;word-spacing:var(--word-spacing);-webkit-transform:rotate(var(--rotate,0)) scaleX(var(--scale-x,1)) scaleY(var(--scale-y,1));-ms-transform:rotate(var(--rotate,0)) scaleX(var(--scale-x,1)) scaleY(var(--scale-y,1));transform:rotate(var(--rotate,0)) scaleX(var(--scale-x,1)) scaleY(var(--scale-y,1))}.elementor-widget-text-path svg path{vector-effect:non-scaling-stroke;fill:var(--path-fill,transparent);stroke:var(--stroke-color,transparent);stroke-width:var(--stroke-width,1px);-webkit-transition:var(--stroke-transition) stroke,var(--stroke-transition) fill;-o-transition:var(--stroke-transition) stroke,var(--stroke-transition) fill;transition:var(--stroke-transition) stroke,var(--stroke-transition) fill}.elementor-widget-text-path svg:hover path{--path-fill:var(--path-fill-hover);--stroke-color:var(--stroke-color-hover);--stroke-width:var(--stroke-width-hover)}.elementor-widget-text-path svg text{--fill:var(--text-color);fill:var(--fill);direction:var(--direction,ltr);-webkit-transition:var(--transition) stroke,var(--transition) stroke-width,var(--transition) fill;-o-transition:var(--transition) stroke,var(--transition) stroke-width,var(--transition) fill;transition:var(--transition) stroke,var(--transition) stroke-width,var(--transition) fill}.elementor-widget-text-path svg text:hover{--color:var(--text-color-hover,var(--text-color));--fill:var(--color);color:var(--color)}assets/css/templates/widget-tabs-rtl.min.css000064400000010526152377341010015150 0ustar00.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tabs-wrapper{width:25%;-ms-flex-negative:0;flex-shrink:0}.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tab-desktop-title.elementor-active{border-left-style:none}.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tab-desktop-title.elementor-active:after,.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tab-desktop-title.elementor-active:before{height:999em;width:0;left:0;border-left-style:solid}.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tab-desktop-title.elementor-active:before{top:0;-webkit-transform:translateY(-100%);-ms-transform:translateY(-100%);transform:translateY(-100%)}.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tab-desktop-title.elementor-active:after{top:100%}.elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title{display:table-cell}.elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title.elementor-active{border-bottom-style:none}.elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title.elementor-active:after,.elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title.elementor-active:before{bottom:0;height:0;width:999em;border-bottom-style:solid}.elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title.elementor-active:before{right:100%}.elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title.elementor-active:after{left:100%}.elementor-widget-tabs .elementor-tab-content,.elementor-widget-tabs .elementor-tab-title,.elementor-widget-tabs .elementor-tab-title:after,.elementor-widget-tabs .elementor-tab-title:before,.elementor-widget-tabs .elementor-tabs-content-wrapper{border:1px #d4d4d4}.elementor-widget-tabs .elementor-tabs{text-align:right}.elementor-widget-tabs .elementor-tabs-wrapper{overflow:hidden}.elementor-widget-tabs .elementor-tab-title{cursor:pointer;outline:var(--focus-outline,none)}.elementor-widget-tabs .elementor-tab-desktop-title{position:relative;padding:20px 25px;font-weight:700;line-height:1;border:solid transparent}.elementor-widget-tabs .elementor-tab-desktop-title.elementor-active{border-color:#d4d4d4}.elementor-widget-tabs .elementor-tab-desktop-title.elementor-active:after,.elementor-widget-tabs .elementor-tab-desktop-title.elementor-active:before{display:block;content:"";position:absolute}.elementor-widget-tabs .elementor-tab-mobile-title{padding:10px;cursor:pointer}.elementor-widget-tabs .elementor-tab-content{padding:20px;display:none}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-tabs .elementor-tab-content,.elementor-tabs .elementor-tab-title{border-style:solid solid none}.elementor-tabs .elementor-tabs-wrapper{display:none}.elementor-tabs .elementor-tabs-content-wrapper{border-bottom-style:solid}.elementor-tabs .elementor-tab-content{padding:10px}}@media (min-width:ELEMENTOR_SCREEN_MOBILE_NEXT){.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tabs{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tabs-wrapper{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tabs-content-wrapper{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;border-style:solid none solid solid}.elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-content{border-style:none solid solid}.elementor-widget-tabs.elementor-tabs-alignment-center .elementor-tabs-wrapper,.elementor-widget-tabs.elementor-tabs-alignment-end .elementor-tabs-wrapper,.elementor-widget-tabs.elementor-tabs-alignment-stretch .elementor-tabs-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-tabs.elementor-tabs-alignment-center .elementor-tabs-wrapper{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget-tabs.elementor-tabs-alignment-end .elementor-tabs-wrapper{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-widget-tabs.elementor-tabs-alignment-stretch.elementor-tabs-view-horizontal .elementor-tab-title{width:100%}.elementor-widget-tabs.elementor-tabs-alignment-stretch.elementor-tabs-view-vertical .elementor-tab-title{height:100%}.elementor-tabs .elementor-tab-mobile-title{display:none}}assets/css/templates/frontend-lite-rtl.css000064400000320752152377341010014733 0ustar00.dialog-widget-content { background-color: #fff; position: absolute; border-radius: 3px; box-shadow: 2px 8px 23px 3px rgba(0, 0, 0, 0.2); overflow: hidden; } .dialog-message { font-size: 12px; line-height: 1.5; box-sizing: border-box; } .dialog-type-lightbox { position: fixed; height: 100%; width: 100%; bottom: 0; left: 0; background-color: rgba(0, 0, 0, 0.8); z-index: 9999; user-select: none; } .dialog-type-lightbox .dialog-widget-content { margin: auto; width: 375px; } .dialog-type-lightbox .dialog-header { font-size: 15px; color: #495157; padding: 30px 0 10px; font-weight: 500; } .dialog-type-lightbox .dialog-message { padding: 0 30px 30px; min-height: 50px; } .dialog-type-lightbox:not(.elementor-popup-modal) .dialog-header, .dialog-type-lightbox:not(.elementor-popup-modal) .dialog-message { text-align: center; } .dialog-type-lightbox .dialog-buttons-wrapper { border-top: 1px solid #e6e9ec; text-align: center; } .dialog-type-lightbox .dialog-buttons-wrapper > .dialog-button { font-family: Roboto, Arial, Helvetica, Verdana, sans-serif; width: 50%; border: none; background: none; color: #6d7882; font-size: 15px; cursor: pointer; padding: 13px 0; outline: 0; } .dialog-type-lightbox .dialog-buttons-wrapper > .dialog-button:hover { background-color: #f4f6f7; } .dialog-type-lightbox .dialog-buttons-wrapper > .dialog-button.dialog-ok { color: #b01b1b; } .dialog-type-lightbox .dialog-buttons-wrapper > .dialog-button.dialog-take_over { color: #39b54a; } .dialog-type-lightbox .dialog-buttons-wrapper > .dialog-button:active { background-color: rgba(230, 233, 236, 0.5); } .dialog-type-lightbox .dialog-buttons-wrapper > .dialog-button::-moz-focus-inner { border: 0; } .dialog-close-button { cursor: pointer; position: absolute; margin-top: 15px; left: 15px; font-size: 15px; line-height: 1; } .dialog-close-button:not(:hover) { opacity: 0.4; } .dialog-alert-widget .dialog-buttons-wrapper > button { width: 100%; } .dialog-confirm-widget .dialog-button:first-child { border-left: 1px solid #e6e9ec; } .dialog-prevent-scroll { overflow: hidden; max-height: 100vh; } @media (min-width: 1024px) { body.admin-bar .dialog-lightbox-widget { height: calc(100vh - 32px); } } @media (max-width: 1024px) { body.admin-bar .dialog-type-lightbox { position: sticky; height: 100vh; } } .elementor-aspect-ratio-219 .elementor-fit-aspect-ratio { padding-bottom: 42.8571%; } .elementor-aspect-ratio-169 .elementor-fit-aspect-ratio { padding-bottom: 56.25%; } .elementor-aspect-ratio-43 .elementor-fit-aspect-ratio { padding-bottom: 75%; } .elementor-aspect-ratio-32 .elementor-fit-aspect-ratio { padding-bottom: 66.6666%; } .elementor-aspect-ratio-11 .elementor-fit-aspect-ratio { padding-bottom: 100%; } .elementor-aspect-ratio-916 .elementor-fit-aspect-ratio { padding-bottom: 177.8%; } .elementor-fit-aspect-ratio { position: relative; height: 0; } .elementor-fit-aspect-ratio iframe { position: absolute; top: 0; left: 0; height: 100%; width: 100%; border: 0; background-color: #000; } .elementor-fit-aspect-ratio video { width: 100%; } .flatpickr-calendar { width: 280px; } .flatpickr-calendar .flatpickr-current-month span.cur-month { font-weight: 300; } .flatpickr-calendar .dayContainer { width: 280px; min-width: 280px; max-width: 280px; } .flatpickr-calendar .flatpickr-days { width: 280px; } .flatpickr-calendar .flatpickr-day { max-width: 37px; height: 37px; line-height: 37px; } .elementor-templates-modal .dialog-widget-content { font-family: Roboto, Arial, Helvetica, Verdana, sans-serif; background-color: #f1f3f5; width: 100%; } @media (max-width: 1439px) { .elementor-templates-modal .dialog-widget-content { max-width: 990px; } } @media (min-width: 1440px) { .elementor-templates-modal .dialog-widget-content { max-width: 1200px; } } .elementor-templates-modal .dialog-header { padding: 0; background-color: #fff; box-shadow: 0 0 8px rgba(0, 0, 0, 0.1); position: relative; z-index: 1; } .elementor-templates-modal .dialog-buttons-wrapper { background-color: #fff; border: none; display: none; justify-content: flex-end; padding: 5px; box-shadow: 0 0 8px rgba(0, 0, 0, 0.1); position: relative; } .elementor-templates-modal .dialog-buttons-wrapper .elementor-button { height: 40px; margin-right: 5px; } .elementor-templates-modal .dialog-buttons-wrapper .elementor-button-success { padding: 12px 36px; color: #fff; width: initial; font-size: 15px; } .elementor-templates-modal .dialog-buttons-wrapper .elementor-button-success:hover { background-color: #39b54a; } .elementor-templates-modal .dialog-message { height: 750px; max-height: 85vh; overflow: auto; padding-top: 25px; } .elementor-templates-modal .dialog-content { height: 100%; } .elementor-templates-modal .dialog-loading { display: none; } .elementor-templates-modal__header { display: flex; align-items: center; justify-content: space-between; height: 50px; } .elementor-templates-modal__header__logo { line-height: 1; text-transform: uppercase; font-weight: bold; cursor: pointer; } .elementor-templates-modal__header__logo-area { text-align: right; padding-right: 15px; } .elementor-templates-modal__header__logo-area > * { display: flex; align-items: center; } .elementor-templates-modal__header__logo__icon-wrapper { margin-left: 10px; font-size: 12px; } .elementor-templates-modal__header__logo__title { padding-top: 2px; } .elementor-templates-modal__header__items-area { display: flex; flex-direction: row-reverse; } .elementor-templates-modal__header__item { position: relative; display: flex; align-items: center; justify-content: center; box-sizing: content-box; } .elementor-templates-modal__header__item > i { font-size: 20px; transition: all 0.3s; cursor: pointer; } .elementor-templates-modal__header__item > i:not(:hover) { color: #a4afb7; } .elementor-templates-modal__header__close--normal { width: 47px; border-right: 1px solid #e6e9ec; } .elementor-templates-modal__header__close--normal i { font-size: 18px; } .elementor-templates-modal__header__close--skip { padding: 10px; padding-right: 20px; margin-left: 10px; color: #fff; background-color: #a4afb7; font-size: 11px; font-weight: normal; line-height: 1; text-transform: uppercase; border-radius: 2px; cursor: pointer; } .elementor-templates-modal__header__close--skip > i { font-size: inherit; padding-right: 10px; margin-right: 15px; border-right: 1px solid; } .elementor-templates-modal__header__close--skip > i:not(:hover) { color: #fff; } .elementor-templates-modal__sidebar { flex-shrink: 0; width: 25%; background-color: rgba(255, 255, 255, 0.3); } .elementor-templates-modal__content { flex-grow: 1; box-shadow: 0 0 13px inset rgba(0, 0, 0, 0.05); } /* Will select next element after last '.elementor-general-section' */ #wpadminbar #wp-admin-bar-elementor_edit_page .elementor-general-section + .elementor-second-section { border-top: 1px solid #464b50; margin-top: 6px; } .elementor-hidden { display: none; } .elementor-screen-only, .screen-reader-text, .screen-reader-text span, .ui-helper-hidden-accessible { position: absolute; top: -10000em; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0; } .elementor-clearfix:after { content: ""; display: block; clear: both; width: 0; height: 0; } .e-logo-wrapper { background: #93003c; display: inline-block; padding: 0.75em; border-radius: 50%; line-height: 1; } .e-logo-wrapper i { color: #fff; font-size: 1em; } #e-enable-unfiltered-files-dialog-import-template .dialog-confirm-ok { color: #39b54a; } #e-enable-unfiltered-files-dialog-import-template .dialog-confirm-cancel { color: #b01b1b; } .elementor { hyphens: manual; } .elementor *, .elementor *:before, .elementor *:after { box-sizing: border-box; } .elementor a { box-shadow: none; text-decoration: none; } .elementor hr { margin: 0; background-color: transparent; } .elementor img { height: auto; max-width: 100%; border: none; border-radius: 0; box-shadow: none; } .elementor .elementor-widget:not(.elementor-widget-text-editor):not(.elementor-widget-theme-post-content) figure { margin: 0; } .elementor embed, .elementor iframe, .elementor object, .elementor video { max-width: 100%; width: 100%; margin: 0; line-height: 1; border: none; } .elementor .elementor-custom-embed { line-height: 0; } .elementor .elementor-background-video-container, .elementor .elementor-background-holder, .elementor .elementor-background { height: 100%; width: 100%; top: 0; left: 0; position: absolute; overflow: hidden; z-index: 0; direction: ltr; } .elementor .elementor-background-video-container { transition: opacity 1s; pointer-events: none; } .elementor .elementor-background-video-container.elementor-loading { opacity: 0; } .elementor .elementor-background-video-embed { max-width: none; } .elementor .elementor-background-video-embed, .elementor .elementor-background-video-hosted { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } .elementor .elementor-background-video { max-width: none; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } .elementor .elementor-html5-video { object-fit: cover; } .elementor .elementor-background-overlay { height: 100%; width: 100%; top: 0; left: 0; position: absolute; } .elementor .elementor-background-slideshow { position: absolute; width: 100%; height: 100%; z-index: 0; top: 0; right: 0; } .elementor .elementor-background-slideshow__slide__image { width: 100%; height: 100%; background-position: center center; background-size: cover; } .elementor-widget-wrap > .elementor-element.elementor-absolute, .e-container > .elementor-element.elementor-absolute { position: absolute; } .elementor-widget-wrap > .elementor-element.elementor-fixed, .e-container > .elementor-element.elementor-fixed { position: fixed; } .elementor-widget-wrap .elementor-element.elementor-widget__width-auto, .elementor-widget-wrap .elementor-element.elementor-widget__width-initial { max-width: 100%; } @media (max-width: ELEMENTOR_SCREEN_TABLET_MAX) { .elementor-widget-wrap .elementor-element.elementor-widget-tablet__width-auto, .elementor-widget-wrap .elementor-element.elementor-widget-tablet__width-initial { max-width: 100%; } } @media (max-width: ELEMENTOR_SCREEN_MOBILE_MAX) { .elementor-widget-wrap .elementor-element.elementor-widget-mobile__width-auto, .elementor-widget-wrap .elementor-element.elementor-widget-mobile__width-initial { max-width: 100%; } } .elementor-element { --flex-direction: initial; --flex-wrap: initial; --justify-content: initial; --align-items: initial; --align-content: initial; --gap: initial; --flex-basis: initial; --flex-grow: initial; --flex-shrink: initial; --order: initial; --align-self: initial; flex-direction: var(--flex-direction); flex-wrap: var(--flex-wrap); justify-content: var(--justify-content); align-items: var(--align-items); align-content: var(--align-content); gap: var(--gap); flex-basis: var(--flex-basis); flex-grow: var(--flex-grow); flex-shrink: var(--flex-shrink); order: var(--order); align-self: var(--align-self); } .elementor-element.elementor-absolute, .elementor-element.elementor-fixed { z-index: 1; } .elementor-invisible { visibility: hidden; } .elementor-align-center { text-align: center; } .elementor-align-center .elementor-button { width: auto; } .elementor-align-right { text-align: right; } .elementor-align-right .elementor-button { width: auto; } .elementor-align-left { text-align: left; } .elementor-align-left .elementor-button { width: auto; } .elementor-align-justify .elementor-button { width: 100%; } .elementor-custom-embed-play { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } .elementor-custom-embed-play i { font-size: 100px; color: #fff; text-shadow: 1px 0 6px rgba(0, 0, 0, 0.3); } .elementor-custom-embed-play svg { height: 100px; width: 100px; fill: #fff; filter: drop-shadow(1px 0 6px rgba(0, 0, 0, 0.3)); } .elementor-custom-embed-play i, .elementor-custom-embed-play svg { opacity: 0.8; transition: all 0.5s; } .elementor-custom-embed-play.elementor-playing i { font-family: eicons; } .elementor-custom-embed-play.elementor-playing i:before { content: "\e8fb"; } .elementor-custom-embed-play.elementor-playing i, .elementor-custom-embed-play.elementor-playing svg { animation: eicon-spin 2s infinite linear; } .elementor-tag { display: inline-flex; } .elementor-ken-burns { transition-property: transform; transition-duration: 10s; transition-timing-function: linear; } .elementor-ken-burns--out { transform: scale(1.3); } .elementor-ken-burns--active { transition-duration: 20s; } .elementor-ken-burns--active.elementor-ken-burns--out { transform: scale(1); } .elementor-ken-burns--active.elementor-ken-burns--in { transform: scale(1.3); } @media (min-width: ELEMENTOR_SCREEN_WIDESCREEN_MIN) { .elementor-widescreen-align-center { text-align: center; } .elementor-widescreen-align-center .elementor-button { width: auto; } .elementor-widescreen-align-right { text-align: right; } .elementor-widescreen-align-right .elementor-button { width: auto; } .elementor-widescreen-align-left { text-align: left; } .elementor-widescreen-align-left .elementor-button { width: auto; } .elementor-widescreen-align-justify .elementor-button { width: 100%; } } @media (max-width: ELEMENTOR_SCREEN_LAPTOP_MAX) { .elementor-laptop-align-center { text-align: center; } .elementor-laptop-align-center .elementor-button { width: auto; } .elementor-laptop-align-right { text-align: right; } .elementor-laptop-align-right .elementor-button { width: auto; } .elementor-laptop-align-left { text-align: left; } .elementor-laptop-align-left .elementor-button { width: auto; } .elementor-laptop-align-justify .elementor-button { width: 100%; } } @media (max-width: ELEMENTOR_SCREEN_TABLET_EXTRA_MAX) { .elementor-tablet_extra-align-center { text-align: center; } .elementor-tablet_extra-align-center .elementor-button { width: auto; } .elementor-tablet_extra-align-right { text-align: right; } .elementor-tablet_extra-align-right .elementor-button { width: auto; } .elementor-tablet_extra-align-left { text-align: left; } .elementor-tablet_extra-align-left .elementor-button { width: auto; } .elementor-tablet_extra-align-justify .elementor-button { width: 100%; } } @media (max-width: ELEMENTOR_SCREEN_TABLET_MAX) { .elementor-tablet-align-center { text-align: center; } .elementor-tablet-align-center .elementor-button { width: auto; } .elementor-tablet-align-right { text-align: right; } .elementor-tablet-align-right .elementor-button { width: auto; } .elementor-tablet-align-left { text-align: left; } .elementor-tablet-align-left .elementor-button { width: auto; } .elementor-tablet-align-justify .elementor-button { width: 100%; } } @media (max-width: ELEMENTOR_SCREEN_MOBILE_EXTRA_MAX) { .elementor-mobile_extra-align-center { text-align: center; } .elementor-mobile_extra-align-center .elementor-button { width: auto; } .elementor-mobile_extra-align-right { text-align: right; } .elementor-mobile_extra-align-right .elementor-button { width: auto; } .elementor-mobile_extra-align-left { text-align: left; } .elementor-mobile_extra-align-left .elementor-button { width: auto; } .elementor-mobile_extra-align-justify .elementor-button { width: 100%; } } @media (max-width: ELEMENTOR_SCREEN_MOBILE_MAX) { .elementor-mobile-align-center { text-align: center; } .elementor-mobile-align-center .elementor-button { width: auto; } .elementor-mobile-align-right { text-align: right; } .elementor-mobile-align-right .elementor-button { width: auto; } .elementor-mobile-align-left { text-align: left; } .elementor-mobile-align-left .elementor-button { width: auto; } .elementor-mobile-align-justify .elementor-button { width: 100%; } } :root { --page-title-display: block; } .elementor-page-title, h1.entry-title { display: var(--page-title-display); } @keyframes eicon-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(359deg); } } .eicon-animation-spin { animation: eicon-spin 2s infinite linear; } .elementor-section { position: relative; } .elementor-section .elementor-container { display: flex; margin-right: auto; margin-left: auto; position: relative; } @media (max-width: ELEMENTOR_SCREEN_TABLET_MAX) { .elementor-section .elementor-container { flex-wrap: wrap; } } .elementor-section.elementor-section-boxed > .elementor-container { max-width: 1140px; } .elementor-section.elementor-section-stretched { position: relative; width: 100%; } .elementor-section.elementor-section-items-top > .elementor-container { align-items: flex-start; } .elementor-section.elementor-section-items-middle > .elementor-container { align-items: center; } .elementor-section.elementor-section-items-bottom > .elementor-container { align-items: flex-end; } @media (min-width: ELEMENTOR_SCREEN_MOBILE_NEXT) { .elementor-section.elementor-section-height-full { height: 100vh; } .elementor-section.elementor-section-height-full > .elementor-container { height: 100%; } } .elementor-bc-flex-widget .elementor-section-content-top > .elementor-container > .elementor-column > .elementor-widget-wrap { align-items: flex-start; } .elementor-bc-flex-widget .elementor-section-content-middle > .elementor-container > .elementor-column > .elementor-widget-wrap { align-items: center; } .elementor-bc-flex-widget .elementor-section-content-bottom > .elementor-container > .elementor-column > .elementor-widget-wrap { align-items: flex-end; } .elementor-row { width: 100%; display: flex; } @media (max-width: ELEMENTOR_SCREEN_TABLET_MAX) { .elementor-row { flex-wrap: wrap; } } .elementor-widget-wrap { position: relative; width: 100%; flex-wrap: wrap; align-content: flex-start; } .elementor:not(.elementor-bc-flex-widget) .elementor-widget-wrap { display: flex; } .elementor-widget-wrap > .elementor-element { width: 100%; } .elementor-widget-wrap.e-swiper-container { width: calc(100% - (var(--e-column-margin-left, 0px) + var(--e-column-margin-right, 0px))); } .elementor-widget { position: relative; } .elementor-widget:not(:last-child) { margin-bottom: 20px; } .elementor-widget:not(:last-child).elementor-widget__width-auto, .elementor-widget:not(:last-child).elementor-widget__width-initial, .elementor-widget:not(:last-child).elementor-absolute { margin-bottom: 0; } .elementor-column { position: relative; min-height: 1px; display: flex; } .elementor-column-wrap { width: 100%; position: relative; display: flex; } .elementor-column-gap-narrow > .elementor-column > .elementor-element-populated { padding: 5px; } .elementor-column-gap-default > .elementor-column > .elementor-element-populated { padding: 10px; } .elementor-column-gap-extended > .elementor-column > .elementor-element-populated { padding: 15px; } .elementor-column-gap-wide > .elementor-column > .elementor-element-populated { padding: 20px; } .elementor-column-gap-wider > .elementor-column > .elementor-element-populated { padding: 30px; } .elementor-inner-section .elementor-column-gap-no .elementor-element-populated { padding: 0; } @media (min-width: ELEMENTOR_SCREEN_MOBILE_NEXT) { .elementor-column.elementor-col-10, .elementor-column[data-col="10"] { width: 10%; } .elementor-column.elementor-col-11, .elementor-column[data-col="11"] { width: 11.111%; } .elementor-column.elementor-col-12, .elementor-column[data-col="12"] { width: 12.5%; } .elementor-column.elementor-col-14, .elementor-column[data-col="14"] { width: 14.285%; } .elementor-column.elementor-col-16, .elementor-column[data-col="16"] { width: 16.666%; } .elementor-column.elementor-col-20, .elementor-column[data-col="20"] { width: 20%; } .elementor-column.elementor-col-25, .elementor-column[data-col="25"] { width: 25%; } .elementor-column.elementor-col-30, .elementor-column[data-col="30"] { width: 30%; } .elementor-column.elementor-col-33, .elementor-column[data-col="33"] { width: 33.333%; } .elementor-column.elementor-col-40, .elementor-column[data-col="40"] { width: 40%; } .elementor-column.elementor-col-50, .elementor-column[data-col="50"] { width: 50%; } .elementor-column.elementor-col-60, .elementor-column[data-col="60"] { width: 60%; } .elementor-column.elementor-col-66, .elementor-column[data-col="66"] { width: 66.666%; } .elementor-column.elementor-col-70, .elementor-column[data-col="70"] { width: 70%; } .elementor-column.elementor-col-75, .elementor-column[data-col="75"] { width: 75%; } .elementor-column.elementor-col-80, .elementor-column[data-col="80"] { width: 80%; } .elementor-column.elementor-col-83, .elementor-column[data-col="83"] { width: 83.333%; } .elementor-column.elementor-col-90, .elementor-column[data-col="90"] { width: 90%; } .elementor-column.elementor-col-100, .elementor-column[data-col="100"] { width: 100%; } } @media (max-width: 479px) { .elementor-column.elementor-xs-10 { width: 10%; } .elementor-column.elementor-xs-11 { width: 11.111%; } .elementor-column.elementor-xs-12 { width: 12.5%; } .elementor-column.elementor-xs-14 { width: 14.285%; } .elementor-column.elementor-xs-16 { width: 16.666%; } .elementor-column.elementor-xs-20 { width: 20%; } .elementor-column.elementor-xs-25 { width: 25%; } .elementor-column.elementor-xs-30 { width: 30%; } .elementor-column.elementor-xs-33 { width: 33.333%; } .elementor-column.elementor-xs-40 { width: 40%; } .elementor-column.elementor-xs-50 { width: 50%; } .elementor-column.elementor-xs-60 { width: 60%; } .elementor-column.elementor-xs-66 { width: 66.666%; } .elementor-column.elementor-xs-70 { width: 70%; } .elementor-column.elementor-xs-75 { width: 75%; } .elementor-column.elementor-xs-80 { width: 80%; } .elementor-column.elementor-xs-83 { width: 83.333%; } .elementor-column.elementor-xs-90 { width: 90%; } .elementor-column.elementor-xs-100 { width: 100%; } } @media (max-width: ELEMENTOR_SCREEN_MOBILE_MAX) { .elementor-column.elementor-sm-10 { width: 10%; } .elementor-column.elementor-sm-11 { width: 11.111%; } .elementor-column.elementor-sm-12 { width: 12.5%; } .elementor-column.elementor-sm-14 { width: 14.285%; } .elementor-column.elementor-sm-16 { width: 16.666%; } .elementor-column.elementor-sm-20 { width: 20%; } .elementor-column.elementor-sm-25 { width: 25%; } .elementor-column.elementor-sm-30 { width: 30%; } .elementor-column.elementor-sm-33 { width: 33.333%; } .elementor-column.elementor-sm-40 { width: 40%; } .elementor-column.elementor-sm-50 { width: 50%; } .elementor-column.elementor-sm-60 { width: 60%; } .elementor-column.elementor-sm-66 { width: 66.666%; } .elementor-column.elementor-sm-70 { width: 70%; } .elementor-column.elementor-sm-75 { width: 75%; } .elementor-column.elementor-sm-80 { width: 80%; } .elementor-column.elementor-sm-83 { width: 83.333%; } .elementor-column.elementor-sm-90 { width: 90%; } .elementor-column.elementor-sm-100 { width: 100%; } } @media (min-width: ELEMENTOR_SCREEN_MOBILE_NEXT) and (max-width: ELEMENTOR_SCREEN_TABLET_MAX) { .elementor-column.elementor-md-10 { width: 10%; } .elementor-column.elementor-md-11 { width: 11.111%; } .elementor-column.elementor-md-12 { width: 12.5%; } .elementor-column.elementor-md-14 { width: 14.285%; } .elementor-column.elementor-md-16 { width: 16.666%; } .elementor-column.elementor-md-20 { width: 20%; } .elementor-column.elementor-md-25 { width: 25%; } .elementor-column.elementor-md-30 { width: 30%; } .elementor-column.elementor-md-33 { width: 33.333%; } .elementor-column.elementor-md-40 { width: 40%; } .elementor-column.elementor-md-50 { width: 50%; } .elementor-column.elementor-md-60 { width: 60%; } .elementor-column.elementor-md-66 { width: 66.666%; } .elementor-column.elementor-md-70 { width: 70%; } .elementor-column.elementor-md-75 { width: 75%; } .elementor-column.elementor-md-80 { width: 80%; } .elementor-column.elementor-md-83 { width: 83.333%; } .elementor-column.elementor-md-90 { width: 90%; } .elementor-column.elementor-md-100 { width: 100%; } } @media (min-width: ELEMENTOR_SCREEN_WIDESCREEN_MIN) { .elementor-reverse-widescreen > .elementor-container > :nth-child(1) { order: 10; } .elementor-reverse-widescreen > .elementor-container > :nth-child(2) { order: 9; } .elementor-reverse-widescreen > .elementor-container > :nth-child(3) { order: 8; } .elementor-reverse-widescreen > .elementor-container > :nth-child(4) { order: 7; } .elementor-reverse-widescreen > .elementor-container > :nth-child(5) { order: 6; } .elementor-reverse-widescreen > .elementor-container > :nth-child(6) { order: 5; } .elementor-reverse-widescreen > .elementor-container > :nth-child(7) { order: 4; } .elementor-reverse-widescreen > .elementor-container > :nth-child(8) { order: 3; } .elementor-reverse-widescreen > .elementor-container > :nth-child(9) { order: 2; } .elementor-reverse-widescreen > .elementor-container > :nth-child(10) { order: 1; } } @media (min-width: ELEMENTOR_SCREEN_TABLET_NEXT) and (max-width: ELEMENTOR_SCREEN_LAPTOP_MAX) { .elementor-reverse-laptop > .elementor-container > :nth-child(1) { order: 10; } .elementor-reverse-laptop > .elementor-container > :nth-child(2) { order: 9; } .elementor-reverse-laptop > .elementor-container > :nth-child(3) { order: 8; } .elementor-reverse-laptop > .elementor-container > :nth-child(4) { order: 7; } .elementor-reverse-laptop > .elementor-container > :nth-child(5) { order: 6; } .elementor-reverse-laptop > .elementor-container > :nth-child(6) { order: 5; } .elementor-reverse-laptop > .elementor-container > :nth-child(7) { order: 4; } .elementor-reverse-laptop > .elementor-container > :nth-child(8) { order: 3; } .elementor-reverse-laptop > .elementor-container > :nth-child(9) { order: 2; } .elementor-reverse-laptop > .elementor-container > :nth-child(10) { order: 1; } } @media (min-width: ELEMENTOR_SCREEN_TABLET_EXTRA_NEXT) and (max-width: ELEMENTOR_SCREEN_LAPTOP_MAX) { .elementor-reverse-laptop > .elementor-container > :nth-child(1) { order: 10; } .elementor-reverse-laptop > .elementor-container > :nth-child(2) { order: 9; } .elementor-reverse-laptop > .elementor-container > :nth-child(3) { order: 8; } .elementor-reverse-laptop > .elementor-container > :nth-child(4) { order: 7; } .elementor-reverse-laptop > .elementor-container > :nth-child(5) { order: 6; } .elementor-reverse-laptop > .elementor-container > :nth-child(6) { order: 5; } .elementor-reverse-laptop > .elementor-container > :nth-child(7) { order: 4; } .elementor-reverse-laptop > .elementor-container > :nth-child(8) { order: 3; } .elementor-reverse-laptop > .elementor-container > :nth-child(9) { order: 2; } .elementor-reverse-laptop > .elementor-container > :nth-child(10) { order: 1; } } @media (min-width: ELEMENTOR_SCREEN_TABLET_NEXT) and (max-width: ELEMENTOR_SCREEN_TABLET_EXTRA_MAX) { .elementor-reverse-laptop > .elementor-container > :nth-child(1) { order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(2) { order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(3) { order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(4) { order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(5) { order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(6) { order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(7) { order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(8) { order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(9) { order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(10) { order: initial; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(1) { order: 10; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(2) { order: 9; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(3) { order: 8; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(4) { order: 7; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(5) { order: 6; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(6) { order: 5; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(7) { order: 4; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(8) { order: 3; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(9) { order: 2; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(10) { order: 1; } } @media (min-width: ELEMENTOR_SCREEN_MOBILE_NEXT) and (max-width: ELEMENTOR_SCREEN_TABLET_MAX) { .elementor-reverse-tablet > .elementor-container > :nth-child(1) { order: 10; } .elementor-reverse-tablet > .elementor-container > :nth-child(2) { order: 9; } .elementor-reverse-tablet > .elementor-container > :nth-child(3) { order: 8; } .elementor-reverse-tablet > .elementor-container > :nth-child(4) { order: 7; } .elementor-reverse-tablet > .elementor-container > :nth-child(5) { order: 6; } .elementor-reverse-tablet > .elementor-container > :nth-child(6) { order: 5; } .elementor-reverse-tablet > .elementor-container > :nth-child(7) { order: 4; } .elementor-reverse-tablet > .elementor-container > :nth-child(8) { order: 3; } .elementor-reverse-tablet > .elementor-container > :nth-child(9) { order: 2; } .elementor-reverse-tablet > .elementor-container > :nth-child(10) { order: 1; } } @media (min-width: ELEMENTOR_SCREEN_MOBILE_EXTRA_NEXT) and (max-width: ELEMENTOR_SCREEN_TABLET_MAX) { .elementor-reverse-tablet > .elementor-container > :nth-child(1) { order: 10; } .elementor-reverse-tablet > .elementor-container > :nth-child(2) { order: 9; } .elementor-reverse-tablet > .elementor-container > :nth-child(3) { order: 8; } .elementor-reverse-tablet > .elementor-container > :nth-child(4) { order: 7; } .elementor-reverse-tablet > .elementor-container > :nth-child(5) { order: 6; } .elementor-reverse-tablet > .elementor-container > :nth-child(6) { order: 5; } .elementor-reverse-tablet > .elementor-container > :nth-child(7) { order: 4; } .elementor-reverse-tablet > .elementor-container > :nth-child(8) { order: 3; } .elementor-reverse-tablet > .elementor-container > :nth-child(9) { order: 2; } .elementor-reverse-tablet > .elementor-container > :nth-child(10) { order: 1; } } @media (min-width: ELEMENTOR_SCREEN_MOBILE_NEXT) and (max-width: ELEMENTOR_SCREEN_MOBILE_EXTRA_MAX) { .elementor-reverse-tablet > .elementor-container > :nth-child(1) { order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(2) { order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(3) { order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(4) { order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(5) { order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(6) { order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(7) { order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(8) { order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(9) { order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(10) { order: initial; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(1) { order: 10; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(2) { order: 9; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(3) { order: 8; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(4) { order: 7; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(5) { order: 6; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(6) { order: 5; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(7) { order: 4; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(8) { order: 3; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(9) { order: 2; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(10) { order: 1; } } @media (max-width: ELEMENTOR_SCREEN_MOBILE_MAX) { .elementor-reverse-mobile > .elementor-container > :nth-child(1) { order: 10; } .elementor-reverse-mobile > .elementor-container > :nth-child(2) { order: 9; } .elementor-reverse-mobile > .elementor-container > :nth-child(3) { order: 8; } .elementor-reverse-mobile > .elementor-container > :nth-child(4) { order: 7; } .elementor-reverse-mobile > .elementor-container > :nth-child(5) { order: 6; } .elementor-reverse-mobile > .elementor-container > :nth-child(6) { order: 5; } .elementor-reverse-mobile > .elementor-container > :nth-child(7) { order: 4; } .elementor-reverse-mobile > .elementor-container > :nth-child(8) { order: 3; } .elementor-reverse-mobile > .elementor-container > :nth-child(9) { order: 2; } .elementor-reverse-mobile > .elementor-container > :nth-child(10) { order: 1; } .elementor-column { width: 100%; } } ul.elementor-icon-list-items.elementor-inline-items { display: flex; flex-wrap: wrap; } ul.elementor-icon-list-items.elementor-inline-items .elementor-inline-item { word-break: break-word; } .elementor-grid { display: grid; grid-column-gap: var(--grid-column-gap); grid-row-gap: var(--grid-row-gap); } .elementor-grid .elementor-grid-item { min-width: 0; } .elementor-grid-0 .elementor-grid { display: inline-block; width: 100%; word-spacing: var(--grid-column-gap); margin-bottom: calc(-1 * var(--grid-row-gap)); } .elementor-grid-0 .elementor-grid .elementor-grid-item { display: inline-block; margin-bottom: var(--grid-row-gap); word-break: break-word; } .elementor-grid-1 .elementor-grid { grid-template-columns: repeat(1, 1fr); } .elementor-grid-2 .elementor-grid { grid-template-columns: repeat(2, 1fr); } .elementor-grid-3 .elementor-grid { grid-template-columns: repeat(3, 1fr); } .elementor-grid-4 .elementor-grid { grid-template-columns: repeat(4, 1fr); } .elementor-grid-5 .elementor-grid { grid-template-columns: repeat(5, 1fr); } .elementor-grid-6 .elementor-grid { grid-template-columns: repeat(6, 1fr); } .elementor-grid-7 .elementor-grid { grid-template-columns: repeat(7, 1fr); } .elementor-grid-8 .elementor-grid { grid-template-columns: repeat(8, 1fr); } .elementor-grid-9 .elementor-grid { grid-template-columns: repeat(9, 1fr); } .elementor-grid-10 .elementor-grid { grid-template-columns: repeat(10, 1fr); } .elementor-grid-11 .elementor-grid { grid-template-columns: repeat(11, 1fr); } .elementor-grid-12 .elementor-grid { grid-template-columns: repeat(12, 1fr); } @media (min-width: ELEMENTOR_SCREEN_WIDESCREEN_MIN) { .elementor-grid-widescreen-0 .elementor-grid { display: inline-block; width: 100%; word-spacing: var(--grid-column-gap); margin-bottom: calc(-1 * var(--grid-row-gap)); } .elementor-grid-widescreen-0 .elementor-grid .elementor-grid-item { display: inline-block; margin-bottom: var(--grid-row-gap); word-break: break-word; } .elementor-grid-widescreen-1 .elementor-grid { grid-template-columns: repeat(1, 1fr); } .elementor-grid-widescreen-2 .elementor-grid { grid-template-columns: repeat(2, 1fr); } .elementor-grid-widescreen-3 .elementor-grid { grid-template-columns: repeat(3, 1fr); } .elementor-grid-widescreen-4 .elementor-grid { grid-template-columns: repeat(4, 1fr); } .elementor-grid-widescreen-5 .elementor-grid { grid-template-columns: repeat(5, 1fr); } .elementor-grid-widescreen-6 .elementor-grid { grid-template-columns: repeat(6, 1fr); } .elementor-grid-widescreen-7 .elementor-grid { grid-template-columns: repeat(7, 1fr); } .elementor-grid-widescreen-8 .elementor-grid { grid-template-columns: repeat(8, 1fr); } .elementor-grid-widescreen-9 .elementor-grid { grid-template-columns: repeat(9, 1fr); } .elementor-grid-widescreen-10 .elementor-grid { grid-template-columns: repeat(10, 1fr); } .elementor-grid-widescreen-11 .elementor-grid { grid-template-columns: repeat(11, 1fr); } .elementor-grid-widescreen-12 .elementor-grid { grid-template-columns: repeat(12, 1fr); } } @media (max-width: ELEMENTOR_SCREEN_LAPTOP_MAX) { .elementor-grid-laptop-0 .elementor-grid { display: inline-block; width: 100%; word-spacing: var(--grid-column-gap); margin-bottom: calc(-1 * var(--grid-row-gap)); } .elementor-grid-laptop-0 .elementor-grid .elementor-grid-item { display: inline-block; margin-bottom: var(--grid-row-gap); word-break: break-word; } .elementor-grid-laptop-1 .elementor-grid { grid-template-columns: repeat(1, 1fr); } .elementor-grid-laptop-2 .elementor-grid { grid-template-columns: repeat(2, 1fr); } .elementor-grid-laptop-3 .elementor-grid { grid-template-columns: repeat(3, 1fr); } .elementor-grid-laptop-4 .elementor-grid { grid-template-columns: repeat(4, 1fr); } .elementor-grid-laptop-5 .elementor-grid { grid-template-columns: repeat(5, 1fr); } .elementor-grid-laptop-6 .elementor-grid { grid-template-columns: repeat(6, 1fr); } .elementor-grid-laptop-7 .elementor-grid { grid-template-columns: repeat(7, 1fr); } .elementor-grid-laptop-8 .elementor-grid { grid-template-columns: repeat(8, 1fr); } .elementor-grid-laptop-9 .elementor-grid { grid-template-columns: repeat(9, 1fr); } .elementor-grid-laptop-10 .elementor-grid { grid-template-columns: repeat(10, 1fr); } .elementor-grid-laptop-11 .elementor-grid { grid-template-columns: repeat(11, 1fr); } .elementor-grid-laptop-12 .elementor-grid { grid-template-columns: repeat(12, 1fr); } } @media (max-width: ELEMENTOR_SCREEN_TABLET_EXTRA_MAX) { .elementor-grid-tablet_extra-0 .elementor-grid { display: inline-block; width: 100%; word-spacing: var(--grid-column-gap); margin-bottom: calc(-1 * var(--grid-row-gap)); } .elementor-grid-tablet_extra-0 .elementor-grid .elementor-grid-item { display: inline-block; margin-bottom: var(--grid-row-gap); word-break: break-word; } .elementor-grid-tablet_extra-1 .elementor-grid { grid-template-columns: repeat(1, 1fr); } .elementor-grid-tablet_extra-2 .elementor-grid { grid-template-columns: repeat(2, 1fr); } .elementor-grid-tablet_extra-3 .elementor-grid { grid-template-columns: repeat(3, 1fr); } .elementor-grid-tablet_extra-4 .elementor-grid { grid-template-columns: repeat(4, 1fr); } .elementor-grid-tablet_extra-5 .elementor-grid { grid-template-columns: repeat(5, 1fr); } .elementor-grid-tablet_extra-6 .elementor-grid { grid-template-columns: repeat(6, 1fr); } .elementor-grid-tablet_extra-7 .elementor-grid { grid-template-columns: repeat(7, 1fr); } .elementor-grid-tablet_extra-8 .elementor-grid { grid-template-columns: repeat(8, 1fr); } .elementor-grid-tablet_extra-9 .elementor-grid { grid-template-columns: repeat(9, 1fr); } .elementor-grid-tablet_extra-10 .elementor-grid { grid-template-columns: repeat(10, 1fr); } .elementor-grid-tablet_extra-11 .elementor-grid { grid-template-columns: repeat(11, 1fr); } .elementor-grid-tablet_extra-12 .elementor-grid { grid-template-columns: repeat(12, 1fr); } } @media (max-width: ELEMENTOR_SCREEN_TABLET_MAX) { .elementor-grid-tablet-0 .elementor-grid { display: inline-block; width: 100%; word-spacing: var(--grid-column-gap); margin-bottom: calc(-1 * var(--grid-row-gap)); } .elementor-grid-tablet-0 .elementor-grid .elementor-grid-item { display: inline-block; margin-bottom: var(--grid-row-gap); word-break: break-word; } .elementor-grid-tablet-1 .elementor-grid { grid-template-columns: repeat(1, 1fr); } .elementor-grid-tablet-2 .elementor-grid { grid-template-columns: repeat(2, 1fr); } .elementor-grid-tablet-3 .elementor-grid { grid-template-columns: repeat(3, 1fr); } .elementor-grid-tablet-4 .elementor-grid { grid-template-columns: repeat(4, 1fr); } .elementor-grid-tablet-5 .elementor-grid { grid-template-columns: repeat(5, 1fr); } .elementor-grid-tablet-6 .elementor-grid { grid-template-columns: repeat(6, 1fr); } .elementor-grid-tablet-7 .elementor-grid { grid-template-columns: repeat(7, 1fr); } .elementor-grid-tablet-8 .elementor-grid { grid-template-columns: repeat(8, 1fr); } .elementor-grid-tablet-9 .elementor-grid { grid-template-columns: repeat(9, 1fr); } .elementor-grid-tablet-10 .elementor-grid { grid-template-columns: repeat(10, 1fr); } .elementor-grid-tablet-11 .elementor-grid { grid-template-columns: repeat(11, 1fr); } .elementor-grid-tablet-12 .elementor-grid { grid-template-columns: repeat(12, 1fr); } } @media (max-width: ELEMENTOR_SCREEN_MOBILE_EXTRA_MAX) { .elementor-grid-mobile_extra-0 .elementor-grid { display: inline-block; width: 100%; word-spacing: var(--grid-column-gap); margin-bottom: calc(-1 * var(--grid-row-gap)); } .elementor-grid-mobile_extra-0 .elementor-grid .elementor-grid-item { display: inline-block; margin-bottom: var(--grid-row-gap); word-break: break-word; } .elementor-grid-mobile_extra-1 .elementor-grid { grid-template-columns: repeat(1, 1fr); } .elementor-grid-mobile_extra-2 .elementor-grid { grid-template-columns: repeat(2, 1fr); } .elementor-grid-mobile_extra-3 .elementor-grid { grid-template-columns: repeat(3, 1fr); } .elementor-grid-mobile_extra-4 .elementor-grid { grid-template-columns: repeat(4, 1fr); } .elementor-grid-mobile_extra-5 .elementor-grid { grid-template-columns: repeat(5, 1fr); } .elementor-grid-mobile_extra-6 .elementor-grid { grid-template-columns: repeat(6, 1fr); } .elementor-grid-mobile_extra-7 .elementor-grid { grid-template-columns: repeat(7, 1fr); } .elementor-grid-mobile_extra-8 .elementor-grid { grid-template-columns: repeat(8, 1fr); } .elementor-grid-mobile_extra-9 .elementor-grid { grid-template-columns: repeat(9, 1fr); } .elementor-grid-mobile_extra-10 .elementor-grid { grid-template-columns: repeat(10, 1fr); } .elementor-grid-mobile_extra-11 .elementor-grid { grid-template-columns: repeat(11, 1fr); } .elementor-grid-mobile_extra-12 .elementor-grid { grid-template-columns: repeat(12, 1fr); } } @media (max-width: ELEMENTOR_SCREEN_MOBILE_MAX) { .elementor-grid-mobile-0 .elementor-grid { display: inline-block; width: 100%; word-spacing: var(--grid-column-gap); margin-bottom: calc(-1 * var(--grid-row-gap)); } .elementor-grid-mobile-0 .elementor-grid .elementor-grid-item { display: inline-block; margin-bottom: var(--grid-row-gap); word-break: break-word; } .elementor-grid-mobile-1 .elementor-grid { grid-template-columns: repeat(1, 1fr); } .elementor-grid-mobile-2 .elementor-grid { grid-template-columns: repeat(2, 1fr); } .elementor-grid-mobile-3 .elementor-grid { grid-template-columns: repeat(3, 1fr); } .elementor-grid-mobile-4 .elementor-grid { grid-template-columns: repeat(4, 1fr); } .elementor-grid-mobile-5 .elementor-grid { grid-template-columns: repeat(5, 1fr); } .elementor-grid-mobile-6 .elementor-grid { grid-template-columns: repeat(6, 1fr); } .elementor-grid-mobile-7 .elementor-grid { grid-template-columns: repeat(7, 1fr); } .elementor-grid-mobile-8 .elementor-grid { grid-template-columns: repeat(8, 1fr); } .elementor-grid-mobile-9 .elementor-grid { grid-template-columns: repeat(9, 1fr); } .elementor-grid-mobile-10 .elementor-grid { grid-template-columns: repeat(10, 1fr); } .elementor-grid-mobile-11 .elementor-grid { grid-template-columns: repeat(11, 1fr); } .elementor-grid-mobile-12 .elementor-grid { grid-template-columns: repeat(12, 1fr); } } @media (min-width: ELEMENTOR_SCREEN_DESKTOP_MIN) { #elementor-device-mode:after { content: "desktop"; } } @media (min-width: ELEMENTOR_SCREEN_WIDESCREEN_MIN) { #elementor-device-mode:after { content: "widescreen"; } } @media (max-width: ELEMENTOR_SCREEN_LAPTOP_MAX) { #elementor-device-mode:after { content: "laptop"; } } @media (max-width: ELEMENTOR_SCREEN_TABLET_EXTRA_MAX) { #elementor-device-mode:after { content: "tablet_extra"; } } @media (max-width: ELEMENTOR_SCREEN_TABLET_MAX) { #elementor-device-mode:after { content: "tablet"; } } @media (max-width: ELEMENTOR_SCREEN_MOBILE_EXTRA_MAX) { #elementor-device-mode:after { content: "mobile_extra"; } } @media (max-width: ELEMENTOR_SCREEN_MOBILE_MAX) { #elementor-device-mode:after { content: "mobile"; } } .e-container { --border-radius: 0; --display: flex; --flex-direction: column; --flex-basis: auto; --flex-grow: 0; --flex-shrink: 1; --content-width: Min( 100%, var( --container-max-width, 1140px ) ); --width: 100%; --min-height: initial; --height: auto; --text-align: initial; --margin-top: 0; --margin-right: 0; --margin-bottom: 0; --margin-left: 0; --padding-top: var( --container-default-padding, 0px ); --padding-right: var( --container-default-padding, 0px ); --padding-bottom: var( --container-default-padding, 0px ); --padding-left: var( --container-default-padding, 0px ); --position: relative; --z-index: revert; --overflow: visible; --transition: 0; --gap: var( --widgets-spacing, 20px ); --overlay-mix-blend-mode: initial; --overlay-opacity: 1; --overlay-transition: 0; position: var(--position); display: var(--display); text-align: var(--text-align); flex-direction: var(--flex-direction); flex: var(--flex-grow) var(--flex-shrink) var(--flex-basis); width: var(--width); min-width: 0; max-width: min(100%, var(--width)); min-height: var(--min-height); height: var(--height); border-radius: var(--border-radius); margin: var(--margin-top) var(--margin-right) var(--margin-bottom) var(--margin-left); padding-left: calc((100% - var(--content-width)) / 2 + var(--padding-left)); padding-right: calc((100% - var(--content-width)) / 2 + var(--padding-right)); padding-top: var(--padding-top); padding-bottom: var(--padding-bottom); z-index: var(--z-index); overflow: var(--overflow); transition: var(--transition); } :is(.elementor-section-wrap, [data-elementor-id]) > .e-container { --margin-right: auto; --margin-left: auto; } .e-container .elementor-empty-view { position: relative; width: 100%; height: 100%; min-height: var(--min-height, 100px); } .e-container .elementor-empty-view .elementor-first-add { width: auto; height: auto; inset: 10px; } .e-container .elementor-widget-placeholder { --size: 10px; --margin-start: calc( -1 * var( --size ) ); --margin-end: calc( -2 * var( --size ) ); flex-shrink: 0; align-self: stretch; z-index: 1; pointer-events: none; } .e-container.e-container--row > .elementor-widget-placeholder { position: relative; z-index: 9999; width: var(--size); margin-inline-start: var(--margin-start); height: auto; min-height: 100%; animation-name: dnd-placeholder-widget-vertical; animation-fill-mode: both; } .e-container.e-container--row[data-nesting-level]:not([data-nesting-level="0"]) > .elementor-widget-placeholder { margin-inline-end: 0; margin-inline-start: calc(var(--margin-start) + var(--margin-end)); } .e-container.e-container--row[data-nesting-level]:not([data-nesting-level="0"]) > :not(.elementor-element) + .elementor-widget-placeholder { margin-inline-end: var(--margin-end); margin-inline-start: var(--margin-start); } .e-container.e-container--column > .elementor-widget-placeholder { height: var(--size); margin-block-start: var(--margin-start); margin-block-end: var(--margin-end); animation-name: dnd-placeholder-widget-horizontal; } .e-container.e-container--column > .elementor-widget-placeholder:nth-last-child(2) { margin-block-start: calc(2 * var(--margin-start)); --margin-end: 0; } .e-container .elementor-sortable-helper { height: 84px; width: 125px; z-index: -1; } .e-container .elementor-widget.elementor-widget { margin-bottom: 0; } .e-container::before { content: var(--background-overlay); display: block; position: absolute; z-index: 0; width: 100%; height: 100%; left: 0; top: 0; mix-blend-mode: var(--overlay-mix-blend-mode); opacity: var(--overlay-opacity); transition: var(--overlay-transition); border-radius: var(--border-radius); } .e-container .elementor-widget { min-width: 0; } .e-container .elementor-widget-video, .e-container .elementor-widget-google_maps { flex-basis: 100%; } .e-container .elementor-widget.e-widget-swiper { max-width: 100%; flex-basis: 100%; } .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-setting, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-setting { position: relative; background-color: #556068; } .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-setting:hover, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-setting:hover { background-color: #495157; } .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-setting.elementor-editor-element-add, .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-setting.elementor-editor-element-edit + .elementor-editor-element-remove, .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-setting:first-child::before, .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-setting:last-child::after, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-setting.elementor-editor-element-add, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-setting.elementor-editor-element-edit + .elementor-editor-element-remove, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-setting:first-child::before, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-setting:last-child::after { display: none; } .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-setting:not(.elementor-editor-element-edit), .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-setting:not(.elementor-editor-element-edit) { margin-inline-start: -25px; z-index: -1; transition: 0.3s all; will-change: margin-inline-start; } .e-container > .e-container > .elementor-element-overlay > .elementor-editor-element-settings:hover > :is(.elementor-editor-element-duplicate, .elementor-editor-element-remove), .elementor-widget .e-container > .elementor-element-overlay > .elementor-editor-element-settings:hover > :is(.elementor-editor-element-duplicate, .elementor-editor-element-remove) { margin-inline-start: 0; } .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-settings, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-settings { inset: initial; transform: none; inset-inline-start: 0; top: 0; border-radius: 0; border-end-end-radius: 3px; height: auto; background-color: #556068; } .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-settings:hover, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-settings:hover { background-color: #495157; } .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-settings i.eicon-handle::before, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-settings i.eicon-handle::before { content: "\e9b4"; font-size: 20px; display: block; padding: 2px; } @media (max-width: 767px) { .e-container { --width: 100%; --flex-wrap: wrap; } } @keyframes dnd-placeholder-widget-vertical { 0% { transform-origin: 0 50%; transform: translateX(50%) scaleX(0); opacity: 0; } 100% { transform-origin: 0 50%; transform: translateX(50%) scaleX(1); opacity: 0.9; } } @keyframes dnd-placeholder-widget-horizontal { 0% { transform-origin: 50% 0; transform: scaleY(0); opacity: 0; } 100% { transform-origin: 50% 0; transform: scaleY(1); opacity: 0.9; } } .elementor-form-fields-wrapper { display: flex; flex-wrap: wrap; } .elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group > input, .elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group > textarea, .elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group > .elementor-select-wrapper, .elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group .elementor-field-subgroup { flex-basis: 100%; max-width: 100%; } .elementor-form-fields-wrapper.elementor-labels-inline > .elementor-field-group > input, .elementor-form-fields-wrapper.elementor-labels-inline > .elementor-field-group .elementor-select-wrapper { flex-grow: 1; } .elementor-field-group { flex-wrap: wrap; align-items: center; } .elementor-field-group.elementor-field-type-submit { align-items: flex-end; } .elementor-field-group .elementor-field-textual { width: 100%; max-width: 100%; border: 1px solid #818a91; background-color: transparent; color: #373a3c; vertical-align: middle; flex-grow: 1; } .elementor-field-group .elementor-field-textual:focus { box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1) inset; outline: 0; } .elementor-field-group .elementor-field-textual::-webkit-input-placeholder { color: inherit; font-family: inherit; opacity: 0.6; } .elementor-field-group .elementor-field-textual:-ms-input-placeholder { color: inherit; font-family: inherit; opacity: 0.6; } .elementor-field-group .elementor-field-textual::-moz-placeholder { color: inherit; font-family: inherit; opacity: 0.6; } .elementor-field-group .elementor-field-textual:-moz-placeholder { color: inherit; font-family: inherit; opacity: 0.6; } .elementor-field-group .elementor-field-textual::placeholder { color: inherit; font-family: inherit; opacity: 0.6; } .elementor-field-group .elementor-select-wrapper { display: flex; position: relative; width: 100%; } .elementor-field-group .elementor-select-wrapper select { appearance: none; -webkit-appearance: none; -moz-appearance: none; color: inherit; font-size: inherit; font-family: inherit; font-weight: inherit; font-style: inherit; text-transform: inherit; letter-spacing: inherit; line-height: inherit; flex-basis: 100%; padding-left: 20px; } .elementor-field-group .elementor-select-wrapper:before { content: "\e92a"; font-family: "eicons"; font-size: 15px; position: absolute; top: 50%; transform: translateY(-50%); left: 10px; pointer-events: none; text-shadow: 0 0 3px rgba(0, 0, 0, 0.3); } .elementor-field-group.elementor-field-type-select-multiple .elementor-select-wrapper:before { content: ""; } .elementor-field-subgroup { display: flex; flex-wrap: wrap; } .elementor-field-subgroup .elementor-field-option label { display: inline-block; } .elementor-field-subgroup.elementor-subgroup-inline .elementor-field-option { padding-left: 10px; } .elementor-field-subgroup:not(.elementor-subgroup-inline) .elementor-field-option { flex-basis: 100%; } .elementor-field-type-checkbox .elementor-field-subgroup .elementor-field-option input, .elementor-field-type-checkbox .elementor-field-subgroup .elementor-field-option label, .elementor-field-type-radio .elementor-field-subgroup .elementor-field-option input, .elementor-field-type-radio .elementor-field-subgroup .elementor-field-option label, .elementor-field-type-acceptance .elementor-field-subgroup .elementor-field-option input, .elementor-field-type-acceptance .elementor-field-subgroup .elementor-field-option label { display: inline; } .elementor-field-label { cursor: pointer; } .elementor-mark-required .elementor-field-label:after { content: "*"; color: red; padding-right: 0.2em; } .elementor-field-textual { line-height: 1.4; font-size: 15px; min-height: 40px; padding: 5px 14px; border-radius: 3px; } .elementor-field-textual.elementor-size-xs { font-size: 13px; min-height: 33px; padding: 4px 12px; border-radius: 2px; } .elementor-field-textual.elementor-size-md { font-size: 16px; min-height: 47px; padding: 6px 16px; border-radius: 4px; } .elementor-field-textual.elementor-size-lg { font-size: 18px; min-height: 59px; padding: 7px 20px; border-radius: 5px; } .elementor-field-textual.elementor-size-xl { font-size: 20px; min-height: 72px; padding: 8px 24px; border-radius: 6px; } .elementor-button-align-stretch .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button { flex-basis: 100%; } .elementor-button-align-stretch .e-form__buttons__wrapper { flex-basis: 50%; flex-grow: 1; } .elementor-button-align-stretch .e-form__buttons__wrapper__button { flex-basis: 100%; } .elementor-button-align-center .elementor-field-type-submit, .elementor-button-align-center .e-form__buttons { justify-content: center; } .elementor-button-align-start .elementor-field-type-submit, .elementor-button-align-start .e-form__buttons { justify-content: flex-end; } .elementor-button-align-end .elementor-field-type-submit, .elementor-button-align-end .e-form__buttons { justify-content: flex-start; } .elementor-button-align-center .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button, .elementor-button-align-start .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button, .elementor-button-align-end .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button { flex-basis: initial; } .elementor-button-align-center .e-form__buttons__wrapper, .elementor-button-align-start .e-form__buttons__wrapper, .elementor-button-align-end .e-form__buttons__wrapper { flex-grow: initial; } .elementor-button-align-center .e-form__buttons__wrapper, .elementor-button-align-center .e-form__buttons__wrapper__button, .elementor-button-align-start .e-form__buttons__wrapper, .elementor-button-align-start .e-form__buttons__wrapper__button, .elementor-button-align-end .e-form__buttons__wrapper, .elementor-button-align-end .e-form__buttons__wrapper__button { flex-basis: initial; } @media screen and (max-width: ELEMENTOR_SCREEN_TABLET_MAX) { .elementor-tablet-button-align-stretch .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button { flex-basis: 100%; } .elementor-tablet-button-align-stretch .e-form__buttons__wrapper { flex-basis: 50%; flex-grow: 1; } .elementor-tablet-button-align-stretch .e-form__buttons__wrapper__button { flex-basis: 100%; } .elementor-tablet-button-align-center .elementor-field-type-submit, .elementor-tablet-button-align-center .e-form__buttons { justify-content: center; } .elementor-tablet-button-align-start .elementor-field-type-submit, .elementor-tablet-button-align-start .e-form__buttons { justify-content: flex-end; } .elementor-tablet-button-align-end .elementor-field-type-submit, .elementor-tablet-button-align-end .e-form__buttons { justify-content: flex-start; } .elementor-tablet-button-align-center .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button, .elementor-tablet-button-align-start .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button, .elementor-tablet-button-align-end .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button { flex-basis: initial; } .elementor-tablet-button-align-center .e-form__buttons__wrapper, .elementor-tablet-button-align-start .e-form__buttons__wrapper, .elementor-tablet-button-align-end .e-form__buttons__wrapper { flex-grow: initial; } .elementor-tablet-button-align-center .e-form__buttons__wrapper, .elementor-tablet-button-align-center .e-form__buttons__wrapper__button, .elementor-tablet-button-align-start .e-form__buttons__wrapper, .elementor-tablet-button-align-start .e-form__buttons__wrapper__button, .elementor-tablet-button-align-end .e-form__buttons__wrapper, .elementor-tablet-button-align-end .e-form__buttons__wrapper__button { flex-basis: initial; } } @media screen and (max-width: ELEMENTOR_SCREEN_MOBILE_MAX) { .elementor-mobile-button-align-stretch .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button { flex-basis: 100%; } .elementor-mobile-button-align-stretch .e-form__buttons__wrapper { flex-basis: 50%; flex-grow: 1; } .elementor-mobile-button-align-stretch .e-form__buttons__wrapper__button { flex-basis: 100%; } .elementor-mobile-button-align-center .elementor-field-type-submit, .elementor-mobile-button-align-center .e-form__buttons { justify-content: center; } .elementor-mobile-button-align-start .elementor-field-type-submit, .elementor-mobile-button-align-start .e-form__buttons { justify-content: flex-end; } .elementor-mobile-button-align-end .elementor-field-type-submit, .elementor-mobile-button-align-end .e-form__buttons { justify-content: flex-start; } .elementor-mobile-button-align-center .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button, .elementor-mobile-button-align-start .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button, .elementor-mobile-button-align-end .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button { flex-basis: initial; } .elementor-mobile-button-align-center .e-form__buttons__wrapper, .elementor-mobile-button-align-start .e-form__buttons__wrapper, .elementor-mobile-button-align-end .e-form__buttons__wrapper { flex-grow: initial; } .elementor-mobile-button-align-center .e-form__buttons__wrapper, .elementor-mobile-button-align-center .e-form__buttons__wrapper__button, .elementor-mobile-button-align-start .e-form__buttons__wrapper, .elementor-mobile-button-align-start .e-form__buttons__wrapper__button, .elementor-mobile-button-align-end .e-form__buttons__wrapper, .elementor-mobile-button-align-end .e-form__buttons__wrapper__button { flex-basis: initial; } } .elementor-error .elementor-field { border-color: #d9534f; } .elementor-error .help-inline { color: #d9534f; font-size: 0.9em; } .elementor-message { margin: 10px 0; font-size: 1em; line-height: 1; } .elementor-message:before { content: "\e90e"; display: inline-block; font-family: eicons; font-weight: normal; font-style: normal; vertical-align: middle; margin-left: 5px; } .elementor-message.elementor-message-danger { color: #d9534f; } .elementor-message.elementor-message-danger:before { content: "\e87f"; } .elementor-message.form-message-success { color: #5cb85c; } .elementor-form .elementor-button { padding-top: 0; padding-bottom: 0; border: none; } .elementor-form .elementor-button > span { display: flex; justify-content: center; } .elementor-form .elementor-button.elementor-size-xs { min-height: 33px; } .elementor-form .elementor-button.elementor-size-sm { min-height: 40px; } .elementor-form .elementor-button.elementor-size-md { min-height: 47px; } .elementor-form .elementor-button.elementor-size-lg { min-height: 59px; } .elementor-form .elementor-button.elementor-size-xl { min-height: 72px; } .elementor-element .elementor-widget-container { transition: background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s; } .elementor-button { display: inline-block; line-height: 1; background-color: #818a91; font-size: 15px; padding: 12px 24px; border-radius: 3px; color: #fff; fill: #fff; text-align: center; transition: all 0.3s; } .elementor-button:hover, .elementor-button:focus, .elementor-button:visited { color: #fff; } .elementor-button-content-wrapper { display: flex; justify-content: center; } .elementor-button-icon { flex-grow: 0; order: 5; } .elementor-button-icon svg { width: 1em; height: auto; } .elementor-button-icon .e-font-icon-svg { height: 1em; } .elementor-button-text { flex-grow: 1; order: 10; display: inline-block; } .elementor-button.elementor-size-xs { font-size: 13px; padding: 10px 20px; border-radius: 2px; } .elementor-button.elementor-size-md { font-size: 16px; padding: 15px 30px; border-radius: 4px; } .elementor-button.elementor-size-lg { font-size: 18px; padding: 20px 40px; border-radius: 5px; } .elementor-button.elementor-size-xl { font-size: 20px; padding: 25px 50px; border-radius: 6px; } .elementor-button .elementor-align-icon-right { margin-left: 5px; order: 5; } .elementor-button .elementor-align-icon-left { margin-right: 5px; order: 15; } .elementor-button span { text-decoration: inherit; } .elementor-element.elementor-button-info .elementor-button { background-color: #5bc0de; } .elementor-element.elementor-button-success .elementor-button { background-color: #5cb85c; } .elementor-element.elementor-button-warning .elementor-button { background-color: #f0ad4e; } .elementor-element.elementor-button-danger .elementor-button { background-color: #d9534f; } .elementor-widget-button .elementor-button .elementor-button-info { background-color: #5bc0de; } .elementor-widget-button .elementor-button .elementor-button-success { background-color: #5cb85c; } .elementor-widget-button .elementor-button .elementor-button-warning { background-color: #f0ad4e; } .elementor-widget-button .elementor-button .elementor-button-danger { background-color: #d9534f; } .elementor-tab-title a { color: inherit; } .elementor-view-stacked .elementor-icon { padding: 0.5em; background-color: #818a91; color: #fff; fill: #fff; } .elementor-view-framed .elementor-icon { padding: 0.5em; color: #818a91; border: 3px solid #818a91; background-color: transparent; } .elementor-icon { display: inline-block; line-height: 1; transition: all 0.3s; color: #818a91; font-size: 50px; text-align: center; } .elementor-icon:hover { color: #818a91; } .elementor-icon i, .elementor-icon svg { width: 1em; height: 1em; position: relative; display: block; } .elementor-icon i:before, .elementor-icon svg:before { position: absolute; left: 50%; transform: translateX(-50%); } .elementor-icon i.fad { width: initial; } .elementor-shape-circle .elementor-icon { border-radius: 50%; } .e-transform .elementor-widget-container { transform: perspective(var(--e-transform-perspective, 0)) rotateZ(var(--e-transform-rotateZ, 0)) rotateX(var(--e-transform-rotateX, 0)) rotateY(var(--e-transform-rotateY, 0)) translate(var(--e-transform-translate, 0)) translateX(var(--e-transform-translateX, 0)) translateY(var(--e-transform-translateY, 0)) scaleX(calc(var(--e-transform-flipX, 1) * var(--e-transform-scaleX, var(--e-transform-scale, 1)))) scaleY(calc(var(--e-transform-flipY, 1) * var(--e-transform-scaleY, var(--e-transform-scale, 1)))) skewX(var(--e-transform-skewX, 0)) skewY(var(--e-transform-skewY, 0)); transform-origin: var(--e-transform-origin-y) var(--e-transform-origin-x); transition: transform var(--e-transform-transition-duration, 400ms); } /** * Swiper 3.4.2 * Customized by Elementor team */ .swiper-container { margin-left: auto; margin-right: auto; position: relative; overflow: hidden; /* Fix of Webkit flickering */ z-index: 1; } .swiper-container .swiper-slide figure { line-height: 0; } .swiper-container .elementor-lightbox-content-source { display: none; } .swiper-container-no-flexbox .swiper-slide { float: left; } .swiper-container-vertical > .swiper-wrapper { flex-direction: column; } .swiper-wrapper { position: relative; width: 100%; height: 100%; z-index: 1; display: flex; transition-property: transform; box-sizing: content-box; } .swiper-container-android .swiper-slide, .swiper-wrapper { transform: translate3d(0px, 0, 0); } .swiper-container-multirow > .swiper-wrapper { flex-wrap: wrap; } .swiper-container-free-mode > .swiper-wrapper { transition-timing-function: ease-out; margin: 0 auto; } .swiper-slide { flex-shrink: 0; width: 100%; height: 100%; position: relative; } /* Auto Height */ .swiper-container-autoheight { height: auto; } .swiper-container-autoheight .swiper-slide { height: auto; } .swiper-container-autoheight .swiper-wrapper { align-items: flex-start; transition-property: transform, height; } /* a11y */ .swiper-container .swiper-notification { position: absolute; left: 0; top: 0; pointer-events: none; opacity: 0; z-index: -1000; } /* IE10 Windows Phone 8 Fixes */ .swiper-wp8-horizontal { touch-action: pan-y; } .swiper-wp8-vertical { touch-action: pan-x; } /* Arrows */ .swiper-button-prev, .swiper-button-next { position: absolute; top: 50%; width: 27px; height: 44px; margin-top: -22px; z-index: 10; cursor: pointer; background-size: 27px 44px; background: no-repeat center; } .swiper-button-prev.swiper-button-disabled, .swiper-button-next.swiper-button-disabled { opacity: 0.35; cursor: auto; pointer-events: none; } .swiper-button-prev, .swiper-container-rtl .swiper-button-next { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E"); left: 10px; right: auto; } .swiper-button-prev.swiper-button-black, .swiper-container-rtl .swiper-button-next.swiper-button-black { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); } .swiper-button-prev.swiper-button-white, .swiper-container-rtl .swiper-button-next.swiper-button-white { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); } .swiper-button-next, .swiper-container-rtl .swiper-button-prev { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E"); right: 10px; left: auto; } .swiper-button-next.swiper-button-black, .swiper-container-rtl .swiper-button-prev.swiper-button-black { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); } .swiper-button-next.swiper-button-white, .swiper-container-rtl .swiper-button-prev.swiper-button-white { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); } /* Pagination Styles */ .swiper-pagination { position: absolute; text-align: center; transition: 300ms; transform: translate3d(0, 0, 0); z-index: 10; } .swiper-pagination.swiper-pagination-hidden { opacity: 0; } /* Common Styles */ .swiper-pagination-fraction, .swiper-pagination-custom, .swiper-container-horizontal > .swiper-pagination-bullets { bottom: 5px; left: 0; width: 100%; } /* Bullets */ .swiper-pagination-bullet { width: 6px; height: 6px; display: inline-block; border-radius: 50%; background: #000; opacity: 0.2; } .swiper-pagination-fraction { color: #000; } button.swiper-pagination-bullet { border: none; margin: 0; padding: 0; box-shadow: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; } .swiper-pagination-clickable .swiper-pagination-bullet { cursor: pointer; } .swiper-pagination-white .swiper-pagination-bullet { background: #fff; } .swiper-pagination-bullet-active { opacity: 1; } .swiper-pagination-white .swiper-pagination-bullet-active { background: #fff; } .swiper-pagination-black .swiper-pagination-bullet-active { background: #000; } .swiper-container-vertical > .swiper-pagination-bullets { right: 10px; top: 50%; transform: translate3d(0px, -50%, 0); } .swiper-container-vertical > .swiper-pagination-bullets .swiper-pagination-bullet { margin: 5px 0; display: block; } .swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet { margin: 0 6px; } /* Progressbar */ .swiper-pagination-progressbar { background: rgba(0, 0, 0, 0.25); position: absolute; } .swiper-pagination-progressbar .swiper-pagination-progressbar-fill { background: #000; position: absolute; left: 0; top: 0; width: 100%; height: 100%; transform: scale(0); transform-origin: left top; } .swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill { transform-origin: right top; } .swiper-container-horizontal > .swiper-pagination-progressbar { width: 100%; height: 4px; left: 0; top: 0; } .swiper-container-vertical > .swiper-pagination-progressbar { width: 4px; height: 100%; left: 0; top: 0; } .swiper-pagination-progressbar.swiper-pagination-white { background: rgba(255, 255, 255, 0.5); } .swiper-pagination-progressbar.swiper-pagination-white .swiper-pagination-progressbar-fill { background: #fff; } .swiper-pagination-progressbar.swiper-pagination-black .swiper-pagination-progressbar-fill { background: #000; } /* 3D Container */ .swiper-container-3d { perspective: 1200px; } .swiper-container-3d .swiper-wrapper, .swiper-container-3d .swiper-slide, .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top, .swiper-container-3d .swiper-slide-shadow-bottom, .swiper-container-3d .swiper-cube-shadow { transform-style: preserve-3d; } .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top, .swiper-container-3d .swiper-slide-shadow-bottom { position: absolute; left: 0; top: 0; width: 100%; height: 100%; pointer-events: none; z-index: 10; } .swiper-container-3d .swiper-slide-shadow-left { background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); } .swiper-container-3d .swiper-slide-shadow-right { background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); } .swiper-container-3d .swiper-slide-shadow-top { background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); } .swiper-container-3d .swiper-slide-shadow-bottom { background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); } /* Coverflow */ .swiper-container-coverflow .swiper-wrapper, .swiper-container-flip .swiper-wrapper { /* Windows 8 IE 10 fix */ -ms-perspective: 1200px; } /* Cube + Flip */ .swiper-container-cube, .swiper-container-flip { overflow: visible; } .swiper-container-cube .swiper-slide, .swiper-container-flip .swiper-slide { pointer-events: none; z-index: 1; } .swiper-container-cube .swiper-slide .swiper-slide, .swiper-container-flip .swiper-slide .swiper-slide { pointer-events: none; } .swiper-container-cube .swiper-slide-active, .swiper-container-flip .swiper-slide-active, .swiper-container-cube .swiper-slide-active .swiper-slide-active, .swiper-container-flip .swiper-slide-active .swiper-slide-active { pointer-events: auto; } .swiper-container-cube .swiper-slide-shadow-top, .swiper-container-flip .swiper-slide-shadow-top, .swiper-container-cube .swiper-slide-shadow-bottom, .swiper-container-flip .swiper-slide-shadow-bottom, .swiper-container-cube .swiper-slide-shadow-left, .swiper-container-flip .swiper-slide-shadow-left, .swiper-container-cube .swiper-slide-shadow-right, .swiper-container-flip .swiper-slide-shadow-right { z-index: 0; backface-visibility: hidden; } /* Cube */ .swiper-container-cube .swiper-slide { visibility: hidden; transform-origin: 0 0; width: 100%; height: 100%; } .swiper-container-cube.swiper-container-rtl .swiper-slide { transform-origin: 100% 0; } .swiper-container-cube .swiper-slide-active, .swiper-container-cube .swiper-slide-next, .swiper-container-cube .swiper-slide-prev, .swiper-container-cube .swiper-slide-next + .swiper-slide { pointer-events: auto; visibility: visible; } .swiper-container-cube .swiper-cube-shadow { position: absolute; left: 0; bottom: 0; width: 100%; height: 100%; background: #000; opacity: 0.6; -webkit-filter: blur(50px); filter: blur(50px); z-index: 0; } /* Fade */ .swiper-container-fade.swiper-container-free-mode .swiper-slide { transition-timing-function: ease-out; } .swiper-container-fade .swiper-slide { pointer-events: none; transition-property: opacity; } .swiper-container-fade .swiper-slide .swiper-slide { pointer-events: none; } .swiper-container-fade .swiper-slide-active { pointer-events: auto; } .swiper-container-fade .swiper-slide-active .swiper-slide-active { pointer-events: auto; } .swiper-zoom-container { width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; text-align: center; } .swiper-zoom-container > img, .swiper-zoom-container > svg, .swiper-zoom-container > canvas { max-width: 100%; max-height: 100%; object-fit: contain; } /* Scrollbar */ .swiper-scrollbar { border-radius: 10px; position: relative; -ms-touch-action: none; background: rgba(0, 0, 0, 0.1); } .swiper-container-horizontal > .swiper-scrollbar { position: absolute; left: 1%; bottom: 3px; z-index: 50; height: 5px; width: 98%; } .swiper-container-vertical > .swiper-scrollbar { position: absolute; right: 3px; top: 1%; z-index: 50; width: 5px; height: 98%; } .swiper-scrollbar-drag { height: 100%; width: 100%; position: relative; background: rgba(0, 0, 0, 0.5); border-radius: 10px; left: 0; top: 0; } .swiper-scrollbar-cursor-drag { cursor: move; } .elementor-pagination-position-outside .swiper-container { padding-bottom: 30px; } .elementor-pagination-position-outside .elementor-swiper-button { top: calc(50% - 30px / 2); } .elementor-swiper { position: relative; } .elementor-main-swiper { position: static; } .elementor-arrows-position-outside .swiper-container { width: calc(100% - 60px); } .elementor-arrows-position-outside .elementor-swiper-button-prev { left: 0; } .elementor-arrows-position-outside .elementor-swiper-button-next { right: 0; } .swiper-image-stretch .swiper-slide .swiper-slide-image { width: 100%; } .elementor-swiper-button { position: absolute; display: inline-flex; z-index: 1; cursor: pointer; font-size: 25px; color: rgba(238, 238, 238, 0.9); top: 50%; transform: translateY(-50%); } .elementor-swiper-button svg { fill: rgba(238, 238, 238, 0.9); height: 1em; width: 1em; } .elementor-swiper-button-prev { left: 10px; } .elementor-swiper-button-next { right: 10px; } .elementor-swiper-button.swiper-button-disabled { opacity: 0.3; } .swiper-container-cube .elementor-swiper-button { transform: translate3d(0, -50%, 1px); } /* Preloader */ .swiper-lazy-preloader { width: 42px; height: 42px; position: absolute; left: 50%; top: 50%; margin-left: -21px; margin-top: -21px; z-index: 10; transform-origin: 50%; animation: swiper-preloader-spin 1s steps(12, end) infinite; } .swiper-lazy-preloader:after { display: block; content: ""; width: 100%; height: 100%; background-size: 100%; background: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat 50%; } .swiper-lazy-preloader-white:after { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); } @keyframes swiper-preloader-spin { 100% { transform: rotate(360deg); } } .elementor-lightbox { --lightbox-ui-color: rgba(238, 238, 238, 0.9); --lightbox-ui-color-hover: #fff; --lightbox-text-color: var(--lightbox-ui-color); --lightbox-header-icons-size: 20px; --lightbox-navigation-icons-size: 25px; } .elementor-lightbox .dialog-header { display: none; } .elementor-lightbox .dialog-widget-content { background: none; box-shadow: none; width: 100%; height: 100%; } .elementor-lightbox .dialog-message { animation-duration: 0.3s; } .elementor-lightbox .dialog-message:not(.elementor-fit-aspect-ratio) { height: 100%; } .elementor-lightbox .dialog-message.dialog-lightbox-message { padding: 0; } .elementor-lightbox .dialog-lightbox-close-button { cursor: pointer; position: absolute; font-size: var(--lightbox-header-icons-size); left: 0.75em; margin-top: 13px; padding: 0.25em; z-index: 2; line-height: 1; display: flex; } .elementor-lightbox .dialog-lightbox-close-button svg { height: 1em; width: 1em; } .elementor-lightbox .dialog-lightbox-close-button, .elementor-lightbox .elementor-swiper-button { color: var(--lightbox-ui-color); transition: all 0.3s; opacity: 1; } .elementor-lightbox .dialog-lightbox-close-button svg, .elementor-lightbox .elementor-swiper-button svg { fill: var(--lightbox-ui-color); } .elementor-lightbox .dialog-lightbox-close-button:hover, .elementor-lightbox .elementor-swiper-button:hover { color: var(--lightbox-ui-color-hover); } .elementor-lightbox .dialog-lightbox-close-button:hover svg, .elementor-lightbox .elementor-swiper-button:hover svg { fill: var(--lightbox-ui-color-hover); } .elementor-lightbox .swiper-container { height: 100%; } .elementor-lightbox .elementor-lightbox-item { display: flex; align-items: center; justify-content: center; position: relative; padding: 70px; box-sizing: border-box; height: 100%; margin: auto; } @media (max-width: ELEMENTOR_SCREEN_MOBILE_MAX) { .elementor-lightbox .elementor-lightbox-item { padding: 70px 0; } } .elementor-lightbox .elementor-lightbox-image { max-height: 100%; user-select: none; } .elementor-lightbox .elementor-lightbox-image, .elementor-lightbox .elementor-lightbox-image:hover { opacity: 1; filter: none; border: none; } .elementor-lightbox .elementor-lightbox-image, .elementor-lightbox .elementor-video-container { box-shadow: 0 0 30px rgba(0, 0, 0, 0.3), 0 0 8px -5px rgba(0, 0, 0, 0.3); border-radius: 2px; } .elementor-lightbox .elementor-video-container { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } @media (min-width: ELEMENTOR_SCREEN_TABLET_NEXT) { .elementor-lightbox .elementor-video-container { width: 75%; } } @media (max-width: ELEMENTOR_SCREEN_TABLET_MAX) { .elementor-lightbox .elementor-video-container { width: 100%; } } @media (min-width: 768px) and (max-width: 1024px) { .elementor-lightbox .elementor-aspect-ratio-916 .elementor-video-container { width: 70%; } } .elementor-lightbox .elementor-swiper-button:focus { outline-width: 1px; } .elementor-lightbox .elementor-swiper-button-prev, .elementor-lightbox .elementor-swiper-button-next { height: 100%; display: flex; align-items: center; width: 15%; justify-content: center; font-size: var(--lightbox-navigation-icons-size); } .elementor-lightbox .elementor-swiper-button-prev { left: 0; } .elementor-lightbox .elementor-swiper-button-next { right: 0; } @media (max-width: ELEMENTOR_SCREEN_MOBILE_MAX) { .elementor-lightbox .elementor-swiper-button:focus { outline: none; } .elementor-lightbox .elementor-swiper-button-prev, .elementor-lightbox .elementor-swiper-button-next { width: 20%; } .elementor-lightbox .elementor-swiper-button-prev i, .elementor-lightbox .elementor-swiper-button-next i { padding: 10px; background-color: rgba(0, 0, 0, 0.5); } .elementor-lightbox .elementor-swiper-button-prev { left: 0; justify-content: flex-start; } .elementor-lightbox .elementor-swiper-button-next { right: 0; justify-content: flex-end; } } .elementor-slideshow__counter { color: currentColor; font-size: 0.75em; width: max-content; } .elementor-slideshow__header, .elementor-slideshow__footer { position: absolute; left: 0; width: 100%; padding: 15px 20px; transition: 0.3s; } .elementor-slideshow__footer { color: var(--lightbox-text-color); } .elementor-slideshow__header { color: var(--lightbox-ui-color); display: flex; flex-direction: row-reverse; font-size: var(--lightbox-header-icons-size); padding-right: 1em; padding-left: 2.6em; top: 0; align-items: center; z-index: 10; } .elementor-slideshow__header > i, .elementor-slideshow__header > svg { cursor: pointer; padding: 0.25em; margin: 0 0.35em; } .elementor-slideshow__header > i { font-size: inherit; } .elementor-slideshow__header > i:hover { color: var(--lightbox-ui-color-hover); } .elementor-slideshow__header > svg { box-sizing: content-box; fill: var(--lightbox-ui-color); height: 1em; width: 1em; } .elementor-slideshow__header > svg:hover { fill: var(--lightbox-ui-color-hover); } .elementor-slideshow__header .elementor-slideshow__counter { margin-left: auto; } .elementor-slideshow__header .elementor-icon-share { z-index: 5; } .elementor-slideshow__share-menu { background-color: rgba(0, 0, 0, 0); width: 0; height: 0; position: absolute; overflow: hidden; transition: background-color 400ms; } .elementor-slideshow__share-menu .elementor-slideshow__share-links a { color: #2C2C2C; } .elementor-slideshow__share-links { display: block; position: absolute; min-width: 200px; left: 2.8em; top: 3em; background-color: #fff; border-radius: 3px; padding: 14px 20px; transform: scale(0); opacity: 0; transform-origin: 90% 10%; transition: all 250ms 100ms; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3); } .elementor-slideshow__share-links a { text-align: right; color: #55595c; font-size: 12px; line-height: 2.5; display: block; opacity: 0; transition: opacity 500ms 100ms; } .elementor-slideshow__share-links a:hover { color: #000; } .elementor-slideshow__share-links a i, .elementor-slideshow__share-links a svg { margin-left: 0.75em; } .elementor-slideshow__share-links a i { font-size: 1.25em; } .elementor-slideshow__share-links a svg { height: 1.25em; width: 1.25em; } .elementor-slideshow__share-links:before { content: ""; display: block; position: absolute; top: 1px; left: 0.5em; border: 0.45em solid; border-color: transparent transparent #fff transparent; transform: translateY(-100%) scaleX(0.7); } .elementor-slideshow__footer { bottom: 0; z-index: 5; position: fixed; } .elementor-slideshow__title, .elementor-slideshow__description { margin: 0; } .elementor-slideshow__title { font-size: 16px; font-weight: bold; } .elementor-slideshow__description { font-size: 14px; } .elementor-slideshow--ui-hidden .elementor-slideshow__header, .elementor-slideshow--ui-hidden .elementor-slideshow__footer { opacity: 0; pointer-events: none; } .elementor-slideshow--ui-hidden .elementor-swiper-button-prev, .elementor-slideshow--ui-hidden .elementor-swiper-button-next { opacity: 0; } .elementor-slideshow--fullscreen-mode .elementor-video-container { width: 100%; } .elementor-slideshow--zoom-mode .elementor-slideshow__header, .elementor-slideshow--zoom-mode .elementor-slideshow__footer { background-color: rgba(0, 0, 0, 0.5); } .elementor-slideshow--zoom-mode .elementor-swiper-button-prev, .elementor-slideshow--zoom-mode .elementor-swiper-button-next { opacity: 0; pointer-events: none; } .elementor-slideshow--share-mode .elementor-slideshow__share-menu { top: 0; left: 0; width: 100vw; height: 100vh; opacity: 1; cursor: default; background-color: rgba(0, 0, 0, 0.5); } .elementor-slideshow--share-mode .elementor-slideshow__share-links { transform: scale(1); } .elementor-slideshow--share-mode .elementor-slideshow__share-links, .elementor-slideshow--share-mode .elementor-slideshow__share-links a { opacity: 1; } .elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-twitter { color: #1DA1F2; } .elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-facebook { color: #3b5998; } .elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-pinterest { color: #bd081c; } .elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-download-bold { color: #a4afb7; } .elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-twitter { fill: #1DA1F2; } .elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-facebook { fill: #3b5998; } .elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-pinterest { fill: #bd081c; } .elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-download-bold { fill: #a4afb7; } .elementor-slideshow--share-mode .eicon-share-arrow { z-index: 2; } .animated { animation-duration: 1.25s; } .animated.animated-slow { animation-duration: 2s; } .animated.animated-fast { animation-duration: 0.75s; } .animated.infinite { animation-iteration-count: infinite; } .animated.reverse { animation-direction: reverse; animation-fill-mode: forwards; } @media (prefers-reduced-motion: reduce) { .animated { animation: none; } } .elementor-shape { overflow: hidden; position: absolute; left: 0; width: 100%; line-height: 0; direction: ltr; /* * @TODO: The `z-index: -1` rules below are temporary fixes for Chrome 85 issue. * It will be removed in a future version of Chrome. */ } .elementor-shape-top { top: -1px; } .elementor-shape-top:not([data-negative=false]) svg { z-index: -1; } .elementor-shape-bottom { bottom: -1px; } .elementor-shape-bottom:not([data-negative=true]) svg { z-index: -1; } .elementor-shape[data-negative=false].elementor-shape-bottom { transform: rotate(180deg); } .elementor-shape[data-negative=true].elementor-shape-top { transform: rotate(180deg); } .elementor-shape svg { display: block; width: calc(100% + 1.3px); position: relative; left: 50%; transform: translateX(-50%); } .elementor-shape .elementor-shape-fill { fill: #fff; transform-origin: center; transform: rotateY(0deg); } #wp-admin-bar-elementor_edit_page > .ab-item::before { content: "\e813"; font-family: eicons; top: 3px; font-size: 18px; } #wp-admin-bar-elementor_edit_page .ab-submenu .ab-item { display: flex; width: 200px; } #wp-admin-bar-elementor_edit_page .elementor-edit-link-title { white-space: nowrap; text-overflow: ellipsis; overflow: hidden; width: 100%; } #wp-admin-bar-elementor_edit_page .elementor-edit-link-type { background: #55595c; font-size: 11px; line-height: 9px; margin-top: 6px; padding: 4px 8px; border-radius: 3px; } #wp-admin-bar-elementor_inspector > .ab-item::before { content: "\f348"; top: 2px; } #wpadminbar * { font-style: normal; } .page-template-elementor_canvas.elementor-page:before { display: none; } .elementor-post__thumbnail__link { transition: none; } #left-area ul.elementor-icon-list-items, .elementor .elementor-element ul.elementor-icon-list-items, .elementor-edit-area .elementor-element ul.elementor-icon-list-items { padding: 0; } .e--ua-appleWebkit.rtl { --flex-right: flex-start; } .e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-right, .e--ua-appleWebkit .elementor-share-buttons--align-right { --justify-content: var(--flex-right, flex-end); } .e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-center, .e--ua-appleWebkit .elementor-share-buttons--align-center { --justify-content: center; } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-right .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-center .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-right .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-center .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-justify .elementor-grid { width: auto; display: flex; flex-wrap: wrap; justify-content: var(--justify-content, space-between); margin-left: calc(-0.5 * var(--grid-column-gap)); margin-right: calc(-0.5 * var(--grid-column-gap)); } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-right .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-center .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-right .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-center .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-justify .elementor-grid-item { margin-left: calc(0.5 * var(--grid-column-gap)); margin-right: calc(0.5 * var(--grid-column-gap)); } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-left .elementor-grid { display: inline-block; } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-left .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-left .elementor-grid-item { margin-left: 0; margin-right: 0; } @media (max-width: ELEMENTOR_SCREEN_TABLET_MAX) { .e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-tablet-right, .e--ua-appleWebkit .elementor-share-buttons-tablet--align-right { --justify-content: var(--flex-right, flex-end); } .e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-tablet-center, .e--ua-appleWebkit .elementor-share-buttons-tablet--align-center { --justify-content: center; } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-right .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-center .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-right .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-center .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-justify .elementor-grid { width: auto; display: flex; flex-wrap: wrap; justify-content: var(--justify-content, space-between); margin-left: calc(-0.5 * var(--grid-column-gap)); margin-right: calc(-0.5 * var(--grid-column-gap)); } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-right .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-center .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-right .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-center .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-justify .elementor-grid-item { margin-left: calc(0.5 * var(--grid-column-gap)); margin-right: calc(0.5 * var(--grid-column-gap)); } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-tablet--align-left .elementor-grid { display: inline-block; } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-left .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-tablet--align-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-tablet--align-left .elementor-grid-item { margin-left: 0; margin-right: 0; } } @media (max-width: ELEMENTOR_SCREEN_MOBILE_MAX) { .e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-mobile-right, .e--ua-appleWebkit .elementor-share-buttons-mobile--align-right { --justify-content: var(--flex-right, flex-end); } .e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-mobile-center, .e--ua-appleWebkit .elementor-share-buttons-mobile--align-center { --justify-content: center; } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-right .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-center .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-right .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-center .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-justify .elementor-grid { width: auto; display: flex; flex-wrap: wrap; justify-content: var(--justify-content, space-between); margin-left: calc(-0.5 * var(--grid-column-gap)); margin-right: calc(-0.5 * var(--grid-column-gap)); } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-right .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-center .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-right .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-center .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-justify .elementor-grid-item { margin-left: calc(0.5 * var(--grid-column-gap)); margin-right: calc(0.5 * var(--grid-column-gap)); } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-mobile--align-left .elementor-grid { display: inline-block; } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-left .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-mobile--align-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-mobile--align-left .elementor-grid-item { margin-left: 0; margin-right: 0; } } @media (max-width: ELEMENTOR_SCREEN_MOBILE_MAX) { .elementor .elementor-hidden-mobile { display: none; } .elementor .elementor-hidden-phone { display: none; } } @media (min-width: ELEMENTOR_SCREEN_MOBILE_EXTRA_MIN) and (max-width: ELEMENTOR_SCREEN_MOBILE_EXTRA_MAX) { .elementor .elementor-hidden-mobile_extra { display: none; } } @media (min-width: ELEMENTOR_SCREEN_TABLET_MIN) and (max-width: ELEMENTOR_SCREEN_TABLET_MAX) { .elementor .elementor-hidden-tablet { display: none; } } @media (min-width: ELEMENTOR_SCREEN_TABLET_EXTRA_MIN) and (max-width: ELEMENTOR_SCREEN_TABLET_EXTRA_MAX) { .elementor .elementor-hidden-tablet_extra { display: none; } } @media (min-width: ELEMENTOR_SCREEN_LAPTOP_MIN) and (max-width: ELEMENTOR_SCREEN_LAPTOP_MAX) { .elementor .elementor-hidden-laptop { display: none; } } @media (min-width: ELEMENTOR_SCREEN_DESKTOP_MIN) and (max-width: ELEMENTOR_SCREEN_DESKTOP_MAX) { .elementor .elementor-hidden-desktop { display: none; } } @media (min-width: ELEMENTOR_SCREEN_WIDESCREEN_MIN) { .elementor .elementor-hidden-widescreen { display: none; } } .elementor-widget-text-path { font-size: 20px; text-align: var(--alignment, right); } .elementor-widget-text-path svg { width: var(--width); max-width: 100%; height: auto; overflow: visible; word-spacing: var(--word-spacing); transform: rotate(var(--rotate, 0)) scaleX(var(--scale-x, 1)) scaleY(var(--scale-y, 1)); } .elementor-widget-text-path svg path { vector-effect: non-scaling-stroke; /* Prevent stroke size scaling when resizing the SVG. */ fill: var(--path-fill, transparent); stroke: var(--stroke-color, transparent); stroke-width: var(--stroke-width, 1px); transition: var(--stroke-transition) stroke, var(--stroke-transition) fill; } .elementor-widget-text-path svg:hover path { --path-fill: var( --path-fill-hover ); --stroke-color: var( --stroke-color-hover ); --stroke-width: var( --stroke-width-hover ); } .elementor-widget-text-path svg text { --fill: var( --text-color ); fill: var(--fill); direction: var(--direction, rtl); transition: var(--transition) stroke, var(--transition) stroke-width, var(--transition) fill; } .elementor-widget-text-path svg text:hover { --color: var( --text-color-hover, var( --text-color ) ); --fill: var( --color ); color: var(--color); } /*# sourceMappingURL=frontend-lite-rtl.css.map */assets/css/templates/frontend-legacy-rtl.css000064400000030714152377341010015236 0ustar00.elementor-bc-flex-widget .elementor-section-content-top > .elementor-container > .elementor-row > .elementor-column > .elementor-column-wrap { align-items: flex-start; } .elementor-bc-flex-widget .elementor-section-content-middle > .elementor-container > .elementor-row > .elementor-column > .elementor-column-wrap { align-items: center; } .elementor-bc-flex-widget .elementor-section-content-bottom > .elementor-container > .elementor-row > .elementor-column > .elementor-column-wrap { align-items: flex-end; } .elementor-column-gap-narrow > .elementor-row > .elementor-column > .elementor-element-populated > .elementor-widget-wrap { padding: 5px; } .elementor-column-gap-default > .elementor-row > .elementor-column > .elementor-element-populated > .elementor-widget-wrap { padding: 10px; } .elementor-column-gap-extended > .elementor-row > .elementor-column > .elementor-element-populated > .elementor-widget-wrap { padding: 15px; } .elementor-column-gap-wide > .elementor-row > .elementor-column > .elementor-element-populated > .elementor-widget-wrap { padding: 20px; } .elementor-column-gap-wider > .elementor-row > .elementor-column > .elementor-element-populated > .elementor-widget-wrap { padding: 30px; } @media (min-width: ELEMENTOR_SCREEN_WIDESCREEN_MIN) { .elementor-reverse-widescreen > .elementor-container > .elementor-row > :nth-child(1) { order: 10; } .elementor-reverse-widescreen > .elementor-container > .elementor-row > :nth-child(2) { order: 9; } .elementor-reverse-widescreen > .elementor-container > .elementor-row > :nth-child(3) { order: 8; } .elementor-reverse-widescreen > .elementor-container > .elementor-row > :nth-child(4) { order: 7; } .elementor-reverse-widescreen > .elementor-container > .elementor-row > :nth-child(5) { order: 6; } .elementor-reverse-widescreen > .elementor-container > .elementor-row > :nth-child(6) { order: 5; } .elementor-reverse-widescreen > .elementor-container > .elementor-row > :nth-child(7) { order: 4; } .elementor-reverse-widescreen > .elementor-container > .elementor-row > :nth-child(8) { order: 3; } .elementor-reverse-widescreen > .elementor-container > .elementor-row > :nth-child(9) { order: 2; } .elementor-reverse-widescreen > .elementor-container > .elementor-row > :nth-child(10) { order: 1; } } @media (min-width: ELEMENTOR_SCREEN_TABLET_NEXT) and (max-width: ELEMENTOR_SCREEN_LAPTOP_MAX) { .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(1) { order: 10; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(2) { order: 9; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(3) { order: 8; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(4) { order: 7; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(5) { order: 6; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(6) { order: 5; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(7) { order: 4; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(8) { order: 3; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(9) { order: 2; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(10) { order: 1; } } @media (min-width: ELEMENTOR_SCREEN_TABLET_EXTRA_NEXT) and (max-width: ELEMENTOR_SCREEN_LAPTOP_MAX) { .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(1) { order: 10; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(2) { order: 9; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(3) { order: 8; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(4) { order: 7; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(5) { order: 6; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(6) { order: 5; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(7) { order: 4; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(8) { order: 3; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(9) { order: 2; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(10) { order: 1; } } @media (min-width: ELEMENTOR_SCREEN_TABLET_NEXT) and (max-width: ELEMENTOR_SCREEN_TABLET_EXTRA_MAX) { .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(1) { order: initial; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(2) { order: initial; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(3) { order: initial; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(4) { order: initial; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(5) { order: initial; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(6) { order: initial; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(7) { order: initial; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(8) { order: initial; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(9) { order: initial; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(10) { order: initial; } .elementor-reverse-tablet_extra > .elementor-container > .elementor-row > :nth-child(1) { order: 10; } .elementor-reverse-tablet_extra > .elementor-container > .elementor-row > :nth-child(2) { order: 9; } .elementor-reverse-tablet_extra > .elementor-container > .elementor-row > :nth-child(3) { order: 8; } .elementor-reverse-tablet_extra > .elementor-container > .elementor-row > :nth-child(4) { order: 7; } .elementor-reverse-tablet_extra > .elementor-container > .elementor-row > :nth-child(5) { order: 6; } .elementor-reverse-tablet_extra > .elementor-container > .elementor-row > :nth-child(6) { order: 5; } .elementor-reverse-tablet_extra > .elementor-container > .elementor-row > :nth-child(7) { order: 4; } .elementor-reverse-tablet_extra > .elementor-container > .elementor-row > :nth-child(8) { order: 3; } .elementor-reverse-tablet_extra > .elementor-container > .elementor-row > :nth-child(9) { order: 2; } .elementor-reverse-tablet_extra > .elementor-container > .elementor-row > :nth-child(10) { order: 1; } } @media (min-width: ELEMENTOR_SCREEN_MOBILE_NEXT) and (max-width: ELEMENTOR_SCREEN_TABLET_MAX) { .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(1) { order: 10; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(2) { order: 9; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(3) { order: 8; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(4) { order: 7; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(5) { order: 6; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(6) { order: 5; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(7) { order: 4; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(8) { order: 3; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(9) { order: 2; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(10) { order: 1; } } @media (min-width: ELEMENTOR_SCREEN_MOBILE_EXTRA_NEXT) and (max-width: ELEMENTOR_SCREEN_TABLET_MAX) { .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(1) { order: 10; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(2) { order: 9; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(3) { order: 8; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(4) { order: 7; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(5) { order: 6; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(6) { order: 5; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(7) { order: 4; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(8) { order: 3; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(9) { order: 2; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(10) { order: 1; } } @media (min-width: ELEMENTOR_SCREEN_MOBILE_NEXT) and (max-width: ELEMENTOR_SCREEN_MOBILE_EXTRA_MAX) { .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(1) { order: initial; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(2) { order: initial; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(3) { order: initial; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(4) { order: initial; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(5) { order: initial; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(6) { order: initial; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(7) { order: initial; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(8) { order: initial; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(9) { order: initial; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(10) { order: initial; } .elementor-reverse-mobile_extra > .elementor-container > .elementor-row > :nth-child(1) { order: 10; } .elementor-reverse-mobile_extra > .elementor-container > .elementor-row > :nth-child(2) { order: 9; } .elementor-reverse-mobile_extra > .elementor-container > .elementor-row > :nth-child(3) { order: 8; } .elementor-reverse-mobile_extra > .elementor-container > .elementor-row > :nth-child(4) { order: 7; } .elementor-reverse-mobile_extra > .elementor-container > .elementor-row > :nth-child(5) { order: 6; } .elementor-reverse-mobile_extra > .elementor-container > .elementor-row > :nth-child(6) { order: 5; } .elementor-reverse-mobile_extra > .elementor-container > .elementor-row > :nth-child(7) { order: 4; } .elementor-reverse-mobile_extra > .elementor-container > .elementor-row > :nth-child(8) { order: 3; } .elementor-reverse-mobile_extra > .elementor-container > .elementor-row > :nth-child(9) { order: 2; } .elementor-reverse-mobile_extra > .elementor-container > .elementor-row > :nth-child(10) { order: 1; } } @media (max-width: ELEMENTOR_SCREEN_MOBILE_MAX) { .elementor-reverse-mobile > .elementor-container > .elementor-row > :nth-child(1) { order: 10; } .elementor-reverse-mobile > .elementor-container > .elementor-row > :nth-child(2) { order: 9; } .elementor-reverse-mobile > .elementor-container > .elementor-row > :nth-child(3) { order: 8; } .elementor-reverse-mobile > .elementor-container > .elementor-row > :nth-child(4) { order: 7; } .elementor-reverse-mobile > .elementor-container > .elementor-row > :nth-child(5) { order: 6; } .elementor-reverse-mobile > .elementor-container > .elementor-row > :nth-child(6) { order: 5; } .elementor-reverse-mobile > .elementor-container > .elementor-row > :nth-child(7) { order: 4; } .elementor-reverse-mobile > .elementor-container > .elementor-row > :nth-child(8) { order: 3; } .elementor-reverse-mobile > .elementor-container > .elementor-row > :nth-child(9) { order: 2; } .elementor-reverse-mobile > .elementor-container > .elementor-row > :nth-child(10) { order: 1; } .elementor-column { width: 100%; } } /*# sourceMappingURL=frontend-legacy-rtl.css.map */assets/css/templates/widget-icon-box.min.css000064400000031507152377341010015140 0ustar00.elementor-widget-icon-box .elementor-icon-box-wrapper{display:block;text-align:center}.elementor-widget-icon-box .elementor-icon-box-icon{margin-bottom:var(--icon-box-icon-margin,15px);margin-right:auto;margin-left:auto}@media (min-width:ELEMENTOR_SCREEN_MOBILE_NEXT){.elementor-widget-icon-box.elementor-vertical-align-top .elementor-icon-box-wrapper{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.elementor-widget-icon-box.elementor-vertical-align-middle .elementor-icon-box-wrapper{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-widget-icon-box.elementor-vertical-align-bottom .elementor-icon-box-wrapper{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}}.elementor-widget-icon-box.elementor-position-left .elementor-icon-box-wrapper,.elementor-widget-icon-box.elementor-position-right .elementor-icon-box-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-icon-box.elementor-position-left .elementor-icon-box-icon,.elementor-widget-icon-box.elementor-position-right .elementor-icon-box-icon{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.elementor-widget-icon-box.elementor-position-right .elementor-icon-box-wrapper{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-widget-icon-box.elementor-position-right .elementor-icon-box-icon{margin-left:var(--icon-box-icon-margin,15px);margin-right:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-position-left .elementor-icon-box-wrapper{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.elementor-widget-icon-box.elementor-position-left .elementor-icon-box-icon{margin-right:var(--icon-box-icon-margin,15px);margin-left:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-position-top .elementor-icon-box-wrapper{display:block;text-align:center;-webkit-box-orient:unset;-webkit-box-direction:unset;-ms-flex-direction:unset;flex-direction:unset}.elementor-widget-icon-box.elementor-position-top .elementor-icon-box-icon{margin-bottom:var(--icon-box-icon-margin,15px);margin-right:auto;margin-left:auto}@media (min-width:ELEMENTOR_SCREEN_WIDESCREEN_MIN){.elementor-widget-icon-box.elementor-widescreen-position-left .elementor-icon-box-wrapper,.elementor-widget-icon-box.elementor-widescreen-position-right .elementor-icon-box-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-icon-box.elementor-widescreen-position-left .elementor-icon-box-icon,.elementor-widget-icon-box.elementor-widescreen-position-right .elementor-icon-box-icon{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.elementor-widget-icon-box.elementor-widescreen-position-right .elementor-icon-box-wrapper{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-widget-icon-box.elementor-widescreen-position-right .elementor-icon-box-icon{margin-left:var(--icon-box-icon-margin,15px);margin-right:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-widescreen-position-left .elementor-icon-box-wrapper{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.elementor-widget-icon-box.elementor-widescreen-position-left .elementor-icon-box-icon{margin-right:var(--icon-box-icon-margin,15px);margin-left:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-widescreen-position-top .elementor-icon-box-wrapper{display:block;text-align:center;-webkit-box-orient:unset;-webkit-box-direction:unset;-ms-flex-direction:unset;flex-direction:unset}.elementor-widget-icon-box.elementor-widescreen-position-top .elementor-icon-box-icon{margin-bottom:var(--icon-box-icon-margin,15px);margin-right:auto;margin-left:auto}}@media (max-width:ELEMENTOR_SCREEN_LAPTOP_MAX){.elementor-widget-icon-box.elementor-laptop-position-left .elementor-icon-box-wrapper,.elementor-widget-icon-box.elementor-laptop-position-right .elementor-icon-box-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-icon-box.elementor-laptop-position-left .elementor-icon-box-icon,.elementor-widget-icon-box.elementor-laptop-position-right .elementor-icon-box-icon{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.elementor-widget-icon-box.elementor-laptop-position-right .elementor-icon-box-wrapper{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-widget-icon-box.elementor-laptop-position-right .elementor-icon-box-icon{margin-left:var(--icon-box-icon-margin,15px);margin-right:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-laptop-position-left .elementor-icon-box-wrapper{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.elementor-widget-icon-box.elementor-laptop-position-left .elementor-icon-box-icon{margin-right:var(--icon-box-icon-margin,15px);margin-left:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-laptop-position-top .elementor-icon-box-wrapper{display:block;text-align:center;-webkit-box-orient:unset;-webkit-box-direction:unset;-ms-flex-direction:unset;flex-direction:unset}.elementor-widget-icon-box.elementor-laptop-position-top .elementor-icon-box-icon{margin-bottom:var(--icon-box-icon-margin,15px);margin-right:auto;margin-left:auto}}@media (max-width:ELEMENTOR_SCREEN_TABLET_EXTRA_MAX){.elementor-widget-icon-box.elementor-tablet_extra-position-left .elementor-icon-box-wrapper,.elementor-widget-icon-box.elementor-tablet_extra-position-right .elementor-icon-box-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-icon-box.elementor-tablet_extra-position-left .elementor-icon-box-icon,.elementor-widget-icon-box.elementor-tablet_extra-position-right .elementor-icon-box-icon{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.elementor-widget-icon-box.elementor-tablet_extra-position-right .elementor-icon-box-wrapper{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-widget-icon-box.elementor-tablet_extra-position-right .elementor-icon-box-icon{margin-left:var(--icon-box-icon-margin,15px);margin-right:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-tablet_extra-position-left .elementor-icon-box-wrapper{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.elementor-widget-icon-box.elementor-tablet_extra-position-left .elementor-icon-box-icon{margin-right:var(--icon-box-icon-margin,15px);margin-left:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-tablet_extra-position-top .elementor-icon-box-wrapper{display:block;text-align:center;-webkit-box-orient:unset;-webkit-box-direction:unset;-ms-flex-direction:unset;flex-direction:unset}.elementor-widget-icon-box.elementor-tablet_extra-position-top .elementor-icon-box-icon{margin-bottom:var(--icon-box-icon-margin,15px);margin-right:auto;margin-left:auto}}@media (max-width:ELEMENTOR_SCREEN_TABLET_MAX){.elementor-widget-icon-box.elementor-tablet-position-left .elementor-icon-box-wrapper,.elementor-widget-icon-box.elementor-tablet-position-right .elementor-icon-box-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-icon-box.elementor-tablet-position-left .elementor-icon-box-icon,.elementor-widget-icon-box.elementor-tablet-position-right .elementor-icon-box-icon{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.elementor-widget-icon-box.elementor-tablet-position-right .elementor-icon-box-wrapper{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-widget-icon-box.elementor-tablet-position-right .elementor-icon-box-icon{margin-left:var(--icon-box-icon-margin,15px);margin-right:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-tablet-position-left .elementor-icon-box-wrapper{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.elementor-widget-icon-box.elementor-tablet-position-left .elementor-icon-box-icon{margin-right:var(--icon-box-icon-margin,15px);margin-left:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-tablet-position-top .elementor-icon-box-wrapper{display:block;text-align:center;-webkit-box-orient:unset;-webkit-box-direction:unset;-ms-flex-direction:unset;flex-direction:unset}.elementor-widget-icon-box.elementor-tablet-position-top .elementor-icon-box-icon{margin-bottom:var(--icon-box-icon-margin,15px);margin-right:auto;margin-left:auto}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_EXTRA_MAX){.elementor-widget-icon-box.elementor-mobile_extra-position-left .elementor-icon-box-wrapper,.elementor-widget-icon-box.elementor-mobile_extra-position-right .elementor-icon-box-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-icon-box.elementor-mobile_extra-position-left .elementor-icon-box-icon,.elementor-widget-icon-box.elementor-mobile_extra-position-right .elementor-icon-box-icon{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.elementor-widget-icon-box.elementor-mobile_extra-position-right .elementor-icon-box-wrapper{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-widget-icon-box.elementor-mobile_extra-position-right .elementor-icon-box-icon{margin-left:var(--icon-box-icon-margin,15px);margin-right:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-mobile_extra-position-left .elementor-icon-box-wrapper{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.elementor-widget-icon-box.elementor-mobile_extra-position-left .elementor-icon-box-icon{margin-right:var(--icon-box-icon-margin,15px);margin-left:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-mobile_extra-position-top .elementor-icon-box-wrapper{display:block;text-align:center;-webkit-box-orient:unset;-webkit-box-direction:unset;-ms-flex-direction:unset;flex-direction:unset}.elementor-widget-icon-box.elementor-mobile_extra-position-top .elementor-icon-box-icon{margin-bottom:var(--icon-box-icon-margin,15px);margin-right:auto;margin-left:auto}}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.elementor-widget-icon-box.elementor-mobile-position-left .elementor-icon-box-wrapper,.elementor-widget-icon-box.elementor-mobile-position-right .elementor-icon-box-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-icon-box.elementor-mobile-position-left .elementor-icon-box-icon,.elementor-widget-icon-box.elementor-mobile-position-right .elementor-icon-box-icon{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.elementor-widget-icon-box.elementor-mobile-position-right .elementor-icon-box-wrapper{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-widget-icon-box.elementor-mobile-position-right .elementor-icon-box-icon{margin-left:var(--icon-box-icon-margin,15px);margin-right:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-mobile-position-left .elementor-icon-box-wrapper{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.elementor-widget-icon-box.elementor-mobile-position-left .elementor-icon-box-icon{margin-right:var(--icon-box-icon-margin,15px);margin-left:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-mobile-position-top .elementor-icon-box-wrapper{display:block;text-align:center;-webkit-box-orient:unset;-webkit-box-direction:unset;-ms-flex-direction:unset;flex-direction:unset}.elementor-widget-icon-box.elementor-mobile-position-top .elementor-icon-box-icon{margin-bottom:var(--icon-box-icon-margin,15px);margin-right:auto;margin-left:auto}.elementor-widget-icon-box.elementor-position-left .elementor-icon-box-icon,.elementor-widget-icon-box.elementor-position-right .elementor-icon-box-icon{display:block;-webkit-box-flex:unset;-ms-flex:unset;flex:unset}}.elementor-widget-icon-box .elementor-icon-box-title a{color:inherit}.elementor-widget-icon-box .elementor-icon-box-content{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-widget-icon-box .elementor-icon-box-description{margin:0}assets/css/widget-text-editor.min.css000064400000001277152377341010013675 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ .elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:#818a91;color:#fff}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap{color:#818a91;border:3px solid;background-color:transparent}.elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap{margin-top:8px}.elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap-letter{width:1em;height:1em}.elementor-widget-text-editor .elementor-drop-cap{float:left;text-align:center;line-height:1;font-size:50px}.elementor-widget-text-editor .elementor-drop-cap-letter{display:inline-block}assets/css/widget-google_maps-rtl.min.css000064400000000243152377341010014510 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ .elementor-widget-google_maps .elementor-widget-container{overflow:hidden}.elementor-widget-google_maps iframe{height:300px}assets/css/editor-preview-legacy-rtl.css000064400000001225152377341010014361 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ .elementor-edit-area-active .elementor-top-section > .elementor-container > .elementor-row { min-height: 40px; } .elementor-edit-area-active .elementor-inner-section > .elementor-container > .elementor-row { min-height: 40px; } .elementor-edit-area-active .elementor-column-wrap.elementor-element-empty .elementor-widget-wrap { min-height: 30px; } @media (min-width: 768px) { .elementor-edit-area-active .elementor-column-wrap.elementor-element-empty .elementor-widget-wrap { margin: 10px; } } .elementor-edit-area-active .handle { display: none; } /*# sourceMappingURL=editor-preview-legacy-rtl.css.map */assets/css/widget-alert-rtl.min.css000064400000001725152377341010013331 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ .elementor-alert{padding:15px;border-left:5px solid transparent;position:relative;text-align:right}.elementor-alert .elementor-alert-title{display:block;font-weight:700}.elementor-alert .elementor-alert-description{font-size:13px}.elementor-alert button.elementor-alert-dismiss{position:absolute;left:10px;top:10px;padding:3px;font-size:20px;line-height:1;background:transparent;color:inherit;border:none;cursor:pointer}.elementor-alert.elementor-alert-info{color:#31708f;background-color:#d9edf7;border-color:#bcdff1}.elementor-alert.elementor-alert-success{color:#3c763d;background-color:#dff0d8;border-color:#cae6be}.elementor-alert.elementor-alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#f9f0c3}.elementor-alert.elementor-alert-danger{color:#a94442;background-color:#f2dede;border-color:#e8c4c4}@media (max-width:767px){.elementor-alert{padding:10px}.elementor-alert button.elementor-alert-dismiss{right:7px;top:7px}}assets/css/app-rtl.min.css000064400000266051152377341010011526 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ @import "//fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap";@import "//fonts.googleapis.com/css2?family=DM%20Sans&display=swap";@import "//fonts.googleapis.com/css2?family=Source%20Serif%20Pro&display=swap";.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media screen and (min-width:480px){.text-start-sm{text-align:start}}@media screen and (min-width:480px){.text-center-sm{text-align:center}}@media screen and (min-width:480px){.text-end-sm{text-align:end}}@media screen and (min-width:768px){.text-start-md{text-align:start}}@media screen and (min-width:768px){.text-center-md{text-align:center}}@media screen and (min-width:768px){.text-end-md{text-align:end}}@media screen and (min-width:1025px){.text-start-lg{text-align:start}}@media screen and (min-width:1025px){.text-center-lg{text-align:center}}@media screen and (min-width:1025px){.text-end-lg{text-align:end}}@media screen and (min-width:1440px){.text-start-xl{text-align:start}}@media screen and (min-width:1440px){.text-center-xl{text-align:center}}@media screen and (min-width:1440px){.text-end-xl{text-align:end}}@media screen and (min-width:1600px){.text-start-xxl{text-align:start}}@media screen and (min-width:1600px){.text-center-xxl{text-align:center}}@media screen and (min-width:1600px){.text-end-xxl{text-align:end}}@-webkit-keyframes eps-animation-pop{0%{-webkit-transform:scale(.75);transform:scale(.75);opacity:0}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes eps-animation-pop{0%{-webkit-transform:scale(.75);transform:scale(.75);opacity:0}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}.eps-button{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;--button-line-height:16px;--button-padding-y:0.5em;--button-padding-x:1.5em;--button-primary-background-color:#39b54a;--button-primary-hover-background-color:#33a242;--button-primary-active-background-color:#35a945;--button-primary-color:#fff;--button-secondary-background-color:#a4afb7;--button-secondary-hover-background-color:#96a2ac;--button-secondary-active-background-color:#9ba7b0;--button-secondary-color:#fff;--button-danger-background-color:#b01b1b;--button-danger-hover-background-color:#9a1818;--button-danger-active-background-color:#a31919;--button-danger-color:#fff;--button-cta-background-color:#93003f;--button-cta-hover-background-color:#7a0034;--button-cta-active-background-color:#840038;--button-cta-color:#fff;--button-link-background-color:#58d0f5;--button-link-hover-background-color:#40c9f4;--button-link-active-background-color:#4accf4;--button-link-color:#fff;--button-disabled-background-color:#c2cbd2;--button-disabled-hover-background-color:#b3bec7;--button-disabled-active-background-color:#b9c3cc;--button-disabled-color:#fff;color:var(--button-background-color,currentColor);font-size:var(--button-font-size,inherit);font-weight:500;line-height:var(--button-line-height);cursor:pointer}.eps-button:active{--button-background-color:var(--button-active-background-color,transparent)}.eps-button:hover{--button-background-color:var(--button-hover-background-color)}.eps-theme-dark .eps-button{--button-primary-background-color:#39b54a;--button-primary-color:#fff;--button-primary-hover-background-color:#33a242;--button-primary-active-background-color:#35a945;--button-secondary-background-color:#b4b5b7;--button-secondary-color:#fff;--button-secondary-hover-background-color:#a7a8ab;--button-secondary-active-background-color:#acadb0;--button-cta-background-color:#93003f;--button-cta-hover-background-color:#7a0034;--button-cta-active-background-color:#840038;--button-cta-color:#fff;--button-link-background-color:#58d0f5;--button-link-hover-background-color:#40c9f4;--button-link-active-background-color:#4accf4;--button-link-color:#fff;--button-disabled-background-color:#64666a;--button-disabled-hover-background-color:#58595d;--button-disabled-active-background-color:#5d5e62;--button-disabled-color:#fff}.eps-button--contained{padding:var(--button-padding-y) var(--button-padding-x);background-color:var(--button-background-color,transparent);border:1px solid var(--button-background-color)}.eps-button--contained,.eps-button--contained:hover{color:var(--button-color)}.eps-button--outlined{display:block;padding:var(--button-padding-y) var(--button-padding-x);border:1px solid var(--button-background-color)}.eps-button--contained,.eps-button--outlined{border-radius:.1875rem}.eps-button--underlined{text-decoration:underline}.eps-button--sm{--button-font-size:0.75rem;--button-line-height:14px}.eps-button--lg{--button-font-size:0.9375rem;--button-line-height:18px}.eps-button--primary{--button-color:var(--button-primary-color);--button-background-color:var(--button-primary-background-color);--button-hover-background-color:var(--button-primary-hover-background-color);--button-active-background-color:var(--button-primary-active-background-color)}.eps-button--secondary{--button-color:var(--button-secondary-color);--button-background-color:var(--button-secondary-background-color);--button-hover-background-color:var(--button-secondary-hover-background-color);--button-active-background-color:var(--button-secondary-active-background-color)}.eps-button--danger{--button-color:var(--button-danger-color);--button-background-color:var(--button-danger-background-color);--button-hover-background-color:var(--button-danger-hover-background-color);--button-active-background-color:var(--button-danger-active-background-color)}.eps-button--cta{--button-color:var(--button-cta-color);--button-background-color:var(--button-cta-background-color);--button-hover-background-color:var(--button-cta-hover-background-color);--button-active-background-color:var(--button-cta-active-background-color)}.eps-button--link{--button-color:var(--button-link-color);--button-background-color:var(--button-link-background-color);--button-hover-background-color:var(--button-link-hover-background-color);--button-active-background-color:var(--button-link-active-background-color)}.eps-button--disabled,.eps-button[disabled]{--button-color:var(--button-disabled-color);--button-background-color:var(--button-disabled-background-color);--button-hover-background-color:var(--button-disabled-hover-background-color);--button-active-background-color:var(--button-disabled-active-background-color);cursor:default}:root{--app-background-color:#f1f3f5;--app-box-shadow-color:rgba(var(--box-shadow-color,rgba(0,0,0,0.15)),0.2);--app-header-background-color:#fff;--app-header-color:#495157;--app-sidebar-background-color:hsla(0,0%,100%,0.5);--app-header-buttons-separator-color:#d5dadf;--app-header-buttons-color:#a4afb7;--app-lightbox-background-color:rgba(0,0,0,0.8)}.eps-theme-dark{--app-background-color:#34383c;--app-box-shadow-color:rgba(var(--box-shadow-color,rgba(0,0,0,0.15)),0.2);--app-header-background-color:#26292c;--app-header-color:#e0e1e3;--app-sidebar-background-color:#34383c;--app-header-buttons-separator-color:#64666a;--app-header-buttons-color:#b4b5b7;--app-lightbox-background-color:rgba(0,0,0,0.8)}:root{--text-muted:#d5dadf;--disabled:#c2cbd2;--danger:#b01b1b;--body-color:#6d7882;--hr-color:#d5dadf;--box-shadow-color:theme-colors(dark);--display-1-color:#495157;--display-2-color:#495157;--display-3-color:#6d7882;--display-4-color:#495157;--h1-color:#6d7882;--h2-color:#6d7882;--h3-color:#495157;--h4-color:#495157;--h5-color:#495157;--h6-color:#495157;--text-base-color:#495157;--text-xl-color:#495157;--text-lg-color:#495157;--text-sm-color:#495157;--text-xs-color:#495157;--text-xxs-color:#495157;--gray-800:#495157;--gray-700:#556068;--gray-600:#6d7882;--gray-500:#a4afb7;--gray-400:#c2cbd2;--gray-300:#d5dadf;--gray-200:#f1f3f5;--gray-100:#fcfcfc}.eps-theme-dark,:root{--light:#fff;--dark:#000;--info:#58d0f5;--cta:#93003f;--success:#39b54a;--warning:#fcb92c;--link-color:#58d0f5;--link-hover-color:#10bcf1}.eps-theme-dark{--text-muted:#7d7e82;--disabled:#64666a;--accent:#58d0f5;--danger:#f84343;--body-color:#e0e1e3;--body-bg:#fff;--hr-color:#4c4f56;--box-shadow-color:rgba(0,0,0,0.15);--display-1-color:#e0e1e3;--display-2-color:#e0e1e3;--display-3-color:#e0e1e3;--display-4-color:#e0e1e3;--h1-color:#e0e1e3;--h2-color:#e0e1e3;--h3-color:#e0e1e3;--h4-color:#e0e1e3;--h5-color:#e0e1e3;--h6-color:#e0e1e3;--text-base-color:#b4b5b7;--text-xl-color:#b4b5b7;--text-lg-color:#b4b5b7;--text-sm-color:#b4b5b7;--text-xs-color:#b4b5b7;--text-xxs-color:#b4b5b7;--gray-800:#26292c;--gray-700:#34383c;--gray-600:#404349;--gray-500:#4c4f56;--gray-400:#64666a;--gray-300:#7d7e82;--gray-200:#b4b5b7;--gray-100:#e0e1e3}*,:after,:before{-webkit-box-sizing:border-box;box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:Roboto,Arial,Helvetica,Verdana,sans-serif;font-size:.875rem;font-weight:400;line-height:1.5;color:var(--body-color);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--body-bg)}::-moz-selection{background-color:rgba(147,0,63,.5)}::selection{background-color:rgba(147,0,63,.5)}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}h1,h2,h3,h4,h5,h6{font-size:100%;margin:0;padding:0;line-height:inherit;font-weight:400}p{margin-top:0}b,strong{font-weight:700}small{font-size:80%}a{--eps-link-color:$eps-link-color;color:var(--eps-link-color);background-color:transparent}a,a:active,a:focus,a:hover{text-decoration:none}a:focus,a:hover{--eps-link-color:$eps-link-hover-color}a:not([href]),a:not([href]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:monospace;font-size:1em}figure{margin:0}img{border-style:none}img,svg{vertical-align:middle}svg{overflow:hidden}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}textarea{overflow:auto;resize:vertical}[hidden]{display:none!important}hr{border:0;border-bottom:1px solid var(--hr-color)}.eps-display-1{color:var(--display-1-color)}.eps-display-1,.eps-display-2{font-size:1.85rem;margin-top:.5rem;margin-bottom:.5rem}.eps-display-2{color:var(--display-2-color)}.eps-display-3{font-size:1.85rem;color:var(--display-3-color);margin-top:0;margin-bottom:1.25rem}.eps-display-4{font-size:1.85rem;color:var(--display-4-color);margin-top:.5rem;margin-bottom:.5rem}.eps-h1,h1{font-size:1.625rem;line-height:1;color:var(--h1-color);margin-bottom:1.25rem;font-weight:500}.eps-h2,h2{font-size:1.25rem;color:var(--h2-color);margin-bottom:1.25rem}.eps-h2,.eps-h3,h2,h3{line-height:1.2;margin-top:0;font-weight:500}.eps-h3,h3{font-size:1rem;color:var(--h3-color);margin-bottom:.5rem}.eps-h4,h4{font-size:.9375rem;color:var(--h4-color)}.eps-h4,.eps-h5,h4,h5{margin-top:0;margin-bottom:.5rem}.eps-h5,h5{font-size:.875rem;color:var(--h5-color)}.eps-h6,h6{font-size:.875rem;color:var(--h-6-color);margin-top:0;margin-bottom:.5rem;font-weight:700}.eps-text-xxs{line-height:1.2;color:var(--text-xxs-color)}.eps-text-xs,.eps-text-xxs{font-size:.75rem;font-weight:400}.eps-text-xs{line-height:1.5;color:var(--text-xs-color)}.eps-text{font-size:.875rem;color:var(--text-base-color)}.eps-text,.eps-text-sm{line-height:1.5;font-weight:400}.eps-text-sm{font-size:.8125rem;color:var(--text-sm-color)}.eps-text-lg{font-size:.9375rem;color:var(--text-lg-color)}.eps-text-lg,.eps-text-xl{line-height:1.5;font-weight:400}.eps-text-xl{font-size:1rem;color:var(--text-xl-color)}.video-wrapper{position:relative;padding-bottom:56.25%;height:0}.video-wrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%}.eps-separator{margin-bottom:2.75rem}.eps-theme-dark{--e-app-back-button-color:#b4b5b7}.back-button,.e-app-back-button{--button-background-color:var(--e-app-back-button-color,#a4afb7);margin-bottom:1.5rem}.back-button .eps-icon,.e-app-back-button .eps-icon{-webkit-margin-end:.3125rem;margin-inline-end:.3125rem}.eps-theme-dark{--input-border-color:--hr-color}.eps-input{border:1px solid var(--hr-color);border-radius:.1875rem;background:transparent;color:inherit;height:1.875rem;padding:0 .3125rem}.eps-input--block{width:100%}.eps-app{height:100vh;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;color:var(--body-color);background-color:var(--app-background-color);position:absolute;border-radius:0;-webkit-box-shadow:2px 8px 23px 3px var(--color-box-shadow-color);box-shadow:2px 8px 23px 3px var(--color-box-shadow-color);overflow:hidden;font-family:Roboto,Arial,Helvetica,Verdana,sans-serif;max-width:100%}.eps-app,.eps-app__lightbox{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%}.eps-app__lightbox{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;position:fixed;height:100%;background-color:var(--app-lightbox-background-color);z-index:1040;bottom:0;left:0}.eps-app__header{-ms-flex-negative:0;flex-shrink:0;font-size:.9375rem;color:var(--app-header-color);background-color:var(--app-header-background-color);-webkit-box-shadow:0 4px 10px var(--color-box-shadow-color);box-shadow:0 4px 10px var(--color-box-shadow-color);position:relative;z-index:3;height:3.125rem;padding:0 1rem}.eps-app__header-buttons{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;font-size:1.125rem}.eps-app__header-btn{--button-background-color:var(--app-header-buttons-color);-webkit-padding-start:1rem;padding-inline-start:1rem;font-size:1.125rem;line-height:1.25rem}.eps-app__header-btn:first-child{-webkit-border-start:1px solid var(--app-header-buttons-separator-color);border-inline-start:1px solid var(--app-header-buttons-separator-color)}.eps-app__header-btn:not(:first-child){-webkit-padding-end:1rem;padding-inline-end:1rem}.eps-app__logo-title-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.eps-app__logo{display:block;width:1.75rem;height:1.75rem;line-height:1.75rem;text-align:center;font-size:calc(.4 * 1.75rem);border-radius:50%;color:#fff;background-color:#93003f}.eps-app__logo:not(:last-child){-webkit-margin-end:.625rem;margin-inline-end:.625rem}.eps-app__title{font-size:.9375rem;font-weight:700;text-transform:uppercase;margin-bottom:0}.eps-app__main{display:-webkit-box;display:-ms-flexbox;display:flex;overflow:hidden;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.eps-app__sidebar{background-color:var(--app-sidebar-background-color);padding-top:1.25rem;width:30%;max-width:17.1875rem;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;overflow-y:auto;-webkit-box-shadow:2px 8px 23px 3px var(--color-box-shadow-color);box-shadow:2px 8px 23px 3px var(--color-box-shadow-color);z-index:4}.eps-app__content{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;position:relative;padding:2.75rem;height:100%;overflow-y:auto}.e-app-upload-file__input{display:none}.e-app-drop-zone{--e-app-drop-zone-icon-color:#c2cbd2;--e-app-drop-zone-text-color:#a4afb7;--e-app-drop-zone-secondary-text-color:#6d7882}.e-app-drop-zone__icon{margin-bottom:2.75rem;color:var(--e-app-drop-zone-icon-color);font-size:60px}.e-app-drop-zone__text{color:var(--e-app-drop-zone-text-color)}.e-app-drop-zone__secondary-text{color:var(--e-app-drop-zone-secondary-text-color)}.eps-theme-dark .e-app-drop-zone{--e-app-drop-zone-icon-color:#c2cbd2;--e-app-drop-zone-text-color:#b4b5b7;--e-app-drop-zone-secondary-text-color:#e0e1e3}:root{--info-toggle-color:#d5dadf;--info-toggle-hover-color:#a4afb7}.eps-theme-dark{--placeholder-filter:invert(0.8) sepia(1) saturate(0.2) hue-rotate(180deg) contrast(1.25) brightness(1.2);--info-toggle-color:#64666a;--info-toggle-hover-color:#b4b5b7}.e-site-part .eps-card__image{-webkit-filter:var(--placeholder-filter,none);filter:var(--placeholder-filter,none)}.e-site-part__info-toggle{color:var(--info-toggle-color)}.e-site-part__info-toggle:hover{--info-toggle-color:var(--info-toggle-hover-color)}.e-site-editor__header{margin-bottom:2.75rem;border-bottom:1px solid var(--hr-color)}:root{--e-elementor-loader-container-background-color:#f1f3f5;--e-elementor-loader-background-color:hsla(0,0%,100%,0.9)}.eps-theme-dark{--e-elementor-loader-container-background-color:#34383c;--e-elementor-loader-background-color:#4c4f56}.elementor-loading{background-color:var(--e-elementor-loader-container-background-color);height:100vh}.elementor-loader-wrapper{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:300px;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-loader{border-radius:50%;padding:40px;height:150px;width:150px;background-color:var(--e-elementor-loader-background-color);-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-box-shadow:2px 2px 20px 4px rgba(0,0,0,.02);box-shadow:2px 2px 20px 4px rgba(0,0,0,.02)}.elementor-loader-boxes{height:100%;width:100%;position:relative}.elementor-loader-box{position:absolute;background-color:#d5dadf;-webkit-animation:load 1.8s linear infinite;animation:load 1.8s linear infinite}.elementor-loader-box:first-of-type{width:20%;height:100%;left:0;top:0}.elementor-loader-box:not(:first-of-type){right:0;height:20%;width:60%}.elementor-loader-box:nth-of-type(2){top:0;-webkit-animation-delay:-.45s;animation-delay:-.45s}.elementor-loader-box:nth-of-type(3){top:40%;-webkit-animation-delay:-.9s;animation-delay:-.9s}.elementor-loader-box:nth-of-type(4){bottom:0;-webkit-animation-delay:-1.35s;animation-delay:-1.35s}.elementor-loading-title{color:#a4afb7;text-align:center;text-transform:uppercase;margin-top:30px;letter-spacing:7px;text-indent:7px;font-size:10px;width:100%}@-webkit-keyframes load{0%{opacity:.3}50%{opacity:1}to{opacity:.3}}@keyframes load{0%{opacity:.3}50%{opacity:1}to{opacity:.3}}.eps-menu__title{margin-top:2.75rem;margin-bottom:1rem}.e-app-import{--e-app-import-back-to-library-color:#a4afb7;padding-bottom:1.25rem}.e-app-import__drop-zone{margin-top:1.25rem}.e-app-import__back-to-library{color:var(--e-app-import-back-to-library-color);margin-bottom:1.5rem}.e-app-import__back-to-library>i{-webkit-margin-end:.5rem;margin-inline-end:.5rem}.eps-theme-dark .e-app-import{--e-app-import-back-to-library-color:#b4b5b7}.e-site-editor__promotion-overlay__link{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;height:100%;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-decoration:none}.e-site-editor__promotion-overlay__icon{font-size:1.25rem;color:#fff;margin-bottom:1rem}.e-app-import-export-wizard-step{--e-app-import-export-wizard-step-icon-color:#c2cbd2;--e-app-import-export-wizard-step-text-color:#a4afb7;--e-app-import-export-wizard-step-bottom-text-color:#a4afb7;height:100%;position:relative;text-align:center}.e-app-import-export-wizard-step__media-container{height:140px;margin:5.5rem 0 2.75rem}.e-app-import-export-wizard-step__icon{color:var(--e-app-import-export-wizard-step-icon-color);font-size:50px}.e-app-import-export-wizard-step__icon.eicon-loading{font-size:1.85rem}.e-app-import-export-wizard-step__heading{margin-bottom:1.5rem}.e-app-import-export-wizard-step__description,.e-app-import-export-wizard-step__info{color:var(--e-app-import-export-wizard-step-text-color)}.e-app-import-export-wizard-step__info{margin-top:1.5rem}.e-app-import-export-wizard-step__content{text-align:initial;margin-bottom:1.25rem}.e-app-import-export-wizard-step__notice{display:block;position:sticky;top:100%;color:var(--e-app-import-export-wizard-step-bottom-text-color);font-style:italic;margin-bottom:0}.eps-theme-dark .e-app-import-export-wizard-step{--e-app-import-export-wizard-step-icon-color:#64666a;--e-app-import-export-wizard-step-text-color:#b4b5b7;--e-app-import-export-wizard-step-bottom-text-color:#b4b5b7}.e-app-import-export-page-header{--e-app-import-export-page-header-border-bottom-color:#d5dadf;--e-app-import-export-page-header-heading-color:#6d7882;--e-app-import-export-page-header-description-color:#a4afb7;border-bottom:1px solid var(--e-app-import-export-page-header-border-bottom-color);margin-bottom:2.75rem}.e-app-import-export-page-header__content-wrapper{max-width:645px}.e-app-import-export-page-header__heading{color:var(--e-app-import-export-page-header-heading-color)}.e-app-import-export-page-header__description{color:var(--e-app-import-export-page-header-description-color);margin-top:1.25rem}.eps-theme-dark .e-app-import-export-page-header{--e-app-import-export-page-header-border-bottom-color:#4c4f56;--e-app-import-export-page-header-heading-color:#e0e1e3;--e-app-import-export-page-header-description-color:#e0e1e3}.e-app-wizard-footer{--e-app-wizard-footer-border-color:#d5dadf;padding:.5rem}.e-app-wizard-footer__separator{border-top:1px solid var(--e-app-wizard-footer-border-color)}.eps-theme-dark .e-app-wizard-footer{--e-app-wizard-footer-border-color:#4c4f56}.e-app-export-templates-features__locked{--e-app-export-templates-features-locked-color:#a4afb7;color:var(--e-app-export-templates-features-locked-color)}.eps-theme-dark .e-app-export-templates-features__locked{--e-app-export-templates-features-locked-color:#7d7e82}:root{--color-box-shadow-color:rgba(0,0,0,0.05)}.eps-theme-dark{--color-box-shadow-color:rgba(0,0,0,0.1)}:root{--card-background-color:hsla(0,0%,100%,0.5);--card-background-color-hover:#fff;--card-box-shadow:0 4px 10px var(--color-box-shadow-color);--card-header-footer-border:1px solid #f1f3f5;--card-header-footer-active-border:2px solid #e2e6ea;--card-headline-color:#6d7882;--card-figure-background-color:#f1f3f5;--card-image-overlay-background-color:rgba(0,0,0,0.2)}.eps-theme-dark{--card-background-color:#404349;--card-background-color-hover:rgba(76,79,86,0.8);--card-box-shadow:0 3px 6px var(--color-box-shadow-color);--card-header-footer-border:1px solid #34383c;--card-header-footer-active-border:1px solid #26292c;--card-headline-color:#e0e1e3;--card-figure-background-color:#34383c;--card-image-overlay-background-color:rgba(52,56,60,0.5)}.eps-card{background-color:var(--card-background-color);-webkit-box-shadow:0 4px 10px var(--color-box-shadow-color);box-shadow:0 4px 10px var(--color-box-shadow-color);border-radius:.1875rem;-webkit-transition:.3s;-o-transition:.3s;transition:.3s;font-size:.75rem}.eps-card__header{padding:.625rem;border-bottom:var(--card-header-footer-border);min-height:2.5rem;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.eps-card__header--padding{padding:var(--eps-card-header-padding)}.eps-card__headline{color:var(--card-headline-color);margin-bottom:0;font-weight:500;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap}.eps-card__body{padding:.625rem}.eps-card__body--padding{padding:var(--eps-card-body-padding)}.eps-card__figure{background-color:var(--card-figure-background-color);position:relative;padding-bottom:var(--card-image-aspect-ratio,95.6%);overflow:hidden;height:0}.eps-card__image{width:100%;-o-object-fit:contain;object-fit:contain;-o-object-position:top;object-position:top;position:absolute;top:0;left:0}.eps-card__image-overlay{position:absolute;top:0;background-color:var(--card-image-overlay-background-color);z-index:1;width:100%;height:100%;opacity:0;-webkit-transition:.3s;-o-transition:.3s;transition:.3s}.eps-card__image-overlay:hover{opacity:1}.eps-card__footer{padding:.625rem;border-top:var(--card-header-footer-border);font-size:.6875rem}.eps-card__footer--padding{padding:var(--eps-card-footer-padding)}.eps-card:hover{background-color:var(--card-background-color-hover)}:root{--menu-item-color:#6d7882;--menu-item-color-hover:#556068;--menu-item-background-color-active:#fff;--menu-item-icon-color:#a4afb7;--menu-item-action-button-color:#d5dadf}.eps-theme-dark{--menu-item-color:#e0e1e3;--menu-item-color-hover:#e0e1e3;--menu-item-background-color-active:#404349;--menu-item-icon-color:#b4b5b7;--menu-item-action-button-color:#64666a}.eps-menu-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative;-webkit-transition:.3s;-o-transition:.3s;transition:.3s;--action-button-opacity:0}.eps-menu-item:before{content:"";display:block;position:absolute;top:0;inset-inline-start:0;height:100%;width:var(--menu-item-pointer-width);background-color:#58d0f5}.eps-menu-item:hover{--action-button-opacity:1}.eps-menu-item--active,.eps-menu-item:hover{--menu-item-color:var(--menu-item-color-hover);--eps-link-color:var(--menu-item-color-hover);--menu-item-icon-color:#58d0f5}.eps-menu-item--active{background-color:var(--menu-item-background-color-active)}.eps-menu-item__link{padding:.5rem 1.875rem;min-height:2.75rem;font-size:.75rem;line-height:1.2;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:var(--menu-item-color);--eps-link-color:var(--menu-item-color)}.eps-menu-item__link:not(:last-child){-webkit-padding-end:0;padding-inline-end:0}.eps-menu-item__link .eps-icon{font-size:1.125rem;color:var(--menu-item-icon-color);-webkit-margin-end:.75rem;margin-inline-end:.75rem}.eps-menu-item__action-button{color:var(--menu-item-action-button-color);opacity:var(--action-button-opacity);padding:.625rem;-webkit-transition:.3s;-o-transition:.3s;transition:.3s;-webkit-margin-end:1.25rem;margin-inline-end:1.25rem}.eps-menu-item--active{--menu-item-pointer-width:0.3125rem;-webkit-box-shadow:0 3px 6px var(--color-box-shadow-color);box-shadow:0 3px 6px var(--color-box-shadow-color)}.eps-menu-item--active .eps-menu-item__link .eps-icon{color:#58d0f5}.eps-grid-container{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;width:100%}.eps-grid-container--no-wrap{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.eps-grid-container--wrap-reverse{-ms-flex-wrap:wrap-reverse;flex-wrap:wrap-reverse}.eps-grid-container--spacing{--grid-row-gutter:calc(-1 * calc(var(--grid-spacing-gutter) * 0.0625rem));width:var(--grid-spacing-width);margin:var(--grid-row-gutter)}.eps-grid-container--spacing>.eps-grid-item{padding:var(--grid-spacing-gutter)}.eps-grid--direction-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.eps-grid--direction-row-reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.eps-grid--direction-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.eps-grid--direction-column-reverse{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}.eps-grid--justify-stretch{-webkit-box-pack:stretch;-ms-flex-pack:stretch;justify-content:stretch}.eps-grid--justify-start{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.eps-grid--justify-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.eps-grid--justify-end{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.eps-grid--justify-space-between{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.eps-grid--justify-space-around{-ms-flex-pack:distribute;justify-content:space-around}.eps-grid--justify-space-evenly{-webkit-box-pack:space-evenly;-ms-flex-pack:space-evenly;justify-content:space-evenly}.eps-grid--align-content-stretch{-ms-flex-line-pack:stretch;align-content:stretch}.eps-grid--align-content-start{-ms-flex-line-pack:start;align-content:flex-start}.eps-grid--align-content-center{-ms-flex-line-pack:center;align-content:center}.eps-grid--align-content-end{-ms-flex-line-pack:end;align-content:flex-end}.eps-grid--align-content-space-between{-ms-flex-line-pack:justify;align-content:space-between}.eps-grid--align-items-start{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.eps-grid--align-items-center{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.eps-grid--align-items-end{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.eps-grid--align-items-baseline{-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline}.eps-grid--align-items-stretch{-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.eps-grid-item--zero-min-width{min-width:0}@media screen and (min-width:480px){.eps-grid-item-sm{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%;-ms-flex-preferred-size:0;flex-basis:0}}@media screen and (min-width:768px){.eps-grid-item-md{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%;-ms-flex-preferred-size:0;flex-basis:0}}@media screen and (min-width:1025px){.eps-grid-item-lg{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%;-ms-flex-preferred-size:0;flex-basis:0}}@media screen and (min-width:1440px){.eps-grid-item-xl{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%;-ms-flex-preferred-size:0;flex-basis:0}}@media screen and (min-width:1600px){.eps-grid-item-xxl{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%;-ms-flex-preferred-size:0;flex-basis:0}}.eps-grid-item-xs-1{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:8.3333333333%;-ms-flex-preferred-size:8.3333333333%;flex-basis:8.3333333333%}.eps-grid-item-xs-2{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:16.6666666667%;-ms-flex-preferred-size:16.6666666667%;flex-basis:16.6666666667%}.eps-grid-item-xs-3{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:25%;-ms-flex-preferred-size:25%;flex-basis:25%}.eps-grid-item-xs-4{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:33.3333333333%;-ms-flex-preferred-size:33.3333333333%;flex-basis:33.3333333333%}.eps-grid-item-xs-5{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:41.6666666667%;-ms-flex-preferred-size:41.6666666667%;flex-basis:41.6666666667%}.eps-grid-item-xs-6{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:50%;-ms-flex-preferred-size:50%;flex-basis:50%}.eps-grid-item-xs-7{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:58.3333333333%;-ms-flex-preferred-size:58.3333333333%;flex-basis:58.3333333333%}.eps-grid-item-xs-8{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:66.6666666667%;-ms-flex-preferred-size:66.6666666667%;flex-basis:66.6666666667%}.eps-grid-item-xs-9{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:75%;-ms-flex-preferred-size:75%;flex-basis:75%}.eps-grid-item-xs-10{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:83.3333333333%;-ms-flex-preferred-size:83.3333333333%;flex-basis:83.3333333333%}.eps-grid-item-xs-11{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:91.6666666667%;-ms-flex-preferred-size:91.6666666667%;flex-basis:91.6666666667%}.eps-grid-item-xs-12{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:100%;-ms-flex-preferred-size:100%;flex-basis:100%}@media screen and (min-width:480px){.eps-grid-item-sm-1{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:8.3333333333%;-ms-flex-preferred-size:8.3333333333%;flex-basis:8.3333333333%}.eps-grid-item-sm-2{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:16.6666666667%;-ms-flex-preferred-size:16.6666666667%;flex-basis:16.6666666667%}.eps-grid-item-sm-3{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:25%;-ms-flex-preferred-size:25%;flex-basis:25%}.eps-grid-item-sm-4{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:33.3333333333%;-ms-flex-preferred-size:33.3333333333%;flex-basis:33.3333333333%}.eps-grid-item-sm-5{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:41.6666666667%;-ms-flex-preferred-size:41.6666666667%;flex-basis:41.6666666667%}.eps-grid-item-sm-6{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:50%;-ms-flex-preferred-size:50%;flex-basis:50%}.eps-grid-item-sm-7{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:58.3333333333%;-ms-flex-preferred-size:58.3333333333%;flex-basis:58.3333333333%}.eps-grid-item-sm-8{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:66.6666666667%;-ms-flex-preferred-size:66.6666666667%;flex-basis:66.6666666667%}.eps-grid-item-sm-9{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:75%;-ms-flex-preferred-size:75%;flex-basis:75%}.eps-grid-item-sm-10{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:83.3333333333%;-ms-flex-preferred-size:83.3333333333%;flex-basis:83.3333333333%}.eps-grid-item-sm-11{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:91.6666666667%;-ms-flex-preferred-size:91.6666666667%;flex-basis:91.6666666667%}.eps-grid-item-sm-12{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:100%;-ms-flex-preferred-size:100%;flex-basis:100%}}@media screen and (min-width:768px){.eps-grid-item-md-1{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:8.3333333333%;-ms-flex-preferred-size:8.3333333333%;flex-basis:8.3333333333%}.eps-grid-item-md-2{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:16.6666666667%;-ms-flex-preferred-size:16.6666666667%;flex-basis:16.6666666667%}.eps-grid-item-md-3{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:25%;-ms-flex-preferred-size:25%;flex-basis:25%}.eps-grid-item-md-4{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:33.3333333333%;-ms-flex-preferred-size:33.3333333333%;flex-basis:33.3333333333%}.eps-grid-item-md-5{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:41.6666666667%;-ms-flex-preferred-size:41.6666666667%;flex-basis:41.6666666667%}.eps-grid-item-md-6{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:50%;-ms-flex-preferred-size:50%;flex-basis:50%}.eps-grid-item-md-7{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:58.3333333333%;-ms-flex-preferred-size:58.3333333333%;flex-basis:58.3333333333%}.eps-grid-item-md-8{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:66.6666666667%;-ms-flex-preferred-size:66.6666666667%;flex-basis:66.6666666667%}.eps-grid-item-md-9{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:75%;-ms-flex-preferred-size:75%;flex-basis:75%}.eps-grid-item-md-10{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:83.3333333333%;-ms-flex-preferred-size:83.3333333333%;flex-basis:83.3333333333%}.eps-grid-item-md-11{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:91.6666666667%;-ms-flex-preferred-size:91.6666666667%;flex-basis:91.6666666667%}.eps-grid-item-md-12{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:100%;-ms-flex-preferred-size:100%;flex-basis:100%}}@media screen and (min-width:1025px){.eps-grid-item-lg-1{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:8.3333333333%;-ms-flex-preferred-size:8.3333333333%;flex-basis:8.3333333333%}.eps-grid-item-lg-2{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:16.6666666667%;-ms-flex-preferred-size:16.6666666667%;flex-basis:16.6666666667%}.eps-grid-item-lg-3{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:25%;-ms-flex-preferred-size:25%;flex-basis:25%}.eps-grid-item-lg-4{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:33.3333333333%;-ms-flex-preferred-size:33.3333333333%;flex-basis:33.3333333333%}.eps-grid-item-lg-5{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:41.6666666667%;-ms-flex-preferred-size:41.6666666667%;flex-basis:41.6666666667%}.eps-grid-item-lg-6{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:50%;-ms-flex-preferred-size:50%;flex-basis:50%}.eps-grid-item-lg-7{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:58.3333333333%;-ms-flex-preferred-size:58.3333333333%;flex-basis:58.3333333333%}.eps-grid-item-lg-8{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:66.6666666667%;-ms-flex-preferred-size:66.6666666667%;flex-basis:66.6666666667%}.eps-grid-item-lg-9{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:75%;-ms-flex-preferred-size:75%;flex-basis:75%}.eps-grid-item-lg-10{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:83.3333333333%;-ms-flex-preferred-size:83.3333333333%;flex-basis:83.3333333333%}.eps-grid-item-lg-11{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:91.6666666667%;-ms-flex-preferred-size:91.6666666667%;flex-basis:91.6666666667%}.eps-grid-item-lg-12{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:100%;-ms-flex-preferred-size:100%;flex-basis:100%}}@media screen and (min-width:1440px){.eps-grid-item-xl-1{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:8.3333333333%;-ms-flex-preferred-size:8.3333333333%;flex-basis:8.3333333333%}.eps-grid-item-xl-2{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:16.6666666667%;-ms-flex-preferred-size:16.6666666667%;flex-basis:16.6666666667%}.eps-grid-item-xl-3{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:25%;-ms-flex-preferred-size:25%;flex-basis:25%}.eps-grid-item-xl-4{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:33.3333333333%;-ms-flex-preferred-size:33.3333333333%;flex-basis:33.3333333333%}.eps-grid-item-xl-5{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:41.6666666667%;-ms-flex-preferred-size:41.6666666667%;flex-basis:41.6666666667%}.eps-grid-item-xl-6{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:50%;-ms-flex-preferred-size:50%;flex-basis:50%}.eps-grid-item-xl-7{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:58.3333333333%;-ms-flex-preferred-size:58.3333333333%;flex-basis:58.3333333333%}.eps-grid-item-xl-8{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:66.6666666667%;-ms-flex-preferred-size:66.6666666667%;flex-basis:66.6666666667%}.eps-grid-item-xl-9{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:75%;-ms-flex-preferred-size:75%;flex-basis:75%}.eps-grid-item-xl-10{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:83.3333333333%;-ms-flex-preferred-size:83.3333333333%;flex-basis:83.3333333333%}.eps-grid-item-xl-11{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:91.6666666667%;-ms-flex-preferred-size:91.6666666667%;flex-basis:91.6666666667%}.eps-grid-item-xl-12{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:100%;-ms-flex-preferred-size:100%;flex-basis:100%}}@media screen and (min-width:1600px){.eps-grid-item-xxl-1{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:8.3333333333%;-ms-flex-preferred-size:8.3333333333%;flex-basis:8.3333333333%}.eps-grid-item-xxl-2{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:16.6666666667%;-ms-flex-preferred-size:16.6666666667%;flex-basis:16.6666666667%}.eps-grid-item-xxl-3{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:25%;-ms-flex-preferred-size:25%;flex-basis:25%}.eps-grid-item-xxl-4{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:33.3333333333%;-ms-flex-preferred-size:33.3333333333%;flex-basis:33.3333333333%}.eps-grid-item-xxl-5{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:41.6666666667%;-ms-flex-preferred-size:41.6666666667%;flex-basis:41.6666666667%}.eps-grid-item-xxl-6{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:50%;-ms-flex-preferred-size:50%;flex-basis:50%}.eps-grid-item-xxl-7{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:58.3333333333%;-ms-flex-preferred-size:58.3333333333%;flex-basis:58.3333333333%}.eps-grid-item-xxl-8{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:66.6666666667%;-ms-flex-preferred-size:66.6666666667%;flex-basis:66.6666666667%}.eps-grid-item-xxl-9{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:75%;-ms-flex-preferred-size:75%;flex-basis:75%}.eps-grid-item-xxl-10{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:83.3333333333%;-ms-flex-preferred-size:83.3333333333%;flex-basis:83.3333333333%}.eps-grid-item-xxl-11{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:91.6666666667%;-ms-flex-preferred-size:91.6666666667%;flex-basis:91.6666666667%}.eps-grid-item-xxl-12{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:100%;-ms-flex-preferred-size:100%;flex-basis:100%}}.eps-theme-dark,:root{--menu-title-color:#6d7882}.eps-menu ul{list-style:none;padding:0;margin:0}.eps-menu ul li{display:-webkit-box;display:-ms-flexbox;display:flex}.eps-menu__title{padding:.5rem 1.875rem;font-size:.6875rem;line-height:1.2;text-transform:uppercase;font-weight:400;color:var(--menu-title-color)}:root{--eps-modal-background-color:#fff;--eps-modal-header-background-color:#58d0f5}.eps-theme-dark{--eps-modal-background-color:#34383c;--eps-modal-header-background-color:#58d0f5}.eps-modal{max-width:43.75rem;background:var(--eps-modal-background-color);border-radius:.1875rem;-webkit-animation:eps-animation-pop .15s cubic-bezier(.57,.53,.71,1.47) forwards;animation:eps-animation-pop .15s cubic-bezier(.57,.53,.71,1.47) forwards}.eps-modal__overlay{background:rgba(0,0,0,.5);position:fixed;display:-webkit-box;display:-ms-flexbox;display:flex;top:0;left:0;width:100%;height:100%;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;z-index:1030}.eps-modal__header{font-size:.875rem;background:var(--eps-modal-header-background-color);height:2.75rem;padding:.625rem 1rem;border-radius:.1875rem}.eps-modal__header,.eps-modal__header .title{color:#fff}.eps-modal__icon{-webkit-margin-end:.625rem;margin-inline-end:.625rem}.eps-modal__body{padding:1.875rem}.eps-modal .eps-tip,.eps-modal__tip{-webkit-padding-start:.75rem;padding-inline-start:.75rem;-webkit-border-start:3px solid #58d0f5;border-inline-start:3px solid #58d0f5}.eps-modal .eps-tip:not(:last-child),.eps-modal__tip:not(:last-child){margin-bottom:1.875rem}.eps-modal .eps-tip:not(:first-child),.eps-modal__section:not(:first-child),.eps-modal__tip:not(:first-child){margin-top:1.875rem}.eps-modal__close-wrapper{-webkit-padding-start:1rem;padding-inline-start:1rem;-webkit-border-start:solid 1px #fff;border-inline-start:solid 1px #fff}.eps-add-new-button{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;--eps-add-new-button-size:1.5rem;line-height:var(--eps-add-new-button-size);cursor:pointer}.eps-add-new-button .eps-icon{background-color:#58d0f5;color:#fff;width:var(--eps-add-new-button-size);height:var(--eps-add-new-button-size);border-radius:100%;font-size:calc(var(--eps-add-new-button-size) * .75);text-align:center;line-height:var(--eps-add-new-button-size)}.eps-add-new-button span:not(.sr-only){-webkit-margin-start:.625rem;margin-inline-start:.625rem;font-weight:500}.eps-add-new-button--sm{--eps-add-new-button-size:1rem}:root{--select2-selection-background-color:#fff;--select2-selection-color:#6d7882;--select2-selection-border-color:#d5dadf;--select2-selection-opened-focused-border-color:#f1f3f5;--select2-single-selection-rendered-color:#6d7882;--select2-default-single-selection-background-color:#fff;--select2-default-single-selection-border-color:#d5dadf;--select2-default-multiple-selection-background-color:#fff;--select2-default-multiple-selection-choice-background-color:#f1f3f5;--select2-default-multiple-selection-choice-color:#6d7882;--select2-default-multiple-selection-choice-border-color:#f1f3f5;--select2-default-multiple-selection-choice-remove-color:#a4afb7;--select2-default-multiple-selection-choice-remove-hover-color:#6d7882;--select2-default-results-selected-option-background-color:#fff;--select2-default-results-selected-option-color:#6d7882;--select2-default-results-highlighted-option-background-color:#5897fb;--select2-default-results-highlighted-option-color:#fff;--select2-results-selected-option-background-color:#5897fb;--select2-results-selected-option-color:#fff;--select2-dropdown-background-color:#fff;--select2-dropdown-border-color:#d5dadf}.eps-theme-dark{--select2-selection-background-color:#34383c;--select2-selection-color:#e0e1e3;--select2-selection-border-color:#64666a;--select2-selection-opened-focused-border-color:#7d7e82;--select2-single-selection-rendered-color:#e0e1e3;--select2-default-single-selection-background-color:#34383c;--select2-default-single-selection-border-color:#4c4f56;--select2-default-multiple-selection-background-color:#34383c;--select2-default-multiple-selection-choice-background-color:#4c4f56;--select2-default-multiple-selection-choice-color:#e0e1e3;--select2-default-multiple-selection-choice-border-color:#4c4f56;--select2-default-multiple-selection-choice-remove-color:#b4b5b7;--select2-default-multiple-selection-choice-remove-hover-color:#e0e1e3;--select2-default-results-selected-option-background-color:#34383c;--select2-default-results-selected-option-color:#e0e1e3;--select2-default-results-highlighted-option-background-color:#4c4f56;--select2-default-results-highlighted-option-color:#e0e1e3;--select2-results-selected-option-background-color:#4c4f56;--select2-results-selected-option-color:#e0e1e3;--select2-dropdown-background-color:#34383c;--select2-dropdown-border-color:#64666a}.select2-container:not(.select2-container--open):not(.select2-container--focus) .select2-selection--multiple,.select2-container:not(.select2-container--open):not(.select2-container--focus) .select2-selection--single{background-color:var(--select2-selection-background-color);color:var(--select2-selection-color);border-color:var(--select2-selection-border-color)}.select2-container.select2-container--focus .select2-selection--multiple,.select2-container.select2-container--focus .select2-selection--single,.select2-container.select2-container--open .select2-selection--multiple,.select2-container.select2-container--open .select2-selection--single{border-color:var(--select2-selection-opened-focused-border-color)}.select2-container.select2-container--default .select2-selection--single .select2-selection__rendered{color:var(--select2-single-selection-rendered-color)}.select2-container--default .select2-selection--single{background-color:var(--select2-default-single-selection-background-color);border-color:var(--select2-default-single-selection-border-color)}.select2-container--default .select2-selection--multiple{background-color:var(--select2-default-multiple-selection-background-color)}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:var(--select2-default-multiple-selection-choice-background-color);color:var(--select2-default-multiple-selection-choice-color);border-color:var(--select2-default-multiple-selection-choice-border-color)}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:var(--select2-default-multiple-selection-choice-remove-color)}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:var(--select2-default-multiple-selection-choice-remove-hover-color)}.select2-container--default .select2-results__option[aria-selected]{background-color:var(--select2-default-results-selected-option-background-color);color:var(--select2-default-results-selected-option-color)}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:var(--select2-default-results-highlighted-option-background-color);color:var(--select2-default-results-highlighted-option-color)}.select2-container .select2-results__option[aria-selected=true]{background-color:var(--select2-results-selected-option-background-color);color:var(--select2-results-selected-option-color)}.select2-container .select2-dropdown{background-color:var(--select2-dropdown-background-color);border-color:var(--select2-dropdown-border-color)}.eps-notice{--eps-box-notice-color:#a4afb7;--eps-box-notice-background-color:#fcfcfc;padding:.625rem 1rem;-webkit-box-shadow:0 2px 3px 1px var(--color-box-shadow-color);box-shadow:0 2px 3px 1px var(--color-box-shadow-color);background-color:var(--eps-box-notice-background-color)}.eps-notice-semantic{-webkit-border-start:3px solid var(--eps-notice-semantic-color);border-inline-start:3px solid var(--eps-notice-semantic-color)}.eps-notice-semantic .eps-notice__icon{color:var(--eps-notice-semantic-color);font-size:1rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem}.eps-notice--warning{--eps-notice-semantic-color:#fcb92c}.eps-notice--danger{--eps-notice-semantic-color:#b01b1b}.eps-notice--info{--eps-notice-semantic-color:#58d0f5}.eps-notice__text{margin:0;padding:0;color:var(--eps-box-notice-color);font-style:italic}.eps-notice__button-container{-ms-flex-negative:0;flex-shrink:0;margin-left:1.25rem;width:auto}.eps-theme-dark .eps-notice{--eps-box-notice-color:#b4b5b7;--eps-box-notice-background-color:#404349}.eps-list{--eps-list-item-separated-border-color:#f1f3f5;padding:0;margin:0;list-style-type:none}.eps-list--padding{padding:var(--eps-list-padding)}.eps-list__item{padding:0}.eps-list__item--padding{padding:var(--eps-list-item-padding)}.eps-list--separated .eps-list__item:not(:last-child){border-bottom:1px solid var(--eps-list-item-separated-border-color)}.eps-theme-dark .eps-list{--eps-list-item-separated-border-color:#34383c}:root{--popover-background-color:#fff;--popover-item-color:#6d7882;--popover-item-hover-color:#556068;--popover-item-danger-hover-color:#b01b1b;--popover-item-background-color:#fff;--popover-box-shadow-color:rgba(0,0,0,0.15);--popover-box-shadow-size:0px 1px 20px;--popover-arrow-color:#fff}.eps-theme-dark{--popover-background-color:#4c4f56;--popover-item-color:#fff;--popover-item-hover-color:#e0e1e3;--popover-item-danger-hover-color:#f84343;--popover-item-background-color:#4c4f56;--popover-box-shadow-color:rgba(0,0,0,0.15);--popover-box-shadow-size:0px 1px 20px;--popover-arrow-color:#4c4f56}.eps-popover{padding:10px 0;background-color:var(--popover-background-color);-webkit-box-shadow:var(--popover-box-shadow-size) var(--popover-box-shadow-color);box-shadow:var(--popover-box-shadow-size) var(--popover-box-shadow-color);list-style:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;min-width:120px;border-radius:.1875rem;position:absolute;z-index:1050;margin-top:9px;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);left:.25rem}.eps-popover__background{position:fixed;top:0;bottom:0;left:0;right:0;z-index:1030}.eps-popover__container{position:relative}.eps-popover:before{content:"";display:block;position:absolute;width:16px;height:9px;margin:0 .1875rem 9px;top:-9px;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);border-left:8px solid transparent;border-right:8px solid transparent;border-top:0 solid transparent;border-bottom:9px solid transparent;border-bottom-color:var(--popover-arrow-color)}.eps-popover__item{padding:.3125rem 1rem;background-color:var(--popover-item-background-color);color:var(--popover-item-color);font-size:.6875rem;font-weight:500;line-height:.8125rem;width:100%;-webkit-box-align:center;-ms-flex-align:center;align-items:center;cursor:pointer}.eps-popover__item:hover{color:var(--popover-item-hover-color)}.eps-popover__item--danger:hover{color:var(--popover-item-danger-hover-color)}.eps-popover__item .eps-icon{font-size:inherit;-webkit-margin-end:.3125rem;margin-inline-end:.3125rem}.eps-css-grid{display:grid;grid-template-columns:repeat(var(--eps-grid-columns,auto-fill),minmax(var(--eps-grid-col-min-width,1fr),var(--eps-grid-col-max-width,1fr)));grid-gap:var(--eps-grid-spacing)}.eps-box{--eps-box-background-color:#fff;--eps-box-color:#495157;--eps-box-input-color:#495157;padding:0;border-radius:.1875rem;background-color:var(--eps-box-background-color);color:var(--eps-box-color)}.eps-box--padding{padding:var(--eps-box-padding)}.eps-box>input{width:100%;outline:0;border:0;background-color:var(--eps-box-background-color);color:var(--eps-box-input-color)}.eps-theme-dark .eps-box{--eps-box-background-color:#404349;--eps-box-color:#e0e1e3;--eps-box-input-color:#e0e1e3}:root{--checkbox-border-color:#d5dadf;--checkbox-hover-border-color:#c7cdd4;--checkbox-active-border-color:#e3e7ea;--checkbox-background-color:#fff;--checkbox-checked-background-color:#39b54a;--checkbox-checked-hover-background-color:#33a242;--checkbox-checked-active-background-color:#44c455;--checkbox-checked-disabled-background-color:#c2cbd2;--checkbox-indicator-color:#fff;--checkbox-error-background-color:#b01b1b}.eps-theme-dark{--checkbox-background-color:transparent}.eps-checkbox{-webkit-appearance:none;border-radius:.1875rem;width:15px;height:15px;outline:0;background-color:var(--checkbox-background-color);display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:1px solid var(--checkbox-border-color)}.eps-checkbox:after{display:inline-block;margin-bottom:12.5%;content:" ";width:3px;height:6px;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.eps-checkbox:hover{--checkbox-border-color:var(--checkbox-hover-border-color)}.eps-checkbox:active{--checkbox-border-color:var(--checkbox-active-border-color)}.eps-checkbox:checked{--checkbox-background-color:var(--checkbox-checked-background-color);--checkbox-border-color:var(--checkbox-checked-background-color)}.eps-checkbox:checked:after{border:solid #fff;border-width:0 1px 1px 0}.eps-checkbox:checked:hover{--checkbox-background-color:var(--checkbox-checked-hover-background-color);--checkbox-border-color:var(--checkbox-checked-hover-background-color)}.eps-checkbox:checked:active{--checkbox-background-color:var(--checkbox-checked-active-background-color);--checkbox-border-color:var(--checkbox-checked-active-background-color)}.eps-checkbox:checked:disabled{--checkbox-background-color:var(--checkbox-checked-disabled-background-color);--checkbox-border-color:var(--checkbox-checked-disabled-background-color)}.eps-checkbox--rounded{border-radius:50%}.eps-checkbox--indeterminate{--checkbox-background-color:var(--checkbox-checked-background-color);--checkbox-border-color:var(--checkbox-checked-background-color)}.eps-checkbox--indeterminate:after{display:inline-block;margin-bottom:0;content:" ";width:7px;height:0;-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg);border-top:1px solid #fff}.eps-checkbox--error:after,.eps-checkbox--error:before,.eps-checkbox--error:checked:after,.eps-checkbox--error:checked:before{display:inline-block;margin-bottom:0;content:" ";width:7px;height:0;border:solid #fff;border-width:1px 0 0;position:absolute}.eps-checkbox--error:before,.eps-checkbox--error:checked:before{-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.eps-checkbox--error:after,.eps-checkbox--error:checked:after{-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg)}.eps-checkbox--error,.eps-checkbox--error:checked,.eps-checkbox--error:checked:hover,.eps-checkbox--error:hover{--checkbox-background-color:var(--checkbox-error-background-color);--checkbox-border-color:var(--checkbox-error-background-color)}:root{--e-app-drag-drop-background-color:#fff;--e-app-drag-drop-outline-color:#d5dadf}.eps-theme-dark{--e-app-drag-drop-background-color:#404349;--e-app-drag-drop-outline-color:#7d7e82}.e-app-drag-drop{background-color:var(--e-app-drag-drop-background-color);outline:2px dashed var(--e-app-drag-drop-outline-color);outline-offset:-.75rem;margin-bottom:1.5rem;padding:4.125rem;text-align:center}.e-app-drag-drop--drag-over{outline-color:#58d0f5}.eps-dialog{border-radius:3px;width:375px}.eps-dialog__close-button{position:absolute;top:-2.75rem;right:-2.75rem;margin-top:.625rem;margin-right:.625rem;z-index:1040;font-size:1.25rem;color:#fff}.eps-dialog__content{padding:1.5rem 1.875rem 1rem;font-size:.75rem}.eps-dialog__text,.eps-dialog__title{text-align:center}.eps-dialog__buttons{display:-webkit-box;display:-ms-flexbox;display:flex}.eps-dialog__button{-webkit-box-flex:1;-ms-flex:1;flex:1;border-top:1px solid var(--hr-color);line-height:2.75rem;text-align:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.eps-dialog__button:last-child:not(:first-child){-webkit-border-start:1px solid var(--hr-color);border-inline-start:1px solid var(--hr-color)}.e-app__popover{display:none;position:absolute;-webkit-box-shadow:0 2px 15px rgba(0,0,0,.3);box-shadow:0 2px 15px rgba(0,0,0,.3);border-radius:6px;padding:20px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;z-index:999;background-color:#fff}.e-app__popover:before{content:"";position:absolute;top:-16px;left:var(--popover-arrow-offset-end,22px);border:8px solid transparent;border-bottom-color:#fff}.eps-inline-link{color:var(--eps-inline-link-color);background-color:initial;border:0;padding:0}.eps-inline-link--color-primary{--eps-inline-link-color:#39b54a}.eps-inline-link--color-secondary{--eps-inline-link-color:#c2cbd2}.eps-inline-link--color-danger{--eps-inline-link-color:#b01b1b}.eps-inline-link--color-cta{--eps-inline-link-color:#93003f}.eps-inline-link--color-link{--eps-inline-link-color:#58d0f5}.eps-inline-link--color-disabled{--eps-inline-link-color:#c2cbd2}.eps-inline-link--underline-always,.eps-inline-link--underline-always:hover,.eps-inline-link--underline-hover:hover{text-decoration:underline}.eps-inline-link--italic{font-style:italic}.eps-inline-link,.eps-inline-link:focus{outline:none}.eps-text-field{--eps-text-field-color:#6d7882;--eps-text-field-background-color:#fff;--eps-text-field-placeholder-color:#a4afb7;--eps-text-field-outlined-border-color:#d5dadf;--eps-text-field-outlined-focus-border-color:#c2cbd2;width:100%;color:var(--eps-text-field-color);background-color:var(--eps-text-field-background-color);border:0;outline:none;font-family:Roboto,Arial,Helvetica,Verdana,sans-serif;font-size:.875rem;font-weight:400;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.eps-text-field--outlined{border-radius:.1875rem;border:1px solid var(--eps-text-field-outlined-border-color);padding:.625rem}.eps-text-field--outlined:focus{border-color:var(--eps-text-field-outlined-focus-border-color)}.eps-text-field::-webkit-input-placeholder{color:var(--eps-text-field-placeholder-color);font-family:Roboto,Arial,Helvetica,Verdana,sans-serif;font-size:.875rem;font-weight:400;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.eps-text-field::-moz-placeholder{color:var(--eps-text-field-placeholder-color);font-family:Roboto,Arial,Helvetica,Verdana,sans-serif;font-size:.875rem;font-weight:400;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.eps-text-field::-ms-input-placeholder{color:var(--eps-text-field-placeholder-color);font-family:Roboto,Arial,Helvetica,Verdana,sans-serif;font-size:.875rem;font-weight:400;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.eps-text-field::placeholder{color:var(--eps-text-field-placeholder-color);font-family:Roboto,Arial,Helvetica,Verdana,sans-serif;font-size:.875rem;font-weight:400;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.eps-theme-dark .eps-text-field{--eps-text-field-color:#b4b5b7;--eps-text-field-background-color:#34383c;--eps-text-field-placeholder-color:#7d7e82;--eps-text-field-outlined-border-color:#64666a;--eps-text-field-outlined-focus-border-color:#7d7e82}.e-app-import-export-content-layout{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;height:100%}.e-app-import-export-content-layout__container{-ms-flex-preferred-size:1075px;flex-basis:1075px}.e-app-export-complete__kit-content-title{margin:2.75rem 0 .625rem}.e-app-export-kit-content{--e-app-export-kit-content-title-color:#556068;--e-app-export-kit-content-description-color:#6d7882}.e-app-export-kit-content__checkbox{-ms-flex-negative:0;flex-shrink:0;-webkit-margin-end:.75rem;margin-inline-end:.75rem}.e-app-export-kit-content__title{color:var(--e-app-export-kit-content-title-color)}.e-app-export-kit-content__description{color:var(--e-app-export-kit-content-description-color);-webkit-margin-end:1.25rem;margin-inline-end:1.25rem}.e-app-export-kit-content__notice{margin-top:1rem}.e-app-export-kit-content__small-notice{font-style:italic;color:var(--e-app-export-kit-content-description-color)}.eps-theme-dark .e-app-export-kit-content{--e-app-export-kit-content-title-color:#e0e1e3;--e-app-export-kit-content-description-color:#b4b5b7}.e-app-import-export-kit-data{--e-app-import-export-kit-data-site-area-color:#556068;--e-app-import-export-kit-data-included-color:#a4afb7}.e-app-import-export-kit-data__included,.e-app-import-export-kit-data__site-area{margin-bottom:0}.e-app-import-export-kit-data__site-area{color:var(--e-app-import-export-kit-data-site-area-color);font-weight:700}.e-app-import-export-kit-data__included{color:var(--e-app-import-export-kit-data-included-color)}.eps-theme-dark .e-app-import-export-kit-data{--e-app-import-export-kit-data-site-area-color:#b4b5b7;--e-app-import-export-kit-data-included-color:#7d7e82}.e-app-import-resolver{--e-app-import-resolver-panel-header-background-color:#fff;--e-app-import-resolver-panel-body-background-color:hsla(0,0%,100%,0.5);--e-app-import-resolver-conflicts-asset-border-color:#c2cbd2;--e-app-import-resolver-conflicts-asset-inactive-color:#a4afb7;padding-bottom:1.25rem}.e-app-import-resolver__notice{margin-bottom:1.25rem}.e-app-import-resolver__panel,.e-app-import-resolver__panel:hover{background-color:initial}.e-app-import-resolver__panel-header{background-color:var(--e-app-import-resolver-panel-header-background-color)}.e-app-import-resolver__panel-body{background-color:var(--e-app-import-resolver-panel-body-background-color)}.e-app-import-resolver-conflicts__container{-webkit-box-shadow:0 2px 3px 1px var(--color-box-shadow-color);box-shadow:0 2px 3px 1px var(--color-box-shadow-color)}.e-app-import-resolver-conflicts__checkbox{-ms-flex-negative:0;flex-shrink:0;-webkit-margin-end:.75rem;margin-inline-end:.75rem}.e-app-import-resolver-conflicts__title{line-height:1}.e-app-import-resolver-conflicts__asset:not(:first-child){-webkit-border-start:2px solid var(--e-app-import-resolver-conflicts-asset-border-color);border-inline-start:2px solid var(--e-app-import-resolver-conflicts-asset-border-color);-webkit-padding-start:1rem;padding-inline-start:1rem;-webkit-margin-start:1rem;margin-inline-start:1rem}.e-app-import-resolver-conflicts__asset:not(.active){color:var(--e-app-import-resolver-conflicts-asset-inactive-color)}.e-app-import-resolver-conflicts__edit-template{-webkit-margin-start:.3125rem;margin-inline-start:.3125rem}.eps-theme-dark .e-app-import-resolver{--e-app-import-resolver-panel-header-background-color:#4c4f56;--e-app-import-resolver-panel-body-background-color:rgba(0,0,0,0.05);--e-app-import-resolver-conflicts-asset-border-color:#64666a;--e-app-import-resolver-conflicts-asset-inactive-color:#7d7e82}.eps-panel{--eps-panel-header-background-color:#fff;--eps-panel-body-background-color:hsla(0,0%,100%,0.5)}.eps-panel,.eps-panel:hover{background-color:initial}.eps-panel__header{background-color:var(--eps-panel-header-background-color);border-radius:.1875rem}.eps-panel__body{background-color:var(--eps-panel-body-background-color);border-radius:0 0 .1875rem .1875rem}.eps-theme-dark .eps-panel{--eps-panel-header-background-color:#404349;--eps-panel-body-background-color:rgba(64,67,73,0.5)}.e-app-export-kit{padding-bottom:1.25rem}.e-app-export-kit-information{margin-top:1.25rem}.e-app-export-kit-information__field-header{margin-bottom:.625rem}.e-app-export-kit-information__label{margin:0}.e-app-export-kit-information__info-icon{-webkit-margin-start:.625rem;margin-inline-start:.625rem}.e-app-export-kit-info-modal__icon{-webkit-padding-start:.625rem;padding-inline-start:.625rem}.e-app-export-kit-info-modal__heading{margin-bottom:1.25rem}.e-app-import-export-info-modal__section:not(:first-child){margin-top:1.875rem}.e-app-import-export-info-modal__heading{margin-bottom:1.25rem}:root{--eps-badge-background-color:#fff}.eps-theme-dark{--eps-badge-background-color:#404349}.eps-badge{display:inline-block;background:var(--eps-badge-background-color);padding:0 .5rem;line-height:1.8;-webkit-box-shadow:0 3px 6px var(--color-box-shadow-color);box-shadow:0 3px 6px var(--color-box-shadow-color);border-radius:4px;font-size:.75rem}.eps-badge--sm{font-size:.625rem;border-radius:3px;padding:0 .3125rem;line-height:1.5}.eps-collapse__title{cursor:pointer;padding:.3125rem 0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;width:100%;background:transparent;border:none;color:inherit}.eps-collapse__title:focus{outline:none}.eps-collapse__icon{-webkit-transition:all .15s;-o-transition:all .15s;transition:all .15s;-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.eps-collapse__content{margin-top:.625rem;display:none}.eps-collapse[data-open] .eps-collapse__content{display:block}.eps-collapse[data-open] .eps-collapse__icon{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.e-kit-library-bottom-promotion{--e-kit-library-bottom-promotion-color:tints(600)}.eps-theme-dark .e-kit-library-bottom-promotion{--e-kit-library-bottom-promotion-color:dark-tints(400)}.e-kit-library-bottom-promotion{width:100%;text-align:center;margin-top:1.875rem;color:var(--e-kit-library-bottom-promotion-color)}.e-kit-library__error-screen{margin-top:2.75rem}.e-kit-library__error-screen-title{margin-top:2.75rem;margin-bottom:0}.e-kit-library__error-screen-description{margin-top:1.5rem;color:#a4afb7;text-align:center;max-width:520px}.e-kit-library__kit-favorite-actions{padding:.3125rem;-webkit-transition:all .3s;-o-transition:.3s all;transition:all .3s;border-radius:4px}.e-kit-library__kit-favorite-actions--active{color:#b01b1b}.e-kit-library__kit-favorite-actions--loading{opacity:1%;cursor:default}.e-kit-library__kit-favorite-actions:hover{background-color:rgba(176,27,27,.1)}.e-kit-library__filter-indication{margin-top:1.5rem}.e-kit-library__filter-indication,.e-kit-library__filter-indication-text{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.e-kit-library__filter-indication-text{margin-bottom:0}.e-kit-library__filter-indication-badge{margin-right:.3125rem;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.e-kit-library__filter-indication-badge-remove{margin-right:.3125rem;font-size:.875rem}.e-kit-library__filter-indication-button{margin-right:1.5rem}#eps-app-header-btn-apply,#eps-app-header-btn-connect,#eps-app-header-btn-promotion{margin-right:.625rem;margin-left:.625rem}.e-kit-library__apply-button{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:.3125rem}.e-kit-library__kit-item{--e-kit-library-kit-item-overlay-promotion-button-background-color:#fcfcfc}.eps-theme-dark .e-kit-library__kit-item{--e-kit-library-kit-item-overlay-promotion-button-background-color:#404349}.e-kit-library__kit-item-overlay{height:100%}.e-kit-library__kit-item-overlay>:first-child{-webkit-box-flex:1;-ms-flex:1;flex:1}.e-kit-library__kit-item-overlay-overview-button{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;color:#fff;height:100%;width:100%}.e-kit-library__kit-item-overlay-overview-button>i{font-size:2rem;margin-bottom:5px}.e-kit-library__kit-item-overlay-overview-button>span{font-size:.9rem}.e-kit-library__kit-item-overlay-promotion-button{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;background:#fff;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:10px;font-size:13px;color:#93003f;background:var(--e-kit-library-kit-item-overlay-promotion-button-background-color)}.e-kit-library__kit-item-overlay-promotion-button>*{margin:0 3px}.e-kit-library__kit-item-subscription-plan-badge{position:absolute;top:0;right:0;margin:.3125rem;color:#fff;text-transform:uppercase}:root{--e-kit-library-header-back-border:1px solid #f1f3f5;--e-kit-library-header-back-color:#a4afb7}.eps-theme-dark{--e-kit-library-header-back-border:1px solid #64666a;--e-kit-library-header-back-color:#b4b5b7}.e-kit-library__header-back{color:var(--e-kit-library-header-back-color);padding-left:1.25rem;padding-right:.3125rem;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:100%;border-left:var(--e-kit-library-header-back-border)}.e-kit-library__header-back-container{-webkit-box-flex:1;-ms-flex:1;flex:1;height:100%}.e-kit-library__header-back .eps-icon{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.e-kit-library__page-loader{width:100%;height:100%;display:grid;place-items:center;font-size:1.85rem;color:#a4afb7}.eps-search-input{--eps-search-input-background-color:#fcfcfc;--eps-search-input-background-color-focus:#fff;--eps-search-input-color:#556068;--eps-search-input-placeholder-color:#a4afb7}.eps-theme-dark .eps-search-input{--eps-search-input-background-color:#404349;--eps-search-input-background-color-focus:#4c4f56;--eps-search-input-color:#b4b5b7;--eps-search-input-placeholder-color:#b4b5b7}.eps-search-input{width:100%;font-size:.9375rem;padding:.625rem 2.75rem;border:none;background:var(--eps-search-input-background-color);outline:none;color:var(--eps-search-input-color);line-height:1;height:2.75rem}.eps-search-input--sm{font-size:.8125rem;padding:.5rem 1.875rem}.eps-search-input:focus{background:var(--eps-search-input-background-color-focus)}.eps-search-input::-webkit-input-placeholder{color:var(--eps-search-input-placeholder-color);font-style:italic}.eps-search-input::-moz-placeholder{color:var(--eps-search-input-placeholder-color);font-style:italic}.eps-search-input::-ms-input-placeholder{color:var(--eps-search-input-placeholder-color);font-style:italic}.eps-search-input::placeholder{color:var(--eps-search-input-placeholder-color);font-style:italic}.eps-search-input__container{position:relative}.eps-search-input__icon{font-size:1.25rem;padding:.625rem;color:#a4afb7;position:absolute;top:0;inset-inline-start:0;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.eps-search-input__icon--sm{font-size:.75rem}.eps-search-input__clear-icon{font-size:.875rem;padding:.625rem;color:#a4afb7;position:absolute;top:0;left:0;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.eps-search-input__clear-icon--sm{font-size:.6875rem}:root{--eps-sort-select-select-background-color:#fcfcfc;--eps-sort-select-select-color:#556068;--eps-sort-select-button-background-color:#fcfcfc;--eps-sort-select-button-border:1px solid #f1f3f5}.eps-theme-dark{--eps-sort-select-select-background-color:#404349;--eps-sort-select-select-color:#b4b5b7;--eps-sort-select-button-background-color:#404349;--eps-sort-select-button-border:1px solid #26292c}.eps-sort-select{width:100%;font-size:.9375rem;display:-webkit-box;display:-ms-flexbox;display:flex}.eps-sort-select__select-wrapper{-webkit-box-flex:1;-ms-flex:1;flex:1;position:relative}.eps-sort-select__select-wrapper:after{content:"\e8ad";font-family:eicons;position:absolute;left:.625rem;top:0;bottom:0;color:#a4afb7;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;pointer-events:none}.eps-sort-select__select{width:100%;padding:.625rem;border:none;background:var(--eps-sort-select-select-background-color);outline:none;color:var(--eps-sort-select-select-color);line-height:1;cursor:pointer;height:2.75rem;-moz-appearance:none;appearance:none;-webkit-appearance:none;border-radius:0}.eps-sort-select__button{padding:.75rem;background:var(--eps-sort-select-button-background-color);border-right:var(--eps-sort-select-button-border);line-height:1;color:#a4afb7}.e-kit-library__tags-filter{--e-kit-library-tags-filter-list-search-background-color:#fff}.eps-theme-dark .e-kit-library__tags-filter{--e-kit-library-tags-filter-list-search-background-color:#404349}.e-kit-library__tags-filter{margin-top:2.75rem}.e-kit-library__tags-filter-list{margin-bottom:2.75rem}.e-kit-library__tags-filter-list .eps-collapse__title{padding-right:1.875rem;padding-left:1.875rem;text-transform:uppercase}.e-kit-library__tags-filter-list .eps-collapse__content{margin:.3125rem 1.875rem}.e-kit-library__tags-filter-list-container{max-height:250px;overflow:auto}.e-kit-library__tags-filter-list-search{margin-bottom:.625rem}.e-kit-library__tags-filter-list-search .eps-search-input{background:var(--e-kit-library-tags-filter-list-search-background-color)}.e-kit-library__tags-filter-list-item{padding:.625rem 0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-weight:500}.e-kit-library__tags-filter-list-item input{margin-left:.3125rem}.e-kit-library #eps-app-header-btn-refetch{padding:0}.e-kit-library-header-info-modal-container{margin-bottom:2.75rem}.e-kit-library__tooltip{padding:5px 12px;color:#fff;background-color:#26292c;font-size:10px}.e-kit-library__tooltip:before{border-bottom-color:#26292c}.e-kit-library__index-layout-container{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;overflow-y:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.e-kit-library__index-layout-top-area{padding:1.875rem 2.75rem;position:sticky;top:-1px;width:100%;z-index:2;background-color:var(--app-background-color);gap:1.5rem}.e-kit-library__index-layout-top-area-search,.e-kit-library__index-layout-top-area-sort{min-width:265px}.e-kit-library__index-layout-top-area-search{-webkit-box-flex:1;-ms-flex:1;flex:1}.e-kit-library__index-layout-main{padding-top:0;padding-bottom:1.5rem;overflow-y:hidden;height:auto;-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.e-kit-library__tags-filter{--e-kit-library-item-sidebar-header-title-color:#6d7882;--e-kit-library-item-sidebar-description-color:#6d7882;--e-kit-library-item-information-text-color:#6d7882}.eps-theme-dark .e-kit-library__tags-filter{--e-kit-library-item-sidebar-header-title-color:#b4b5b7;--e-kit-library-item-sidebar-description-color:#b4b5b7;--e-kit-library-item-information-text-color:#b4b5b7}.e-kit-library__item-sidebar{padding:1.5rem 1.875rem}.e-kit-library__item-sidebar-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.e-kit-library__item-sidebar-header-title{color:var(--e-kit-library-item-sidebar-header-title-color);margin-bottom:0}.e-kit-library__item-sidebar-thumbnail{margin-top:1.5rem;-webkit-box-shadow:0 4px 10px var(--color-box-shadow-color);box-shadow:0 4px 10px var(--color-box-shadow-color)}.e-kit-library__item-sidebar-description{margin-top:1.5rem;color:var(--e-kit-library-item-sidebar-description-color)}.e-kit-library__item-sidebar-collapse-tags{margin-top:2.75rem}.e-kit-library__item-sidebar-collapse-info{margin-top:1.875rem}.e-kit-library__item-sidebar-tags-container{gap:.625rem}.e-kit-library__item-information-text{font-size:.8125rem;color:var(--e-kit-library-item-information-text-color);margin-bottom:.3125rem}.e-kit-library{--e-kit-library-content-overview-group-title-color:#6d7882}.eps-theme-dark .e-kit-library{--e-kit-library-content-overview-group-title-color:#b4b5b7}.e-kit-library__content-overview-group-item{margin-bottom:2.75rem}.e-kit-library__content-overview-group-title{margin-bottom:1.875rem;color:var(--e-kit-library-content-overview-group-title-color)}.e-kit-library__preview-responsive-controls{width:auto}.e-kit-library__preview-responsive-controls-item{margin:0 .3125rem;color:#a4afb7;padding:.3125rem}.e-kit-library__preview-responsive-controls-item:hover{background:rgba(88,208,245,.1);border-radius:3px;-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s}.e-kit-library__preview-responsive-controls-item--active{color:#58d0f5}.e-kit-library__preview-loader{position:absolute;top:0;left:0;z-index:0}.e-kit-library__preview-iframe{border:none;-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s;-webkit-box-shadow:0 4px 10px var(--color-box-shadow-color);box-shadow:0 4px 10px var(--color-box-shadow-color)}.e-kit-library__preview-iframe-container{overflow-y:auto;position:relative;z-index:1}.e-app-collapse{--e-app-collapse-icon-color:#6d7882}.e-app-collapse-toggle{position:relative}.e-app-collapse-toggle--active{cursor:pointer}.e-app-collapse-toggle__icon{color:var(--e-app-collapse-icon-color);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:.875rem;position:absolute;top:50%;right:var(--e-app-collapse-toggle-icon-spacing);-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.e-app-collapse-toggle__icon:before{-webkit-transition:all .2s linear;-o-transition:all .2s linear;transition:all .2s linear}.e-app-collapse-content{display:none}.e-app-collapse--opened .e-app-collapse-toggle__icon:before{-webkit-transform:rotate(-180deg);-ms-transform:rotate(-180deg);transform:rotate(-180deg)}.e-app-collapse--opened .e-app-collapse-content{display:block}[dir=rtl] .e-app-collapse-toggle__icon{right:auto;left:var(--e-app-collapse-toggle-icon-spacing)}.eps-theme-dark .e-app-collapse{--e-app-collapse-icon-color:#b4b5b7}.e-app-import-plugins{--e-app-import-plugins-selection-section-heading-color:#6d7882;padding-bottom:1.5rem}.e-app-import-plugins__section{margin-top:1.875rem}.e-app-import-plugins__section-heading{color:var(--e-app-import-plugins-selection-section-heading-color);margin-bottom:1rem}.e-app-import-plugins__versions-notice{margin-bottom:.75rem}.eps-theme-dark .e-app-import-plugins{--e-app-import-plugins-selection-section-heading-color:#b4b5b7}.eps-table{--eps-table-body-color:#556068;--eps-table-body-background-color:#fff;border-spacing:0 2px;table-layout:fixed;width:100%}.eps-table__checkboxes-column{width:1.875rem}.eps-table__checkbox{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-negative:0;flex-shrink:0}.eps-table__cell{padding:1rem}.eps-table__head .eps-table__cell{text-align:start}.eps-table__body .eps-table__row{background-color:var(--eps-table-body-background-color)}.eps-table__body .eps-table__cell:first-child{border-radius:.1875rem 0 0 .1875rem}.eps-table__body .eps-table__cell:last-child{border-radius:0 .1875rem .1875rem 0}.eps-table--selection .eps-table__cell:first-child{-webkit-padding-end:0;padding-inline-end:0}.eps-theme-dark .eps-table{--eps-table-body-color:#b4b5b7;--eps-table-body-background-color:#404349}[dir=rtl] .eps-table__body [dir=rtl] .eps-table__cell:first-child{border-radius:0 .1875rem .1875rem 0}[dir=rtl] .eps-table__body [dir=rtl] .eps-table__cell:last-child{border-radius:.1875rem 0 0 .1875rem}.e-app-import-plugins-pro-banner{--e-app-import-plugins-pro-banner-heading-color:#556068;--e-app-import-plugins-pro-banner-description-color:#6d7882;margin-bottom:1.875rem}.e-app-import-plugins-pro-banner__heading{color:var(--e-app-import-plugins-pro-banner-heading-color);margin-bottom:.625rem}.e-app-import-plugins-pro-banner__description{color:var(--e-app-import-plugins-pro-banner-description-color);margin-bottom:0}.eps-theme-dark .e-app-import-plugins-pro-banner{--e-app-import-plugins-pro-banner-heading-color:#7d7e82;--e-app-import-plugins-pro-banner-description-color:#b4b5b7}.e-app-export-plugins,.e-app-import-content{padding-bottom:1.25rem}.e-app-import-content__plugins-notice{margin-bottom:1.25rem}.e-app-import-plugins-activation__installing-plugins{padding:.625rem 0}.e-app-import-plugins-activation__plugin-name{-webkit-margin-start:.5rem;margin-inline-start:.5rem}.e-app-import-plugins-activation__plugin-status-item{margin-bottom:.75rem}.e-app-import-export-plugins-table__cell-content{margin-bottom:0;text-transform:capitalize}.e-app-import-export-loader{--e-app-import-export-loader-color:#c2cbd2;color:var(--e-app-import-export-loader-color);font-size:50px}.e-app-import-export-loader.eicon-loading{font-size:1.85rem}.e-app-import-export-loader--absolute-center{position:absolute;top:50%;left:50%;-webkit-transform:translateX(-50%) translateY(-50%);-ms-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%)}.eps-theme-dark .e-app-import-export-loader{--e-app-import-export-loader-color:#64666a}.e-app-import-export-message-banner{--e-app-import-export-message-banner-heading-color:#556068;--e-app-import-export-message-banner-description-color:#6d7882;margin-bottom:1.875rem}.e-app-import-export-message-banner__heading{color:var(--e-app-import-export-message-banner-heading-color);margin-bottom:.625rem}.e-app-import-export-message-banner__description{color:var(--e-app-import-export-message-banner-description-color);margin-bottom:0}.eps-theme-dark .e-app-import-export-message-banner{--e-app-import-export-message-banner-heading-color:#7d7e82;--e-app-import-export-message-banner-description-color:#b4b5b7}.e-app-import-connect-pro-notice,.e-app-import-failed-plugins-notice{margin-bottom:1.25rem}.e-onboarding{font-family:DM Sans,Roboto,sans-serif}.e-onboarding .eps-app__main{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;overflow-y:auto}.e-onboarding__content{max-width:1135px;padding:initial;margin:2.75rem;overflow-y:initial}.e-onboarding__checkbox-label{display:-webkit-box;display:-ms-flexbox;display:flex;line-height:18px;margin-bottom:27px}.e-onboarding__checkbox-input{-webkit-margin-end:14px;margin-inline-end:14px;width:16px;height:16px;border-color:#69727d;border-radius:2px}.e-onboarding__checkbox-input:checked{background-color:#525861}.e-onboarding__checkbox-input:checked:after{margin-bottom:15%;width:6px;height:9px;border-width:0 2px 2px 0}.e-onboarding__feature-list{margin-bottom:40px}.e-onboarding__text-input{font-size:14px;width:325px;padding:12px 16px;color:#69727d;border:1px solid #9ea5ad}.e-onboarding__text-input:focus-visible{outline:initial;border:1px solid #3a3f45}.e-onboarding__text-input::-webkit-input-placeholder{color:#c2c7cc}.e-onboarding__text-input::-moz-placeholder{color:#c2c7cc}.e-onboarding__text-input::-ms-input-placeholder{color:#c2c7cc}.e-onboarding__text-input::placeholder{color:#c2c7cc}.e-onboarding__footnote{margin-top:24px;width:325px;text-align:center}.e-onboarding__footnote a{text-decoration:underline;color:#3a3f45}#e-app~#__wp-uploader-id-2 .media-modal{max-width:1024px;max-height:768px;margin:auto}.e-onboarding__page-content{margin-bottom:70px}.e-onboarding__page-content-start{max-width:675px;text-align:start;-ms-flex-preferred-size:555px;flex-basis:555px;-ms-flex-item-align:start;align-self:start}.e-onboarding__page-content-end{min-width:440px;max-width:540px}.e-onboarding__page-content-end img{width:100%}.e-onboarding__page-content-section-title{font-family:"DM Serif Display",serif;font-size:36px;font-weight:700;color:#0c0d0e}.e-onboarding__page-content-section-text{font-size:18px;color:#3a3f45}.e-onboarding__header-logo .eps-app__logo{background-color:#0c0d0e;color:#fff;width:1.3rem;height:1.3rem;line-height:1.3rem;font-size:.48rem}.e-onboarding__header-logo .eps-app__logo:not(:last-child){-webkit-margin-end:7px;margin-inline-end:7px}.e-onboarding__header-logo img{width:104px}.e-onboarding__header .eps-app__header-btn{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:13px}.e-onboarding__header .eps-app__header-btn .eps-icon:not(:last-child){-webkit-margin-end:7px;margin-inline-end:7px}.e-onboarding__header .eps-button{color:#0c0d0e}.e-onboarding__header .eps-button .eicon-pro-icon{color:#93003c}.e-onboarding__go-pro{width:288px;font-size:12px}.e-onboarding__go-pro-title{font-size:18px;font-weight:700;color:#871a40}.e-onboarding__go-pro-cta{display:inline-block;color:#871a40;padding:9px;border:1px solid #871a40}.e-onboarding__go-pro-cta.e-onboarding__button{font-size:14px}.e-onboarding__go-pro-paragraph:not(:last-child){margin-bottom:20px}.e-onboarding__go-pro-already-have{text-decoration:underline}.e-onboarding__progress-bar{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin-bottom:125px}.e-onboarding__progress-bar-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#69727d;font-size:.75rem}.e-onboarding__progress-bar-item-icon{display:inline-block;font-family:"DM Serif Display",serif;text-align:center;width:1.1rem;height:1.1rem;line-height:1rem;font-size:.75rem;font-weight:700;border-radius:50%;border:1px solid #69727d;-webkit-margin-end:8px;margin-inline-end:8px;-ms-flex-negative:0;flex-shrink:0}.e-onboarding__progress-bar-item:not(:last-child){-webkit-margin-end:22px;margin-inline-end:22px}.e-onboarding__progress-bar-item:not(:last-child):after{font-family:eicons;-webkit-margin-start:22px;margin-inline-start:22px;content:"\e89e"}.e-onboarding__progress-bar-item--active{color:#040080}.e-onboarding__progress-bar-item--active .e-onboarding__progress-bar-item-icon,.e-onboarding__progress-bar-item--completed .e-onboarding__progress-bar-item-icon{color:#fff;border-color:#040080;background-color:#040080}.e-onboarding__progress-bar-item--completed,.e-onboarding__progress-bar-item--skipped{cursor:pointer}.e-onboarding__progress-bar-item--skipped .e-onboarding__progress-bar-item-icon{color:#fff;background-color:#69727d}.e-onboarding__button{font-size:18px;cursor:pointer}.e-onboarding__button-action{color:#46f2b6;background-color:#040080;width:325px;padding:15px;text-align:center}.e-onboarding__button-skip{color:#6a727c;padding:15px 29px}.e-onboarding__button--disabled{pointer-events:none;background-color:#d5d8dc;color:#9ea5ad}.e-onboarding__button--disabled:hover{cursor:progress}.e-onboarding__button--processing{pointer-events:none;-webkit-filter:brightness(90%);filter:brightness(90%)}.e-onboarding__card{border:1px solid #3a3f45;border-radius:8px;padding:40px;background-color:#fff;cursor:pointer;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.e-onboarding__card-image,.e-onboarding__card-text{width:345px}.e-onboarding__card-image{margin-bottom:44px}.e-onboarding__card-text{font-size:20px;font-weight:700;text-align:center;color:#0c0d0e}.e-onboarding__card:hover{-webkit-box-shadow:4px 4px 0 0 #000;box-shadow:4px 4px 0 0 #000}.e-onboarding__card:active{-webkit-box-shadow:initial;box-shadow:none}.e-onboarding__checklist{-webkit-padding-start:0;padding-inline-start:0}.e-onboarding__checklist-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:12px;margin-bottom:12px}.e-onboarding__checklist-item .eicon-check-circle{-webkit-margin-end:9px;margin-inline-end:9px;font-size:16px;font-weight:600}.e-onboarding__notice{display:inline-block;padding:12px 14px;margin-bottom:16px;color:#3a3f45}.e-onboarding__notice--error{background-color:#fde8ec}.e-onboarding__notice--error i{font-size:16px;color:#b92136}.e-onboarding__notice--success{background-color:#ecf9f2}.e-onboarding__notice--success i{color:#117740}.e-onboarding__notice i{-webkit-margin-end:14px;margin-inline-end:14px}.e-onboarding__notice-empty-spacer{height:61px}.e-onboarding__page-account .e-onboarding__checkbox-label{margin-top:50px}.e-onboarding__action-button-text{-webkit-margin-start:10px;margin-inline-start:10px}.e-onboarding__site-name-input{margin-top:80px}.e-onboarding__page-siteLogo .e-app-upload-file__button{color:#040080;border-color:#040080}.e-onboarding__drop-zone{margin-top:3rem}.e-onboarding .eps-display-3{font-size:16px;margin-bottom:.5rem}.e-onboarding .e-app-upload-file__button{max-width:198px;margin:0 auto}.e-onboarding .e-app-drop-zone__secondary-text{font-size:14px}.e-onboarding__logo-container{position:relative;margin-top:3rem;height:220px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;min-width:220px}.e-onboarding__logo-container img{height:auto;max-height:100%;width:auto}.e-onboarding__logo-remove{position:absolute;right:8px;top:5px}.e-onboarding__logo-remove i{font-size:16px;width:15px}.e-onboarding__logo-remove:hover{cursor:pointer}.e-onboarding__is-uploading{visibility:hidden}.e-onboarding__page-goodToGo .e-onboarding__page-content-section-text,.e-onboarding__page-goodToGo .e-onboarding__page-content-section-title{text-align:center}.e-onboarding__cards-grid.e-onboarding__page-content{margin-top:48px;margin-bottom:48px}.e-onboarding__cards-grid .e-onboarding__card{max-width:555px}.e-onboarding__cards-grid .e-onboarding__card:not(:last-child){-webkit-margin-end:20px;margin-inline-end:20px}.e-onboarding__good-to-go-footer{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:end}.e-onboarding__upload-pro{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-family:DM Sans,Roboto,sans-serif;text-align:center}.e-onboarding__upload-pro .eps-app__content{overflow-y:hidden;max-width:1113px;padding:30px}.e-onboarding__upload-pro-drop-zone{margin-bottom:24px}.e-onboarding__upload-pro-drop-zone h1{font-family:"Source Serif Pro",Roboto,sans-serif}.e-onboarding__upload-pro-drop-zone .e-app-drag-drop{padding:48px}.e-onboarding__upload-pro-drop-zone .e-app-drop-zone__secondary-text,.e-onboarding__upload-pro-drop-zone .e-app-drop-zone__text,.e-onboarding__upload-pro-drop-zone .eps-display-3{margin-bottom:12px}.e-onboarding__upload-pro-drop-zone .e-app-upload-file__button{background-color:#040080;color:#46f2b6;padding:14px 40px;border-color:#040080}.e-onboarding__upload-pro-get-file{font-size:12px;margin-top:24px}.e-onboarding__upload-pro-get-file a{text-decoration:underline}.e-onboarding__upload-pro .e-onboarding__notice{margin-bottom:0}assets/css/widget-icon-box-rtl.min.css000064400000031300152377341010013730 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ .elementor-widget-icon-box .elementor-icon-box-wrapper{display:block;text-align:center}.elementor-widget-icon-box .elementor-icon-box-icon{margin-bottom:var(--icon-box-icon-margin,15px);margin-right:auto;margin-left:auto}@media (min-width:768px){.elementor-widget-icon-box.elementor-vertical-align-top .elementor-icon-box-wrapper{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.elementor-widget-icon-box.elementor-vertical-align-middle .elementor-icon-box-wrapper{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-widget-icon-box.elementor-vertical-align-bottom .elementor-icon-box-wrapper{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}}.elementor-widget-icon-box.elementor-position-left .elementor-icon-box-wrapper,.elementor-widget-icon-box.elementor-position-right .elementor-icon-box-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-icon-box.elementor-position-left .elementor-icon-box-icon,.elementor-widget-icon-box.elementor-position-right .elementor-icon-box-icon{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.elementor-widget-icon-box.elementor-position-right .elementor-icon-box-wrapper{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.elementor-widget-icon-box.elementor-position-right .elementor-icon-box-icon{margin-left:var(--icon-box-icon-margin,15px);margin-right:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-position-left .elementor-icon-box-wrapper{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-widget-icon-box.elementor-position-left .elementor-icon-box-icon{margin-right:var(--icon-box-icon-margin,15px);margin-left:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-position-top .elementor-icon-box-wrapper{display:block;text-align:center;-webkit-box-orient:unset;-webkit-box-direction:unset;-ms-flex-direction:unset;flex-direction:unset}.elementor-widget-icon-box.elementor-position-top .elementor-icon-box-icon{margin-bottom:var(--icon-box-icon-margin,15px);margin-right:auto;margin-left:auto}@media (min-width:-1px){.elementor-widget-icon-box.elementor-widescreen-position-left .elementor-icon-box-wrapper,.elementor-widget-icon-box.elementor-widescreen-position-right .elementor-icon-box-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-icon-box.elementor-widescreen-position-left .elementor-icon-box-icon,.elementor-widget-icon-box.elementor-widescreen-position-right .elementor-icon-box-icon{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.elementor-widget-icon-box.elementor-widescreen-position-right .elementor-icon-box-wrapper{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.elementor-widget-icon-box.elementor-widescreen-position-right .elementor-icon-box-icon{margin-left:var(--icon-box-icon-margin,15px);margin-right:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-widescreen-position-left .elementor-icon-box-wrapper{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-widget-icon-box.elementor-widescreen-position-left .elementor-icon-box-icon{margin-right:var(--icon-box-icon-margin,15px);margin-left:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-widescreen-position-top .elementor-icon-box-wrapper{display:block;text-align:center;-webkit-box-orient:unset;-webkit-box-direction:unset;-ms-flex-direction:unset;flex-direction:unset}.elementor-widget-icon-box.elementor-widescreen-position-top .elementor-icon-box-icon{margin-bottom:var(--icon-box-icon-margin,15px);margin-right:auto;margin-left:auto}}@media (max-width:-1px){.elementor-widget-icon-box.elementor-laptop-position-left .elementor-icon-box-wrapper,.elementor-widget-icon-box.elementor-laptop-position-right .elementor-icon-box-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-icon-box.elementor-laptop-position-left .elementor-icon-box-icon,.elementor-widget-icon-box.elementor-laptop-position-right .elementor-icon-box-icon{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.elementor-widget-icon-box.elementor-laptop-position-right .elementor-icon-box-wrapper{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.elementor-widget-icon-box.elementor-laptop-position-right .elementor-icon-box-icon{margin-left:var(--icon-box-icon-margin,15px);margin-right:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-laptop-position-left .elementor-icon-box-wrapper{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-widget-icon-box.elementor-laptop-position-left .elementor-icon-box-icon{margin-right:var(--icon-box-icon-margin,15px);margin-left:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-laptop-position-top .elementor-icon-box-wrapper{display:block;text-align:center;-webkit-box-orient:unset;-webkit-box-direction:unset;-ms-flex-direction:unset;flex-direction:unset}.elementor-widget-icon-box.elementor-laptop-position-top .elementor-icon-box-icon{margin-bottom:var(--icon-box-icon-margin,15px);margin-right:auto;margin-left:auto}}@media (max-width:-1px){.elementor-widget-icon-box.elementor-tablet_extra-position-left .elementor-icon-box-wrapper,.elementor-widget-icon-box.elementor-tablet_extra-position-right .elementor-icon-box-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-icon-box.elementor-tablet_extra-position-left .elementor-icon-box-icon,.elementor-widget-icon-box.elementor-tablet_extra-position-right .elementor-icon-box-icon{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.elementor-widget-icon-box.elementor-tablet_extra-position-right .elementor-icon-box-wrapper{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.elementor-widget-icon-box.elementor-tablet_extra-position-right .elementor-icon-box-icon{margin-left:var(--icon-box-icon-margin,15px);margin-right:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-tablet_extra-position-left .elementor-icon-box-wrapper{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-widget-icon-box.elementor-tablet_extra-position-left .elementor-icon-box-icon{margin-right:var(--icon-box-icon-margin,15px);margin-left:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-tablet_extra-position-top .elementor-icon-box-wrapper{display:block;text-align:center;-webkit-box-orient:unset;-webkit-box-direction:unset;-ms-flex-direction:unset;flex-direction:unset}.elementor-widget-icon-box.elementor-tablet_extra-position-top .elementor-icon-box-icon{margin-bottom:var(--icon-box-icon-margin,15px);margin-right:auto;margin-left:auto}}@media (max-width:1024px){.elementor-widget-icon-box.elementor-tablet-position-left .elementor-icon-box-wrapper,.elementor-widget-icon-box.elementor-tablet-position-right .elementor-icon-box-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-icon-box.elementor-tablet-position-left .elementor-icon-box-icon,.elementor-widget-icon-box.elementor-tablet-position-right .elementor-icon-box-icon{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.elementor-widget-icon-box.elementor-tablet-position-right .elementor-icon-box-wrapper{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.elementor-widget-icon-box.elementor-tablet-position-right .elementor-icon-box-icon{margin-left:var(--icon-box-icon-margin,15px);margin-right:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-tablet-position-left .elementor-icon-box-wrapper{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-widget-icon-box.elementor-tablet-position-left .elementor-icon-box-icon{margin-right:var(--icon-box-icon-margin,15px);margin-left:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-tablet-position-top .elementor-icon-box-wrapper{display:block;text-align:center;-webkit-box-orient:unset;-webkit-box-direction:unset;-ms-flex-direction:unset;flex-direction:unset}.elementor-widget-icon-box.elementor-tablet-position-top .elementor-icon-box-icon{margin-bottom:var(--icon-box-icon-margin,15px);margin-right:auto;margin-left:auto}}@media (max-width:-1px){.elementor-widget-icon-box.elementor-mobile_extra-position-left .elementor-icon-box-wrapper,.elementor-widget-icon-box.elementor-mobile_extra-position-right .elementor-icon-box-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-icon-box.elementor-mobile_extra-position-left .elementor-icon-box-icon,.elementor-widget-icon-box.elementor-mobile_extra-position-right .elementor-icon-box-icon{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.elementor-widget-icon-box.elementor-mobile_extra-position-right .elementor-icon-box-wrapper{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.elementor-widget-icon-box.elementor-mobile_extra-position-right .elementor-icon-box-icon{margin-left:var(--icon-box-icon-margin,15px);margin-right:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-mobile_extra-position-left .elementor-icon-box-wrapper{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-widget-icon-box.elementor-mobile_extra-position-left .elementor-icon-box-icon{margin-right:var(--icon-box-icon-margin,15px);margin-left:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-mobile_extra-position-top .elementor-icon-box-wrapper{display:block;text-align:center;-webkit-box-orient:unset;-webkit-box-direction:unset;-ms-flex-direction:unset;flex-direction:unset}.elementor-widget-icon-box.elementor-mobile_extra-position-top .elementor-icon-box-icon{margin-bottom:var(--icon-box-icon-margin,15px);margin-right:auto;margin-left:auto}}@media (max-width:767px){.elementor-widget-icon-box.elementor-mobile-position-left .elementor-icon-box-wrapper,.elementor-widget-icon-box.elementor-mobile-position-right .elementor-icon-box-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-icon-box.elementor-mobile-position-left .elementor-icon-box-icon,.elementor-widget-icon-box.elementor-mobile-position-right .elementor-icon-box-icon{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.elementor-widget-icon-box.elementor-mobile-position-right .elementor-icon-box-wrapper{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.elementor-widget-icon-box.elementor-mobile-position-right .elementor-icon-box-icon{margin-left:var(--icon-box-icon-margin,15px);margin-right:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-mobile-position-left .elementor-icon-box-wrapper{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-widget-icon-box.elementor-mobile-position-left .elementor-icon-box-icon{margin-right:var(--icon-box-icon-margin,15px);margin-left:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-mobile-position-top .elementor-icon-box-wrapper{display:block;text-align:center;-webkit-box-orient:unset;-webkit-box-direction:unset;-ms-flex-direction:unset;flex-direction:unset}.elementor-widget-icon-box.elementor-mobile-position-top .elementor-icon-box-icon{margin-bottom:var(--icon-box-icon-margin,15px);margin-right:auto;margin-left:auto}.elementor-widget-icon-box.elementor-position-left .elementor-icon-box-icon,.elementor-widget-icon-box.elementor-position-right .elementor-icon-box-icon{display:block;-webkit-box-flex:unset;-ms-flex:unset;flex:unset}}.elementor-widget-icon-box .elementor-icon-box-title a{color:inherit}.elementor-widget-icon-box .elementor-icon-box-content{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-widget-icon-box .elementor-icon-box-description{margin:0}assets/css/app-rtl.css000064400000336610152377341010010743 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ @import "//fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap"; @import "//fonts.googleapis.com/css2?family=DM%20Sans&display=swap"; @import "//fonts.googleapis.com/css2?family=Source%20Serif%20Pro&display=swap"; :root { --color-box-shadow-color: rgba(0, 0, 0, 0.05); } .eps-theme-dark { --color-box-shadow-color: rgba(0, 0, 0, 0.1); } .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; } @media screen and (min-width: 480px) { .text-start-sm { text-align: start; } } @media screen and (min-width: 480px) { .text-center-sm { text-align: center; } } @media screen and (min-width: 480px) { .text-end-sm { text-align: end; } } @media screen and (min-width: 768px) { .text-start-md { text-align: start; } } @media screen and (min-width: 768px) { .text-center-md { text-align: center; } } @media screen and (min-width: 768px) { .text-end-md { text-align: end; } } @media screen and (min-width: 1025px) { .text-start-lg { text-align: start; } } @media screen and (min-width: 1025px) { .text-center-lg { text-align: center; } } @media screen and (min-width: 1025px) { .text-end-lg { text-align: end; } } @media screen and (min-width: 1440px) { .text-start-xl { text-align: start; } } @media screen and (min-width: 1440px) { .text-center-xl { text-align: center; } } @media screen and (min-width: 1440px) { .text-end-xl { text-align: end; } } @media screen and (min-width: 1600px) { .text-start-xxl { text-align: start; } } @media screen and (min-width: 1600px) { .text-center-xxl { text-align: center; } } @media screen and (min-width: 1600px) { .text-end-xxl { text-align: end; } } @-webkit-keyframes eps-animation-pop { from { -webkit-transform: scale(0.75); transform: scale(0.75); opacity: 0; } to { -webkit-transform: scale(1); transform: scale(1); opacity: 1; } } @keyframes eps-animation-pop { from { -webkit-transform: scale(0.75); transform: scale(0.75); opacity: 0; } to { -webkit-transform: scale(1); transform: scale(1); opacity: 1; } } /** TODO: The molecules, atoms and such generics should be at top level, so the styles will be not depended on the order. EG: '../../../../core/app/assets/styles/generic'. Auto-import is designed for CSS that not dependent on the loading order. */ .eps-button { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; --button-line-height: 16px; --button-padding-y: 0.5em; --button-padding-x: 1.5em; --button-primary-background-color: #39b54a; --button-primary-hover-background-color: #33a242; --button-primary-active-background-color: #35a945; --button-primary-color: #fff; --button-secondary-background-color: #a4afb7; --button-secondary-hover-background-color: #96a2ac; --button-secondary-active-background-color: #9ba7b0; --button-secondary-color: #fff; --button-danger-background-color: #b01b1b; --button-danger-hover-background-color: #9a1818; --button-danger-active-background-color: #a31919; --button-danger-color: #fff; --button-cta-background-color: #93003F; --button-cta-hover-background-color: #7a0034; --button-cta-active-background-color: #840038; --button-cta-color: #fff; --button-link-background-color: #58d0f5; --button-link-hover-background-color: #40c9f4; --button-link-active-background-color: #4accf4; --button-link-color: #fff; --button-disabled-background-color: #c2cbd2; --button-disabled-hover-background-color: #b3bec7; --button-disabled-active-background-color: #b9c3cc; --button-disabled-color: #fff; color: var(--button-background-color, currentColor); font-size: var(--button-font-size, inherit); font-weight: 500; line-height: var(--button-line-height); cursor: pointer; } .eps-button:active { --button-background-color: var(--button-active-background-color, transparent); } .eps-button:hover { --button-background-color: var(--button-hover-background-color); } .eps-theme-dark .eps-button { --button-primary-background-color: #39b54a; --button-primary-color: #fff; --button-primary-hover-background-color: #33a242; --button-primary-active-background-color: #35a945; --button-secondary-background-color: #b4b5b7; --button-secondary-color: #fff; --button-secondary-hover-background-color: #a7a8ab; --button-secondary-active-background-color: #acadb0; --button-cta-background-color: #93003F; --button-cta-hover-background-color: #7a0034; --button-cta-active-background-color: #840038; --button-cta-color: #fff; --button-link-background-color: #58d0f5; --button-link-hover-background-color: #40c9f4; --button-link-active-background-color: #4accf4; --button-link-color: #fff; --button-disabled-background-color: #64666a; --button-disabled-hover-background-color: #58595d; --button-disabled-active-background-color: #5d5e62; --button-disabled-color: #fff; } .eps-button--contained { color: var(--button-color); padding: var(--button-padding-y) var(--button-padding-x); background-color: var(--button-background-color, transparent); border: 1px solid var(--button-background-color); } .eps-button--contained:hover { color: var(--button-color); } .eps-button--outlined { display: block; padding: var(--button-padding-y) var(--button-padding-x); border: 1px solid var(--button-background-color); } .eps-button--contained, .eps-button--outlined { border-radius: 0.1875rem; } .eps-button--underlined { text-decoration: underline; } .eps-button--sm { --button-font-size: 0.75rem; --button-line-height: 14px; } .eps-button--lg { --button-font-size: 0.9375rem; --button-line-height: 18px; } .eps-button--primary { --button-color: var(--button-primary-color); --button-background-color: var(--button-primary-background-color); --button-hover-background-color: var(--button-primary-hover-background-color); --button-active-background-color: var(--button-primary-active-background-color); } .eps-button--secondary { --button-color: var(--button-secondary-color); --button-background-color: var(--button-secondary-background-color); --button-hover-background-color: var(--button-secondary-hover-background-color); --button-active-background-color: var(--button-secondary-active-background-color); } .eps-button--danger { --button-color: var(--button-danger-color); --button-background-color: var(--button-danger-background-color); --button-hover-background-color: var(--button-danger-hover-background-color); --button-active-background-color: var(--button-danger-active-background-color); } .eps-button--cta { --button-color: var(--button-cta-color); --button-background-color: var(--button-cta-background-color); --button-hover-background-color: var(--button-cta-hover-background-color); --button-active-background-color: var(--button-cta-active-background-color); } .eps-button--link { --button-color: var(--button-link-color); --button-background-color: var(--button-link-background-color); --button-hover-background-color: var(--button-link-hover-background-color); --button-active-background-color: var(--button-link-active-background-color); } .eps-button--disabled, .eps-button[disabled] { --button-color: var(--button-disabled-color); --button-background-color: var(--button-disabled-background-color); --button-hover-background-color: var(--button-disabled-hover-background-color); --button-active-background-color: var(--button-disabled-active-background-color); cursor: default; } :root { --app-background-color: #f1f3f5; --app-box-shadow-color: rgba(var(--box-shadow-color, rgba(0, 0, 0, 0.15)), 0.2); --app-header-background-color: #fff; --app-header-color: #495157; --app-sidebar-background-color: rgba(255, 255, 255, 0.5); --app-header-buttons-separator-color: #d5dadf; --app-header-buttons-color: #a4afb7; --app-lightbox-background-color: rgba(0, 0, 0, 0.8); } .eps-theme-dark { --app-background-color: #34383c; --app-box-shadow-color: rgba(var(--box-shadow-color, rgba(0, 0, 0, 0.15)), 0.2); --app-header-background-color: #26292C; --app-header-color: #e0e1e3; --app-sidebar-background-color: #34383c; --app-header-buttons-separator-color: #64666a; --app-header-buttons-color: #b4b5b7; --app-lightbox-background-color: rgba(0, 0, 0, 0.8); } :root { --text-muted: #d5dadf; --disabled: #c2cbd2; --light: #fff; --dark: #000; --info: #58d0f5; --cta: #93003F; --danger: #b01b1b; --success: #39b54a; --warning: #fcb92c; --body-color: #6d7882; --link-color: #58d0f5; --link-hover-color: #10bcf1; --hr-color: #d5dadf; --box-shadow-color: theme-colors(dark); --display-1-color: #495157; --display-2-color: #495157; --display-3-color: #6d7882; --display-4-color: #495157; --h1-color: #6d7882; --h2-color: #6d7882; --h3-color: #495157; --h4-color: #495157; --h5-color: #495157; --h6-color: #495157; --text-base-color: #495157; --text-xl-color: #495157; --text-lg-color: #495157; --text-sm-color: #495157; --text-xs-color: #495157; --text-xxs-color: #495157; --gray-800: #495157; --gray-700: #556068; --gray-600: #6d7882; --gray-500: #a4afb7; --gray-400: #c2cbd2; --gray-300: #d5dadf; --gray-200: #f1f3f5; --gray-100: #fcfcfc; } .eps-theme-dark { --text-muted: #7d7e82; --disabled: #64666a; --light: #fff; --dark: #000; --info: #58d0f5; --accent: #58d0f5; --danger: #F84343; --cta: #93003F; --success: #39b54a; --warning: #fcb92c; --body-color: #e0e1e3; --body-bg: #fff; --link-color: #58d0f5; --link-hover-color: #10bcf1; --hr-color: #4c4f56; --box-shadow-color: rgba(0, 0, 0, 0.15); --display-1-color: #e0e1e3; --display-2-color: #e0e1e3; --display-3-color: #e0e1e3; --display-4-color: #e0e1e3; --h1-color: #e0e1e3; --h2-color: #e0e1e3; --h3-color: #e0e1e3; --h4-color: #e0e1e3; --h5-color: #e0e1e3; --h6-color: #e0e1e3; --text-base-color: #b4b5b7; --text-xl-color: #b4b5b7; --text-lg-color: #b4b5b7; --text-sm-color: #b4b5b7; --text-xs-color: #b4b5b7; --text-xxs-color: #b4b5b7; --gray-800: #26292C; --gray-700: #34383c; --gray-600: #404349; --gray-500: #4c4f56; --gray-400: #64666a; --gray-300: #7d7e82; --gray-200: #b4b5b7; --gray-100: #e0e1e3; } *, *::before, *::after { -webkit-box-sizing: border-box; box-sizing: border-box; } html { font-family: sans-serif; line-height: 1.15; -webkit-text-size-adjust: 100%; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } article, aside, figcaption, figure, footer, header, hgroup, main, nav, section { display: block; } body { margin: 0; font-family: Roboto, Arial, Helvetica, Verdana, sans-serif; font-size: 0.875rem; font-weight: 400; line-height: 1.5; color: var(--body-color); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; background-color: var(--body-bg); } ::-moz-selection { background-color: rgba(147, 0, 63, 0.5); } ::selection { background-color: rgba(147, 0, 63, 0.5); } [tabindex="-1"]:focus:not(:focus-visible) { outline: 0 !important; } h1, h2, h3, h4, h5, h6 { font-size: 100%; margin: 0; padding: 0; line-height: inherit; font-weight: normal; } p { margin-top: 0; } b, strong { font-weight: 700; } small { font-size: 80%; } a { --eps-link-color: $eps-link-color; color: var(--eps-link-color); background-color: transparent; } a, a:active, a:hover, a:focus { text-decoration: none; } a:focus, a:hover { --eps-link-color: $eps-link-hover-color; text-decoration: none; } a:not([href]) { color: inherit; text-decoration: none; } a:not([href]):hover { color: inherit; text-decoration: none; } pre, code, kbd, samp { font-family: monospace; font-size: 1em; } figure { margin: 0 0 0; } img { vertical-align: middle; border-style: none; } svg { overflow: hidden; vertical-align: middle; } button { border-radius: 0; } button:focus { outline: 1px dotted; outline: 5px auto -webkit-focus-ring-color; } input, button, select, optgroup, textarea { margin: 0; font-family: inherit; font-size: inherit; line-height: inherit; } button, input { overflow: visible; } button, select { text-transform: none; } [role=button] { cursor: pointer; } select { word-wrap: normal; } button, [type=button], [type=reset], [type=submit] { -webkit-appearance: button; } button:not(:disabled), [type=button]:not(:disabled), [type=reset]:not(:disabled), [type=submit]:not(:disabled) { cursor: pointer; } button::-moz-focus-inner, [type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner { padding: 0; border-style: none; } input[type=radio], input[type=checkbox] { -webkit-box-sizing: border-box; box-sizing: border-box; padding: 0; } textarea { overflow: auto; resize: vertical; } [hidden] { display: none !important; } hr { border: 0 none; border-bottom: 1px solid var(--hr-color); } .eps-display-1 { font-size: 1.85rem; color: var(--display-1-color); margin-top: 0.5rem; margin-bottom: 0.5rem; } .eps-display-2 { font-size: 1.85rem; color: var(--display-2-color); margin-top: 0.5rem; margin-bottom: 0.5rem; } .eps-display-3 { font-size: 1.85rem; color: var(--display-3-color); margin-top: 0; margin-bottom: 1.25rem; } .eps-display-4 { font-size: 1.85rem; color: var(--display-4-color); margin-top: 0.5rem; margin-bottom: 0.5rem; } h1, .eps-h1 { font-size: 1.625rem; line-height: 1; color: var(--h1-color); margin-bottom: 1.25rem; font-weight: 500; } h2, .eps-h2 { font-size: 1.25rem; line-height: 1.2; color: var(--h2-color); margin-top: 0; margin-bottom: 1.25rem; font-weight: 500; } h3, .eps-h3 { font-size: 1rem; line-height: 1.2; color: var(--h3-color); margin-top: 0; margin-bottom: 0.5rem; font-weight: 500; } h4, .eps-h4 { font-size: 0.9375rem; color: var(--h4-color); margin-top: 0; margin-bottom: 0.5rem; } h5, .eps-h5 { font-size: 0.875rem; color: var(--h5-color); margin-top: 0; margin-bottom: 0.5rem; } h6, .eps-h6 { font-size: 0.875rem; color: var(--h-6-color); margin-top: 0; margin-bottom: 0.5rem; font-weight: 700; } .eps-text-xxs { font-size: 0.75rem; line-height: 1.2; color: var(--text-xxs-color); font-weight: 400; } .eps-text-xs { font-size: 0.75rem; line-height: 1.5; color: var(--text-xs-color); font-weight: 400; } .eps-text { font-size: 0.875rem; line-height: 1.5; color: var(--text-base-color); font-weight: 400; } .eps-text-sm { font-size: 0.8125rem; line-height: 1.5; color: var(--text-sm-color); font-weight: 400; } .eps-text-lg { font-size: 0.9375rem; line-height: 1.5; color: var(--text-lg-color); font-weight: 400; } .eps-text-xl { font-size: 1rem; line-height: 1.5; color: var(--text-xl-color); font-weight: 400; } .video-wrapper { position: relative; padding-bottom: 56.25%; height: 0; } .video-wrapper iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } .eps-separator { margin-bottom: 2.75rem; } .eps-theme-dark { --e-app-back-button-color: #b4b5b7; } .back-button, .e-app-back-button { --button-background-color: var(--e-app-back-button-color, #a4afb7); margin-bottom: 1.5rem; } .back-button .eps-icon, .e-app-back-button .eps-icon { -webkit-margin-end: 0.3125rem; margin-inline-end: 0.3125rem; } .eps-theme-dark { --input-border-color: --hr-color; } .eps-input { border: 1px solid var(--hr-color); border-radius: 0.1875rem; background: transparent; color: inherit; height: 1.875rem; padding: 0 0.3125rem; } .eps-input--block { width: 100%; } .eps-app { display: -webkit-box; display: -ms-flexbox; display: flex; height: 100vh; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; color: var(--body-color); background-color: var(--app-background-color); position: absolute; border-radius: 0; -webkit-box-shadow: 2px 8px 23px 3px var(--color-box-shadow-color); box-shadow: 2px 8px 23px 3px var(--color-box-shadow-color); overflow: hidden; font-family: Roboto, Arial, Helvetica, Verdana, sans-serif; width: 100%; max-width: 100%; } .eps-app__lightbox { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; position: fixed; height: 100%; width: 100%; background-color: var(--app-lightbox-background-color); z-index: 1040; bottom: 0; left: 0; } .eps-app__header { -ms-flex-negative: 0; flex-shrink: 0; font-size: 0.9375rem; color: var(--app-header-color); background-color: var(--app-header-background-color); -webkit-box-shadow: 0 4px 10px var(--color-box-shadow-color); box-shadow: 0 4px 10px var(--color-box-shadow-color); position: relative; z-index: 3; height: 3.125rem; padding: 0 1rem; } .eps-app__header-buttons { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; font-size: 1.125rem; } .eps-app__header-btn { --button-background-color: var(--app-header-buttons-color); -webkit-padding-start: 1rem; padding-inline-start: 1rem; font-size: 1.125rem; line-height: 1.25rem; } .eps-app__header-btn:first-child { -webkit-border-start: 1px solid var(--app-header-buttons-separator-color); border-inline-start: 1px solid var(--app-header-buttons-separator-color); } .eps-app__header-btn:not(:first-child) { -webkit-padding-end: 1rem; padding-inline-end: 1rem; } .eps-app__logo-title-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .eps-app__logo { display: block; width: 1.75rem; height: 1.75rem; line-height: 1.75rem; text-align: center; font-size: calc(0.4 * 1.75rem); border-radius: 50%; color: #fff; background-color: #93003F; } .eps-app__logo:not(:last-child) { -webkit-margin-end: 0.625rem; margin-inline-end: 0.625rem; } .eps-app__title { font-size: 0.9375rem; font-weight: 700; text-transform: uppercase; margin-bottom: 0; } .eps-app__main { display: -webkit-box; display: -ms-flexbox; display: flex; overflow: hidden; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; } .eps-app__sidebar { background-color: var(--app-sidebar-background-color); padding-top: 1.25rem; width: 30%; max-width: 17.1875rem; -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; overflow-y: auto; -webkit-box-shadow: 2px 8px 23px 3px var(--color-box-shadow-color); box-shadow: 2px 8px 23px 3px var(--color-box-shadow-color); z-index: 4; } .eps-app__content { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; position: relative; padding: 2.75rem; height: 100%; overflow-y: auto; } .e-app-upload-file__input { display: none; } .e-app-drop-zone { --e-app-drop-zone-icon-color: #c2cbd2; --e-app-drop-zone-text-color: #a4afb7; --e-app-drop-zone-secondary-text-color: #6d7882; } .e-app-drop-zone__icon { margin-bottom: 2.75rem; color: var(--e-app-drop-zone-icon-color); font-size: 60px; } .e-app-drop-zone__text { color: var(--e-app-drop-zone-text-color); } .e-app-drop-zone__secondary-text { color: var(--e-app-drop-zone-secondary-text-color); } .eps-theme-dark .e-app-drop-zone { --e-app-drop-zone-icon-color: #c2cbd2; --e-app-drop-zone-text-color: #b4b5b7; --e-app-drop-zone-secondary-text-color: #e0e1e3; } :root { --info-toggle-color: #d5dadf; --info-toggle-hover-color: #a4afb7; } .eps-theme-dark { --placeholder-filter: invert(0.8) sepia(1) saturate(0.2) hue-rotate(180deg) contrast(1.25) brightness(1.2); --info-toggle-color: #64666a; --info-toggle-hover-color: #b4b5b7; } .e-site-part .eps-card__image { -webkit-filter: var(--placeholder-filter, none); filter: var(--placeholder-filter, none); } .e-site-part__info-toggle { color: var(--info-toggle-color); } .e-site-part__info-toggle:hover { --info-toggle-color: var(--info-toggle-hover-color); } .e-site-editor__header { margin-bottom: 2.75rem; border-bottom: 1px solid var(--hr-color); } :root { --e-elementor-loader-container-background-color: #f1f3f5; --e-elementor-loader-background-color: rgba(255, 255, 255, 0.9); } .eps-theme-dark { --e-elementor-loader-container-background-color: #34383c; --e-elementor-loader-background-color: #4c4f56; } .elementor-loading { background-color: var(--e-elementor-loader-container-background-color); height: 100vh; } .elementor-loader-wrapper { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); width: 300px; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-loader { border-radius: 50%; padding: 40px; height: 150px; width: 150px; background-color: var(--e-elementor-loader-background-color); -webkit-box-sizing: border-box; box-sizing: border-box; -webkit-box-shadow: 2px 2px 20px 4px rgba(0, 0, 0, 0.02); box-shadow: 2px 2px 20px 4px rgba(0, 0, 0, 0.02); } .elementor-loader-boxes { height: 100%; width: 100%; position: relative; } .elementor-loader-box { position: absolute; background-color: #d5dadf; -webkit-animation: load 1.8s linear infinite; animation: load 1.8s linear infinite; } .elementor-loader-box:nth-of-type(1) { width: 20%; height: 100%; left: 0; top: 0; } .elementor-loader-box:not(:nth-of-type(1)) { right: 0; height: 20%; width: 60%; } .elementor-loader-box:nth-of-type(2) { top: 0; -webkit-animation-delay: -0.45s; animation-delay: -0.45s; } .elementor-loader-box:nth-of-type(3) { top: 40%; -webkit-animation-delay: -0.9s; animation-delay: -0.9s; } .elementor-loader-box:nth-of-type(4) { bottom: 0; -webkit-animation-delay: -1.35s; animation-delay: -1.35s; } .elementor-loading-title { color: #a4afb7; text-align: center; text-transform: uppercase; margin-top: 30px; letter-spacing: 7px; text-indent: 7px; font-size: 10px; width: 100%; } @-webkit-keyframes load { 0% { opacity: 0.3; } 50% { opacity: 1; } 100% { opacity: 0.3; } } @keyframes load { 0% { opacity: 0.3; } 50% { opacity: 1; } 100% { opacity: 0.3; } } .eps-menu__title { margin-top: 2.75rem; margin-bottom: 1rem; } .e-app-import { --e-app-import-back-to-library-color: #a4afb7; padding-bottom: 1.25rem; } .e-app-import__drop-zone { margin-top: 1.25rem; } .e-app-import__back-to-library { color: var(--e-app-import-back-to-library-color); margin-bottom: 1.5rem; } .e-app-import__back-to-library > i { -webkit-margin-end: 0.5rem; margin-inline-end: 0.5rem; } .eps-theme-dark .e-app-import { --e-app-import-back-to-library-color: #b4b5b7; } .e-site-editor__promotion-overlay__link { display: -webkit-box; display: -ms-flexbox; display: flex; width: 100%; height: 100%; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; text-decoration: none; } .e-site-editor__promotion-overlay__icon { font-size: 1.25rem; color: #fff; margin-bottom: 1rem; } .e-app-import-export-wizard-step { --e-app-import-export-wizard-step-icon-color: #c2cbd2; --e-app-import-export-wizard-step-text-color: #a4afb7; --e-app-import-export-wizard-step-bottom-text-color: #a4afb7; height: 100%; position: relative; text-align: center; } .e-app-import-export-wizard-step__media-container { height: 140px; margin: 5.5rem 0 2.75rem; } .e-app-import-export-wizard-step__icon { color: var(--e-app-import-export-wizard-step-icon-color); font-size: 50px; } .e-app-import-export-wizard-step__icon.eicon-loading { font-size: 1.85rem; } .e-app-import-export-wizard-step__heading { margin-bottom: 1.5rem; } .e-app-import-export-wizard-step__description, .e-app-import-export-wizard-step__info { color: var(--e-app-import-export-wizard-step-text-color); } .e-app-import-export-wizard-step__info { margin-top: 1.5rem; } .e-app-import-export-wizard-step__content { text-align: initial; margin-bottom: 1.25rem; } .e-app-import-export-wizard-step__notice { display: block; position: sticky; top: 100%; /* Will prevent text overlapping when window height is too short. */ color: var(--e-app-import-export-wizard-step-bottom-text-color); font-style: italic; margin-bottom: 0; } .eps-theme-dark .e-app-import-export-wizard-step { --e-app-import-export-wizard-step-icon-color: #64666a; --e-app-import-export-wizard-step-text-color: #b4b5b7; --e-app-import-export-wizard-step-bottom-text-color: #b4b5b7; } .e-app-import-export-page-header { --e-app-import-export-page-header-border-bottom-color: #d5dadf; --e-app-import-export-page-header-heading-color: #6d7882; --e-app-import-export-page-header-description-color: #a4afb7; border-bottom: 1px solid var(--e-app-import-export-page-header-border-bottom-color); margin-bottom: 2.75rem; } .e-app-import-export-page-header__content-wrapper { max-width: 645px; } .e-app-import-export-page-header__heading { color: var(--e-app-import-export-page-header-heading-color); } .e-app-import-export-page-header__description { color: var(--e-app-import-export-page-header-description-color); margin-top: 1.25rem; } .eps-theme-dark .e-app-import-export-page-header { --e-app-import-export-page-header-border-bottom-color: #4c4f56; --e-app-import-export-page-header-heading-color: #e0e1e3; --e-app-import-export-page-header-description-color: #e0e1e3; } .e-app-export-kit-content { --e-app-export-kit-content-title-color: #556068; --e-app-export-kit-content-description-color: #6d7882; } .e-app-export-kit-content__checkbox { -ms-flex-negative: 0; flex-shrink: 0; -webkit-margin-end: 0.75rem; margin-inline-end: 0.75rem; } .e-app-export-kit-content__title { color: var(--e-app-export-kit-content-title-color); } .e-app-export-kit-content__description { color: var(--e-app-export-kit-content-description-color); -webkit-margin-end: 1.25rem; margin-inline-end: 1.25rem; } .e-app-export-kit-content__notice { margin-top: 1rem; } .e-app-export-kit-content__small-notice { font-style: italic; color: var(--e-app-export-kit-content-description-color); } .eps-theme-dark .e-app-export-kit-content { --e-app-export-kit-content-title-color: #e0e1e3; --e-app-export-kit-content-description-color: #b4b5b7; } .e-app-wizard-footer { --e-app-wizard-footer-border-color: #d5dadf; padding: 0.5rem; } .e-app-wizard-footer__separator { border-top: 1px solid var(--e-app-wizard-footer-border-color); } .eps-theme-dark .e-app-wizard-footer { --e-app-wizard-footer-border-color: #4c4f56; } .e-app-export-templates-features__locked { --e-app-export-templates-features-locked-color: #a4afb7; color: var(--e-app-export-templates-features-locked-color); } .eps-theme-dark .e-app-export-templates-features__locked { --e-app-export-templates-features-locked-color: #7d7e82; } :root { --color-box-shadow-color: rgba(0, 0, 0, 0.05); } .eps-theme-dark { --color-box-shadow-color: rgba(0, 0, 0, 0.1); } :root { --card-background-color: rgba(255, 255, 255, 0.5); --card-background-color-hover: #fff; --card-box-shadow: 0 4px 10px var(--color-box-shadow-color); --card-header-footer-border: 1px solid #f1f3f5; --card-header-footer-active-border: 2px solid #e2e6ea; --card-headline-color: #6d7882; --card-figure-background-color: #f1f3f5; --card-image-overlay-background-color: rgba(0, 0, 0, 0.2); } .eps-theme-dark { --card-background-color: #404349; --card-background-color-hover: rgba(76, 79, 86, 0.8); --card-box-shadow: 0 3px 6px var(--color-box-shadow-color); --card-header-footer-border: 1px solid #34383c; --card-header-footer-active-border: 1px solid #26292C; --card-headline-color: #e0e1e3; --card-figure-background-color: #34383c; --card-image-overlay-background-color: rgba(52, 56, 60, 0.5); } .eps-card { background-color: var(--card-background-color); -webkit-box-shadow: 0 4px 10px var(--color-box-shadow-color); box-shadow: 0 4px 10px var(--color-box-shadow-color); border-radius: 0.1875rem; -webkit-transition: 0.3s; -o-transition: 0.3s; transition: 0.3s; font-size: 0.75rem; /* todo: TBD: Optionally remove headline styling in favor of a global atom depending on variation needs */ } .eps-card__header { padding: 0.625rem; border-bottom: var(--card-header-footer-border); min-height: 2.5rem; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .eps-card__header--padding { padding: var(--eps-card-header-padding); } .eps-card__headline { color: var(--card-headline-color); margin-bottom: 0; font-weight: 500; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; overflow: hidden; -o-text-overflow: ellipsis; text-overflow: ellipsis; white-space: nowrap; } .eps-card__body { padding: 0.625rem 0.625rem; } .eps-card__body--padding { padding: var(--eps-card-body-padding); } .eps-card__figure { background-color: var(--card-figure-background-color); position: relative; padding-bottom: var(--card-image-aspect-ratio, 95.6%); overflow: hidden; height: 0; } .eps-card__image { width: 100%; -o-object-fit: contain; object-fit: contain; -o-object-position: top; object-position: top; position: absolute; top: 0; left: 0; } .eps-card__image-overlay { position: absolute; top: 0; background-color: var(--card-image-overlay-background-color); z-index: 1; width: 100%; height: 100%; opacity: 0; -webkit-transition: 0.3s; -o-transition: 0.3s; transition: 0.3s; } .eps-card__image-overlay:hover { opacity: 1; } .eps-card__footer { padding: 0.625rem; border-top: var(--card-header-footer-border); font-size: 0.6875rem; } .eps-card__footer--padding { padding: var(--eps-card-footer-padding); } .eps-card:hover { background-color: var(--card-background-color-hover); } :root { --menu-item-color: #6d7882; --menu-item-color-hover: #556068; --menu-item-background-color-active: #fff; --menu-item-icon-color: #a4afb7; --menu-item-action-button-color: #d5dadf; } .eps-theme-dark { --menu-item-color: #e0e1e3; --menu-item-color-hover: #e0e1e3; --menu-item-background-color-active: #404349; --menu-item-icon-color: #b4b5b7; --menu-item-action-button-color: #64666a; } .eps-menu-item { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; position: relative; -webkit-transition: 0.3s; -o-transition: 0.3s; transition: 0.3s; --action-button-opacity: 0; } .eps-menu-item::before { content: ""; display: block; position: absolute; top: 0; inset-inline-start: 0; height: 100%; width: var(--menu-item-pointer-width); background-color: #58d0f5; } .eps-menu-item:hover { --action-button-opacity: 1; } .eps-menu-item:hover, .eps-menu-item--active { --menu-item-color: var(--menu-item-color-hover); --eps-link-color: var(--menu-item-color-hover); --menu-item-icon-color: #58d0f5; } .eps-menu-item--active { background-color: var(--menu-item-background-color-active); } .eps-menu-item__link { padding: 0.5rem 1.875rem; min-height: 2.75rem; font-size: 0.75rem; line-height: 1.2; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; color: var(--menu-item-color); --eps-link-color: var(--menu-item-color); } .eps-menu-item__link:not(:last-child) { -webkit-padding-end: 0; padding-inline-end: 0; } .eps-menu-item__link .eps-icon { font-size: 1.125rem; color: var(--menu-item-icon-color); -webkit-margin-end: 0.75rem; margin-inline-end: 0.75rem; } .eps-menu-item__action-button { color: var(--menu-item-action-button-color); opacity: var(--action-button-opacity); padding: 0.625rem; -webkit-transition: 0.3s; -o-transition: 0.3s; transition: 0.3s; -webkit-margin-end: 1.25rem; margin-inline-end: 1.25rem; } .eps-menu-item--active { --menu-item-pointer-width: 0.3125rem; -webkit-box-shadow: 0 3px 6px var(--color-box-shadow-color); box-shadow: 0 3px 6px var(--color-box-shadow-color); } .eps-menu-item--active .eps-menu-item__link .eps-icon { color: #58d0f5; } .eps-grid-container { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; width: 100%; } .eps-grid-container--no-wrap { -ms-flex-wrap: nowrap; flex-wrap: nowrap; } .eps-grid-container--wrap-reverse { -ms-flex-wrap: wrap-reverse; flex-wrap: wrap-reverse; } .eps-grid-container--spacing { --grid-row-gutter: calc(-1 * calc( var(--grid-spacing-gutter) * 0.0625rem )); width: var(--grid-spacing-width); margin: var(--grid-row-gutter); } .eps-grid-container--spacing > .eps-grid-item { padding: var(--grid-spacing-gutter); } .eps-grid--direction-row { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; } .eps-grid--direction-row-reverse { -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; } .eps-grid--direction-column { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; } .eps-grid--direction-column-reverse { -webkit-box-orient: vertical; -webkit-box-direction: reverse; -ms-flex-direction: column-reverse; flex-direction: column-reverse; } .eps-grid--justify-stretch { -webkit-box-pack: stretch; -ms-flex-pack: stretch; justify-content: stretch; } .eps-grid--justify-start { -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; } .eps-grid--justify-center { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .eps-grid--justify-end { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; } .eps-grid--justify-space-between { -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; } .eps-grid--justify-space-around { -ms-flex-pack: distribute; justify-content: space-around; } .eps-grid--justify-space-evenly { -webkit-box-pack: space-evenly; -ms-flex-pack: space-evenly; justify-content: space-evenly; } .eps-grid--align-content-stretch { -ms-flex-line-pack: stretch; align-content: stretch; } .eps-grid--align-content-start { -ms-flex-line-pack: start; align-content: flex-start; } .eps-grid--align-content-center { -ms-flex-line-pack: center; align-content: center; } .eps-grid--align-content-end { -ms-flex-line-pack: end; align-content: flex-end; } .eps-grid--align-content-space-between { -ms-flex-line-pack: justify; align-content: space-between; } .eps-grid--align-items-start { -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; } .eps-grid--align-items-center { -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .eps-grid--align-items-end { -webkit-box-align: end; -ms-flex-align: end; align-items: flex-end; } .eps-grid--align-items-baseline { -webkit-box-align: baseline; -ms-flex-align: baseline; align-items: baseline; } .eps-grid--align-items-stretch { -webkit-box-align: stretch; -ms-flex-align: stretch; align-items: stretch; } .eps-grid-item--zero-min-width { min-width: 0; } @media screen and (min-width: 480px) { .eps-grid-item-sm { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; max-width: 100%; -ms-flex-preferred-size: 0; flex-basis: 0; } } @media screen and (min-width: 768px) { .eps-grid-item-md { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; max-width: 100%; -ms-flex-preferred-size: 0; flex-basis: 0; } } @media screen and (min-width: 1025px) { .eps-grid-item-lg { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; max-width: 100%; -ms-flex-preferred-size: 0; flex-basis: 0; } } @media screen and (min-width: 1440px) { .eps-grid-item-xl { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; max-width: 100%; -ms-flex-preferred-size: 0; flex-basis: 0; } } @media screen and (min-width: 1600px) { .eps-grid-item-xxl { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; max-width: 100%; -ms-flex-preferred-size: 0; flex-basis: 0; } } .eps-grid-item-xs-1 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 8.3333333333%; -ms-flex-preferred-size: 8.3333333333%; flex-basis: 8.3333333333%; } .eps-grid-item-xs-2 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 16.6666666667%; -ms-flex-preferred-size: 16.6666666667%; flex-basis: 16.6666666667%; } .eps-grid-item-xs-3 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 25%; -ms-flex-preferred-size: 25%; flex-basis: 25%; } .eps-grid-item-xs-4 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 33.3333333333%; -ms-flex-preferred-size: 33.3333333333%; flex-basis: 33.3333333333%; } .eps-grid-item-xs-5 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 41.6666666667%; -ms-flex-preferred-size: 41.6666666667%; flex-basis: 41.6666666667%; } .eps-grid-item-xs-6 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 50%; -ms-flex-preferred-size: 50%; flex-basis: 50%; } .eps-grid-item-xs-7 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 58.3333333333%; -ms-flex-preferred-size: 58.3333333333%; flex-basis: 58.3333333333%; } .eps-grid-item-xs-8 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 66.6666666667%; -ms-flex-preferred-size: 66.6666666667%; flex-basis: 66.6666666667%; } .eps-grid-item-xs-9 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 75%; -ms-flex-preferred-size: 75%; flex-basis: 75%; } .eps-grid-item-xs-10 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 83.3333333333%; -ms-flex-preferred-size: 83.3333333333%; flex-basis: 83.3333333333%; } .eps-grid-item-xs-11 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 91.6666666667%; -ms-flex-preferred-size: 91.6666666667%; flex-basis: 91.6666666667%; } .eps-grid-item-xs-12 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 100%; -ms-flex-preferred-size: 100%; flex-basis: 100%; } @media screen and (min-width: 480px) { .eps-grid-item-sm-1 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 8.3333333333%; -ms-flex-preferred-size: 8.3333333333%; flex-basis: 8.3333333333%; } .eps-grid-item-sm-2 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 16.6666666667%; -ms-flex-preferred-size: 16.6666666667%; flex-basis: 16.6666666667%; } .eps-grid-item-sm-3 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 25%; -ms-flex-preferred-size: 25%; flex-basis: 25%; } .eps-grid-item-sm-4 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 33.3333333333%; -ms-flex-preferred-size: 33.3333333333%; flex-basis: 33.3333333333%; } .eps-grid-item-sm-5 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 41.6666666667%; -ms-flex-preferred-size: 41.6666666667%; flex-basis: 41.6666666667%; } .eps-grid-item-sm-6 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 50%; -ms-flex-preferred-size: 50%; flex-basis: 50%; } .eps-grid-item-sm-7 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 58.3333333333%; -ms-flex-preferred-size: 58.3333333333%; flex-basis: 58.3333333333%; } .eps-grid-item-sm-8 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 66.6666666667%; -ms-flex-preferred-size: 66.6666666667%; flex-basis: 66.6666666667%; } .eps-grid-item-sm-9 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 75%; -ms-flex-preferred-size: 75%; flex-basis: 75%; } .eps-grid-item-sm-10 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 83.3333333333%; -ms-flex-preferred-size: 83.3333333333%; flex-basis: 83.3333333333%; } .eps-grid-item-sm-11 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 91.6666666667%; -ms-flex-preferred-size: 91.6666666667%; flex-basis: 91.6666666667%; } .eps-grid-item-sm-12 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 100%; -ms-flex-preferred-size: 100%; flex-basis: 100%; } } @media screen and (min-width: 768px) { .eps-grid-item-md-1 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 8.3333333333%; -ms-flex-preferred-size: 8.3333333333%; flex-basis: 8.3333333333%; } .eps-grid-item-md-2 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 16.6666666667%; -ms-flex-preferred-size: 16.6666666667%; flex-basis: 16.6666666667%; } .eps-grid-item-md-3 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 25%; -ms-flex-preferred-size: 25%; flex-basis: 25%; } .eps-grid-item-md-4 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 33.3333333333%; -ms-flex-preferred-size: 33.3333333333%; flex-basis: 33.3333333333%; } .eps-grid-item-md-5 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 41.6666666667%; -ms-flex-preferred-size: 41.6666666667%; flex-basis: 41.6666666667%; } .eps-grid-item-md-6 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 50%; -ms-flex-preferred-size: 50%; flex-basis: 50%; } .eps-grid-item-md-7 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 58.3333333333%; -ms-flex-preferred-size: 58.3333333333%; flex-basis: 58.3333333333%; } .eps-grid-item-md-8 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 66.6666666667%; -ms-flex-preferred-size: 66.6666666667%; flex-basis: 66.6666666667%; } .eps-grid-item-md-9 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 75%; -ms-flex-preferred-size: 75%; flex-basis: 75%; } .eps-grid-item-md-10 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 83.3333333333%; -ms-flex-preferred-size: 83.3333333333%; flex-basis: 83.3333333333%; } .eps-grid-item-md-11 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 91.6666666667%; -ms-flex-preferred-size: 91.6666666667%; flex-basis: 91.6666666667%; } .eps-grid-item-md-12 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 100%; -ms-flex-preferred-size: 100%; flex-basis: 100%; } } @media screen and (min-width: 1025px) { .eps-grid-item-lg-1 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 8.3333333333%; -ms-flex-preferred-size: 8.3333333333%; flex-basis: 8.3333333333%; } .eps-grid-item-lg-2 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 16.6666666667%; -ms-flex-preferred-size: 16.6666666667%; flex-basis: 16.6666666667%; } .eps-grid-item-lg-3 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 25%; -ms-flex-preferred-size: 25%; flex-basis: 25%; } .eps-grid-item-lg-4 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 33.3333333333%; -ms-flex-preferred-size: 33.3333333333%; flex-basis: 33.3333333333%; } .eps-grid-item-lg-5 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 41.6666666667%; -ms-flex-preferred-size: 41.6666666667%; flex-basis: 41.6666666667%; } .eps-grid-item-lg-6 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 50%; -ms-flex-preferred-size: 50%; flex-basis: 50%; } .eps-grid-item-lg-7 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 58.3333333333%; -ms-flex-preferred-size: 58.3333333333%; flex-basis: 58.3333333333%; } .eps-grid-item-lg-8 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 66.6666666667%; -ms-flex-preferred-size: 66.6666666667%; flex-basis: 66.6666666667%; } .eps-grid-item-lg-9 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 75%; -ms-flex-preferred-size: 75%; flex-basis: 75%; } .eps-grid-item-lg-10 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 83.3333333333%; -ms-flex-preferred-size: 83.3333333333%; flex-basis: 83.3333333333%; } .eps-grid-item-lg-11 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 91.6666666667%; -ms-flex-preferred-size: 91.6666666667%; flex-basis: 91.6666666667%; } .eps-grid-item-lg-12 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 100%; -ms-flex-preferred-size: 100%; flex-basis: 100%; } } @media screen and (min-width: 1440px) { .eps-grid-item-xl-1 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 8.3333333333%; -ms-flex-preferred-size: 8.3333333333%; flex-basis: 8.3333333333%; } .eps-grid-item-xl-2 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 16.6666666667%; -ms-flex-preferred-size: 16.6666666667%; flex-basis: 16.6666666667%; } .eps-grid-item-xl-3 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 25%; -ms-flex-preferred-size: 25%; flex-basis: 25%; } .eps-grid-item-xl-4 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 33.3333333333%; -ms-flex-preferred-size: 33.3333333333%; flex-basis: 33.3333333333%; } .eps-grid-item-xl-5 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 41.6666666667%; -ms-flex-preferred-size: 41.6666666667%; flex-basis: 41.6666666667%; } .eps-grid-item-xl-6 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 50%; -ms-flex-preferred-size: 50%; flex-basis: 50%; } .eps-grid-item-xl-7 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 58.3333333333%; -ms-flex-preferred-size: 58.3333333333%; flex-basis: 58.3333333333%; } .eps-grid-item-xl-8 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 66.6666666667%; -ms-flex-preferred-size: 66.6666666667%; flex-basis: 66.6666666667%; } .eps-grid-item-xl-9 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 75%; -ms-flex-preferred-size: 75%; flex-basis: 75%; } .eps-grid-item-xl-10 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 83.3333333333%; -ms-flex-preferred-size: 83.3333333333%; flex-basis: 83.3333333333%; } .eps-grid-item-xl-11 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 91.6666666667%; -ms-flex-preferred-size: 91.6666666667%; flex-basis: 91.6666666667%; } .eps-grid-item-xl-12 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 100%; -ms-flex-preferred-size: 100%; flex-basis: 100%; } } @media screen and (min-width: 1600px) { .eps-grid-item-xxl-1 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 8.3333333333%; -ms-flex-preferred-size: 8.3333333333%; flex-basis: 8.3333333333%; } .eps-grid-item-xxl-2 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 16.6666666667%; -ms-flex-preferred-size: 16.6666666667%; flex-basis: 16.6666666667%; } .eps-grid-item-xxl-3 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 25%; -ms-flex-preferred-size: 25%; flex-basis: 25%; } .eps-grid-item-xxl-4 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 33.3333333333%; -ms-flex-preferred-size: 33.3333333333%; flex-basis: 33.3333333333%; } .eps-grid-item-xxl-5 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 41.6666666667%; -ms-flex-preferred-size: 41.6666666667%; flex-basis: 41.6666666667%; } .eps-grid-item-xxl-6 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 50%; -ms-flex-preferred-size: 50%; flex-basis: 50%; } .eps-grid-item-xxl-7 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 58.3333333333%; -ms-flex-preferred-size: 58.3333333333%; flex-basis: 58.3333333333%; } .eps-grid-item-xxl-8 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 66.6666666667%; -ms-flex-preferred-size: 66.6666666667%; flex-basis: 66.6666666667%; } .eps-grid-item-xxl-9 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 75%; -ms-flex-preferred-size: 75%; flex-basis: 75%; } .eps-grid-item-xxl-10 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 83.3333333333%; -ms-flex-preferred-size: 83.3333333333%; flex-basis: 83.3333333333%; } .eps-grid-item-xxl-11 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 91.6666666667%; -ms-flex-preferred-size: 91.6666666667%; flex-basis: 91.6666666667%; } .eps-grid-item-xxl-12 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 100%; -ms-flex-preferred-size: 100%; flex-basis: 100%; } } :root { --menu-title-color: #6d7882; } .eps-theme-dark { --menu-title-color: #6d7882; } .eps-menu ul { list-style: none; padding: 0; margin: 0; } .eps-menu ul li { display: -webkit-box; display: -ms-flexbox; display: flex; } .eps-menu__title { padding: 0.5rem 1.875rem; font-size: 0.6875rem; line-height: 1.2; text-transform: uppercase; font-weight: normal; color: var(--menu-title-color); } :root { --eps-modal-background-color: #fff; --eps-modal-header-background-color: #58d0f5; } .eps-theme-dark { --eps-modal-background-color: #34383c; --eps-modal-header-background-color: #58d0f5; } /** ---------------------------------------------------------------- EPS Modal ---------------------------------------------------------------- */ .eps-modal { max-width: 43.75rem; background: var(--eps-modal-background-color); border-radius: 0.1875rem; -webkit-animation: eps-animation-pop 0.15s cubic-bezier(0.57, 0.53, 0.71, 1.47) forwards; animation: eps-animation-pop 0.15s cubic-bezier(0.57, 0.53, 0.71, 1.47) forwards; } .eps-modal__overlay { background: rgba(0, 0, 0, 0.5); position: fixed; display: -webkit-box; display: -ms-flexbox; display: flex; top: 0; left: 0; width: 100%; height: 100%; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; z-index: 1030; } .eps-modal__header { font-size: 0.875rem; background: var(--eps-modal-header-background-color); height: 2.75rem; padding: 0.625rem 1rem; border-radius: 0.1875rem; } .eps-modal__header, .eps-modal__header .title { color: #fff; } .eps-modal__icon { -webkit-margin-end: 0.625rem; margin-inline-end: 0.625rem; } .eps-modal__body { padding: 1.875rem; } .eps-modal__tip, .eps-modal .eps-tip { -webkit-padding-start: 0.75rem; padding-inline-start: 0.75rem; -webkit-border-start: 3px solid #58d0f5; border-inline-start: 3px solid #58d0f5; } .eps-modal__tip:not(:last-child), .eps-modal .eps-tip:not(:last-child) { margin-bottom: 1.875rem; } .eps-modal__tip:not(:first-child), .eps-modal .eps-tip:not(:first-child) { margin-top: 1.875rem; } .eps-modal__section:not(:first-child) { margin-top: 1.875rem; } .eps-modal__close-wrapper { -webkit-padding-start: 1rem; padding-inline-start: 1rem; -webkit-border-start: solid 1px #fff; border-inline-start: solid 1px #fff; } .eps-add-new-button { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; --eps-add-new-button-size: 1.5rem; line-height: var(--eps-add-new-button-size); cursor: pointer; } .eps-add-new-button .eps-icon { background-color: #58d0f5; color: #fff; width: var(--eps-add-new-button-size); height: var(--eps-add-new-button-size); border-radius: 100%; font-size: calc(var(--eps-add-new-button-size) * 0.75); text-align: center; line-height: var(--eps-add-new-button-size); } .eps-add-new-button span:not(.sr-only) { -webkit-margin-start: 0.625rem; margin-inline-start: 0.625rem; font-weight: 500; } .eps-add-new-button--sm { --eps-add-new-button-size: 1rem; } :root { --select2-selection-background-color: #fff; --select2-selection-color: #6d7882; --select2-selection-border-color: #d5dadf; --select2-selection-opened-focused-border-color: #f1f3f5; --select2-single-selection-rendered-color: #6d7882; --select2-default-single-selection-background-color: #fff; --select2-default-single-selection-border-color: #d5dadf; --select2-default-multiple-selection-background-color: #fff; --select2-default-multiple-selection-choice-background-color: #f1f3f5; --select2-default-multiple-selection-choice-color: #6d7882; --select2-default-multiple-selection-choice-border-color: #f1f3f5; --select2-default-multiple-selection-choice-remove-color: #a4afb7; --select2-default-multiple-selection-choice-remove-hover-color: #6d7882; --select2-default-results-selected-option-background-color: #fff; --select2-default-results-selected-option-color: #6d7882; --select2-default-results-highlighted-option-background-color: #5897fb; --select2-default-results-highlighted-option-color: #fff; --select2-results-selected-option-background-color: #5897fb; --select2-results-selected-option-color: #fff; --select2-dropdown-background-color: #fff; --select2-dropdown-border-color: #d5dadf; } .eps-theme-dark { --select2-selection-background-color: #34383c; --select2-selection-color: #e0e1e3; --select2-selection-border-color: #64666a; --select2-selection-opened-focused-border-color: #7d7e82; --select2-single-selection-rendered-color: #e0e1e3; --select2-default-single-selection-background-color: #34383c; --select2-default-single-selection-border-color: #4c4f56; --select2-default-multiple-selection-background-color: #34383c; --select2-default-multiple-selection-choice-background-color: #4c4f56; --select2-default-multiple-selection-choice-color: #e0e1e3; --select2-default-multiple-selection-choice-border-color: #4c4f56; --select2-default-multiple-selection-choice-remove-color: #b4b5b7; --select2-default-multiple-selection-choice-remove-hover-color: #e0e1e3; --select2-default-results-selected-option-background-color: #34383c; --select2-default-results-selected-option-color: #e0e1e3; --select2-default-results-highlighted-option-background-color: #4c4f56; --select2-default-results-highlighted-option-color: #e0e1e3; --select2-results-selected-option-background-color: #4c4f56; --select2-results-selected-option-color: #e0e1e3; --select2-dropdown-background-color: #34383c; --select2-dropdown-border-color: #64666a; } .select2-container:not(.select2-container--open):not(.select2-container--focus) .select2-selection--single, .select2-container:not(.select2-container--open):not(.select2-container--focus) .select2-selection--multiple { background-color: var(--select2-selection-background-color); color: var(--select2-selection-color); border-color: var(--select2-selection-border-color); } .select2-container.select2-container--open .select2-selection--single, .select2-container.select2-container--open .select2-selection--multiple, .select2-container.select2-container--focus .select2-selection--single, .select2-container.select2-container--focus .select2-selection--multiple { border-color: var(--select2-selection-opened-focused-border-color); } .select2-container.select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--select2-single-selection-rendered-color); } .select2-container--default .select2-selection--single { background-color: var(--select2-default-single-selection-background-color); border-color: var(--select2-default-single-selection-border-color); } .select2-container--default .select2-selection--multiple { background-color: var(--select2-default-multiple-selection-background-color); } .select2-container--default .select2-selection--multiple .select2-selection__choice { background-color: var(--select2-default-multiple-selection-choice-background-color); color: var(--select2-default-multiple-selection-choice-color); border-color: var(--select2-default-multiple-selection-choice-border-color); } .select2-container--default .select2-selection--multiple .select2-selection__choice__remove { color: var(--select2-default-multiple-selection-choice-remove-color); } .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover { color: var(--select2-default-multiple-selection-choice-remove-hover-color); } .select2-container--default .select2-results__option[aria-selected] { background-color: var(--select2-default-results-selected-option-background-color); color: var(--select2-default-results-selected-option-color); } .select2-container--default .select2-results__option--highlighted[aria-selected] { background-color: var(--select2-default-results-highlighted-option-background-color); color: var(--select2-default-results-highlighted-option-color); } .select2-container .select2-results__option[aria-selected=true] { background-color: var(--select2-results-selected-option-background-color); color: var(--select2-results-selected-option-color); } .select2-container .select2-dropdown { background-color: var(--select2-dropdown-background-color); border-color: var(--select2-dropdown-border-color); } .eps-notice { --eps-box-notice-color: #a4afb7; --eps-box-notice-background-color: #fcfcfc; padding: 0.625rem 1rem; -webkit-box-shadow: 0 2px 3px 1px var(--color-box-shadow-color); box-shadow: 0 2px 3px 1px var(--color-box-shadow-color); background-color: var(--eps-box-notice-background-color); } .eps-notice-semantic { -webkit-border-start: 3px solid var(--eps-notice-semantic-color); border-inline-start: 3px solid var(--eps-notice-semantic-color); } .eps-notice-semantic .eps-notice__icon { color: var(--eps-notice-semantic-color); font-size: 1rem; -webkit-margin-end: 0.75rem; margin-inline-end: 0.75rem; } .eps-notice--warning { --eps-notice-semantic-color: #fcb92c; } .eps-notice--danger { --eps-notice-semantic-color: #b01b1b; } .eps-notice--info { --eps-notice-semantic-color: #58d0f5; } .eps-notice__text { margin: 0; padding: 0; color: var(--eps-box-notice-color); font-style: italic; } .eps-notice__button-container { -ms-flex-negative: 0; flex-shrink: 0; margin-left: 1.25rem; width: auto; } .eps-theme-dark .eps-notice { --eps-box-notice-color: #b4b5b7; --eps-box-notice-background-color: #404349; } .eps-list { --eps-list-item-separated-border-color: #f1f3f5; padding: 0; margin: 0; list-style-type: none; } .eps-list--padding { padding: var(--eps-list-padding); } .eps-list__item { padding: 0; } .eps-list__item--padding { padding: var(--eps-list-item-padding); } .eps-list--separated .eps-list__item:not(:last-child) { border-bottom: 1px solid var(--eps-list-item-separated-border-color); } .eps-theme-dark .eps-list { --eps-list-item-separated-border-color: #34383c; } :root { --popover-background-color: #fff; --popover-item-color: #6d7882; --popover-item-hover-color: #556068; --popover-item-danger-hover-color: #b01b1b; --popover-item-background-color: #fff; --popover-box-shadow-color: rgba(0, 0, 0, 0.15); --popover-box-shadow-size: 0px 1px 20px; --popover-arrow-color: #fff; } .eps-theme-dark { --popover-background-color: #4c4f56; --popover-item-color: #fff; --popover-item-hover-color: #e0e1e3; --popover-item-danger-hover-color: #F84343; --popover-item-background-color: #4c4f56; --popover-box-shadow-color: rgba(0, 0, 0, 0.15); --popover-box-shadow-size: 0px 1px 20px; --popover-arrow-color: #4c4f56; } .eps-popover { padding: 10px 0; background-color: var(--popover-background-color); -webkit-box-shadow: var(--popover-box-shadow-size) var(--popover-box-shadow-color); box-shadow: var(--popover-box-shadow-size) var(--popover-box-shadow-color); list-style: none; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; min-width: 120px; border-radius: 0.1875rem; position: absolute; z-index: 1050; margin-top: 9px; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); left: 0.25rem; } .eps-popover__background { position: fixed; top: 0; bottom: 0; left: 0; right: 0; z-index: 1030; } .eps-popover__container { position: relative; } .eps-popover::before { content: ""; display: block; position: absolute; width: 16px; height: 9px; margin: 0 0.1875rem 9px; top: -9px; left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); border-color: transparent; border-style: solid; border-width: 0 8px 9px 8px; border-bottom-color: var(--popover-arrow-color); } .eps-popover__item { padding: 0.3125rem 1rem; background-color: var(--popover-item-background-color); color: var(--popover-item-color); font-size: 0.6875rem; font-weight: 500; line-height: 0.8125rem; width: 100%; -webkit-box-align: center; -ms-flex-align: center; align-items: center; cursor: pointer; } .eps-popover__item:hover { color: var(--popover-item-hover-color); } .eps-popover__item--danger:hover { color: var(--popover-item-danger-hover-color); } .eps-popover__item .eps-icon { font-size: inherit; -webkit-margin-end: 0.3125rem; margin-inline-end: 0.3125rem; } .eps-css-grid { display: grid; grid-template-columns: repeat(var(--eps-grid-columns, auto-fill), minmax(var(--eps-grid-col-min-width, 1fr), var(--eps-grid-col-max-width, 1fr))); grid-gap: var(--eps-grid-spacing); } .eps-box { --eps-box-background-color: #fff; --eps-box-color: #495157; --eps-box-input-color: #495157; padding: 0; border-radius: 0.1875rem; background-color: var(--eps-box-background-color); color: var(--eps-box-color); } .eps-box--padding { padding: var(--eps-box-padding); } .eps-box > input { width: 100%; outline: 0; border: 0; background-color: var(--eps-box-background-color); color: var(--eps-box-input-color); } .eps-theme-dark .eps-box { --eps-box-background-color: #404349; --eps-box-color: #e0e1e3; --eps-box-input-color: #e0e1e3; } :root { --checkbox-border-color: #d5dadf; --checkbox-hover-border-color: #c7cdd4; --checkbox-active-border-color: #e3e7ea; --checkbox-background-color: #fff; --checkbox-checked-background-color: #39b54a; --checkbox-checked-hover-background-color: #33a242; --checkbox-checked-active-background-color: #44c455; --checkbox-checked-disabled-background-color: #c2cbd2; --checkbox-indicator-color: #fff; --checkbox-error-background-color: #b01b1b; } .eps-theme-dark { --checkbox-background-color: transparent; } .eps-checkbox { -webkit-appearance: none; border-radius: 0.1875rem; width: 15px; height: 15px; outline: 0; background-color: var(--checkbox-background-color); display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; border: 1px solid var(--checkbox-border-color); } .eps-checkbox::after { display: inline-block; margin-bottom: 12.5%; content: " "; width: 3px; height: 6px; -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); } .eps-checkbox:hover { --checkbox-border-color: var(--checkbox-hover-border-color); } .eps-checkbox:active { --checkbox-border-color: var(--checkbox-active-border-color); } .eps-checkbox:checked { --checkbox-background-color: var(--checkbox-checked-background-color); --checkbox-border-color: var(--checkbox-checked-background-color); } .eps-checkbox:checked::after { border: solid #fff; border-width: 0 1px 1px 0; } .eps-checkbox:checked:hover { --checkbox-background-color: var(--checkbox-checked-hover-background-color); --checkbox-border-color: var(--checkbox-checked-hover-background-color); } .eps-checkbox:checked:active { --checkbox-background-color: var(--checkbox-checked-active-background-color); --checkbox-border-color: var(--checkbox-checked-active-background-color); } .eps-checkbox:checked:disabled { --checkbox-background-color: var(--checkbox-checked-disabled-background-color); --checkbox-border-color: var(--checkbox-checked-disabled-background-color); } .eps-checkbox--rounded { border-radius: 50%; } .eps-checkbox--indeterminate { --checkbox-background-color: var(--checkbox-checked-background-color); --checkbox-border-color: var(--checkbox-checked-background-color); } .eps-checkbox--indeterminate::after { display: inline-block; margin-bottom: 0; content: " "; width: 7px; height: 0; -webkit-transform: rotate(0deg); -ms-transform: rotate(0deg); transform: rotate(0deg); border-top: 1px solid #fff; } .eps-checkbox--error::before, .eps-checkbox--error::after, .eps-checkbox--error:checked::before, .eps-checkbox--error:checked::after { display: inline-block; margin-bottom: 0; content: " "; width: 7px; height: 0; border: solid #fff; border-width: 1px 0 0 0; position: absolute; } .eps-checkbox--error::before, .eps-checkbox--error:checked::before { -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); } .eps-checkbox--error::after, .eps-checkbox--error:checked::after { -webkit-transform: rotate(-45deg); -ms-transform: rotate(-45deg); transform: rotate(-45deg); } .eps-checkbox--error, .eps-checkbox--error:hover, .eps-checkbox--error:checked, .eps-checkbox--error:checked:hover { --checkbox-background-color: var(--checkbox-error-background-color); --checkbox-border-color: var(--checkbox-error-background-color); } :root { --e-app-drag-drop-background-color: #fff; --e-app-drag-drop-outline-color: #d5dadf; } .eps-theme-dark { --e-app-drag-drop-background-color: #404349; --e-app-drag-drop-outline-color: #7d7e82; } .e-app-drag-drop { background-color: var(--e-app-drag-drop-background-color); outline: 2px dashed var(--e-app-drag-drop-outline-color); outline-offset: -0.75rem; margin-bottom: 1.5rem; padding: 4.125rem; text-align: center; } .e-app-drag-drop--drag-over { outline-color: #58d0f5; } .eps-dialog { border-radius: 3px; width: 375px; } .eps-dialog__close-button { position: absolute; top: -2.75rem; right: -2.75rem; margin-top: 0.625rem; margin-right: 0.625rem; z-index: 1040; font-size: 1.25rem; color: #fff; } .eps-dialog__content { padding: 1.5rem 1.875rem 1rem; font-size: 0.75rem; } .eps-dialog__title, .eps-dialog__text { text-align: center; } .eps-dialog__buttons { display: -webkit-box; display: -ms-flexbox; display: flex; } .eps-dialog__button { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; border-top: 1px solid var(--hr-color); line-height: 2.75rem; text-align: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .eps-dialog__button:last-child:not(:first-child) { -webkit-border-start: 1px solid var(--hr-color); border-inline-start: 1px solid var(--hr-color); } .e-app__popover { display: none; position: absolute; -webkit-box-shadow: 0 2px 15px rgba(0, 0, 0, 0.3); box-shadow: 0 2px 15px rgba(0, 0, 0, 0.3); border-radius: 6px; padding: 20px; width: -webkit-fit-content; width: -moz-fit-content; width: fit-content; z-index: 999; background-color: #ffffff; } .e-app__popover:before { content: ""; position: absolute; top: -16px; left: var(--popover-arrow-offset-end, 22px); border: 8px solid transparent; border-bottom-color: #fff; } .eps-inline-link { color: var(--eps-inline-link-color); background-color: initial; border: 0; padding: 0; } .eps-inline-link--color-primary { --eps-inline-link-color: #39b54a; } .eps-inline-link--color-secondary { --eps-inline-link-color: #c2cbd2; } .eps-inline-link--color-danger { --eps-inline-link-color: #b01b1b; } .eps-inline-link--color-cta { --eps-inline-link-color: #93003F; } .eps-inline-link--color-link { --eps-inline-link-color: #58d0f5; } .eps-inline-link--color-disabled { --eps-inline-link-color: #c2cbd2; } .eps-inline-link--underline-hover:hover, .eps-inline-link--underline-always, .eps-inline-link--underline-always:hover { text-decoration: underline; } .eps-inline-link--italic { font-style: italic; } .eps-inline-link, .eps-inline-link:focus { outline: none; } .eps-text-field { --eps-text-field-color: #6d7882; --eps-text-field-background-color: #fff; --eps-text-field-placeholder-color: #a4afb7; --eps-text-field-outlined-border-color: #d5dadf; --eps-text-field-outlined-focus-border-color: #c2cbd2; width: 100%; color: var(--eps-text-field-color); background-color: var(--eps-text-field-background-color); border: 0; outline: none; font-family: Roboto, Arial, Helvetica, Verdana, sans-serif; font-size: 0.875rem; font-weight: 400; line-height: 1.5; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .eps-text-field--outlined { border-radius: 0.1875rem; border: 1px solid var(--eps-text-field-outlined-border-color); padding: 0.625rem; } .eps-text-field--outlined:focus { border-color: var(--eps-text-field-outlined-focus-border-color); } .eps-text-field::-webkit-input-placeholder { color: var(--eps-text-field-placeholder-color); font-family: Roboto, Arial, Helvetica, Verdana, sans-serif; font-size: 0.875rem; font-weight: 400; line-height: 1.5; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .eps-text-field::-moz-placeholder { color: var(--eps-text-field-placeholder-color); font-family: Roboto, Arial, Helvetica, Verdana, sans-serif; font-size: 0.875rem; font-weight: 400; line-height: 1.5; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .eps-text-field::-ms-input-placeholder { color: var(--eps-text-field-placeholder-color); font-family: Roboto, Arial, Helvetica, Verdana, sans-serif; font-size: 0.875rem; font-weight: 400; line-height: 1.5; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .eps-text-field::placeholder { color: var(--eps-text-field-placeholder-color); font-family: Roboto, Arial, Helvetica, Verdana, sans-serif; font-size: 0.875rem; font-weight: 400; line-height: 1.5; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .eps-theme-dark .eps-text-field { --eps-text-field-color: #b4b5b7; --eps-text-field-background-color: #34383c; --eps-text-field-placeholder-color: #7d7e82; --eps-text-field-outlined-border-color: #64666a; --eps-text-field-outlined-focus-border-color: #7d7e82; } .e-app-import-export-content-layout { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; height: 100%; } .e-app-import-export-content-layout__container { -ms-flex-preferred-size: 1075px; flex-basis: 1075px; } .e-app-export-complete__kit-content-title { margin: 2.75rem 0 0.625rem; } .e-app-export-kit-content { --e-app-export-kit-content-title-color: #556068; --e-app-export-kit-content-description-color: #6d7882; } .e-app-export-kit-content__checkbox { -ms-flex-negative: 0; flex-shrink: 0; -webkit-margin-end: 0.75rem; margin-inline-end: 0.75rem; } .e-app-export-kit-content__title { color: var(--e-app-export-kit-content-title-color); } .e-app-export-kit-content__description { color: var(--e-app-export-kit-content-description-color); -webkit-margin-end: 1.25rem; margin-inline-end: 1.25rem; } .e-app-export-kit-content__notice { margin-top: 1rem; } .e-app-export-kit-content__small-notice { font-style: italic; color: var(--e-app-export-kit-content-description-color); } .eps-theme-dark .e-app-export-kit-content { --e-app-export-kit-content-title-color: #e0e1e3; --e-app-export-kit-content-description-color: #b4b5b7; } .e-app-import-export-kit-data { --e-app-import-export-kit-data-site-area-color: #556068; --e-app-import-export-kit-data-included-color: #a4afb7; } .e-app-import-export-kit-data__site-area, .e-app-import-export-kit-data__included { margin-bottom: 0; } .e-app-import-export-kit-data__site-area { color: var(--e-app-import-export-kit-data-site-area-color); font-weight: bold; } .e-app-import-export-kit-data__included { color: var(--e-app-import-export-kit-data-included-color); } .eps-theme-dark .e-app-import-export-kit-data { --e-app-import-export-kit-data-site-area-color: #b4b5b7; --e-app-import-export-kit-data-included-color: #7d7e82; } .e-app-import-resolver { --e-app-import-resolver-panel-header-background-color: #fff; --e-app-import-resolver-panel-body-background-color: rgba(255, 255, 255, 0.5); --e-app-import-resolver-conflicts-asset-border-color: #c2cbd2; --e-app-import-resolver-conflicts-asset-inactive-color: #a4afb7; padding-bottom: 1.25rem; } .e-app-import-resolver__notice { margin-bottom: 1.25rem; } .e-app-import-resolver__panel, .e-app-import-resolver__panel:hover { background-color: initial; } .e-app-import-resolver__panel-header { background-color: var(--e-app-import-resolver-panel-header-background-color); } .e-app-import-resolver__panel-body { background-color: var(--e-app-import-resolver-panel-body-background-color); } .e-app-import-resolver-conflicts__container { -webkit-box-shadow: 0 2px 3px 1px var(--color-box-shadow-color); box-shadow: 0 2px 3px 1px var(--color-box-shadow-color); } .e-app-import-resolver-conflicts__checkbox { -ms-flex-negative: 0; flex-shrink: 0; -webkit-margin-end: 0.75rem; margin-inline-end: 0.75rem; } .e-app-import-resolver-conflicts__title { line-height: 1; } .e-app-import-resolver-conflicts__asset:not(:first-child) { -webkit-border-start: 2px solid var(--e-app-import-resolver-conflicts-asset-border-color); border-inline-start: 2px solid var(--e-app-import-resolver-conflicts-asset-border-color); -webkit-padding-start: 1rem; padding-inline-start: 1rem; -webkit-margin-start: 1rem; margin-inline-start: 1rem; } .e-app-import-resolver-conflicts__asset:not(.active) { color: var(--e-app-import-resolver-conflicts-asset-inactive-color); } .e-app-import-resolver-conflicts__edit-template { -webkit-margin-start: 0.3125rem; margin-inline-start: 0.3125rem; } .eps-theme-dark .e-app-import-resolver { --e-app-import-resolver-panel-header-background-color: #4c4f56; --e-app-import-resolver-panel-body-background-color: rgba(0, 0, 0, 0.05); --e-app-import-resolver-conflicts-asset-border-color: #64666a; --e-app-import-resolver-conflicts-asset-inactive-color: #7d7e82; } .eps-panel { --eps-panel-header-background-color: #fff; --eps-panel-body-background-color: rgba(255, 255, 255, 0.5); } .eps-panel, .eps-panel:hover { background-color: initial; } .eps-panel__header { background-color: var(--eps-panel-header-background-color); border-radius: 0.1875rem; } .eps-panel__body { background-color: var(--eps-panel-body-background-color); border-radius: 0 0 0.1875rem 0.1875rem; } .eps-theme-dark .eps-panel { --eps-panel-header-background-color: #404349; --eps-panel-body-background-color: rgba(64, 67, 73, 0.5); } .e-app-export-kit { padding-bottom: 1.25rem; } .e-app-export-kit-information { margin-top: 1.25rem; } .e-app-export-kit-information__field-header { margin-bottom: 0.625rem; } .e-app-export-kit-information__label { margin: 0; } .e-app-export-kit-information__info-icon { -webkit-margin-start: 0.625rem; margin-inline-start: 0.625rem; } .e-app-export-kit-info-modal__icon { -webkit-padding-start: 0.625rem; padding-inline-start: 0.625rem; } .e-app-export-kit-info-modal__heading { margin-bottom: 1.25rem; } .e-app-import-export-info-modal__section:not(:first-child) { margin-top: 1.875rem; } .e-app-import-export-info-modal__heading { margin-bottom: 1.25rem; } :root { --eps-badge-background-color: #fff; } .eps-theme-dark { --eps-badge-background-color: #404349; } .eps-badge { display: inline-block; background: var(--eps-badge-background-color); padding: 0 0.5rem; line-height: 1.8; -webkit-box-shadow: 0 3px 6px var(--color-box-shadow-color); box-shadow: 0 3px 6px var(--color-box-shadow-color); border-radius: 4px; font-size: 0.75rem; } .eps-badge--sm { font-size: 0.625rem; border-radius: 3px; padding: 0 0.3125rem; line-height: 1.5; } .eps-collapse__title { cursor: pointer; padding: 0.3125rem 0; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; width: 100%; background: transparent; border: none; color: inherit; } .eps-collapse__title:focus { outline: none; } .eps-collapse__icon { -webkit-transition: all 150ms; -o-transition: all 150ms; transition: all 150ms; -webkit-transform: rotate(180deg); -ms-transform: rotate(180deg); transform: rotate(180deg); } .eps-collapse__content { margin-top: 0.625rem; display: none; } .eps-collapse[data-open] .eps-collapse__content { display: block; } .eps-collapse[data-open] .eps-collapse__icon { -webkit-transform: rotate(90deg); -ms-transform: rotate(90deg); transform: rotate(90deg); } .e-kit-library-bottom-promotion { --e-kit-library-bottom-promotion-color: tints(600); } .eps-theme-dark .e-kit-library-bottom-promotion { --e-kit-library-bottom-promotion-color: dark-tints(400); } .e-kit-library-bottom-promotion { width: 100%; text-align: center; margin-top: 1.875rem; color: var(--e-kit-library-bottom-promotion-color); } .e-kit-library__error-screen { margin-top: 2.75rem; } .e-kit-library__error-screen-title { margin-top: 2.75rem; margin-bottom: 0; } .e-kit-library__error-screen-description { margin-top: 1.5rem; color: #a4afb7; text-align: center; max-width: 520px; } .e-kit-library__kit-favorite-actions { padding: 0.3125rem; -webkit-transition: 0.3s all; -o-transition: 0.3s all; transition: 0.3s all; border-radius: 4px; } .e-kit-library__kit-favorite-actions--active { color: #b01b1b; } .e-kit-library__kit-favorite-actions--loading { opacity: 50%; cursor: default; } .e-kit-library__kit-favorite-actions:hover { background-color: rgba(176, 27, 27, 0.1); } .e-kit-library__filter-indication { margin-top: 1.5rem; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .e-kit-library__filter-indication-text { margin-bottom: 0; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .e-kit-library__filter-indication-badge { margin-right: 0.3125rem; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .e-kit-library__filter-indication-badge-remove { margin-right: 0.3125rem; font-size: 0.875rem; } .e-kit-library__filter-indication-button { margin-right: 1.5rem; } #eps-app-header-btn-apply, #eps-app-header-btn-promotion, #eps-app-header-btn-connect { margin-right: 0.625rem; margin-left: 0.625rem; } .e-kit-library__apply-button { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; gap: 0.3125rem; } .e-kit-library__kit-item { --e-kit-library-kit-item-overlay-promotion-button-background-color: #fcfcfc; } .eps-theme-dark .e-kit-library__kit-item { --e-kit-library-kit-item-overlay-promotion-button-background-color: #404349; } .e-kit-library__kit-item-overlay { height: 100%; } .e-kit-library__kit-item-overlay > *:first-child { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; } .e-kit-library__kit-item-overlay-overview-button { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; color: white; height: 100%; width: 100%; } .e-kit-library__kit-item-overlay-overview-button > i { font-size: 2rem; margin-bottom: 5px; } .e-kit-library__kit-item-overlay-overview-button > span { font-size: 0.9rem; } .e-kit-library__kit-item-overlay-promotion-button { display: -webkit-box; display: -ms-flexbox; display: flex; width: 100%; background: white; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; padding: 10px; font-size: 13px; color: #93003F; background: var(--e-kit-library-kit-item-overlay-promotion-button-background-color); } .e-kit-library__kit-item-overlay-promotion-button > * { margin: 0 3px; } .e-kit-library__kit-item-subscription-plan-badge { position: absolute; top: 0; right: 0; margin: 0.3125rem; color: #fff; text-transform: uppercase; } :root { --e-kit-library-header-back-border: 1px solid #f1f3f5; --e-kit-library-header-back-color: #a4afb7; } .eps-theme-dark { --e-kit-library-header-back-border: 1px solid #64666a; --e-kit-library-header-back-color: #b4b5b7; } .e-kit-library__header-back { color: var(--e-kit-library-header-back-color); padding-left: 1.25rem; padding-right: 0.3125rem; display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; height: 100%; border-left: var(--e-kit-library-header-back-border); } .e-kit-library__header-back-container { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; height: 100%; } .e-kit-library__header-back .eps-icon { -webkit-transform: rotate(180deg); -ms-transform: rotate(180deg); transform: rotate(180deg); } .e-kit-library__page-loader { width: 100%; height: 100%; display: grid; place-items: center; font-size: 1.85rem; color: #a4afb7; } .eps-search-input { --eps-search-input-background-color: #fcfcfc; --eps-search-input-background-color-focus: #fff; --eps-search-input-color: #556068; --eps-search-input-placeholder-color: #a4afb7; } .eps-theme-dark .eps-search-input { --eps-search-input-background-color: #404349; --eps-search-input-background-color-focus: #4c4f56; --eps-search-input-color: #b4b5b7; --eps-search-input-placeholder-color: #b4b5b7; } .eps-search-input { width: 100%; font-size: 0.9375rem; padding: 0.625rem 2.75rem; border: none; background: var(--eps-search-input-background-color); outline: none; color: var(--eps-search-input-color); line-height: 1; height: 2.75rem; } .eps-search-input--sm { font-size: 0.8125rem; padding: 0.5rem 1.875rem; } .eps-search-input:focus { background: var(--eps-search-input-background-color-focus); } .eps-search-input::-webkit-input-placeholder { color: var(--eps-search-input-placeholder-color); font-style: italic; } .eps-search-input::-moz-placeholder { color: var(--eps-search-input-placeholder-color); font-style: italic; } .eps-search-input::-ms-input-placeholder { color: var(--eps-search-input-placeholder-color); font-style: italic; } .eps-search-input::placeholder { color: var(--eps-search-input-placeholder-color); font-style: italic; } .eps-search-input__container { position: relative; } .eps-search-input__icon { font-size: 1.25rem; padding: 0.625rem; color: #a4afb7; position: absolute; top: 0; inset-inline-start: 0; height: 100%; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .eps-search-input__icon--sm { font-size: 0.75rem; } .eps-search-input__clear-icon { font-size: 0.875rem; padding: 0.625rem; color: #a4afb7; position: absolute; top: 0; left: 0; height: 100%; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .eps-search-input__clear-icon--sm { font-size: 0.6875rem; } :root { --eps-sort-select-select-background-color: #fcfcfc; --eps-sort-select-select-color: #556068; --eps-sort-select-button-background-color: #fcfcfc; --eps-sort-select-button-border: 1px solid #f1f3f5; } .eps-theme-dark { --eps-sort-select-select-background-color: #404349; --eps-sort-select-select-color: #b4b5b7; --eps-sort-select-button-background-color: #404349; --eps-sort-select-button-border: 1px solid #26292C; } .eps-sort-select { width: 100%; font-size: 0.9375rem; display: -webkit-box; display: -ms-flexbox; display: flex; } .eps-sort-select__select-wrapper { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; position: relative; } .eps-sort-select__select-wrapper::after { content: "\e8ad"; font-family: eicons; position: absolute; left: 0.625rem; top: 0; bottom: 0; color: #a4afb7; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; pointer-events: none; } .eps-sort-select__select { width: 100%; padding: 0.625rem 0.625rem; border: none; background: var(--eps-sort-select-select-background-color); outline: none; color: var(--eps-sort-select-select-color); line-height: 1; cursor: pointer; height: 2.75rem; -moz-appearance: none; appearance: none; -webkit-appearance: none; border-radius: 0; } .eps-sort-select__button { padding: 0.75rem 0.75rem; background: var(--eps-sort-select-button-background-color); border-right: var(--eps-sort-select-button-border); line-height: 1; color: #a4afb7; } .e-kit-library__tags-filter { --e-kit-library-tags-filter-list-search-background-color: #fff; } .eps-theme-dark .e-kit-library__tags-filter { --e-kit-library-tags-filter-list-search-background-color: #404349; } .e-kit-library__tags-filter { margin-top: 2.75rem; } .e-kit-library__tags-filter-list { margin-bottom: 2.75rem; } .e-kit-library__tags-filter-list .eps-collapse__title { padding-right: 1.875rem; padding-left: 1.875rem; text-transform: uppercase; } .e-kit-library__tags-filter-list .eps-collapse__content { margin: 0.3125rem 1.875rem; } .e-kit-library__tags-filter-list-container { max-height: 250px; overflow: auto; } .e-kit-library__tags-filter-list-search { margin-bottom: 0.625rem; } .e-kit-library__tags-filter-list-search .eps-search-input { background: var(--e-kit-library-tags-filter-list-search-background-color); } .e-kit-library__tags-filter-list-item { padding: 0.625rem 0; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; font-weight: 500; } .e-kit-library__tags-filter-list-item input { margin-left: 0.3125rem; } .e-kit-library #eps-app-header-btn-refetch { padding: 0; } .e-kit-library-header-info-modal-container { margin-bottom: 2.75rem; } .e-kit-library__tooltip { padding: 5px 12px; color: #ffffff; background-color: #26292C; font-size: 10px; } .e-kit-library__tooltip:before { border-bottom-color: #26292C; } .e-kit-library__index-layout-container { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; overflow-y: auto; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; } .e-kit-library__index-layout-top-area { padding: 1.875rem 2.75rem; position: sticky; top: -1px; width: 100%; z-index: 2; background-color: var(--app-background-color); gap: 1.5rem; } .e-kit-library__index-layout-top-area-search, .e-kit-library__index-layout-top-area-sort { min-width: 265px; } .e-kit-library__index-layout-top-area-search { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; } .e-kit-library__index-layout-main { padding-top: 0; padding-bottom: 1.5rem; overflow-y: hidden; height: auto; -webkit-box-flex: 1; -ms-flex: 1 0 auto; flex: 1 0 auto; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; } .e-kit-library__tags-filter { --e-kit-library-item-sidebar-header-title-color: #6d7882; --e-kit-library-item-sidebar-description-color: #6d7882; --e-kit-library-item-information-text-color: #6d7882; } .eps-theme-dark .e-kit-library__tags-filter { --e-kit-library-item-sidebar-header-title-color: #b4b5b7; --e-kit-library-item-sidebar-description-color: #b4b5b7; --e-kit-library-item-information-text-color: #b4b5b7; } .e-kit-library__item-sidebar { padding: 1.5rem 1.875rem; } .e-kit-library__item-sidebar-header { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; } .e-kit-library__item-sidebar-header-title { color: var(--e-kit-library-item-sidebar-header-title-color); margin-bottom: 0; } .e-kit-library__item-sidebar-thumbnail { margin-top: 1.5rem; -webkit-box-shadow: 0 4px 10px var(--color-box-shadow-color); box-shadow: 0 4px 10px var(--color-box-shadow-color); } .e-kit-library__item-sidebar-description { margin-top: 1.5rem; color: var(--e-kit-library-item-sidebar-description-color); } .e-kit-library__item-sidebar-collapse-tags { margin-top: 2.75rem; } .e-kit-library__item-sidebar-collapse-info { margin-top: 1.875rem; } .e-kit-library__item-sidebar-tags-container { gap: 0.625rem; } .e-kit-library__item-information-text { font-size: 0.8125rem; color: var(--e-kit-library-item-information-text-color); margin-bottom: 0.3125rem; } .e-kit-library { --e-kit-library-content-overview-group-title-color: #6d7882; } .eps-theme-dark .e-kit-library { --e-kit-library-content-overview-group-title-color: #b4b5b7; } .e-kit-library__content-overview-group-item { margin-bottom: 2.75rem; } .e-kit-library__content-overview-group-title { margin-bottom: 1.875rem; color: var(--e-kit-library-content-overview-group-title-color); } .e-kit-library__preview-responsive-controls { width: auto; } .e-kit-library__preview-responsive-controls-item { margin: 0 0.3125rem; color: #a4afb7; padding: 0.3125rem; } .e-kit-library__preview-responsive-controls-item:hover { background: rgba(88, 208, 245, 0.1); border-radius: 3px; -webkit-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; } .e-kit-library__preview-responsive-controls-item--active { color: #58d0f5; } .e-kit-library__preview-loader { position: absolute; top: 0; left: 0; z-index: 0; } .e-kit-library__preview-iframe { border: none; -webkit-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; -webkit-box-shadow: 0 4px 10px var(--color-box-shadow-color); box-shadow: 0 4px 10px var(--color-box-shadow-color); } .e-kit-library__preview-iframe-container { overflow-y: auto; position: relative; z-index: 1; } .e-app-collapse { --e-app-collapse-icon-color: #6d7882; } .e-app-collapse-toggle { position: relative; } .e-app-collapse-toggle--active { cursor: pointer; } .e-app-collapse-toggle__icon { color: var(--e-app-collapse-icon-color); display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; font-size: 0.875rem; position: absolute; top: 50%; right: var(--e-app-collapse-toggle-icon-spacing); -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); } .e-app-collapse-toggle__icon:before { -webkit-transition: all 0.2s linear; -o-transition: all 0.2s linear; transition: all 0.2s linear; } .e-app-collapse-content { display: none; } .e-app-collapse--opened .e-app-collapse-toggle__icon:before { -webkit-transform: rotate(-180deg); -ms-transform: rotate(-180deg); transform: rotate(-180deg); } .e-app-collapse--opened .e-app-collapse-content { display: block; } [dir=rtl] .e-app-collapse-toggle__icon { right: initial; left: var(--e-app-collapse-toggle-icon-spacing); } .eps-theme-dark .e-app-collapse { --e-app-collapse-icon-color: #b4b5b7; } .e-app-import-plugins { --e-app-import-plugins-selection-section-heading-color: #6d7882; padding-bottom: 1.5rem; } .e-app-import-plugins__section { margin-top: 1.875rem; } .e-app-import-plugins__section-heading { color: var(--e-app-import-plugins-selection-section-heading-color); margin-bottom: 1rem; } .e-app-import-plugins__versions-notice { margin-bottom: 0.75rem; } .eps-theme-dark .e-app-import-plugins { --e-app-import-plugins-selection-section-heading-color: #b4b5b7; } .eps-table { --eps-table-body-color: #556068; --eps-table-body-background-color: #fff; border-spacing: 0 2px; table-layout: fixed; width: 100%; } .eps-table__checkboxes-column { width: 1.875rem; } .eps-table__checkbox { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-negative: 0; flex-shrink: 0; } .eps-table__cell { padding: 1rem; } .eps-table__head .eps-table__cell { text-align: start; } .eps-table__body .eps-table__row { background-color: var(--eps-table-body-background-color); } .eps-table__body .eps-table__cell:first-child { border-radius: 0.1875rem 0 0 0.1875rem; } .eps-table__body .eps-table__cell:last-child { border-radius: 0 0.1875rem 0.1875rem 0; } .eps-table--selection .eps-table__cell:first-child { -webkit-padding-end: 0; padding-inline-end: 0; } .eps-theme-dark .eps-table { --eps-table-body-color: #b4b5b7; --eps-table-body-background-color: #404349; } [dir=rtl] .eps-table__body [dir=rtl] .eps-table__cell:first-child { border-radius: 0 0.1875rem 0.1875rem 0; } [dir=rtl] .eps-table__body [dir=rtl] .eps-table__cell:last-child { border-radius: 0.1875rem 0 0 0.1875rem; } .e-app-import-plugins-pro-banner { --e-app-import-plugins-pro-banner-heading-color: #556068; --e-app-import-plugins-pro-banner-description-color: #6d7882; margin-bottom: 1.875rem; } .e-app-import-plugins-pro-banner__heading { color: var(--e-app-import-plugins-pro-banner-heading-color); margin-bottom: 0.625rem; } .e-app-import-plugins-pro-banner__description { color: var(--e-app-import-plugins-pro-banner-description-color); margin-bottom: 0; } .eps-theme-dark .e-app-import-plugins-pro-banner { --e-app-import-plugins-pro-banner-heading-color: #7d7e82; --e-app-import-plugins-pro-banner-description-color: #b4b5b7; } .e-app-export-plugins { padding-bottom: 1.25rem; } .e-app-import-content { padding-bottom: 1.25rem; } .e-app-import-content__plugins-notice { margin-bottom: 1.25rem; } .e-app-import-plugins-activation__installing-plugins { padding: 0.625rem 0; } .e-app-import-plugins-activation__plugin-name { -webkit-margin-start: 0.5rem; margin-inline-start: 0.5rem; } .e-app-import-plugins-activation__plugin-status-item { margin-bottom: 0.75rem; } .e-app-import-export-plugins-table__cell-content { margin-bottom: 0; text-transform: capitalize; } .e-app-import-export-loader { --e-app-import-export-loader-color: #c2cbd2; color: var(--e-app-import-export-loader-color); font-size: 50px; } .e-app-import-export-loader.eicon-loading { font-size: 1.85rem; } .e-app-import-export-loader--absolute-center { position: absolute; top: 50%; left: 50%; -webkit-transform: translateX(-50%) translateY(-50%); -ms-transform: translateX(-50%) translateY(-50%); transform: translateX(-50%) translateY(-50%); } .eps-theme-dark .e-app-import-export-loader { --e-app-import-export-loader-color: #64666a; } .e-app-import-export-message-banner { --e-app-import-export-message-banner-heading-color: #556068; --e-app-import-export-message-banner-description-color: #6d7882; margin-bottom: 1.875rem; } .e-app-import-export-message-banner__heading { color: var(--e-app-import-export-message-banner-heading-color); margin-bottom: 0.625rem; } .e-app-import-export-message-banner__description { color: var(--e-app-import-export-message-banner-description-color); margin-bottom: 0; } .eps-theme-dark .e-app-import-export-message-banner { --e-app-import-export-message-banner-heading-color: #7d7e82; --e-app-import-export-message-banner-description-color: #b4b5b7; } .e-app-import-connect-pro-notice { margin-bottom: 1.25rem; } .e-app-import-failed-plugins-notice { margin-bottom: 1.25rem; } .e-onboarding { font-family: "DM Sans", "Roboto", sans-serif; } .e-onboarding .eps-app__main { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; overflow-y: auto; } .e-onboarding__content { max-width: 1135px; padding: initial; margin: 2.75rem; overflow-y: initial; } .e-onboarding__checkbox-label { display: -webkit-box; display: -ms-flexbox; display: flex; line-height: 18px; margin-bottom: 27px; } .e-onboarding__checkbox-input { -webkit-margin-end: 14px; margin-inline-end: 14px; width: 16px; height: 16px; border-color: #69727D; border-radius: 2px; } .e-onboarding__checkbox-input:checked { background-color: #525861; } .e-onboarding__checkbox-input:checked::after { margin-bottom: 15%; width: 6px; height: 9px; border-width: 0 2px 2px 0; } .e-onboarding__feature-list { margin-bottom: 40px; } .e-onboarding__text-input { font-size: 14px; width: 325px; padding: 12px 16px; color: #69727D; border: 1px solid #9EA5AD; } .e-onboarding__text-input:focus-visible { outline: initial; border: 1px solid #3A3F45; } .e-onboarding__text-input::-webkit-input-placeholder { color: #C2C7CC; } .e-onboarding__text-input::-moz-placeholder { color: #C2C7CC; } .e-onboarding__text-input::-ms-input-placeholder { color: #C2C7CC; } .e-onboarding__text-input::placeholder { color: #C2C7CC; } .e-onboarding__footnote { margin-top: 24px; width: 325px; text-align: center; } .e-onboarding__footnote a { text-decoration: underline; color: #3A3F45; } #e-app ~ #__wp-uploader-id-2 .media-modal { max-width: 1024px; max-height: 768px; margin: auto; } .e-onboarding__page-content { margin-bottom: 70px; } .e-onboarding__page-content-start { max-width: 675px; text-align: start; -ms-flex-preferred-size: 555px; flex-basis: 555px; -ms-flex-item-align: start; align-self: start; } .e-onboarding__page-content-end { min-width: 440px; max-width: 540px; } .e-onboarding__page-content-end img { width: 100%; } .e-onboarding__page-content-section-title { font-family: "DM Serif Display", serif; font-size: 36px; font-weight: 700; color: #0C0D0E; } .e-onboarding__page-content-section-text { font-size: 18px; color: #3A3F45; } .e-onboarding__header-logo .eps-app__logo { background-color: #0C0D0E; color: #ffffff; width: 1.3rem; height: 1.3rem; line-height: 1.3rem; font-size: 0.48rem; } .e-onboarding__header-logo .eps-app__logo:not(:last-child) { -webkit-margin-end: 7px; margin-inline-end: 7px; } .e-onboarding__header-logo img { width: 104px; } .e-onboarding__header .eps-app__header-btn { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; font-size: 13px; } .e-onboarding__header .eps-app__header-btn .eps-icon:not(:last-child) { -webkit-margin-end: 7px; margin-inline-end: 7px; } .e-onboarding__header .eps-button { color: #0C0D0E; } .e-onboarding__header .eps-button .eicon-pro-icon { color: #93003c; } .e-onboarding__go-pro { width: 288px; font-size: 12px; } .e-onboarding__go-pro-title { font-size: 18px; font-weight: 700; color: #871A40; } .e-onboarding__go-pro-cta { display: inline-block; color: #871A40; padding: 9px; border: 1px solid #871A40; } .e-onboarding__go-pro-cta.e-onboarding__button { font-size: 14px; } .e-onboarding__go-pro-paragraph:not(:last-child) { margin-bottom: 20px; } .e-onboarding__go-pro-already-have { text-decoration: underline; } .e-onboarding__progress-bar { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; margin-bottom: 125px; } .e-onboarding__progress-bar-item { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; color: #69727D; font-size: 0.75rem; } .e-onboarding__progress-bar-item-icon { display: inline-block; font-family: "DM Serif Display", serif; text-align: center; width: 1.1rem; height: 1.1rem; line-height: 1rem; font-size: 0.75rem; font-weight: bold; border-radius: 50%; border: 1px solid #69727D; -webkit-margin-end: 8px; margin-inline-end: 8px; -ms-flex-negative: 0; flex-shrink: 0; } .e-onboarding__progress-bar-item:not(:last-child) { -webkit-margin-end: 22px; margin-inline-end: 22px; } .e-onboarding__progress-bar-item:not(:last-child):after { font-family: "eicons"; -webkit-margin-start: 22px; margin-inline-start: 22px; content: "\e89e"; } .e-onboarding__progress-bar-item--active { color: #040080; } .e-onboarding__progress-bar-item--active .e-onboarding__progress-bar-item-icon, .e-onboarding__progress-bar-item--completed .e-onboarding__progress-bar-item-icon { color: #ffffff; border-color: #040080; background-color: #040080; } .e-onboarding__progress-bar-item--skipped, .e-onboarding__progress-bar-item--completed { cursor: pointer; } .e-onboarding__progress-bar-item--skipped .e-onboarding__progress-bar-item-icon { color: #ffffff; background-color: #69727D; } .e-onboarding__button { font-size: 18px; cursor: pointer; } .e-onboarding__button-action { color: #46F2B6; background-color: #040080; width: 325px; padding: 15px 15px; text-align: center; } .e-onboarding__button-skip { color: #6A727C; padding: 15px 29px; } .e-onboarding__button--disabled { pointer-events: none; background-color: #D5D8DC; color: #9EA5AD; } .e-onboarding__button--disabled:hover { cursor: progress; } .e-onboarding__button--processing { pointer-events: none; -webkit-filter: brightness(90%); filter: brightness(90%); } .e-onboarding__card { border: 1px solid #3A3F45; border-radius: 8px; padding: 40px 40px; background-color: #ffffff; cursor: pointer; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .e-onboarding__card-image, .e-onboarding__card-text { width: 345px; } .e-onboarding__card-image { margin-bottom: 44px; } .e-onboarding__card-text { font-size: 20px; font-weight: 700; text-align: center; color: #0C0D0E; } .e-onboarding__card:hover { -webkit-box-shadow: 4px 4px 0 0 #000000; box-shadow: 4px 4px 0 0 #000000; } .e-onboarding__card:active { -webkit-box-shadow: initial; box-shadow: initial; } .e-onboarding__checklist { -webkit-padding-start: 0; padding-inline-start: 0; } .e-onboarding__checklist-item { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; font-size: 12px; margin-bottom: 12px; } .e-onboarding__checklist-item .eicon-check-circle { -webkit-margin-end: 9px; margin-inline-end: 9px; font-size: 16px; font-weight: 600; } .e-onboarding__notice { display: inline-block; padding: 12px 14px; margin-bottom: 16px; color: #3A3F45; } .e-onboarding__notice--error { background-color: #FDE8EC; } .e-onboarding__notice--error i { font-size: 16px; color: #B92136; } .e-onboarding__notice--success { background-color: #ECF9F2; } .e-onboarding__notice--success i { color: #117740; } .e-onboarding__notice i { -webkit-margin-end: 14px; margin-inline-end: 14px; } .e-onboarding__notice-empty-spacer { height: 61px; } .e-onboarding__page-account .e-onboarding__checkbox-label { margin-top: 50px; } .e-onboarding__action-button-text { -webkit-margin-start: 10px; margin-inline-start: 10px; } .e-onboarding__site-name-input { margin-top: 80px; } .e-onboarding__page-siteLogo .e-app-upload-file__button { color: #040080; border-color: #040080; } .e-onboarding__drop-zone { margin-top: 3rem; } .e-onboarding .eps-display-3 { font-size: 16px; margin-bottom: 0.5rem; } .e-onboarding .e-app-upload-file__button { max-width: 198px; margin: 0 auto; } .e-onboarding .e-app-drop-zone__secondary-text { font-size: 14px; } .e-onboarding__logo-container { position: relative; margin-top: 3rem; height: 220px; width: -webkit-fit-content; width: -moz-fit-content; width: fit-content; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; min-width: 220px; } .e-onboarding__logo-container img { height: auto; max-height: 100%; width: auto; } .e-onboarding__logo-remove { position: absolute; right: 8px; top: 5px; } .e-onboarding__logo-remove i { font-size: 16px; width: 15px; } .e-onboarding__logo-remove:hover { cursor: pointer; } .e-onboarding__is-uploading { visibility: hidden; } .e-onboarding__page-goodToGo .e-onboarding__page-content-section-title, .e-onboarding__page-goodToGo .e-onboarding__page-content-section-text { text-align: center; } .e-onboarding__cards-grid.e-onboarding__page-content { margin-top: 48px; margin-bottom: 48px; } .e-onboarding__cards-grid .e-onboarding__card { max-width: 555px; } .e-onboarding__cards-grid .e-onboarding__card:not(:last-child) { -webkit-margin-end: 20px; margin-inline-end: 20px; } .e-onboarding__good-to-go-footer { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: end; } .e-onboarding__upload-pro { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; font-family: "DM Sans", "Roboto", sans-serif; text-align: center; } .e-onboarding__upload-pro .eps-app__content { overflow-y: hidden; max-width: 1113px; padding: 30px; } .e-onboarding__upload-pro-drop-zone { margin-bottom: 24px; } .e-onboarding__upload-pro-drop-zone h1 { font-family: "Source Serif Pro", "Roboto", sans-serif; } .e-onboarding__upload-pro-drop-zone .e-app-drag-drop { padding: 48px; } .e-onboarding__upload-pro-drop-zone .eps-display-3, .e-onboarding__upload-pro-drop-zone .e-app-drop-zone__text, .e-onboarding__upload-pro-drop-zone .e-app-drop-zone__secondary-text { margin-bottom: 12px; } .e-onboarding__upload-pro-drop-zone .e-app-upload-file__button { background-color: #040080; color: #46F2B6; padding: 14px 40px; border-color: #040080; } .e-onboarding__upload-pro-get-file { font-size: 12px; margin-top: 24px; } .e-onboarding__upload-pro-get-file a { text-decoration: underline; } .e-onboarding__upload-pro .e-onboarding__notice { margin-bottom: 0; } /*# sourceMappingURL=app-rtl.css.map */assets/css/widget-menu-anchor.min.css000064400000000151152377341010013627 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ body.elementor-page .elementor-widget-menu-anchor{margin-bottom:0}assets/css/frontend-rtl.css000064400000600136152377341010011777 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ @charset "UTF-8"; .dialog-widget-content { background-color: #fff; position: absolute; border-radius: 3px; -webkit-box-shadow: 2px 8px 23px 3px rgba(0, 0, 0, 0.2); box-shadow: 2px 8px 23px 3px rgba(0, 0, 0, 0.2); overflow: hidden; } .dialog-message { font-size: 12px; line-height: 1.5; -webkit-box-sizing: border-box; box-sizing: border-box; } .dialog-type-lightbox { position: fixed; height: 100%; width: 100%; bottom: 0; left: 0; background-color: rgba(0, 0, 0, 0.8); z-index: 9999; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .dialog-type-lightbox .dialog-widget-content { margin: auto; width: 375px; } .dialog-type-lightbox .dialog-header { font-size: 15px; color: #495157; padding: 30px 0 10px; font-weight: 500; } .dialog-type-lightbox .dialog-message { padding: 0 30px 30px; min-height: 50px; } .dialog-type-lightbox:not(.elementor-popup-modal) .dialog-header, .dialog-type-lightbox:not(.elementor-popup-modal) .dialog-message { text-align: center; } .dialog-type-lightbox .dialog-buttons-wrapper { border-top: 1px solid #e6e9ec; text-align: center; } .dialog-type-lightbox .dialog-buttons-wrapper > .dialog-button { font-family: Roboto, Arial, Helvetica, Verdana, sans-serif; width: 50%; border: none; background: none; color: #6d7882; font-size: 15px; cursor: pointer; padding: 13px 0; outline: 0; } .dialog-type-lightbox .dialog-buttons-wrapper > .dialog-button:hover { background-color: #f4f6f7; } .dialog-type-lightbox .dialog-buttons-wrapper > .dialog-button.dialog-ok { color: #b01b1b; } .dialog-type-lightbox .dialog-buttons-wrapper > .dialog-button.dialog-take_over { color: #39b54a; } .dialog-type-lightbox .dialog-buttons-wrapper > .dialog-button:active { background-color: rgba(230, 233, 236, 0.5); } .dialog-type-lightbox .dialog-buttons-wrapper > .dialog-button::-moz-focus-inner { border: 0; } .dialog-close-button { cursor: pointer; position: absolute; margin-top: 15px; left: 15px; font-size: 15px; line-height: 1; } .dialog-close-button:not(:hover) { opacity: 0.4; } .dialog-alert-widget .dialog-buttons-wrapper > button { width: 100%; } .dialog-confirm-widget .dialog-button:first-child { border-left: 1px solid #e6e9ec; } .dialog-prevent-scroll { overflow: hidden; max-height: 100vh; } @media (min-width: 1024px) { body.admin-bar .dialog-lightbox-widget { height: calc(100vh - 32px); } } @media (max-width: 1024px) { body.admin-bar .dialog-type-lightbox { position: sticky; height: 100vh; } } .elementor-aspect-ratio-219 .elementor-fit-aspect-ratio { padding-bottom: 42.8571%; } .elementor-aspect-ratio-169 .elementor-fit-aspect-ratio { padding-bottom: 56.25%; } .elementor-aspect-ratio-43 .elementor-fit-aspect-ratio { padding-bottom: 75%; } .elementor-aspect-ratio-32 .elementor-fit-aspect-ratio { padding-bottom: 66.6666%; } .elementor-aspect-ratio-11 .elementor-fit-aspect-ratio { padding-bottom: 100%; } .elementor-aspect-ratio-916 .elementor-fit-aspect-ratio { padding-bottom: 177.8%; } .elementor-fit-aspect-ratio { position: relative; height: 0; } .elementor-fit-aspect-ratio iframe { position: absolute; top: 0; left: 0; height: 100%; width: 100%; border: 0; background-color: #000; } .elementor-fit-aspect-ratio video { width: 100%; } .flatpickr-calendar { width: 280px; } .flatpickr-calendar .flatpickr-current-month span.cur-month { font-weight: 300; } .flatpickr-calendar .dayContainer { width: 280px; min-width: 280px; max-width: 280px; } .flatpickr-calendar .flatpickr-days { width: 280px; } .flatpickr-calendar .flatpickr-day { max-width: 37px; height: 37px; line-height: 37px; } .elementor-templates-modal .dialog-widget-content { font-family: Roboto, Arial, Helvetica, Verdana, sans-serif; background-color: #f1f3f5; width: 100%; } @media (max-width: 1439px) { .elementor-templates-modal .dialog-widget-content { max-width: 990px; } } @media (min-width: 1440px) { .elementor-templates-modal .dialog-widget-content { max-width: 1200px; } } .elementor-templates-modal .dialog-header { padding: 0; background-color: #fff; -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.1); box-shadow: 0 0 8px rgba(0, 0, 0, 0.1); position: relative; z-index: 1; } .elementor-templates-modal .dialog-buttons-wrapper { background-color: #fff; border: none; display: none; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; padding: 5px; -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.1); box-shadow: 0 0 8px rgba(0, 0, 0, 0.1); position: relative; } .elementor-templates-modal .dialog-buttons-wrapper .elementor-button { height: 40px; margin-right: 5px; } .elementor-templates-modal .dialog-buttons-wrapper .elementor-button-success { padding: 12px 36px; color: #fff; width: initial; font-size: 15px; } .elementor-templates-modal .dialog-buttons-wrapper .elementor-button-success:hover { background-color: #39b54a; } .elementor-templates-modal .dialog-message { height: 750px; max-height: 85vh; overflow: auto; padding-top: 25px; } .elementor-templates-modal .dialog-content { height: 100%; } .elementor-templates-modal .dialog-loading { display: none; } .elementor-templates-modal__header { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; height: 50px; } .elementor-templates-modal__header__logo { line-height: 1; text-transform: uppercase; font-weight: bold; cursor: pointer; } .elementor-templates-modal__header__logo-area { text-align: right; padding-right: 15px; } .elementor-templates-modal__header__logo-area > * { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .elementor-templates-modal__header__logo__icon-wrapper { margin-left: 10px; font-size: 12px; } .elementor-templates-modal__header__logo__title { padding-top: 2px; } .elementor-templates-modal__header__items-area { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; } .elementor-templates-modal__header__item { position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-sizing: content-box; box-sizing: content-box; } .elementor-templates-modal__header__item > i { font-size: 20px; -webkit-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; cursor: pointer; } .elementor-templates-modal__header__item > i:not(:hover) { color: #a4afb7; } .elementor-templates-modal__header__close--normal { width: 47px; border-right: 1px solid #e6e9ec; } .elementor-templates-modal__header__close--normal i { font-size: 18px; } .elementor-templates-modal__header__close--skip { padding: 10px; padding-right: 20px; margin-left: 10px; color: #fff; background-color: #a4afb7; font-size: 11px; font-weight: normal; line-height: 1; text-transform: uppercase; border-radius: 2px; cursor: pointer; } .elementor-templates-modal__header__close--skip > i { font-size: inherit; padding-right: 10px; margin-right: 15px; border-right: 1px solid; } .elementor-templates-modal__header__close--skip > i:not(:hover) { color: #fff; } .elementor-templates-modal__sidebar { -ms-flex-negative: 0; flex-shrink: 0; width: 25%; background-color: rgba(255, 255, 255, 0.3); } .elementor-templates-modal__content { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; -webkit-box-shadow: 0 0 13px inset rgba(0, 0, 0, 0.05); box-shadow: 0 0 13px inset rgba(0, 0, 0, 0.05); } /* Will select next element after last '.elementor-general-section' */ #wpadminbar #wp-admin-bar-elementor_edit_page .elementor-general-section + .elementor-second-section { border-top: 1px solid #464b50; margin-top: 6px; } .elementor-hidden { display: none; } .elementor-screen-only, .screen-reader-text, .screen-reader-text span, .ui-helper-hidden-accessible { position: absolute; top: -10000em; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0; } .elementor-clearfix:after { content: ""; display: block; clear: both; width: 0; height: 0; } .e-logo-wrapper { background: #93003c; display: inline-block; padding: 0.75em; border-radius: 50%; line-height: 1; } .e-logo-wrapper i { color: #fff; font-size: 1em; } #e-enable-unfiltered-files-dialog-import-template .dialog-confirm-ok { color: #39b54a; } #e-enable-unfiltered-files-dialog-import-template .dialog-confirm-cancel { color: #b01b1b; } .elementor { -webkit-hyphens: manual; -ms-hyphens: manual; hyphens: manual; } .elementor *, .elementor *:before, .elementor *:after { -webkit-box-sizing: border-box; box-sizing: border-box; } .elementor a { -webkit-box-shadow: none; box-shadow: none; text-decoration: none; } .elementor hr { margin: 0; background-color: transparent; } .elementor img { height: auto; max-width: 100%; border: none; border-radius: 0; -webkit-box-shadow: none; box-shadow: none; } .elementor .elementor-widget:not(.elementor-widget-text-editor):not(.elementor-widget-theme-post-content) figure { margin: 0; } .elementor embed, .elementor iframe, .elementor object, .elementor video { max-width: 100%; width: 100%; margin: 0; line-height: 1; border: none; } .elementor .elementor-custom-embed { line-height: 0; } .elementor .elementor-background-video-container, .elementor .elementor-background-holder, .elementor .elementor-background { height: 100%; width: 100%; top: 0; left: 0; position: absolute; overflow: hidden; z-index: 0; direction: ltr; } .elementor .elementor-background-video-container { -webkit-transition: opacity 1s; -o-transition: opacity 1s; transition: opacity 1s; pointer-events: none; } .elementor .elementor-background-video-container.elementor-loading { opacity: 0; } .elementor .elementor-background-video-embed { max-width: none; } .elementor .elementor-background-video-embed, .elementor .elementor-background-video-hosted { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); } .elementor .elementor-background-video { max-width: none; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); } .elementor .elementor-html5-video { -o-object-fit: cover; object-fit: cover; } .elementor .elementor-background-overlay { height: 100%; width: 100%; top: 0; left: 0; position: absolute; } .elementor .elementor-background-slideshow { position: absolute; width: 100%; height: 100%; z-index: 0; top: 0; right: 0; } .elementor .elementor-background-slideshow__slide__image { width: 100%; height: 100%; background-position: center center; background-size: cover; } .elementor-widget-wrap > .elementor-element.elementor-absolute, .e-container > .elementor-element.elementor-absolute { position: absolute; } .elementor-widget-wrap > .elementor-element.elementor-fixed, .e-container > .elementor-element.elementor-fixed { position: fixed; } .elementor-widget-wrap .elementor-element.elementor-widget__width-auto, .elementor-widget-wrap .elementor-element.elementor-widget__width-initial { max-width: 100%; } @media (max-width: 1024px) { .elementor-widget-wrap .elementor-element.elementor-widget-tablet__width-auto, .elementor-widget-wrap .elementor-element.elementor-widget-tablet__width-initial { max-width: 100%; } } @media (max-width: 767px) { .elementor-widget-wrap .elementor-element.elementor-widget-mobile__width-auto, .elementor-widget-wrap .elementor-element.elementor-widget-mobile__width-initial { max-width: 100%; } } .elementor-element { --flex-direction: initial; --flex-wrap: initial; --justify-content: initial; --align-items: initial; --align-content: initial; --gap: initial; --flex-basis: initial; --flex-grow: initial; --flex-shrink: initial; --order: initial; --align-self: initial; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: var(--flex-direction); flex-direction: var(--flex-direction); -ms-flex-wrap: var(--flex-wrap); flex-wrap: var(--flex-wrap); -webkit-box-pack: var(--justify-content); -ms-flex-pack: var(--justify-content); justify-content: var(--justify-content); -webkit-box-align: var(--align-items); -ms-flex-align: var(--align-items); align-items: var(--align-items); -ms-flex-line-pack: var(--align-content); align-content: var(--align-content); gap: var(--gap); -ms-flex-preferred-size: var(--flex-basis); flex-basis: var(--flex-basis); -webkit-box-flex: var(--flex-grow); -ms-flex-positive: var(--flex-grow); flex-grow: var(--flex-grow); -ms-flex-negative: var(--flex-shrink); flex-shrink: var(--flex-shrink); -webkit-box-ordinal-group: var(--order); -ms-flex-order: var(--order); order: var(--order); -ms-flex-item-align: var(--align-self); align-self: var(--align-self); } .elementor-element.elementor-absolute, .elementor-element.elementor-fixed { z-index: 1; } .elementor-invisible { visibility: hidden; } .elementor-align-center { text-align: center; } .elementor-align-center .elementor-button { width: auto; } .elementor-align-right { text-align: right; } .elementor-align-right .elementor-button { width: auto; } .elementor-align-left { text-align: left; } .elementor-align-left .elementor-button { width: auto; } .elementor-align-justify .elementor-button { width: 100%; } .elementor-custom-embed-play { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); } .elementor-custom-embed-play i { font-size: 100px; color: #fff; text-shadow: 1px 0 6px rgba(0, 0, 0, 0.3); } .elementor-custom-embed-play svg { height: 100px; width: 100px; fill: #fff; -webkit-filter: drop-shadow(1px 0 6px rgba(0, 0, 0, 0.3)); filter: drop-shadow(1px 0 6px rgba(0, 0, 0, 0.3)); } .elementor-custom-embed-play i, .elementor-custom-embed-play svg { opacity: 0.8; -webkit-transition: all 0.5s; -o-transition: all 0.5s; transition: all 0.5s; } .elementor-custom-embed-play.elementor-playing i { font-family: eicons; } .elementor-custom-embed-play.elementor-playing i:before { content: "\e8fb"; } .elementor-custom-embed-play.elementor-playing i, .elementor-custom-embed-play.elementor-playing svg { -webkit-animation: eicon-spin 2s infinite linear; animation: eicon-spin 2s infinite linear; } .elementor-tag { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; } .elementor-ken-burns { -webkit-transition-property: -webkit-transform; transition-property: -webkit-transform; -o-transition-property: transform; transition-property: transform; transition-property: transform, -webkit-transform; -webkit-transition-duration: 10s; -o-transition-duration: 10s; transition-duration: 10s; -webkit-transition-timing-function: linear; -o-transition-timing-function: linear; transition-timing-function: linear; } .elementor-ken-burns--out { -webkit-transform: scale(1.3); -ms-transform: scale(1.3); transform: scale(1.3); } .elementor-ken-burns--active { -webkit-transition-duration: 20s; -o-transition-duration: 20s; transition-duration: 20s; } .elementor-ken-burns--active.elementor-ken-burns--out { -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1); } .elementor-ken-burns--active.elementor-ken-burns--in { -webkit-transform: scale(1.3); -ms-transform: scale(1.3); transform: scale(1.3); } @media (min-width: -1px) { .elementor-widescreen-align-center { text-align: center; } .elementor-widescreen-align-center .elementor-button { width: auto; } .elementor-widescreen-align-right { text-align: right; } .elementor-widescreen-align-right .elementor-button { width: auto; } .elementor-widescreen-align-left { text-align: left; } .elementor-widescreen-align-left .elementor-button { width: auto; } .elementor-widescreen-align-justify .elementor-button { width: 100%; } } @media (max-width: -1px) { .elementor-laptop-align-center { text-align: center; } .elementor-laptop-align-center .elementor-button { width: auto; } .elementor-laptop-align-right { text-align: right; } .elementor-laptop-align-right .elementor-button { width: auto; } .elementor-laptop-align-left { text-align: left; } .elementor-laptop-align-left .elementor-button { width: auto; } .elementor-laptop-align-justify .elementor-button { width: 100%; } } @media (max-width: -1px) { .elementor-tablet_extra-align-center { text-align: center; } .elementor-tablet_extra-align-center .elementor-button { width: auto; } .elementor-tablet_extra-align-right { text-align: right; } .elementor-tablet_extra-align-right .elementor-button { width: auto; } .elementor-tablet_extra-align-left { text-align: left; } .elementor-tablet_extra-align-left .elementor-button { width: auto; } .elementor-tablet_extra-align-justify .elementor-button { width: 100%; } } @media (max-width: 1024px) { .elementor-tablet-align-center { text-align: center; } .elementor-tablet-align-center .elementor-button { width: auto; } .elementor-tablet-align-right { text-align: right; } .elementor-tablet-align-right .elementor-button { width: auto; } .elementor-tablet-align-left { text-align: left; } .elementor-tablet-align-left .elementor-button { width: auto; } .elementor-tablet-align-justify .elementor-button { width: 100%; } } @media (max-width: -1px) { .elementor-mobile_extra-align-center { text-align: center; } .elementor-mobile_extra-align-center .elementor-button { width: auto; } .elementor-mobile_extra-align-right { text-align: right; } .elementor-mobile_extra-align-right .elementor-button { width: auto; } .elementor-mobile_extra-align-left { text-align: left; } .elementor-mobile_extra-align-left .elementor-button { width: auto; } .elementor-mobile_extra-align-justify .elementor-button { width: 100%; } } @media (max-width: 767px) { .elementor-mobile-align-center { text-align: center; } .elementor-mobile-align-center .elementor-button { width: auto; } .elementor-mobile-align-right { text-align: right; } .elementor-mobile-align-right .elementor-button { width: auto; } .elementor-mobile-align-left { text-align: left; } .elementor-mobile-align-left .elementor-button { width: auto; } .elementor-mobile-align-justify .elementor-button { width: 100%; } } :root { --page-title-display: block; } .elementor-page-title, h1.entry-title { display: var(--page-title-display); } @-webkit-keyframes eicon-spin { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(359deg); transform: rotate(359deg); } } @keyframes eicon-spin { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(359deg); transform: rotate(359deg); } } .eicon-animation-spin { -webkit-animation: eicon-spin 2s infinite linear; animation: eicon-spin 2s infinite linear; } .elementor-section { position: relative; } .elementor-section .elementor-container { display: -webkit-box; display: -ms-flexbox; display: flex; margin-right: auto; margin-left: auto; position: relative; } @media (max-width: 1024px) { .elementor-section .elementor-container { -ms-flex-wrap: wrap; flex-wrap: wrap; } } .elementor-section.elementor-section-boxed > .elementor-container { max-width: 1140px; } .elementor-section.elementor-section-stretched { position: relative; width: 100%; } .elementor-section.elementor-section-items-top > .elementor-container { -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; } .elementor-section.elementor-section-items-middle > .elementor-container { -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .elementor-section.elementor-section-items-bottom > .elementor-container { -webkit-box-align: end; -ms-flex-align: end; align-items: flex-end; } @media (min-width: 768px) { .elementor-section.elementor-section-height-full { height: 100vh; } .elementor-section.elementor-section-height-full > .elementor-container { height: 100%; } } .elementor-bc-flex-widget .elementor-section-content-top > .elementor-container > .elementor-column > .elementor-widget-wrap { -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; } .elementor-bc-flex-widget .elementor-section-content-middle > .elementor-container > .elementor-column > .elementor-widget-wrap { -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .elementor-bc-flex-widget .elementor-section-content-bottom > .elementor-container > .elementor-column > .elementor-widget-wrap { -webkit-box-align: end; -ms-flex-align: end; align-items: flex-end; } .elementor-row { width: 100%; display: -webkit-box; display: -ms-flexbox; display: flex; } @media (max-width: 1024px) { .elementor-row { -ms-flex-wrap: wrap; flex-wrap: wrap; } } .elementor-widget-wrap { position: relative; width: 100%; -ms-flex-wrap: wrap; flex-wrap: wrap; -ms-flex-line-pack: start; align-content: flex-start; } .elementor:not(.elementor-bc-flex-widget) .elementor-widget-wrap { display: -webkit-box; display: -ms-flexbox; display: flex; } .elementor-widget-wrap > .elementor-element { width: 100%; } .elementor-widget-wrap.e-swiper-container { width: calc(100% - (var(--e-column-margin-left, 0px) + var(--e-column-margin-right, 0px))); } .elementor-widget { position: relative; } .elementor-widget:not(:last-child) { margin-bottom: 20px; } .elementor-widget:not(:last-child).elementor-widget__width-auto, .elementor-widget:not(:last-child).elementor-widget__width-initial, .elementor-widget:not(:last-child).elementor-absolute { margin-bottom: 0; } .elementor-column { position: relative; min-height: 1px; display: -webkit-box; display: -ms-flexbox; display: flex; } .elementor-column-wrap { width: 100%; position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; } .elementor-column-gap-narrow > .elementor-column > .elementor-element-populated { padding: 5px; } .elementor-column-gap-default > .elementor-column > .elementor-element-populated { padding: 10px; } .elementor-column-gap-extended > .elementor-column > .elementor-element-populated { padding: 15px; } .elementor-column-gap-wide > .elementor-column > .elementor-element-populated { padding: 20px; } .elementor-column-gap-wider > .elementor-column > .elementor-element-populated { padding: 30px; } .elementor-inner-section .elementor-column-gap-no .elementor-element-populated { padding: 0; } @media (min-width: 768px) { .elementor-column.elementor-col-10, .elementor-column[data-col="10"] { width: 10%; } .elementor-column.elementor-col-11, .elementor-column[data-col="11"] { width: 11.111%; } .elementor-column.elementor-col-12, .elementor-column[data-col="12"] { width: 12.5%; } .elementor-column.elementor-col-14, .elementor-column[data-col="14"] { width: 14.285%; } .elementor-column.elementor-col-16, .elementor-column[data-col="16"] { width: 16.666%; } .elementor-column.elementor-col-20, .elementor-column[data-col="20"] { width: 20%; } .elementor-column.elementor-col-25, .elementor-column[data-col="25"] { width: 25%; } .elementor-column.elementor-col-30, .elementor-column[data-col="30"] { width: 30%; } .elementor-column.elementor-col-33, .elementor-column[data-col="33"] { width: 33.333%; } .elementor-column.elementor-col-40, .elementor-column[data-col="40"] { width: 40%; } .elementor-column.elementor-col-50, .elementor-column[data-col="50"] { width: 50%; } .elementor-column.elementor-col-60, .elementor-column[data-col="60"] { width: 60%; } .elementor-column.elementor-col-66, .elementor-column[data-col="66"] { width: 66.666%; } .elementor-column.elementor-col-70, .elementor-column[data-col="70"] { width: 70%; } .elementor-column.elementor-col-75, .elementor-column[data-col="75"] { width: 75%; } .elementor-column.elementor-col-80, .elementor-column[data-col="80"] { width: 80%; } .elementor-column.elementor-col-83, .elementor-column[data-col="83"] { width: 83.333%; } .elementor-column.elementor-col-90, .elementor-column[data-col="90"] { width: 90%; } .elementor-column.elementor-col-100, .elementor-column[data-col="100"] { width: 100%; } } @media (max-width: 479px) { .elementor-column.elementor-xs-10 { width: 10%; } .elementor-column.elementor-xs-11 { width: 11.111%; } .elementor-column.elementor-xs-12 { width: 12.5%; } .elementor-column.elementor-xs-14 { width: 14.285%; } .elementor-column.elementor-xs-16 { width: 16.666%; } .elementor-column.elementor-xs-20 { width: 20%; } .elementor-column.elementor-xs-25 { width: 25%; } .elementor-column.elementor-xs-30 { width: 30%; } .elementor-column.elementor-xs-33 { width: 33.333%; } .elementor-column.elementor-xs-40 { width: 40%; } .elementor-column.elementor-xs-50 { width: 50%; } .elementor-column.elementor-xs-60 { width: 60%; } .elementor-column.elementor-xs-66 { width: 66.666%; } .elementor-column.elementor-xs-70 { width: 70%; } .elementor-column.elementor-xs-75 { width: 75%; } .elementor-column.elementor-xs-80 { width: 80%; } .elementor-column.elementor-xs-83 { width: 83.333%; } .elementor-column.elementor-xs-90 { width: 90%; } .elementor-column.elementor-xs-100 { width: 100%; } } @media (max-width: 767px) { .elementor-column.elementor-sm-10 { width: 10%; } .elementor-column.elementor-sm-11 { width: 11.111%; } .elementor-column.elementor-sm-12 { width: 12.5%; } .elementor-column.elementor-sm-14 { width: 14.285%; } .elementor-column.elementor-sm-16 { width: 16.666%; } .elementor-column.elementor-sm-20 { width: 20%; } .elementor-column.elementor-sm-25 { width: 25%; } .elementor-column.elementor-sm-30 { width: 30%; } .elementor-column.elementor-sm-33 { width: 33.333%; } .elementor-column.elementor-sm-40 { width: 40%; } .elementor-column.elementor-sm-50 { width: 50%; } .elementor-column.elementor-sm-60 { width: 60%; } .elementor-column.elementor-sm-66 { width: 66.666%; } .elementor-column.elementor-sm-70 { width: 70%; } .elementor-column.elementor-sm-75 { width: 75%; } .elementor-column.elementor-sm-80 { width: 80%; } .elementor-column.elementor-sm-83 { width: 83.333%; } .elementor-column.elementor-sm-90 { width: 90%; } .elementor-column.elementor-sm-100 { width: 100%; } } @media (min-width: 768px) and (max-width: 1024px) { .elementor-column.elementor-md-10 { width: 10%; } .elementor-column.elementor-md-11 { width: 11.111%; } .elementor-column.elementor-md-12 { width: 12.5%; } .elementor-column.elementor-md-14 { width: 14.285%; } .elementor-column.elementor-md-16 { width: 16.666%; } .elementor-column.elementor-md-20 { width: 20%; } .elementor-column.elementor-md-25 { width: 25%; } .elementor-column.elementor-md-30 { width: 30%; } .elementor-column.elementor-md-33 { width: 33.333%; } .elementor-column.elementor-md-40 { width: 40%; } .elementor-column.elementor-md-50 { width: 50%; } .elementor-column.elementor-md-60 { width: 60%; } .elementor-column.elementor-md-66 { width: 66.666%; } .elementor-column.elementor-md-70 { width: 70%; } .elementor-column.elementor-md-75 { width: 75%; } .elementor-column.elementor-md-80 { width: 80%; } .elementor-column.elementor-md-83 { width: 83.333%; } .elementor-column.elementor-md-90 { width: 90%; } .elementor-column.elementor-md-100 { width: 100%; } } @media (min-width: -1px) { .elementor-reverse-widescreen > .elementor-container > :nth-child(1) { -webkit-box-ordinal-group: 11; -ms-flex-order: 10; order: 10; } .elementor-reverse-widescreen > .elementor-container > :nth-child(2) { -webkit-box-ordinal-group: 10; -ms-flex-order: 9; order: 9; } .elementor-reverse-widescreen > .elementor-container > :nth-child(3) { -webkit-box-ordinal-group: 9; -ms-flex-order: 8; order: 8; } .elementor-reverse-widescreen > .elementor-container > :nth-child(4) { -webkit-box-ordinal-group: 8; -ms-flex-order: 7; order: 7; } .elementor-reverse-widescreen > .elementor-container > :nth-child(5) { -webkit-box-ordinal-group: 7; -ms-flex-order: 6; order: 6; } .elementor-reverse-widescreen > .elementor-container > :nth-child(6) { -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; } .elementor-reverse-widescreen > .elementor-container > :nth-child(7) { -webkit-box-ordinal-group: 5; -ms-flex-order: 4; order: 4; } .elementor-reverse-widescreen > .elementor-container > :nth-child(8) { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; } .elementor-reverse-widescreen > .elementor-container > :nth-child(9) { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; } .elementor-reverse-widescreen > .elementor-container > :nth-child(10) { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; } } @media (min-width: 1025px) and (max-width: -1px) { .elementor-reverse-laptop > .elementor-container > :nth-child(1) { -webkit-box-ordinal-group: 11; -ms-flex-order: 10; order: 10; } .elementor-reverse-laptop > .elementor-container > :nth-child(2) { -webkit-box-ordinal-group: 10; -ms-flex-order: 9; order: 9; } .elementor-reverse-laptop > .elementor-container > :nth-child(3) { -webkit-box-ordinal-group: 9; -ms-flex-order: 8; order: 8; } .elementor-reverse-laptop > .elementor-container > :nth-child(4) { -webkit-box-ordinal-group: 8; -ms-flex-order: 7; order: 7; } .elementor-reverse-laptop > .elementor-container > :nth-child(5) { -webkit-box-ordinal-group: 7; -ms-flex-order: 6; order: 6; } .elementor-reverse-laptop > .elementor-container > :nth-child(6) { -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; } .elementor-reverse-laptop > .elementor-container > :nth-child(7) { -webkit-box-ordinal-group: 5; -ms-flex-order: 4; order: 4; } .elementor-reverse-laptop > .elementor-container > :nth-child(8) { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; } .elementor-reverse-laptop > .elementor-container > :nth-child(9) { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; } .elementor-reverse-laptop > .elementor-container > :nth-child(10) { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; } } @media (min-width: -1px) and (max-width: -1px) { .elementor-reverse-laptop > .elementor-container > :nth-child(1) { -webkit-box-ordinal-group: 11; -ms-flex-order: 10; order: 10; } .elementor-reverse-laptop > .elementor-container > :nth-child(2) { -webkit-box-ordinal-group: 10; -ms-flex-order: 9; order: 9; } .elementor-reverse-laptop > .elementor-container > :nth-child(3) { -webkit-box-ordinal-group: 9; -ms-flex-order: 8; order: 8; } .elementor-reverse-laptop > .elementor-container > :nth-child(4) { -webkit-box-ordinal-group: 8; -ms-flex-order: 7; order: 7; } .elementor-reverse-laptop > .elementor-container > :nth-child(5) { -webkit-box-ordinal-group: 7; -ms-flex-order: 6; order: 6; } .elementor-reverse-laptop > .elementor-container > :nth-child(6) { -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; } .elementor-reverse-laptop > .elementor-container > :nth-child(7) { -webkit-box-ordinal-group: 5; -ms-flex-order: 4; order: 4; } .elementor-reverse-laptop > .elementor-container > :nth-child(8) { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; } .elementor-reverse-laptop > .elementor-container > :nth-child(9) { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; } .elementor-reverse-laptop > .elementor-container > :nth-child(10) { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; } } @media (min-width: 1025px) and (max-width: -1px) { .elementor-reverse-laptop > .elementor-container > :nth-child(1) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(2) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(3) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(4) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(5) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(6) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(7) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(8) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(9) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(10) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(1) { -webkit-box-ordinal-group: 11; -ms-flex-order: 10; order: 10; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(2) { -webkit-box-ordinal-group: 10; -ms-flex-order: 9; order: 9; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(3) { -webkit-box-ordinal-group: 9; -ms-flex-order: 8; order: 8; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(4) { -webkit-box-ordinal-group: 8; -ms-flex-order: 7; order: 7; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(5) { -webkit-box-ordinal-group: 7; -ms-flex-order: 6; order: 6; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(6) { -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(7) { -webkit-box-ordinal-group: 5; -ms-flex-order: 4; order: 4; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(8) { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(9) { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(10) { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; } } @media (min-width: 768px) and (max-width: 1024px) { .elementor-reverse-tablet > .elementor-container > :nth-child(1) { -webkit-box-ordinal-group: 11; -ms-flex-order: 10; order: 10; } .elementor-reverse-tablet > .elementor-container > :nth-child(2) { -webkit-box-ordinal-group: 10; -ms-flex-order: 9; order: 9; } .elementor-reverse-tablet > .elementor-container > :nth-child(3) { -webkit-box-ordinal-group: 9; -ms-flex-order: 8; order: 8; } .elementor-reverse-tablet > .elementor-container > :nth-child(4) { -webkit-box-ordinal-group: 8; -ms-flex-order: 7; order: 7; } .elementor-reverse-tablet > .elementor-container > :nth-child(5) { -webkit-box-ordinal-group: 7; -ms-flex-order: 6; order: 6; } .elementor-reverse-tablet > .elementor-container > :nth-child(6) { -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; } .elementor-reverse-tablet > .elementor-container > :nth-child(7) { -webkit-box-ordinal-group: 5; -ms-flex-order: 4; order: 4; } .elementor-reverse-tablet > .elementor-container > :nth-child(8) { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; } .elementor-reverse-tablet > .elementor-container > :nth-child(9) { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; } .elementor-reverse-tablet > .elementor-container > :nth-child(10) { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; } } @media (min-width: -1px) and (max-width: 1024px) { .elementor-reverse-tablet > .elementor-container > :nth-child(1) { -webkit-box-ordinal-group: 11; -ms-flex-order: 10; order: 10; } .elementor-reverse-tablet > .elementor-container > :nth-child(2) { -webkit-box-ordinal-group: 10; -ms-flex-order: 9; order: 9; } .elementor-reverse-tablet > .elementor-container > :nth-child(3) { -webkit-box-ordinal-group: 9; -ms-flex-order: 8; order: 8; } .elementor-reverse-tablet > .elementor-container > :nth-child(4) { -webkit-box-ordinal-group: 8; -ms-flex-order: 7; order: 7; } .elementor-reverse-tablet > .elementor-container > :nth-child(5) { -webkit-box-ordinal-group: 7; -ms-flex-order: 6; order: 6; } .elementor-reverse-tablet > .elementor-container > :nth-child(6) { -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; } .elementor-reverse-tablet > .elementor-container > :nth-child(7) { -webkit-box-ordinal-group: 5; -ms-flex-order: 4; order: 4; } .elementor-reverse-tablet > .elementor-container > :nth-child(8) { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; } .elementor-reverse-tablet > .elementor-container > :nth-child(9) { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; } .elementor-reverse-tablet > .elementor-container > :nth-child(10) { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; } } @media (min-width: 768px) and (max-width: -1px) { .elementor-reverse-tablet > .elementor-container > :nth-child(1) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(2) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(3) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(4) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(5) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(6) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(7) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(8) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(9) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(10) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(1) { -webkit-box-ordinal-group: 11; -ms-flex-order: 10; order: 10; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(2) { -webkit-box-ordinal-group: 10; -ms-flex-order: 9; order: 9; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(3) { -webkit-box-ordinal-group: 9; -ms-flex-order: 8; order: 8; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(4) { -webkit-box-ordinal-group: 8; -ms-flex-order: 7; order: 7; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(5) { -webkit-box-ordinal-group: 7; -ms-flex-order: 6; order: 6; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(6) { -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(7) { -webkit-box-ordinal-group: 5; -ms-flex-order: 4; order: 4; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(8) { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(9) { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(10) { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; } } @media (max-width: 767px) { .elementor-reverse-mobile > .elementor-container > :nth-child(1) { -webkit-box-ordinal-group: 11; -ms-flex-order: 10; order: 10; } .elementor-reverse-mobile > .elementor-container > :nth-child(2) { -webkit-box-ordinal-group: 10; -ms-flex-order: 9; order: 9; } .elementor-reverse-mobile > .elementor-container > :nth-child(3) { -webkit-box-ordinal-group: 9; -ms-flex-order: 8; order: 8; } .elementor-reverse-mobile > .elementor-container > :nth-child(4) { -webkit-box-ordinal-group: 8; -ms-flex-order: 7; order: 7; } .elementor-reverse-mobile > .elementor-container > :nth-child(5) { -webkit-box-ordinal-group: 7; -ms-flex-order: 6; order: 6; } .elementor-reverse-mobile > .elementor-container > :nth-child(6) { -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; } .elementor-reverse-mobile > .elementor-container > :nth-child(7) { -webkit-box-ordinal-group: 5; -ms-flex-order: 4; order: 4; } .elementor-reverse-mobile > .elementor-container > :nth-child(8) { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; } .elementor-reverse-mobile > .elementor-container > :nth-child(9) { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; } .elementor-reverse-mobile > .elementor-container > :nth-child(10) { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; } .elementor-column { width: 100%; } } ul.elementor-icon-list-items.elementor-inline-items { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; } ul.elementor-icon-list-items.elementor-inline-items .elementor-inline-item { word-break: break-word; } .elementor-grid { display: grid; grid-column-gap: var(--grid-column-gap); grid-row-gap: var(--grid-row-gap); } .elementor-grid .elementor-grid-item { min-width: 0; } .elementor-grid-0 .elementor-grid { display: inline-block; width: 100%; word-spacing: var(--grid-column-gap); margin-bottom: calc(-1 * var(--grid-row-gap)); } .elementor-grid-0 .elementor-grid .elementor-grid-item { display: inline-block; margin-bottom: var(--grid-row-gap); word-break: break-word; } .elementor-grid-1 .elementor-grid { grid-template-columns: repeat(1, 1fr); } .elementor-grid-2 .elementor-grid { grid-template-columns: repeat(2, 1fr); } .elementor-grid-3 .elementor-grid { grid-template-columns: repeat(3, 1fr); } .elementor-grid-4 .elementor-grid { grid-template-columns: repeat(4, 1fr); } .elementor-grid-5 .elementor-grid { grid-template-columns: repeat(5, 1fr); } .elementor-grid-6 .elementor-grid { grid-template-columns: repeat(6, 1fr); } .elementor-grid-7 .elementor-grid { grid-template-columns: repeat(7, 1fr); } .elementor-grid-8 .elementor-grid { grid-template-columns: repeat(8, 1fr); } .elementor-grid-9 .elementor-grid { grid-template-columns: repeat(9, 1fr); } .elementor-grid-10 .elementor-grid { grid-template-columns: repeat(10, 1fr); } .elementor-grid-11 .elementor-grid { grid-template-columns: repeat(11, 1fr); } .elementor-grid-12 .elementor-grid { grid-template-columns: repeat(12, 1fr); } @media (min-width: -1px) { .elementor-grid-widescreen-0 .elementor-grid { display: inline-block; width: 100%; word-spacing: var(--grid-column-gap); margin-bottom: calc(-1 * var(--grid-row-gap)); } .elementor-grid-widescreen-0 .elementor-grid .elementor-grid-item { display: inline-block; margin-bottom: var(--grid-row-gap); word-break: break-word; } .elementor-grid-widescreen-1 .elementor-grid { grid-template-columns: repeat(1, 1fr); } .elementor-grid-widescreen-2 .elementor-grid { grid-template-columns: repeat(2, 1fr); } .elementor-grid-widescreen-3 .elementor-grid { grid-template-columns: repeat(3, 1fr); } .elementor-grid-widescreen-4 .elementor-grid { grid-template-columns: repeat(4, 1fr); } .elementor-grid-widescreen-5 .elementor-grid { grid-template-columns: repeat(5, 1fr); } .elementor-grid-widescreen-6 .elementor-grid { grid-template-columns: repeat(6, 1fr); } .elementor-grid-widescreen-7 .elementor-grid { grid-template-columns: repeat(7, 1fr); } .elementor-grid-widescreen-8 .elementor-grid { grid-template-columns: repeat(8, 1fr); } .elementor-grid-widescreen-9 .elementor-grid { grid-template-columns: repeat(9, 1fr); } .elementor-grid-widescreen-10 .elementor-grid { grid-template-columns: repeat(10, 1fr); } .elementor-grid-widescreen-11 .elementor-grid { grid-template-columns: repeat(11, 1fr); } .elementor-grid-widescreen-12 .elementor-grid { grid-template-columns: repeat(12, 1fr); } } @media (max-width: -1px) { .elementor-grid-laptop-0 .elementor-grid { display: inline-block; width: 100%; word-spacing: var(--grid-column-gap); margin-bottom: calc(-1 * var(--grid-row-gap)); } .elementor-grid-laptop-0 .elementor-grid .elementor-grid-item { display: inline-block; margin-bottom: var(--grid-row-gap); word-break: break-word; } .elementor-grid-laptop-1 .elementor-grid { grid-template-columns: repeat(1, 1fr); } .elementor-grid-laptop-2 .elementor-grid { grid-template-columns: repeat(2, 1fr); } .elementor-grid-laptop-3 .elementor-grid { grid-template-columns: repeat(3, 1fr); } .elementor-grid-laptop-4 .elementor-grid { grid-template-columns: repeat(4, 1fr); } .elementor-grid-laptop-5 .elementor-grid { grid-template-columns: repeat(5, 1fr); } .elementor-grid-laptop-6 .elementor-grid { grid-template-columns: repeat(6, 1fr); } .elementor-grid-laptop-7 .elementor-grid { grid-template-columns: repeat(7, 1fr); } .elementor-grid-laptop-8 .elementor-grid { grid-template-columns: repeat(8, 1fr); } .elementor-grid-laptop-9 .elementor-grid { grid-template-columns: repeat(9, 1fr); } .elementor-grid-laptop-10 .elementor-grid { grid-template-columns: repeat(10, 1fr); } .elementor-grid-laptop-11 .elementor-grid { grid-template-columns: repeat(11, 1fr); } .elementor-grid-laptop-12 .elementor-grid { grid-template-columns: repeat(12, 1fr); } } @media (max-width: -1px) { .elementor-grid-tablet_extra-0 .elementor-grid { display: inline-block; width: 100%; word-spacing: var(--grid-column-gap); margin-bottom: calc(-1 * var(--grid-row-gap)); } .elementor-grid-tablet_extra-0 .elementor-grid .elementor-grid-item { display: inline-block; margin-bottom: var(--grid-row-gap); word-break: break-word; } .elementor-grid-tablet_extra-1 .elementor-grid { grid-template-columns: repeat(1, 1fr); } .elementor-grid-tablet_extra-2 .elementor-grid { grid-template-columns: repeat(2, 1fr); } .elementor-grid-tablet_extra-3 .elementor-grid { grid-template-columns: repeat(3, 1fr); } .elementor-grid-tablet_extra-4 .elementor-grid { grid-template-columns: repeat(4, 1fr); } .elementor-grid-tablet_extra-5 .elementor-grid { grid-template-columns: repeat(5, 1fr); } .elementor-grid-tablet_extra-6 .elementor-grid { grid-template-columns: repeat(6, 1fr); } .elementor-grid-tablet_extra-7 .elementor-grid { grid-template-columns: repeat(7, 1fr); } .elementor-grid-tablet_extra-8 .elementor-grid { grid-template-columns: repeat(8, 1fr); } .elementor-grid-tablet_extra-9 .elementor-grid { grid-template-columns: repeat(9, 1fr); } .elementor-grid-tablet_extra-10 .elementor-grid { grid-template-columns: repeat(10, 1fr); } .elementor-grid-tablet_extra-11 .elementor-grid { grid-template-columns: repeat(11, 1fr); } .elementor-grid-tablet_extra-12 .elementor-grid { grid-template-columns: repeat(12, 1fr); } } @media (max-width: 1024px) { .elementor-grid-tablet-0 .elementor-grid { display: inline-block; width: 100%; word-spacing: var(--grid-column-gap); margin-bottom: calc(-1 * var(--grid-row-gap)); } .elementor-grid-tablet-0 .elementor-grid .elementor-grid-item { display: inline-block; margin-bottom: var(--grid-row-gap); word-break: break-word; } .elementor-grid-tablet-1 .elementor-grid { grid-template-columns: repeat(1, 1fr); } .elementor-grid-tablet-2 .elementor-grid { grid-template-columns: repeat(2, 1fr); } .elementor-grid-tablet-3 .elementor-grid { grid-template-columns: repeat(3, 1fr); } .elementor-grid-tablet-4 .elementor-grid { grid-template-columns: repeat(4, 1fr); } .elementor-grid-tablet-5 .elementor-grid { grid-template-columns: repeat(5, 1fr); } .elementor-grid-tablet-6 .elementor-grid { grid-template-columns: repeat(6, 1fr); } .elementor-grid-tablet-7 .elementor-grid { grid-template-columns: repeat(7, 1fr); } .elementor-grid-tablet-8 .elementor-grid { grid-template-columns: repeat(8, 1fr); } .elementor-grid-tablet-9 .elementor-grid { grid-template-columns: repeat(9, 1fr); } .elementor-grid-tablet-10 .elementor-grid { grid-template-columns: repeat(10, 1fr); } .elementor-grid-tablet-11 .elementor-grid { grid-template-columns: repeat(11, 1fr); } .elementor-grid-tablet-12 .elementor-grid { grid-template-columns: repeat(12, 1fr); } } @media (max-width: -1px) { .elementor-grid-mobile_extra-0 .elementor-grid { display: inline-block; width: 100%; word-spacing: var(--grid-column-gap); margin-bottom: calc(-1 * var(--grid-row-gap)); } .elementor-grid-mobile_extra-0 .elementor-grid .elementor-grid-item { display: inline-block; margin-bottom: var(--grid-row-gap); word-break: break-word; } .elementor-grid-mobile_extra-1 .elementor-grid { grid-template-columns: repeat(1, 1fr); } .elementor-grid-mobile_extra-2 .elementor-grid { grid-template-columns: repeat(2, 1fr); } .elementor-grid-mobile_extra-3 .elementor-grid { grid-template-columns: repeat(3, 1fr); } .elementor-grid-mobile_extra-4 .elementor-grid { grid-template-columns: repeat(4, 1fr); } .elementor-grid-mobile_extra-5 .elementor-grid { grid-template-columns: repeat(5, 1fr); } .elementor-grid-mobile_extra-6 .elementor-grid { grid-template-columns: repeat(6, 1fr); } .elementor-grid-mobile_extra-7 .elementor-grid { grid-template-columns: repeat(7, 1fr); } .elementor-grid-mobile_extra-8 .elementor-grid { grid-template-columns: repeat(8, 1fr); } .elementor-grid-mobile_extra-9 .elementor-grid { grid-template-columns: repeat(9, 1fr); } .elementor-grid-mobile_extra-10 .elementor-grid { grid-template-columns: repeat(10, 1fr); } .elementor-grid-mobile_extra-11 .elementor-grid { grid-template-columns: repeat(11, 1fr); } .elementor-grid-mobile_extra-12 .elementor-grid { grid-template-columns: repeat(12, 1fr); } } @media (max-width: 767px) { .elementor-grid-mobile-0 .elementor-grid { display: inline-block; width: 100%; word-spacing: var(--grid-column-gap); margin-bottom: calc(-1 * var(--grid-row-gap)); } .elementor-grid-mobile-0 .elementor-grid .elementor-grid-item { display: inline-block; margin-bottom: var(--grid-row-gap); word-break: break-word; } .elementor-grid-mobile-1 .elementor-grid { grid-template-columns: repeat(1, 1fr); } .elementor-grid-mobile-2 .elementor-grid { grid-template-columns: repeat(2, 1fr); } .elementor-grid-mobile-3 .elementor-grid { grid-template-columns: repeat(3, 1fr); } .elementor-grid-mobile-4 .elementor-grid { grid-template-columns: repeat(4, 1fr); } .elementor-grid-mobile-5 .elementor-grid { grid-template-columns: repeat(5, 1fr); } .elementor-grid-mobile-6 .elementor-grid { grid-template-columns: repeat(6, 1fr); } .elementor-grid-mobile-7 .elementor-grid { grid-template-columns: repeat(7, 1fr); } .elementor-grid-mobile-8 .elementor-grid { grid-template-columns: repeat(8, 1fr); } .elementor-grid-mobile-9 .elementor-grid { grid-template-columns: repeat(9, 1fr); } .elementor-grid-mobile-10 .elementor-grid { grid-template-columns: repeat(10, 1fr); } .elementor-grid-mobile-11 .elementor-grid { grid-template-columns: repeat(11, 1fr); } .elementor-grid-mobile-12 .elementor-grid { grid-template-columns: repeat(12, 1fr); } } @media (min-width: 1025px) { #elementor-device-mode:after { content: "desktop"; } } @media (min-width: -1px) { #elementor-device-mode:after { content: "widescreen"; } } @media (max-width: -1px) { #elementor-device-mode:after { content: "laptop"; } } @media (max-width: -1px) { #elementor-device-mode:after { content: "tablet_extra"; } } @media (max-width: 1024px) { #elementor-device-mode:after { content: "tablet"; } } @media (max-width: -1px) { #elementor-device-mode:after { content: "mobile_extra"; } } @media (max-width: 767px) { #elementor-device-mode:after { content: "mobile"; } } .e-container { --border-radius: 0; --display: flex; --flex-direction: column; --flex-basis: auto; --flex-grow: 0; --flex-shrink: 1; --content-width: Min( 100%, var( --container-max-width, 1140px ) ); --width: 100%; --min-height: initial; --height: auto; --text-align: initial; --margin-top: 0; --margin-right: 0; --margin-bottom: 0; --margin-left: 0; --padding-top: var( --container-default-padding, 0px ); --padding-right: var( --container-default-padding, 0px ); --padding-bottom: var( --container-default-padding, 0px ); --padding-left: var( --container-default-padding, 0px ); --position: relative; --z-index: revert; --overflow: visible; --transition: 0; --gap: var( --widgets-spacing, 20px ); --overlay-mix-blend-mode: initial; --overlay-opacity: 1; --overlay-transition: 0; position: var(--position); display: var(--display); text-align: var(--text-align); -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: var(--flex-direction); flex-direction: var(--flex-direction); -webkit-box-flex: var(--flex-grow); -ms-flex: var(--flex-grow) var(--flex-shrink) var(--flex-basis); flex: var(--flex-grow) var(--flex-shrink) var(--flex-basis); width: var(--width); min-width: 0; max-width: min(100%, var(--width)); min-height: var(--min-height); height: var(--height); border-radius: var(--border-radius); margin: var(--margin-top) var(--margin-right) var(--margin-bottom) var(--margin-left); padding-left: calc((100% - var(--content-width)) / 2 + var(--padding-left)); padding-right: calc((100% - var(--content-width)) / 2 + var(--padding-right)); padding-top: var(--padding-top); padding-bottom: var(--padding-bottom); z-index: var(--z-index); overflow: var(--overflow); -webkit-transition: var(--transition); -o-transition: var(--transition); transition: var(--transition); } :is(.elementor-section-wrap, [data-elementor-id]) > .e-container { --margin-right: auto; --margin-left: auto; } .e-container .elementor-empty-view { position: relative; width: 100%; height: 100%; min-height: var(--min-height, 100px); } .e-container .elementor-empty-view .elementor-first-add { width: auto; height: auto; inset: 10px; } .e-container .elementor-widget-placeholder { --size: 10px; --margin-start: calc( -1 * var( --size ) ); --margin-end: calc( -2 * var( --size ) ); -ms-flex-negative: 0; flex-shrink: 0; -ms-flex-item-align: stretch; align-self: stretch; z-index: 1; pointer-events: none; } .e-container.e-container--row > .elementor-widget-placeholder { position: relative; z-index: 9999; width: var(--size); -webkit-margin-start: var(--margin-start); margin-inline-start: var(--margin-start); height: auto; min-height: 100%; -webkit-animation-name: dnd-placeholder-widget-vertical; animation-name: dnd-placeholder-widget-vertical; -webkit-animation-fill-mode: both; animation-fill-mode: both; } .e-container.e-container--row[data-nesting-level]:not([data-nesting-level="0"]) > .elementor-widget-placeholder { -webkit-margin-end: 0; margin-inline-end: 0; -webkit-margin-start: calc(var(--margin-start) + var(--margin-end)); margin-inline-start: calc(var(--margin-start) + var(--margin-end)); } .e-container.e-container--row[data-nesting-level]:not([data-nesting-level="0"]) > :not(.elementor-element) + .elementor-widget-placeholder { -webkit-margin-end: var(--margin-end); margin-inline-end: var(--margin-end); -webkit-margin-start: var(--margin-start); margin-inline-start: var(--margin-start); } .e-container.e-container--column > .elementor-widget-placeholder { height: var(--size); -webkit-margin-before: var(--margin-start); margin-block-start: var(--margin-start); -webkit-margin-after: var(--margin-end); margin-block-end: var(--margin-end); -webkit-animation-name: dnd-placeholder-widget-horizontal; animation-name: dnd-placeholder-widget-horizontal; } .e-container.e-container--column > .elementor-widget-placeholder:nth-last-child(2) { -webkit-margin-before: calc(2 * var(--margin-start)); margin-block-start: calc(2 * var(--margin-start)); --margin-end: 0; } .e-container .elementor-sortable-helper { height: 84px; width: 125px; z-index: -1; } .e-container .elementor-widget.elementor-widget { margin-bottom: 0; } .e-container::before { content: var(--background-overlay); display: block; position: absolute; z-index: 0; width: 100%; height: 100%; left: 0; top: 0; mix-blend-mode: var(--overlay-mix-blend-mode); opacity: var(--overlay-opacity); -webkit-transition: var(--overlay-transition); -o-transition: var(--overlay-transition); transition: var(--overlay-transition); border-radius: var(--border-radius); } .e-container .elementor-widget { min-width: 0; } .e-container .elementor-widget-video, .e-container .elementor-widget-google_maps { -ms-flex-preferred-size: 100%; flex-basis: 100%; } .e-container .elementor-widget.e-widget-swiper { max-width: 100%; -ms-flex-preferred-size: 100%; flex-basis: 100%; } .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-setting, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-setting { position: relative; background-color: #556068; } .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-setting:hover, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-setting:hover { background-color: #495157; } .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-setting.elementor-editor-element-add, .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-setting.elementor-editor-element-edit + .elementor-editor-element-remove, .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-setting:first-child::before, .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-setting:last-child::after, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-setting.elementor-editor-element-add, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-setting.elementor-editor-element-edit + .elementor-editor-element-remove, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-setting:first-child::before, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-setting:last-child::after { display: none; } .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-setting:not(.elementor-editor-element-edit), .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-setting:not(.elementor-editor-element-edit) { -webkit-margin-start: -25px; margin-inline-start: -25px; z-index: -1; -webkit-transition: 0.3s all; -o-transition: 0.3s all; transition: 0.3s all; will-change: margin-inline-start; } .e-container > .e-container > .elementor-element-overlay > .elementor-editor-element-settings:hover > :is(.elementor-editor-element-duplicate, .elementor-editor-element-remove), .elementor-widget .e-container > .elementor-element-overlay > .elementor-editor-element-settings:hover > :is(.elementor-editor-element-duplicate, .elementor-editor-element-remove) { -webkit-margin-start: 0; margin-inline-start: 0; } .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-settings, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-settings { inset: initial; -webkit-transform: none; -ms-transform: none; transform: none; inset-inline-start: 0; top: 0; border-radius: 0; border-end-end-radius: 3px; height: auto; background-color: #556068; } .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-settings:hover, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-settings:hover { background-color: #495157; } .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-settings i.eicon-handle::before, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-settings i.eicon-handle::before { content: "\e9b4"; font-size: 20px; display: block; padding: 2px; } @media (max-width: 767px) { .e-container { --width: 100%; --flex-wrap: wrap; } } @-webkit-keyframes dnd-placeholder-widget-vertical { 0% { -webkit-transform-origin: 0 50%; transform-origin: 0 50%; -webkit-transform: translateX(50%) scaleX(0); transform: translateX(50%) scaleX(0); opacity: 0; } 100% { -webkit-transform-origin: 0 50%; transform-origin: 0 50%; -webkit-transform: translateX(50%) scaleX(1); transform: translateX(50%) scaleX(1); opacity: 0.9; } } @keyframes dnd-placeholder-widget-vertical { 0% { -webkit-transform-origin: 0 50%; transform-origin: 0 50%; -webkit-transform: translateX(50%) scaleX(0); transform: translateX(50%) scaleX(0); opacity: 0; } 100% { -webkit-transform-origin: 0 50%; transform-origin: 0 50%; -webkit-transform: translateX(50%) scaleX(1); transform: translateX(50%) scaleX(1); opacity: 0.9; } } @-webkit-keyframes dnd-placeholder-widget-horizontal { 0% { -webkit-transform-origin: 50% 0; transform-origin: 50% 0; -webkit-transform: scaleY(0); transform: scaleY(0); opacity: 0; } 100% { -webkit-transform-origin: 50% 0; transform-origin: 50% 0; -webkit-transform: scaleY(1); transform: scaleY(1); opacity: 0.9; } } @keyframes dnd-placeholder-widget-horizontal { 0% { -webkit-transform-origin: 50% 0; transform-origin: 50% 0; -webkit-transform: scaleY(0); transform: scaleY(0); opacity: 0; } 100% { -webkit-transform-origin: 50% 0; transform-origin: 50% 0; -webkit-transform: scaleY(1); transform: scaleY(1); opacity: 0.9; } } .elementor-form-fields-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; } .elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group > input, .elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group > textarea, .elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group > .elementor-select-wrapper, .elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group .elementor-field-subgroup { -ms-flex-preferred-size: 100%; flex-basis: 100%; max-width: 100%; } .elementor-form-fields-wrapper.elementor-labels-inline > .elementor-field-group > input, .elementor-form-fields-wrapper.elementor-labels-inline > .elementor-field-group .elementor-select-wrapper { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; } .elementor-field-group { -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .elementor-field-group.elementor-field-type-submit { -webkit-box-align: end; -ms-flex-align: end; align-items: flex-end; } .elementor-field-group .elementor-field-textual { width: 100%; max-width: 100%; border: 1px solid #818a91; background-color: transparent; color: #373a3c; vertical-align: middle; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; } .elementor-field-group .elementor-field-textual:focus { -webkit-box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1) inset; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1) inset; outline: 0; } .elementor-field-group .elementor-field-textual::-webkit-input-placeholder { color: inherit; font-family: inherit; opacity: 0.6; } .elementor-field-group .elementor-field-textual:-ms-input-placeholder { color: inherit; font-family: inherit; opacity: 0.6; } .elementor-field-group .elementor-field-textual::-moz-placeholder { color: inherit; font-family: inherit; opacity: 0.6; } .elementor-field-group .elementor-field-textual:-moz-placeholder { color: inherit; font-family: inherit; opacity: 0.6; } .elementor-field-group .elementor-field-textual::-ms-input-placeholder { color: inherit; font-family: inherit; opacity: 0.6; } .elementor-field-group .elementor-field-textual::placeholder { color: inherit; font-family: inherit; opacity: 0.6; } .elementor-field-group .elementor-select-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; position: relative; width: 100%; } .elementor-field-group .elementor-select-wrapper select { appearance: none; -webkit-appearance: none; -moz-appearance: none; color: inherit; font-size: inherit; font-family: inherit; font-weight: inherit; font-style: inherit; text-transform: inherit; letter-spacing: inherit; line-height: inherit; -ms-flex-preferred-size: 100%; flex-basis: 100%; padding-left: 20px; } .elementor-field-group .elementor-select-wrapper:before { content: "\e92a"; font-family: "eicons"; font-size: 15px; position: absolute; top: 50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); left: 10px; pointer-events: none; text-shadow: 0 0 3px rgba(0, 0, 0, 0.3); } .elementor-field-group.elementor-field-type-select-multiple .elementor-select-wrapper:before { content: ""; } .elementor-field-subgroup { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; } .elementor-field-subgroup .elementor-field-option label { display: inline-block; } .elementor-field-subgroup.elementor-subgroup-inline .elementor-field-option { padding-left: 10px; } .elementor-field-subgroup:not(.elementor-subgroup-inline) .elementor-field-option { -ms-flex-preferred-size: 100%; flex-basis: 100%; } .elementor-field-type-checkbox .elementor-field-subgroup .elementor-field-option input, .elementor-field-type-checkbox .elementor-field-subgroup .elementor-field-option label, .elementor-field-type-radio .elementor-field-subgroup .elementor-field-option input, .elementor-field-type-radio .elementor-field-subgroup .elementor-field-option label, .elementor-field-type-acceptance .elementor-field-subgroup .elementor-field-option input, .elementor-field-type-acceptance .elementor-field-subgroup .elementor-field-option label { display: inline; } .elementor-field-label { cursor: pointer; } .elementor-mark-required .elementor-field-label:after { content: "*"; color: red; padding-right: 0.2em; } .elementor-field-textual { line-height: 1.4; font-size: 15px; min-height: 40px; padding: 5px 14px; border-radius: 3px; } .elementor-field-textual.elementor-size-xs { font-size: 13px; min-height: 33px; padding: 4px 12px; border-radius: 2px; } .elementor-field-textual.elementor-size-md { font-size: 16px; min-height: 47px; padding: 6px 16px; border-radius: 4px; } .elementor-field-textual.elementor-size-lg { font-size: 18px; min-height: 59px; padding: 7px 20px; border-radius: 5px; } .elementor-field-textual.elementor-size-xl { font-size: 20px; min-height: 72px; padding: 8px 24px; border-radius: 6px; } .elementor-button-align-stretch .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button { -ms-flex-preferred-size: 100%; flex-basis: 100%; } .elementor-button-align-stretch .e-form__buttons__wrapper { -ms-flex-preferred-size: 50%; flex-basis: 50%; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; } .elementor-button-align-stretch .e-form__buttons__wrapper__button { -ms-flex-preferred-size: 100%; flex-basis: 100%; } .elementor-button-align-center .elementor-field-type-submit, .elementor-button-align-center .e-form__buttons { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-button-align-start .elementor-field-type-submit, .elementor-button-align-start .e-form__buttons { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; } .elementor-button-align-end .elementor-field-type-submit, .elementor-button-align-end .e-form__buttons { -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; } .elementor-button-align-center .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button, .elementor-button-align-start .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button, .elementor-button-align-end .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button { -ms-flex-preferred-size: initial; flex-basis: initial; } .elementor-button-align-center .e-form__buttons__wrapper, .elementor-button-align-start .e-form__buttons__wrapper, .elementor-button-align-end .e-form__buttons__wrapper { -webkit-box-flex: initial; -ms-flex-positive: initial; flex-grow: initial; } .elementor-button-align-center .e-form__buttons__wrapper, .elementor-button-align-center .e-form__buttons__wrapper__button, .elementor-button-align-start .e-form__buttons__wrapper, .elementor-button-align-start .e-form__buttons__wrapper__button, .elementor-button-align-end .e-form__buttons__wrapper, .elementor-button-align-end .e-form__buttons__wrapper__button { -ms-flex-preferred-size: initial; flex-basis: initial; } @media screen and (max-width: 1024px) { .elementor-tablet-button-align-stretch .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button { -ms-flex-preferred-size: 100%; flex-basis: 100%; } .elementor-tablet-button-align-stretch .e-form__buttons__wrapper { -ms-flex-preferred-size: 50%; flex-basis: 50%; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; } .elementor-tablet-button-align-stretch .e-form__buttons__wrapper__button { -ms-flex-preferred-size: 100%; flex-basis: 100%; } .elementor-tablet-button-align-center .elementor-field-type-submit, .elementor-tablet-button-align-center .e-form__buttons { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-tablet-button-align-start .elementor-field-type-submit, .elementor-tablet-button-align-start .e-form__buttons { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; } .elementor-tablet-button-align-end .elementor-field-type-submit, .elementor-tablet-button-align-end .e-form__buttons { -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; } .elementor-tablet-button-align-center .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button, .elementor-tablet-button-align-start .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button, .elementor-tablet-button-align-end .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button { -ms-flex-preferred-size: initial; flex-basis: initial; } .elementor-tablet-button-align-center .e-form__buttons__wrapper, .elementor-tablet-button-align-start .e-form__buttons__wrapper, .elementor-tablet-button-align-end .e-form__buttons__wrapper { -webkit-box-flex: initial; -ms-flex-positive: initial; flex-grow: initial; } .elementor-tablet-button-align-center .e-form__buttons__wrapper, .elementor-tablet-button-align-center .e-form__buttons__wrapper__button, .elementor-tablet-button-align-start .e-form__buttons__wrapper, .elementor-tablet-button-align-start .e-form__buttons__wrapper__button, .elementor-tablet-button-align-end .e-form__buttons__wrapper, .elementor-tablet-button-align-end .e-form__buttons__wrapper__button { -ms-flex-preferred-size: initial; flex-basis: initial; } } @media screen and (max-width: 767px) { .elementor-mobile-button-align-stretch .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button { -ms-flex-preferred-size: 100%; flex-basis: 100%; } .elementor-mobile-button-align-stretch .e-form__buttons__wrapper { -ms-flex-preferred-size: 50%; flex-basis: 50%; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; } .elementor-mobile-button-align-stretch .e-form__buttons__wrapper__button { -ms-flex-preferred-size: 100%; flex-basis: 100%; } .elementor-mobile-button-align-center .elementor-field-type-submit, .elementor-mobile-button-align-center .e-form__buttons { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-mobile-button-align-start .elementor-field-type-submit, .elementor-mobile-button-align-start .e-form__buttons { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; } .elementor-mobile-button-align-end .elementor-field-type-submit, .elementor-mobile-button-align-end .e-form__buttons { -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; } .elementor-mobile-button-align-center .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button, .elementor-mobile-button-align-start .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button, .elementor-mobile-button-align-end .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button { -ms-flex-preferred-size: initial; flex-basis: initial; } .elementor-mobile-button-align-center .e-form__buttons__wrapper, .elementor-mobile-button-align-start .e-form__buttons__wrapper, .elementor-mobile-button-align-end .e-form__buttons__wrapper { -webkit-box-flex: initial; -ms-flex-positive: initial; flex-grow: initial; } .elementor-mobile-button-align-center .e-form__buttons__wrapper, .elementor-mobile-button-align-center .e-form__buttons__wrapper__button, .elementor-mobile-button-align-start .e-form__buttons__wrapper, .elementor-mobile-button-align-start .e-form__buttons__wrapper__button, .elementor-mobile-button-align-end .e-form__buttons__wrapper, .elementor-mobile-button-align-end .e-form__buttons__wrapper__button { -ms-flex-preferred-size: initial; flex-basis: initial; } } .elementor-error .elementor-field { border-color: #d9534f; } .elementor-error .help-inline { color: #d9534f; font-size: 0.9em; } .elementor-message { margin: 10px 0; font-size: 1em; line-height: 1; } .elementor-message:before { content: "\e90e"; display: inline-block; font-family: eicons; font-weight: normal; font-style: normal; vertical-align: middle; margin-left: 5px; } .elementor-message.elementor-message-danger { color: #d9534f; } .elementor-message.elementor-message-danger:before { content: "\e87f"; } .elementor-message.form-message-success { color: #5cb85c; } .elementor-form .elementor-button { padding-top: 0; padding-bottom: 0; border: none; } .elementor-form .elementor-button > span { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-form .elementor-button.elementor-size-xs { min-height: 33px; } .elementor-form .elementor-button.elementor-size-sm { min-height: 40px; } .elementor-form .elementor-button.elementor-size-md { min-height: 47px; } .elementor-form .elementor-button.elementor-size-lg { min-height: 59px; } .elementor-form .elementor-button.elementor-size-xl { min-height: 72px; } .elementor-element .elementor-widget-container { -webkit-transition: background 0.3s, border 0.3s, border-radius 0.3s, -webkit-box-shadow 0.3s; transition: background 0.3s, border 0.3s, border-radius 0.3s, -webkit-box-shadow 0.3s; -o-transition: background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s; transition: background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s; transition: background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s, -webkit-box-shadow 0.3s; } .elementor-button { display: inline-block; line-height: 1; background-color: #818a91; font-size: 15px; padding: 12px 24px; border-radius: 3px; color: #fff; fill: #fff; text-align: center; -webkit-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; } .elementor-button:hover, .elementor-button:focus, .elementor-button:visited { color: #fff; } .elementor-button-content-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-button-icon { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; } .elementor-button-icon svg { width: 1em; height: auto; } .elementor-button-icon .e-font-icon-svg { height: 1em; } .elementor-button-text { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; -webkit-box-ordinal-group: 11; -ms-flex-order: 10; order: 10; display: inline-block; } .elementor-button.elementor-size-xs { font-size: 13px; padding: 10px 20px; border-radius: 2px; } .elementor-button.elementor-size-md { font-size: 16px; padding: 15px 30px; border-radius: 4px; } .elementor-button.elementor-size-lg { font-size: 18px; padding: 20px 40px; border-radius: 5px; } .elementor-button.elementor-size-xl { font-size: 20px; padding: 25px 50px; border-radius: 6px; } .elementor-button .elementor-align-icon-right { margin-left: 5px; -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; } .elementor-button .elementor-align-icon-left { margin-right: 5px; -webkit-box-ordinal-group: 16; -ms-flex-order: 15; order: 15; } .elementor-button span { text-decoration: inherit; } .elementor-element.elementor-button-info .elementor-button { background-color: #5bc0de; } .elementor-element.elementor-button-success .elementor-button { background-color: #5cb85c; } .elementor-element.elementor-button-warning .elementor-button { background-color: #f0ad4e; } .elementor-element.elementor-button-danger .elementor-button { background-color: #d9534f; } .elementor-widget-button .elementor-button .elementor-button-info { background-color: #5bc0de; } .elementor-widget-button .elementor-button .elementor-button-success { background-color: #5cb85c; } .elementor-widget-button .elementor-button .elementor-button-warning { background-color: #f0ad4e; } .elementor-widget-button .elementor-button .elementor-button-danger { background-color: #d9534f; } .elementor-tab-title a { color: inherit; } .elementor-view-stacked .elementor-icon { padding: 0.5em; background-color: #818a91; color: #fff; fill: #fff; } .elementor-view-framed .elementor-icon { padding: 0.5em; color: #818a91; border: 3px solid #818a91; background-color: transparent; } .elementor-icon { display: inline-block; line-height: 1; -webkit-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; color: #818a91; font-size: 50px; text-align: center; } .elementor-icon:hover { color: #818a91; } .elementor-icon i, .elementor-icon svg { width: 1em; height: 1em; position: relative; display: block; } .elementor-icon i:before, .elementor-icon svg:before { position: absolute; left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); } .elementor-icon i.fad { width: initial; } .elementor-shape-circle .elementor-icon { border-radius: 50%; } .e-transform .elementor-widget-container { -webkit-transform: perspective(var(--e-transform-perspective, 0)) rotateZ(var(--e-transform-rotateZ, 0)) rotateX(var(--e-transform-rotateX, 0)) rotateY(var(--e-transform-rotateY, 0)) translate(var(--e-transform-translate, 0)) translateX(var(--e-transform-translateX, 0)) translateY(var(--e-transform-translateY, 0)) scaleX(calc(var(--e-transform-flipX, 1) * var(--e-transform-scaleX, var(--e-transform-scale, 1)))) scaleY(calc(var(--e-transform-flipY, 1) * var(--e-transform-scaleY, var(--e-transform-scale, 1)))) skewX(var(--e-transform-skewX, 0)) skewY(var(--e-transform-skewY, 0)); transform: perspective(var(--e-transform-perspective, 0)) rotateZ(var(--e-transform-rotateZ, 0)) rotateX(var(--e-transform-rotateX, 0)) rotateY(var(--e-transform-rotateY, 0)) translate(var(--e-transform-translate, 0)) translateX(var(--e-transform-translateX, 0)) translateY(var(--e-transform-translateY, 0)) scaleX(calc(var(--e-transform-flipX, 1) * var(--e-transform-scaleX, var(--e-transform-scale, 1)))) scaleY(calc(var(--e-transform-flipY, 1) * var(--e-transform-scaleY, var(--e-transform-scale, 1)))) skewX(var(--e-transform-skewX, 0)) skewY(var(--e-transform-skewY, 0)); -webkit-transform-origin: var(--e-transform-origin-y) var(--e-transform-origin-x); -ms-transform-origin: var(--e-transform-origin-y) var(--e-transform-origin-x); transform-origin: var(--e-transform-origin-y) var(--e-transform-origin-x); -webkit-transition: -webkit-transform var(--e-transform-transition-duration, 400ms); transition: -webkit-transform var(--e-transform-transition-duration, 400ms); -o-transition: transform var(--e-transform-transition-duration, 400ms); transition: transform var(--e-transform-transition-duration, 400ms); transition: transform var(--e-transform-transition-duration, 400ms), -webkit-transform var(--e-transform-transition-duration, 400ms); } /** * Swiper 3.4.2 * Customized by Elementor team */ .swiper-container { margin-left: auto; margin-right: auto; position: relative; overflow: hidden; /* Fix of Webkit flickering */ z-index: 1; } .swiper-container .swiper-slide figure { line-height: 0; } .swiper-container .elementor-lightbox-content-source { display: none; } .swiper-container-no-flexbox .swiper-slide { float: left; } .swiper-container-vertical > .swiper-wrapper { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; } .swiper-wrapper { position: relative; width: 100%; height: 100%; z-index: 1; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-transition-property: -webkit-transform; transition-property: -webkit-transform; -o-transition-property: transform; transition-property: transform; transition-property: transform, -webkit-transform; -webkit-box-sizing: content-box; box-sizing: content-box; } .swiper-container-android .swiper-slide, .swiper-wrapper { -webkit-transform: translate3d(0px, 0, 0); transform: translate3d(0px, 0, 0); } .swiper-container-multirow > .swiper-wrapper { -ms-flex-wrap: wrap; flex-wrap: wrap; } .swiper-container-free-mode > .swiper-wrapper { -webkit-transition-timing-function: ease-out; -o-transition-timing-function: ease-out; transition-timing-function: ease-out; margin: 0 auto; } .swiper-slide { -ms-flex-negative: 0; flex-shrink: 0; width: 100%; height: 100%; position: relative; } /* Auto Height */ .swiper-container-autoheight { height: auto; } .swiper-container-autoheight .swiper-slide { height: auto; } .swiper-container-autoheight .swiper-wrapper { -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; -webkit-transition-property: height, -webkit-transform; transition-property: height, -webkit-transform; -o-transition-property: transform, height; transition-property: transform, height; transition-property: transform, height, -webkit-transform; } /* a11y */ .swiper-container .swiper-notification { position: absolute; left: 0; top: 0; pointer-events: none; opacity: 0; z-index: -1000; } /* IE10 Windows Phone 8 Fixes */ .swiper-wp8-horizontal { -ms-touch-action: pan-y; touch-action: pan-y; } .swiper-wp8-vertical { -ms-touch-action: pan-x; touch-action: pan-x; } /* Arrows */ .swiper-button-prev, .swiper-button-next { position: absolute; top: 50%; width: 27px; height: 44px; margin-top: -22px; z-index: 10; cursor: pointer; background-size: 27px 44px; background: no-repeat center; } .swiper-button-prev.swiper-button-disabled, .swiper-button-next.swiper-button-disabled { opacity: 0.35; cursor: auto; pointer-events: none; } .swiper-button-prev, .swiper-container-rtl .swiper-button-next { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E"); left: 10px; right: auto; } .swiper-button-prev.swiper-button-black, .swiper-container-rtl .swiper-button-next.swiper-button-black { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); } .swiper-button-prev.swiper-button-white, .swiper-container-rtl .swiper-button-next.swiper-button-white { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); } .swiper-button-next, .swiper-container-rtl .swiper-button-prev { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E"); right: 10px; left: auto; } .swiper-button-next.swiper-button-black, .swiper-container-rtl .swiper-button-prev.swiper-button-black { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); } .swiper-button-next.swiper-button-white, .swiper-container-rtl .swiper-button-prev.swiper-button-white { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); } /* Pagination Styles */ .swiper-pagination { position: absolute; text-align: center; -webkit-transition: 300ms; -o-transition: 300ms; transition: 300ms; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); z-index: 10; } .swiper-pagination.swiper-pagination-hidden { opacity: 0; } /* Common Styles */ .swiper-pagination-fraction, .swiper-pagination-custom, .swiper-container-horizontal > .swiper-pagination-bullets { bottom: 5px; left: 0; width: 100%; } /* Bullets */ .swiper-pagination-bullet { width: 6px; height: 6px; display: inline-block; border-radius: 50%; background: #000; opacity: 0.2; } .swiper-pagination-fraction { color: #000; } button.swiper-pagination-bullet { border: none; margin: 0; padding: 0; -webkit-box-shadow: none; box-shadow: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; } .swiper-pagination-clickable .swiper-pagination-bullet { cursor: pointer; } .swiper-pagination-white .swiper-pagination-bullet { background: #fff; } .swiper-pagination-bullet-active { opacity: 1; } .swiper-pagination-white .swiper-pagination-bullet-active { background: #fff; } .swiper-pagination-black .swiper-pagination-bullet-active { background: #000; } .swiper-container-vertical > .swiper-pagination-bullets { right: 10px; top: 50%; -webkit-transform: translate3d(0px, -50%, 0); transform: translate3d(0px, -50%, 0); } .swiper-container-vertical > .swiper-pagination-bullets .swiper-pagination-bullet { margin: 5px 0; display: block; } .swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet { margin: 0 6px; } /* Progressbar */ .swiper-pagination-progressbar { background: rgba(0, 0, 0, 0.25); position: absolute; } .swiper-pagination-progressbar .swiper-pagination-progressbar-fill { background: #000; position: absolute; left: 0; top: 0; width: 100%; height: 100%; -webkit-transform: scale(0); -ms-transform: scale(0); transform: scale(0); -webkit-transform-origin: left top; -ms-transform-origin: left top; transform-origin: left top; } .swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill { -webkit-transform-origin: right top; -ms-transform-origin: right top; transform-origin: right top; } .swiper-container-horizontal > .swiper-pagination-progressbar { width: 100%; height: 4px; left: 0; top: 0; } .swiper-container-vertical > .swiper-pagination-progressbar { width: 4px; height: 100%; left: 0; top: 0; } .swiper-pagination-progressbar.swiper-pagination-white { background: rgba(255, 255, 255, 0.5); } .swiper-pagination-progressbar.swiper-pagination-white .swiper-pagination-progressbar-fill { background: #fff; } .swiper-pagination-progressbar.swiper-pagination-black .swiper-pagination-progressbar-fill { background: #000; } /* 3D Container */ .swiper-container-3d { -webkit-perspective: 1200px; perspective: 1200px; } .swiper-container-3d .swiper-wrapper, .swiper-container-3d .swiper-slide, .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top, .swiper-container-3d .swiper-slide-shadow-bottom, .swiper-container-3d .swiper-cube-shadow { -webkit-transform-style: preserve-3d; transform-style: preserve-3d; } .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top, .swiper-container-3d .swiper-slide-shadow-bottom { position: absolute; left: 0; top: 0; width: 100%; height: 100%; pointer-events: none; z-index: 10; } .swiper-container-3d .swiper-slide-shadow-left { background-image: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0))); background-image: -o-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); } .swiper-container-3d .swiper-slide-shadow-right { background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0))); background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); } .swiper-container-3d .swiper-slide-shadow-top { background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0))); background-image: -o-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); } .swiper-container-3d .swiper-slide-shadow-bottom { background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0))); background-image: -o-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); } /* Coverflow */ .swiper-container-coverflow .swiper-wrapper, .swiper-container-flip .swiper-wrapper { /* Windows 8 IE 10 fix */ -ms-perspective: 1200px; } /* Cube + Flip */ .swiper-container-cube, .swiper-container-flip { overflow: visible; } .swiper-container-cube .swiper-slide, .swiper-container-flip .swiper-slide { pointer-events: none; z-index: 1; } .swiper-container-cube .swiper-slide .swiper-slide, .swiper-container-flip .swiper-slide .swiper-slide { pointer-events: none; } .swiper-container-cube .swiper-slide-active, .swiper-container-flip .swiper-slide-active, .swiper-container-cube .swiper-slide-active .swiper-slide-active, .swiper-container-flip .swiper-slide-active .swiper-slide-active { pointer-events: auto; } .swiper-container-cube .swiper-slide-shadow-top, .swiper-container-flip .swiper-slide-shadow-top, .swiper-container-cube .swiper-slide-shadow-bottom, .swiper-container-flip .swiper-slide-shadow-bottom, .swiper-container-cube .swiper-slide-shadow-left, .swiper-container-flip .swiper-slide-shadow-left, .swiper-container-cube .swiper-slide-shadow-right, .swiper-container-flip .swiper-slide-shadow-right { z-index: 0; -webkit-backface-visibility: hidden; backface-visibility: hidden; } /* Cube */ .swiper-container-cube .swiper-slide { visibility: hidden; -webkit-transform-origin: 0 0; -ms-transform-origin: 0 0; transform-origin: 0 0; width: 100%; height: 100%; } .swiper-container-cube.swiper-container-rtl .swiper-slide { -webkit-transform-origin: 100% 0; -ms-transform-origin: 100% 0; transform-origin: 100% 0; } .swiper-container-cube .swiper-slide-active, .swiper-container-cube .swiper-slide-next, .swiper-container-cube .swiper-slide-prev, .swiper-container-cube .swiper-slide-next + .swiper-slide { pointer-events: auto; visibility: visible; } .swiper-container-cube .swiper-cube-shadow { position: absolute; left: 0; bottom: 0; width: 100%; height: 100%; background: #000; opacity: 0.6; -webkit-filter: blur(50px); filter: blur(50px); z-index: 0; } /* Fade */ .swiper-container-fade.swiper-container-free-mode .swiper-slide { -webkit-transition-timing-function: ease-out; -o-transition-timing-function: ease-out; transition-timing-function: ease-out; } .swiper-container-fade .swiper-slide { pointer-events: none; -webkit-transition-property: opacity; -o-transition-property: opacity; transition-property: opacity; } .swiper-container-fade .swiper-slide .swiper-slide { pointer-events: none; } .swiper-container-fade .swiper-slide-active { pointer-events: auto; } .swiper-container-fade .swiper-slide-active .swiper-slide-active { pointer-events: auto; } .swiper-zoom-container { width: 100%; height: 100%; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; text-align: center; } .swiper-zoom-container > img, .swiper-zoom-container > svg, .swiper-zoom-container > canvas { max-width: 100%; max-height: 100%; -o-object-fit: contain; object-fit: contain; } /* Scrollbar */ .swiper-scrollbar { border-radius: 10px; position: relative; -ms-touch-action: none; background: rgba(0, 0, 0, 0.1); } .swiper-container-horizontal > .swiper-scrollbar { position: absolute; left: 1%; bottom: 3px; z-index: 50; height: 5px; width: 98%; } .swiper-container-vertical > .swiper-scrollbar { position: absolute; right: 3px; top: 1%; z-index: 50; width: 5px; height: 98%; } .swiper-scrollbar-drag { height: 100%; width: 100%; position: relative; background: rgba(0, 0, 0, 0.5); border-radius: 10px; left: 0; top: 0; } .swiper-scrollbar-cursor-drag { cursor: move; } .elementor-pagination-position-outside .swiper-container { padding-bottom: 30px; } .elementor-pagination-position-outside .elementor-swiper-button { top: calc(50% - 30px / 2); } .elementor-swiper { position: relative; } .elementor-main-swiper { position: static; } .elementor-arrows-position-outside .swiper-container { width: calc(100% - 60px); } .elementor-arrows-position-outside .elementor-swiper-button-prev { left: 0; } .elementor-arrows-position-outside .elementor-swiper-button-next { right: 0; } .swiper-image-stretch .swiper-slide .swiper-slide-image { width: 100%; } .elementor-swiper-button { position: absolute; display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; z-index: 1; cursor: pointer; font-size: 25px; color: rgba(238, 238, 238, 0.9); top: 50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); } .elementor-swiper-button svg { fill: rgba(238, 238, 238, 0.9); height: 1em; width: 1em; } .elementor-swiper-button-prev { left: 10px; } .elementor-swiper-button-next { right: 10px; } .elementor-swiper-button.swiper-button-disabled { opacity: 0.3; } .swiper-container-cube .elementor-swiper-button { -webkit-transform: translate3d(0, -50%, 1px); transform: translate3d(0, -50%, 1px); } /* Preloader */ .swiper-lazy-preloader { width: 42px; height: 42px; position: absolute; left: 50%; top: 50%; margin-left: -21px; margin-top: -21px; z-index: 10; -webkit-transform-origin: 50%; -ms-transform-origin: 50%; transform-origin: 50%; -webkit-animation: swiper-preloader-spin 1s steps(12, end) infinite; animation: swiper-preloader-spin 1s steps(12, end) infinite; } .swiper-lazy-preloader:after { display: block; content: ""; width: 100%; height: 100%; background-size: 100%; background: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat 50%; } .swiper-lazy-preloader-white:after { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); } @-webkit-keyframes swiper-preloader-spin { 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } @keyframes swiper-preloader-spin { 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } .elementor-lightbox { --lightbox-ui-color: rgba(238, 238, 238, 0.9); --lightbox-ui-color-hover: #fff; --lightbox-text-color: var(--lightbox-ui-color); --lightbox-header-icons-size: 20px; --lightbox-navigation-icons-size: 25px; } .elementor-lightbox .dialog-header { display: none; } .elementor-lightbox .dialog-widget-content { background: none; -webkit-box-shadow: none; box-shadow: none; width: 100%; height: 100%; } .elementor-lightbox .dialog-message { -webkit-animation-duration: 0.3s; animation-duration: 0.3s; } .elementor-lightbox .dialog-message:not(.elementor-fit-aspect-ratio) { height: 100%; } .elementor-lightbox .dialog-message.dialog-lightbox-message { padding: 0; } .elementor-lightbox .dialog-lightbox-close-button { cursor: pointer; position: absolute; font-size: var(--lightbox-header-icons-size); left: 0.75em; margin-top: 13px; padding: 0.25em; z-index: 2; line-height: 1; display: -webkit-box; display: -ms-flexbox; display: flex; } .elementor-lightbox .dialog-lightbox-close-button svg { height: 1em; width: 1em; } .elementor-lightbox .dialog-lightbox-close-button, .elementor-lightbox .elementor-swiper-button { color: var(--lightbox-ui-color); -webkit-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; opacity: 1; } .elementor-lightbox .dialog-lightbox-close-button svg, .elementor-lightbox .elementor-swiper-button svg { fill: var(--lightbox-ui-color); } .elementor-lightbox .dialog-lightbox-close-button:hover, .elementor-lightbox .elementor-swiper-button:hover { color: var(--lightbox-ui-color-hover); } .elementor-lightbox .dialog-lightbox-close-button:hover svg, .elementor-lightbox .elementor-swiper-button:hover svg { fill: var(--lightbox-ui-color-hover); } .elementor-lightbox .swiper-container { height: 100%; } .elementor-lightbox .elementor-lightbox-item { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; position: relative; padding: 70px; -webkit-box-sizing: border-box; box-sizing: border-box; height: 100%; margin: auto; } @media (max-width: 767px) { .elementor-lightbox .elementor-lightbox-item { padding: 70px 0; } } .elementor-lightbox .elementor-lightbox-image { max-height: 100%; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .elementor-lightbox .elementor-lightbox-image, .elementor-lightbox .elementor-lightbox-image:hover { opacity: 1; -webkit-filter: none; filter: none; border: none; } .elementor-lightbox .elementor-lightbox-image, .elementor-lightbox .elementor-video-container { -webkit-box-shadow: 0 0 30px rgba(0, 0, 0, 0.3), 0 0 8px -5px rgba(0, 0, 0, 0.3); box-shadow: 0 0 30px rgba(0, 0, 0, 0.3), 0 0 8px -5px rgba(0, 0, 0, 0.3); border-radius: 2px; } .elementor-lightbox .elementor-video-container { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); } @media (min-width: 1025px) { .elementor-lightbox .elementor-video-container { width: 75%; } } @media (max-width: 1024px) { .elementor-lightbox .elementor-video-container { width: 100%; } } @media (min-width: 768px) and (max-width: 1024px) { .elementor-lightbox .elementor-aspect-ratio-916 .elementor-video-container { width: 70%; } } .elementor-lightbox .elementor-swiper-button:focus { outline-width: 1px; } .elementor-lightbox .elementor-swiper-button-prev, .elementor-lightbox .elementor-swiper-button-next { height: 100%; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; width: 15%; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; font-size: var(--lightbox-navigation-icons-size); } .elementor-lightbox .elementor-swiper-button-prev { left: 0; } .elementor-lightbox .elementor-swiper-button-next { right: 0; } @media (max-width: 767px) { .elementor-lightbox .elementor-swiper-button:focus { outline: none; } .elementor-lightbox .elementor-swiper-button-prev, .elementor-lightbox .elementor-swiper-button-next { width: 20%; } .elementor-lightbox .elementor-swiper-button-prev i, .elementor-lightbox .elementor-swiper-button-next i { padding: 10px; background-color: rgba(0, 0, 0, 0.5); } .elementor-lightbox .elementor-swiper-button-prev { left: 0; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; } .elementor-lightbox .elementor-swiper-button-next { right: 0; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; } } .elementor-slideshow__counter { color: currentColor; font-size: 0.75em; width: -webkit-max-content; width: -moz-max-content; width: max-content; } .elementor-slideshow__header, .elementor-slideshow__footer { position: absolute; left: 0; width: 100%; padding: 15px 20px; -webkit-transition: 0.3s; -o-transition: 0.3s; transition: 0.3s; } .elementor-slideshow__footer { color: var(--lightbox-text-color); } .elementor-slideshow__header { color: var(--lightbox-ui-color); display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; font-size: var(--lightbox-header-icons-size); padding-right: 1em; padding-left: 2.6em; top: 0; -webkit-box-align: center; -ms-flex-align: center; align-items: center; z-index: 10; } .elementor-slideshow__header > i, .elementor-slideshow__header > svg { cursor: pointer; padding: 0.25em; margin: 0 0.35em; } .elementor-slideshow__header > i { font-size: inherit; } .elementor-slideshow__header > i:hover { color: var(--lightbox-ui-color-hover); } .elementor-slideshow__header > svg { -webkit-box-sizing: content-box; box-sizing: content-box; fill: var(--lightbox-ui-color); height: 1em; width: 1em; } .elementor-slideshow__header > svg:hover { fill: var(--lightbox-ui-color-hover); } .elementor-slideshow__header .elementor-slideshow__counter { margin-left: auto; } .elementor-slideshow__header .elementor-icon-share { z-index: 5; } .elementor-slideshow__share-menu { background-color: rgba(0, 0, 0, 0); width: 0; height: 0; position: absolute; overflow: hidden; -webkit-transition: background-color 400ms; -o-transition: background-color 400ms; transition: background-color 400ms; } .elementor-slideshow__share-menu .elementor-slideshow__share-links a { color: #2C2C2C; } .elementor-slideshow__share-links { display: block; position: absolute; min-width: 200px; left: 2.8em; top: 3em; background-color: #fff; border-radius: 3px; padding: 14px 20px; -webkit-transform: scale(0); -ms-transform: scale(0); transform: scale(0); opacity: 0; -webkit-transform-origin: 90% 10%; -ms-transform-origin: 90% 10%; transform-origin: 90% 10%; -webkit-transition: all 250ms 100ms; -o-transition: all 250ms 100ms; transition: all 250ms 100ms; -webkit-box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3); box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3); } .elementor-slideshow__share-links a { text-align: right; color: #55595c; font-size: 12px; line-height: 2.5; display: block; opacity: 0; -webkit-transition: opacity 500ms 100ms; -o-transition: opacity 500ms 100ms; transition: opacity 500ms 100ms; } .elementor-slideshow__share-links a:hover { color: #000; } .elementor-slideshow__share-links a i, .elementor-slideshow__share-links a svg { margin-left: 0.75em; } .elementor-slideshow__share-links a i { font-size: 1.25em; } .elementor-slideshow__share-links a svg { height: 1.25em; width: 1.25em; } .elementor-slideshow__share-links:before { content: ""; display: block; position: absolute; top: 1px; left: 0.5em; border: 0.45em solid; border-color: transparent transparent #fff transparent; -webkit-transform: translateY(-100%) scaleX(0.7); -ms-transform: translateY(-100%) scaleX(0.7); transform: translateY(-100%) scaleX(0.7); } .elementor-slideshow__footer { bottom: 0; z-index: 5; position: fixed; } .elementor-slideshow__title, .elementor-slideshow__description { margin: 0; } .elementor-slideshow__title { font-size: 16px; font-weight: bold; } .elementor-slideshow__description { font-size: 14px; } .elementor-slideshow--ui-hidden .elementor-slideshow__header, .elementor-slideshow--ui-hidden .elementor-slideshow__footer { opacity: 0; pointer-events: none; } .elementor-slideshow--ui-hidden .elementor-swiper-button-prev, .elementor-slideshow--ui-hidden .elementor-swiper-button-next { opacity: 0; } .elementor-slideshow--fullscreen-mode .elementor-video-container { width: 100%; } .elementor-slideshow--zoom-mode .elementor-slideshow__header, .elementor-slideshow--zoom-mode .elementor-slideshow__footer { background-color: rgba(0, 0, 0, 0.5); } .elementor-slideshow--zoom-mode .elementor-swiper-button-prev, .elementor-slideshow--zoom-mode .elementor-swiper-button-next { opacity: 0; pointer-events: none; } .elementor-slideshow--share-mode .elementor-slideshow__share-menu { top: 0; left: 0; width: 100vw; height: 100vh; opacity: 1; cursor: default; background-color: rgba(0, 0, 0, 0.5); } .elementor-slideshow--share-mode .elementor-slideshow__share-links { -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1); } .elementor-slideshow--share-mode .elementor-slideshow__share-links, .elementor-slideshow--share-mode .elementor-slideshow__share-links a { opacity: 1; } .elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-twitter { color: #1DA1F2; } .elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-facebook { color: #3b5998; } .elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-pinterest { color: #bd081c; } .elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-download-bold { color: #a4afb7; } .elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-twitter { fill: #1DA1F2; } .elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-facebook { fill: #3b5998; } .elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-pinterest { fill: #bd081c; } .elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-download-bold { fill: #a4afb7; } .elementor-slideshow--share-mode .eicon-share-arrow { z-index: 2; } .animated { -webkit-animation-duration: 1.25s; animation-duration: 1.25s; } .animated.animated-slow { -webkit-animation-duration: 2s; animation-duration: 2s; } .animated.animated-fast { -webkit-animation-duration: 0.75s; animation-duration: 0.75s; } .animated.infinite { -webkit-animation-iteration-count: infinite; animation-iteration-count: infinite; } .animated.reverse { animation-direction: reverse; -webkit-animation-fill-mode: forwards; animation-fill-mode: forwards; } @media (prefers-reduced-motion: reduce) { .animated { -webkit-animation: none; animation: none; } } .elementor-shape { overflow: hidden; position: absolute; left: 0; width: 100%; line-height: 0; direction: ltr; /* * @TODO: The `z-index: -1` rules below are temporary fixes for Chrome 85 issue. * It will be removed in a future version of Chrome. */ } .elementor-shape-top { top: -1px; } .elementor-shape-top:not([data-negative=false]) svg { z-index: -1; } .elementor-shape-bottom { bottom: -1px; } .elementor-shape-bottom:not([data-negative=true]) svg { z-index: -1; } .elementor-shape[data-negative=false].elementor-shape-bottom { -webkit-transform: rotate(180deg); -ms-transform: rotate(180deg); transform: rotate(180deg); } .elementor-shape[data-negative=true].elementor-shape-top { -webkit-transform: rotate(180deg); -ms-transform: rotate(180deg); transform: rotate(180deg); } .elementor-shape svg { display: block; width: calc(100% + 1.3px); position: relative; left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); } .elementor-shape .elementor-shape-fill { fill: #fff; -webkit-transform-origin: center; -ms-transform-origin: center; transform-origin: center; -webkit-transform: rotateY(0deg); transform: rotateY(0deg); } #wp-admin-bar-elementor_edit_page > .ab-item::before { content: "\e813"; font-family: eicons; top: 3px; font-size: 18px; } #wp-admin-bar-elementor_edit_page .ab-submenu .ab-item { display: -webkit-box; display: -ms-flexbox; display: flex; width: 200px; } #wp-admin-bar-elementor_edit_page .elementor-edit-link-title { white-space: nowrap; -o-text-overflow: ellipsis; text-overflow: ellipsis; overflow: hidden; width: 100%; } #wp-admin-bar-elementor_edit_page .elementor-edit-link-type { background: #55595c; font-size: 11px; line-height: 9px; margin-top: 6px; padding: 4px 8px; border-radius: 3px; } #wp-admin-bar-elementor_inspector > .ab-item::before { content: "\f348"; top: 2px; } #wpadminbar * { font-style: normal; } .page-template-elementor_canvas.elementor-page:before { display: none; } .elementor-post__thumbnail__link { -webkit-transition: none; -o-transition: none; transition: none; } #left-area ul.elementor-icon-list-items, .elementor .elementor-element ul.elementor-icon-list-items, .elementor-edit-area .elementor-element ul.elementor-icon-list-items { padding: 0; } .e--ua-appleWebkit.rtl { --flex-right: flex-start; } .e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-right, .e--ua-appleWebkit .elementor-share-buttons--align-right { --justify-content: var(--flex-right, flex-end); } .e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-center, .e--ua-appleWebkit .elementor-share-buttons--align-center { --justify-content: center; } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-right .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-center .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-right .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-center .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-justify .elementor-grid { width: auto; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: var(--justify-content, space-between); -ms-flex-pack: var(--justify-content, space-between); justify-content: var(--justify-content, space-between); margin-left: calc(-0.5 * var(--grid-column-gap)); margin-right: calc(-0.5 * var(--grid-column-gap)); } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-right .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-center .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-right .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-center .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-justify .elementor-grid-item { margin-left: calc(0.5 * var(--grid-column-gap)); margin-right: calc(0.5 * var(--grid-column-gap)); } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-left .elementor-grid { display: inline-block; } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-left .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-left .elementor-grid-item { margin-left: 0; margin-right: 0; } @media (max-width: 1024px) { .e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-tablet-right, .e--ua-appleWebkit .elementor-share-buttons-tablet--align-right { --justify-content: var(--flex-right, flex-end); } .e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-tablet-center, .e--ua-appleWebkit .elementor-share-buttons-tablet--align-center { --justify-content: center; } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-right .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-center .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-right .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-center .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-justify .elementor-grid { width: auto; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: var(--justify-content, space-between); -ms-flex-pack: var(--justify-content, space-between); justify-content: var(--justify-content, space-between); margin-left: calc(-0.5 * var(--grid-column-gap)); margin-right: calc(-0.5 * var(--grid-column-gap)); } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-right .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-center .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-right .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-center .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-justify .elementor-grid-item { margin-left: calc(0.5 * var(--grid-column-gap)); margin-right: calc(0.5 * var(--grid-column-gap)); } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-tablet--align-left .elementor-grid { display: inline-block; } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-left .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-tablet--align-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-tablet--align-left .elementor-grid-item { margin-left: 0; margin-right: 0; } } @media (max-width: 767px) { .e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-mobile-right, .e--ua-appleWebkit .elementor-share-buttons-mobile--align-right { --justify-content: var(--flex-right, flex-end); } .e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-mobile-center, .e--ua-appleWebkit .elementor-share-buttons-mobile--align-center { --justify-content: center; } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-right .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-center .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-right .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-center .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-justify .elementor-grid { width: auto; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: var(--justify-content, space-between); -ms-flex-pack: var(--justify-content, space-between); justify-content: var(--justify-content, space-between); margin-left: calc(-0.5 * var(--grid-column-gap)); margin-right: calc(-0.5 * var(--grid-column-gap)); } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-right .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-center .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-right .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-center .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-justify .elementor-grid-item { margin-left: calc(0.5 * var(--grid-column-gap)); margin-right: calc(0.5 * var(--grid-column-gap)); } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-mobile--align-left .elementor-grid { display: inline-block; } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-left .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-mobile--align-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-mobile--align-left .elementor-grid-item { margin-left: 0; margin-right: 0; } } @media (max-width: 767px) { .elementor .elementor-hidden-mobile { display: none; } .elementor .elementor-hidden-phone { display: none; } } @media (min-width: -1px) and (max-width: -1px) { .elementor .elementor-hidden-mobile_extra { display: none; } } @media (min-width: 768px) and (max-width: 1024px) { .elementor .elementor-hidden-tablet { display: none; } } @media (min-width: -1px) and (max-width: -1px) { .elementor .elementor-hidden-tablet_extra { display: none; } } @media (min-width: -1px) and (max-width: -1px) { .elementor .elementor-hidden-laptop { display: none; } } @media (min-width: 1025px) and (max-width: 99999px) { .elementor .elementor-hidden-desktop { display: none; } } @media (min-width: -1px) { .elementor .elementor-hidden-widescreen { display: none; } } .elementor-widget-text-path { font-size: 20px; text-align: var(--alignment, right); } .elementor-widget-text-path svg { width: var(--width); max-width: 100%; height: auto; overflow: visible; word-spacing: var(--word-spacing); -webkit-transform: rotate(var(--rotate, 0)) scaleX(var(--scale-x, 1)) scaleY(var(--scale-y, 1)); -ms-transform: rotate(var(--rotate, 0)) scaleX(var(--scale-x, 1)) scaleY(var(--scale-y, 1)); transform: rotate(var(--rotate, 0)) scaleX(var(--scale-x, 1)) scaleY(var(--scale-y, 1)); } .elementor-widget-text-path svg path { vector-effect: non-scaling-stroke; /* Prevent stroke size scaling when resizing the SVG. */ fill: var(--path-fill, transparent); stroke: var(--stroke-color, transparent); stroke-width: var(--stroke-width, 1px); -webkit-transition: var(--stroke-transition) stroke, var(--stroke-transition) fill; -o-transition: var(--stroke-transition) stroke, var(--stroke-transition) fill; transition: var(--stroke-transition) stroke, var(--stroke-transition) fill; } .elementor-widget-text-path svg:hover path { --path-fill: var( --path-fill-hover ); --stroke-color: var( --stroke-color-hover ); --stroke-width: var( --stroke-width-hover ); } .elementor-widget-text-path svg text { --fill: var( --text-color ); fill: var(--fill); direction: var(--direction, rtl); -webkit-transition: var(--transition) stroke, var(--transition) stroke-width, var(--transition) fill; -o-transition: var(--transition) stroke, var(--transition) stroke-width, var(--transition) fill; transition: var(--transition) stroke, var(--transition) stroke-width, var(--transition) fill; } .elementor-widget-text-path svg text:hover { --color: var( --text-color-hover, var( --text-color ) ); --fill: var( --color ); color: var(--color); } .elementor-accordion { text-align: right; } .elementor-accordion .elementor-accordion-item { border: 1px solid #D4D4D4; } .elementor-accordion .elementor-accordion-item + .elementor-accordion-item { border-top: none; } .elementor-accordion .elementor-tab-title { margin: 0; padding: 15px 20px; font-weight: bold; line-height: 1; cursor: pointer; outline: none; } .elementor-accordion .elementor-tab-title .elementor-accordion-icon { display: inline-block; width: 1.5em; } .elementor-accordion .elementor-tab-title .elementor-accordion-icon svg { width: 1em; height: 1em; } .elementor-accordion .elementor-tab-title .elementor-accordion-icon.elementor-accordion-icon-right { float: right; text-align: right; } .elementor-accordion .elementor-tab-title .elementor-accordion-icon.elementor-accordion-icon-left { float: left; text-align: left; } .elementor-accordion .elementor-tab-title .elementor-accordion-icon .elementor-accordion-icon-closed { display: block; } .elementor-accordion .elementor-tab-title .elementor-accordion-icon .elementor-accordion-icon-opened { display: none; } .elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon-closed { display: none; } .elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon-opened { display: block; } .elementor-accordion .elementor-tab-content { display: none; padding: 15px 20px; border-top: 1px solid #D4D4D4; } @media (max-width: 767px) { .elementor-accordion .elementor-tab-title { padding: 12px 15px; } .elementor-accordion .elementor-tab-title .elementor-accordion-icon { width: 1.2em; } .elementor-accordion .elementor-tab-content { padding: 7px 15px; } } .elementor-alert { padding: 15px; border-left: 5px solid transparent; position: relative; text-align: right; } .elementor-alert .elementor-alert-title { display: block; font-weight: bold; } .elementor-alert .elementor-alert-description { font-size: 13px; } .elementor-alert button.elementor-alert-dismiss { position: absolute; left: 10px; top: 10px; padding: 3px; font-size: 20px; line-height: 1; background: transparent; color: inherit; border: none; cursor: pointer; } .elementor-alert.elementor-alert-info { color: #31708f; background-color: #d9edf7; border-color: #bcdff1; } .elementor-alert.elementor-alert-success { color: #3c763d; background-color: #dff0d8; border-color: #cae6be; } .elementor-alert.elementor-alert-warning { color: #8a6d3b; background-color: #fcf8e3; border-color: #f9f0c3; } .elementor-alert.elementor-alert-danger { color: #a94442; background-color: #f2dede; border-color: #e8c4c4; } @media (max-width: 767px) { .elementor-alert { padding: 10px; } .elementor-alert button.elementor-alert-dismiss { right: 7px; top: 7px; } } .elementor-counter .elementor-counter-number-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; font-size: 69px; font-weight: 600; line-height: 1; } .elementor-counter .elementor-counter-number-prefix, .elementor-counter .elementor-counter-number-suffix { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; white-space: pre-wrap; } .elementor-counter .elementor-counter-number-prefix { text-align: left; } .elementor-counter .elementor-counter-number-suffix { text-align: right; } .elementor-counter .elementor-counter-title { text-align: center; font-size: 19px; font-weight: 400; line-height: 2.5; } .elementor-widget-divider { --divider-border-style: none; --divider-border-width: 1px; --divider-color: #2C2C2C; --divider-icon-size: 20px; --divider-element-spacing: 10px; --divider-pattern-height: 24px; --divider-pattern-size: 20px; --divider-pattern-url: none; --divider-pattern-repeat: repeat-x; } .elementor-widget-divider .elementor-divider { display: -webkit-box; display: -ms-flexbox; display: flex; } .elementor-widget-divider .elementor-divider__text { font-size: 15px; line-height: 1; max-width: 95%; } .elementor-widget-divider .elementor-divider__element { margin: 0 var(--divider-element-spacing); -ms-flex-negative: 0; flex-shrink: 0; } .elementor-widget-divider .elementor-icon { font-size: var(--divider-icon-size); } .elementor-widget-divider .elementor-divider-separator { display: -webkit-box; display: -ms-flexbox; display: flex; margin: 0; direction: ltr; } .elementor-widget-divider--view-line_text .elementor-divider-separator, .elementor-widget-divider--view-line_icon .elementor-divider-separator { -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .elementor-widget-divider--view-line_text .elementor-divider-separator:before, .elementor-widget-divider--view-line_text .elementor-divider-separator:after, .elementor-widget-divider--view-line_icon .elementor-divider-separator:before, .elementor-widget-divider--view-line_icon .elementor-divider-separator:after { display: block; content: ""; border-bottom: 0; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; border-top: var(--divider-border-width) var(--divider-border-style) var(--divider-color); } .elementor-widget-divider--element-align-left .elementor-divider .elementor-divider-separator > .elementor-divider__svg:first-of-type { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; -ms-flex-negative: 100; flex-shrink: 100; } .elementor-widget-divider--element-align-left .elementor-divider-separator:before { content: none; } .elementor-widget-divider--element-align-left .elementor-divider__element { margin-left: 0; } .elementor-widget-divider--element-align-right .elementor-divider .elementor-divider-separator > .elementor-divider__svg:last-of-type { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; -ms-flex-negative: 100; flex-shrink: 100; } .elementor-widget-divider--element-align-right .elementor-divider-separator:after { content: none; } .elementor-widget-divider--element-align-right .elementor-divider__element { margin-right: 0; } .elementor-widget-divider:not(.elementor-widget-divider--view-line_text):not(.elementor-widget-divider--view-line_icon) .elementor-divider-separator { border-top: var(--divider-border-width) var(--divider-border-style) var(--divider-color); } .elementor-widget-divider--separator-type-pattern { --divider-border-style: none; } .elementor-widget-divider--separator-type-pattern.elementor-widget-divider--view-line .elementor-divider-separator, .elementor-widget-divider--separator-type-pattern:not([class*=elementor-widget-divider--view]) .elementor-divider-separator, .elementor-widget-divider--separator-type-pattern:not(.elementor-widget-divider--view-line) .elementor-divider-separator:before, .elementor-widget-divider--separator-type-pattern:not(.elementor-widget-divider--view-line) .elementor-divider-separator:after { width: 100%; min-height: var(--divider-pattern-height); -webkit-mask-size: var(--divider-pattern-size) 100%; mask-size: var(--divider-pattern-size) 100%; -webkit-mask-repeat: var(--divider-pattern-repeat); mask-repeat: var(--divider-pattern-repeat); background-color: var(--divider-color); -webkit-mask-image: var(--divider-pattern-url); mask-image: var(--divider-pattern-url); } .elementor-widget-divider--no-spacing { --divider-pattern-size: auto; } .elementor-widget-divider--bg-round { --divider-pattern-repeat: round; } .rtl .elementor-widget-divider .elementor-divider__text { direction: rtl; } .elementor-image-gallery .gallery-item { display: inline-block; text-align: center; vertical-align: top; width: 100%; max-width: 100%; margin: 0 auto; } .elementor-image-gallery .gallery-item img { margin: 0 auto; } .elementor-image-gallery .gallery-item .gallery-caption { margin: 0; } .elementor-image-gallery figure img { display: block; } .elementor-image-gallery figure figcaption { width: 100%; } .gallery-spacing-custom .elementor-image-gallery .gallery-icon { padding: 0; } @media (min-width: 768px) { .elementor-image-gallery .gallery-columns-2 .gallery-item { max-width: 50%; } .elementor-image-gallery .gallery-columns-3 .gallery-item { max-width: 33.33%; } .elementor-image-gallery .gallery-columns-4 .gallery-item { max-width: 25%; } .elementor-image-gallery .gallery-columns-5 .gallery-item { max-width: 20%; } .elementor-image-gallery .gallery-columns-6 .gallery-item { max-width: 16.666%; } .elementor-image-gallery .gallery-columns-7 .gallery-item { max-width: 14.28%; } .elementor-image-gallery .gallery-columns-8 .gallery-item { max-width: 12.5%; } .elementor-image-gallery .gallery-columns-9 .gallery-item { max-width: 11.11%; } .elementor-image-gallery .gallery-columns-10 .gallery-item { max-width: 10%; } } @media (min-width: 480px) and (max-width: 767px) { .elementor-image-gallery .gallery.gallery-columns-2 .gallery-item, .elementor-image-gallery .gallery.gallery-columns-3 .gallery-item, .elementor-image-gallery .gallery.gallery-columns-4 .gallery-item, .elementor-image-gallery .gallery.gallery-columns-5 .gallery-item, .elementor-image-gallery .gallery.gallery-columns-6 .gallery-item, .elementor-image-gallery .gallery.gallery-columns-7 .gallery-item, .elementor-image-gallery .gallery.gallery-columns-8 .gallery-item, .elementor-image-gallery .gallery.gallery-columns-9 .gallery-item, .elementor-image-gallery .gallery.gallery-columns-10 .gallery-item { max-width: 50%; } } @media (max-width: 479px) { .elementor-image-gallery .gallery.gallery-columns-2 .gallery-item, .elementor-image-gallery .gallery.gallery-columns-3 .gallery-item, .elementor-image-gallery .gallery.gallery-columns-4 .gallery-item, .elementor-image-gallery .gallery.gallery-columns-5 .gallery-item, .elementor-image-gallery .gallery.gallery-columns-6 .gallery-item, .elementor-image-gallery .gallery.gallery-columns-7 .gallery-item, .elementor-image-gallery .gallery.gallery-columns-8 .gallery-item, .elementor-image-gallery .gallery.gallery-columns-9 .gallery-item, .elementor-image-gallery .gallery.gallery-columns-10 .gallery-item { max-width: 100%; } } .elementor-widget-google_maps .elementor-widget-container { overflow: hidden; } .elementor-widget-google_maps iframe { height: 300px; } .elementor-heading-title { padding: 0; margin: 0; line-height: 1; } .elementor-widget-heading .elementor-heading-title[class*=elementor-size-] > a { color: inherit; font-size: inherit; line-height: inherit; } .elementor-widget-heading .elementor-heading-title.elementor-size-small { font-size: 15px; } .elementor-widget-heading .elementor-heading-title.elementor-size-medium { font-size: 19px; } .elementor-widget-heading .elementor-heading-title.elementor-size-large { font-size: 29px; } .elementor-widget-heading .elementor-heading-title.elementor-size-xl { font-size: 39px; } .elementor-widget-heading .elementor-heading-title.elementor-size-xxl { font-size: 59px; } .elementor-widget-icon-box .elementor-icon-box-wrapper { display: block; text-align: center; } .elementor-widget-icon-box .elementor-icon-box-icon { margin-bottom: var(--icon-box-icon-margin, 15px); margin-right: auto; margin-left: auto; } @media (min-width: 768px) { .elementor-widget-icon-box.elementor-vertical-align-top .elementor-icon-box-wrapper { -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; } .elementor-widget-icon-box.elementor-vertical-align-middle .elementor-icon-box-wrapper { -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .elementor-widget-icon-box.elementor-vertical-align-bottom .elementor-icon-box-wrapper { -webkit-box-align: end; -ms-flex-align: end; align-items: flex-end; } } .elementor-widget-icon-box.elementor-position-left .elementor-icon-box-wrapper, .elementor-widget-icon-box.elementor-position-right .elementor-icon-box-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; } .elementor-widget-icon-box.elementor-position-left .elementor-icon-box-icon, .elementor-widget-icon-box.elementor-position-right .elementor-icon-box-icon { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-flex: 0; -ms-flex: 0 0 auto; flex: 0 0 auto; } .elementor-widget-icon-box.elementor-position-right .elementor-icon-box-wrapper { text-align: left; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; } .elementor-widget-icon-box.elementor-position-right .elementor-icon-box-icon { margin-left: var(--icon-box-icon-margin, 15px); margin-right: 0; margin-bottom: unset; } .elementor-widget-icon-box.elementor-position-left .elementor-icon-box-wrapper { text-align: right; -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; } .elementor-widget-icon-box.elementor-position-left .elementor-icon-box-icon { margin-right: var(--icon-box-icon-margin, 15px); margin-left: 0; margin-bottom: unset; } .elementor-widget-icon-box.elementor-position-top .elementor-icon-box-wrapper { display: block; text-align: center; -webkit-box-orient: unset; -webkit-box-direction: unset; -ms-flex-direction: unset; flex-direction: unset; } .elementor-widget-icon-box.elementor-position-top .elementor-icon-box-icon { margin-bottom: var(--icon-box-icon-margin, 15px); margin-right: auto; margin-left: auto; } @media (min-width: -1px) { .elementor-widget-icon-box.elementor-widescreen-position-left .elementor-icon-box-wrapper, .elementor-widget-icon-box.elementor-widescreen-position-right .elementor-icon-box-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; } .elementor-widget-icon-box.elementor-widescreen-position-left .elementor-icon-box-icon, .elementor-widget-icon-box.elementor-widescreen-position-right .elementor-icon-box-icon { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-flex: 0; -ms-flex: 0 0 auto; flex: 0 0 auto; } .elementor-widget-icon-box.elementor-widescreen-position-right .elementor-icon-box-wrapper { text-align: left; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; } .elementor-widget-icon-box.elementor-widescreen-position-right .elementor-icon-box-icon { margin-left: var(--icon-box-icon-margin, 15px); margin-right: 0; margin-bottom: unset; } .elementor-widget-icon-box.elementor-widescreen-position-left .elementor-icon-box-wrapper { text-align: right; -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; } .elementor-widget-icon-box.elementor-widescreen-position-left .elementor-icon-box-icon { margin-right: var(--icon-box-icon-margin, 15px); margin-left: 0; margin-bottom: unset; } .elementor-widget-icon-box.elementor-widescreen-position-top .elementor-icon-box-wrapper { display: block; text-align: center; -webkit-box-orient: unset; -webkit-box-direction: unset; -ms-flex-direction: unset; flex-direction: unset; } .elementor-widget-icon-box.elementor-widescreen-position-top .elementor-icon-box-icon { margin-bottom: var(--icon-box-icon-margin, 15px); margin-right: auto; margin-left: auto; } } @media (max-width: -1px) { .elementor-widget-icon-box.elementor-laptop-position-left .elementor-icon-box-wrapper, .elementor-widget-icon-box.elementor-laptop-position-right .elementor-icon-box-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; } .elementor-widget-icon-box.elementor-laptop-position-left .elementor-icon-box-icon, .elementor-widget-icon-box.elementor-laptop-position-right .elementor-icon-box-icon { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-flex: 0; -ms-flex: 0 0 auto; flex: 0 0 auto; } .elementor-widget-icon-box.elementor-laptop-position-right .elementor-icon-box-wrapper { text-align: left; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; } .elementor-widget-icon-box.elementor-laptop-position-right .elementor-icon-box-icon { margin-left: var(--icon-box-icon-margin, 15px); margin-right: 0; margin-bottom: unset; } .elementor-widget-icon-box.elementor-laptop-position-left .elementor-icon-box-wrapper { text-align: right; -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; } .elementor-widget-icon-box.elementor-laptop-position-left .elementor-icon-box-icon { margin-right: var(--icon-box-icon-margin, 15px); margin-left: 0; margin-bottom: unset; } .elementor-widget-icon-box.elementor-laptop-position-top .elementor-icon-box-wrapper { display: block; text-align: center; -webkit-box-orient: unset; -webkit-box-direction: unset; -ms-flex-direction: unset; flex-direction: unset; } .elementor-widget-icon-box.elementor-laptop-position-top .elementor-icon-box-icon { margin-bottom: var(--icon-box-icon-margin, 15px); margin-right: auto; margin-left: auto; } } @media (max-width: -1px) { .elementor-widget-icon-box.elementor-tablet_extra-position-left .elementor-icon-box-wrapper, .elementor-widget-icon-box.elementor-tablet_extra-position-right .elementor-icon-box-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; } .elementor-widget-icon-box.elementor-tablet_extra-position-left .elementor-icon-box-icon, .elementor-widget-icon-box.elementor-tablet_extra-position-right .elementor-icon-box-icon { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-flex: 0; -ms-flex: 0 0 auto; flex: 0 0 auto; } .elementor-widget-icon-box.elementor-tablet_extra-position-right .elementor-icon-box-wrapper { text-align: left; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; } .elementor-widget-icon-box.elementor-tablet_extra-position-right .elementor-icon-box-icon { margin-left: var(--icon-box-icon-margin, 15px); margin-right: 0; margin-bottom: unset; } .elementor-widget-icon-box.elementor-tablet_extra-position-left .elementor-icon-box-wrapper { text-align: right; -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; } .elementor-widget-icon-box.elementor-tablet_extra-position-left .elementor-icon-box-icon { margin-right: var(--icon-box-icon-margin, 15px); margin-left: 0; margin-bottom: unset; } .elementor-widget-icon-box.elementor-tablet_extra-position-top .elementor-icon-box-wrapper { display: block; text-align: center; -webkit-box-orient: unset; -webkit-box-direction: unset; -ms-flex-direction: unset; flex-direction: unset; } .elementor-widget-icon-box.elementor-tablet_extra-position-top .elementor-icon-box-icon { margin-bottom: var(--icon-box-icon-margin, 15px); margin-right: auto; margin-left: auto; } } @media (max-width: 1024px) { .elementor-widget-icon-box.elementor-tablet-position-left .elementor-icon-box-wrapper, .elementor-widget-icon-box.elementor-tablet-position-right .elementor-icon-box-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; } .elementor-widget-icon-box.elementor-tablet-position-left .elementor-icon-box-icon, .elementor-widget-icon-box.elementor-tablet-position-right .elementor-icon-box-icon { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-flex: 0; -ms-flex: 0 0 auto; flex: 0 0 auto; } .elementor-widget-icon-box.elementor-tablet-position-right .elementor-icon-box-wrapper { text-align: left; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; } .elementor-widget-icon-box.elementor-tablet-position-right .elementor-icon-box-icon { margin-left: var(--icon-box-icon-margin, 15px); margin-right: 0; margin-bottom: unset; } .elementor-widget-icon-box.elementor-tablet-position-left .elementor-icon-box-wrapper { text-align: right; -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; } .elementor-widget-icon-box.elementor-tablet-position-left .elementor-icon-box-icon { margin-right: var(--icon-box-icon-margin, 15px); margin-left: 0; margin-bottom: unset; } .elementor-widget-icon-box.elementor-tablet-position-top .elementor-icon-box-wrapper { display: block; text-align: center; -webkit-box-orient: unset; -webkit-box-direction: unset; -ms-flex-direction: unset; flex-direction: unset; } .elementor-widget-icon-box.elementor-tablet-position-top .elementor-icon-box-icon { margin-bottom: var(--icon-box-icon-margin, 15px); margin-right: auto; margin-left: auto; } } @media (max-width: -1px) { .elementor-widget-icon-box.elementor-mobile_extra-position-left .elementor-icon-box-wrapper, .elementor-widget-icon-box.elementor-mobile_extra-position-right .elementor-icon-box-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; } .elementor-widget-icon-box.elementor-mobile_extra-position-left .elementor-icon-box-icon, .elementor-widget-icon-box.elementor-mobile_extra-position-right .elementor-icon-box-icon { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-flex: 0; -ms-flex: 0 0 auto; flex: 0 0 auto; } .elementor-widget-icon-box.elementor-mobile_extra-position-right .elementor-icon-box-wrapper { text-align: left; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; } .elementor-widget-icon-box.elementor-mobile_extra-position-right .elementor-icon-box-icon { margin-left: var(--icon-box-icon-margin, 15px); margin-right: 0; margin-bottom: unset; } .elementor-widget-icon-box.elementor-mobile_extra-position-left .elementor-icon-box-wrapper { text-align: right; -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; } .elementor-widget-icon-box.elementor-mobile_extra-position-left .elementor-icon-box-icon { margin-right: var(--icon-box-icon-margin, 15px); margin-left: 0; margin-bottom: unset; } .elementor-widget-icon-box.elementor-mobile_extra-position-top .elementor-icon-box-wrapper { display: block; text-align: center; -webkit-box-orient: unset; -webkit-box-direction: unset; -ms-flex-direction: unset; flex-direction: unset; } .elementor-widget-icon-box.elementor-mobile_extra-position-top .elementor-icon-box-icon { margin-bottom: var(--icon-box-icon-margin, 15px); margin-right: auto; margin-left: auto; } } @media (max-width: 767px) { .elementor-widget-icon-box.elementor-mobile-position-left .elementor-icon-box-wrapper, .elementor-widget-icon-box.elementor-mobile-position-right .elementor-icon-box-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; } .elementor-widget-icon-box.elementor-mobile-position-left .elementor-icon-box-icon, .elementor-widget-icon-box.elementor-mobile-position-right .elementor-icon-box-icon { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-flex: 0; -ms-flex: 0 0 auto; flex: 0 0 auto; } .elementor-widget-icon-box.elementor-mobile-position-right .elementor-icon-box-wrapper { text-align: left; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; } .elementor-widget-icon-box.elementor-mobile-position-right .elementor-icon-box-icon { margin-left: var(--icon-box-icon-margin, 15px); margin-right: 0; margin-bottom: unset; } .elementor-widget-icon-box.elementor-mobile-position-left .elementor-icon-box-wrapper { text-align: right; -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; } .elementor-widget-icon-box.elementor-mobile-position-left .elementor-icon-box-icon { margin-right: var(--icon-box-icon-margin, 15px); margin-left: 0; margin-bottom: unset; } .elementor-widget-icon-box.elementor-mobile-position-top .elementor-icon-box-wrapper { display: block; text-align: center; -webkit-box-orient: unset; -webkit-box-direction: unset; -ms-flex-direction: unset; flex-direction: unset; } .elementor-widget-icon-box.elementor-mobile-position-top .elementor-icon-box-icon { margin-bottom: var(--icon-box-icon-margin, 15px); margin-right: auto; margin-left: auto; } .elementor-widget-icon-box.elementor-position-left .elementor-icon-box-icon, .elementor-widget-icon-box.elementor-position-right .elementor-icon-box-icon { display: block; -webkit-box-flex: unset; -ms-flex: unset; flex: unset; } } .elementor-widget-icon-box .elementor-icon-box-title a { color: inherit; } .elementor-widget-icon-box .elementor-icon-box-content { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; } .elementor-widget-icon-box .elementor-icon-box-description { margin: 0; } .elementor-widget.elementor-icon-list--layout-inline .elementor-widget-container { overflow: hidden; } .elementor-widget .elementor-icon-list-items.elementor-inline-items { margin-right: -8px; margin-left: -8px; } .elementor-widget .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item { margin-right: 8px; margin-left: 8px; } .elementor-widget .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after { width: auto; left: auto; right: auto; position: relative; height: 100%; border-top: 0; border-bottom: 0; border-right: 0; border-left-width: 1px; border-style: solid; left: -8px; } .elementor-widget .elementor-icon-list-items { list-style-type: none; margin: 0; padding: 0; } .elementor-widget .elementor-icon-list-item { margin: 0; padding: 0; position: relative; } .elementor-widget .elementor-icon-list-item:after { position: absolute; bottom: 0; width: 100%; } .elementor-widget .elementor-icon-list-item, .elementor-widget .elementor-icon-list-item a { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; font-size: inherit; } .elementor-widget .elementor-icon-list-icon + .elementor-icon-list-text { -ms-flex-item-align: center; align-self: center; padding-right: 5px; } .elementor-widget .elementor-icon-list-icon { display: -webkit-box; display: -ms-flexbox; display: flex; } .elementor-widget .elementor-icon-list-icon svg { width: var(--e-icon-list-icon-size, 1em); height: var(--e-icon-list-icon-size, 1em); } .elementor-widget .elementor-icon-list-icon i { width: 1.25em; font-size: var(--e-icon-list-icon-size); } .elementor-widget.elementor-widget-icon-list .elementor-icon-list-icon { text-align: var(--e-icon-list-icon-align); } .elementor-widget.elementor-widget-icon-list .elementor-icon-list-icon svg { margin: var(--e-icon-list-icon-margin, 0 calc(var(--e-icon-list-icon-size, 1em) * 0.25) 0 0); } .elementor-widget.elementor-list-item-link-full_width a { width: 100%; } .elementor-widget.elementor-align-center .elementor-icon-list-item, .elementor-widget.elementor-align-center .elementor-icon-list-item a { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-widget.elementor-align-center .elementor-icon-list-item:after { margin: auto; } .elementor-widget.elementor-align-center .elementor-inline-items { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-widget.elementor-align-left .elementor-icon-list-item, .elementor-widget.elementor-align-left .elementor-icon-list-item a { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; text-align: left; } .elementor-widget.elementor-align-left .elementor-inline-items { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; } .elementor-widget.elementor-align-right .elementor-icon-list-item, .elementor-widget.elementor-align-right .elementor-icon-list-item a { -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; text-align: right; } .elementor-widget.elementor-align-right .elementor-icon-list-items { -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; } .elementor-widget:not(.elementor-align-right) .elementor-icon-list-item:after { right: 0; } .elementor-widget:not(.elementor-align-left) .elementor-icon-list-item:after { left: 0; } @media (min-width: -1px) { .elementor-widget.elementor-widescreen-align-center .elementor-icon-list-item, .elementor-widget.elementor-widescreen-align-center .elementor-icon-list-item a { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-widget.elementor-widescreen-align-center .elementor-icon-list-item:after { margin: auto; } .elementor-widget.elementor-widescreen-align-center .elementor-inline-items { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-widget.elementor-widescreen-align-left .elementor-icon-list-item, .elementor-widget.elementor-widescreen-align-left .elementor-icon-list-item a { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; text-align: left; } .elementor-widget.elementor-widescreen-align-left .elementor-inline-items { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; } .elementor-widget.elementor-widescreen-align-right .elementor-icon-list-item, .elementor-widget.elementor-widescreen-align-right .elementor-icon-list-item a { -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; text-align: right; } .elementor-widget.elementor-widescreen-align-right .elementor-icon-list-items { -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; } .elementor-widget:not(.elementor-widescreen-align-right) .elementor-icon-list-item:after { right: 0; } .elementor-widget:not(.elementor-widescreen-align-left) .elementor-icon-list-item:after { left: 0; } } @media (max-width: -1px) { .elementor-widget.elementor-laptop-align-center .elementor-icon-list-item, .elementor-widget.elementor-laptop-align-center .elementor-icon-list-item a { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-widget.elementor-laptop-align-center .elementor-icon-list-item:after { margin: auto; } .elementor-widget.elementor-laptop-align-center .elementor-inline-items { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-widget.elementor-laptop-align-left .elementor-icon-list-item, .elementor-widget.elementor-laptop-align-left .elementor-icon-list-item a { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; text-align: left; } .elementor-widget.elementor-laptop-align-left .elementor-inline-items { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; } .elementor-widget.elementor-laptop-align-right .elementor-icon-list-item, .elementor-widget.elementor-laptop-align-right .elementor-icon-list-item a { -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; text-align: right; } .elementor-widget.elementor-laptop-align-right .elementor-icon-list-items { -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; } .elementor-widget:not(.elementor-laptop-align-right) .elementor-icon-list-item:after { right: 0; } .elementor-widget:not(.elementor-laptop-align-left) .elementor-icon-list-item:after { left: 0; } } @media (max-width: -1px) { .elementor-widget.elementor-tablet_extra-align-center .elementor-icon-list-item, .elementor-widget.elementor-tablet_extra-align-center .elementor-icon-list-item a { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-widget.elementor-tablet_extra-align-center .elementor-icon-list-item:after { margin: auto; } .elementor-widget.elementor-tablet_extra-align-center .elementor-inline-items { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-widget.elementor-tablet_extra-align-left .elementor-icon-list-item, .elementor-widget.elementor-tablet_extra-align-left .elementor-icon-list-item a { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; text-align: left; } .elementor-widget.elementor-tablet_extra-align-left .elementor-inline-items { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; } .elementor-widget.elementor-tablet_extra-align-right .elementor-icon-list-item, .elementor-widget.elementor-tablet_extra-align-right .elementor-icon-list-item a { -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; text-align: right; } .elementor-widget.elementor-tablet_extra-align-right .elementor-icon-list-items { -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; } .elementor-widget:not(.elementor-tablet_extra-align-right) .elementor-icon-list-item:after { right: 0; } .elementor-widget:not(.elementor-tablet_extra-align-left) .elementor-icon-list-item:after { left: 0; } } @media (max-width: 1024px) { .elementor-widget.elementor-tablet-align-center .elementor-icon-list-item, .elementor-widget.elementor-tablet-align-center .elementor-icon-list-item a { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-widget.elementor-tablet-align-center .elementor-icon-list-item:after { margin: auto; } .elementor-widget.elementor-tablet-align-center .elementor-inline-items { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-widget.elementor-tablet-align-left .elementor-icon-list-item, .elementor-widget.elementor-tablet-align-left .elementor-icon-list-item a { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; text-align: left; } .elementor-widget.elementor-tablet-align-left .elementor-inline-items { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; } .elementor-widget.elementor-tablet-align-right .elementor-icon-list-item, .elementor-widget.elementor-tablet-align-right .elementor-icon-list-item a { -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; text-align: right; } .elementor-widget.elementor-tablet-align-right .elementor-icon-list-items { -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; } .elementor-widget:not(.elementor-tablet-align-right) .elementor-icon-list-item:after { right: 0; } .elementor-widget:not(.elementor-tablet-align-left) .elementor-icon-list-item:after { left: 0; } } @media (max-width: -1px) { .elementor-widget.elementor-mobile_extra-align-center .elementor-icon-list-item, .elementor-widget.elementor-mobile_extra-align-center .elementor-icon-list-item a { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-widget.elementor-mobile_extra-align-center .elementor-icon-list-item:after { margin: auto; } .elementor-widget.elementor-mobile_extra-align-center .elementor-inline-items { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-widget.elementor-mobile_extra-align-left .elementor-icon-list-item, .elementor-widget.elementor-mobile_extra-align-left .elementor-icon-list-item a { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; text-align: left; } .elementor-widget.elementor-mobile_extra-align-left .elementor-inline-items { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; } .elementor-widget.elementor-mobile_extra-align-right .elementor-icon-list-item, .elementor-widget.elementor-mobile_extra-align-right .elementor-icon-list-item a { -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; text-align: right; } .elementor-widget.elementor-mobile_extra-align-right .elementor-icon-list-items { -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; } .elementor-widget:not(.elementor-mobile_extra-align-right) .elementor-icon-list-item:after { right: 0; } .elementor-widget:not(.elementor-mobile_extra-align-left) .elementor-icon-list-item:after { left: 0; } } @media (max-width: 767px) { .elementor-widget.elementor-mobile-align-center .elementor-icon-list-item, .elementor-widget.elementor-mobile-align-center .elementor-icon-list-item a { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-widget.elementor-mobile-align-center .elementor-icon-list-item:after { margin: auto; } .elementor-widget.elementor-mobile-align-center .elementor-inline-items { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-widget.elementor-mobile-align-left .elementor-icon-list-item, .elementor-widget.elementor-mobile-align-left .elementor-icon-list-item a { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; text-align: left; } .elementor-widget.elementor-mobile-align-left .elementor-inline-items { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; } .elementor-widget.elementor-mobile-align-right .elementor-icon-list-item, .elementor-widget.elementor-mobile-align-right .elementor-icon-list-item a { -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; text-align: right; } .elementor-widget.elementor-mobile-align-right .elementor-icon-list-items { -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; } .elementor-widget:not(.elementor-mobile-align-right) .elementor-icon-list-item:after { right: 0; } .elementor-widget:not(.elementor-mobile-align-left) .elementor-icon-list-item:after { left: 0; } } .elementor-widget-image { text-align: center; } .elementor-widget-image a { display: inline-block; } .elementor-widget-image a img[src$=".svg"] { width: 48px; } .elementor-widget-image img { vertical-align: middle; display: inline-block; } .elementor-widget-image-box .elementor-image-box-content { width: 100%; } @media (min-width: 768px) { .elementor-widget-image-box.elementor-position-left .elementor-image-box-wrapper, .elementor-widget-image-box.elementor-position-right .elementor-image-box-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; } .elementor-widget-image-box.elementor-position-right .elementor-image-box-wrapper { text-align: left; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; } .elementor-widget-image-box.elementor-position-left .elementor-image-box-wrapper { text-align: right; -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; } .elementor-widget-image-box.elementor-position-top .elementor-image-box-img { margin: auto; } .elementor-widget-image-box.elementor-vertical-align-top .elementor-image-box-wrapper { -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; } .elementor-widget-image-box.elementor-vertical-align-middle .elementor-image-box-wrapper { -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .elementor-widget-image-box.elementor-vertical-align-bottom .elementor-image-box-wrapper { -webkit-box-align: end; -ms-flex-align: end; align-items: flex-end; } } @media (max-width: 767px) { .elementor-widget-image-box .elementor-image-box-img { margin-left: auto !important; margin-right: auto !important; margin-bottom: 15px; } } .elementor-widget-image-box .elementor-image-box-img { display: inline-block; } .elementor-widget-image-box .elementor-image-box-title a { color: inherit; } .elementor-widget-image-box .elementor-image-box-wrapper { text-align: center; } .elementor-widget-image-box .elementor-image-box-description { margin: 0; } .elementor-widget-image-carousel .swiper-container { position: static; } .elementor-widget-image-carousel .swiper-container .swiper-slide figure { line-height: inherit; } .elementor-widget-image-carousel .swiper-slide { text-align: center; } .elementor-image-carousel-wrapper:not(.swiper-container-initialized) .swiper-slide { max-width: calc(100% / var(--e-image-carousel-slides-to-show, 3)); } body.elementor-page .elementor-widget-menu-anchor { margin-bottom: 0; } .elementor-widget-progress { text-align: right; } .elementor-progress-wrapper { position: relative; background-color: #eeeeee; color: #ffffff; height: 100%; border-radius: 2px; } .elementor-progress-bar { display: -webkit-box; display: -ms-flexbox; display: flex; background-color: #818a91; width: 0; font-size: 11px; height: 30px; line-height: 30px; border-radius: 2px; -webkit-transition: width 1s ease-in-out; -o-transition: width 1s ease-in-out; transition: width 1s ease-in-out; } .elementor-progress-text { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; white-space: nowrap; -o-text-overflow: ellipsis; text-overflow: ellipsis; overflow: hidden; padding-right: 15px; } .elementor-progress-percentage { padding-left: 15px; } .elementor-widget-progress .elementor-progress-wrapper.progress-info .elementor-progress-bar { background-color: #5bc0de; } .elementor-widget-progress .elementor-progress-wrapper.progress-success .elementor-progress-bar { background-color: #5cb85c; } .elementor-widget-progress .elementor-progress-wrapper.progress-warning .elementor-progress-bar { background-color: #f0ad4e; } .elementor-widget-progress .elementor-progress-wrapper.progress-danger .elementor-progress-bar { background-color: #d9534f; } .elementor-progress .elementor-title { display: block; } @media (max-width: 767px) { .elementor-progress-text { padding-right: 10px; } } .elementor-widget-social-icons { /*TODO: This Grid-0 needs to be removed after PRO is Updated */ } .elementor-widget-social-icons.elementor-grid-0 .elementor-widget-container, .elementor-widget-social-icons.elementor-grid-tablet-0 .elementor-widget-container, .elementor-widget-social-icons.elementor-grid-mobile-0 .elementor-widget-container { line-height: 1; font-size: 0; } .elementor-widget-social-icons:not(.elementor-grid-0):not(.elementor-grid-tablet-0):not(.elementor-grid-mobile-0) .elementor-grid { display: inline-grid; } .elementor-widget-social-icons .elementor-grid { grid-column-gap: var(--grid-column-gap, 5px); grid-row-gap: var(--grid-row-gap, 5px); grid-template-columns: var(--grid-template-columns); -webkit-box-pack: var(--justify-content, center); -ms-flex-pack: var(--justify-content, center); justify-content: var(--justify-content, center); justify-items: var(--justify-content, center); } .elementor-icon.elementor-social-icon { font-size: var(--icon-size, 25px); line-height: var(--icon-size, 25px); width: calc(var(--icon-size, 25px) + (2 * var(--icon-padding, 0.5em))); height: calc(var(--icon-size, 25px) + (2 * var(--icon-padding, 0.5em))); } .elementor-social-icon { --e-social-icon-icon-color: #fff; display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; background-color: #818a91; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; text-align: center; cursor: pointer; } .elementor-social-icon i { color: var(--e-social-icon-icon-color); } .elementor-social-icon svg { fill: var(--e-social-icon-icon-color); } .elementor-social-icon:last-child { margin: 0; } .elementor-social-icon:hover { opacity: 0.9; color: white; } .elementor-social-icon-android { background-color: #A4C639; } .elementor-social-icon-apple { background-color: #999999; } .elementor-social-icon-behance { background-color: #1769ff; } .elementor-social-icon-bitbucket { background-color: #205081; } .elementor-social-icon-codepen { background-color: #000000; } .elementor-social-icon-delicious { background-color: #3399ff; } .elementor-social-icon-deviantart { background-color: #05cc47; } .elementor-social-icon-digg { background-color: #005be2; } .elementor-social-icon-dribbble { background-color: #ea4c89; } .elementor-social-icon-elementor { background-color: #D30C5C; } .elementor-social-icon-envelope { background-color: #ea4335; } .elementor-social-icon-facebook, .elementor-social-icon-facebook-f { background-color: #3b5998; } .elementor-social-icon-flickr { background-color: #0063dc; } .elementor-social-icon-foursquare { background-color: #2d5be3; } .elementor-social-icon-freecodecamp, .elementor-social-icon-free-code-camp { background-color: #006400; } .elementor-social-icon-github { background-color: #333333; } .elementor-social-icon-gitlab { background-color: #e24329; } .elementor-social-icon-globe { background-color: #818a91; } .elementor-social-icon-google-plus, .elementor-social-icon-google-plus-g { background-color: #dd4b39; } .elementor-social-icon-houzz { background-color: #7ac142; } .elementor-social-icon-instagram { background-color: #262626; } .elementor-social-icon-jsfiddle { background-color: #487AA2; } .elementor-social-icon-link { background-color: #818a91; } .elementor-social-icon-linkedin, .elementor-social-icon-linkedin-in { background-color: #0077b5; } .elementor-social-icon-medium { background-color: #00ab6b; } .elementor-social-icon-meetup { background-color: #ec1c40; } .elementor-social-icon-mixcloud { background-color: #273a4b; } .elementor-social-icon-odnoklassniki { background-color: #F4731C; } .elementor-social-icon-pinterest { background-color: #bd081c; } .elementor-social-icon-product-hunt { background-color: #da552f; } .elementor-social-icon-reddit { background-color: #ff4500; } .elementor-social-icon-rss { background-color: #f26522; } .elementor-social-icon-shopping-cart { background-color: #4CAF50; } .elementor-social-icon-skype { background-color: #00AFF0; } .elementor-social-icon-slideshare { background-color: #0077b5; } .elementor-social-icon-snapchat { background-color: #fffc00; } .elementor-social-icon-soundcloud { background-color: #ff8800; } .elementor-social-icon-spotify { background-color: #2ebd59; } .elementor-social-icon-stack-overflow { background-color: #fe7a15; } .elementor-social-icon-steam { background-color: #00adee; } .elementor-social-icon-stumbleupon { background-color: #EB4924; } .elementor-social-icon-telegram { background-color: #2CA5E0; } .elementor-social-icon-thumb-tack { background-color: #1aa1d8; } .elementor-social-icon-tripadvisor { background-color: #589442; } .elementor-social-icon-tumblr { background-color: #35465c; } .elementor-social-icon-twitch { background-color: #6441A5; } .elementor-social-icon-twitter { background-color: #1DA1F2; } .elementor-social-icon-viber { background-color: #665cac; } .elementor-social-icon-vimeo { background-color: #1ab7ea; } .elementor-social-icon-vk { background-color: #45668e; } .elementor-social-icon-weibo { background-color: #DD2430; } .elementor-social-icon-weixin { background-color: #31A918; } .elementor-social-icon-whatsapp { background-color: #25d366; } .elementor-social-icon-wordpress { background-color: #21759b; } .elementor-social-icon-xing { background-color: #026466; } .elementor-social-icon-yelp { background-color: #af0606; } .elementor-social-icon-youtube { background-color: #cd201f; } .elementor-social-icon-500px { background-color: #0099e5; } .elementor-shape-rounded .elementor-icon.elementor-social-icon { border-radius: 10%; } .elementor-shape-circle .elementor-icon.elementor-social-icon { border-radius: 50%; } .e-container.e-container--row .elementor-spacer-inner { width: var(--spacer-size); } .elementor-column .elementor-spacer-inner, .e-container.e-container--column .elementor-spacer-inner { height: var(--spacer-size); } .elementor-star-rating { color: #CCD6DF; font-family: eicons; display: inline-block; } .elementor-star-rating i { display: inline-block; position: relative; font-style: normal; cursor: default; } .elementor-star-rating i:before { content: "\e934"; display: block; font-size: inherit; font-family: inherit; position: absolute; overflow: hidden; color: #f0ad4e; top: 0; right: 0; } .elementor-star-rating .elementor-star-empty:before { content: none; } .elementor-star-rating .elementor-star-1:before { width: 10%; } .elementor-star-rating .elementor-star-2:before { width: 20%; } .elementor-star-rating .elementor-star-3:before { width: 30%; } .elementor-star-rating .elementor-star-4:before { width: 40%; } .elementor-star-rating .elementor-star-5:before { width: 50%; } .elementor-star-rating .elementor-star-6:before { width: 60%; } .elementor-star-rating .elementor-star-7:before { width: 70%; } .elementor-star-rating .elementor-star-8:before { width: 80%; } .elementor-star-rating .elementor-star-9:before { width: 90%; } .elementor-star-rating__wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .elementor-star-rating__title { margin-left: 10px; } .elementor-star-rating--align-right .elementor-star-rating__wrapper { text-align: right; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; } .elementor-star-rating--align-left .elementor-star-rating__wrapper { text-align: left; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; } .elementor-star-rating--align-center .elementor-star-rating__wrapper { text-align: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-star-rating--align-justify .elementor-star-rating__title { margin-left: auto; } @media (max-width: 1024px) { .elementor-star-rating-tablet--align-right .elementor-star-rating__wrapper { text-align: right; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; } .elementor-star-rating-tablet--align-left .elementor-star-rating__wrapper { text-align: left; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; } .elementor-star-rating-tablet--align-center .elementor-star-rating__wrapper { text-align: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-star-rating-tablet--align-justify .elementor-star-rating__title { margin-left: auto; } } @media (max-width: 767px) { .elementor-star-rating-mobile--align-right .elementor-star-rating__wrapper { text-align: right; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; } .elementor-star-rating-mobile--align-left .elementor-star-rating__wrapper { text-align: left; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; } .elementor-star-rating-mobile--align-center .elementor-star-rating__wrapper { text-align: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-star-rating-mobile--align-justify .elementor-star-rating__title { margin-left: auto; } } .last-star { letter-spacing: 0; } .elementor--star-style-star_unicode .elementor-star-rating { font-family: "Arial", "Helvetica", sans-serif; } .elementor--star-style-star_unicode .elementor-star-rating i:not(.elementor-star-empty):before { content: "★"; } .elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tabs-wrapper { width: 25%; -ms-flex-negative: 0; flex-shrink: 0; } .elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tab-desktop-title.elementor-active { border-left-style: none; } .elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tab-desktop-title.elementor-active:before, .elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tab-desktop-title.elementor-active:after { height: 999em; width: 0; left: 0; border-left-style: solid; } .elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tab-desktop-title.elementor-active:before { top: 0; -webkit-transform: translateY(-100%); -ms-transform: translateY(-100%); transform: translateY(-100%); } .elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tab-desktop-title.elementor-active:after { top: 100%; } .elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title { display: table-cell; } .elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title.elementor-active { border-bottom-style: none; } .elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title.elementor-active:before, .elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title.elementor-active:after { bottom: 0; height: 0; width: 999em; border-bottom-style: solid; } .elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title.elementor-active:before { right: 100%; } .elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title.elementor-active:after { left: 100%; } .elementor-widget-tabs .elementor-tab-title, .elementor-widget-tabs .elementor-tab-title:before, .elementor-widget-tabs .elementor-tab-title:after, .elementor-widget-tabs .elementor-tab-content, .elementor-widget-tabs .elementor-tabs-content-wrapper { border: 1px none #D4D4D4; } .elementor-widget-tabs .elementor-tabs { text-align: right; } .elementor-widget-tabs .elementor-tabs-wrapper { overflow: hidden; } .elementor-widget-tabs .elementor-tab-title { cursor: pointer; outline: var(--focus-outline, none); } .elementor-widget-tabs .elementor-tab-desktop-title { position: relative; padding: 20px 25px; font-weight: bold; line-height: 1; border: solid transparent; } .elementor-widget-tabs .elementor-tab-desktop-title.elementor-active { border-color: #D4D4D4; } .elementor-widget-tabs .elementor-tab-desktop-title.elementor-active:before, .elementor-widget-tabs .elementor-tab-desktop-title.elementor-active:after { display: block; content: ""; position: absolute; } .elementor-widget-tabs .elementor-tab-mobile-title { padding: 10px 10px; cursor: pointer; } .elementor-widget-tabs .elementor-tab-content { padding: 20px; display: none; } @media (max-width: 767px) { .elementor-tabs .elementor-tab-title, .elementor-tabs .elementor-tab-content { border-style: solid; border-bottom-style: none; } .elementor-tabs .elementor-tabs-wrapper { display: none; } .elementor-tabs .elementor-tabs-content-wrapper { border-bottom-style: solid; } .elementor-tabs .elementor-tab-content { padding: 10px; } } @media (min-width: 768px) { .elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tabs { display: -webkit-box; display: -ms-flexbox; display: flex; } .elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tabs-wrapper { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; } .elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tabs-content-wrapper { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; border-style: solid; border-right-style: none; } .elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-content { border-style: solid; border-top-style: none; } .elementor-widget-tabs.elementor-tabs-alignment-center .elementor-tabs-wrapper, .elementor-widget-tabs.elementor-tabs-alignment-end .elementor-tabs-wrapper, .elementor-widget-tabs.elementor-tabs-alignment-stretch .elementor-tabs-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; } .elementor-widget-tabs.elementor-tabs-alignment-center .elementor-tabs-wrapper { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-widget-tabs.elementor-tabs-alignment-end .elementor-tabs-wrapper { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; } .elementor-widget-tabs.elementor-tabs-alignment-stretch.elementor-tabs-view-horizontal .elementor-tab-title { width: 100%; } .elementor-widget-tabs.elementor-tabs-alignment-stretch.elementor-tabs-view-vertical .elementor-tab-title { height: 100%; } .elementor-tabs .elementor-tab-mobile-title { display: none; } } .elementor-testimonial-wrapper { overflow: hidden; text-align: center; } .elementor-testimonial-wrapper .elementor-testimonial-content { font-size: 1.3em; margin-bottom: 20px; } .elementor-testimonial-wrapper .elementor-testimonial-name { line-height: 1.5; display: block; } .elementor-testimonial-wrapper .elementor-testimonial-job { font-size: 0.85em; display: block; } .elementor-testimonial-wrapper .elementor-testimonial-meta { width: 100%; line-height: 1; } .elementor-testimonial-wrapper .elementor-testimonial-meta-inner { display: inline-block; } .elementor-testimonial-wrapper .elementor-testimonial-meta .elementor-testimonial-details, .elementor-testimonial-wrapper .elementor-testimonial-meta .elementor-testimonial-image { display: table-cell; vertical-align: middle; } .elementor-testimonial-wrapper .elementor-testimonial-meta .elementor-testimonial-image img { width: 60px; height: 60px; border-radius: 50%; -o-object-fit: cover; object-fit: cover; max-width: none; } .elementor-testimonial-wrapper .elementor-testimonial-meta.elementor-testimonial-image-position-aside .elementor-testimonial-image { padding-left: 15px; } .elementor-testimonial-wrapper .elementor-testimonial-meta.elementor-testimonial-image-position-aside .elementor-testimonial-details { text-align: right; } .elementor-testimonial-wrapper .elementor-testimonial-meta.elementor-testimonial-image-position-top .elementor-testimonial-details, .elementor-testimonial-wrapper .elementor-testimonial-meta.elementor-testimonial-image-position-top .elementor-testimonial-image { display: block; } .elementor-testimonial-wrapper .elementor-testimonial-meta.elementor-testimonial-image-position-top .elementor-testimonial-image { margin-bottom: 20px; } .elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap { background-color: #818a91; color: #fff; } .elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap { color: #818a91; border: 3px solid; background-color: transparent; } .elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap { margin-top: 8px; } .elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap-letter { width: 1em; height: 1em; } .elementor-widget-text-editor .elementor-drop-cap { float: right; text-align: center; line-height: 1; font-size: 50px; } .elementor-widget-text-editor .elementor-drop-cap-letter { display: inline-block; } .elementor-toggle { text-align: right; } .elementor-toggle .elementor-tab-title { font-weight: bold; line-height: 1; margin: 0; padding: 15px; border-bottom: 1px solid #D4D4D4; cursor: pointer; outline: none; } .elementor-toggle .elementor-tab-title .elementor-toggle-icon { display: inline-block; width: 1em; } .elementor-toggle .elementor-tab-title .elementor-toggle-icon svg { -webkit-margin-start: -5px; margin-inline-start: -5px; width: 1em; height: 1em; } .elementor-toggle .elementor-tab-title .elementor-toggle-icon.elementor-toggle-icon-right { float: right; text-align: right; } .elementor-toggle .elementor-tab-title .elementor-toggle-icon.elementor-toggle-icon-left { float: left; text-align: left; } .elementor-toggle .elementor-tab-title .elementor-toggle-icon .elementor-toggle-icon-closed { display: block; } .elementor-toggle .elementor-tab-title .elementor-toggle-icon .elementor-toggle-icon-opened { display: none; } .elementor-toggle .elementor-tab-title.elementor-active { border-bottom: none; } .elementor-toggle .elementor-tab-title.elementor-active .elementor-toggle-icon-closed { display: none; } .elementor-toggle .elementor-tab-title.elementor-active .elementor-toggle-icon-opened { display: block; } .elementor-toggle .elementor-tab-content { padding: 15px; border-bottom: 1px solid #D4D4D4; display: none; } @media (max-width: 767px) { .elementor-toggle .elementor-tab-title { padding: 12px; } .elementor-toggle .elementor-tab-content { padding: 12px 10px; } } .elementor-widget-video .elementor-widget-container { overflow: hidden; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } .elementor-widget-video .elementor-open-inline .elementor-custom-embed-image-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-size: cover; background-position: 50%; } .elementor-widget-video .elementor-custom-embed-image-overlay { cursor: pointer; text-align: center; } .elementor-widget-video .elementor-custom-embed-image-overlay:hover .elementor-custom-embed-play i { opacity: 1; } .elementor-widget-video .elementor-custom-embed-image-overlay img { display: block; width: 100%; } .elementor-widget-video .e-hosted-video .elementor-video { -o-object-fit: cover; object-fit: cover; } /*# sourceMappingURL=frontend-rtl.css.map */assets/css/app.css000064400000336571152377341010010152 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ @import "//fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap"; @import "//fonts.googleapis.com/css2?family=DM%20Sans&display=swap"; @import "//fonts.googleapis.com/css2?family=Source%20Serif%20Pro&display=swap"; :root { --color-box-shadow-color: rgba(0, 0, 0, 0.05); } .eps-theme-dark { --color-box-shadow-color: rgba(0, 0, 0, 0.1); } .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; } @media screen and (min-width: 480px) { .text-start-sm { text-align: start; } } @media screen and (min-width: 480px) { .text-center-sm { text-align: center; } } @media screen and (min-width: 480px) { .text-end-sm { text-align: end; } } @media screen and (min-width: 768px) { .text-start-md { text-align: start; } } @media screen and (min-width: 768px) { .text-center-md { text-align: center; } } @media screen and (min-width: 768px) { .text-end-md { text-align: end; } } @media screen and (min-width: 1025px) { .text-start-lg { text-align: start; } } @media screen and (min-width: 1025px) { .text-center-lg { text-align: center; } } @media screen and (min-width: 1025px) { .text-end-lg { text-align: end; } } @media screen and (min-width: 1440px) { .text-start-xl { text-align: start; } } @media screen and (min-width: 1440px) { .text-center-xl { text-align: center; } } @media screen and (min-width: 1440px) { .text-end-xl { text-align: end; } } @media screen and (min-width: 1600px) { .text-start-xxl { text-align: start; } } @media screen and (min-width: 1600px) { .text-center-xxl { text-align: center; } } @media screen and (min-width: 1600px) { .text-end-xxl { text-align: end; } } @-webkit-keyframes eps-animation-pop { from { -webkit-transform: scale(0.75); transform: scale(0.75); opacity: 0; } to { -webkit-transform: scale(1); transform: scale(1); opacity: 1; } } @keyframes eps-animation-pop { from { -webkit-transform: scale(0.75); transform: scale(0.75); opacity: 0; } to { -webkit-transform: scale(1); transform: scale(1); opacity: 1; } } /** TODO: The molecules, atoms and such generics should be at top level, so the styles will be not depended on the order. EG: '../../../../core/app/assets/styles/generic'. Auto-import is designed for CSS that not dependent on the loading order. */ .eps-button { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; --button-line-height: 16px; --button-padding-y: 0.5em; --button-padding-x: 1.5em; --button-primary-background-color: #39b54a; --button-primary-hover-background-color: #33a242; --button-primary-active-background-color: #35a945; --button-primary-color: #fff; --button-secondary-background-color: #a4afb7; --button-secondary-hover-background-color: #96a2ac; --button-secondary-active-background-color: #9ba7b0; --button-secondary-color: #fff; --button-danger-background-color: #b01b1b; --button-danger-hover-background-color: #9a1818; --button-danger-active-background-color: #a31919; --button-danger-color: #fff; --button-cta-background-color: #93003F; --button-cta-hover-background-color: #7a0034; --button-cta-active-background-color: #840038; --button-cta-color: #fff; --button-link-background-color: #58d0f5; --button-link-hover-background-color: #40c9f4; --button-link-active-background-color: #4accf4; --button-link-color: #fff; --button-disabled-background-color: #c2cbd2; --button-disabled-hover-background-color: #b3bec7; --button-disabled-active-background-color: #b9c3cc; --button-disabled-color: #fff; color: var(--button-background-color, currentColor); font-size: var(--button-font-size, inherit); font-weight: 500; line-height: var(--button-line-height); cursor: pointer; } .eps-button:active { --button-background-color: var(--button-active-background-color, transparent); } .eps-button:hover { --button-background-color: var(--button-hover-background-color); } .eps-theme-dark .eps-button { --button-primary-background-color: #39b54a; --button-primary-color: #fff; --button-primary-hover-background-color: #33a242; --button-primary-active-background-color: #35a945; --button-secondary-background-color: #b4b5b7; --button-secondary-color: #fff; --button-secondary-hover-background-color: #a7a8ab; --button-secondary-active-background-color: #acadb0; --button-cta-background-color: #93003F; --button-cta-hover-background-color: #7a0034; --button-cta-active-background-color: #840038; --button-cta-color: #fff; --button-link-background-color: #58d0f5; --button-link-hover-background-color: #40c9f4; --button-link-active-background-color: #4accf4; --button-link-color: #fff; --button-disabled-background-color: #64666a; --button-disabled-hover-background-color: #58595d; --button-disabled-active-background-color: #5d5e62; --button-disabled-color: #fff; } .eps-button--contained { color: var(--button-color); padding: var(--button-padding-y) var(--button-padding-x); background-color: var(--button-background-color, transparent); border: 1px solid var(--button-background-color); } .eps-button--contained:hover { color: var(--button-color); } .eps-button--outlined { display: block; padding: var(--button-padding-y) var(--button-padding-x); border: 1px solid var(--button-background-color); } .eps-button--contained, .eps-button--outlined { border-radius: 0.1875rem; } .eps-button--underlined { text-decoration: underline; } .eps-button--sm { --button-font-size: 0.75rem; --button-line-height: 14px; } .eps-button--lg { --button-font-size: 0.9375rem; --button-line-height: 18px; } .eps-button--primary { --button-color: var(--button-primary-color); --button-background-color: var(--button-primary-background-color); --button-hover-background-color: var(--button-primary-hover-background-color); --button-active-background-color: var(--button-primary-active-background-color); } .eps-button--secondary { --button-color: var(--button-secondary-color); --button-background-color: var(--button-secondary-background-color); --button-hover-background-color: var(--button-secondary-hover-background-color); --button-active-background-color: var(--button-secondary-active-background-color); } .eps-button--danger { --button-color: var(--button-danger-color); --button-background-color: var(--button-danger-background-color); --button-hover-background-color: var(--button-danger-hover-background-color); --button-active-background-color: var(--button-danger-active-background-color); } .eps-button--cta { --button-color: var(--button-cta-color); --button-background-color: var(--button-cta-background-color); --button-hover-background-color: var(--button-cta-hover-background-color); --button-active-background-color: var(--button-cta-active-background-color); } .eps-button--link { --button-color: var(--button-link-color); --button-background-color: var(--button-link-background-color); --button-hover-background-color: var(--button-link-hover-background-color); --button-active-background-color: var(--button-link-active-background-color); } .eps-button--disabled, .eps-button[disabled] { --button-color: var(--button-disabled-color); --button-background-color: var(--button-disabled-background-color); --button-hover-background-color: var(--button-disabled-hover-background-color); --button-active-background-color: var(--button-disabled-active-background-color); cursor: default; } :root { --app-background-color: #f1f3f5; --app-box-shadow-color: rgba(var(--box-shadow-color, rgba(0, 0, 0, 0.15)), 0.2); --app-header-background-color: #fff; --app-header-color: #495157; --app-sidebar-background-color: rgba(255, 255, 255, 0.5); --app-header-buttons-separator-color: #d5dadf; --app-header-buttons-color: #a4afb7; --app-lightbox-background-color: rgba(0, 0, 0, 0.8); } .eps-theme-dark { --app-background-color: #34383c; --app-box-shadow-color: rgba(var(--box-shadow-color, rgba(0, 0, 0, 0.15)), 0.2); --app-header-background-color: #26292C; --app-header-color: #e0e1e3; --app-sidebar-background-color: #34383c; --app-header-buttons-separator-color: #64666a; --app-header-buttons-color: #b4b5b7; --app-lightbox-background-color: rgba(0, 0, 0, 0.8); } :root { --text-muted: #d5dadf; --disabled: #c2cbd2; --light: #fff; --dark: #000; --info: #58d0f5; --cta: #93003F; --danger: #b01b1b; --success: #39b54a; --warning: #fcb92c; --body-color: #6d7882; --link-color: #58d0f5; --link-hover-color: #10bcf1; --hr-color: #d5dadf; --box-shadow-color: theme-colors(dark); --display-1-color: #495157; --display-2-color: #495157; --display-3-color: #6d7882; --display-4-color: #495157; --h1-color: #6d7882; --h2-color: #6d7882; --h3-color: #495157; --h4-color: #495157; --h5-color: #495157; --h6-color: #495157; --text-base-color: #495157; --text-xl-color: #495157; --text-lg-color: #495157; --text-sm-color: #495157; --text-xs-color: #495157; --text-xxs-color: #495157; --gray-800: #495157; --gray-700: #556068; --gray-600: #6d7882; --gray-500: #a4afb7; --gray-400: #c2cbd2; --gray-300: #d5dadf; --gray-200: #f1f3f5; --gray-100: #fcfcfc; } .eps-theme-dark { --text-muted: #7d7e82; --disabled: #64666a; --light: #fff; --dark: #000; --info: #58d0f5; --accent: #58d0f5; --danger: #F84343; --cta: #93003F; --success: #39b54a; --warning: #fcb92c; --body-color: #e0e1e3; --body-bg: #fff; --link-color: #58d0f5; --link-hover-color: #10bcf1; --hr-color: #4c4f56; --box-shadow-color: rgba(0, 0, 0, 0.15); --display-1-color: #e0e1e3; --display-2-color: #e0e1e3; --display-3-color: #e0e1e3; --display-4-color: #e0e1e3; --h1-color: #e0e1e3; --h2-color: #e0e1e3; --h3-color: #e0e1e3; --h4-color: #e0e1e3; --h5-color: #e0e1e3; --h6-color: #e0e1e3; --text-base-color: #b4b5b7; --text-xl-color: #b4b5b7; --text-lg-color: #b4b5b7; --text-sm-color: #b4b5b7; --text-xs-color: #b4b5b7; --text-xxs-color: #b4b5b7; --gray-800: #26292C; --gray-700: #34383c; --gray-600: #404349; --gray-500: #4c4f56; --gray-400: #64666a; --gray-300: #7d7e82; --gray-200: #b4b5b7; --gray-100: #e0e1e3; } *, *::before, *::after { -webkit-box-sizing: border-box; box-sizing: border-box; } html { font-family: sans-serif; line-height: 1.15; -webkit-text-size-adjust: 100%; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } article, aside, figcaption, figure, footer, header, hgroup, main, nav, section { display: block; } body { margin: 0; font-family: Roboto, Arial, Helvetica, Verdana, sans-serif; font-size: 0.875rem; font-weight: 400; line-height: 1.5; color: var(--body-color); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; background-color: var(--body-bg); } ::-moz-selection { background-color: rgba(147, 0, 63, 0.5); } ::selection { background-color: rgba(147, 0, 63, 0.5); } [tabindex="-1"]:focus:not(:focus-visible) { outline: 0 !important; } h1, h2, h3, h4, h5, h6 { font-size: 100%; margin: 0; padding: 0; line-height: inherit; font-weight: normal; } p { margin-top: 0; } b, strong { font-weight: 700; } small { font-size: 80%; } a { --eps-link-color: $eps-link-color; color: var(--eps-link-color); background-color: transparent; } a, a:active, a:hover, a:focus { text-decoration: none; } a:focus, a:hover { --eps-link-color: $eps-link-hover-color; text-decoration: none; } a:not([href]) { color: inherit; text-decoration: none; } a:not([href]):hover { color: inherit; text-decoration: none; } pre, code, kbd, samp { font-family: monospace; font-size: 1em; } figure { margin: 0 0 0; } img { vertical-align: middle; border-style: none; } svg { overflow: hidden; vertical-align: middle; } button { border-radius: 0; } button:focus { outline: 1px dotted; outline: 5px auto -webkit-focus-ring-color; } input, button, select, optgroup, textarea { margin: 0; font-family: inherit; font-size: inherit; line-height: inherit; } button, input { overflow: visible; } button, select { text-transform: none; } [role=button] { cursor: pointer; } select { word-wrap: normal; } button, [type=button], [type=reset], [type=submit] { -webkit-appearance: button; } button:not(:disabled), [type=button]:not(:disabled), [type=reset]:not(:disabled), [type=submit]:not(:disabled) { cursor: pointer; } button::-moz-focus-inner, [type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner { padding: 0; border-style: none; } input[type=radio], input[type=checkbox] { -webkit-box-sizing: border-box; box-sizing: border-box; padding: 0; } textarea { overflow: auto; resize: vertical; } [hidden] { display: none !important; } hr { border: 0 none; border-bottom: 1px solid var(--hr-color); } .eps-display-1 { font-size: 1.85rem; color: var(--display-1-color); margin-top: 0.5rem; margin-bottom: 0.5rem; } .eps-display-2 { font-size: 1.85rem; color: var(--display-2-color); margin-top: 0.5rem; margin-bottom: 0.5rem; } .eps-display-3 { font-size: 1.85rem; color: var(--display-3-color); margin-top: 0; margin-bottom: 1.25rem; } .eps-display-4 { font-size: 1.85rem; color: var(--display-4-color); margin-top: 0.5rem; margin-bottom: 0.5rem; } h1, .eps-h1 { font-size: 1.625rem; line-height: 1; color: var(--h1-color); margin-bottom: 1.25rem; font-weight: 500; } h2, .eps-h2 { font-size: 1.25rem; line-height: 1.2; color: var(--h2-color); margin-top: 0; margin-bottom: 1.25rem; font-weight: 500; } h3, .eps-h3 { font-size: 1rem; line-height: 1.2; color: var(--h3-color); margin-top: 0; margin-bottom: 0.5rem; font-weight: 500; } h4, .eps-h4 { font-size: 0.9375rem; color: var(--h4-color); margin-top: 0; margin-bottom: 0.5rem; } h5, .eps-h5 { font-size: 0.875rem; color: var(--h5-color); margin-top: 0; margin-bottom: 0.5rem; } h6, .eps-h6 { font-size: 0.875rem; color: var(--h-6-color); margin-top: 0; margin-bottom: 0.5rem; font-weight: 700; } .eps-text-xxs { font-size: 0.75rem; line-height: 1.2; color: var(--text-xxs-color); font-weight: 400; } .eps-text-xs { font-size: 0.75rem; line-height: 1.5; color: var(--text-xs-color); font-weight: 400; } .eps-text { font-size: 0.875rem; line-height: 1.5; color: var(--text-base-color); font-weight: 400; } .eps-text-sm { font-size: 0.8125rem; line-height: 1.5; color: var(--text-sm-color); font-weight: 400; } .eps-text-lg { font-size: 0.9375rem; line-height: 1.5; color: var(--text-lg-color); font-weight: 400; } .eps-text-xl { font-size: 1rem; line-height: 1.5; color: var(--text-xl-color); font-weight: 400; } .video-wrapper { position: relative; padding-bottom: 56.25%; height: 0; } .video-wrapper iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } .eps-separator { margin-bottom: 2.75rem; } .eps-theme-dark { --e-app-back-button-color: #b4b5b7; } .back-button, .e-app-back-button { --button-background-color: var(--e-app-back-button-color, #a4afb7); margin-bottom: 1.5rem; } .back-button .eps-icon, .e-app-back-button .eps-icon { -webkit-margin-end: 0.3125rem; margin-inline-end: 0.3125rem; } .eps-theme-dark { --input-border-color: --hr-color; } .eps-input { border: 1px solid var(--hr-color); border-radius: 0.1875rem; background: transparent; color: inherit; height: 1.875rem; padding: 0 0.3125rem; } .eps-input--block { width: 100%; } .eps-app { display: -webkit-box; display: -ms-flexbox; display: flex; height: 100vh; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; color: var(--body-color); background-color: var(--app-background-color); position: absolute; border-radius: 0; -webkit-box-shadow: 2px 8px 23px 3px var(--color-box-shadow-color); box-shadow: 2px 8px 23px 3px var(--color-box-shadow-color); overflow: hidden; font-family: Roboto, Arial, Helvetica, Verdana, sans-serif; width: 100%; max-width: 100%; } .eps-app__lightbox { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; position: fixed; height: 100%; width: 100%; background-color: var(--app-lightbox-background-color); z-index: 1040; bottom: 0; left: 0; } .eps-app__header { -ms-flex-negative: 0; flex-shrink: 0; font-size: 0.9375rem; color: var(--app-header-color); background-color: var(--app-header-background-color); -webkit-box-shadow: 0 4px 10px var(--color-box-shadow-color); box-shadow: 0 4px 10px var(--color-box-shadow-color); position: relative; z-index: 3; height: 3.125rem; padding: 0 1rem; } .eps-app__header-buttons { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; font-size: 1.125rem; } .eps-app__header-btn { --button-background-color: var(--app-header-buttons-color); -webkit-padding-start: 1rem; padding-inline-start: 1rem; font-size: 1.125rem; line-height: 1.25rem; } .eps-app__header-btn:first-child { -webkit-border-start: 1px solid var(--app-header-buttons-separator-color); border-inline-start: 1px solid var(--app-header-buttons-separator-color); } .eps-app__header-btn:not(:first-child) { -webkit-padding-end: 1rem; padding-inline-end: 1rem; } .eps-app__logo-title-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .eps-app__logo { display: block; width: 1.75rem; height: 1.75rem; line-height: 1.75rem; text-align: center; font-size: calc(0.4 * 1.75rem); border-radius: 50%; color: #fff; background-color: #93003F; } .eps-app__logo:not(:last-child) { -webkit-margin-end: 0.625rem; margin-inline-end: 0.625rem; } .eps-app__title { font-size: 0.9375rem; font-weight: 700; text-transform: uppercase; margin-bottom: 0; } .eps-app__main { display: -webkit-box; display: -ms-flexbox; display: flex; overflow: hidden; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; } .eps-app__sidebar { background-color: var(--app-sidebar-background-color); padding-top: 1.25rem; width: 30%; max-width: 17.1875rem; -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; overflow-y: auto; -webkit-box-shadow: 2px 8px 23px 3px var(--color-box-shadow-color); box-shadow: 2px 8px 23px 3px var(--color-box-shadow-color); z-index: 4; } .eps-app__content { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; position: relative; padding: 2.75rem; height: 100%; overflow-y: auto; } .e-app-upload-file__input { display: none; } .e-app-drop-zone { --e-app-drop-zone-icon-color: #c2cbd2; --e-app-drop-zone-text-color: #a4afb7; --e-app-drop-zone-secondary-text-color: #6d7882; } .e-app-drop-zone__icon { margin-bottom: 2.75rem; color: var(--e-app-drop-zone-icon-color); font-size: 60px; } .e-app-drop-zone__text { color: var(--e-app-drop-zone-text-color); } .e-app-drop-zone__secondary-text { color: var(--e-app-drop-zone-secondary-text-color); } .eps-theme-dark .e-app-drop-zone { --e-app-drop-zone-icon-color: #c2cbd2; --e-app-drop-zone-text-color: #b4b5b7; --e-app-drop-zone-secondary-text-color: #e0e1e3; } :root { --info-toggle-color: #d5dadf; --info-toggle-hover-color: #a4afb7; } .eps-theme-dark { --placeholder-filter: invert(0.8) sepia(1) saturate(0.2) hue-rotate(180deg) contrast(1.25) brightness(1.2); --info-toggle-color: #64666a; --info-toggle-hover-color: #b4b5b7; } .e-site-part .eps-card__image { -webkit-filter: var(--placeholder-filter, none); filter: var(--placeholder-filter, none); } .e-site-part__info-toggle { color: var(--info-toggle-color); } .e-site-part__info-toggle:hover { --info-toggle-color: var(--info-toggle-hover-color); } .e-site-editor__header { margin-bottom: 2.75rem; border-bottom: 1px solid var(--hr-color); } :root { --e-elementor-loader-container-background-color: #f1f3f5; --e-elementor-loader-background-color: rgba(255, 255, 255, 0.9); } .eps-theme-dark { --e-elementor-loader-container-background-color: #34383c; --e-elementor-loader-background-color: #4c4f56; } .elementor-loading { background-color: var(--e-elementor-loader-container-background-color); height: 100vh; } .elementor-loader-wrapper { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); width: 300px; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-loader { border-radius: 50%; padding: 40px; height: 150px; width: 150px; background-color: var(--e-elementor-loader-background-color); -webkit-box-sizing: border-box; box-sizing: border-box; -webkit-box-shadow: 2px 2px 20px 4px rgba(0, 0, 0, 0.02); box-shadow: 2px 2px 20px 4px rgba(0, 0, 0, 0.02); } .elementor-loader-boxes { height: 100%; width: 100%; position: relative; } .elementor-loader-box { position: absolute; background-color: #d5dadf; -webkit-animation: load 1.8s linear infinite; animation: load 1.8s linear infinite; } .elementor-loader-box:nth-of-type(1) { width: 20%; height: 100%; left: 0; top: 0; } .elementor-loader-box:not(:nth-of-type(1)) { right: 0; height: 20%; width: 60%; } .elementor-loader-box:nth-of-type(2) { top: 0; -webkit-animation-delay: -0.45s; animation-delay: -0.45s; } .elementor-loader-box:nth-of-type(3) { top: 40%; -webkit-animation-delay: -0.9s; animation-delay: -0.9s; } .elementor-loader-box:nth-of-type(4) { bottom: 0; -webkit-animation-delay: -1.35s; animation-delay: -1.35s; } .elementor-loading-title { color: #a4afb7; text-align: center; text-transform: uppercase; margin-top: 30px; letter-spacing: 7px; text-indent: 7px; font-size: 10px; width: 100%; } @-webkit-keyframes load { 0% { opacity: 0.3; } 50% { opacity: 1; } 100% { opacity: 0.3; } } @keyframes load { 0% { opacity: 0.3; } 50% { opacity: 1; } 100% { opacity: 0.3; } } .eps-menu__title { margin-top: 2.75rem; margin-bottom: 1rem; } .e-app-import { --e-app-import-back-to-library-color: #a4afb7; padding-bottom: 1.25rem; } .e-app-import__drop-zone { margin-top: 1.25rem; } .e-app-import__back-to-library { color: var(--e-app-import-back-to-library-color); margin-bottom: 1.5rem; } .e-app-import__back-to-library > i { -webkit-margin-end: 0.5rem; margin-inline-end: 0.5rem; } .eps-theme-dark .e-app-import { --e-app-import-back-to-library-color: #b4b5b7; } .e-site-editor__promotion-overlay__link { display: -webkit-box; display: -ms-flexbox; display: flex; width: 100%; height: 100%; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; text-decoration: none; } .e-site-editor__promotion-overlay__icon { font-size: 1.25rem; color: #fff; margin-bottom: 1rem; } .e-app-import-export-wizard-step { --e-app-import-export-wizard-step-icon-color: #c2cbd2; --e-app-import-export-wizard-step-text-color: #a4afb7; --e-app-import-export-wizard-step-bottom-text-color: #a4afb7; height: 100%; position: relative; text-align: center; } .e-app-import-export-wizard-step__media-container { height: 140px; margin: 5.5rem 0 2.75rem; } .e-app-import-export-wizard-step__icon { color: var(--e-app-import-export-wizard-step-icon-color); font-size: 50px; } .e-app-import-export-wizard-step__icon.eicon-loading { font-size: 1.85rem; } .e-app-import-export-wizard-step__heading { margin-bottom: 1.5rem; } .e-app-import-export-wizard-step__description, .e-app-import-export-wizard-step__info { color: var(--e-app-import-export-wizard-step-text-color); } .e-app-import-export-wizard-step__info { margin-top: 1.5rem; } .e-app-import-export-wizard-step__content { text-align: initial; margin-bottom: 1.25rem; } .e-app-import-export-wizard-step__notice { display: block; position: sticky; top: 100%; /* Will prevent text overlapping when window height is too short. */ color: var(--e-app-import-export-wizard-step-bottom-text-color); font-style: italic; margin-bottom: 0; } .eps-theme-dark .e-app-import-export-wizard-step { --e-app-import-export-wizard-step-icon-color: #64666a; --e-app-import-export-wizard-step-text-color: #b4b5b7; --e-app-import-export-wizard-step-bottom-text-color: #b4b5b7; } .e-app-import-export-page-header { --e-app-import-export-page-header-border-bottom-color: #d5dadf; --e-app-import-export-page-header-heading-color: #6d7882; --e-app-import-export-page-header-description-color: #a4afb7; border-bottom: 1px solid var(--e-app-import-export-page-header-border-bottom-color); margin-bottom: 2.75rem; } .e-app-import-export-page-header__content-wrapper { max-width: 645px; } .e-app-import-export-page-header__heading { color: var(--e-app-import-export-page-header-heading-color); } .e-app-import-export-page-header__description { color: var(--e-app-import-export-page-header-description-color); margin-top: 1.25rem; } .eps-theme-dark .e-app-import-export-page-header { --e-app-import-export-page-header-border-bottom-color: #4c4f56; --e-app-import-export-page-header-heading-color: #e0e1e3; --e-app-import-export-page-header-description-color: #e0e1e3; } .e-app-export-kit-content { --e-app-export-kit-content-title-color: #556068; --e-app-export-kit-content-description-color: #6d7882; } .e-app-export-kit-content__checkbox { -ms-flex-negative: 0; flex-shrink: 0; -webkit-margin-end: 0.75rem; margin-inline-end: 0.75rem; } .e-app-export-kit-content__title { color: var(--e-app-export-kit-content-title-color); } .e-app-export-kit-content__description { color: var(--e-app-export-kit-content-description-color); -webkit-margin-end: 1.25rem; margin-inline-end: 1.25rem; } .e-app-export-kit-content__notice { margin-top: 1rem; } .e-app-export-kit-content__small-notice { font-style: italic; color: var(--e-app-export-kit-content-description-color); } .eps-theme-dark .e-app-export-kit-content { --e-app-export-kit-content-title-color: #e0e1e3; --e-app-export-kit-content-description-color: #b4b5b7; } .e-app-wizard-footer { --e-app-wizard-footer-border-color: #d5dadf; padding: 0.5rem; } .e-app-wizard-footer__separator { border-top: 1px solid var(--e-app-wizard-footer-border-color); } .eps-theme-dark .e-app-wizard-footer { --e-app-wizard-footer-border-color: #4c4f56; } .e-app-export-templates-features__locked { --e-app-export-templates-features-locked-color: #a4afb7; color: var(--e-app-export-templates-features-locked-color); } .eps-theme-dark .e-app-export-templates-features__locked { --e-app-export-templates-features-locked-color: #7d7e82; } :root { --color-box-shadow-color: rgba(0, 0, 0, 0.05); } .eps-theme-dark { --color-box-shadow-color: rgba(0, 0, 0, 0.1); } :root { --card-background-color: rgba(255, 255, 255, 0.5); --card-background-color-hover: #fff; --card-box-shadow: 0 4px 10px var(--color-box-shadow-color); --card-header-footer-border: 1px solid #f1f3f5; --card-header-footer-active-border: 2px solid #e2e6ea; --card-headline-color: #6d7882; --card-figure-background-color: #f1f3f5; --card-image-overlay-background-color: rgba(0, 0, 0, 0.2); } .eps-theme-dark { --card-background-color: #404349; --card-background-color-hover: rgba(76, 79, 86, 0.8); --card-box-shadow: 0 3px 6px var(--color-box-shadow-color); --card-header-footer-border: 1px solid #34383c; --card-header-footer-active-border: 1px solid #26292C; --card-headline-color: #e0e1e3; --card-figure-background-color: #34383c; --card-image-overlay-background-color: rgba(52, 56, 60, 0.5); } .eps-card { background-color: var(--card-background-color); -webkit-box-shadow: 0 4px 10px var(--color-box-shadow-color); box-shadow: 0 4px 10px var(--color-box-shadow-color); border-radius: 0.1875rem; -webkit-transition: 0.3s; -o-transition: 0.3s; transition: 0.3s; font-size: 0.75rem; /* todo: TBD: Optionally remove headline styling in favor of a global atom depending on variation needs */ } .eps-card__header { padding: 0.625rem; border-bottom: var(--card-header-footer-border); min-height: 2.5rem; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .eps-card__header--padding { padding: var(--eps-card-header-padding); } .eps-card__headline { color: var(--card-headline-color); margin-bottom: 0; font-weight: 500; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; overflow: hidden; -o-text-overflow: ellipsis; text-overflow: ellipsis; white-space: nowrap; } .eps-card__body { padding: 0.625rem 0.625rem; } .eps-card__body--padding { padding: var(--eps-card-body-padding); } .eps-card__figure { background-color: var(--card-figure-background-color); position: relative; padding-bottom: var(--card-image-aspect-ratio, 95.6%); overflow: hidden; height: 0; } .eps-card__image { width: 100%; -o-object-fit: contain; object-fit: contain; -o-object-position: top; object-position: top; position: absolute; top: 0; left: 0; } .eps-card__image-overlay { position: absolute; top: 0; background-color: var(--card-image-overlay-background-color); z-index: 1; width: 100%; height: 100%; opacity: 0; -webkit-transition: 0.3s; -o-transition: 0.3s; transition: 0.3s; } .eps-card__image-overlay:hover { opacity: 1; } .eps-card__footer { padding: 0.625rem; border-top: var(--card-header-footer-border); font-size: 0.6875rem; } .eps-card__footer--padding { padding: var(--eps-card-footer-padding); } .eps-card:hover { background-color: var(--card-background-color-hover); } :root { --menu-item-color: #6d7882; --menu-item-color-hover: #556068; --menu-item-background-color-active: #fff; --menu-item-icon-color: #a4afb7; --menu-item-action-button-color: #d5dadf; } .eps-theme-dark { --menu-item-color: #e0e1e3; --menu-item-color-hover: #e0e1e3; --menu-item-background-color-active: #404349; --menu-item-icon-color: #b4b5b7; --menu-item-action-button-color: #64666a; } .eps-menu-item { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; position: relative; -webkit-transition: 0.3s; -o-transition: 0.3s; transition: 0.3s; --action-button-opacity: 0; } .eps-menu-item::before { content: ""; display: block; position: absolute; top: 0; inset-inline-start: 0; height: 100%; width: var(--menu-item-pointer-width); background-color: #58d0f5; } .eps-menu-item:hover { --action-button-opacity: 1; } .eps-menu-item:hover, .eps-menu-item--active { --menu-item-color: var(--menu-item-color-hover); --eps-link-color: var(--menu-item-color-hover); --menu-item-icon-color: #58d0f5; } .eps-menu-item--active { background-color: var(--menu-item-background-color-active); } .eps-menu-item__link { padding: 0.5rem 1.875rem; min-height: 2.75rem; font-size: 0.75rem; line-height: 1.2; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; color: var(--menu-item-color); --eps-link-color: var(--menu-item-color); } .eps-menu-item__link:not(:last-child) { -webkit-padding-end: 0; padding-inline-end: 0; } .eps-menu-item__link .eps-icon { font-size: 1.125rem; color: var(--menu-item-icon-color); -webkit-margin-end: 0.75rem; margin-inline-end: 0.75rem; } .eps-menu-item__action-button { color: var(--menu-item-action-button-color); opacity: var(--action-button-opacity); padding: 0.625rem; -webkit-transition: 0.3s; -o-transition: 0.3s; transition: 0.3s; -webkit-margin-end: 1.25rem; margin-inline-end: 1.25rem; } .eps-menu-item--active { --menu-item-pointer-width: 0.3125rem; -webkit-box-shadow: 0 3px 6px var(--color-box-shadow-color); box-shadow: 0 3px 6px var(--color-box-shadow-color); } .eps-menu-item--active .eps-menu-item__link .eps-icon { color: #58d0f5; } .eps-grid-container { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; width: 100%; } .eps-grid-container--no-wrap { -ms-flex-wrap: nowrap; flex-wrap: nowrap; } .eps-grid-container--wrap-reverse { -ms-flex-wrap: wrap-reverse; flex-wrap: wrap-reverse; } .eps-grid-container--spacing { --grid-row-gutter: calc(-1 * calc( var(--grid-spacing-gutter) * 0.0625rem )); width: var(--grid-spacing-width); margin: var(--grid-row-gutter); } .eps-grid-container--spacing > .eps-grid-item { padding: var(--grid-spacing-gutter); } .eps-grid--direction-row { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; } .eps-grid--direction-row-reverse { -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; } .eps-grid--direction-column { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; } .eps-grid--direction-column-reverse { -webkit-box-orient: vertical; -webkit-box-direction: reverse; -ms-flex-direction: column-reverse; flex-direction: column-reverse; } .eps-grid--justify-stretch { -webkit-box-pack: stretch; -ms-flex-pack: stretch; justify-content: stretch; } .eps-grid--justify-start { -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; } .eps-grid--justify-center { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .eps-grid--justify-end { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; } .eps-grid--justify-space-between { -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; } .eps-grid--justify-space-around { -ms-flex-pack: distribute; justify-content: space-around; } .eps-grid--justify-space-evenly { -webkit-box-pack: space-evenly; -ms-flex-pack: space-evenly; justify-content: space-evenly; } .eps-grid--align-content-stretch { -ms-flex-line-pack: stretch; align-content: stretch; } .eps-grid--align-content-start { -ms-flex-line-pack: start; align-content: flex-start; } .eps-grid--align-content-center { -ms-flex-line-pack: center; align-content: center; } .eps-grid--align-content-end { -ms-flex-line-pack: end; align-content: flex-end; } .eps-grid--align-content-space-between { -ms-flex-line-pack: justify; align-content: space-between; } .eps-grid--align-items-start { -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; } .eps-grid--align-items-center { -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .eps-grid--align-items-end { -webkit-box-align: end; -ms-flex-align: end; align-items: flex-end; } .eps-grid--align-items-baseline { -webkit-box-align: baseline; -ms-flex-align: baseline; align-items: baseline; } .eps-grid--align-items-stretch { -webkit-box-align: stretch; -ms-flex-align: stretch; align-items: stretch; } .eps-grid-item--zero-min-width { min-width: 0; } @media screen and (min-width: 480px) { .eps-grid-item-sm { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; max-width: 100%; -ms-flex-preferred-size: 0; flex-basis: 0; } } @media screen and (min-width: 768px) { .eps-grid-item-md { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; max-width: 100%; -ms-flex-preferred-size: 0; flex-basis: 0; } } @media screen and (min-width: 1025px) { .eps-grid-item-lg { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; max-width: 100%; -ms-flex-preferred-size: 0; flex-basis: 0; } } @media screen and (min-width: 1440px) { .eps-grid-item-xl { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; max-width: 100%; -ms-flex-preferred-size: 0; flex-basis: 0; } } @media screen and (min-width: 1600px) { .eps-grid-item-xxl { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; max-width: 100%; -ms-flex-preferred-size: 0; flex-basis: 0; } } .eps-grid-item-xs-1 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 8.3333333333%; -ms-flex-preferred-size: 8.3333333333%; flex-basis: 8.3333333333%; } .eps-grid-item-xs-2 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 16.6666666667%; -ms-flex-preferred-size: 16.6666666667%; flex-basis: 16.6666666667%; } .eps-grid-item-xs-3 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 25%; -ms-flex-preferred-size: 25%; flex-basis: 25%; } .eps-grid-item-xs-4 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 33.3333333333%; -ms-flex-preferred-size: 33.3333333333%; flex-basis: 33.3333333333%; } .eps-grid-item-xs-5 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 41.6666666667%; -ms-flex-preferred-size: 41.6666666667%; flex-basis: 41.6666666667%; } .eps-grid-item-xs-6 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 50%; -ms-flex-preferred-size: 50%; flex-basis: 50%; } .eps-grid-item-xs-7 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 58.3333333333%; -ms-flex-preferred-size: 58.3333333333%; flex-basis: 58.3333333333%; } .eps-grid-item-xs-8 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 66.6666666667%; -ms-flex-preferred-size: 66.6666666667%; flex-basis: 66.6666666667%; } .eps-grid-item-xs-9 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 75%; -ms-flex-preferred-size: 75%; flex-basis: 75%; } .eps-grid-item-xs-10 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 83.3333333333%; -ms-flex-preferred-size: 83.3333333333%; flex-basis: 83.3333333333%; } .eps-grid-item-xs-11 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 91.6666666667%; -ms-flex-preferred-size: 91.6666666667%; flex-basis: 91.6666666667%; } .eps-grid-item-xs-12 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 100%; -ms-flex-preferred-size: 100%; flex-basis: 100%; } @media screen and (min-width: 480px) { .eps-grid-item-sm-1 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 8.3333333333%; -ms-flex-preferred-size: 8.3333333333%; flex-basis: 8.3333333333%; } .eps-grid-item-sm-2 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 16.6666666667%; -ms-flex-preferred-size: 16.6666666667%; flex-basis: 16.6666666667%; } .eps-grid-item-sm-3 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 25%; -ms-flex-preferred-size: 25%; flex-basis: 25%; } .eps-grid-item-sm-4 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 33.3333333333%; -ms-flex-preferred-size: 33.3333333333%; flex-basis: 33.3333333333%; } .eps-grid-item-sm-5 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 41.6666666667%; -ms-flex-preferred-size: 41.6666666667%; flex-basis: 41.6666666667%; } .eps-grid-item-sm-6 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 50%; -ms-flex-preferred-size: 50%; flex-basis: 50%; } .eps-grid-item-sm-7 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 58.3333333333%; -ms-flex-preferred-size: 58.3333333333%; flex-basis: 58.3333333333%; } .eps-grid-item-sm-8 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 66.6666666667%; -ms-flex-preferred-size: 66.6666666667%; flex-basis: 66.6666666667%; } .eps-grid-item-sm-9 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 75%; -ms-flex-preferred-size: 75%; flex-basis: 75%; } .eps-grid-item-sm-10 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 83.3333333333%; -ms-flex-preferred-size: 83.3333333333%; flex-basis: 83.3333333333%; } .eps-grid-item-sm-11 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 91.6666666667%; -ms-flex-preferred-size: 91.6666666667%; flex-basis: 91.6666666667%; } .eps-grid-item-sm-12 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 100%; -ms-flex-preferred-size: 100%; flex-basis: 100%; } } @media screen and (min-width: 768px) { .eps-grid-item-md-1 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 8.3333333333%; -ms-flex-preferred-size: 8.3333333333%; flex-basis: 8.3333333333%; } .eps-grid-item-md-2 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 16.6666666667%; -ms-flex-preferred-size: 16.6666666667%; flex-basis: 16.6666666667%; } .eps-grid-item-md-3 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 25%; -ms-flex-preferred-size: 25%; flex-basis: 25%; } .eps-grid-item-md-4 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 33.3333333333%; -ms-flex-preferred-size: 33.3333333333%; flex-basis: 33.3333333333%; } .eps-grid-item-md-5 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 41.6666666667%; -ms-flex-preferred-size: 41.6666666667%; flex-basis: 41.6666666667%; } .eps-grid-item-md-6 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 50%; -ms-flex-preferred-size: 50%; flex-basis: 50%; } .eps-grid-item-md-7 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 58.3333333333%; -ms-flex-preferred-size: 58.3333333333%; flex-basis: 58.3333333333%; } .eps-grid-item-md-8 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 66.6666666667%; -ms-flex-preferred-size: 66.6666666667%; flex-basis: 66.6666666667%; } .eps-grid-item-md-9 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 75%; -ms-flex-preferred-size: 75%; flex-basis: 75%; } .eps-grid-item-md-10 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 83.3333333333%; -ms-flex-preferred-size: 83.3333333333%; flex-basis: 83.3333333333%; } .eps-grid-item-md-11 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 91.6666666667%; -ms-flex-preferred-size: 91.6666666667%; flex-basis: 91.6666666667%; } .eps-grid-item-md-12 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 100%; -ms-flex-preferred-size: 100%; flex-basis: 100%; } } @media screen and (min-width: 1025px) { .eps-grid-item-lg-1 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 8.3333333333%; -ms-flex-preferred-size: 8.3333333333%; flex-basis: 8.3333333333%; } .eps-grid-item-lg-2 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 16.6666666667%; -ms-flex-preferred-size: 16.6666666667%; flex-basis: 16.6666666667%; } .eps-grid-item-lg-3 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 25%; -ms-flex-preferred-size: 25%; flex-basis: 25%; } .eps-grid-item-lg-4 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 33.3333333333%; -ms-flex-preferred-size: 33.3333333333%; flex-basis: 33.3333333333%; } .eps-grid-item-lg-5 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 41.6666666667%; -ms-flex-preferred-size: 41.6666666667%; flex-basis: 41.6666666667%; } .eps-grid-item-lg-6 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 50%; -ms-flex-preferred-size: 50%; flex-basis: 50%; } .eps-grid-item-lg-7 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 58.3333333333%; -ms-flex-preferred-size: 58.3333333333%; flex-basis: 58.3333333333%; } .eps-grid-item-lg-8 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 66.6666666667%; -ms-flex-preferred-size: 66.6666666667%; flex-basis: 66.6666666667%; } .eps-grid-item-lg-9 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 75%; -ms-flex-preferred-size: 75%; flex-basis: 75%; } .eps-grid-item-lg-10 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 83.3333333333%; -ms-flex-preferred-size: 83.3333333333%; flex-basis: 83.3333333333%; } .eps-grid-item-lg-11 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 91.6666666667%; -ms-flex-preferred-size: 91.6666666667%; flex-basis: 91.6666666667%; } .eps-grid-item-lg-12 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 100%; -ms-flex-preferred-size: 100%; flex-basis: 100%; } } @media screen and (min-width: 1440px) { .eps-grid-item-xl-1 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 8.3333333333%; -ms-flex-preferred-size: 8.3333333333%; flex-basis: 8.3333333333%; } .eps-grid-item-xl-2 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 16.6666666667%; -ms-flex-preferred-size: 16.6666666667%; flex-basis: 16.6666666667%; } .eps-grid-item-xl-3 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 25%; -ms-flex-preferred-size: 25%; flex-basis: 25%; } .eps-grid-item-xl-4 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 33.3333333333%; -ms-flex-preferred-size: 33.3333333333%; flex-basis: 33.3333333333%; } .eps-grid-item-xl-5 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 41.6666666667%; -ms-flex-preferred-size: 41.6666666667%; flex-basis: 41.6666666667%; } .eps-grid-item-xl-6 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 50%; -ms-flex-preferred-size: 50%; flex-basis: 50%; } .eps-grid-item-xl-7 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 58.3333333333%; -ms-flex-preferred-size: 58.3333333333%; flex-basis: 58.3333333333%; } .eps-grid-item-xl-8 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 66.6666666667%; -ms-flex-preferred-size: 66.6666666667%; flex-basis: 66.6666666667%; } .eps-grid-item-xl-9 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 75%; -ms-flex-preferred-size: 75%; flex-basis: 75%; } .eps-grid-item-xl-10 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 83.3333333333%; -ms-flex-preferred-size: 83.3333333333%; flex-basis: 83.3333333333%; } .eps-grid-item-xl-11 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 91.6666666667%; -ms-flex-preferred-size: 91.6666666667%; flex-basis: 91.6666666667%; } .eps-grid-item-xl-12 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 100%; -ms-flex-preferred-size: 100%; flex-basis: 100%; } } @media screen and (min-width: 1600px) { .eps-grid-item-xxl-1 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 8.3333333333%; -ms-flex-preferred-size: 8.3333333333%; flex-basis: 8.3333333333%; } .eps-grid-item-xxl-2 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 16.6666666667%; -ms-flex-preferred-size: 16.6666666667%; flex-basis: 16.6666666667%; } .eps-grid-item-xxl-3 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 25%; -ms-flex-preferred-size: 25%; flex-basis: 25%; } .eps-grid-item-xxl-4 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 33.3333333333%; -ms-flex-preferred-size: 33.3333333333%; flex-basis: 33.3333333333%; } .eps-grid-item-xxl-5 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 41.6666666667%; -ms-flex-preferred-size: 41.6666666667%; flex-basis: 41.6666666667%; } .eps-grid-item-xxl-6 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 50%; -ms-flex-preferred-size: 50%; flex-basis: 50%; } .eps-grid-item-xxl-7 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 58.3333333333%; -ms-flex-preferred-size: 58.3333333333%; flex-basis: 58.3333333333%; } .eps-grid-item-xxl-8 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 66.6666666667%; -ms-flex-preferred-size: 66.6666666667%; flex-basis: 66.6666666667%; } .eps-grid-item-xxl-9 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 75%; -ms-flex-preferred-size: 75%; flex-basis: 75%; } .eps-grid-item-xxl-10 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 83.3333333333%; -ms-flex-preferred-size: 83.3333333333%; flex-basis: 83.3333333333%; } .eps-grid-item-xxl-11 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 91.6666666667%; -ms-flex-preferred-size: 91.6666666667%; flex-basis: 91.6666666667%; } .eps-grid-item-xxl-12 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; max-width: 100%; -ms-flex-preferred-size: 100%; flex-basis: 100%; } } :root { --menu-title-color: #6d7882; } .eps-theme-dark { --menu-title-color: #6d7882; } .eps-menu ul { list-style: none; padding: 0; margin: 0; } .eps-menu ul li { display: -webkit-box; display: -ms-flexbox; display: flex; } .eps-menu__title { padding: 0.5rem 1.875rem; font-size: 0.6875rem; line-height: 1.2; text-transform: uppercase; font-weight: normal; color: var(--menu-title-color); } :root { --eps-modal-background-color: #fff; --eps-modal-header-background-color: #58d0f5; } .eps-theme-dark { --eps-modal-background-color: #34383c; --eps-modal-header-background-color: #58d0f5; } /** ---------------------------------------------------------------- EPS Modal ---------------------------------------------------------------- */ .eps-modal { max-width: 43.75rem; background: var(--eps-modal-background-color); border-radius: 0.1875rem; -webkit-animation: eps-animation-pop 0.15s cubic-bezier(0.57, 0.53, 0.71, 1.47) forwards; animation: eps-animation-pop 0.15s cubic-bezier(0.57, 0.53, 0.71, 1.47) forwards; } .eps-modal__overlay { background: rgba(0, 0, 0, 0.5); position: fixed; display: -webkit-box; display: -ms-flexbox; display: flex; top: 0; left: 0; width: 100%; height: 100%; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; z-index: 1030; } .eps-modal__header { font-size: 0.875rem; background: var(--eps-modal-header-background-color); height: 2.75rem; padding: 0.625rem 1rem; border-radius: 0.1875rem; } .eps-modal__header, .eps-modal__header .title { color: #fff; } .eps-modal__icon { -webkit-margin-end: 0.625rem; margin-inline-end: 0.625rem; } .eps-modal__body { padding: 1.875rem; } .eps-modal__tip, .eps-modal .eps-tip { -webkit-padding-start: 0.75rem; padding-inline-start: 0.75rem; -webkit-border-start: 3px solid #58d0f5; border-inline-start: 3px solid #58d0f5; } .eps-modal__tip:not(:last-child), .eps-modal .eps-tip:not(:last-child) { margin-bottom: 1.875rem; } .eps-modal__tip:not(:first-child), .eps-modal .eps-tip:not(:first-child) { margin-top: 1.875rem; } .eps-modal__section:not(:first-child) { margin-top: 1.875rem; } .eps-modal__close-wrapper { -webkit-padding-start: 1rem; padding-inline-start: 1rem; -webkit-border-start: solid 1px #fff; border-inline-start: solid 1px #fff; } .eps-add-new-button { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; --eps-add-new-button-size: 1.5rem; line-height: var(--eps-add-new-button-size); cursor: pointer; } .eps-add-new-button .eps-icon { background-color: #58d0f5; color: #fff; width: var(--eps-add-new-button-size); height: var(--eps-add-new-button-size); border-radius: 100%; font-size: calc(var(--eps-add-new-button-size) * 0.75); text-align: center; line-height: var(--eps-add-new-button-size); } .eps-add-new-button span:not(.sr-only) { -webkit-margin-start: 0.625rem; margin-inline-start: 0.625rem; font-weight: 500; } .eps-add-new-button--sm { --eps-add-new-button-size: 1rem; } :root { --select2-selection-background-color: #fff; --select2-selection-color: #6d7882; --select2-selection-border-color: #d5dadf; --select2-selection-opened-focused-border-color: #f1f3f5; --select2-single-selection-rendered-color: #6d7882; --select2-default-single-selection-background-color: #fff; --select2-default-single-selection-border-color: #d5dadf; --select2-default-multiple-selection-background-color: #fff; --select2-default-multiple-selection-choice-background-color: #f1f3f5; --select2-default-multiple-selection-choice-color: #6d7882; --select2-default-multiple-selection-choice-border-color: #f1f3f5; --select2-default-multiple-selection-choice-remove-color: #a4afb7; --select2-default-multiple-selection-choice-remove-hover-color: #6d7882; --select2-default-results-selected-option-background-color: #fff; --select2-default-results-selected-option-color: #6d7882; --select2-default-results-highlighted-option-background-color: #5897fb; --select2-default-results-highlighted-option-color: #fff; --select2-results-selected-option-background-color: #5897fb; --select2-results-selected-option-color: #fff; --select2-dropdown-background-color: #fff; --select2-dropdown-border-color: #d5dadf; } .eps-theme-dark { --select2-selection-background-color: #34383c; --select2-selection-color: #e0e1e3; --select2-selection-border-color: #64666a; --select2-selection-opened-focused-border-color: #7d7e82; --select2-single-selection-rendered-color: #e0e1e3; --select2-default-single-selection-background-color: #34383c; --select2-default-single-selection-border-color: #4c4f56; --select2-default-multiple-selection-background-color: #34383c; --select2-default-multiple-selection-choice-background-color: #4c4f56; --select2-default-multiple-selection-choice-color: #e0e1e3; --select2-default-multiple-selection-choice-border-color: #4c4f56; --select2-default-multiple-selection-choice-remove-color: #b4b5b7; --select2-default-multiple-selection-choice-remove-hover-color: #e0e1e3; --select2-default-results-selected-option-background-color: #34383c; --select2-default-results-selected-option-color: #e0e1e3; --select2-default-results-highlighted-option-background-color: #4c4f56; --select2-default-results-highlighted-option-color: #e0e1e3; --select2-results-selected-option-background-color: #4c4f56; --select2-results-selected-option-color: #e0e1e3; --select2-dropdown-background-color: #34383c; --select2-dropdown-border-color: #64666a; } .select2-container:not(.select2-container--open):not(.select2-container--focus) .select2-selection--single, .select2-container:not(.select2-container--open):not(.select2-container--focus) .select2-selection--multiple { background-color: var(--select2-selection-background-color); color: var(--select2-selection-color); border-color: var(--select2-selection-border-color); } .select2-container.select2-container--open .select2-selection--single, .select2-container.select2-container--open .select2-selection--multiple, .select2-container.select2-container--focus .select2-selection--single, .select2-container.select2-container--focus .select2-selection--multiple { border-color: var(--select2-selection-opened-focused-border-color); } .select2-container.select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--select2-single-selection-rendered-color); } .select2-container--default .select2-selection--single { background-color: var(--select2-default-single-selection-background-color); border-color: var(--select2-default-single-selection-border-color); } .select2-container--default .select2-selection--multiple { background-color: var(--select2-default-multiple-selection-background-color); } .select2-container--default .select2-selection--multiple .select2-selection__choice { background-color: var(--select2-default-multiple-selection-choice-background-color); color: var(--select2-default-multiple-selection-choice-color); border-color: var(--select2-default-multiple-selection-choice-border-color); } .select2-container--default .select2-selection--multiple .select2-selection__choice__remove { color: var(--select2-default-multiple-selection-choice-remove-color); } .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover { color: var(--select2-default-multiple-selection-choice-remove-hover-color); } .select2-container--default .select2-results__option[aria-selected] { background-color: var(--select2-default-results-selected-option-background-color); color: var(--select2-default-results-selected-option-color); } .select2-container--default .select2-results__option--highlighted[aria-selected] { background-color: var(--select2-default-results-highlighted-option-background-color); color: var(--select2-default-results-highlighted-option-color); } .select2-container .select2-results__option[aria-selected=true] { background-color: var(--select2-results-selected-option-background-color); color: var(--select2-results-selected-option-color); } .select2-container .select2-dropdown { background-color: var(--select2-dropdown-background-color); border-color: var(--select2-dropdown-border-color); } .eps-notice { --eps-box-notice-color: #a4afb7; --eps-box-notice-background-color: #fcfcfc; padding: 0.625rem 1rem; -webkit-box-shadow: 0 2px 3px 1px var(--color-box-shadow-color); box-shadow: 0 2px 3px 1px var(--color-box-shadow-color); background-color: var(--eps-box-notice-background-color); } .eps-notice-semantic { -webkit-border-start: 3px solid var(--eps-notice-semantic-color); border-inline-start: 3px solid var(--eps-notice-semantic-color); } .eps-notice-semantic .eps-notice__icon { color: var(--eps-notice-semantic-color); font-size: 1rem; -webkit-margin-end: 0.75rem; margin-inline-end: 0.75rem; } .eps-notice--warning { --eps-notice-semantic-color: #fcb92c; } .eps-notice--danger { --eps-notice-semantic-color: #b01b1b; } .eps-notice--info { --eps-notice-semantic-color: #58d0f5; } .eps-notice__text { margin: 0; padding: 0; color: var(--eps-box-notice-color); font-style: italic; } .eps-notice__button-container { -ms-flex-negative: 0; flex-shrink: 0; margin-left: 1.25rem; width: auto; } .eps-theme-dark .eps-notice { --eps-box-notice-color: #b4b5b7; --eps-box-notice-background-color: #404349; } .eps-list { --eps-list-item-separated-border-color: #f1f3f5; padding: 0; margin: 0; list-style-type: none; } .eps-list--padding { padding: var(--eps-list-padding); } .eps-list__item { padding: 0; } .eps-list__item--padding { padding: var(--eps-list-item-padding); } .eps-list--separated .eps-list__item:not(:last-child) { border-bottom: 1px solid var(--eps-list-item-separated-border-color); } .eps-theme-dark .eps-list { --eps-list-item-separated-border-color: #34383c; } :root { --popover-background-color: #fff; --popover-item-color: #6d7882; --popover-item-hover-color: #556068; --popover-item-danger-hover-color: #b01b1b; --popover-item-background-color: #fff; --popover-box-shadow-color: rgba(0, 0, 0, 0.15); --popover-box-shadow-size: 0px 1px 20px; --popover-arrow-color: #fff; } .eps-theme-dark { --popover-background-color: #4c4f56; --popover-item-color: #fff; --popover-item-hover-color: #e0e1e3; --popover-item-danger-hover-color: #F84343; --popover-item-background-color: #4c4f56; --popover-box-shadow-color: rgba(0, 0, 0, 0.15); --popover-box-shadow-size: 0px 1px 20px; --popover-arrow-color: #4c4f56; } .eps-popover { padding: 10px 0; background-color: var(--popover-background-color); -webkit-box-shadow: var(--popover-box-shadow-size) var(--popover-box-shadow-color); box-shadow: var(--popover-box-shadow-size) var(--popover-box-shadow-color); list-style: none; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; min-width: 120px; border-radius: 0.1875rem; position: absolute; z-index: 1050; margin-top: 9px; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); left: 0.25rem; } .eps-popover__background { position: fixed; top: 0; bottom: 0; left: 0; right: 0; z-index: 1030; } .eps-popover__container { position: relative; } .eps-popover::before { content: ""; display: block; position: absolute; width: 16px; height: 9px; margin: 0 0.1875rem 9px; top: -9px; left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); border-color: transparent; border-style: solid; border-width: 0 8px 9px 8px; border-bottom-color: var(--popover-arrow-color); } .eps-popover__item { padding: 0.3125rem 1rem; background-color: var(--popover-item-background-color); color: var(--popover-item-color); font-size: 0.6875rem; font-weight: 500; line-height: 0.8125rem; width: 100%; -webkit-box-align: center; -ms-flex-align: center; align-items: center; cursor: pointer; } .eps-popover__item:hover { color: var(--popover-item-hover-color); } .eps-popover__item--danger:hover { color: var(--popover-item-danger-hover-color); } .eps-popover__item .eps-icon { font-size: inherit; -webkit-margin-end: 0.3125rem; margin-inline-end: 0.3125rem; } .eps-css-grid { display: grid; grid-template-columns: repeat(var(--eps-grid-columns, auto-fill), minmax(var(--eps-grid-col-min-width, 1fr), var(--eps-grid-col-max-width, 1fr))); grid-gap: var(--eps-grid-spacing); } .eps-box { --eps-box-background-color: #fff; --eps-box-color: #495157; --eps-box-input-color: #495157; padding: 0; border-radius: 0.1875rem; background-color: var(--eps-box-background-color); color: var(--eps-box-color); } .eps-box--padding { padding: var(--eps-box-padding); } .eps-box > input { width: 100%; outline: 0; border: 0; background-color: var(--eps-box-background-color); color: var(--eps-box-input-color); } .eps-theme-dark .eps-box { --eps-box-background-color: #404349; --eps-box-color: #e0e1e3; --eps-box-input-color: #e0e1e3; } :root { --checkbox-border-color: #d5dadf; --checkbox-hover-border-color: #c7cdd4; --checkbox-active-border-color: #e3e7ea; --checkbox-background-color: #fff; --checkbox-checked-background-color: #39b54a; --checkbox-checked-hover-background-color: #33a242; --checkbox-checked-active-background-color: #44c455; --checkbox-checked-disabled-background-color: #c2cbd2; --checkbox-indicator-color: #fff; --checkbox-error-background-color: #b01b1b; } .eps-theme-dark { --checkbox-background-color: transparent; } .eps-checkbox { -webkit-appearance: none; border-radius: 0.1875rem; width: 15px; height: 15px; outline: 0; background-color: var(--checkbox-background-color); display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; border: 1px solid var(--checkbox-border-color); } .eps-checkbox::after { display: inline-block; margin-bottom: 12.5%; content: " "; width: 3px; height: 6px; -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); } .eps-checkbox:hover { --checkbox-border-color: var(--checkbox-hover-border-color); } .eps-checkbox:active { --checkbox-border-color: var(--checkbox-active-border-color); } .eps-checkbox:checked { --checkbox-background-color: var(--checkbox-checked-background-color); --checkbox-border-color: var(--checkbox-checked-background-color); } .eps-checkbox:checked::after { border: solid #fff; border-width: 0 1px 1px 0; } .eps-checkbox:checked:hover { --checkbox-background-color: var(--checkbox-checked-hover-background-color); --checkbox-border-color: var(--checkbox-checked-hover-background-color); } .eps-checkbox:checked:active { --checkbox-background-color: var(--checkbox-checked-active-background-color); --checkbox-border-color: var(--checkbox-checked-active-background-color); } .eps-checkbox:checked:disabled { --checkbox-background-color: var(--checkbox-checked-disabled-background-color); --checkbox-border-color: var(--checkbox-checked-disabled-background-color); } .eps-checkbox--rounded { border-radius: 50%; } .eps-checkbox--indeterminate { --checkbox-background-color: var(--checkbox-checked-background-color); --checkbox-border-color: var(--checkbox-checked-background-color); } .eps-checkbox--indeterminate::after { display: inline-block; margin-bottom: 0; content: " "; width: 7px; height: 0; -webkit-transform: rotate(0deg); -ms-transform: rotate(0deg); transform: rotate(0deg); border-top: 1px solid #fff; } .eps-checkbox--error::before, .eps-checkbox--error::after, .eps-checkbox--error:checked::before, .eps-checkbox--error:checked::after { display: inline-block; margin-bottom: 0; content: " "; width: 7px; height: 0; border: solid #fff; border-width: 1px 0 0 0; position: absolute; } .eps-checkbox--error::before, .eps-checkbox--error:checked::before { -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); } .eps-checkbox--error::after, .eps-checkbox--error:checked::after { -webkit-transform: rotate(-45deg); -ms-transform: rotate(-45deg); transform: rotate(-45deg); } .eps-checkbox--error, .eps-checkbox--error:hover, .eps-checkbox--error:checked, .eps-checkbox--error:checked:hover { --checkbox-background-color: var(--checkbox-error-background-color); --checkbox-border-color: var(--checkbox-error-background-color); } :root { --e-app-drag-drop-background-color: #fff; --e-app-drag-drop-outline-color: #d5dadf; } .eps-theme-dark { --e-app-drag-drop-background-color: #404349; --e-app-drag-drop-outline-color: #7d7e82; } .e-app-drag-drop { background-color: var(--e-app-drag-drop-background-color); outline: 2px dashed var(--e-app-drag-drop-outline-color); outline-offset: -0.75rem; margin-bottom: 1.5rem; padding: 4.125rem; text-align: center; } .e-app-drag-drop--drag-over { outline-color: #58d0f5; } .eps-dialog { border-radius: 3px; width: 375px; } .eps-dialog__close-button { position: absolute; top: -2.75rem; right: -2.75rem; margin-top: 0.625rem; margin-right: 0.625rem; z-index: 1040; font-size: 1.25rem; color: #fff; } .eps-dialog__content { padding: 1.5rem 1.875rem 1rem; font-size: 0.75rem; } .eps-dialog__title, .eps-dialog__text { text-align: center; } .eps-dialog__buttons { display: -webkit-box; display: -ms-flexbox; display: flex; } .eps-dialog__button { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; border-top: 1px solid var(--hr-color); line-height: 2.75rem; text-align: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .eps-dialog__button:last-child:not(:first-child) { -webkit-border-start: 1px solid var(--hr-color); border-inline-start: 1px solid var(--hr-color); } .e-app__popover { display: none; position: absolute; -webkit-box-shadow: 0 2px 15px rgba(0, 0, 0, 0.3); box-shadow: 0 2px 15px rgba(0, 0, 0, 0.3); border-radius: 6px; padding: 20px; width: -webkit-fit-content; width: -moz-fit-content; width: fit-content; z-index: 999; background-color: #ffffff; } .e-app__popover:before { content: ""; position: absolute; top: -16px; right: var(--popover-arrow-offset-end, 22px); border: 8px solid transparent; border-bottom-color: #fff; } .eps-inline-link { color: var(--eps-inline-link-color); background-color: initial; border: 0; padding: 0; } .eps-inline-link--color-primary { --eps-inline-link-color: #39b54a; } .eps-inline-link--color-secondary { --eps-inline-link-color: #c2cbd2; } .eps-inline-link--color-danger { --eps-inline-link-color: #b01b1b; } .eps-inline-link--color-cta { --eps-inline-link-color: #93003F; } .eps-inline-link--color-link { --eps-inline-link-color: #58d0f5; } .eps-inline-link--color-disabled { --eps-inline-link-color: #c2cbd2; } .eps-inline-link--underline-hover:hover, .eps-inline-link--underline-always, .eps-inline-link--underline-always:hover { text-decoration: underline; } .eps-inline-link--italic { font-style: italic; } .eps-inline-link, .eps-inline-link:focus { outline: none; } .eps-text-field { --eps-text-field-color: #6d7882; --eps-text-field-background-color: #fff; --eps-text-field-placeholder-color: #a4afb7; --eps-text-field-outlined-border-color: #d5dadf; --eps-text-field-outlined-focus-border-color: #c2cbd2; width: 100%; color: var(--eps-text-field-color); background-color: var(--eps-text-field-background-color); border: 0; outline: none; font-family: Roboto, Arial, Helvetica, Verdana, sans-serif; font-size: 0.875rem; font-weight: 400; line-height: 1.5; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .eps-text-field--outlined { border-radius: 0.1875rem; border: 1px solid var(--eps-text-field-outlined-border-color); padding: 0.625rem; } .eps-text-field--outlined:focus { border-color: var(--eps-text-field-outlined-focus-border-color); } .eps-text-field::-webkit-input-placeholder { color: var(--eps-text-field-placeholder-color); font-family: Roboto, Arial, Helvetica, Verdana, sans-serif; font-size: 0.875rem; font-weight: 400; line-height: 1.5; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .eps-text-field::-moz-placeholder { color: var(--eps-text-field-placeholder-color); font-family: Roboto, Arial, Helvetica, Verdana, sans-serif; font-size: 0.875rem; font-weight: 400; line-height: 1.5; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .eps-text-field::-ms-input-placeholder { color: var(--eps-text-field-placeholder-color); font-family: Roboto, Arial, Helvetica, Verdana, sans-serif; font-size: 0.875rem; font-weight: 400; line-height: 1.5; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .eps-text-field::placeholder { color: var(--eps-text-field-placeholder-color); font-family: Roboto, Arial, Helvetica, Verdana, sans-serif; font-size: 0.875rem; font-weight: 400; line-height: 1.5; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .eps-theme-dark .eps-text-field { --eps-text-field-color: #b4b5b7; --eps-text-field-background-color: #34383c; --eps-text-field-placeholder-color: #7d7e82; --eps-text-field-outlined-border-color: #64666a; --eps-text-field-outlined-focus-border-color: #7d7e82; } .e-app-import-export-content-layout { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; height: 100%; } .e-app-import-export-content-layout__container { -ms-flex-preferred-size: 1075px; flex-basis: 1075px; } .e-app-export-complete__kit-content-title { margin: 2.75rem 0 0.625rem; } .e-app-export-kit-content { --e-app-export-kit-content-title-color: #556068; --e-app-export-kit-content-description-color: #6d7882; } .e-app-export-kit-content__checkbox { -ms-flex-negative: 0; flex-shrink: 0; -webkit-margin-end: 0.75rem; margin-inline-end: 0.75rem; } .e-app-export-kit-content__title { color: var(--e-app-export-kit-content-title-color); } .e-app-export-kit-content__description { color: var(--e-app-export-kit-content-description-color); -webkit-margin-end: 1.25rem; margin-inline-end: 1.25rem; } .e-app-export-kit-content__notice { margin-top: 1rem; } .e-app-export-kit-content__small-notice { font-style: italic; color: var(--e-app-export-kit-content-description-color); } .eps-theme-dark .e-app-export-kit-content { --e-app-export-kit-content-title-color: #e0e1e3; --e-app-export-kit-content-description-color: #b4b5b7; } .e-app-import-export-kit-data { --e-app-import-export-kit-data-site-area-color: #556068; --e-app-import-export-kit-data-included-color: #a4afb7; } .e-app-import-export-kit-data__site-area, .e-app-import-export-kit-data__included { margin-bottom: 0; } .e-app-import-export-kit-data__site-area { color: var(--e-app-import-export-kit-data-site-area-color); font-weight: bold; } .e-app-import-export-kit-data__included { color: var(--e-app-import-export-kit-data-included-color); } .eps-theme-dark .e-app-import-export-kit-data { --e-app-import-export-kit-data-site-area-color: #b4b5b7; --e-app-import-export-kit-data-included-color: #7d7e82; } .e-app-import-resolver { --e-app-import-resolver-panel-header-background-color: #fff; --e-app-import-resolver-panel-body-background-color: rgba(255, 255, 255, 0.5); --e-app-import-resolver-conflicts-asset-border-color: #c2cbd2; --e-app-import-resolver-conflicts-asset-inactive-color: #a4afb7; padding-bottom: 1.25rem; } .e-app-import-resolver__notice { margin-bottom: 1.25rem; } .e-app-import-resolver__panel, .e-app-import-resolver__panel:hover { background-color: initial; } .e-app-import-resolver__panel-header { background-color: var(--e-app-import-resolver-panel-header-background-color); } .e-app-import-resolver__panel-body { background-color: var(--e-app-import-resolver-panel-body-background-color); } .e-app-import-resolver-conflicts__container { -webkit-box-shadow: 0 2px 3px 1px var(--color-box-shadow-color); box-shadow: 0 2px 3px 1px var(--color-box-shadow-color); } .e-app-import-resolver-conflicts__checkbox { -ms-flex-negative: 0; flex-shrink: 0; -webkit-margin-end: 0.75rem; margin-inline-end: 0.75rem; } .e-app-import-resolver-conflicts__title { line-height: 1; } .e-app-import-resolver-conflicts__asset:not(:first-child) { -webkit-border-start: 2px solid var(--e-app-import-resolver-conflicts-asset-border-color); border-inline-start: 2px solid var(--e-app-import-resolver-conflicts-asset-border-color); -webkit-padding-start: 1rem; padding-inline-start: 1rem; -webkit-margin-start: 1rem; margin-inline-start: 1rem; } .e-app-import-resolver-conflicts__asset:not(.active) { color: var(--e-app-import-resolver-conflicts-asset-inactive-color); } .e-app-import-resolver-conflicts__edit-template { -webkit-margin-start: 0.3125rem; margin-inline-start: 0.3125rem; } .eps-theme-dark .e-app-import-resolver { --e-app-import-resolver-panel-header-background-color: #4c4f56; --e-app-import-resolver-panel-body-background-color: rgba(0, 0, 0, 0.05); --e-app-import-resolver-conflicts-asset-border-color: #64666a; --e-app-import-resolver-conflicts-asset-inactive-color: #7d7e82; } .eps-panel { --eps-panel-header-background-color: #fff; --eps-panel-body-background-color: rgba(255, 255, 255, 0.5); } .eps-panel, .eps-panel:hover { background-color: initial; } .eps-panel__header { background-color: var(--eps-panel-header-background-color); border-radius: 0.1875rem; } .eps-panel__body { background-color: var(--eps-panel-body-background-color); border-radius: 0 0 0.1875rem 0.1875rem; } .eps-theme-dark .eps-panel { --eps-panel-header-background-color: #404349; --eps-panel-body-background-color: rgba(64, 67, 73, 0.5); } .e-app-export-kit { padding-bottom: 1.25rem; } .e-app-export-kit-information { margin-top: 1.25rem; } .e-app-export-kit-information__field-header { margin-bottom: 0.625rem; } .e-app-export-kit-information__label { margin: 0; } .e-app-export-kit-information__info-icon { -webkit-margin-start: 0.625rem; margin-inline-start: 0.625rem; } .e-app-export-kit-info-modal__icon { -webkit-padding-start: 0.625rem; padding-inline-start: 0.625rem; } .e-app-export-kit-info-modal__heading { margin-bottom: 1.25rem; } .e-app-import-export-info-modal__section:not(:first-child) { margin-top: 1.875rem; } .e-app-import-export-info-modal__heading { margin-bottom: 1.25rem; } :root { --eps-badge-background-color: #fff; } .eps-theme-dark { --eps-badge-background-color: #404349; } .eps-badge { display: inline-block; background: var(--eps-badge-background-color); padding: 0 0.5rem; line-height: 1.8; -webkit-box-shadow: 0 3px 6px var(--color-box-shadow-color); box-shadow: 0 3px 6px var(--color-box-shadow-color); border-radius: 4px; font-size: 0.75rem; } .eps-badge--sm { font-size: 0.625rem; border-radius: 3px; padding: 0 0.3125rem; line-height: 1.5; } .eps-collapse__title { cursor: pointer; padding: 0.3125rem 0; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; width: 100%; background: transparent; border: none; color: inherit; } .eps-collapse__title:focus { outline: none; } .eps-collapse__icon { -webkit-transition: all 150ms; -o-transition: all 150ms; transition: all 150ms; -webkit-transform: rotate(0deg); -ms-transform: rotate(0deg); transform: rotate(0deg); } .eps-collapse__content { margin-top: 0.625rem; display: none; } .eps-collapse[data-open] .eps-collapse__content { display: block; } .eps-collapse[data-open] .eps-collapse__icon { -webkit-transform: rotate(90deg); -ms-transform: rotate(90deg); transform: rotate(90deg); } .e-kit-library-bottom-promotion { --e-kit-library-bottom-promotion-color: tints(600); } .eps-theme-dark .e-kit-library-bottom-promotion { --e-kit-library-bottom-promotion-color: dark-tints(400); } .e-kit-library-bottom-promotion { width: 100%; text-align: center; margin-top: 1.875rem; color: var(--e-kit-library-bottom-promotion-color); } .e-kit-library__error-screen { margin-top: 2.75rem; } .e-kit-library__error-screen-title { margin-top: 2.75rem; margin-bottom: 0; } .e-kit-library__error-screen-description { margin-top: 1.5rem; color: #a4afb7; text-align: center; max-width: 520px; } .e-kit-library__kit-favorite-actions { padding: 0.3125rem; -webkit-transition: 0.3s all; -o-transition: 0.3s all; transition: 0.3s all; border-radius: 4px; } .e-kit-library__kit-favorite-actions--active { color: #b01b1b; } .e-kit-library__kit-favorite-actions--loading { opacity: 50%; cursor: default; } .e-kit-library__kit-favorite-actions:hover { background-color: rgba(176, 27, 27, 0.1); } .e-kit-library__filter-indication { margin-top: 1.5rem; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .e-kit-library__filter-indication-text { margin-bottom: 0; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .e-kit-library__filter-indication-badge { margin-left: 0.3125rem; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .e-kit-library__filter-indication-badge-remove { margin-left: 0.3125rem; font-size: 0.875rem; } .e-kit-library__filter-indication-button { margin-left: 1.5rem; } #eps-app-header-btn-apply, #eps-app-header-btn-promotion, #eps-app-header-btn-connect { margin-left: 0.625rem; margin-right: 0.625rem; } .e-kit-library__apply-button { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; gap: 0.3125rem; } .e-kit-library__kit-item { --e-kit-library-kit-item-overlay-promotion-button-background-color: #fcfcfc; } .eps-theme-dark .e-kit-library__kit-item { --e-kit-library-kit-item-overlay-promotion-button-background-color: #404349; } .e-kit-library__kit-item-overlay { height: 100%; } .e-kit-library__kit-item-overlay > *:first-child { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; } .e-kit-library__kit-item-overlay-overview-button { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; color: white; height: 100%; width: 100%; } .e-kit-library__kit-item-overlay-overview-button > i { font-size: 2rem; margin-bottom: 5px; } .e-kit-library__kit-item-overlay-overview-button > span { font-size: 0.9rem; } .e-kit-library__kit-item-overlay-promotion-button { display: -webkit-box; display: -ms-flexbox; display: flex; width: 100%; background: white; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; padding: 10px; font-size: 13px; color: #93003F; background: var(--e-kit-library-kit-item-overlay-promotion-button-background-color); } .e-kit-library__kit-item-overlay-promotion-button > * { margin: 0 3px; } .e-kit-library__kit-item-subscription-plan-badge { position: absolute; top: 0; right: 0; margin: 0.3125rem; color: #fff; text-transform: uppercase; } :root { --e-kit-library-header-back-border: 1px solid #f1f3f5; --e-kit-library-header-back-color: #a4afb7; } .eps-theme-dark { --e-kit-library-header-back-border: 1px solid #64666a; --e-kit-library-header-back-color: #b4b5b7; } .e-kit-library__header-back { color: var(--e-kit-library-header-back-color); padding-right: 1.25rem; padding-left: 0.3125rem; display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; height: 100%; border-right: var(--e-kit-library-header-back-border); } .e-kit-library__header-back-container { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; height: 100%; } .e-kit-library__header-back .eps-icon { -webkit-transform: rotate(0deg); -ms-transform: rotate(0deg); transform: rotate(0deg); } .e-kit-library__page-loader { width: 100%; height: 100%; display: grid; place-items: center; font-size: 1.85rem; color: #a4afb7; } .eps-search-input { --eps-search-input-background-color: #fcfcfc; --eps-search-input-background-color-focus: #fff; --eps-search-input-color: #556068; --eps-search-input-placeholder-color: #a4afb7; } .eps-theme-dark .eps-search-input { --eps-search-input-background-color: #404349; --eps-search-input-background-color-focus: #4c4f56; --eps-search-input-color: #b4b5b7; --eps-search-input-placeholder-color: #b4b5b7; } .eps-search-input { width: 100%; font-size: 0.9375rem; padding: 0.625rem 2.75rem; border: none; background: var(--eps-search-input-background-color); outline: none; color: var(--eps-search-input-color); line-height: 1; height: 2.75rem; } .eps-search-input--sm { font-size: 0.8125rem; padding: 0.5rem 1.875rem; } .eps-search-input:focus { background: var(--eps-search-input-background-color-focus); } .eps-search-input::-webkit-input-placeholder { color: var(--eps-search-input-placeholder-color); font-style: italic; } .eps-search-input::-moz-placeholder { color: var(--eps-search-input-placeholder-color); font-style: italic; } .eps-search-input::-ms-input-placeholder { color: var(--eps-search-input-placeholder-color); font-style: italic; } .eps-search-input::placeholder { color: var(--eps-search-input-placeholder-color); font-style: italic; } .eps-search-input__container { position: relative; } .eps-search-input__icon { font-size: 1.25rem; padding: 0.625rem; color: #a4afb7; position: absolute; top: 0; inset-inline-start: 0; height: 100%; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .eps-search-input__icon--sm { font-size: 0.75rem; } .eps-search-input__clear-icon { font-size: 0.875rem; padding: 0.625rem; color: #a4afb7; position: absolute; top: 0; right: 0; height: 100%; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .eps-search-input__clear-icon--sm { font-size: 0.6875rem; } :root { --eps-sort-select-select-background-color: #fcfcfc; --eps-sort-select-select-color: #556068; --eps-sort-select-button-background-color: #fcfcfc; --eps-sort-select-button-border: 1px solid #f1f3f5; } .eps-theme-dark { --eps-sort-select-select-background-color: #404349; --eps-sort-select-select-color: #b4b5b7; --eps-sort-select-button-background-color: #404349; --eps-sort-select-button-border: 1px solid #26292C; } .eps-sort-select { width: 100%; font-size: 0.9375rem; display: -webkit-box; display: -ms-flexbox; display: flex; } .eps-sort-select__select-wrapper { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; position: relative; } .eps-sort-select__select-wrapper::after { content: "\e8ad"; font-family: eicons; position: absolute; right: 0.625rem; top: 0; bottom: 0; color: #a4afb7; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; pointer-events: none; } .eps-sort-select__select { width: 100%; padding: 0.625rem 0.625rem; border: none; background: var(--eps-sort-select-select-background-color); outline: none; color: var(--eps-sort-select-select-color); line-height: 1; cursor: pointer; height: 2.75rem; -moz-appearance: none; appearance: none; -webkit-appearance: none; border-radius: 0; } .eps-sort-select__button { padding: 0.75rem 0.75rem; background: var(--eps-sort-select-button-background-color); border-left: var(--eps-sort-select-button-border); line-height: 1; color: #a4afb7; } .e-kit-library__tags-filter { --e-kit-library-tags-filter-list-search-background-color: #fff; } .eps-theme-dark .e-kit-library__tags-filter { --e-kit-library-tags-filter-list-search-background-color: #404349; } .e-kit-library__tags-filter { margin-top: 2.75rem; } .e-kit-library__tags-filter-list { margin-bottom: 2.75rem; } .e-kit-library__tags-filter-list .eps-collapse__title { padding-right: 1.875rem; padding-left: 1.875rem; text-transform: uppercase; } .e-kit-library__tags-filter-list .eps-collapse__content { margin: 0.3125rem 1.875rem; } .e-kit-library__tags-filter-list-container { max-height: 250px; overflow: auto; } .e-kit-library__tags-filter-list-search { margin-bottom: 0.625rem; } .e-kit-library__tags-filter-list-search .eps-search-input { background: var(--e-kit-library-tags-filter-list-search-background-color); } .e-kit-library__tags-filter-list-item { padding: 0.625rem 0; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; font-weight: 500; } .e-kit-library__tags-filter-list-item input { margin-right: 0.3125rem; } .e-kit-library #eps-app-header-btn-refetch { padding: 0; } .e-kit-library-header-info-modal-container { margin-bottom: 2.75rem; } .e-kit-library__tooltip { padding: 5px 12px; color: #ffffff; background-color: #26292C; font-size: 10px; } .e-kit-library__tooltip:before { border-bottom-color: #26292C; } .e-kit-library__index-layout-container { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; overflow-y: auto; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; } .e-kit-library__index-layout-top-area { padding: 1.875rem 2.75rem; position: sticky; top: -1px; width: 100%; z-index: 2; background-color: var(--app-background-color); gap: 1.5rem; } .e-kit-library__index-layout-top-area-search, .e-kit-library__index-layout-top-area-sort { min-width: 265px; } .e-kit-library__index-layout-top-area-search { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; } .e-kit-library__index-layout-main { padding-top: 0; padding-bottom: 1.5rem; overflow-y: hidden; height: auto; -webkit-box-flex: 1; -ms-flex: 1 0 auto; flex: 1 0 auto; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; } .e-kit-library__tags-filter { --e-kit-library-item-sidebar-header-title-color: #6d7882; --e-kit-library-item-sidebar-description-color: #6d7882; --e-kit-library-item-information-text-color: #6d7882; } .eps-theme-dark .e-kit-library__tags-filter { --e-kit-library-item-sidebar-header-title-color: #b4b5b7; --e-kit-library-item-sidebar-description-color: #b4b5b7; --e-kit-library-item-information-text-color: #b4b5b7; } .e-kit-library__item-sidebar { padding: 1.5rem 1.875rem; } .e-kit-library__item-sidebar-header { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; } .e-kit-library__item-sidebar-header-title { color: var(--e-kit-library-item-sidebar-header-title-color); margin-bottom: 0; } .e-kit-library__item-sidebar-thumbnail { margin-top: 1.5rem; -webkit-box-shadow: 0 4px 10px var(--color-box-shadow-color); box-shadow: 0 4px 10px var(--color-box-shadow-color); } .e-kit-library__item-sidebar-description { margin-top: 1.5rem; color: var(--e-kit-library-item-sidebar-description-color); } .e-kit-library__item-sidebar-collapse-tags { margin-top: 2.75rem; } .e-kit-library__item-sidebar-collapse-info { margin-top: 1.875rem; } .e-kit-library__item-sidebar-tags-container { gap: 0.625rem; } .e-kit-library__item-information-text { font-size: 0.8125rem; color: var(--e-kit-library-item-information-text-color); margin-bottom: 0.3125rem; } .e-kit-library { --e-kit-library-content-overview-group-title-color: #6d7882; } .eps-theme-dark .e-kit-library { --e-kit-library-content-overview-group-title-color: #b4b5b7; } .e-kit-library__content-overview-group-item { margin-bottom: 2.75rem; } .e-kit-library__content-overview-group-title { margin-bottom: 1.875rem; color: var(--e-kit-library-content-overview-group-title-color); } .e-kit-library__preview-responsive-controls { width: auto; } .e-kit-library__preview-responsive-controls-item { margin: 0 0.3125rem; color: #a4afb7; padding: 0.3125rem; } .e-kit-library__preview-responsive-controls-item:hover { background: rgba(88, 208, 245, 0.1); border-radius: 3px; -webkit-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; } .e-kit-library__preview-responsive-controls-item--active { color: #58d0f5; } .e-kit-library__preview-loader { position: absolute; top: 0; left: 0; z-index: 0; } .e-kit-library__preview-iframe { border: none; -webkit-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; -webkit-box-shadow: 0 4px 10px var(--color-box-shadow-color); box-shadow: 0 4px 10px var(--color-box-shadow-color); } .e-kit-library__preview-iframe-container { overflow-y: auto; position: relative; z-index: 1; } .e-app-collapse { --e-app-collapse-icon-color: #6d7882; } .e-app-collapse-toggle { position: relative; } .e-app-collapse-toggle--active { cursor: pointer; } .e-app-collapse-toggle__icon { color: var(--e-app-collapse-icon-color); display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; font-size: 0.875rem; position: absolute; top: 50%; right: var(--e-app-collapse-toggle-icon-spacing); -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); } .e-app-collapse-toggle__icon:before { -webkit-transition: all 0.2s linear; -o-transition: all 0.2s linear; transition: all 0.2s linear; } .e-app-collapse-content { display: none; } .e-app-collapse--opened .e-app-collapse-toggle__icon:before { -webkit-transform: rotate(-180deg); -ms-transform: rotate(-180deg); transform: rotate(-180deg); } .e-app-collapse--opened .e-app-collapse-content { display: block; } [dir=rtl] .e-app-collapse-toggle__icon { right: initial; left: var(--e-app-collapse-toggle-icon-spacing); } .eps-theme-dark .e-app-collapse { --e-app-collapse-icon-color: #b4b5b7; } .e-app-import-plugins { --e-app-import-plugins-selection-section-heading-color: #6d7882; padding-bottom: 1.5rem; } .e-app-import-plugins__section { margin-top: 1.875rem; } .e-app-import-plugins__section-heading { color: var(--e-app-import-plugins-selection-section-heading-color); margin-bottom: 1rem; } .e-app-import-plugins__versions-notice { margin-bottom: 0.75rem; } .eps-theme-dark .e-app-import-plugins { --e-app-import-plugins-selection-section-heading-color: #b4b5b7; } .eps-table { --eps-table-body-color: #556068; --eps-table-body-background-color: #fff; border-spacing: 0 2px; table-layout: fixed; width: 100%; } .eps-table__checkboxes-column { width: 1.875rem; } .eps-table__checkbox { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-negative: 0; flex-shrink: 0; } .eps-table__cell { padding: 1rem; } .eps-table__head .eps-table__cell { text-align: start; } .eps-table__body .eps-table__row { background-color: var(--eps-table-body-background-color); } .eps-table__body .eps-table__cell:first-child { border-radius: 0.1875rem 0 0 0.1875rem; } .eps-table__body .eps-table__cell:last-child { border-radius: 0 0.1875rem 0.1875rem 0; } .eps-table--selection .eps-table__cell:first-child { -webkit-padding-end: 0; padding-inline-end: 0; } .eps-theme-dark .eps-table { --eps-table-body-color: #b4b5b7; --eps-table-body-background-color: #404349; } [dir=rtl] .eps-table__body [dir=rtl] .eps-table__cell:first-child { border-radius: 0 0.1875rem 0.1875rem 0; } [dir=rtl] .eps-table__body [dir=rtl] .eps-table__cell:last-child { border-radius: 0.1875rem 0 0 0.1875rem; } .e-app-import-plugins-pro-banner { --e-app-import-plugins-pro-banner-heading-color: #556068; --e-app-import-plugins-pro-banner-description-color: #6d7882; margin-bottom: 1.875rem; } .e-app-import-plugins-pro-banner__heading { color: var(--e-app-import-plugins-pro-banner-heading-color); margin-bottom: 0.625rem; } .e-app-import-plugins-pro-banner__description { color: var(--e-app-import-plugins-pro-banner-description-color); margin-bottom: 0; } .eps-theme-dark .e-app-import-plugins-pro-banner { --e-app-import-plugins-pro-banner-heading-color: #7d7e82; --e-app-import-plugins-pro-banner-description-color: #b4b5b7; } .e-app-export-plugins { padding-bottom: 1.25rem; } .e-app-import-content { padding-bottom: 1.25rem; } .e-app-import-content__plugins-notice { margin-bottom: 1.25rem; } .e-app-import-plugins-activation__installing-plugins { padding: 0.625rem 0; } .e-app-import-plugins-activation__plugin-name { -webkit-margin-start: 0.5rem; margin-inline-start: 0.5rem; } .e-app-import-plugins-activation__plugin-status-item { margin-bottom: 0.75rem; } .e-app-import-export-plugins-table__cell-content { margin-bottom: 0; text-transform: capitalize; } .e-app-import-export-loader { --e-app-import-export-loader-color: #c2cbd2; color: var(--e-app-import-export-loader-color); font-size: 50px; } .e-app-import-export-loader.eicon-loading { font-size: 1.85rem; } .e-app-import-export-loader--absolute-center { position: absolute; top: 50%; left: 50%; -webkit-transform: translateX(-50%) translateY(-50%); -ms-transform: translateX(-50%) translateY(-50%); transform: translateX(-50%) translateY(-50%); } .eps-theme-dark .e-app-import-export-loader { --e-app-import-export-loader-color: #64666a; } .e-app-import-export-message-banner { --e-app-import-export-message-banner-heading-color: #556068; --e-app-import-export-message-banner-description-color: #6d7882; margin-bottom: 1.875rem; } .e-app-import-export-message-banner__heading { color: var(--e-app-import-export-message-banner-heading-color); margin-bottom: 0.625rem; } .e-app-import-export-message-banner__description { color: var(--e-app-import-export-message-banner-description-color); margin-bottom: 0; } .eps-theme-dark .e-app-import-export-message-banner { --e-app-import-export-message-banner-heading-color: #7d7e82; --e-app-import-export-message-banner-description-color: #b4b5b7; } .e-app-import-connect-pro-notice { margin-bottom: 1.25rem; } .e-app-import-failed-plugins-notice { margin-bottom: 1.25rem; } .e-onboarding { font-family: "DM Sans", "Roboto", sans-serif; } .e-onboarding .eps-app__main { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; overflow-y: auto; } .e-onboarding__content { max-width: 1135px; padding: initial; margin: 2.75rem; overflow-y: initial; } .e-onboarding__checkbox-label { display: -webkit-box; display: -ms-flexbox; display: flex; line-height: 18px; margin-bottom: 27px; } .e-onboarding__checkbox-input { -webkit-margin-end: 14px; margin-inline-end: 14px; width: 16px; height: 16px; border-color: #69727D; border-radius: 2px; } .e-onboarding__checkbox-input:checked { background-color: #525861; } .e-onboarding__checkbox-input:checked::after { margin-bottom: 15%; width: 6px; height: 9px; border-width: 0 2px 2px 0; } .e-onboarding__feature-list { margin-bottom: 40px; } .e-onboarding__text-input { font-size: 14px; width: 325px; padding: 12px 16px; color: #69727D; border: 1px solid #9EA5AD; } .e-onboarding__text-input:focus-visible { outline: initial; border: 1px solid #3A3F45; } .e-onboarding__text-input::-webkit-input-placeholder { color: #C2C7CC; } .e-onboarding__text-input::-moz-placeholder { color: #C2C7CC; } .e-onboarding__text-input::-ms-input-placeholder { color: #C2C7CC; } .e-onboarding__text-input::placeholder { color: #C2C7CC; } .e-onboarding__footnote { margin-top: 24px; width: 325px; text-align: center; } .e-onboarding__footnote a { text-decoration: underline; color: #3A3F45; } #e-app ~ #__wp-uploader-id-2 .media-modal { max-width: 1024px; max-height: 768px; margin: auto; } .e-onboarding__page-content { margin-bottom: 70px; } .e-onboarding__page-content-start { max-width: 675px; text-align: start; -ms-flex-preferred-size: 555px; flex-basis: 555px; -ms-flex-item-align: start; align-self: start; } .e-onboarding__page-content-end { min-width: 440px; max-width: 540px; } .e-onboarding__page-content-end img { width: 100%; } .e-onboarding__page-content-section-title { font-family: "DM Serif Display", serif; font-size: 36px; font-weight: 700; color: #0C0D0E; } .e-onboarding__page-content-section-text { font-size: 18px; color: #3A3F45; } .e-onboarding__header-logo .eps-app__logo { background-color: #0C0D0E; color: #ffffff; width: 1.3rem; height: 1.3rem; line-height: 1.3rem; font-size: 0.48rem; } .e-onboarding__header-logo .eps-app__logo:not(:last-child) { -webkit-margin-end: 7px; margin-inline-end: 7px; } .e-onboarding__header-logo img { width: 104px; } .e-onboarding__header .eps-app__header-btn { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; font-size: 13px; } .e-onboarding__header .eps-app__header-btn .eps-icon:not(:last-child) { -webkit-margin-end: 7px; margin-inline-end: 7px; } .e-onboarding__header .eps-button { color: #0C0D0E; } .e-onboarding__header .eps-button .eicon-pro-icon { color: #93003c; } .e-onboarding__go-pro { width: 288px; font-size: 12px; } .e-onboarding__go-pro-title { font-size: 18px; font-weight: 700; color: #871A40; } .e-onboarding__go-pro-cta { display: inline-block; color: #871A40; padding: 9px; border: 1px solid #871A40; } .e-onboarding__go-pro-cta.e-onboarding__button { font-size: 14px; } .e-onboarding__go-pro-paragraph:not(:last-child) { margin-bottom: 20px; } .e-onboarding__go-pro-already-have { text-decoration: underline; } .e-onboarding__progress-bar { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; margin-bottom: 125px; } .e-onboarding__progress-bar-item { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; color: #69727D; font-size: 0.75rem; } .e-onboarding__progress-bar-item-icon { display: inline-block; font-family: "DM Serif Display", serif; text-align: center; width: 1.1rem; height: 1.1rem; line-height: 1rem; font-size: 0.75rem; font-weight: bold; border-radius: 50%; border: 1px solid #69727D; -webkit-margin-end: 8px; margin-inline-end: 8px; -ms-flex-negative: 0; flex-shrink: 0; } .e-onboarding__progress-bar-item:not(:last-child) { -webkit-margin-end: 22px; margin-inline-end: 22px; } .e-onboarding__progress-bar-item:not(:last-child):after { font-family: "eicons"; -webkit-margin-start: 22px; margin-inline-start: 22px; content: "\e89e"; } .e-onboarding__progress-bar-item--active { color: #040080; } .e-onboarding__progress-bar-item--active .e-onboarding__progress-bar-item-icon, .e-onboarding__progress-bar-item--completed .e-onboarding__progress-bar-item-icon { color: #ffffff; border-color: #040080; background-color: #040080; } .e-onboarding__progress-bar-item--skipped, .e-onboarding__progress-bar-item--completed { cursor: pointer; } .e-onboarding__progress-bar-item--skipped .e-onboarding__progress-bar-item-icon { color: #ffffff; background-color: #69727D; } .e-onboarding__button { font-size: 18px; cursor: pointer; } .e-onboarding__button-action { color: #46F2B6; background-color: #040080; width: 325px; padding: 15px 15px; text-align: center; } .e-onboarding__button-skip { color: #6A727C; padding: 15px 29px; } .e-onboarding__button--disabled { pointer-events: none; background-color: #D5D8DC; color: #9EA5AD; } .e-onboarding__button--disabled:hover { cursor: progress; } .e-onboarding__button--processing { pointer-events: none; -webkit-filter: brightness(90%); filter: brightness(90%); } .e-onboarding__card { border: 1px solid #3A3F45; border-radius: 8px; padding: 40px 40px; background-color: #ffffff; cursor: pointer; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .e-onboarding__card-image, .e-onboarding__card-text { width: 345px; } .e-onboarding__card-image { margin-bottom: 44px; } .e-onboarding__card-text { font-size: 20px; font-weight: 700; text-align: center; color: #0C0D0E; } .e-onboarding__card:hover { -webkit-box-shadow: 4px 4px 0 0 #000000; box-shadow: 4px 4px 0 0 #000000; } .e-onboarding__card:active { -webkit-box-shadow: initial; box-shadow: initial; } .e-onboarding__checklist { -webkit-padding-start: 0; padding-inline-start: 0; } .e-onboarding__checklist-item { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; font-size: 12px; margin-bottom: 12px; } .e-onboarding__checklist-item .eicon-check-circle { -webkit-margin-end: 9px; margin-inline-end: 9px; font-size: 16px; font-weight: 600; } .e-onboarding__notice { display: inline-block; padding: 12px 14px; margin-bottom: 16px; color: #3A3F45; } .e-onboarding__notice--error { background-color: #FDE8EC; } .e-onboarding__notice--error i { font-size: 16px; color: #B92136; } .e-onboarding__notice--success { background-color: #ECF9F2; } .e-onboarding__notice--success i { color: #117740; } .e-onboarding__notice i { -webkit-margin-end: 14px; margin-inline-end: 14px; } .e-onboarding__notice-empty-spacer { height: 61px; } .e-onboarding__page-account .e-onboarding__checkbox-label { margin-top: 50px; } .e-onboarding__action-button-text { -webkit-margin-start: 10px; margin-inline-start: 10px; } .e-onboarding__site-name-input { margin-top: 80px; } .e-onboarding__page-siteLogo .e-app-upload-file__button { color: #040080; border-color: #040080; } .e-onboarding__drop-zone { margin-top: 3rem; } .e-onboarding .eps-display-3 { font-size: 16px; margin-bottom: 0.5rem; } .e-onboarding .e-app-upload-file__button { max-width: 198px; margin: 0 auto; } .e-onboarding .e-app-drop-zone__secondary-text { font-size: 14px; } .e-onboarding__logo-container { position: relative; margin-top: 3rem; height: 220px; width: -webkit-fit-content; width: -moz-fit-content; width: fit-content; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; min-width: 220px; } .e-onboarding__logo-container img { height: auto; max-height: 100%; width: auto; } .e-onboarding__logo-remove { position: absolute; right: 8px; top: 5px; } .e-onboarding__logo-remove i { font-size: 16px; width: 15px; } .e-onboarding__logo-remove:hover { cursor: pointer; } .e-onboarding__is-uploading { visibility: hidden; } .e-onboarding__page-goodToGo .e-onboarding__page-content-section-title, .e-onboarding__page-goodToGo .e-onboarding__page-content-section-text { text-align: center; } .e-onboarding__cards-grid.e-onboarding__page-content { margin-top: 48px; margin-bottom: 48px; } .e-onboarding__cards-grid .e-onboarding__card { max-width: 555px; } .e-onboarding__cards-grid .e-onboarding__card:not(:last-child) { -webkit-margin-end: 20px; margin-inline-end: 20px; } .e-onboarding__good-to-go-footer { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: end; } .e-onboarding__upload-pro { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; font-family: "DM Sans", "Roboto", sans-serif; text-align: center; } .e-onboarding__upload-pro .eps-app__content { overflow-y: hidden; max-width: 1113px; padding: 30px; } .e-onboarding__upload-pro-drop-zone { margin-bottom: 24px; } .e-onboarding__upload-pro-drop-zone h1 { font-family: "Source Serif Pro", "Roboto", sans-serif; } .e-onboarding__upload-pro-drop-zone .e-app-drag-drop { padding: 48px; } .e-onboarding__upload-pro-drop-zone .eps-display-3, .e-onboarding__upload-pro-drop-zone .e-app-drop-zone__text, .e-onboarding__upload-pro-drop-zone .e-app-drop-zone__secondary-text { margin-bottom: 12px; } .e-onboarding__upload-pro-drop-zone .e-app-upload-file__button { background-color: #040080; color: #46F2B6; padding: 14px 40px; border-color: #040080; } .e-onboarding__upload-pro-get-file { font-size: 12px; margin-top: 24px; } .e-onboarding__upload-pro-get-file a { text-decoration: underline; } .e-onboarding__upload-pro .e-onboarding__notice { margin-bottom: 0; } /*# sourceMappingURL=app.css.map */assets/css/widget-icon-list.min.css000064400000026777152377341010013342 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ .elementor-widget.elementor-icon-list--layout-inline .elementor-widget-container{overflow:hidden}.elementor-widget .elementor-icon-list-items.elementor-inline-items{margin-right:-8px;margin-left:-8px}.elementor-widget .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-right:8px;margin-left:8px}.elementor-widget .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{width:auto;left:auto;right:auto;position:relative;height:100%;border-top:0;border-bottom:0;border-right:0;border-left-width:1px;border-style:solid;right:-8px}.elementor-widget .elementor-icon-list-items{list-style-type:none;margin:0;padding:0}.elementor-widget .elementor-icon-list-item{margin:0;padding:0;position:relative}.elementor-widget .elementor-icon-list-item:after{position:absolute;bottom:0;width:100%}.elementor-widget .elementor-icon-list-item,.elementor-widget .elementor-icon-list-item a{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:inherit}.elementor-widget .elementor-icon-list-icon+.elementor-icon-list-text{-ms-flex-item-align:center;align-self:center;padding-left:5px}.elementor-widget .elementor-icon-list-icon{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget .elementor-icon-list-icon svg{width:var(--e-icon-list-icon-size,1em);height:var(--e-icon-list-icon-size,1em)}.elementor-widget .elementor-icon-list-icon i{width:1.25em;font-size:var(--e-icon-list-icon-size)}.elementor-widget.elementor-widget-icon-list .elementor-icon-list-icon{text-align:var(--e-icon-list-icon-align)}.elementor-widget.elementor-widget-icon-list .elementor-icon-list-icon svg{margin:var(--e-icon-list-icon-margin,0 calc(var(--e-icon-list-icon-size, 1em) * .25) 0 0)}.elementor-widget.elementor-list-item-link-full_width a{width:100%}.elementor-widget.elementor-align-center .elementor-icon-list-item,.elementor-widget.elementor-align-center .elementor-icon-list-item a{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-align-center .elementor-icon-list-item:after{margin:auto}.elementor-widget.elementor-align-center .elementor-inline-items{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-align-left .elementor-icon-list-item,.elementor-widget.elementor-align-left .elementor-icon-list-item a{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:left}.elementor-widget.elementor-align-left .elementor-inline-items{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-widget.elementor-align-right .elementor-icon-list-item,.elementor-widget.elementor-align-right .elementor-icon-list-item a{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:right}.elementor-widget.elementor-align-right .elementor-icon-list-items{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-widget:not(.elementor-align-right) .elementor-icon-list-item:after{left:0}.elementor-widget:not(.elementor-align-left) .elementor-icon-list-item:after{right:0}@media (min-width:-1px){.elementor-widget.elementor-widescreen-align-center .elementor-icon-list-item,.elementor-widget.elementor-widescreen-align-center .elementor-icon-list-item a{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-widescreen-align-center .elementor-icon-list-item:after{margin:auto}.elementor-widget.elementor-widescreen-align-center .elementor-inline-items{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-widescreen-align-left .elementor-icon-list-item,.elementor-widget.elementor-widescreen-align-left .elementor-icon-list-item a{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:left}.elementor-widget.elementor-widescreen-align-left .elementor-inline-items{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-widget.elementor-widescreen-align-right .elementor-icon-list-item,.elementor-widget.elementor-widescreen-align-right .elementor-icon-list-item a{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:right}.elementor-widget.elementor-widescreen-align-right .elementor-icon-list-items{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-widget:not(.elementor-widescreen-align-right) .elementor-icon-list-item:after{left:0}.elementor-widget:not(.elementor-widescreen-align-left) .elementor-icon-list-item:after{right:0}}@media (max-width:-1px){.elementor-widget.elementor-laptop-align-center .elementor-icon-list-item,.elementor-widget.elementor-laptop-align-center .elementor-icon-list-item a{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-laptop-align-center .elementor-icon-list-item:after{margin:auto}.elementor-widget.elementor-laptop-align-center .elementor-inline-items{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-laptop-align-left .elementor-icon-list-item,.elementor-widget.elementor-laptop-align-left .elementor-icon-list-item a{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:left}.elementor-widget.elementor-laptop-align-left .elementor-inline-items{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-widget.elementor-laptop-align-right .elementor-icon-list-item,.elementor-widget.elementor-laptop-align-right .elementor-icon-list-item a{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:right}.elementor-widget.elementor-laptop-align-right .elementor-icon-list-items{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-widget:not(.elementor-laptop-align-right) .elementor-icon-list-item:after{left:0}.elementor-widget:not(.elementor-laptop-align-left) .elementor-icon-list-item:after{right:0}}@media (max-width:-1px){.elementor-widget.elementor-tablet_extra-align-center .elementor-icon-list-item,.elementor-widget.elementor-tablet_extra-align-center .elementor-icon-list-item a{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-tablet_extra-align-center .elementor-icon-list-item:after{margin:auto}.elementor-widget.elementor-tablet_extra-align-center .elementor-inline-items{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-tablet_extra-align-left .elementor-icon-list-item,.elementor-widget.elementor-tablet_extra-align-left .elementor-icon-list-item a{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:left}.elementor-widget.elementor-tablet_extra-align-left .elementor-inline-items{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-widget.elementor-tablet_extra-align-right .elementor-icon-list-item,.elementor-widget.elementor-tablet_extra-align-right .elementor-icon-list-item a{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:right}.elementor-widget.elementor-tablet_extra-align-right .elementor-icon-list-items{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-widget:not(.elementor-tablet_extra-align-right) .elementor-icon-list-item:after{left:0}.elementor-widget:not(.elementor-tablet_extra-align-left) .elementor-icon-list-item:after{right:0}}@media (max-width:1024px){.elementor-widget.elementor-tablet-align-center .elementor-icon-list-item,.elementor-widget.elementor-tablet-align-center .elementor-icon-list-item a{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-tablet-align-center .elementor-icon-list-item:after{margin:auto}.elementor-widget.elementor-tablet-align-center .elementor-inline-items{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-tablet-align-left .elementor-icon-list-item,.elementor-widget.elementor-tablet-align-left .elementor-icon-list-item a{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:left}.elementor-widget.elementor-tablet-align-left .elementor-inline-items{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-widget.elementor-tablet-align-right .elementor-icon-list-item,.elementor-widget.elementor-tablet-align-right .elementor-icon-list-item a{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:right}.elementor-widget.elementor-tablet-align-right .elementor-icon-list-items{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-widget:not(.elementor-tablet-align-right) .elementor-icon-list-item:after{left:0}.elementor-widget:not(.elementor-tablet-align-left) .elementor-icon-list-item:after{right:0}}@media (max-width:-1px){.elementor-widget.elementor-mobile_extra-align-center .elementor-icon-list-item,.elementor-widget.elementor-mobile_extra-align-center .elementor-icon-list-item a{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-mobile_extra-align-center .elementor-icon-list-item:after{margin:auto}.elementor-widget.elementor-mobile_extra-align-center .elementor-inline-items{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-mobile_extra-align-left .elementor-icon-list-item,.elementor-widget.elementor-mobile_extra-align-left .elementor-icon-list-item a{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:left}.elementor-widget.elementor-mobile_extra-align-left .elementor-inline-items{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-widget.elementor-mobile_extra-align-right .elementor-icon-list-item,.elementor-widget.elementor-mobile_extra-align-right .elementor-icon-list-item a{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:right}.elementor-widget.elementor-mobile_extra-align-right .elementor-icon-list-items{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-widget:not(.elementor-mobile_extra-align-right) .elementor-icon-list-item:after{left:0}.elementor-widget:not(.elementor-mobile_extra-align-left) .elementor-icon-list-item:after{right:0}}@media (max-width:767px){.elementor-widget.elementor-mobile-align-center .elementor-icon-list-item,.elementor-widget.elementor-mobile-align-center .elementor-icon-list-item a{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-mobile-align-center .elementor-icon-list-item:after{margin:auto}.elementor-widget.elementor-mobile-align-center .elementor-inline-items{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-mobile-align-left .elementor-icon-list-item,.elementor-widget.elementor-mobile-align-left .elementor-icon-list-item a{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:left}.elementor-widget.elementor-mobile-align-left .elementor-inline-items{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-widget.elementor-mobile-align-right .elementor-icon-list-item,.elementor-widget.elementor-mobile-align-right .elementor-icon-list-item a{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:right}.elementor-widget.elementor-mobile-align-right .elementor-icon-list-items{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-widget:not(.elementor-mobile-align-right) .elementor-icon-list-item:after{left:0}.elementor-widget:not(.elementor-mobile-align-left) .elementor-icon-list-item:after{right:0}}assets/css/admin-top-bar-rtl.min.css000064400000010677152377341010013401 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ #e-dashboard-widget-admin-top-bar{position:absolute;opacity:0;pointer-events:none}#e-admin-top-bar-root{left:0;background:#fff;-webkit-box-shadow:0 4px 6px rgba(0,0,0,.0394871);box-shadow:0 4px 6px rgba(0,0,0,.0394871);display:none;position:absolute;top:0;width:calc(100% - 160px);z-index:1}#e-admin-top-bar-root .e-admin-top-bar{display:-webkit-box;display:-ms-flexbox;display:flex;height:50px;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:0 16px}#e-admin-top-bar-root .page-title-action{background:#f7f7f7;border:1px solid #0275d8;border-radius:3px;-webkit-box-sizing:border-box;box-sizing:border-box;color:#0275d8;cursor:pointer;display:inline-block;line-height:30px;margin:0 4px;min-height:30px;padding:0 10px;text-decoration:none}#e-admin-top-bar-root .page-title-action:hover{background:#eceeef;border-color:#1b607f;color:#1b607f}#e-admin-top-bar-root .e-admin-top-bar__heading{-webkit-margin-end:40px;margin-inline-end:40px}#e-admin-top-bar-root .e-admin-top-bar__heading,#e-admin-top-bar-root .e-admin-top-bar__main-area{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}#e-admin-top-bar-root .e-admin-top-bar__main-area button{margin:0 4px}#e-admin-top-bar-root .e-admin-top-bar__secondary-area{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}#e-admin-top-bar-root .e-admin-top-bar__heading-logo{width:30px;background:#93003c;border-radius:15px;color:#fff;display:inline-block;font-size:.875rem;height:1.875rem;line-height:1.875rem;text-align:center;width:1.875rem}#e-admin-top-bar-root .e-admin-top-bar__heading-title{color:#495157;font-size:15px;font-weight:700;font-family:Roboto,Arial,Helvetica,Verdana,sans-serif;padding:0 8px;line-height:normal;text-transform:uppercase}#e-admin-top-bar-root.e-admin-top-bar--active{display:block}#e-admin-top-bar-root.e-admin-top-bar--active~#wpbody #wpbody-content{margin-top:50px}#e-admin-top-bar-root.e-admin-top-bar--active~#wpbody .wrap{clear:both;padding-top:10px}#e-admin-top-bar-root.e-admin-top-bar--active~#wpbody .wrap h1{display:none}#e-admin-top-bar-root:not(.e-admin-top-bar--active)~#wpbody .wrap .page-title-action,#e-admin-top-bar-root:not(.e-admin-top-bar--active)~#wpbody .wrap h1{display:inline-block}#e-admin-top-bar-root .e-admin-top-bar__bar-button{-webkit-box-align:center;-ms-flex-align:center;align-items:center;cursor:pointer;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin:0 10px;text-decoration:none;color:#6d7882}#e-admin-top-bar-root .e-admin-top-bar__bar-button .e-admin-top-bar__bar-button-title{color:#6d7882}#e-admin-top-bar-root .e-admin-top-bar__bar-button .e-admin-top-bar__bar-button-icon{margin:0 4px}#e-admin-top-bar-root .e-admin-top-bar__bar-button:hover .e-admin-top-bar__bar-button-icon,#e-admin-top-bar-root .e-admin-top-bar__bar-button:hover .e-admin-top-bar__bar-button-title{color:#93003c}#e-admin-top-bar-root .e-admin-top-bar__bar-button-title{font-size:13px;font-weight:500;font-family:Roboto,Arial,Helvetica,Verdana,sans-serif;margin:0 4px;line-height:normal}#e-admin-top-bar-root~#wpbody .wrap .page-title-action,#e-admin-top-bar-root~#wpbody .wrap h1{display:none}@media screen and (max-width:960px){#e-admin-top-bar-root{width:calc(100% - 36px)}}@media screen and (max-width:782px){#e-admin-top-bar-root{width:100%}}@media screen and (max-width:600px){#e-admin-top-bar-root{top:46px}}@media (max-width:768px){#e-admin-top-bar-root{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}#e-admin-top-bar-root .e-admin-top-bar__main-area-buttons{position:absolute;top:calc(100% + 10px)}#e-admin-top-bar-root .e-admin-top-bar__secondary-area .e-admin-top-bar__secondary-area-buttons,#e-admin-top-bar-root .e-admin-top-bar__secondary-area>.e-admin-top-bar__bar-button .e-admin-top-bar__bar-button-title{display:none}}@media (min-width:768px){#e-admin-top-bar-root .e-admin-top-bar__secondary-area .e-admin-top-bar__secondary-area-buttons{display:-webkit-box;display:-ms-flexbox;display:flex}}assets/css/widget-heading-rtl.min.css000064400000001221152377341010013610 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ .elementor-heading-title{padding:0;margin:0;line-height:1}.elementor-widget-heading .elementor-heading-title[class*=elementor-size-]>a{color:inherit;font-size:inherit;line-height:inherit}.elementor-widget-heading .elementor-heading-title.elementor-size-small{font-size:15px}.elementor-widget-heading .elementor-heading-title.elementor-size-medium{font-size:19px}.elementor-widget-heading .elementor-heading-title.elementor-size-large{font-size:29px}.elementor-widget-heading .elementor-heading-title.elementor-size-xl{font-size:39px}.elementor-widget-heading .elementor-heading-title.elementor-size-xxl{font-size:59px}assets/css/widget-image-box-rtl.min.css000064400000003333152377341010014067 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ .elementor-widget-image-box .elementor-image-box-content{width:100%}@media (min-width:768px){.elementor-widget-image-box.elementor-position-left .elementor-image-box-wrapper,.elementor-widget-image-box.elementor-position-right .elementor-image-box-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-image-box.elementor-position-right .elementor-image-box-wrapper{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.elementor-widget-image-box.elementor-position-left .elementor-image-box-wrapper{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-widget-image-box.elementor-position-top .elementor-image-box-img{margin:auto}.elementor-widget-image-box.elementor-vertical-align-top .elementor-image-box-wrapper{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.elementor-widget-image-box.elementor-vertical-align-middle .elementor-image-box-wrapper{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-widget-image-box.elementor-vertical-align-bottom .elementor-image-box-wrapper{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}}@media (max-width:767px){.elementor-widget-image-box .elementor-image-box-img{margin-left:auto!important;margin-right:auto!important;margin-bottom:15px}}.elementor-widget-image-box .elementor-image-box-img{display:inline-block}.elementor-widget-image-box .elementor-image-box-title a{color:inherit}.elementor-widget-image-box .elementor-image-box-wrapper{text-align:center}.elementor-widget-image-box .elementor-image-box-description{margin:0}assets/css/widget-heading.min.css000064400000001221152377341010013011 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ .elementor-heading-title{padding:0;margin:0;line-height:1}.elementor-widget-heading .elementor-heading-title[class*=elementor-size-]>a{color:inherit;font-size:inherit;line-height:inherit}.elementor-widget-heading .elementor-heading-title.elementor-size-small{font-size:15px}.elementor-widget-heading .elementor-heading-title.elementor-size-medium{font-size:19px}.elementor-widget-heading .elementor-heading-title.elementor-size-large{font-size:29px}.elementor-widget-heading .elementor-heading-title.elementor-size-xl{font-size:39px}.elementor-widget-heading .elementor-heading-title.elementor-size-xxl{font-size:59px}assets/css/editor-rtl.css000064400000556351152377341010011457 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ .elementor-control-unit-1 { width: 27px; } .elementor-control-unit-2 { width: 54px; } .elementor-control-unit-3 { width: 81px; } .elementor-control-unit-4 { width: 108px; } .elementor-control-unit-5 { max-width: 400px; width: 52%; } *, :before, :after { margin: 0; padding: 0; -webkit-box-sizing: border-box; box-sizing: border-box; } body, html { height: 100%; } html { background-color: #F1F1F1; } iframe, img { border: 0 none; } li { list-style: none; } a { text-decoration: none; } body { color: #6d7882; font-family: Roboto, Arial, Helvetica, Verdana, sans-serif; font-size: 13px; font-weight: normal; line-height: 1; text-decoration: none; text-transform: none; overflow: hidden; } body:after { content: ""; position: absolute; top: 0; left: 0; height: 100%; width: 0; background-color: #71d7f7; -webkit-transition: width 0.5s; -o-transition: width 0.5s; transition: width 0.5s; } body a { color: #71d7f7; } body a:hover { color: #93003c; } body.elementor-editor-active #elementor-mode-switcher-preview .eicon:before { content: "\e89e"; } body.elementor-editor-preview { --e-preview-width: 100%; } body.elementor-editor-preview #elementor-mode-switcher-preview .eicon:before { content: "\e89f"; } body.elementor-navigator--dock-hint:after { width: 30px; } #elementor-editor-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; width: 100%; height: 100vh; } #elementor-panel:not(.ui-resizable-resizing), #elementor-preview:not(.ui-resizable-resizing) { -webkit-transition: margin 0.5s ease-in-out, width 0.5s ease-in-out; -o-transition: margin 0.5s ease-in-out, width 0.5s ease-in-out; transition: margin 0.5s ease-in-out, width 0.5s ease-in-out; } #elementor-loading { position: fixed; top: 0; left: 0; bottom: 0; right: 0; background: #f1f3f5; z-index: 9999; } #elementor-preview-loading { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: #fff; } #elementor-preview-loading i { color: #d5dadf; font-size: 50px; } #elementor-fatal-error-dialog button.dialog-ok { color: #71d7f7; } #elementor-fatal-error-dialog .dialog-header { color: #6d7882; } #elementor-flexbox-attention-dialog .dialog-cancel { color: #39b54a; } #elementor-flexbox-attention-dialog .dialog-ok { color: #6d7882; } .elementor-nerd-box { padding: 30px; text-align: center; } .elementor-nerd-box-icon { width: 100px; margin-right: 10px; } .elementor-nerd-box-title { margin-top: 20px; font-size: 16px; font-weight: bold; line-height: 1.4; } .elementor-nerd-box-message { margin-top: 5px; line-height: 1.8; font-size: 11px; } .elementor-nerd-box .elementor-button.elementor-nerd-box-link { background-color: #93003c; color: #ffffff; padding: 7px 25px; margin-top: 20px; -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0.1), 0 2px 2px rgba(0, 0, 0, 0.1); box-shadow: 0 0 1px rgba(0, 0, 0, 0.1), 0 2px 2px rgba(0, 0, 0, 0.1); -webkit-transition: 0.5s; -o-transition: 0.5s; transition: 0.5s; } .elementor-nerd-box .elementor-button.elementor-nerd-box-link:hover { background-color: #c60051; } .eicon-nerd:hover:before { content: "\e8b7"; } .eicon-nerd:active:before { content: "\e8b6"; } .e-group-control-header { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; font-weight: bold; font-size: 12px; padding: 10px; -webkit-box-shadow: 0px 2px 8px rgba(0, 0, 0, 0.1); box-shadow: 0px 2px 8px rgba(0, 0, 0, 0.1); margin-bottom: 15px; } .e-control-tools { display: -webkit-box; display: -ms-flexbox; display: flex; } .e-control-tool { width: 20px; height: 20px; display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; border-radius: 3px; margin: 0 3px 0; border: 0; position: relative; background-color: #fff; } .e-control-tool:not(.e-control-tool-disabled) { -webkit-box-shadow: 0 1px 5px rgba(0, 0, 0, 0.1); box-shadow: 0 1px 5px rgba(0, 0, 0, 0.1); cursor: pointer; } .e-control-tool-disabled { background: #e6e9ec; pointer-events: none; } .e-control-tool-disabled i { color: #fff; } .e-control-tool i { position: absolute; top: 50%; left: 50%; -webkit-transform: translateX(-50%) translateY(-50%); -ms-transform: translateX(-50%) translateY(-50%); transform: translateX(-50%) translateY(-50%); color: #6d7882; font-size: 13px; } #e-enable-unfiltered-files-dialog .dialog-confirm-ok { color: #39b54a; } i.eicon-tilted { -webkit-transform: rotate(90deg); -ms-transform: rotate(90deg); transform: rotate(90deg); } .elementor-loader-wrapper { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); width: 300px; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-loader { border-radius: 50%; padding: 40px; height: 150px; width: 150px; background-color: rgba(255, 255, 255, 0.9); -webkit-box-sizing: border-box; box-sizing: border-box; -webkit-box-shadow: 2px 2px 20px 4px rgba(0, 0, 0, 0.02); box-shadow: 2px 2px 20px 4px rgba(0, 0, 0, 0.02); } .elementor-loader-boxes { height: 100%; width: 100%; position: relative; } .elementor-loader-box { position: absolute; background-color: #d5dadf; -webkit-animation: load 1.8s linear infinite; animation: load 1.8s linear infinite; } .elementor-loader-box:nth-of-type(1) { width: 20%; height: 100%; left: 0; top: 0; } .elementor-loader-box:not(:nth-of-type(1)) { right: 0; height: 20%; width: 60%; } .elementor-loader-box:nth-of-type(2) { top: 0; -webkit-animation-delay: -0.45s; animation-delay: -0.45s; } .elementor-loader-box:nth-of-type(3) { top: 40%; -webkit-animation-delay: -0.9s; animation-delay: -0.9s; } .elementor-loader-box:nth-of-type(4) { bottom: 0; -webkit-animation-delay: -1.35s; animation-delay: -1.35s; } .elementor-loading-title { color: #a4afb7; text-align: center; text-transform: uppercase; margin-top: 30px; letter-spacing: 7px; text-indent: 7px; font-size: 10px; width: 100%; } .elementor-button { font-family: Roboto, Arial, Helvetica, Verdana, sans-serif; font-weight: 500; text-transform: uppercase; outline: none; border: none; border-radius: 3px; -webkit-transition-property: background, color, opacity, -webkit-box-shadow; transition-property: background, color, opacity, -webkit-box-shadow; -o-transition-property: background, color, box-shadow, opacity; transition-property: background, color, box-shadow, opacity; transition-property: background, color, box-shadow, opacity, -webkit-box-shadow; -webkit-transition-duration: 0.3s; -o-transition-duration: 0.3s; transition-duration: 0.3s; } .elementor-button:hover { border: none; } .elementor-button:not([disabled]) { cursor: pointer; } .elementor-button:not(.elementor-button-state) .elementor-state-icon { display: none; } .elementor-button.elementor-button-success { color: #fff; } .elementor-button.elementor-button-success[disabled] { background-color: #c2cbd2; } .elementor-button.elementor-button-success:not([disabled]) { background-color: #39b54a; } .elementor-button.elementor-button-success:not([disabled]):hover { opacity: 0.85; -webkit-box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2); box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2); } .elementor-button.elementor-button-success:not([disabled]):active { -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1); box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1); } .elementor-button.elementor-button-warning { background-color: #a4afb7; color: #fff; } .elementor-button.elementor-button-warning[disabled] { background-color: #c2cbd2; } .elementor-button.elementor-button-warning:not([disabled]):hover { background-color: #b01b1b; opacity: 0.85; -webkit-box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2); box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2); } .elementor-button.elementor-button-warning:not([disabled]):active { -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1); box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1); } .elementor-button.elementor-button-danger { background-color: #d72b3f; color: #fff; } .elementor-button.elementor-button-danger[disabled] { background-color: #c2cbd2; } .elementor-button.elementor-button-danger:not([disabled]):hover { opacity: 0.85; -webkit-box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2); box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2); } .elementor-button.elementor-button-danger:not([disabled]):active { -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1); box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1); } .elementor-button.elementor-edit-template { display: inline-block; margin-top: 15px; color: #fff; } .elementor-button.elementor-button-default { background-color: #a4afb7; color: #fff; font-size: 11px; padding: 7px 21px; } .elementor-button.elementor-button-default:hover { background-color: #6d7882; -webkit-box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2); box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2); } .elementor-button.elementor-button-default:active { -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1); box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1); } .elementor-button.elementor-button-default:visited { color: #fff; } .elementor-button.elementor-button-go-pro { background-color: #93003c; } .elementor-button i { margin-left: 10px; } input, select, textarea, .elementor-input-style { border-radius: 3px; font-size: 12px; width: 100%; background: none; -webkit-box-shadow: none; box-shadow: none; color: #6d7882; border: 1px solid; outline: none; } input:not(:focus), select:not(:focus), textarea:not(:focus), .elementor-input-style:not(:focus) { border-color: #d5dadf; } input:focus, input:focus + .elementor-control-dynamic-switcher, select:focus, select:focus + .elementor-control-dynamic-switcher, textarea:focus, textarea:focus + .elementor-control-dynamic-switcher, .elementor-input-style:focus, .elementor-input-style:focus + .elementor-control-dynamic-switcher { border-color: #a4afb7; } input::-webkit-input-placeholder, select::-webkit-input-placeholder, textarea::-webkit-input-placeholder, .elementor-input-style::-webkit-input-placeholder { color: #a4afb7; } input::-moz-placeholder, select::-moz-placeholder, textarea::-moz-placeholder, .elementor-input-style::-moz-placeholder { color: #a4afb7; } input::-ms-input-placeholder, select::-ms-input-placeholder, textarea::-ms-input-placeholder, .elementor-input-style::-ms-input-placeholder { color: #a4afb7; } input::placeholder, select::placeholder, textarea::placeholder, .elementor-input-style::placeholder { color: #a4afb7; } .elementor-error input, .elementor-error select, .elementor-error textarea { border-color: #b01b1b; } input { min-width: 0; } input, textarea, .elementor-input-style { padding: 5px; } textarea, .elementor-input-style { resize: vertical; } input[type=checkbox], input[type=radio] { height: auto; width: auto; } input[disabled] { background-color: #e6e9ec; cursor: not-allowed; opacity: 1; } select { outline: none; height: 27px; } /* * Container style */ .ps { overflow: hidden !important; overflow-anchor: none; -ms-touch-action: auto; touch-action: auto; } /* * Scrollbar rail styles */ .ps__rail-y { display: none; opacity: 0; -webkit-transition: background-color 0.2s linear, opacity 0.2s linear; -o-transition: background-color 0.2s linear, opacity 0.2s linear; transition: background-color 0.2s linear, opacity 0.2s linear; width: 15px; /* there must be 'right' or 'left' for ps__rail-y */ right: 0; left: initial !important; /* please don't change 'position' */ position: absolute; } .ps--active-y > .ps__rail-y { display: block; background-color: transparent; } .ps:hover > .ps__rail-y, .ps--focus > .ps__rail-y, .ps--scrolling-y > .ps__rail-y { opacity: 0.6; } .ps .ps__rail-y:hover, .ps .ps__rail-y:focus, .ps .ps__rail-y.ps--clicking { opacity: 0.9; } .ps__thumb-y { background-color: #aaa; border-radius: 6px; -webkit-transition: background-color 0.2s linear, width 0.2s ease-in-out; -o-transition: background-color 0.2s linear, width 0.2s ease-in-out; transition: background-color 0.2s linear, width 0.2s ease-in-out; width: 6px; /* there must be 'right' for ps__thumb-y */ right: 2px; /* please don't change 'position' */ position: absolute; } .ps__rail-y:hover > .ps__thumb-y, .ps__rail-y:focus > .ps__thumb-y, .ps__rail-y.ps--clicking .ps__thumb-y { background-color: #999; width: 6px; } /* Make clicks pass-through */ #nprogress { pointer-events: none; } #nprogress .bar { background: #39b54a; position: fixed; z-index: 1031; top: 0; left: 0; width: 100%; height: 2px; } /* Fancy blur effect */ #nprogress .peg { display: block; position: absolute; right: 0; width: 100px; height: 100%; -webkit-box-shadow: 0 0 10px #39b54a, 0 0 5px #39b54a; box-shadow: 0 0 10px #39b54a, 0 0 5px #39b54a; opacity: 1; -webkit-transform: rotate(3deg) translate(0px, -4px); -ms-transform: rotate(3deg) translate(0px, -4px); transform: rotate(3deg) translate(0px, -4px); } /* Remove these to get rid of the spinner */ #nprogress .spinner { display: none; position: fixed; z-index: 1031; top: 15px; right: 15px; } #nprogress .spinner-icon { width: 18px; height: 18px; -webkit-box-sizing: border-box; box-sizing: border-box; border: solid 2px transparent; border-top-color: #39b54a; border-left-color: #39b54a; border-radius: 50%; -webkit-animation: nprogress-spinner 400ms linear infinite; animation: nprogress-spinner 400ms linear infinite; } .nprogress-custom-parent { overflow: hidden; position: relative; } .nprogress-custom-parent #nprogress .spinner, .nprogress-custom-parent #nprogress .bar { position: absolute; } @-webkit-keyframes nprogress-spinner { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } @keyframes nprogress-spinner { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } #nprogress .bar, #nprogress .spinner { z-index: 100000; } :root { --e-is-preview-mode: 0; } @media (max-width: 1439px) { :root { --e-editor-panel-width: 280px; } } @media (min-width: 1440px) { :root { --e-editor-panel-width: 300px; } } .elementor-panel { position: relative; height: 100%; -webkit-margin-start: calc(-1 * var(--e-editor-panel-width) * var(--e-is-preview-mode)); margin-inline-start: calc(-1 * var(--e-editor-panel-width) * var(--e-is-preview-mode)); width: var(--e-editor-panel-width); overflow: visible; background-color: #e6e9ec; z-index: 1; font-family: Roboto, Arial, Helvetica, Verdana, sans-serif; font-size: 13px; right: 0; } .elementor-editor-preview .elementor-panel { --e-is-preview-mode: 1; } .elementor-editor-preview .elementor-panel > .ui-resizable-e, .elementor-editor-preview .elementor-panel > .ui-resizable-w { display: none; } .elementor-panel .ps__rail-y { z-index: 2; } .elementor-panel .elementor-responsive-panel { padding: 5px 10px; display: grid; gap: 10px; grid-template-columns: repeat(auto-fill, minmax(min(135px, 50% - 5px), 1fr)); } .elementor-panel .elementor-responsive-panel > .e-responsive-panel-stretch { grid-column: 1/-1; } .elementor-panel ::-moz-selection { background: #5bc0de; color: #ffffff; } .elementor-panel ::selection { background: #5bc0de; color: #ffffff; } .elementor-panel a { color: #93003c; } .elementor-panel h1, .elementor-panel h2, .elementor-panel h3, .elementor-panel h4, .elementor-panel h5, .elementor-panel h6 { font-size: 100%; font-weight: normal; } .elementor-panel abbr, .elementor-panel acronym { border: 0; font-variant: normal; } .elementor-panel sup { vertical-align: text-top; } .elementor-panel sub { vertical-align: text-bottom; } .elementor-panel img { max-width: 100%; height: auto; border: 0; } .elementor-panel ::-moz-focus-inner { padding: 0; border: 0; } .elementor-panel :focus { outline: 0; } .elementor-panel .elementor-panel-box { margin-top: 10px; background-color: #fff; } .elementor-panel .elementor-panel-box-content { padding: 20px 20px 10px; } .elementor-panel .elementor-button { display: inline-block; } .elementor-panel .elementor-panel-alert { background-color: #fcfcfc; padding: 15px; border-right: 3px solid transparent; position: relative; font-size: 12px; font-weight: 300; font-style: italic; line-height: 1.5; text-align: right; border-radius: 3px 0 0 3px; -webkit-box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.07); box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.07); } .elementor-panel .elementor-panel-alert a { color: inherit; } .elementor-panel .elementor-panel-alert.elementor-panel-alert-info { border-color: #71d7f7; background-color: #f3fcff; } .elementor-panel .elementor-panel-alert.elementor-panel-alert-success { border-color: #39b54a; } .elementor-panel .elementor-panel-alert.elementor-panel-alert-warning { border-color: #fcb92c; } .elementor-panel .elementor-panel-alert.elementor-panel-alert-danger { border-color: #d72b3f; } .elementor-panel .elementor-label { display: inline; padding: 0.2em 0.6em 0.3em; font-size: 75%; font-weight: 700; line-height: 1; color: #fff; text-align: center; white-space: nowrap; vertical-align: baseline; border-radius: 0.25em; text-transform: capitalize; } .elementor-panel .elementor-label.elementor-label-default { background-color: #a4afb7; } .elementor-panel .elementor-label.elementor-label-info { background-color: #5bc0de; } .elementor-panel .elementor-label.elementor-label-success { background-color: #5cb85c; } .elementor-panel .elementor-label.elementor-label-warning { background-color: #f0ad4e; } .elementor-panel .elementor-label.elementor-label-danger { background-color: #d9534f; } .elementor-panel .elementor-descriptor, .elementor-panel .elementor-control-field-description { font-size: 11px; font-style: italic; line-height: 1.4; color: #a4afb7; } .elementor-panel .elementor-controls-popover { display: none; position: absolute; -webkit-box-shadow: 0 2px 15px rgba(0, 0, 0, 0.3); box-shadow: 0 2px 15px rgba(0, 0, 0, 0.3); border-radius: 3px; left: 0; right: 0; margin: -4px auto 5px; padding-top: 15px; width: 90%; z-index: 10000; background-color: #fff; } .elementor-panel .elementor-controls-popover:before { content: ""; position: absolute; top: -16px; left: 22px; border: 8px solid transparent; border-bottom-color: #fff; } .elementor-panel .elementor-controls-popover div.elementor-control { background-color: transparent; } .elementor-panel .elementor-controls-popover div.elementor-control:before { content: none; } .elementor-panel #elementor-controls .pojo-widget-button-collapse { display: none; } .elementor-panel #elementor-panel-global .elementor-nerd-box .elementor-nerd-box-icon { margin-top: 20px; } .elementor-panel #elementor-panel-header { display: table; height: 40px; width: 100%; background-color: #93003c; color: #fff; } .elementor-panel #elementor-panel-header > * { display: table-cell; vertical-align: middle; text-align: center; } .elementor-panel .elementor-header-button { width: 40px; } .elementor-panel .elementor-header-button .elementor-icon { cursor: pointer; display: block; font-size: 19px; height: 40px; line-height: 40px; -webkit-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; } .elementor-panel .elementor-header-button .elementor-icon.eicon-menu-bar { font-size: 18px; } .elementor-panel .elementor-header-button .elementor-icon:hover { color: #d5dadf; } .elementor-panel #elementor-panel-header-title { font-size: 15px; } .elementor-panel #elementor-panel-header-title img { width: 90px; } .elementor-panel #elementor-panel-elements-categories { padding-bottom: 10px; } .elementor-panel .elementor-panel-category { position: relative; } .elementor-panel .elementor-panel-category:first-child .elementor-panel-category-title { padding-top: 14px; } .elementor-panel .elementor-panel-category.elementor-active .elementor-panel-category-title:before { -webkit-transform: rotate(-90deg); -ms-transform: rotate(-90deg); transform: rotate(-90deg); } .elementor-panel .elementor-panel-category:not(.elementor-active):after { content: ""; position: absolute; left: 15px; right: 15px; bottom: 0; height: 8px; background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.03)), to(transparent)); background: -o-linear-gradient(rgba(0, 0, 0, 0.03), transparent); background: linear-gradient(rgba(0, 0, 0, 0.03), transparent); -webkit-transform: translateY(100%); -ms-transform: translateY(100%); transform: translateY(100%); } .elementor-panel .elementor-panel-category-title { margin: 0 15px; padding: 20px 0; position: relative; text-transform: uppercase; font-size: 11px; cursor: pointer; } .elementor-panel .elementor-panel-category-title:before { content: "\e87e"; font-family: eicons; position: absolute; left: 0; -webkit-transition: -webkit-transform 0.3s; transition: -webkit-transform 0.3s; -o-transition: transform 0.3s; transition: transform 0.3s; transition: transform 0.3s, -webkit-transform 0.3s; } .elementor-panel .elementor-panel-category-items { padding: 0 10px; } .elementor-panel .elementor-panel-category-items-empty { grid-column-start: 1; grid-column-end: 3; } .elementor-panel .elementor-panel-scheme-title { padding: 10px 20px; margin-top: 10px; } .elementor-panel .elementor-panel-scheme-description { padding: 20px 20px 0; } .elementor-panel .elementor-panel-scheme-buttons { padding: 0 20px; display: table; table-layout: fixed; width: 100%; height: 40px; background-color: #fff; -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.1); box-shadow: 0 0 8px rgba(0, 0, 0, 0.1); } .elementor-panel .elementor-panel-scheme-buttons .elementor-button { font-family: Roboto, Arial, Helvetica, Verdana, sans-serif; font-size: 11px; font-weight: 400; } .elementor-panel .elementor-panel-scheme-button-wrapper { display: table-cell; vertical-align: middle; text-align: center; } .elementor-panel .elementor-panel-scheme-button-wrapper:first-child { text-align: right; } .elementor-panel .elementor-panel-scheme-button-wrapper:last-child { text-align: left; } .elementor-panel .elementor-panel-scheme-save .elementor-button { padding: 6px 18px; } .elementor-panel .elementor-panel-scheme-reset .elementor-button, .elementor-panel .elementor-panel-scheme-discard .elementor-button { color: #a4afb7; background: none; } .elementor-panel .elementor-panel-scheme-color .elementor-panel-scheme-items { position: relative; display: grid; grid-template-columns: repeat(4, 27px); -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; } .elementor-panel .elementor-panel-scheme-color-title { text-align: center; text-transform: uppercase; margin: 10px 0; color: #c2cbd2; font-size: 8px; } .elementor-panel .elementor-panel-scheme-typography-item { display: table; table-layout: fixed; width: 100%; margin-bottom: 15px; } .elementor-panel .elementor-panel-scheme-typography-item > * { display: table-cell; vertical-align: middle; } .elementor-panel .elementor-panel-scheme-typography-item-value select, .elementor-panel .elementor-panel-scheme-typography-item-value input { width: 100%; } .elementor-panel .elementor-panel-scheme-item:not(.elementor-open) .elementor-panel-scheme-typography-items { display: none; } .elementor-panel .elementor-panel-scheme-color-system-scheme { margin-bottom: 10px; } .elementor-panel .elementor-panel-scheme-color-system-scheme .elementor-title { font-size: 11px; color: #a4afb7; font-style: italic; margin-top: 5px; } .elementor-panel .elementor-panel-scheme-color-system-items { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-transition: border 0.5s; -o-transition: border 0.5s; transition: border 0.5s; overflow: hidden; padding: 3px; border-radius: 3px; border: 1px solid #d5dadf; cursor: pointer; } .elementor-panel .elementor-panel-scheme-color-system-items:hover { border: 1px solid #a4afb7; } .elementor-panel .elementor-panel-scheme-color-system-item { height: 20px; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; } .elementor-panel #elementor-panel-schemes-disabled a { color: #39b54a; } .elementor-panel #elementor-panel-schemes-disabled a:hover { text-decoration: underline; } .elementor-panel #elementor-panel-schemes-disabled .elementor-nerd-box-icon { margin-top: 20px; } .elementor-panel #elementor-panel-page-menu { padding: 25px 15px; } .elementor-panel .elementor-panel-menu-group-title { text-transform: uppercase; font-size: 11px; } .elementor-panel .elementor-panel-menu-items { margin: 15px 0 25px; border-radius: 5px; overflow: hidden; } .elementor-panel .elementor-panel-menu-item { display: table; width: 100%; height: 40px; cursor: pointer; margin-bottom: 1px; background-color: #fff; } .elementor-panel .elementor-panel-menu-item:hover { background-color: rgba(255, 255, 255, 0.8); } .elementor-panel .elementor-panel-menu-item > * { display: table-cell; vertical-align: middle; } .elementor-panel .elementor-panel-menu-item-icon { text-align: center; width: 50px; color: #a4afb7; font-size: 19px; } .elementor-panel .elementor-panel-menu-item-icon .eicon-editor-external-link { font-size: 18px; } .elementor-panel .elementor-panel-menu-item-title { font-weight: 500; } .elementor-panel .elementor-panel-menu-item-title > span { color: #39b54a; } .elementor-panel .elementor-panel-menu-item a { color: #6d7882; } .elementor-panel .elementor-panel-menu-item-exit-to-dashboard { background-color: #0085ba; color: #fff; text-transform: uppercase; font-size: 12px; } .elementor-panel .elementor-panel-menu-item-exit-to-dashboard:hover { background-color: #0073a1; } .elementor-panel .elementor-panel-menu-item-exit-to-dashboard .elementor-panel-menu-item-title, .elementor-panel .elementor-panel-menu-item-exit-to-dashboard .elementor-panel-menu-item-icon { color: #fff; } .elementor-panel .elementor-panel-menu-item-settings-additional-settings { background-color: #f1f3f5; } .elementor-panel .elementor-control.elementor-control-clear_page { background-color: transparent; } .elementor-panel .elementor-control.elementor-control-clear_page .elementor-control-raw-html { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; } .elementor-panel .elementor-panel-navigation { background-color: #ffffff; -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.1); box-shadow: 0 0 8px rgba(0, 0, 0, 0.1); display: table; table-layout: fixed; width: 100%; } .elementor-panel .elementor-panel-navigation .elementor-panel-navigation-tab { display: table-cell; } .elementor-panel .elementor-panel-navigation .elementor-panel-navigation-tab.elementor-active { background-image: -webkit-gradient(linear, left top, left bottom, from(#f1f3f5), to(#fff)); background-image: -o-linear-gradient(top, #f1f3f5, #fff); background-image: linear-gradient(to bottom, #f1f3f5, #fff); border-bottom: 3px solid #93003c; } .elementor-panel .elementor-panel-navigation .elementor-panel-navigation-tab a { display: block; text-align: center; padding: 12px 0 8px; font-size: 10px; color: #6d7882; } .elementor-panel .elementor-panel-navigation .elementor-panel-navigation-tab a:before { font-family: eicons; font-size: 16px; display: block; margin-bottom: 6px; } .elementor-panel .elementor-tab-control-content a:before { content: "\e92c"; } .elementor-panel .elementor-tab-control-style a:before { content: "\e921"; } .elementor-panel .elementor-tab-control-advanced a:before, .elementor-panel .elementor-tab-control-settings a:before, .elementor-panel .elementor-tab-control-general_style a:before { content: "\e916"; } .elementor-panel .elementor-tab-control-responsive a:before { content: "\e885"; } .elementor-panel .elementor-tab-control-layout a:before, .elementor-panel .elementor-tab-control-column a:before { content: "\e899"; } .elementor-panel .elementor-tab-control-lightbox a:before { content: "\e922"; } .elementor-panel #elementor-panel__editor__help { padding: 50px 25px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-panel #elementor-panel__editor__help__link { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; color: #6d7882; font-size: 12px; font-weight: 500; -webkit-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; } .elementor-panel #elementor-panel__editor__help__link i { padding: 0 5px; color: #a4afb7; font-size: 18px; position: relative; } .elementor-panel #elementor-panel__editor__help__link i:after { content: ""; position: absolute; height: 13px; width: 13px; top: 3px; bottom: 0; right: 8px; left: 0; border-radius: 50%; z-index: -1; } .elementor-panel #elementor-panel__editor__help__link:hover { color: #495157; } .elementor-panel #elementor-panel__editor__help__link:hover i { color: #71d7f7; } .elementor-panel #elementor-panel__editor__help__link:hover i:before { content: "\e941"; } .elementor-panel #elementor-panel__editor__help__link:hover i:after { background: #fff; } .elementor-panel #elementor-panel-footer { position: absolute; bottom: 0; left: 0; right: 0; height: 40px; background-color: #495157; } .elementor-panel #elementor-panel-footer-tools { display: table; table-layout: fixed; width: 100%; height: 100%; } .elementor-panel .elementor-panel-footer-tool { display: table-cell; vertical-align: middle; text-align: center; cursor: pointer; color: #a4afb7; -webkit-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; } .elementor-panel .elementor-panel-footer-tool #elementor-panel-saver-button-update { border-left: 1px solid #2d8739; border-radius: 0 3px 3px 0; } .elementor-panel .elementor-panel-footer-tool #elementor-panel-saver-button-update i { margin-left: 5px; } .elementor-panel .elementor-panel-footer-tool #elementor-panel-saver-button-save-options { float: right; border-radius: 3px 0 0 3px; } .elementor-panel .elementor-panel-footer-tool #elementor-panel-saver-button-save-options i { margin: auto; } .elementor-panel .elementor-panel-footer-tool.elementor-open { color: #fff; } .elementor-panel .elementor-panel-footer-tool:not(.elementor-open):hover { color: #d5dadf; } .elementor-panel .elementor-panel-footer-tool:not(.elementor-open) .elementor-panel-footer-sub-menu-wrapper { display: none; } .elementor-panel .elementor-panel-footer-sub-menu-wrapper { position: absolute; bottom: 100%; left: 0; width: 100%; background-color: #556068; padding: 10px; -webkit-box-shadow: -2px -5px 8px rgba(0, 0, 0, 0.1); box-shadow: -2px -5px 8px rgba(0, 0, 0, 0.1); cursor: default; z-index: 10000; } .elementor-panel .elementor-panel-footer-sub-menu { border-radius: 5px; overflow: hidden; } .elementor-panel .elementor-panel-footer-sub-menu-item { background-color: #495157; display: table; table-layout: fixed; width: 100%; cursor: pointer; } .elementor-panel .elementor-panel-footer-sub-menu-item.elementor-disabled .elementor-icon, .elementor-panel .elementor-panel-footer-sub-menu-item.elementor-disabled .elementor-title { color: #6d7882; } .elementor-panel .elementor-panel-footer-sub-menu-item:not(:last-child) { margin-bottom: 1px; } .elementor-panel .elementor-panel-footer-sub-menu-item:hover { background-color: rgba(0, 0, 0, 0.2); } .elementor-panel .elementor-panel-footer-sub-menu-item.active { background-color: rgba(0, 0, 0, 0.3); } .elementor-panel .elementor-panel-footer-sub-menu-item > * { display: table-cell; height: 40px; vertical-align: middle; } .elementor-panel .elementor-panel-footer-sub-menu-item .elementor-icon { width: 40px; color: #a4afb7; } .elementor-panel .elementor-panel-footer-sub-menu-item .elementor-title { text-align: right; color: #d5dadf; } .elementor-panel .elementor-panel-footer-sub-menu-item .elementor-description { width: 95px; text-align: right; font-size: 11px; font-style: italic; color: #a4afb7; } .elementor-panel #elementor-panel-footer-help-title { text-align: right; padding: 10px 0; color: #d5dadf; } .elementor-panel #elementor-panel-footer-responsive > i { display: block; height: 100%; line-height: 40px; } .elementor-panel #elementor-panel-footer-saver-publish { width: 80px; } .elementor-panel #elementor-panel-footer-saver-publish .elementor-button-state i { margin-left: 0; } .elementor-panel #elementor-panel-footer-saver-publish .elementor-button-state #elementor-panel-saver-button-publish-label { display: none; } .elementor-panel #elementor-panel-footer-saver-options { width: 35px; border-right: 1px solid #495157; } .elementor-panel #elementor-panel-footer-saver-options .elementor-last-edited-wrapper { font-size: 11px; font-style: italic; color: #a4afb7; padding: 5px 0 15px; } .elementor-panel #elementor-panel-footer-saver-options .elementor-last-edited-wrapper:not(.elementor-state-active) .elementor-state-icon { display: none; } .elementor-panel #elementor-panel-footer-saver-options .elementor-last-edited-wrapper time { border-bottom: 1px dotted transparent; -webkit-transition: all ease-in-out 0.3s; -o-transition: all ease-in-out 0.3s; transition: all ease-in-out 0.3s; cursor: pointer; } .elementor-panel #elementor-panel-footer-saver-options .elementor-last-edited-wrapper time:hover { border-bottom-color: inherit; } .elementor-panel .elementor-disabled { cursor: default; } .elementor-panel #elementor-panel-saver-button-preview a { color: #a4afb7; } .elementor-panel #elementor-panel-saver-button-publish, .elementor-panel #elementor-panel-saver-button-save-options { font-size: 11px; text-transform: uppercase; height: 26px; } .elementor-panel #elementor-panel-saver-button-publish.elementor-disabled, .elementor-panel #elementor-panel-saver-button-save-options.elementor-disabled { background-color: #556068; color: #a4afb7; } .elementor-panel #elementor-panel-saver-button-publish { width: 100%; border-radius: 0 3px 3px 0; } .elementor-panel #elementor-panel-saver-button-save-options { width: 25px; } #elementor-panel-elements-navigation .elementor-panel-navigation-tab { text-align: center; padding: 10px 0; font-size: 11px; text-transform: uppercase; cursor: pointer; } #elementor-panel-elements { overflow: hidden; } #elementor-panel-state-loading { display: none; } body.elementor-panel-loading #elementor-panel-state-loading { position: absolute; top: 0; left: 0; height: 100%; width: 100%; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; background-color: rgba(255, 255, 255, 0.5); z-index: 2; } #elementor-panel-state-loading .eicon-loading { font-size: 25px; color: #71d7f7; } #elementor-panel-elements-search-area { position: sticky; top: 0; padding: 10px; background-color: #e6e9ec; z-index: 1; } #elementor-panel-elements-search-wrapper { position: relative; } #elementor-panel-elements-search-input { background-color: rgba(255, 255, 255, 0.7); font-size: 11px; padding: 10px 29px 10px 10px; font-style: italic; color: #a4afb7; border: none; -webkit-transition: all 1s; -o-transition: all 1s; transition: all 1s; border-radius: 3px; appearance: none; -webkit-appearance: none; -moz-appearance: none; } #elementor-panel-elements-search-input + i { position: absolute; right: 10px; top: 50%; color: #a4afb7; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); } #elementor-panel-elements-search-input:focus { background-color: rgb(255, 255, 255); padding-left: 15px; } .elementor-panel .elementor-element { border-radius: 3px; background-color: #fff; cursor: move; position: relative; } .elementor-panel .elementor-element-wrapper { text-align: center; -webkit-box-sizing: border-box; box-sizing: border-box; } .elementor-panel .elementor-element--promotion .elementor-element { cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .elementor-panel .elementor-element .icon, .elementor-panel .elementor-element .title { color: #556068; -webkit-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; } .elementor-panel .elementor-element:hover { -webkit-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2); box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2); } .elementor-panel .elementor-element:hover .icon, .elementor-panel .elementor-element:hover .title { color: #93003c; } .elementor-panel .elementor-element .icon { font-size: 28px; padding-top: 15px; } .elementor-panel .elementor-element .elementor-element-title-wrapper { display: table; width: 100%; } .elementor-panel .elementor-element .title { font-size: 11px; display: table-cell; vertical-align: middle; height: 40px; } .elementor-panel .elementor-element > .eicon-lock { position: absolute; top: 5px; left: 5px; color: #e6e9ec; } #elementor-element--promotion__dialog { position: absolute; width: 300px; z-index: 1; background-color: #fff; -webkit-box-shadow: 0 2px 15px rgba(0, 0, 0, 0.3); box-shadow: 0 2px 15px rgba(0, 0, 0, 0.3); border-radius: 3px; } #elementor-element--promotion__dialog:after { content: ""; position: absolute; top: 15px; left: 100%; -webkit-transform: scaleY(0.7); -ms-transform: scaleY(0.7); transform: scaleY(0.7); border: 10px solid transparent; border-left-color: #fff; } #elementor-element--promotion__dialog__title { font-size: 14px; } #elementor-element--promotion__dialog .dialog-header { display: -webkit-box; display: -ms-flexbox; display: flex; padding: 20px; color: #495157; border-bottom: 1px solid #e6e9ec; font-weight: 500; } #elementor-element--promotion__dialog .dialog-header i { color: #a4afb7; } #elementor-element--promotion__dialog .dialog-header .eicon-pro-icon { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; margin-right: 10px; font-size: 14px; } #elementor-element--promotion__dialog .dialog-header .eicon-close { cursor: pointer; } #elementor-element--promotion__dialog .dialog-message { padding: 20px; } #elementor-element--promotion__dialog .dialog-buttons-wrapper { padding: 0 20px 20px 20px; } #elementor-element--promotion__dialog .dialog-button { width: 100%; padding: 6.5px; font-size: 12px; } #elementor-element--promotion__dialog .dialog-button::-moz-focus-inner { border: 0; } #elementor-panel-inner { position: relative; height: 100%; -webkit-box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.2); box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.2); } #elementor-panel-content-wrapper { position: absolute; bottom: 40px; top: 40px; left: 0; width: 100%; } .elementor-panel-container { clear: both; padding-left: 15px; padding-right: 15px; } .media-modal.wp-core-ui input { width: auto; } .media-modal.wp-core-ui select { width: initial; } .media-modal.wp-core-ui fieldset { padding: 0; border: 0; } .media-modal.wp-core-ui .wp-clearfix::after { content: ""; display: table; clear: both; } .media-modal.wp-core-ui .e-wp-media-elements-removed { /* Hack to change the media button selection text, because for some reason the text gets changed when switching tabs. */ } .media-modal.wp-core-ui .e-wp-media-elements-removed .embed-link-settings, .media-modal.wp-core-ui .e-wp-media-elements-removed .embed-media-settings > :not(.wp-clearfix):not(.alt-text):not(#alt-text-description) { display: none; } .media-modal.wp-core-ui .e-wp-media-elements-removed #embed-url-field { width: 70%; } .media-modal.wp-core-ui .e-wp-media-elements-removed .media-embed .thumbnail { margin-top: 20px; } .media-modal.wp-core-ui .e-wp-media-elements-removed .media-embed .thumbnail, .media-modal.wp-core-ui .e-wp-media-elements-removed .media-embed .thumbnail img { max-height: initial; } .media-modal.wp-core-ui .e-wp-media-elements-removed .media-embed .thumbnail::after { -webkit-box-shadow: none; box-shadow: none; } .media-modal.wp-core-ui .e-wp-media-elements-removed .media-button-select { font-size: 0; } .media-modal.wp-core-ui .e-wp-media-elements-removed .media-button-select::before { content: var(--button-text); font-size: 13px; } #elementor-panel-get-pro-elements .elementor-nerd-box-message { margin-top: 10px; } #elementor-panel-get-pro-elements .elementor-nerd-box-icon { margin-top: 20px; } .elementor-control { --control-title-size: 12px; background-color: #fff; position: relative; padding: 0 20px 15px; } .elementor-control a { font-weight: 500; text-decoration: none; border-bottom: 1px dotted transparent; -webkit-transition: all ease-in-out 0.3s; -o-transition: all ease-in-out 0.3s; transition: all ease-in-out 0.3s; } .elementor-control a:hover { border-bottom-color: inherit; } .elementor-control a.elementor-responsive-switcher { border-bottom: 0; } .elementor-control .elementor-control-content { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; } .elementor-control .elementor-control-title { font-size: var(--control-title-size); line-height: 1; margin-left: 5px; } .elementor-control .elementor-control-spinner { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .elementor-control.elementor-control-type-divider { padding: 0; background-color: transparent; } .elementor-control.elementor-control-type-divider .elementor-control-content { border-width: 0; border-color: #e6e9ec; border-style: solid; border-top-width: 1px; background-color: #ffffff; height: 15px; } .elementor-control.elementor-control-separator-default:not(.elementor-control-type-divider).elementor-control-wp { margin-top: 15px; } .elementor-control.elementor-control-separator-default:not(.elementor-control-type-divider).elementor-control-wp:before { content: ""; height: 1px; display: block; margin-bottom: 15px; background-color: transparent; } .elementor-control.elementor-control-separator-before { padding-top: 15px; } .elementor-control.elementor-control-separator-before:before { content: ""; position: absolute; height: 1px; width: 100%; top: 0; left: 0; background-color: #e6e9ec; } .elementor-control.elementor-control-separator-after:after { content: ""; position: absolute; height: 1px; width: 100%; bottom: 0; left: 0; background-color: #e6e9ec; } .elementor-control.elementor-control-separator-after + .elementor-control-type-tabs + .elementor-control-separator-default, .elementor-control.elementor-control-separator-after:not(.elementor-hidden-control) + .elementor-control-separator-default { padding-top: 15px; } .elementor-control.elementor-control-deprecated { color: #b01b1b; } .elementor-control.elementor-control-deprecated .elementor-control-field-description { color: #b01b1b; } .elementor-control.elementor-control-hidden-label > * > .elementor-control-title, .elementor-control.elementor-control-hidden-label > * > * > .elementor-control-title { display: none; } .elementor-control.elementor-hidden-control { display: none; } .elementor-control.elementor-control-type-heading .elementor-control-title { font-weight: bold; margin: 0; } body:not(.elementor-device-widescreen) .elementor-control.elementor-control-responsive-widescreen { display: none; } body:not(.elementor-device-desktop) .elementor-control.elementor-control-responsive-desktop { display: none; } body:not(.elementor-device-laptop) .elementor-control.elementor-control-responsive-laptop { display: none; } body:not(.elementor-device-tablet_extra) .elementor-control.elementor-control-responsive-tablet_extra { display: none; } body:not(.elementor-device-tablet) .elementor-control.elementor-control-responsive-tablet { display: none; } body:not(.elementor-device-mobile_extra) .elementor-control.elementor-control-responsive-mobile_extra { display: none; } body:not(.elementor-device-mobile) .elementor-control.elementor-control-responsive-mobile { display: none; } .elementor-control.elementor-control-type-select .elementor-control-input-wrapper { position: relative; } .elementor-control.elementor-control-type-select .elementor-control-input-wrapper select { appearance: none; -webkit-appearance: none; -moz-appearance: none; font-size: 12px; font-family: inherit; font-weight: inherit; font-style: inherit; text-transform: inherit; letter-spacing: inherit; line-height: inherit; -ms-flex-preferred-size: 100%; flex-basis: 100%; padding-right: 5px; padding-left: 20px; cursor: pointer; } .elementor-control.elementor-control-type-select .elementor-control-input-wrapper select.e-select-placeholder { color: #a4afb7; } .elementor-control.elementor-control-type-select .elementor-control-input-wrapper option.e-option-placeholder { display: none; } .elementor-control.elementor-control-type-select .elementor-control-input-wrapper:after { font-family: eicons; content: "\e8ad"; font-size: 12px; position: absolute; top: 50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); left: 5px; pointer-events: none; } .elementor-control-custom_css_pro .elementor-nerd-box-message, .elementor-control-custom_attributes_pro .elementor-nerd-box-message { margin-top: 5px; } .elementor-control.elementor-control-custom_css_title { font-size: 12px; } .elementor-control.elementor-open .elementor-panel-heading-toggle .eicon:before, .elementor-panel-scheme-item.elementor-open .elementor-panel-heading-toggle .eicon:before { content: "\e92a"; } .elementor-control:not(.elementor-open) .elementor-panel-heading-toggle .eicon:before, .elementor-panel-scheme-item:not(.elementor-open) .elementor-panel-heading-toggle .eicon:before { content: "\e909"; } .elementor-panel-heading { display: table; table-layout: fixed; height: 40px; padding: 0 20px; width: 100%; border-bottom: 1px solid #e6e9ec; cursor: pointer; } .elementor-panel-heading > * { display: table-cell; vertical-align: middle; } .elementor-panel-heading-toggle { width: 20px; color: #495157; } .elementor-panel-heading-title { color: #495157; font-weight: bold; } .elementor-control-wp { line-height: 1.5; } .elementor-control-wp p { margin: 15px 0; } .elementor-control-field { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .elementor-label-block > .elementor-control-content > .elementor-control-field { -ms-flex-wrap: wrap; flex-wrap: wrap; } .elementor-label-block > .elementor-control-content > .elementor-control-field > .elementor-control-input-wrapper { width: 100%; margin-top: 10px; } .elementor-label-block > .elementor-control-content > .elementor-control-field > .elementor-control-input-wrapper > .elementor-choices label { width: auto; -webkit-box-flex: 1; -ms-flex: 1 1 27px; flex: 1 1 27px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-label-block.elementor-control-hidden-label:not(.elementor-control-dynamic) > .elementor-control-content > .elementor-control-field > .elementor-control-input-wrapper { margin-top: 0; } .elementor-label-block.elementor-control-hidden-label.elementor-label-block > .elementor-control-content > .elementor-control-field > .elementor-control-input-wrapper { margin-top: 0; } .elementor-label-inline > .elementor-control-content > .elementor-control-field > .elementor-control-title { -ms-flex-negative: 0; flex-shrink: 0; } .elementor-label-inline > .elementor-control-content > .elementor-control-field > .elementor-control-input-wrapper { margin-right: auto; } .elementor-control-field-description { margin-top: 10px; } .elementor-group-control-attachment_alert .elementor-control-field-description { margin-top: 0; } .elementor-required { color: #b01b1b; } .elementor-units-choices { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; text-align: left; } .elementor-units-choices input { display: none; } .elementor-units-choices input:not(:checked) + label { color: #a4afb7; } .elementor-units-choices input.e-units-placeholder + label { color: #c2cbd2; text-decoration: underline; } .elementor-units-choices input:checked + label { text-decoration: underline; } .elementor-units-choices label { cursor: pointer; padding: 0 2px; text-transform: uppercase; font-size: 9px; } .elementor-control-start-end .eicon-h-align-left, .elementor-control-start-end .eicon-h-align-right { -webkit-transform: rotate(180deg); -ms-transform: rotate(180deg); transform: rotate(180deg); } .elementor-control-responsive-switchers { --selected-option: 0; --pointer-position: var(--selected-option); position: relative; width: 2em; height: 2em; margin: calc( -2em + var(--control-title-size)) 0; margin-left: 5px; } .elementor-control-responsive-switchers__holder { position: absolute; width: 100%; top: 0; background-color: #fff; border-radius: 3px; -webkit-transition: 0.15s; -o-transition: 0.15s; transition: 0.15s; border: 1px transparent solid; } .elementor-control-responsive-switchers.elementor-responsive-switchers-open { z-index: 11000; } .elementor-control-responsive-switchers.elementor-responsive-switchers-open .elementor-responsive-switcher { height: 2em; -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1); opacity: 1; } .elementor-control-responsive-switchers.elementor-responsive-switchers-open .elementor-responsive-switcher:hover { color: #71d7f7; } .elementor-control-responsive-switchers.elementor-responsive-switchers-open .elementor-control-responsive-switchers__holder { top: calc(-1 * var(--selected-option) * 2em); -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.2); box-shadow: 0 0 3px rgba(0, 0, 0, 0.2); } .elementor-responsive-switcher { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; position: relative; z-index: 2; cursor: pointer; height: 0; -webkit-transform: scale(0); -ms-transform: scale(0); transform: scale(0); opacity: 0; -webkit-transition: 0.15s; -o-transition: 0.15s; transition: 0.15s; font-size: 12px; } a.elementor-responsive-switcher { color: #a4afb7; } a.elementor-responsive-switcher:hover { color: #71d7f7; } .elementor-device-widescreen .elementor-responsive-switcher.elementor-responsive-switcher-widescreen { height: 2em; -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1); opacity: 1; } .elementor-device-widescreen .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-widescreen { color: #71d7f7; } .elementor-device-desktop .elementor-responsive-switcher.elementor-responsive-switcher-desktop { height: 2em; -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1); opacity: 1; } .elementor-device-desktop .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-desktop { color: #71d7f7; } .elementor-device-laptop .elementor-responsive-switcher.elementor-responsive-switcher-laptop { height: 2em; -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1); opacity: 1; } .elementor-device-laptop .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-laptop { color: #71d7f7; } .elementor-device-tablet_extra .elementor-responsive-switcher.elementor-responsive-switcher-tablet_extra { height: 2em; -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1); opacity: 1; } .elementor-device-tablet_extra .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-tablet_extra { color: #71d7f7; } .elementor-device-tablet .elementor-responsive-switcher.elementor-responsive-switcher-tablet { height: 2em; -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1); opacity: 1; } .elementor-device-tablet .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-tablet { color: #71d7f7; } .elementor-device-mobile_extra .elementor-responsive-switcher.elementor-responsive-switcher-mobile_extra { height: 2em; -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1); opacity: 1; } .elementor-device-mobile_extra .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-mobile_extra { color: #71d7f7; } .elementor-device-mobile .elementor-responsive-switcher.elementor-responsive-switcher-mobile { height: 2em; -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1); opacity: 1; } .elementor-device-mobile .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-mobile { color: #71d7f7; } .elementor-update-preview { margin: 15px 15px 0; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .elementor-update-preview-button-wrapper { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; text-align: left; } .elementor-update-preview-button { padding: 8px 15px; text-transform: uppercase; } .elementor-control-direction-ltr input, .elementor-control-direction-ltr textarea { direction: ltr; } .elementor-control-direction-rtl input, .elementor-control-direction-rtl textarea { direction: rtl; } .elementor-control-type-button .elementor-control-input-wrapper { text-align: left; } .elementor-control-type-button .elementor-button { width: auto; height: 26px; } .elementor-control-type-choose.elementor-label-block .elementor-choices { width: 100%; } .elementor-choices { display: -webkit-box; display: -ms-flexbox; display: flex; height: 27px; line-height: 27px; text-align: center; border-spacing: 1px; border-radius: 3px; overflow: hidden; } .elementor-choices .elementor-choices-label { border-top: 1px solid #d5dadf; border-bottom: 1px solid #d5dadf; border-right: 1px solid #d5dadf; border-left: none; font-size: 12px; -webkit-transition: all 0.5s; -o-transition: all 0.5s; transition: all 0.5s; cursor: pointer; overflow: hidden; } .elementor-choices .elementor-choices-label:nth-child(2) { border-top-right-radius: 3px; border-bottom-right-radius: 3px; } .elementor-choices .elementor-choices-label:last-child { border-left: 1px solid #d5dadf; border-top-left-radius: 3px; border-bottom-left-radius: 3px; } .elementor-choices input { display: none; } .elementor-choices input.e-choose-placeholder + .elementor-choices-label { color: #ffffff; background-color: #c2cbd2; border-color: #c2cbd2; } .elementor-choices input:checked + .elementor-choices-label { color: #fff; background-color: #a4afb7; border-color: #a4afb7; } .elementor-label-inline .elementor-choices { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; } .rtl .elementor-control-type-choose[class*=elementor-control-text_align] .elementor-choices, .rtl .elementor-control-type-choose[class*=elementor-control-align] .elementor-choices, .rtl .elementor-control-type-choose[class*=elementor-control-position] .elementor-choices { -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; } .rtl .elementor-control-type-choose[class*=elementor-control-text_align] .elementor-choices .elementor-choices-label:nth-child(2), .rtl .elementor-control-type-choose[class*=elementor-control-align] .elementor-choices .elementor-choices-label:nth-child(2), .rtl .elementor-control-type-choose[class*=elementor-control-position] .elementor-choices .elementor-choices-label:nth-child(2) { border-left: 1px solid #d5dadf; border-radius: 3px 0 0 3px; } .rtl .elementor-control-type-choose[class*=elementor-control-text_align] .elementor-choices .elementor-choices-label:last-child, .rtl .elementor-control-type-choose[class*=elementor-control-align] .elementor-choices .elementor-choices-label:last-child, .rtl .elementor-control-type-choose[class*=elementor-control-position] .elementor-choices .elementor-choices-label:last-child { border-left: none; border-radius: 0 3px 3px 0; } .elementor-control-type-color.e-control-global .e-global__popover-toggle ~ .pickr { border-radius: 3px 0 0 3px; -ms-flex-negative: 0; flex-shrink: 0; } .elementor-control-type-color .elementor-control-title { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; } .elementor-control-type-color .elementor-control-input-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; } .elementor-control-type-color .elementor-control-dynamic-switcher { border-right-width: 0; border-radius: 3px 0 0 3px; } .elementor-control-type-color.elementor-control-dynamic .pickr { border-radius: 0 3px 3px 0; } .elementor-group-control-css-filter .elementor-slider { height: 6px; -webkit-box-shadow: 0 0 1px 1px inset rgba(0, 0, 0, 0.2); box-shadow: 0 0 1px 1px inset rgba(0, 0, 0, 0.2); } .elementor-group-control-css-filter .elementor-control-content > .elementor-control-field > .elementor-control-input-wrapper { margin-top: 0; margin-bottom: 5px; } .elementor-group-control-blur .elementor-slider { background: url("../images/blur.png"); background-size: cover; background-position: center; } .elementor-group-control-contrast .elementor-slider { background: url("../images/contrast.png"); background-size: 100% 100%; } .elementor-group-control-hue .elementor-slider { background-image: -webkit-gradient(linear, left top, right top, from(red), color-stop(orange), color-stop(yellow), color-stop(greenyellow), color-stop(limegreen), color-stop(deepskyblue), color-stop(blue), color-stop(95%, darkviolet)); background-image: -o-linear-gradient(left, red, orange, yellow, greenyellow, limegreen, deepskyblue, blue, darkviolet 95%); background-image: linear-gradient(to right, red, orange, yellow, greenyellow, limegreen, deepskyblue, blue, darkviolet 95%); } .elementor-group-control-saturate .elementor-slider { background-image: -webkit-gradient(linear, left top, right top, from(gray), to(red)); background-image: -o-linear-gradient(left, gray, red); background-image: linear-gradient(to right, gray, red); } .elementor-group-control-brightness .elementor-slider { background-image: -webkit-gradient(linear, left top, right top, from(black), to(white)); background-image: -o-linear-gradient(left, black, white); background-image: linear-gradient(to right, black, white); } .elementor-control-type-dimensions .elementor-control-dimensions { overflow: hidden; } .elementor-control-type-dimensions li { float: left; width: 20%; } .elementor-control-type-dimensions li input, .elementor-control-type-dimensions li .elementor-link-dimensions { display: block; text-align: center; width: 100%; border-color: #d5dadf; height: 27px; } .elementor-control-type-dimensions li input { border-left: none; border-radius: 0; padding: 4px 0; } .elementor-control-type-dimensions li input:focus { border-left: solid 1px; border-color: #a4afb7; margin-left: -1px; width: calc(100% + 1px); } .elementor-control-type-dimensions li input:focus + .elementor-control-dimension-label { color: #a4afb7; } .elementor-control-type-dimensions li .elementor-link-dimensions { border: 1px solid #d5dadf; border-left: none; background-color: #fff; padding: 0; outline: none; border-radius: 0 3px 3px 0; cursor: pointer; } .elementor-control-type-dimensions li:first-child input { border-left: 1px solid #d5dadf; border-radius: 3px 0 0 3px; } .elementor-control-type-dimensions li:first-child input:focus { border-color: #a4afb7; margin-left: 0; width: 100%; } .elementor-control-type-dimensions .elementor-control-dimension-label { display: block; text-align: center; color: #d5dadf; font-size: 9px; text-transform: uppercase; padding-top: 5px; } .elementor-control-type-dimensions .elementor-link-dimensions.unlinked { background-color: #fff; } .elementor-control-type-dimensions .elementor-link-dimensions.unlinked .elementor-linked { display: none; } .elementor-control-type-dimensions .elementor-link-dimensions:not(.unlinked) { background-color: #a4afb7; border-color: #a4afb7; } .elementor-control-type-dimensions .elementor-link-dimensions:not(.unlinked) .elementor-unlinked { display: none; } .elementor-control-type-dimensions .elementor-link-dimensions .elementor-linked { color: #fff; } .elementor-control-type-icons .elementor-control-media__preview > * { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); } .elementor-control-type-icons .elementor-control-media__preview i { font-size: 70px; color: #6d7882; } .elementor-control-type-icons .elementor-control-media__preview svg { height: 75%; } .elementor-control-type-icons .elementor-control-icons--inline__svg i.eicon-upload { font-size: 15px; } .elementor-control-type-gallery .elementor-control-media__content { border: 1px solid #d5dadf; border-radius: 3px; } .elementor-control-type-gallery .elementor-control-gallery-status { font-size: 12px; height: 27px; padding-right: 10px; border-bottom: 1px solid #d5dadf; display: -webkit-box; display: -ms-flexbox; display: flex; } .elementor-control-type-gallery .elementor-control-gallery-status > * { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .elementor-control-type-gallery .elementor-control-gallery-status-title { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; } .elementor-control-type-gallery .elementor-control-gallery-content { position: relative; overflow: hidden; } .elementor-control-type-gallery .elementor-control-gallery-content:not(:hover) .elementor-control-gallery-edit { opacity: 0; } .elementor-control-type-gallery .elementor-control-gallery-thumbnails { display: grid; grid-template-columns: repeat(auto-fill, minmax(48px, 1fr)); grid-gap: 10px; cursor: pointer; padding: 10px; } .elementor-control-type-gallery .elementor-control-gallery-thumbnail { width: 48px; height: 48px; background-size: cover; background-position: 50% 50%; } .elementor-control-type-gallery .elementor-control-gallery-edit { position: absolute; top: 0; bottom: 0; left: 0; right: 0; background-color: rgba(109, 120, 130, 0.3); padding: 10px; font-size: 11px; -webkit-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; pointer-events: none; cursor: pointer; opacity: 1; } .elementor-control-type-gallery .elementor-control-gallery-edit span { position: absolute; top: 10px; left: 10px; width: 21px; height: 21px; background-color: rgba(255, 255, 255, 0.9); color: #a4afb7; -webkit-box-shadow: 0 0 7px 0 rgba(0, 0, 0, 0.2); box-shadow: 0 0 7px 0 rgba(0, 0, 0, 0.2); border-radius: 3px; } .elementor-control-type-gallery .elementor-control-gallery-edit span i { font-size: 11px; padding: 5px; } .elementor-control-type-gallery .elementor-control-gallery-add { width: 48px; height: 48px; color: #fff; background-color: #d5dadf; font-size: 14px; border-radius: 0; } .elementor-control-type-gallery .elementor-control-gallery-add:hover { background-color: #c2cbd2; } .elementor-control-type-gallery .elementor-control-gallery-add i { margin: 0; color: #a4afb7; } .elementor-control-type-gallery.elementor-gallery-empty .elementor-control-gallery-clear, .elementor-control-type-gallery.elementor-gallery-empty .elementor-control-gallery-thumbnails, .elementor-control-type-gallery.elementor-gallery-empty .elementor-control-gallery-edit { display: none; } .elementor-control-type-gallery.elementor-gallery-empty .elementor-control-gallery-content { padding: 10px; } .elementor-control-type-gallery.elementor-gallery-has-images .elementor-control-gallery-add { display: none; } .elementor-control-type-gallery.elementor-control-dynamic .elementor-control-gallery-clear { border-right: 1px solid #d5dadf; } .elementor-control-type-gallery .elementor-control-gallery-clear { cursor: pointer; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-control-type-gallery .elementor-control-gallery-clear:hover { color: #b01b1b; } .elementor-control-type-gallery .elementor-control-dynamic-switcher { border: none; border-bottom: 1px solid #d5dadf; border-right: 1px solid #d5dadf; border-radius: 3px 0 0 0; } .e-global__popover { width: 288px; z-index: 1; font-size: 12px; padding-right: 10px; } .e-global__popover-toggle { border: 1px solid #d5dadf; border-left: 0; border-radius: 0 3px 3px 0; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; cursor: pointer; } .e-global__popover-toggle--active i { color: #71d7f7; } .e-global__popover-container { -webkit-box-shadow: 0 2px 15px rgba(0, 0, 0, 0.3); box-shadow: 0 2px 15px rgba(0, 0, 0, 0.3); border-radius: 3px; background-color: #fff; padding-bottom: 5px; } .e-global__popover-title { padding: 15px 20px; font-weight: 500; color: #6d7882; border-bottom: 1px solid #e6e9ec; display: -webkit-box; display: -ms-flexbox; display: flex; } .e-global__popover-title > i { margin-left: 5px; color: #d5dadf; } .e-global__popover-title-text { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; } .e-global__popover-info { margin-left: 5px; display: inline-block; } .e-global__popover-info-tooltip { width: 270px; z-index: 1; background-color: rgba(0, 0, 0, 0.9); color: #fff; padding: 20px; border-radius: 3px; } .e-global__popover-info-tooltip:after { content: ""; position: absolute; bottom: -17px; right: 16px; border: 10px solid transparent; border-top-color: rgba(0, 0, 0, 0.9); } .e-global__popover-info i { color: #d5dadf; font-size: 13px; } .e-global__preview-items-container { max-height: 260px; overflow-y: auto; margin-top: 5px; } .e-global__preview-items-container::-webkit-scrollbar { width: 7px; } .e-global__preview-items-container::-webkit-scrollbar-thumb { background-color: #c2cbd2; border-radius: 10px; } .e-global__manage-button { font-weight: 500; cursor: pointer; } .e-global__manage-button:hover i { color: #4ab7f4; } .e-global__manage-button i { color: #6d7882; } .e-global__typography { padding: 5px 35px 5px 10px; white-space: nowrap; -o-text-overflow: ellipsis; text-overflow: ellipsis; overflow: hidden; } .e-global__typography.e-global__preview-item--selected:before { font-family: "eicons"; font-size: 13px; content: "\e90e"; position: absolute; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); top: 50%; left: 12px; } .e-global__color { margin: 5px auto; padding: 5px 20px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .e-global__color:first-child { margin-top: 5px; } .e-global__color:last-child { margin-bottom: 10px; } .e-global__color-preview-container { height: 20px; width: 20px; border-radius: 3px; border: 1px solid rgba(0, 0, 0, 0.1); margin-left: 10px; -ms-flex-negative: 0; flex-shrink: 0; position: relative; } .e-global__color-preview-color, .e-global__color-preview-transparent-bg { border-radius: 3px; height: 100%; width: 100%; position: absolute; top: 0; left: 0; } .e-global__color-preview-transparent-bg { background-image: -o-linear-gradient(45deg, #ddd 25%, transparent 0, transparent 75%, #ddd 0, #ddd), -o-linear-gradient(45deg, #ddd 25%, transparent 0, transparent 75%, #ddd 0, #ddd); background-image: linear-gradient(45deg, #ddd 25%, transparent 0, transparent 75%, #ddd 0, #ddd), linear-gradient(45deg, #ddd 25%, transparent 0, transparent 75%, #ddd 0, #ddd); background-size: 12px 12px; background-position: 0 0, 6px 6px; } .e-global__color-title { font-weight: 500; color: #6d7882; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; white-space: nowrap; -o-text-overflow: ellipsis; text-overflow: ellipsis; overflow: hidden; padding-left: 10px; } .e-global__color-hex { font-size: 10px; font-weight: 500; color: #c2cbd2; } .e-global__color .pcr-button { background-color: #fff; } .e-global__color.e-global__preview-item--selected .e-global__color-preview-container { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; color: #ffffff; } .e-global__color.e-global__preview-item--selected .e-global__color-preview-container:before { font-family: "eicons"; font-size: 13px; content: "\e90e"; text-shadow: 0px 0px 1px #000; z-index: 1; } .e-global__preview-item { cursor: pointer; position: relative; } .e-global__preview-item:hover { background-color: #f1f3f5; } .e-global__preview-item:hover .e-global__color-hex { color: #a4afb7; } .e-global__confirm-add .dialog-buttons-wrapper > .dialog-button.dialog-confirm-ok { color: #39b54a; } .e-global__confirm-delete i { color: #b01b1b; } .e-global__confirm-message-text i { color: #fcb92c; } .e-global__confirm-input-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; border: 1px solid #a4afb7; border-radius: 3px; margin-top: 10px; padding: 2px; } .e-global__confirm-input-wrapper input { font-family: Roboto, Arial, sans-serif; font-weight: 500; font-size: 12px; padding: 2px; border: 0; } .e-control-global .elementor-control-input-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; max-width: 135px; width: 100%; } .e-control-global.elementor-control .elementor-control-input-wrapper { direction: rtl; } .e-control-global .elementor-control-spinner { margin-left: 4px; } .elementor-control-type-hidden { display: none !important; } .elementor-control-type-icon .select2-selection__rendered .eicon { margin-right: 3px; } .elementor-control-type-image_dimensions .elementor-control-field-description { margin: 0 0 15px; line-height: 1.4; } .elementor-control-type-image_dimensions .elementor-control-input-wrapper { overflow: hidden; } .elementor-control-type-image_dimensions .elementor-image-dimensions-field { width: 65px; float: right; } .elementor-control-type-image_dimensions .elementor-image-dimensions-field input:focus + .elementor-image-dimensions-field-description { color: #a4afb7; } .elementor-control-type-image_dimensions .elementor-image-dimensions-separator { width: 20px; text-align: center; float: right; padding-top: 4px; } .elementor-control-type-image_dimensions .elementor-image-dimensions-field-description { display: block; text-transform: uppercase; margin-top: 5px; color: #d5dadf; font-size: 9px; text-align: center; } .elementor-control-type-image_dimensions .elementor-image-dimensions-apply-button { float: left; height: 27px; width: 65px; } .elementor-control-media.elementor-media-empty .elementor-control-media-area .elementor-control-media__remove, .elementor-control-media.elementor-media-empty .elementor-control-media-area .elementor-control-media__content__remove { display: none; } .elementor-control-media:not(.elementor-media-empty) .elementor-control-media__content__upload-button { display: none; } .elementor-control-media .elementor-control-input-wrapper { border: 1px solid #d5dadf; } .elementor-control-media .eicon-plus-circle { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); color: #fff; font-size: 20px; } .elementor-control-media__content__upload-button { background-color: #d5dadf; } .elementor-control-media__preview { height: 100%; background-size: cover; background-position: center; } .elementor-control-media-area { background-image: -o-linear-gradient(45deg, #ddd 25%, transparent 0, transparent 75%, #ddd 0, #ddd), -o-linear-gradient(45deg, #ddd 25%, transparent 0, transparent 75%, #ddd 0, #ddd); background-image: linear-gradient(45deg, #ddd 25%, transparent 0, transparent 75%, #ddd 0, #ddd), linear-gradient(45deg, #ddd 25%, transparent 0, transparent 75%, #ddd 0, #ddd); background-size: 16px 16px; background-position: 0 0, 8px 8px; background-color: #f6f6f6; } .elementor-control-media-area:not(:hover) .elementor-control-media__remove { display: none; } .elementor-control-media-area .eicon-video-camera { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); color: rgba(255, 255, 255, 0.7); font-size: 21px; } .elementor-control-media .elementor-control-media__content { cursor: pointer; overflow: hidden; } .elementor-control-media .elementor-control-media__content:hover:after { content: ""; position: absolute; top: 0; bottom: 0; left: 0; right: 0; background-color: rgba(0, 0, 0, 0.2); pointer-events: none; } .elementor-control-media .elementor-control-media__content:not(:hover) .elementor-control-media__tools { bottom: -30px; } .elementor-control-media__content { -webkit-transition: all 0.2s ease-in-out; -o-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out; } .elementor-control-media__tools { position: absolute; bottom: 0; left: 0; right: 0; height: 27px; -webkit-transition: all 0.2s ease-in-out; -o-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out; } .elementor-control-media__tools > *:not(:first-child) { margin-right: 1px; } .elementor-control-media__tool { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; color: #fff; background-color: rgba(109, 120, 130, 0.85); font-size: 11px; -webkit-transition: background 0.3s; -o-transition: background 0.3s; transition: background 0.3s; } .elementor-control-media__tool:hover { background-color: rgba(109, 120, 130, 0.95); } .elementor-control-media__remove { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; } .elementor-control-media__content__remove { position: absolute; z-index: 1; top: 10px; left: 10px; width: 20px; height: 20px; font-size: 11px; color: #a4afb7; background-color: rgba(255, 255, 255, 0.9); border-radius: 3px; -webkit-box-shadow: 0 0 7px 0 rgba(0, 0, 0, 0.1); box-shadow: 0 0 7px 0 rgba(0, 0, 0, 0.1); } .elementor-control-media__content__remove:hover { background-color: white; -webkit-box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.4); box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.4); } .elementor-control-media.elementor-media-empty .elementor-control-file-area { display: none; } .elementor-control-media__file { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; width: 100%; margin-top: 10px; border: 1px solid #d5dadf; } .elementor-control-media__file__content { padding-right: 5px; font-size: 12px; } .elementor-control-media__file__content__label { color: #a4afb7; } .elementor-control-media__file__content__info { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; font-weight: 500; } .elementor-control-media__file__content__info__icon { margin-left: 5px; } .elementor-control-media__file__controls { display: -webkit-box; display: -ms-flexbox; display: flex; border-right: 1px solid #d5dadf; } .elementor-control-media__file__controls__upload-button, .elementor-control-media__file__controls__remove { width: 27px; height: 27px; cursor: pointer; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .elementor-control-media__file__controls__upload-button { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-control-media__file__controls__remove { border-left: 1px solid #d5dadf; } .elementor-control-media:not(.elementor-media-empty) .elementor-control-media__file__content__label { display: none; } .elementor-control-media.elementor-media-empty .elementor-control-media__file__content__info { display: none; } .elementor-control-media.elementor-media-empty .elementor-control-media__file__controls__remove { display: none; } .elementor-control-media .elementor-control-dynamic-switcher { border: none; border-radius: 0; background-color: rgba(109, 120, 130, 0.85); color: #fff; } .elementor-control-media .elementor-control-dynamic-switcher:hover { background-color: rgba(109, 120, 130, 0.95); } .elementor-control-type-media.elementor-control-dynamic-value .elementor-control-input-wrapper { border: none; } .elementor-control:not(.elementor-control-type-icons) .elementor-control-media__preview { background-color: #d5dadf; } .elementor-control-type-number.elementor-control-dynamic input { border-radius: 0 3px 3px 0; border-left: none; } .elementor-control-type-number.elementor-control-dynamic .elementor-control-dynamic-switcher { border-radius: 3px 0 0 3px; } .elementor-control-type-order .elementor-control-oreder-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; } .elementor-control-type-order input { display: none; } .elementor-control-type-order input:checked + .elementor-control-order-label { -webkit-transform: scale(1, -1); -ms-transform: scale(1, -1); transform: scale(1, -1); } .elementor-control-type-order select { border-radius: 3px 0 0 3px; } .elementor-control-type-order select:not(:focus) ~ .elementor-control-order-label { border-color: #d5dadf; } .elementor-control-type-order select:focus ~ .elementor-control-order-label { border-color: #a4afb7; } .elementor-control-type-order .elementor-control-order-label { position: relative; padding: 0; width: 40px; border: 1px solid; font-size: 10px; border-radius: 0 3px 3px 0; margin-left: -3px; background-color: #fff; cursor: pointer; } .elementor-control-type-order .elementor-control-order-label i { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); } .elementor-control-type-popover_toggle input { display: none; } .elementor-control-type-popover_toggle label { cursor: pointer; } .elementor-control-type-popover_toggle .elementor-control-input-wrapper { direction: ltr; } .elementor-control-type-popover_toggle .elementor-control-popover-toggle-toggle:checked + .elementor-control-popover-toggle-toggle-label { color: #71d7f7; } .elementor-control-type-popover_toggle .elementor-control-popover-toggle-toggle:not(:checked) ~ .elementor-control-popover-toggle-reset-label { display: none; } .elementor-control-type-popover_toggle .elementor-control-popover-toggle-reset-label { color: #c2cbd2; margin-left: 5px; } .elementor-control-type-popover_toggle .elementor-control-popover-toggle-toggle-label { height: 27px; display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; border-radius: 3px; border: 1px solid #d5dadf; } .elementor-controls-popover.e-controls-popover--typography { padding-top: 0; } .e-control-global .elementor-control-popover-toggle-toggle-label { border-radius: 3px 0 0 3px; -ms-flex-negative: 0; flex-shrink: 0; } .elementor-control-type-repeater .elementor-control:not(.elementor-control-type-tab) { padding-right: 10px; padding-left: 10px; padding-bottom: 10px; } .elementor-control-type-repeater.elementor-repeater-has-minimum-rows .elementor-repeater-tool-remove { display: none; } .elementor-control-type-repeater .elementor-repeater-fields { margin: 10px 0; } .elementor-control-type-repeater .elementor-repeater-row-controls { border: 1px solid #d5dadf; border-top-width: 0; padding-top: 15px; } .elementor-control-type-repeater .elementor-repeater-row-controls:not(.editable) { display: none; } .elementor-control-type-repeater .elementor-repeater-row-tools { display: table; table-layout: fixed; width: 100%; color: #556068; background-color: #d5dadf; height: 40px; border-spacing: 1px; -webkit-transition: all 0.5s; -o-transition: all 0.5s; transition: all 0.5s; } .elementor-control-type-repeater .elementor-repeater-row-tools:hover { background-color: #a4afb7; } .elementor-control-type-repeater .elementor-repeater-row-tools > div { display: table-cell; text-align: center; vertical-align: middle; cursor: pointer; } .elementor-control-type-repeater .elementor-repeater-row-tools > div:not(.elementor-repeater-row-handle-sortable) { background-color: #fff; } .elementor-control-type-repeater .elementor-repeater-row-tools > div:hover { opacity: 0.95; } .elementor-control-type-repeater .elementor-repeater-row-tools .elementor-repeater-row-item-title { text-align: right; padding: 0 10px; font-size: 12px; white-space: nowrap; -o-text-overflow: ellipsis; text-overflow: ellipsis; overflow: hidden; } .elementor-control-type-repeater .elementor-repeater-row-tools .elementor-repeater-row-item-title .eicon, .elementor-control-type-repeater .elementor-repeater-row-tools .elementor-repeater-row-item-title i, .elementor-control-type-repeater .elementor-repeater-row-tools .elementor-repeater-row-item-title svg { margin-left: 5px; } .elementor-control-type-repeater .elementor-repeater-row-tools .elementor-repeater-row-item-title img[src$=svg] { width: 1em; } .elementor-control-type-repeater .elementor-repeater-row-tools .elementor-repeater-row-tool { width: 40px; } .elementor-control-type-repeater .elementor-repeater-row-tools .elementor-repeater-row-handle-sortable { cursor: move; width: 10px; color: #fff; } .elementor-control-type-repeater .elementor-button-wrapper { text-align: center; padding-top: 5px; } .elementor-control-type-section { margin-top: 10px; padding: 0; } .elementor-control-type-section.elementor-open { padding-bottom: 15px; } .elementor-control-type-section + .elementor-control:not(.elementor-control-type-section):before { display: none; } .elementor-shadow-box .elementor-shadow-slider { margin-top: 10px; } .elementor-shadow-box .elementor-color-picker-wrapper .elementor-control-title { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; } .elementor-control-type-slider.elementor-control-dynamic input { border-radius: 0 3px 3px 0; } .elementor-control-type-slider .elementor-control-unit-2 { width: 21%; } .elementor-control-type-slider.elementor-control-type-slider--multiple .elementor-control-input-wrapper { display: block; } .elementor-control-type-slider--multiple { padding-bottom: 40px; } .elementor-control-type-slider--multiple .elementor-slider { margin-top: 12px; width: 98%; } .elementor-control-type-slider--handles-range .elementor-slider .noUi-handle { border-radius: 0; width: 10px; -webkit-transform: translateY(calc(50% - 14px)) translateX(-4px); -ms-transform: translateY(calc(50% - 14px)) translateX(-4px); transform: translateY(calc(50% - 14px)) translateX(-4px); } .elementor-control-type-slider--handles-range .elementor-slider .noUi-handle:after { content: ""; position: absolute; top: 2px; height: 12px; width: 11px; -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); background-color: #fff; border-radius: 3px; } .elementor-control-type-slider--handles-range .elementor-slider .noUi-handle-lower:after { left: 5px; -webkit-box-shadow: 2px -2px 3px 0px rgba(0, 0, 0, 0.1); box-shadow: 2px -2px 3px 0px rgba(0, 0, 0, 0.1); } .elementor-control-type-slider--handles-range .elementor-slider .noUi-handle-upper:after { right: 5px; -webkit-box-shadow: -2px 2px 3px 0px rgba(0, 0, 0, 0.1); box-shadow: -2px 2px 3px 0px rgba(0, 0, 0, 0.1); } .elementor-control-type-slider .elementor-control-dynamic-switcher { border-right-width: 0; border-radius: 3px 0 0 3px; } .elementor-control-type-slider .elementor-control-input-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .elementor-control-type-slider .elementor-dynamic-cover { margin-top: 10px; } .elementor-slider { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; height: 4px; background-color: #d5dadf; border-radius: 5px; position: relative; cursor: pointer; } .elementor-slider-input { width: 21%; min-width: 54px; margin-right: 12px; } .elementor-slider__extra { position: relative; } .elementor-slider__labels { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; } .elementor-slider__label { font-size: 9px; color: #c2cbd2; } .elementor-slider__scales { position: absolute; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: space-evenly; -ms-flex-pack: space-evenly; justify-content: space-evenly; width: 100%; margin-top: 4px; } .elementor-slider__scale { width: 1px; height: 21px; background-color: #a4afb7; } .elementor-slider .noUi-handle { height: 16px; width: 16px; background-color: #fff; left: 0; -webkit-transform: translateY(calc(50% - 14px)) translateX(-8px); -ms-transform: translateY(calc(50% - 14px)) translateX(-8px); transform: translateY(calc(50% - 14px)) translateX(-8px); position: absolute; -webkit-box-shadow: 0 1px 5px rgba(0, 0, 0, 0.3); box-shadow: 0 1px 5px rgba(0, 0, 0, 0.3); border-radius: 50%; } .elementor-slider .noUi-connects { position: absolute; width: 100%; height: 4px; } .elementor-slider .noUi-connect { position: absolute; z-index: 0; top: 0; left: 0; height: 100%; width: 100%; will-change: transform; -webkit-transform-origin: 0 0; -ms-transform-origin: 0 0; transform-origin: 0 0; background-color: #a4afb7; } .elementor-slider .noUi-tooltip { position: absolute; top: calc(100% + 5px); left: calc(50% - 4px); -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); font-size: 10px; } .elementor-control-type-structure .elementor-control-field { display: initial; } .elementor-control-type-structure .elementor-control-structure-preset { padding: 3px; border-radius: 3px; display: inline-block; cursor: pointer; height: 50px; } .elementor-control-type-structure .elementor-control-structure-preset svg { height: 100%; } .elementor-control-type-structure .elementor-control-structure-preset path { fill: #e6e9ec; } .elementor-control-type-structure .elementor-control-structure-reset { padding: 15px 20px 0; font-size: 11px; cursor: pointer; color: #a4afb7; border-top: 1px solid #e6e9ec; margin: 0 -20px; } .elementor-control-type-structure .elementor-control-structure-title { margin: 10px -20px 0; } .elementor-control-type-structure .elementor-control-structure-title:before { height: 10px; -webkit-box-shadow: inset 0 2px 4px rgba(127, 127, 127, 0.1); box-shadow: inset 0 2px 4px rgba(127, 127, 127, 0.1); } .elementor-control-type-structure .elementor-control-structure-presets { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; } .elementor-control-type-structure .elementor-control-structure-presets input { display: none; } .elementor-control-type-structure .elementor-control-structure-presets input:checked + .elementor-control-structure-preset path { fill: #a4afb7; } .elementor-control-type-structure .elementor-control-structure-preset-wrapper { margin-bottom: 15px; } .elementor-control-type-structure .elementor-control-structure-preset-title { text-align: center; padding-top: 5px; font-style: italic; font-size: 11px; color: #a4afb7; } .elementor-control-type-switcher .elementor-control-input-wrapper { text-align: left; } .elementor-control-type-switcher .elementor-switch { position: relative; display: inline-block; vertical-align: top; height: 20px; background-color: white; border-radius: 18px; cursor: pointer; } .elementor-control-type-switcher .elementor-switch-input { display: none; } .elementor-control-type-switcher .elementor-switch-label { position: relative; display: block; height: inherit; font-size: 7px; text-transform: uppercase; background: #eceeef; border-radius: inherit; -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.12), inset 0 0 2px rgba(0, 0, 0, 0.15); box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.12), inset 0 0 2px rgba(0, 0, 0, 0.15); -webkit-transition: 0.15s ease-out; -o-transition: 0.15s ease-out; transition: 0.15s ease-out; -webkit-transition-property: opacity, background; -o-transition-property: opacity, background; transition-property: opacity, background; } .elementor-control-type-switcher .elementor-switch-label:before, .elementor-control-type-switcher .elementor-switch-label:after { position: absolute; top: 0; width: 50%; text-align: center; line-height: 20px; -webkit-transition: inherit; -o-transition: inherit; transition: inherit; } .elementor-control-type-switcher .elementor-switch-label:before { content: attr(data-off); right: 3px; color: #a4afb7; text-shadow: 0 1px rgba(255, 255, 255, 0.5); } .elementor-control-type-switcher .elementor-switch-label:after { content: attr(data-on); left: 3px; color: white; text-shadow: 0 1px rgba(0, 0, 0, 0.2); opacity: 0; } .elementor-control-type-switcher .elementor-switch-input:checked ~ .elementor-switch-label { background: #71d7f7; -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.15), inset 0 0 3px rgba(0, 0, 0, 0.2); box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.15), inset 0 0 3px rgba(0, 0, 0, 0.2); } .elementor-control-type-switcher .elementor-switch-input:checked ~ .elementor-switch-label:before { opacity: 0; } .elementor-control-type-switcher .elementor-switch-input:checked ~ .elementor-switch-label:after { opacity: 1; } .elementor-control-type-switcher .elementor-switch-handle { position: absolute; top: 1px; left: 1px; width: 18px; height: 18px; background: white; border-radius: 10px; -webkit-transition: left 0.15s ease-out; -o-transition: left 0.15s ease-out; transition: left 0.15s ease-out; } .elementor-control-type-switcher .elementor-switch-input:checked ~ .elementor-switch-handle { left: initial; right: 1px; -webkit-box-shadow: -1px 1px 5px rgba(0, 0, 0, 0.2); box-shadow: -1px 1px 5px rgba(0, 0, 0, 0.2); } .elementor-control-type-tabs { font-size: 0.8em; text-transform: uppercase; display: -webkit-box; display: -ms-flexbox; display: flex; } .elementor-control-type-tab { text-align: center; width: 100%; padding: 0; line-height: 25px; border-top: 1px solid #d5dadf; border-bottom: 1px solid #d5dadf; border-left: 1px solid #d5dadf; cursor: pointer; } .elementor-control-type-tab:first-child { border-right: 1px solid #d5dadf; border-top-right-radius: 3px; border-bottom-right-radius: 3px; } .elementor-control-type-tab:last-child { border-top-left-radius: 3px; border-bottom-left-radius: 3px; } .elementor-control-type-tab.elementor-tab-active { background-color: #a4afb7; border-color: #a4afb7; color: #ffffff; } .elementor-tab-close { display: none !important; } .elementor-control-type-textarea.elementor-control-dynamic-value .elementor-control-dynamic-switcher, .elementor-control-type-code.elementor-control-dynamic-value .elementor-control-dynamic-switcher { border-radius: 3px 0 0 3px; border-right-width: 0; } .elementor-control-type-textarea .elementor-control-dynamic-switcher, .elementor-control-type-code .elementor-control-dynamic-switcher { border-radius: 0 3px; } .elementor-control-type-textarea:not(.elementor-control-dynamic-value) .elementor-control-dynamic-switcher, .elementor-control-type-code:not(.elementor-control-dynamic-value) .elementor-control-dynamic-switcher { position: absolute; top: 0; z-index: 1; right: 0; } .elementor-control-type-textarea .elementor-control-input-wrapper, .elementor-control-type-code .elementor-control-input-wrapper { position: relative; } .elementor-control-type-textarea textarea, .elementor-control-type-code textarea { display: block; font-family: inherit; } .elementor-control-type-textarea textarea:focus + .elementor-control-dynamic-switcher, .elementor-control-type-code textarea:focus + .elementor-control-dynamic-switcher { display: none; } .elementor-control-type-textarea pre:focus-within + .elementor-control-dynamic-switcher, .elementor-control-type-code pre:focus-within + .elementor-control-dynamic-switcher { display: none; } .elementor-control-type-url.elementor-control-dynamic .elementor-input { border-radius: 3px 0 0 3px; } .elementor-control-type-url .elementor-control-field { position: relative; } .elementor-control-type-url:not(.elementor-control-dynamic) .elementor-control-url-more, .elementor-control-type-url.elementor-control-dynamic-value .elementor-control-url-more { border-radius: 0 3px 3px 0; } .elementor-control-type-url .elementor-control-input-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; } .elementor-control-type-url .elementor-control-url-more { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -ms-flex-negative: 0; flex-shrink: 0; border: 1px solid #d5dadf; border-left: none; cursor: pointer; } .elementor-control-type-url .elementor-control-url-more i { font-size: 12px; } .elementor-control-type-url .elementor-control-url-more-options { display: none; padding-top: 10px; } .elementor-control-type-url .elementor-control-url-more-options .elementor-control-field-description { margin-top: 10px; } .elementor-control-type-url .elementor-control-url-option { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .elementor-control-type-url .elementor-control-url-option:not(:last-child) { padding-bottom: 10px; } .elementor-control-type-url .elementor-control-url-option input, .elementor-control-type-url .elementor-control-url-option label { cursor: pointer; } .elementor-control-type-url .elementor-control-url-option-input { margin: 0; padding: 0; border-radius: 2px; margin-left: 5px; -webkit-appearance: none; -moz-appearance: none; outline: none; content: none; height: 15px; width: 15px; border: 1px solid #d5dadf; display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-control-type-url .elementor-control-url-option-input:checked { background: #71d7f7; border: none; } .elementor-control-type-url .elementor-control-url-option-input:checked:before { display: block; content: ""; width: 4px; height: 7px; border: solid white; border-width: 0 2px 2px 0; -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); } .elementor-control-type-url .elementor-control-url-option label { font-size: 12px; } .elementor-control-type-url .elementor-control-url-external-hide .elementor-control-url-more { display: none; } .elementor-control-type-url .elementor-control-url-external-show .elementor-input, .elementor-control-type-url .elementor-control-url-external-show .elementor-dynamic-cover { border-radius: 3px 0 0 3px; } .elementor-control-type-url .elementor-control-url-autocomplete-spinner { display: none; position: absolute; top: 5px; right: 0px; width: 10px; height: 10px; font-size: 10px; color: #D4D4D4; } .elementor-control-type-url .elementor-control-url__custom-attributes { margin-top: 5px; } .elementor-control-type-url .elementor-control-url__custom-attributes label { font-size: 12px; } .elementor-control-type-url .elementor-control-url__custom-attributes input { width: 100%; margin-top: 10px; } .elementor-control-type-url .elementor-input { direction: ltr; } .elementor-control-type-url .elementor-input:not(:focus) + .elementor-control-url-more { border-color: #d5dadf; } .elementor-control-type-url .elementor-input:focus ~ div { border-color: #a4afb7; } .elementor-control-type-url .elementor-control-dynamic-switcher { border-left: none; border-radius: 0 3px 3px 0; } .elementor-autocomplete-menu { position: absolute; background: #fff; color: #495157; border: 1px solid #a4afb7; margin: 0; list-style: none; padding: 4px 0; height: auto; width: 100%; min-width: 260px; max-width: 300px; max-height: 200px; overflow-y: auto; border-radius: 3px; -webkit-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; cursor: default; z-index: 1; } .elementor-autocomplete-menu .ui-menu-item { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-item-align: baseline; align-self: baseline; padding: 5px 8px; font-size: 12px; width: 100%; line-height: 1.2; cursor: pointer; } .elementor-autocomplete-menu .ui-menu-item.ui-state-hover, .elementor-autocomplete-menu .ui-menu-item.ui-state-active, .elementor-autocomplete-menu .ui-menu-item.ui-state-focus { background: #e6e9ec; } .elementor-autocomplete-menu .elementor-autocomplete-item-info { font-size: 10px; padding-top: 2px; } .elementor-control-type-wp_widget .widget-inside { display: block; } .elementor-control-type-wp_widget .quicktags-toolbar input { width: auto; } .elementor-control-type-wysiwyg * { -webkit-box-sizing: content-box; box-sizing: content-box; } .elementor-control-type-wysiwyg .wp-editor-container { border: 1px solid #e6e9ec; } .elementor-control-type-wysiwyg .wp-editor-tabs { border: 1px solid #d5dadf; border-bottom: none; border-radius: 3px 3px 0 0; } .elementor-control-type-wysiwyg #insert-media-button { height: initial; line-height: 24px; font-size: 10px; color: #6d7882; border-color: #d5dadf; background-color: #e6e9ec; min-height: initial; } .elementor-control-type-wysiwyg .ed_button { height: 22px; width: initial; } .elementor-control-type-wysiwyg .wp-media-buttons-icon { height: 14px; margin: 0; } .elementor-control-type-wysiwyg .wp-media-buttons-icon:before { font-size: 14px; } .elementor-control-type-wysiwyg .wp-switch-editor { position: static; border: none; margin: 0; color: #6d7882; font-size: 10px; padding: 3px 9px 4px; } .elementor-control-type-wysiwyg .switch-html { border: solid #d5dadf; border-width: 0 1px; } .elementor-control-type-wysiwyg .html-active .switch-tmce { background-color: transparent; } .elementor-control-type-wysiwyg .html-active .switch-html { background-color: #e6e9ec; } .elementor-control-type-wysiwyg .tmce-active .switch-tmce { background-color: #e6e9ec; } .elementor-control-type-wysiwyg .tmce-active .switch-html { background-color: transparent; } .elementor-control-type-wysiwyg .mce-toolbar-grp, .elementor-control-type-wysiwyg .quicktags-toolbar { background-color: #e6e9ec; } .elementor-control-type-wysiwyg .mce-toolbar-grp > div { padding: 0 3px; } .elementor-control-type-wysiwyg .elementor-wp-editor { -webkit-box-sizing: border-box; box-sizing: border-box; } .elementor-control-type-wysiwyg .mce-ico { color: #6d7882; font-size: 16px; } .elementor-control-type-wysiwyg .mce-btn { margin-right: 0; margin-left: 0; } .elementor-control-type-wysiwyg .mce-btn:hover, .elementor-control-type-wysiwyg .mce-btn:active, .elementor-control-type-wysiwyg .mce-btn.mce-active { border-color: #d5dadf; } .elementor-control-type-wysiwyg .mce-path { padding: 5px 10px; } .elementor-control-type-wysiwyg .mce-path-item { font-size: 12px; color: #6d7882; } .elementor-control-type-wysiwyg .elementor-control-dynamic-switcher { border: none; } .elementor-control-type-text .elementor-control-dynamic-switcher { border-right-width: 0; border-radius: 3px 0 0 3px; } .elementor-control-type-text.elementor-control-dynamic input { border-radius: 0 3px 3px 0; } #elementor-mode-switcher { position: absolute; right: 100%; top: 50%; width: 15px; height: 50px; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); background-color: #e6e9ec; font-size: 15px; -webkit-box-shadow: -3px 1px 5px rgba(0, 0, 0, 0.1); box-shadow: -3px 1px 5px rgba(0, 0, 0, 0.1); cursor: pointer; } #elementor-mode-switcher:hover { background-color: #93003c; color: #FFFFFF; } #elementor-mode-switcher-inner, #elementor-mode-switcher-preview { width: 100%; height: 100%; position: absolute; top: 0; left: 0; } #elementor-mode-switcher-preview { cursor: pointer; } #elementor-mode-switcher-preview .eicon { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); } #elementor-mode-switcher-preview-input { display: none; } :root { --e-is-device-mode: 0; } .e-is-device-mode { --e-is-device-mode: 1; } #elementor-responsive-bar { position: sticky; height: calc(40px * var(--e-is-device-mode)); -ms-flex-item-align: stretch; align-self: stretch; -ms-flex-negative: 0; flex-shrink: 0; -webkit-transition: height 0.2s ease-in-out, opacity 0.1s; -o-transition: height 0.2s ease-in-out, opacity 0.1s; transition: height 0.2s ease-in-out, opacity 0.1s; left: 0; top: 0; z-index: 100; opacity: var(--e-is-device-mode); -webkit-box-shadow: 0 0 10px 2px rgba(0, 0, 0, 0.33), 0 0 2px 1px rgba(0, 0, 0, 0.25), 0 0 6px -3px rgba(255, 255, 255, 0.5); box-shadow: 0 0 10px 2px rgba(0, 0, 0, 0.33), 0 0 2px 1px rgba(0, 0, 0, 0.25), 0 0 6px -3px rgba(255, 255, 255, 0.5); } #elementor-responsive-bar:before { content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 100%; z-index: -1; -webkit-transform: scaleX(var(--e-preview-scale, 1)); -ms-transform: scaleX(var(--e-preview-scale, 1)); transform: scaleX(var(--e-preview-scale, 1)); } .e-responsive-bar-switcher__option { cursor: pointer; text-align: center; width: 22px; height: 22px; margin: 0 4px; line-height: 22px; border-radius: 3px; font-size: 16px; -webkit-transition: background-color 0.3s ease-out; -o-transition: background-color 0.3s ease-out; transition: background-color 0.3s ease-out; } .e-responsive-bar-switcher__option:hover, .e-responsive-bar-switcher__option[aria-selected=true] { color: #c2cbd2; background-color: rgba(255, 255, 255, 0.1); } .e-responsive-bar-switcher__option input { display: none; } .e-responsive-bar-switcher__option input:checked + i { color: #71d7f7; } .e-responsive-bar-switcher__option:not(:last-child) { -webkit-margin-end: 6px; margin-inline-end: 6px; } .e-responsive-bar__button { -webkit-appearance: none; -moz-appearance: none; appearance: none; background: none; border: 0 none; cursor: pointer; color: inherit; } .e-responsive-bar__button:focus:not(:focus-visible) { outline: none; } .e-responsive-bar__button:hover { color: #c2cbd2; background-color: rgba(255, 255, 255, 0.1); } .e-responsive-bar--pipe { position: relative; } .e-responsive-bar--pipe::before { content: ""; display: block; height: 20px; width: 1px; background-color: #6d7882; position: absolute; left: -5px; top: calc(50% - 10px); } .e-responsive-bar__input-size { background-color: transparent; color: #a4afb7; border: 1px solid #6d7882 !important; padding: 0 3px; width: 60px; font-size: 12px; line-height: 16px; height: 18px; margin: auto 8px auto 4px; } .e-responsive-bar__input-size-separator { color: #6d7882; } .e-responsive-bar__input-size[disabled] { background-color: transparent; color: #6d7882; cursor: default; } #e-responsive-bar { width: 100%; margin-top: calc(-40px + 40px * var(--e-is-device-mode)); z-index: 1; -webkit-transition: margin-top 0.2s ease-in-out; -o-transition: margin-top 0.2s ease-in-out; transition: margin-top 0.2s ease-in-out; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; color: #a4afb7; background-color: #495157; } #e-responsive-bar__center, #e-responsive-bar__end, #e-responsive-bar-scale, #e-responsive-bar-switcher { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; font-size: 13px; background-color: #495157; padding: 2px 0; } @media (min-width: 1400px) { #e-responsive-bar__center { margin-right: 50%; -webkit-transform: translate(50%, 0); -ms-transform: translate(50%, 0); transform: translate(50%, 0); } } #e-responsive-bar__close-button, #e-responsive-bar__settings-button { width: 22px; height: 22px; border-radius: 3px; margin: 7px 5px; font-size: 16px; } #e-responsive-bar__size-inputs-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-margin-end: 8px; margin-inline-end: 8px; color: #6d7882; } #e-responsive-bar-switcher { padding: 0 20px; } #e-responsive-bar-scale { padding: 0 20px; } #e-responsive-bar-scale__value-wrapper { margin: 0 14px; min-width: 32px; text-align: center; } #e-responsive-bar-scale__plus, #e-responsive-bar-scale__minus, #e-responsive-bar-scale__reset { cursor: pointer; width: 20px; height: 20px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } #e-responsive-bar-scale__minus:before { content: ""; display: block; width: 13px; height: 2px; background: #a4afb7; border-radius: 3px; } #e-responsive-bar-scale__reset { margin: 0px 8px; } .elementor-revision-item__wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; border: 1px solid #d5dadf; padding: 10px 15px; margin-bottom: 10px; font-size: 11px; -webkit-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; } .elementor-revision-item__wrapper.current { font-weight: bold; } .elementor-revision-item__wrapper .elementor-revision-item__tools-current { color: #71d7f7; } .elementor-revision-item:hover:not(.elementor-revision-current-preview) { background-color: rgba(230, 233, 236, 0.3); } .elementor-revision-item-loading .elementor-revision-item__tools-current { display: none; } .elementor-revision-item:not(.elementor-revision-item-loading) .elementor-revision-item__tools-spinner { display: none; } .elementor-revision-item__gravatar { border-radius: 50%; overflow: hidden; } .elementor-revision-item__gravatar img { display: block; } .elementor-revision-item__details { padding-right: 15px; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; cursor: pointer; } .elementor-revision-meta { padding-top: 5px; font-size: 10px; font-weight: bold; } .elementor-revision-current-preview { background-color: #e6e9ec; } #elementor-restore-autosave-dialog.dialog-widget { background-color: rgba(0, 0, 0, 0.3); } #elementor-panel-revisions-loading { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); } #elementor-panel-revisions-loading .eicon-loading { font-size: 50px; color: #a4afb7; } .elementor-history-item { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; border: 1px solid #d5dadf; padding: 10px 15px; margin-bottom: 10px; font-size: 11px; line-height: 1.4; cursor: pointer; -webkit-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; } .elementor-history-item:hover { background-color: rgba(230, 233, 236, 0.3); } .elementor-history-item:hover .elementor-history-item__icon .eicon:before { content: "\e924"; } .elementor-history-item-applied { color: #a4afb7; } .elementor-history-item-current { background: #e6e9ec; cursor: default; } .elementor-history-item-current .elementor-history-item__icon .eicon:before, .elementor-history-item-current:hover .elementor-history-item__icon .eicon:before { content: "\e90e"; } .elementor-history-item__details { width: 95%; } .elementor-history-item__title { font-weight: bold; } .elementor-history-item__subtitle, .elementor-history-item__action { font-weight: lighter; } .elementor-history-item__action { font-style: italic; text-decoration: underline; } .elementor-history-item .__icon { float: left; } .elementor-history-revisions-message { font-size: 11px; text-align: center; padding-top: 5px; } #elementor-panel-history { padding: 20px 20px 15px; } #elementor-panel-history.elementor-empty .elementor-history-revisions-message { padding-top: 20px; } #elementor-panel-history:not(.elementor-empty) { background-color: #fff; margin-top: 10px; } #elementor-panel-history-no-items, #elementor-panel-revisions-no-revisions { text-align: center; } #elementor-panel-history-no-items .elementor-nerd-box-icon, #elementor-panel-revisions-no-revisions .elementor-nerd-box-icon { margin-top: 20px; } .elementor-panel #elementor-panel-header #elementor-panel-header-kit-close, .elementor-panel #elementor-panel-header #elementor-panel-header-kit-back { display: none; } .elementor-editor-kit .elementor-panel #elementor-panel-header { background-color: #4ab7f4; } .elementor-editor-kit .elementor-panel #elementor-panel-header #elementor-panel-header-kit-close, .elementor-editor-kit .elementor-panel #elementor-panel-header #elementor-panel-header-kit-back { display: table-cell; } body:not(.e-routes-has-history) #elementor-panel-header-kit-back { pointer-events: none; opacity: 0.4; } body:not(.e-routes-has-history) #elementor-panel-header-kit-back:hover .elementor-icon { cursor: inherit; color: inherit; } .elementor-editor-kit .elementor-panel .elementor-panel-navigation .elementor-panel-navigation-tab.elementor-active { border-bottom-color: #4ab7f4; } .elementor-editor-kit .elementor-panel #elementor-panel-page-settings .elementor-panel-navigation { display: none; } .elementor-editor-kit .elementor-panel #elementor-panel-saver-button-publish.elementor-button.elementor-button-success:not(.elementor-disabled), .elementor-editor-kit .elementor-panel #elementor-panel-saver-button-save-options.elementor-button.elementor-button-success:not(.elementor-disabled) { background-color: #4ab7f4; } .elementor-editor-kit .elementor-panel #elementor-panel-page-menu { padding: 25px 15px 0; } .elementor-editor-kit #elementor-panel-header-add-button, .elementor-editor-kit #elementor-panel-header-menu-button, .elementor-editor-kit #elementor-panel-footer-sub-menu-item-save-template, .elementor-editor-kit #elementor-panel-footer-navigator { display: none; } .elementor-control-type-global-style-repeater .elementor-repeater-fields { margin-bottom: 15px; position: relative; } .elementor-control-type-global-style-repeater .elementor-repeater-fields.ui-sortable-helper { background-color: #ffffff; } .elementor-control-type-global-style-repeater .elementor-repeater-row-controls { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .elementor-control-type-global-style-repeater .elementor-repeater-row-tool { cursor: pointer; color: #d5dadf; padding: 5px; } .elementor-control-type-global-style-repeater .elementor-control { padding: 0; } .elementor-control-type-global-style-repeater .elementor-control-title { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; } .elementor-control-type-global-style-repeater .elementor-control-title input { max-width: 135px; } .elementor-control-type-global-style-repeater .elementor-control-title input:not(:focus) { background: none; border: none; } .elementor-control-type-global-style-repeater .elementor-control-input-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; min-width: 81px; } .elementor-control-type-global-style-repeater .elementor-control-input-wrapper:hover .e-global-colors__color-value { display: none; } .elementor-control-type-global-style-repeater .elementor-control-input-wrapper:not(:hover) .elementor-repeater-tool-remove, .elementor-control-type-global-style-repeater .elementor-control-input-wrapper:not(:hover) .elementor-repeater-tool-remove--disabled, .elementor-control-type-global-style-repeater .elementor-control-input-wrapper:not(:hover) .elementor-repeater-tool-sort { display: none; } .elementor-control-type-global-style-repeater .elementor-control-content > .elementor-control-field > .elementor-control-input-wrapper { margin-top: 0; } .elementor-control-type-global-style-repeater .elementor-controls-popover { -ms-flex-item-align: end; align-self: end; margin-top: 35px; top: 0; width: 100%; } .elementor-control-type-global-style-repeater .elementor-controls-popover:before { left: 5px; } .elementor-control-type-global-style-repeater .elementor-controls-popover .elementor-control { padding: 0 20px 15px; } .elementor-control-type-global-style-repeater .elementor-controls-popover .elementor-control-title { -webkit-box-flex: initial; -ms-flex-positive: initial; flex-grow: initial; } .elementor-control-type-global-style-repeater .elementor-button-wrapper { text-align: center; border-top: 1px solid #e6e9ec; max-width: 260px; padding-top: 15px; } .elementor-control-type-global-style-repeater .pickr, .elementor-control-type-global-style-repeater .elementor-control-popover-toggle-toggle-label { margin-right: 5px; } .elementor-control-type-global-style-repeater .e-sortable-placeholder { background-color: #71d7f7; opacity: 0.9; width: 100%; margin: 8px 0; height: 2px; } .elementor-control-system_colors, .elementor-control-system_typography { padding-bottom: 0; } .e-global-colors__color-value { color: #d5dadf; font-size: 10px; padding: 0 5px; text-align: left; white-space: nowrap; -o-text-overflow: ellipsis; text-overflow: ellipsis; overflow: hidden; } @-webkit-keyframes load { 0% { opacity: 0.3; } 50% { opacity: 1; } 100% { opacity: 0.3; } } @keyframes load { 0% { opacity: 0.3; } 50% { opacity: 1; } 100% { opacity: 0.3; } } @-webkit-keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } @-webkit-keyframes mover { 0% { -webkit-transform: translateY(0); transform: translateY(0); } 100% { -webkit-transform: translateY(-5px); transform: translateY(-5px); } } @keyframes mover { 0% { -webkit-transform: translateY(0); transform: translateY(0); } 100% { -webkit-transform: translateY(-5px); transform: translateY(-5px); } } @-webkit-keyframes slideDown { 0% { -webkit-transform: translateY(-30px); transform: translateY(-30px); } 100% { -webkit-transform: translateY(0); transform: translateY(0); } } @keyframes slideDown { 0% { -webkit-transform: translateY(-30px); transform: translateY(-30px); } 100% { -webkit-transform: translateY(0); transform: translateY(0); } } body { --e-preview-width: calc(100% - var(--e-editor-panel-width, 300px)); } body.elementor-navigator-docked { --e-preview-width: calc(100% - var(--e-editor-panel-width, 300px) - var(--e-editor-navigator-width, 0px)); } body.elementor-device-desktop #elementor-preview { overflow-y: hidden; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; } body:not(.elementor-device-desktop) body { overflow-y: auto; } #elementor-preview { overflow: auto; background-color: #333; height: 100%; border: 0; width: var(--e-preview-width); display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; -webkit-box-align: center; -ms-flex-align: center; align-items: center; position: relative; direction: ltr; } #elementor-preview > div { direction: rtl; } #elementor-preview-responsive-wrapper { -webkit-transform-origin: top center; -ms-transform-origin: top center; transform-origin: top center; padding: 20px; -webkit-transform: scale(var(--e-preview-scale, 1)); -ms-transform: scale(var(--e-preview-scale, 1)); transform: scale(var(--e-preview-scale, 1)); } .elementor-device-desktop #elementor-preview-responsive-wrapper { min-width: 1025px; width: 100%; height: 100%; padding: 0; position: relative; } body.e-is-device-mode:not(.elementor-device-desktop) #elementor-preview-responsive-wrapper { width: var(--e-editor-preview-width); height: var(--e-editor-preview-height); margin: 0 max((100vw - var(--e-editor-panel-width) - var(--e-editor-preview-width)) / 2, 20px); -webkit-box-sizing: content-box; box-sizing: content-box; position: relative; max-height: calc(100vh - 80px); } body.e-is-device-mode:not(.elementor-device-desktop) #elementor-preview-responsive-wrapper .ui-resizable-handle { display: -webkit-box !important; display: -ms-flexbox !important; display: flex !important; } #elementor-preview-responsive-wrapper:not(.ui-resizable-resizing) { -webkit-transition: 0.3s ease-in-out; -o-transition: 0.3s ease-in-out; transition: 0.3s ease-in-out; } #elementor-preview-responsive-wrapper .ui-resizable-handle { top: 0; } #elementor-preview-responsive-wrapper .ui-resizable-handle.ui-resizable-s { top: auto; bottom: 0; } #elementor-preview-responsive-wrapper .ui-resizable-n, #elementor-preview-responsive-wrapper .ui-resizable-s { -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; height: 20px; } #elementor-preview-responsive-wrapper .ui-resizable-n:before, #elementor-preview-responsive-wrapper .ui-resizable-s:before { content: ""; display: block; background-color: rgba(255, 255, 255, 0.2); width: 50px; height: 4px; border-radius: 3px; -webkit-transition: all 0.2s ease-in-out; -o-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out; } #elementor-preview-responsive-wrapper .ui-resizable-n:hover:before, #elementor-preview-responsive-wrapper .ui-resizable-s:hover:before { background-color: rgba(255, 255, 255, 0.6); width: 100px; } #elementor-preview-responsive-wrapper .ui-resizable-e, #elementor-preview-responsive-wrapper .ui-resizable-w { -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; width: 20px; } #elementor-preview-responsive-wrapper .ui-resizable-e:before, #elementor-preview-responsive-wrapper .ui-resizable-w:before { content: ""; display: block; background-color: rgba(255, 255, 255, 0.2); width: 4px; height: 50px; border-radius: 3px; -webkit-transition: all 0.2s ease-in-out; -o-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out; } #elementor-preview-responsive-wrapper .ui-resizable-e:hover:before, #elementor-preview-responsive-wrapper .ui-resizable-w:hover:before { background-color: rgba(255, 255, 255, 0.6); height: 100px; } #elementor-preview-responsive-wrapper.ui-resizable-resizing .ui-resizable-handle:before { background-color: rgba(255, 255, 255, 0.9); } #elementor-preview-responsive-wrapper .ui-resizable-s { bottom: 0; } #elementor-preview-responsive-wrapper .ui-resizable-e { right: 0; } #elementor-preview-responsive-wrapper .ui-resizable-w { left: 0; } #elementor-preview-iframe { width: 100%; height: 100%; background-color: #fff; -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.3), 0 0 20px rgba(0, 0, 0, 0.15); box-shadow: 0 0 3px rgba(0, 0, 0, 0.3), 0 0 20px rgba(0, 0, 0, 0.15); } #elementor-template-library-modal a.elementor-template-library-blank-footer-link { font-style: normal; text-decoration: underline; color: #39b54a; } #elementor-template-library-modal a.elementor-template-library-blank-footer-link:hover { color: #2d8e3a; } #elementor-template-library-modal .dialog-buttons-wrapper { display: none; } #elementor-template-library-modal .select2-container { z-index: 0; } #elementor-template-library-header-menu { text-align: center; color: #6d7882; font-size: 13px; } .elementor-template-library-menu-item { display: inline-block; padding: 17px 0; width: 115px; cursor: pointer; } .elementor-template-library-menu-item.elementor-active { background-image: -webkit-gradient(linear, left top, left bottom, from(#f1f3f5), to(#fff)); background-image: -o-linear-gradient(top, #f1f3f5, #fff); background-image: linear-gradient(to bottom, #f1f3f5, #fff); border-bottom: 3px solid #93003c; } #elementor-template-library-header-actions { display: -webkit-box; display: -ms-flexbox; display: flex; } #elementor-template-library-header-actions > div { padding-left: 16px; } #elementor-template-library-header-preview-insert-wrapper { cursor: default; padding: 0 10px; } #elementor-template-library-header-preview-insert-wrapper .elementor-button { padding: 8px 14px; font-size: 11px; } #elementor-template-library-header-preview-insert-wrapper .elementor-template-library-template-insert { color: #fff; background-color: #39b54a; } #elementor-template-library-header-preview-insert-wrapper .elementor-go-pro { background-color: #93003c; color: #fff; } #elementor-template-library-header-preview-back { padding: 16.5px 0 15px 16.5px; border-left: 1px solid #e6e9ec; cursor: pointer; -webkit-transition: color 0.5s; -o-transition: color 0.5s; transition: color 0.5s; } #elementor-template-library-header-preview-back:not(:hover) { color: #a4afb7; } #elementor-template-library-header-preview-back i { padding-left: 10px; font-size: 18px; } #elementor-template-library-header-preview-back i:before { content: "\e87d"; } #elementor-template-library-templates { padding: 0 15px; } #elementor-template-library-templates[data-template-source=local] #elementor-template-library-templates-container { -webkit-box-shadow: 1px 1px 20px 0 rgba(0, 0, 0, 0.03); box-shadow: 1px 1px 20px 0 rgba(0, 0, 0, 0.03); margin-top: 10px; margin-bottom: 45px; } #elementor-template-library-templates[data-template-source=local] .elementor-template-library-order-input:checked + .elementor-template-library-order-label { color: #6d7882; } #elementor-template-library-templates[data-template-source=remote] #elementor-template-library-templates-container { margin: 10px -15px 0; } #elementor-template-library-templates[data-template-source=remote] .elementor-template-library-order-input:checked + .elementor-template-library-order-label { color: #495157; } #elementor-template-library-templates[data-template-source=empty] #elementor-template-library-order-toolbar-local, #elementor-template-library-templates[data-template-source=empty] #elementor-template-library-footer-banner { display: none; } #elementor-template-library-templates.elementor-templates-filter-active #elementor-template-library-footer-banner { display: none; } #elementor-template-library-templates .elementor-template-library-order-input { display: none; } #elementor-template-library-templates .elementor-template-library-order-input:checked + .elementor-template-library-order-label { padding-left: 8px; } #elementor-template-library-templates .elementor-template-library-order-input:checked + .elementor-template-library-order-label:after { font-family: eicons; content: "\e8ae"; margin-right: 3px; } #elementor-template-library-templates .elementor-template-library-order-input:checked.elementor-template-library-order-reverse + .elementor-template-library-order-label:after { content: "\e8ad"; } #elementor-template-library-templates-container { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; } #elementor-template-library-templates-container .elementor-template-library-template-local .elementor-template-library-template-insert { text-transform: none; font-size: 12px; } #elementor-template-library-toolbar { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .elementor-template-library-filter-toolbar { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } #elementor-template-library-filter-toolbar-remote { font-size: 11px; } #elementor-template-library-order { display: -webkit-box; display: -ms-flexbox; display: flex; border-left: 1px solid #d5dadf; } .elementor-template-library-order-label { text-transform: uppercase; padding-left: 22px; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } label.elementor-template-library-order-label { cursor: pointer; } label.elementor-template-library-order-label:hover { color: #556068; } #elementor-template-library-filter .select2 { text-align: right; width: calc(27px * 5) !important; } #elementor-template-library-filter .select2-selection__rendered { text-transform: capitalize; } #select2-elementor-template-library-filter-subtype-results .select2-results__option { text-transform: capitalize; text-align: right; padding-right: 5px; } #elementor-template-library-my-favorites { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; text-align: right; padding-right: 20px; } #elementor-template-library-filter-my-favorites { display: none; } #elementor-template-library-filter-my-favorites:checked + #elementor-template-library-filter-my-favorites-label { color: #495157; } #elementor-template-library-filter-my-favorites:checked + #elementor-template-library-filter-my-favorites-label i:after { color: #93003c; content: "\e93f"; } #elementor-template-library-filter-my-favorites-label { cursor: pointer; text-transform: uppercase; } #elementor-template-library-filter-my-favorites-label:hover { color: #556068; } #elementor-template-library-filter-my-favorites-label:hover i:after { color: #93003c; } #elementor-template-library-filter-my-favorites-label i { padding-left: 5px; } #elementor-template-library-filter-my-favorites-label i:after { color: #a4afb7; content: "\e923"; } #elementor-template-library-filter-text-wrapper { width: 200px; position: relative; } #elementor-template-library-filter-text-wrapper i { position: absolute; top: 50%; left: 0; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); } #elementor-template-library-filter-text { border: none; border-bottom: 1px solid #d5dadf; border-radius: 0; font-size: 11px; padding: 8px 15px 8px 0; -webkit-transition: border 0.5s; -o-transition: border 0.5s; transition: border 0.5s; } #elementor-template-library-filter-text:focus { border-color: #c2cbd2; } #elementor-template-library-filter-text::-webkit-input-placeholder { font-weight: 300; text-transform: uppercase; } #elementor-template-library-filter-text::-moz-placeholder { font-weight: 300; text-transform: uppercase; } #elementor-template-library-filter-text::-ms-input-placeholder { font-weight: 300; text-transform: uppercase; } #elementor-template-library-filter-text::placeholder { font-weight: 300; text-transform: uppercase; } #elementor-template-library-filter-text:focus { border-color: #c2cbd2; } .elementor-template-library-template-remote { margin: 15px; padding: 8px; background-color: #fff; -webkit-box-shadow: 0 1px 20px 0 rgba(0, 0, 0, 0.07); box-shadow: 0 1px 20px 0 rgba(0, 0, 0, 0.07); border-radius: 3px; } .elementor-template-library-template-remote:hover .elementor-template-library-template-name { display: none; } .elementor-template-library-template-remote:not(:hover) .elementor-template-library-template-preview { opacity: 0; } .elementor-template-library-template-remote:not(:hover) .elementor-template-library-favorite, .elementor-template-library-template-remote:not(:hover) .elementor-template-library-template-action { display: none; } .elementor-template-library-template-remote.elementor-template-library-pro-template .elementor-template-library-template-body:before { content: var(--elementor-template-library-subscription-plan-label); background-color: var(--elementor-template-library-subscription-plan-color); color: #d5dadf; position: absolute; text-transform: uppercase; top: 5px; left: 5px; padding: 2px 4px 0; font-size: 9px; border-radius: 2px; } .elementor-template-library-template-remote:not(.elementor-template-library-template-page):not(.elementor-template-library-template-lp) { position: relative; width: calc(33.333% - 30px); overflow: hidden; } .elementor-template-library-template-remote:not(.elementor-template-library-template-page):not(.elementor-template-library-template-lp) img { display: block; width: 100%; } .elementor-template-library-template-remote:not(.elementor-template-library-template-page):not(.elementor-template-library-template-lp) .elementor-template-library-template-footer { position: absolute; width: 100%; bottom: 0; right: 0; padding: 10px; background-color: #fff; -webkit-transition: -webkit-transform 0.5s; transition: -webkit-transform 0.5s; -o-transition: transform 0.5s; transition: transform 0.5s; transition: transform 0.5s, -webkit-transform 0.5s; } .elementor-template-library-template-remote:not(.elementor-template-library-template-page):not(.elementor-template-library-template-lp) .elementor-template-library-template-name { display: none; } .elementor-template-library-template-remote:not(.elementor-template-library-template-page):not(.elementor-template-library-template-lp):not(:hover) .elementor-template-library-template-footer { -webkit-transform: translateY(100%); -ms-transform: translateY(100%); transform: translateY(100%); } .elementor-template-library-template-remote .elementor-template-library-template-body { position: relative; } @media (max-width: 1025px) { .elementor-template-library-template-remote .elementor-template-library-template-body { height: 300px; } } .elementor-template-library-template-remote .elementor-template-library-template-screenshot { height: 100%; background-size: cover; background-position-x: 50%; -webkit-box-shadow: inset 0px -2px 15px -6px rgba(0, 0, 0, 0.07); box-shadow: inset 0px -2px 15px -6px rgba(0, 0, 0, 0.07); } .elementor-template-library-template-remote .elementor-template-library-template-preview { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.5); -webkit-transition: opacity 0.5s; -o-transition: opacity 0.5s; transition: opacity 0.5s; cursor: pointer; } .elementor-template-library-template-remote .elementor-template-library-template-preview i { font-size: 20px; color: #d5dadf; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); } .elementor-template-library-template-remote .elementor-template-library-template-insert { color: #39b54a; } .elementor-template-library-template-remote .elementor-go-pro { color: #93003c; } .elementor-template-library-template-remote .elementor-template-library-template-footer { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; margin-top: 10px; font-size: 11px; line-height: 1; } .elementor-template-library-template-remote .elementor-template-library-template-name { text-align: right; color: #6d7882; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; white-space: nowrap; -o-text-overflow: ellipsis; text-overflow: ellipsis; overflow: hidden; padding-left: 5px; } .elementor-template-library-template-remote .elementor-template-library-template-favorite-input { display: none; } .elementor-template-library-template-remote .elementor-template-library-template-favorite-input:checked + .elementor-template-library-template-favorite-label i:before { content: "\e93f"; color: #93003c; } .elementor-template-library-template-remote .elementor-template-library-template-favorite-label { cursor: pointer; } .elementor-template-library-template-remote .elementor-template-library-template-favorite-label:hover i { color: #93003c; } @media (max-width: 1439px) { .elementor-template-library-template-page, .elementor-template-library-template-lp { width: calc(25% - 30px); } } @media (min-width: 1440px) { .elementor-template-library-template-page, .elementor-template-library-template-lp { width: calc(20% - 30px); } } @media (max-width: 1025px) { .elementor-template-library-template-page, .elementor-template-library-template-lp { width: calc(33.333% - 30px); } } .elementor-template-library-template-page .elementor-template-library-template-body, .elementor-template-library-template-lp .elementor-template-library-template-body { height: 200px; } #elementor-template-library-order-toolbar-local, .elementor-template-library-template-local { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; padding: 0 25px; text-align: right; } #elementor-template-library-order-toolbar-local { margin-top: 30px; } #elementor-template-library-order-toolbar-local .elementor-template-library-order-label { line-height: 1; font-size: 10px; font-weight: 500; } #elementor-template-library-order-toolbar-local .elementor-template-library-order-label:not(:hover) { color: #a4afb7; } .elementor-template-library-template-local { height: 50px; width: 100%; margin-top: 1px; background-color: #fff; -webkit-transition: background-color 0.3s linear; -o-transition: background-color 0.3s linear; transition: background-color 0.3s linear; } .elementor-template-library-template-local:hover { background-color: #fafbfb; } .elementor-template-library-template-local:not(:hover) .elementor-template-library-template-insert { background: none; color: #a4afb7; } .elementor-template-library-template-local:first-child { border-radius: 3px 3px 0 0; } .elementor-template-library-template-local:last-child { border-radius: 0 0 3px 3px; } .elementor-template-library-template-local .elementor-template-library-template-name { font-weight: 500; } .elementor-template-library-template-local .elementor-template-library-template-name, .elementor-template-library-template-local .elementor-template-library-template-meta { padding-left: 20px; } .elementor-template-library-template-local .elementor-template-library-template-meta { color: #a4afb7; } .elementor-template-library-template-local .elementor-template-library-template-name, .elementor-template-library-template-local .elementor-template-library-template-meta, .elementor-template-library-template-local .elementor-template-library-template-preview, .elementor-template-library-template-local .elementor-template-library-template-action { white-space: nowrap; -o-text-overflow: ellipsis; text-overflow: ellipsis; overflow: hidden; } .elementor-template-library-template-local .elementor-template-library-template-controls { position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .elementor-template-library-template-local .elementor-template-library-template-controls, .elementor-template-library-template-local .elementor-template-library-template-controls a { color: #a4afb7; } .elementor-template-library-template-local .elementor-template-library-template-controls > div { cursor: pointer; -webkit-transition: color 0.5s; -o-transition: color 0.5s; transition: color 0.5s; } .elementor-template-library-template-local .elementor-template-library-template-insert i { margin-left: 3px; } .elementor-template-library-template-local .elementor-template-library-template-control-title { margin-right: 6px; } .elementor-template-library-template-local .elementor-template-library-template-more:hover, .elementor-template-library-template-local .elementor-template-library-template-more a:hover { color: #556068; } .elementor-template-library-template-local .elementor-template-library-template-more .elementor-template-library-template-delete:hover { color: #d72b3f; } .elementor-template-library-template-local .elementor-template-library-template-action { padding: 8px 18px; margin: 0 5%; } .elementor-template-library-template-local .elementor-template-library-template-more { display: none; position: absolute; background-color: #fff; padding: 3px 20px; border-radius: 3px; -webkit-box-shadow: 1px 3px 11px rgba(0, 0, 0, 0.3); box-shadow: 1px 3px 11px rgba(0, 0, 0, 0.3); top: 100%; left: 0; -webkit-transform: translateX(-65%) translateY(-7px); -ms-transform: translateX(-65%) translateY(-7px); transform: translateX(-65%) translateY(-7px); z-index: 1; } .elementor-template-library-template-local .elementor-template-library-template-more:before { content: ""; position: absolute; border: solid transparent; border-width: 8px 4px; border-bottom-color: #fff; -webkit-transform: translateY(-100%); -ms-transform: translateY(-100%); transform: translateY(-100%); } .elementor-template-library-template-local .elementor-template-library-template-more > div { margin: 10px 0; font-size: 11px; } .elementor-template-library-template-local .elementor-template-library-template-more-toggle { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; text-align: left; } .elementor-template-library-template-local .elementor-template-library-template-more-toggle i { font-size: 16px; } #elementor-template-library-preview { height: 100%; overflow: hidden; } #elementor-template-library-preview iframe { height: 150%; -webkit-transform: scale(0.666) translateX(25%) translateY(-25%); -ms-transform: scale(0.666) translateX(25%) translateY(-25%); transform: scale(0.666) translateX(25%) translateY(-25%); } @media (max-width: 1439px) { #elementor-template-library-preview iframe { width: 1440px; } } @media (min-width: 1440px) { #elementor-template-library-preview iframe { width: 1710px; } } .elementor-template-library-blank-icon { font-size: 65px; margin-top: 45px; color: #c2cbd2; line-height: 1; } .elementor-template-library-blank-icon img { width: 70px; } .elementor-template-library-blank-icon .elementor-template-library-no-results { width: 200px; } .elementor-template-library-blank-title { font-size: 30px; margin-top: 40px; } @media (max-width: 1439px) { .elementor-template-library-blank-title { font-size: 25px; } } .elementor-template-library-blank-message { font-size: 18px; color: #a4afb7; margin-top: 15px; font-weight: 300; } @media (max-width: 1439px) { .elementor-template-library-blank-message { font-size: 16px; margin-top: 10px; } } #elementor-template-library-save-template-form { margin-top: 40px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } #elementor-template-library-save-template-form > * { height: 55px; font-size: 16px; } #elementor-template-library-save-template-name { width: 500px; background-color: #fff; font-weight: 300; color: #a4afb7; padding-right: 25px; border-radius: 0 3px 3px 0; border: none; } #elementor-template-library-save-template-submit { width: 150px; border-radius: 3px 0 0 3px; } #elementor-template-library-save-template-submit:hover { -webkit-box-shadow: none; box-shadow: none; } #elementor-template-library-import-form { width: 95%; background-color: rgba(255, 255, 255, 0.5); padding: 60px; border: 2px dashed #d5dadf; margin: 35px auto; -webkit-transition: background-color 0.5s; -o-transition: background-color 0.5s; transition: background-color 0.5s; } #elementor-template-library-import-form:hover { background-color: rgba(255, 255, 255, 0.9); } #elementor-template-library-import-form-or { margin-top: 15px; font-size: 18px; } #elementor-template-library-import-form-label { margin-top: 20px; padding: 15px 35px; display: inline-block; } #elementor-template-library-import-form-input { display: none; } #elementor-template-library-import-form.elementor-drag-over { border: 3px dashed #71d7f7; } #elementor-template-library-import .elementor-template-library-blank-icon { margin-top: 0; } #elementor-template-library-import .elementor-template-library-blank-message { margin-top: 20px; } .e-route-library-connect #elementor-template-library-modal .dialog-message { max-height: 95vh; padding: 100px 0 0; min-height: 550px; } #elementor-template-library-connect-logo { font-size: 20px; } #elementor-template-library-connect__button { display: inline-block; position: relative; z-index: 1; margin-top: 25px; padding: 12px 24px; font-size: 14px; } #elementor-template-library-connect__background-image-left-1 { right: 22.4%; bottom: -29%; -webkit-animation: 1.5s fadeIn, 1.5s slideDown, 3.5s mover 1.5s infinite alternate; animation: 1.5s fadeIn, 1.5s slideDown, 3.5s mover 1.5s infinite alternate; } #elementor-template-library-connect__background-image-left-2 { right: 46.25%; bottom: -15.5%; -webkit-animation: 3s fadeIn, 3s slideDown, 2s mover 3s infinite alternate; animation: 3s fadeIn, 3s slideDown, 2s mover 3s infinite alternate; } #elementor-template-library-connect__background-image-right-1 { left: 37%; bottom: -41%; -webkit-animation: 2.5s fadeIn, 2.5s slideDown, 2s mover 2.5s infinite alternate; animation: 2.5s fadeIn, 2.5s slideDown, 2s mover 2.5s infinite alternate; } #elementor-template-library-connect__background-image-right-2 { left: 48%; bottom: -12.5%; -webkit-animation: 1.5s fadeIn, 1.5s slideDown, 1.5s mover 1.5s infinite alternate; animation: 1.5s fadeIn, 1.5s slideDown, 1.5s mover 1.5s infinite alternate; } .elementor-template-library-connect__background-image { position: absolute; } .elementor-template-library-blank-footer { position: absolute; bottom: 70px; left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); color: #a4afb7; font-style: italic; } @media (max-height: 700px) { .elementor-template-library-blank-footer { display: none; } } #elementor-template-library-footer-banner { padding-bottom: 45px; } #elementor-template-library-footer-banner i { color: #c2cbd2; font-size: 56px; margin-top: 40px; } #elementor-template-library-footer-banner .elementor-nerd-box-icon { margin-top: 70px; } #elementor-template-library-footer-banner .elementor-excerpt { color: #a4afb7; font-size: 15px; font-weight: 500; margin-top: 20px; } #elementor-template-library-templates-empty { width: 100%; margin-top: 40px; } #elementor-template-library-error-dialog .dialog-message { text-align: start; } #elementor-template-library-error-info { margin-top: 10px; } @media (max-width: 1439px) { .elementor-template-library-local-column-1 { width: 33%; } .elementor-template-library-local-column-2 { width: 10%; } .elementor-template-library-local-column-3 { width: 15%; } .elementor-template-library-local-column-4 { width: 15%; } .elementor-template-library-local-column-5 { width: 27%; } } @media (min-width: 1440px) { .elementor-template-library-local-column-1 { width: 25%; } .elementor-template-library-local-column-2 { width: 17%; } .elementor-template-library-local-column-3 { width: 17%; } .elementor-template-library-local-column-4 { width: 17%; } .elementor-template-library-local-column-5 { width: 24%; } } @media (max-width: 1024px) { .elementor-template-library-local-column-3 { display: none; } .elementor-template-library-local-column-5 { width: 41%; } } .elementor-tags-list { display: none; position: absolute; width: 260px; max-height: 300px; overflow: auto; padding-bottom: 5px; background-color: #fff; border: 1px solid #a4afb7; border-radius: 3px; z-index: 10000; } .elementor-tags-list__group-title { color: #495157; font-weight: bold; font-size: 12px; padding: 10px 15px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .elementor-tags-list__group-title .eicon-info-circle { padding-left: 5px; color: #71d7f7; font-size: 14px; } .elementor-tags-list__item { font-size: 10px; padding: 6px 15px; cursor: pointer; } .elementor-tags-list__item:before { content: ">"; font-size: 8px; padding-left: 5px; } .elementor-tags-list__item:hover { background-color: #e6e9ec; } .elementor-tags-list__teaser { border-top: 2px solid #d5dadf; padding-top: 4px; margin-top: 4px; } .elementor-tags-list__teaser-title { color: #6d7882; } .elementor-tags-list__teaser-text { padding: 2px 15px 8px; line-height: 1.5; font-size: 12px; } .elementor-tags-list__teaser-link { color: #93003c; text-decoration: underline; font-style: italic; font-weight: bold; } .elementor-dynamic-cover { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; width: 100%; height: 27px; -webkit-box-sizing: border-box; box-sizing: border-box; } .elementor-dynamic-cover__title { padding: 0 8px; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; white-space: nowrap; -o-text-overflow: ellipsis; text-overflow: ellipsis; overflow: hidden; } .elementor-dynamic-cover__settings, .elementor-dynamic-cover__remove { color: #c2cbd2; cursor: pointer; -webkit-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; } .elementor-dynamic-cover__settings:hover, .elementor-dynamic-cover__remove:hover { color: #a4afb7; } .elementor-control-type-wysiwyg .elementor-dynamic-cover { margin-top: 10px; } .elementor-tag-settings-popup { position: absolute; width: 260px; background-color: #e6e9ec; -webkit-box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.3); box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.3); z-index: 1; } .elementor-tag-settings-popup:before { content: ""; position: absolute; top: -20px; right: 5px; border: 10px solid transparent; border-bottom-color: #fff; } .elementor-tag-settings-popup .elementor-control-type-section:first-child { margin: 0; } .elementor-tag-controls-stack-empty { background-color: #fff; padding: 10px; font-size: 13px; text-align: center; } .elementor-control-dynamic-switcher { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -ms-flex-negative: 0; flex-shrink: 0; height: 27px; cursor: pointer; border: 1px solid #d5dadf; border-radius: 3px; background: #fff; } .elementor-control-dynamic-switcher.e-control-tool { height: 20px; border: 0; } .elementor-control-dynamic-switcher-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; } .elementor-control-dynamic-switcher .eicon-database { font-size: 12px; } .elementor-control-dynamic-value .elementor-control-tag-area, .elementor-control-dynamic-value .elementor-control-dynamic-switcher, .elementor-control-dynamic-value .e-global__popover-toggle { display: none; } #elementor-toast { position: absolute; width: 280px; padding: 20px; border-radius: 5px; color: #d5dadf; background-color: rgba(0, 0, 0, 0.8); z-index: 10000; } #elementor-toast .dialog-message { font-size: 13px; } #elementor-toast .dialog-buttons-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; margin-top: 15px; } #elementor-toast .dialog-button { color: #fcb92c; margin: 0 5px; text-transform: uppercase; cursor: pointer; } #elementor-toast .dialog-button:last-child { margin-left: 0; } .elementor-context-menu { position: absolute; width: 200px; background-color: #fff; border: 1px solid #e6e9ec; border-radius: 3px; -webkit-box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.09); box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.09); -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; z-index: 101; } .elementor-context-menu-list__group { padding: 5px 0; } .elementor-context-menu-list__group:not(:last-child) { border-bottom: 1px solid #e6e9ec; } .elementor-context-menu-list__item { padding: 5px 10px; padding-left: 20px; display: -webkit-box; display: -ms-flexbox; display: flex; cursor: pointer; } .elementor-context-menu-list__item--disabled { cursor: default; color: #d5dadf; } .elementor-context-menu-list__item:not(.elementor-context-menu-list__item--disabled):hover { background-color: #71d7f7; } .elementor-context-menu-list__item:not(.elementor-context-menu-list__item--disabled):hover > * { color: #fff; } .elementor-context-menu-list__item__icon { width: 20px; color: #c2cbd2; } .elementor-context-menu-list__item__title { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; white-space: nowrap; -o-text-overflow: ellipsis; text-overflow: ellipsis; overflow: hidden; } .elementor-context-menu-list__item__shortcut { color: #d5dadf; } .elementor-context-menu-list__item.elementor-context-menu-list__item-delete:not(.elementor-context-menu-list__item--disabled):hover { background-color: #d72b3f; } .elementor-context-menu .eicon-pro-icon { color: #fcb92c; } #elementor-hotkeys { text-align: right; } #elementor-hotkeys__content { display: -webkit-box; display: -ms-flexbox; display: flex; width: 100%; overflow: hidden; margin-bottom: 30px; } @media (max-width: 1024px) { #elementor-hotkeys__content { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; } } #elementor-hotkeys__actions .elementor-hotkeys__list { border-radius: 0 3px 3px 0; } @media (max-width: 1024px) { #elementor-hotkeys__actions .elementor-hotkeys__list { border-radius: 3px; } } @media (min-width: 1025px) { #elementor-hotkeys__actions .elementor-hotkeys__header, #elementor-hotkeys__actions .elementor-hotkeys__list { padding-left: 25px; } } @media (min-width: 1440px) { #elementor-hotkeys__actions .elementor-hotkeys__header, #elementor-hotkeys__actions .elementor-hotkeys__list { padding-left: 50px; } } #elementor-hotkeys__navigation .elementor-hotkeys__list { border-radius: 3px 0 0 3px; } @media (max-width: 1024px) { #elementor-hotkeys__navigation .elementor-hotkeys__list { border-radius: 3px; } } @media (min-width: 1025px) { #elementor-hotkeys__navigation .elementor-hotkeys__header { padding-right: 25px; } } @media (min-width: 1440px) { #elementor-hotkeys__navigation .elementor-hotkeys__header { padding-right: 50px; } } @media (min-width: 1025px) { #elementor-hotkeys__navigation .elementor-hotkeys__list { padding-right: 15px; } } @media (min-width: 1440px) { #elementor-hotkeys__navigation .elementor-hotkeys__list { padding-right: 40px; } } .elementor-hotkeys__col { width: 50%; } @media (max-width: 1024px) { .elementor-hotkeys__col { width: 100%; } } .elementor-hotkeys__header, .elementor-hotkeys__list { width: 100%; } .elementor-hotkeys__header { padding: 10px 30px; font-weight: 500; } @media (max-width: 479px) { .elementor-hotkeys__header { padding-right: 10px; padding-left: 10px; } } .elementor-hotkeys__list { background-color: #ffffff; height: calc(100% - 42px); padding: 10px 20px; } @media (max-width: 479px) { .elementor-hotkeys__list { padding: 0; } } @media (max-width: 1024px) { .elementor-hotkeys__list { margin-bottom: 30px; } } @media (max-width: 1024px) { .elementor-hotkeys__list { height: auto; } } .elementor-hotkeys__item { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; padding: 20px 10px; border-bottom: 1px solid #eceeef; } .elementor-hotkeys__item:last-child { margin-bottom: 30px; } @media (max-width: 479px) { .elementor-hotkeys__item:last-child { margin-bottom: 0; } } .elementor-hotkeys__item--label { font-size: 13px; font-weight: 400; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; } .elementor-hotkeys__item--shortcut { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; } .elementor-hotkeys__item--shortcut span { position: relative; background-color: #eceeef; padding: 5px 12px; margin-right: 27px; border-radius: 3px; } @media (max-width: 479px) { .elementor-hotkeys__item--shortcut span { padding: 4px 9px; margin-right: 23px; } } .elementor-hotkeys__item--shortcut span:after { content: "+"; position: absolute; right: -18px; width: 9px; text-align: center; } @media (max-width: 479px) { .elementor-hotkeys__item--shortcut span:after { right: -16px; } } .elementor-hotkeys__item--shortcut span:last-child { margin-right: 0; } .elementor-hotkeys__item--shortcut span:last-child:after { display: none; } .ui-resizable-n { top: -5px; } .ui-resizable-e { right: -5px; } .ui-resizable-s { bottom: -5px; } .ui-resizable-w { left: -5px; } .ui-resizable-ne { top: -5px; right: -5px; } .ui-resizable-nw { top: -5px; left: -5px; } .ui-resizable-se { bottom: -5px; right: -5px; } .ui-resizable-sw { bottom: -5px; left: -5px; } .ui-resizable-n, .ui-resizable-s { left: 0; height: 10px; width: 100%; cursor: ns-resize; } .ui-resizable-e, .ui-resizable-w { top: 0; height: 100%; width: 10px; cursor: ew-resize; } .ui-resizable-ne, .ui-resizable-nw, .ui-resizable-se, .ui-resizable-sw { height: 15px; width: 15px; } .ui-resizable-nw, .ui-resizable-se { cursor: nwse-resize; } .ui-resizable-ne, .ui-resizable-sw { cursor: nesw-resize; } .ui-resizable-handle { position: absolute; } .ui-resizable-resizing { pointer-events: none; } body { --e-editor-navigator-width: 240px; } #elementor-navigator { position: fixed; top: 100px; width: var(--e-editor-navigator-width); height: 50vh; left: 30px; background-color: #fff; -webkit-box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.1); box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.1); -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; overflow: hidden; z-index: 100; display: none; } body.elementor-navigator-docked #elementor-navigator { top: 0; left: 0; height: 100%; } body:not(.elementor-navigator-docked) #elementor-navigator { border-radius: 5px; } #elementor-navigator__inner { height: 100%; background-color: #e6e9ec; } #elementor-navigator__header { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; padding: 12px 10px; background-color: #fff; border-bottom: 1px solid #e6e9ec; cursor: move; } #elementor-navigator__close, #elementor-navigator__toggle-all { -webkit-transition: color 0.5s; -o-transition: color 0.5s; transition: color 0.5s; cursor: pointer; } #elementor-navigator__close:not(:hover), #elementor-navigator__toggle-all:not(:hover) { color: #a4afb7; } #elementor-navigator__toggle-all { font-size: 13px; } #elementor-navigator__close { font-size: 11px; } #elementor-navigator__elements { height: calc(100% - 49px); overflow: auto; position: relative; } .elementor-navigator-docked #elementor-navigator__elements { height: calc(100% - 35px); } #elementor-navigator__elements .elementor-nerd-box { padding: 25px; } #elementor-navigator__footer { position: absolute; width: 100%; left: 0; bottom: 0; text-align: center; background-color: #fff; border-top: 1px solid #e6e9ec; color: #a4afb7; } .elementor-navigator-docked #elementor-navigator__footer { display: none; } .elementor-navigator__item { position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; height: 30px; font-size: 11px; border-bottom: 1px solid #e6e9ec; cursor: pointer; -webkit-transition: padding 0.5s linear; -o-transition: padding 0.5s linear; transition: padding 0.5s linear; overflow: hidden; } .elementor-navigator__item:not(.elementor-active) .elementor-navigator__element__list-toggle i { -webkit-transform: rotate(90deg); -ms-transform: rotate(90deg); transform: rotate(90deg); } .elementor-navigator__item > * { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .elementor-navigator__item + .elementor-navigator__elements { display: none; } .elementor-navigator__elements .elementor-empty-view { padding: 10px; border-bottom: 1px solid #e6e9ec; } .elementor-navigator__elements .elementor-empty-view__title { margin-right: 23px; color: #c2cbd2; font-size: 10px; font-style: italic; } .elementor-navigator__elements .ui-sortable-helper { background-color: #fff; -webkit-box-shadow: 1px 2px 5px 0 rgba(0, 0, 0, 0.1); box-shadow: 1px 2px 5px 0 rgba(0, 0, 0, 0.1); -webkit-transform: rotate(4deg); -ms-transform: rotate(4deg); transform: rotate(4deg); border: 1px solid #e6e9ec; pointer-events: none; } .elementor-navigator__elements .ui-sortable-placeholder { background-color: #f1f3f5; } .elementor-navigator__element.elementor-dragging-on-child > .elementor-navigator__elements > .elementor-empty-view { border-top: 2px solid #71d7f7; } .elementor-navigator__element.elementor-dragging-on-child > .elementor-navigator__elements > .elementor-empty-view .elementor-empty-view__title { display: none; } .elementor-navigator__element.elementor-dragging-on-child > .elementor-navigator__elements > .elementor-empty-view + .ui-sortable-placeholder { display: none; } .elementor-navigator__element:not(.elementor-navigator__element--has-children) .elementor-navigator__element__list-toggle { visibility: hidden; } .elementor-navigator__element:not(.elementor-navigator__element--hidden) > .elementor-navigator__item .elementor-navigator__element__toggle { color: #71d7f7; } .elementor-navigator__element:not(.elementor-navigator__element--hidden) > .elementor-navigator__item:not(:hover) .elementor-navigator__element__toggle { display: none; } .elementor-navigator__element:not(.elementor-navigator__element--hidden) > .elementor-navigator__item.elementor-editing { background-color: #71d7f7; } .elementor-navigator__element:not(.elementor-navigator__element--hidden) > .elementor-navigator__item.elementor-editing > * { color: #fff; } .elementor-navigator__element__list-toggle { margin-left: 7px; -webkit-transition: -webkit-transform 0.3s; transition: -webkit-transform 0.3s; -o-transition: transform 0.3s; transition: transform 0.3s; transition: transform 0.3s, -webkit-transform 0.3s; color: #a4afb7; } .elementor-navigator__element__element-type { margin-left: 8px; } .elementor-navigator__element__title { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; overflow: hidden; } .elementor-navigator__element__title__text { white-space: nowrap; -webkit-user-select: text; } .elementor-navigator__element__title__text[contenteditable=true] { outline: none; color: #6d7882; background-color: #fff; padding: 2px 3px; -webkit-box-shadow: 0 0 4px rgba(0, 0, 0, 0.2); box-shadow: 0 0 4px rgba(0, 0, 0, 0.2); } .elementor-navigator__element__title__text:not([contenteditable=true]) { white-space: nowrap; -o-text-overflow: ellipsis; text-overflow: ellipsis; overflow: hidden; } .elementor-navigator__element__toggle { position: absolute; left: 15px; height: 100%; z-index: 0; font-size: 13px; } .elementor-navigator__element__indicators { position: relative; -webkit-transition: -webkit-transform 0.5s; transition: -webkit-transform 0.5s; -o-transition: transform 0.5s; transition: transform 0.5s; transition: transform 0.5s, -webkit-transform 0.5s; padding-right: 5px; z-index: 91; } .elementor-navigator__element__indicators:not(:hover) { -webkit-transform: translateX(calc(-100% + 8px)); -ms-transform: translateX(calc(-100% + 8px)); transform: translateX(calc(-100% + 8px)); } .elementor-navigator__element__indicator { height: 100%; width: 31px; display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; color: #6d7882; background-color: #fff; border-right: 1px solid #e6e9ec; } .elementor-navigator__element__indicator:first-child { border-right: 3px solid #71d7f7; } .elementor-editing .elementor-navigator__element__indicator:first-child { border-color: #41c9f4; } .elementor-navigator__element__indicator:hover { color: #495157; } .elementor-navigator__element--hidden .elementor-navigator__element__title, .elementor-navigator__element--hidden .elementor-navigator__element__toggle { opacity: 0.5; } .elementor-navigator__element-column { background-color: #fafbfb; } .elementor-navigator__element-column > .elementor-navigator__item .elementor-navigator__element__element-type { color: #a4afb7; } .elementor-navigator__element-section, .elementor-navigator__element-container { background-color: #ffffff; } #e-notice-bar { position: absolute; width: 100%; bottom: 0; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; height: 40px; color: #fff; background-color: #93003c; padding: 0 25px; } #e-notice-bar__message { padding-right: 15px; } #e-notice-bar__message a { text-decoration: underline; color: #fff; } #e-notice-bar__message a:hover { color: #d5dadf; } #e-notice-bar__action { padding-right: 25px; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; text-transform: uppercase; } #e-notice-bar__action a { background: white; border-radius: 3px; color: #93003c; padding: 4px 10px; font-size: 11px; } #e-notice-bar__action a:hover { color: #47001d; background: #f1f3f5; } #e-notice-bar__close { cursor: pointer; } #e-notice-bar i { font-size: 16px; opacity: 0.9; } #e-notice-bar i:hover { color: #d5dadf; } #e-notice-bar a, #e-notice-bar i { -webkit-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; } body:not(.elementor-device-desktop) #e-notice-bar { display: none; } #elementor-fatal-error-dialog.elementor-preview-loading-error .dialog-header { color: #495157; } #elementor-fatal-error-dialog.elementor-preview-loading-error .dialog-message a { color: #6d7882; text-decoration: underline; font-style: italic; } #elementor-preview-debug-link-text { display: inline-block; } #elementor-icons-manager-modal .dialog-message { padding: 0; height: 700px; } #elementor-icons-manager-modal .dialog-content { display: -webkit-box; display: -ms-flexbox; display: flex; } #elementor-icons-manager-modal .dialog-buttons-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; } #elementor-icons-manager__wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; } @media (max-width: 479px) { #elementor-icons-manager__sidebar { display: none; } } #elementor-icons-manager__tab-links { margin-top: 30px; } #elementor-icons-manager__upload { margin: 20px 45px; padding-top: 35px; border-top: 1px solid #e6e9ec; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; } @media (max-width: 1439px) { #elementor-icons-manager__upload { margin: 20px 25px; } } #elementor-icons-manager__upload__title { color: #a4afb7; font-size: 11px; text-transform: uppercase; } #elementor-icons-manager__main { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; padding: 30px 80px 0; } @media (max-width: 1439px) { #elementor-icons-manager__main { padding: 30px 50px 0; } } @media (max-width: 479px) { #elementor-icons-manager__main { width: 100%; } } #elementor-icons-manager__search { position: relative; } #elementor-icons-manager__search input { padding: 8px 15px; background-color: #fff; border: none; } #elementor-icons-manager__search input::-webkit-input-placeholder { font-style: italic; } #elementor-icons-manager__search input::-moz-placeholder { font-style: italic; } #elementor-icons-manager__search input::-ms-input-placeholder { font-style: italic; } #elementor-icons-manager__search input::placeholder { font-style: italic; } #elementor-icons-manager__search i { position: absolute; top: 50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); left: 15px; } #elementor-icons-manager__tab__wrapper { overflow: auto; margin: 25px -15px 0; padding: 0 15px 15px; } #elementor-icons-manager__tab__title { color: #556068; font-size: 16px; font-weight: 500; text-align: right; } @media (max-width: 479px) { #elementor-icons-manager__tab__title { display: none; } } #elementor-icons-manager__tab__content { display: grid; grid-template-columns: repeat(7, 1fr); grid-gap: 20px; margin: 20px 0; } @media (max-width: 1439px) { #elementor-icons-manager__tab__content { grid-template-columns: repeat(6, 1fr); } } @media (max-width: 1024px) { #elementor-icons-manager__tab__content { grid-template-columns: repeat(5, 1fr); } } @media (max-width: 767px) { #elementor-icons-manager__tab__content { grid-template-columns: repeat(4, 1fr); } } @media (max-width: 479px) { #elementor-icons-manager__tab__content { grid-template-columns: repeat(3, 1fr); } } #elementor-icons-manager__promotion { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; padding-top: 70px; } #elementor-icons-manager__promotion__icon { font-size: 60px; color: #c2cbd2; } #elementor-icons-manager__promotion__text { width: 300px; font-size: 16px; padding-top: 25px; } #elementor-icons-manager__promotion__link { margin-top: 20px; } .elementor-icons-manager__tab-link { padding: 15px 45px 15px 0; font-size: 14px; color: #6d7882; text-align: right; cursor: pointer; position: relative; } .elementor-icons-manager__tab-link i { font-size: 20px; padding-left: 15px; color: #a4afb7; } @media (max-width: 1439px) { .elementor-icons-manager__tab-link { padding: 15px 25px 15px 15px; font-size: 11px; } .elementor-icons-manager__tab-link i { font-size: 15px; } } @media (max-width: 1024px) { .elementor-icons-manager__tab-link i { display: none; } } .elementor-icons-manager__tab-link.elementor-active { background-color: #fff; -webkit-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.1); box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.1); } .elementor-icons-manager__tab-link.elementor-active:after { content: ""; position: absolute; height: 100%; width: 5px; top: 0; right: 0; background-color: #71d7f7; } .elementor-icons-manager__tab-link.elementor-active i { color: #71d7f7; } .elementor-icons-manager__tab__item { position: relative; height: 0; padding-bottom: 100%; background-color: #fff; -webkit-box-shadow: 0 1px 12px rgba(0, 0, 0, 0.05); box-shadow: 0 1px 12px rgba(0, 0, 0, 0.05); border-radius: 3px; cursor: pointer; -webkit-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; overflow: hidden; } .elementor-icons-manager__tab__item:hover { -webkit-box-shadow: 0 1px 14px rgba(0, 0, 0, 0.16); box-shadow: 0 1px 14px rgba(0, 0, 0, 0.16); } .elementor-icons-manager__tab__item.elementor-selected { -webkit-box-shadow: 0 1px 12px rgba(0, 0, 0, 0.05), 0 0 0 3px #71d7f7; box-shadow: 0 1px 12px rgba(0, 0, 0, 0.05), 0 0 0 3px #71d7f7; } .elementor-icons-manager__tab__item__content { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-align: center; -ms-flex-align: center; align-items: center; width: 100%; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); padding: 1px; } .elementor-icons-manager__tab__item__icon { font-size: 25px; color: #6d7882; } .elementor-icons-manager__tab__item__name { color: #c2cbd2; font-size: 11px; padding: 13px 20px 0; max-width: 100%; white-space: nowrap; -o-text-overflow: ellipsis; text-overflow: ellipsis; overflow: hidden; } #elementor-enable-fa5-dialog a { font-style: italic; text-decoration: underline; } #elementor-enable-fa5-dialog .dialog-confirm-ok { color: #39b54a; } .elementor-color-picker__header { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; font-weight: bold; padding: 10px; -webkit-box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); } .e-color-picker__tools { display: -webkit-box; display: -ms-flexbox; display: flex; } .e-control-color--no-value .pcr-button { background-image: -o-linear-gradient(315deg, transparent 46%, #ff3030 50%, transparent 54%); background-image: linear-gradient(135deg, transparent 46%, #ff3030 50%, transparent 54%); background-size: cover; background-color: transparent; border: 1px solid #d5dadf; } .pcr-app[data-theme=monolith] { padding: 0; } .pcr-result { border-right-width: 1px; border-radius: 3px; } .pcr-selection, .pcr-interaction { padding: 0 20px; } .pcr-interaction { padding-bottom: 20px; } .pcr .elementor-control-dynamic-switcher { height: 20px; border: 0; } .select2-container { width: 100% !important; outline: none; z-index: 9999; font-size: 12px; } .select2-container .e-select2-placeholder { color: #a4afb7; } .select2-container.select2-container--default .select2-selection--single { height: 27px; } .select2-container.select2-container--default .select2-selection--single .select2-selection__rendered { color: #6d7882; line-height: 27px; } .select2-container.select2-container--default .select2-selection--multiple { min-height: 27px; line-height: 0; } .select2-container.select2-container--default .select2-selection--multiple .select2-selection__clear { display: none; } .select2-container.select2-container--default .select2-selection--multiple .select2-selection__choice { background-color: #f1f3f5; line-height: 1.2; font-size: 10px; border: none; border-radius: 0; padding: 2px 3px; } .select2-container.select2-container--default .select2-selection--multiple .select2-selection__choice.select2-selection__e-plus-button { cursor: pointer; width: 16.67px; text-indent: -9999px; position: relative; } .select2-container.select2-container--default .select2-selection--multiple .select2-selection__choice.select2-selection__e-plus-button:after { content: "\e815"; font-family: "eicons"; color: #a4afb7; text-indent: 0; position: absolute; left: 0; top: 0; width: 100%; height: 100%; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .select2-container.select2-container--default .select2-selection--multiple .select2-selection__rendered { padding-bottom: 5px; } .select2-container.select2-container--default .select2-selection--multiple .select2-selection__choice__remove { color: #a4afb7; margin-left: 3px; } .select2-container:not(.select2-container--open):not(.select2-container--focus) .select2-selection--single, .select2-container:not(.select2-container--open):not(.select2-container--focus) .select2-selection--multiple { border-color: #d5dadf; } .select2-container.select2-container--open .select2-selection--single, .select2-container.select2-container--open .select2-selection--multiple, .select2-container.select2-container--focus .select2-selection--single, .select2-container.select2-container--focus .select2-selection--multiple { border-color: #a4afb7; } .select2-selection { outline: none; } .select2-selection--single { height: 27px; } .select2-selection__arrow { height: 27px; top: 0; } .select2-results__option[aria-selected=true] { color: #495157; } .select2-results__option[aria-selected=true]:not(.select2-results__option--highlighted) { background-color: initial; } .select2-dropdown { border-color: #a4afb7; } .select2-dropdown .select2-search__field { outline: none; } [class^=eicon-flex], [class*=" eicon-flex"] { -webkit-transition: 0.3s all; -o-transition: 0.3s all; transition: 0.3s all; --is-ltr: 1; --is-rtl: 0; --rotation-direction: calc( var( --is-ltr ) - var( --is-rtl ) ); --is-ltr: 0; --is-rtl: 1; } [class^=eicon-flex].eicon-inline, [class*=" eicon-flex"].eicon-inline { max-height: 1em; max-width: 1em; } :is(.e-ui-state--document-direction-mode__column, .e-ui-state--document-direction-mode__column-reverse) [class^=eicon-flex]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow), :is(.e-ui-state--document-direction-mode__column, .e-ui-state--document-direction-mode__column-reverse) [class*=" eicon-flex"]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow) { -webkit-transform: rotate(calc(var(--rotation-direction) * 90deg)); -ms-transform: rotate(calc(var(--rotation-direction) * 90deg)); transform: rotate(calc(var(--rotation-direction) * 90deg)); } :is(.e-ui-state--document-direction-mode__column, .e-ui-state--document-direction-mode__column-reverse) [class^=eicon-flex]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow):is(.eicon-align-start-v, .eicon-align-end-v), :is(.e-ui-state--document-direction-mode__column, .e-ui-state--document-direction-mode__column-reverse) [class*=" eicon-flex"]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow):is(.eicon-align-start-v, .eicon-align-end-v) { -webkit-transform: rotate(calc(var(--rotation-direction) * -90deg)); -ms-transform: rotate(calc(var(--rotation-direction) * -90deg)); transform: rotate(calc(var(--rotation-direction) * -90deg)); } .e-ui-state--document-direction-mode__column-reverse [class^=eicon-flex]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow):is(.eicon-justify-start-h, .eicon-justify-end-h, .eicon-order-start, .eicon-order-end), .e-ui-state--document-direction-mode__column-reverse [class*=" eicon-flex"]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow):is(.eicon-justify-start-h, .eicon-justify-end-h, .eicon-order-start, .eicon-order-end) { -webkit-transform: rotate(calc(var(--rotation-direction) * -90deg)); -ms-transform: rotate(calc(var(--rotation-direction) * -90deg)); transform: rotate(calc(var(--rotation-direction) * -90deg)); } .e-ui-state--document-direction-mode__row [class^=eicon-flex]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow):is(.eicon-justify-start-h, .eicon-justify-end-h, .eicon-order-start, .eicon-order-end), .e-ui-state--document-direction-mode__row [class*=" eicon-flex"]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow):is(.eicon-justify-start-h, .eicon-justify-end-h, .eicon-order-start, .eicon-order-end) { -webkit-transform: rotate(calc(var(--is-rtl) * 180deg)); -ms-transform: rotate(calc(var(--is-rtl) * 180deg)); transform: rotate(calc(var(--is-rtl) * 180deg)); } .e-ui-state--document-direction-mode__row-reverse [class^=eicon-flex]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow):is(.eicon-justify-start-h, .eicon-justify-end-h, .eicon-order-start, .eicon-order-end), .e-ui-state--document-direction-mode__row-reverse [class*=" eicon-flex"]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow):is(.eicon-justify-start-h, .eicon-justify-end-h, .eicon-order-start, .eicon-order-end) { -webkit-transform: rotate(calc(var(--is-ltr) * 180deg)); -ms-transform: rotate(calc(var(--is-ltr) * 180deg)); transform: rotate(calc(var(--is-ltr) * 180deg)); } /*# sourceMappingURL=editor-rtl.css.map */assets/css/editor.min.css000064400000466735152377341010011450 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ .elementor-control-unit-1{width:27px}.elementor-control-unit-2{width:54px}.elementor-control-unit-3{width:81px}.elementor-control-unit-4{width:108px}.elementor-control-unit-5{max-width:400px;width:52%}*,:after,:before{margin:0;padding:0;-webkit-box-sizing:border-box;box-sizing:border-box}body,html{height:100%}html{background-color:#f1f1f1}iframe,img{border:0}li{list-style:none}a,body{text-decoration:none}body{color:#6d7882;font-family:Roboto,Arial,Helvetica,Verdana,sans-serif;font-size:13px;font-weight:400;line-height:1;text-transform:none;overflow:hidden}body:after{content:"";position:absolute;top:0;right:0;height:100%;width:0;background-color:#71d7f7;-webkit-transition:width .5s;-o-transition:width .5s;transition:width .5s}body a{color:#71d7f7}body a:hover{color:#93003c}body.elementor-editor-active #elementor-mode-switcher-preview .eicon:before{content:"\e89f"}body.elementor-editor-preview{--e-preview-width:100%}body.elementor-editor-preview #elementor-mode-switcher-preview .eicon:before{content:"\e89e"}body.elementor-navigator--dock-hint:after{width:30px}#elementor-editor-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;height:100vh}#elementor-panel:not(.ui-resizable-resizing),#elementor-preview:not(.ui-resizable-resizing){-webkit-transition:margin .5s ease-in-out,width .5s ease-in-out;-o-transition:margin .5s ease-in-out,width .5s ease-in-out;transition:margin .5s ease-in-out,width .5s ease-in-out}#elementor-loading{position:fixed;top:0;left:0;bottom:0;right:0;background:#f1f3f5;z-index:9999}#elementor-preview-loading{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;position:absolute;top:0;left:0;width:100%;height:100%;background-color:#fff}#elementor-preview-loading i{color:#d5dadf;font-size:50px}#elementor-fatal-error-dialog button.dialog-ok{color:#71d7f7}#elementor-fatal-error-dialog .dialog-header{color:#6d7882}#elementor-flexbox-attention-dialog .dialog-cancel{color:#39b54a}#elementor-flexbox-attention-dialog .dialog-ok{color:#6d7882}.elementor-nerd-box{padding:30px;text-align:center}.elementor-nerd-box-icon{width:100px;margin-right:10px}.elementor-nerd-box-title{margin-top:20px;font-size:16px;font-weight:700;line-height:1.4}.elementor-nerd-box-message{margin-top:5px;line-height:1.8;font-size:11px}.elementor-nerd-box .elementor-button.elementor-nerd-box-link{background-color:#93003c;color:#fff;padding:7px 25px;margin-top:20px;-webkit-box-shadow:0 0 1px rgba(0,0,0,.1),0 2px 2px rgba(0,0,0,.1);box-shadow:0 0 1px rgba(0,0,0,.1),0 2px 2px rgba(0,0,0,.1);-webkit-transition:.5s;-o-transition:.5s;transition:.5s}.elementor-nerd-box .elementor-button.elementor-nerd-box-link:hover{background-color:#c60051}.eicon-nerd:hover:before{content:"\e8b7"}.eicon-nerd:active:before{content:"\e8b6"}.e-group-control-header{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-weight:700;font-size:12px;padding:10px;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.1);box-shadow:0 2px 8px rgba(0,0,0,.1);margin-bottom:15px}.e-control-tools,.e-group-control-header{display:-webkit-box;display:-ms-flexbox;display:flex}.e-control-tool{width:20px;height:20px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;border-radius:3px;margin:0 3px;border:0;position:relative;background-color:#fff}.e-control-tool:not(.e-control-tool-disabled){-webkit-box-shadow:0 1px 5px rgba(0,0,0,.1);box-shadow:0 1px 5px rgba(0,0,0,.1);cursor:pointer}.e-control-tool-disabled{background:#e6e9ec;pointer-events:none}.e-control-tool-disabled i{color:#fff}.e-control-tool i{position:absolute;top:50%;left:50%;-webkit-transform:translateX(-50%) translateY(-50%);-ms-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%);color:#6d7882;font-size:13px}#e-enable-unfiltered-files-dialog .dialog-confirm-ok{color:#39b54a}i.eicon-tilted{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.elementor-loader-wrapper{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:300px;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-loader{border-radius:50%;padding:40px;height:150px;width:150px;background-color:hsla(0,0%,100%,.9);-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-box-shadow:2px 2px 20px 4px rgba(0,0,0,.02);box-shadow:2px 2px 20px 4px rgba(0,0,0,.02)}.elementor-loader-boxes{height:100%;width:100%;position:relative}.elementor-loader-box{position:absolute;background-color:#d5dadf;-webkit-animation:load 1.8s linear infinite;animation:load 1.8s linear infinite}.elementor-loader-box:first-of-type{width:20%;height:100%;left:0;top:0}.elementor-loader-box:not(:first-of-type){right:0;height:20%;width:60%}.elementor-loader-box:nth-of-type(2){top:0;-webkit-animation-delay:-.45s;animation-delay:-.45s}.elementor-loader-box:nth-of-type(3){top:40%;-webkit-animation-delay:-.9s;animation-delay:-.9s}.elementor-loader-box:nth-of-type(4){bottom:0;-webkit-animation-delay:-1.35s;animation-delay:-1.35s}.elementor-loading-title{color:#a4afb7;text-align:center;text-transform:uppercase;margin-top:30px;letter-spacing:7px;text-indent:7px;font-size:10px;width:100%}.elementor-button{font-family:Roboto,Arial,Helvetica,Verdana,sans-serif;font-weight:500;text-transform:uppercase;outline:none;border:none;border-radius:3px;-webkit-transition-property:background,color,opacity,-webkit-box-shadow;transition-property:background,color,opacity,-webkit-box-shadow;-o-transition-property:background,color,box-shadow,opacity;transition-property:background,color,box-shadow,opacity;transition-property:background,color,box-shadow,opacity,-webkit-box-shadow;-webkit-transition-duration:.3s;-o-transition-duration:.3s;transition-duration:.3s}.elementor-button:hover{border:none}.elementor-button:not([disabled]){cursor:pointer}.elementor-button:not(.elementor-button-state) .elementor-state-icon{display:none}.elementor-button.elementor-button-success{color:#fff}.elementor-button.elementor-button-success[disabled]{background-color:#c2cbd2}.elementor-button.elementor-button-success:not([disabled]){background-color:#39b54a}.elementor-button.elementor-button-success:not([disabled]):hover{opacity:.85;-webkit-box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2);box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}.elementor-button.elementor-button-success:not([disabled]):active{-webkit-box-shadow:0 5px 10px rgba(0,0,0,.19),0 3px 3px rgba(0,0,0,.1);box-shadow:0 5px 10px rgba(0,0,0,.19),0 3px 3px rgba(0,0,0,.1)}.elementor-button.elementor-button-warning{background-color:#a4afb7;color:#fff}.elementor-button.elementor-button-warning[disabled]{background-color:#c2cbd2}.elementor-button.elementor-button-warning:not([disabled]):hover{background-color:#b01b1b;opacity:.85;-webkit-box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2);box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}.elementor-button.elementor-button-warning:not([disabled]):active{-webkit-box-shadow:0 5px 10px rgba(0,0,0,.19),0 3px 3px rgba(0,0,0,.1);box-shadow:0 5px 10px rgba(0,0,0,.19),0 3px 3px rgba(0,0,0,.1)}.elementor-button.elementor-button-danger{background-color:#d72b3f;color:#fff}.elementor-button.elementor-button-danger[disabled]{background-color:#c2cbd2}.elementor-button.elementor-button-danger:not([disabled]):hover{opacity:.85;-webkit-box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2);box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}.elementor-button.elementor-button-danger:not([disabled]):active{-webkit-box-shadow:0 5px 10px rgba(0,0,0,.19),0 3px 3px rgba(0,0,0,.1);box-shadow:0 5px 10px rgba(0,0,0,.19),0 3px 3px rgba(0,0,0,.1)}.elementor-button.elementor-edit-template{display:inline-block;margin-top:15px;color:#fff}.elementor-button.elementor-button-default{background-color:#a4afb7;color:#fff;font-size:11px;padding:7px 21px}.elementor-button.elementor-button-default:hover{background-color:#6d7882;-webkit-box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2);box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}.elementor-button.elementor-button-default:active{-webkit-box-shadow:0 5px 10px rgba(0,0,0,.19),0 3px 3px rgba(0,0,0,.1);box-shadow:0 5px 10px rgba(0,0,0,.19),0 3px 3px rgba(0,0,0,.1)}.elementor-button.elementor-button-default:visited{color:#fff}.elementor-button.elementor-button-go-pro{background-color:#93003c}.elementor-button i{margin-right:10px}.elementor-input-style,input,select,textarea{border-radius:3px;font-size:12px;width:100%;background:none;-webkit-box-shadow:none;box-shadow:none;color:#6d7882;border:1px solid;outline:none}.elementor-input-style:not(:focus),input:not(:focus),select:not(:focus),textarea:not(:focus){border-color:#d5dadf}.elementor-input-style:focus,.elementor-input-style:focus+.elementor-control-dynamic-switcher,input:focus,input:focus+.elementor-control-dynamic-switcher,select:focus,select:focus+.elementor-control-dynamic-switcher,textarea:focus,textarea:focus+.elementor-control-dynamic-switcher{border-color:#a4afb7}.elementor-input-style::-webkit-input-placeholder,input::-webkit-input-placeholder,select::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#a4afb7}.elementor-input-style::-moz-placeholder,input::-moz-placeholder,select::-moz-placeholder,textarea::-moz-placeholder{color:#a4afb7}.elementor-input-style::-ms-input-placeholder,input::-ms-input-placeholder,select::-ms-input-placeholder,textarea::-ms-input-placeholder{color:#a4afb7}.elementor-input-style::placeholder,input::placeholder,select::placeholder,textarea::placeholder{color:#a4afb7}.elementor-error input,.elementor-error select,.elementor-error textarea{border-color:#b01b1b}input{min-width:0}.elementor-input-style,input,textarea{padding:5px}.elementor-input-style,textarea{resize:vertical}input[type=checkbox],input[type=radio]{height:auto;width:auto}input[disabled]{background-color:#e6e9ec;cursor:not-allowed;opacity:1}select{outline:none;height:27px}.ps{overflow:hidden!important;overflow-anchor:none;-ms-touch-action:auto;touch-action:auto}.ps__rail-y{display:none;opacity:0;-webkit-transition:background-color .2s linear,opacity .2s linear;-o-transition:background-color .2s linear,opacity .2s linear;transition:background-color .2s linear,opacity .2s linear;width:15px;right:0;left:auto!important;position:absolute}.ps--active-y>.ps__rail-y{display:block;background-color:transparent}.ps--focus>.ps__rail-y,.ps--scrolling-y>.ps__rail-y,.ps:hover>.ps__rail-y{opacity:.6}.ps .ps__rail-y.ps--clicking,.ps .ps__rail-y:focus,.ps .ps__rail-y:hover{opacity:.9}.ps__thumb-y{background-color:#aaa;border-radius:6px;-webkit-transition:background-color .2s linear,width .2s ease-in-out;-o-transition:background-color .2s linear,width .2s ease-in-out;transition:background-color .2s linear,width .2s ease-in-out;width:6px;right:2px;position:absolute}.ps__rail-y.ps--clicking .ps__thumb-y,.ps__rail-y:focus>.ps__thumb-y,.ps__rail-y:hover>.ps__thumb-y{background-color:#999;width:6px}#nprogress{pointer-events:none}#nprogress .bar{background:#39b54a;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;-webkit-box-shadow:0 0 10px #39b54a,0 0 5px #39b54a;box-shadow:0 0 10px #39b54a,0 0 5px #39b54a;opacity:1;-webkit-transform:rotate(3deg) translateY(-4px);-ms-transform:rotate(3deg) translateY(-4px);transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:none;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;-webkit-box-sizing:border-box;box-sizing:border-box;border-color:#39b54a transparent transparent #39b54a;border-style:solid;border-width:2px;border-radius:50%;-webkit-animation:nprogress-spinner .4s linear infinite;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@-webkit-keyframes nprogress-spinner{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes nprogress-spinner{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}#nprogress .bar,#nprogress .spinner{z-index:100000}:root{--e-is-preview-mode:0}@media (max-width:1439px){:root{--e-editor-panel-width:280px}}@media (min-width:1440px){:root{--e-editor-panel-width:300px}}.elementor-panel{position:relative;height:100%;-webkit-margin-start:calc(-1 * var(--e-editor-panel-width) * var(--e-is-preview-mode));margin-inline-start:calc(-1 * var(--e-editor-panel-width) * var(--e-is-preview-mode));width:var(--e-editor-panel-width);overflow:visible;background-color:#e6e9ec;z-index:1;font-family:Roboto,Arial,Helvetica,Verdana,sans-serif;font-size:13px;left:0}.elementor-editor-preview .elementor-panel{--e-is-preview-mode:1}.elementor-editor-preview .elementor-panel>.ui-resizable-e,.elementor-editor-preview .elementor-panel>.ui-resizable-w{display:none}.elementor-panel .ps__rail-y{z-index:2}.elementor-panel .elementor-responsive-panel{padding:5px 10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(min(135px,50% - 5px),1fr))}.elementor-panel .elementor-responsive-panel>.e-responsive-panel-stretch{grid-column:1/-1}.elementor-panel ::-moz-selection{background:#5bc0de;color:#fff}.elementor-panel ::selection{background:#5bc0de;color:#fff}.elementor-panel a{color:#93003c}.elementor-panel h1,.elementor-panel h2,.elementor-panel h3,.elementor-panel h4,.elementor-panel h5,.elementor-panel h6{font-size:100%;font-weight:400}.elementor-panel abbr,.elementor-panel acronym{border:0;font-variant:normal}.elementor-panel sup{vertical-align:text-top}.elementor-panel sub{vertical-align:text-bottom}.elementor-panel img{max-width:100%;height:auto;border:0}.elementor-panel ::-moz-focus-inner{padding:0;border:0}.elementor-panel :focus{outline:0}.elementor-panel .elementor-panel-box{margin-top:10px;background-color:#fff}.elementor-panel .elementor-panel-box-content{padding:20px 20px 10px}.elementor-panel .elementor-button{display:inline-block}.elementor-panel .elementor-panel-alert{background-color:#fcfcfc;padding:15px;border-left:3px solid transparent;position:relative;font-size:12px;font-weight:300;font-style:italic;line-height:1.5;text-align:left;border-radius:0 3px 3px 0;-webkit-box-shadow:0 1px 4px 0 rgba(0,0,0,.07);box-shadow:0 1px 4px 0 rgba(0,0,0,.07)}.elementor-panel .elementor-panel-alert a{color:inherit}.elementor-panel .elementor-panel-alert.elementor-panel-alert-info{border-color:#71d7f7;background-color:#f3fcff}.elementor-panel .elementor-panel-alert.elementor-panel-alert-success{border-color:#39b54a}.elementor-panel .elementor-panel-alert.elementor-panel-alert-warning{border-color:#fcb92c}.elementor-panel .elementor-panel-alert.elementor-panel-alert-danger{border-color:#d72b3f}.elementor-panel .elementor-label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em;text-transform:capitalize}.elementor-panel .elementor-label.elementor-label-default{background-color:#a4afb7}.elementor-panel .elementor-label.elementor-label-info{background-color:#5bc0de}.elementor-panel .elementor-label.elementor-label-success{background-color:#5cb85c}.elementor-panel .elementor-label.elementor-label-warning{background-color:#f0ad4e}.elementor-panel .elementor-label.elementor-label-danger{background-color:#d9534f}.elementor-panel .elementor-control-field-description,.elementor-panel .elementor-descriptor{font-size:11px;font-style:italic;line-height:1.4;color:#a4afb7}.elementor-panel .elementor-controls-popover{display:none;position:absolute;-webkit-box-shadow:0 2px 15px rgba(0,0,0,.3);box-shadow:0 2px 15px rgba(0,0,0,.3);border-radius:3px;left:0;right:0;margin:-4px auto 5px;padding-top:15px;width:90%;z-index:10000;background-color:#fff}.elementor-panel .elementor-controls-popover:before{content:"";position:absolute;top:-16px;right:22px;border:8px solid transparent;border-bottom-color:#fff}.elementor-panel .elementor-controls-popover div.elementor-control{background-color:transparent}.elementor-panel .elementor-controls-popover div.elementor-control:before{content:none}.elementor-panel #elementor-controls .pojo-widget-button-collapse{display:none}.elementor-panel #elementor-panel-global .elementor-nerd-box .elementor-nerd-box-icon{margin-top:20px}.elementor-panel #elementor-panel-header{display:table;height:40px;width:100%;background-color:#93003c;color:#fff}.elementor-panel #elementor-panel-header>*{display:table-cell;vertical-align:middle;text-align:center}.elementor-panel .elementor-header-button{width:40px}.elementor-panel .elementor-header-button .elementor-icon{cursor:pointer;display:block;font-size:19px;height:40px;line-height:40px;-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s}.elementor-panel .elementor-header-button .elementor-icon.eicon-menu-bar{font-size:18px}.elementor-panel .elementor-header-button .elementor-icon:hover{color:#d5dadf}.elementor-panel #elementor-panel-header-title{font-size:15px}.elementor-panel #elementor-panel-header-title img{width:90px}.elementor-panel #elementor-panel-elements-categories{padding-bottom:10px}.elementor-panel .elementor-panel-category{position:relative}.elementor-panel .elementor-panel-category:first-child .elementor-panel-category-title{padding-top:14px}.elementor-panel .elementor-panel-category.elementor-active .elementor-panel-category-title:before{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.elementor-panel .elementor-panel-category:not(.elementor-active):after{content:"";position:absolute;left:15px;right:15px;bottom:0;height:8px;background:-o-linear-gradient(rgba(0,0,0,.03),transparent);background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.03)),to(transparent));background:linear-gradient(rgba(0,0,0,.03),transparent);-webkit-transform:translateY(100%);-ms-transform:translateY(100%);transform:translateY(100%)}.elementor-panel .elementor-panel-category-title{margin:0 15px;padding:20px 0;position:relative;text-transform:uppercase;font-size:11px;cursor:pointer}.elementor-panel .elementor-panel-category-title:before{content:"\e87d";font-family:eicons;position:absolute;right:0;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;-o-transition:transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}.elementor-panel .elementor-panel-category-items{padding:0 10px}.elementor-panel .elementor-panel-category-items-empty{grid-column-start:1;grid-column-end:3}.elementor-panel .elementor-panel-scheme-title{padding:10px 20px;margin-top:10px}.elementor-panel .elementor-panel-scheme-description{padding:20px 20px 0}.elementor-panel .elementor-panel-scheme-buttons{padding:0 20px;display:table;table-layout:fixed;width:100%;height:40px;background-color:#fff;-webkit-box-shadow:0 0 8px rgba(0,0,0,.1);box-shadow:0 0 8px rgba(0,0,0,.1)}.elementor-panel .elementor-panel-scheme-buttons .elementor-button{font-family:Roboto,Arial,Helvetica,Verdana,sans-serif;font-size:11px;font-weight:400}.elementor-panel .elementor-panel-scheme-button-wrapper{display:table-cell;vertical-align:middle;text-align:center}.elementor-panel .elementor-panel-scheme-button-wrapper:first-child{text-align:left}.elementor-panel .elementor-panel-scheme-button-wrapper:last-child{text-align:right}.elementor-panel .elementor-panel-scheme-save .elementor-button{padding:6px 18px}.elementor-panel .elementor-panel-scheme-discard .elementor-button,.elementor-panel .elementor-panel-scheme-reset .elementor-button{color:#a4afb7;background:none}.elementor-panel .elementor-panel-scheme-color .elementor-panel-scheme-items{position:relative;display:grid;grid-template-columns:repeat(4,27px);-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.elementor-panel .elementor-panel-scheme-color-title{text-align:center;text-transform:uppercase;margin:10px 0;color:#c2cbd2;font-size:8px}.elementor-panel .elementor-panel-scheme-typography-item{display:table;table-layout:fixed;width:100%;margin-bottom:15px}.elementor-panel .elementor-panel-scheme-typography-item>*{display:table-cell;vertical-align:middle}.elementor-panel .elementor-panel-scheme-typography-item-value input,.elementor-panel .elementor-panel-scheme-typography-item-value select{width:100%}.elementor-panel .elementor-panel-scheme-item:not(.elementor-open) .elementor-panel-scheme-typography-items{display:none}.elementor-panel .elementor-panel-scheme-color-system-scheme{margin-bottom:10px}.elementor-panel .elementor-panel-scheme-color-system-scheme .elementor-title{font-size:11px;color:#a4afb7;font-style:italic;margin-top:5px}.elementor-panel .elementor-panel-scheme-color-system-items{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-transition:border .5s;-o-transition:border .5s;transition:border .5s;overflow:hidden;padding:3px;border-radius:3px;border:1px solid #d5dadf;cursor:pointer}.elementor-panel .elementor-panel-scheme-color-system-items:hover{border:1px solid #a4afb7}.elementor-panel .elementor-panel-scheme-color-system-item{height:20px;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-panel #elementor-panel-schemes-disabled a{color:#39b54a}.elementor-panel #elementor-panel-schemes-disabled a:hover{text-decoration:underline}.elementor-panel #elementor-panel-schemes-disabled .elementor-nerd-box-icon{margin-top:20px}.elementor-panel #elementor-panel-page-menu{padding:25px 15px}.elementor-panel .elementor-panel-menu-group-title{text-transform:uppercase;font-size:11px}.elementor-panel .elementor-panel-menu-items{margin:15px 0 25px;border-radius:5px;overflow:hidden}.elementor-panel .elementor-panel-menu-item{display:table;width:100%;height:40px;cursor:pointer;margin-bottom:1px;background-color:#fff}.elementor-panel .elementor-panel-menu-item:hover{background-color:hsla(0,0%,100%,.8)}.elementor-panel .elementor-panel-menu-item>*{display:table-cell;vertical-align:middle}.elementor-panel .elementor-panel-menu-item-icon{text-align:center;width:50px;color:#a4afb7;font-size:19px}.elementor-panel .elementor-panel-menu-item-icon .eicon-editor-external-link{font-size:18px}.elementor-panel .elementor-panel-menu-item-title{font-weight:500}.elementor-panel .elementor-panel-menu-item-title>span{color:#39b54a}.elementor-panel .elementor-panel-menu-item a{color:#6d7882}.elementor-panel .elementor-panel-menu-item-exit-to-dashboard{background-color:#0085ba;color:#fff;text-transform:uppercase;font-size:12px}.elementor-panel .elementor-panel-menu-item-exit-to-dashboard:hover{background-color:#0073a1}.elementor-panel .elementor-panel-menu-item-exit-to-dashboard .elementor-panel-menu-item-icon,.elementor-panel .elementor-panel-menu-item-exit-to-dashboard .elementor-panel-menu-item-title{color:#fff}.elementor-panel .elementor-panel-menu-item-settings-additional-settings{background-color:#f1f3f5}.elementor-panel .elementor-control.elementor-control-clear_page{background-color:transparent}.elementor-panel .elementor-control.elementor-control-clear_page .elementor-control-raw-html{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.elementor-panel .elementor-panel-navigation{background-color:#fff;-webkit-box-shadow:0 0 8px rgba(0,0,0,.1);box-shadow:0 0 8px rgba(0,0,0,.1);display:table;table-layout:fixed;width:100%}.elementor-panel .elementor-panel-navigation .elementor-panel-navigation-tab{display:table-cell}.elementor-panel .elementor-panel-navigation .elementor-panel-navigation-tab.elementor-active{background-image:-o-linear-gradient(top,#f1f3f5,#fff);background-image:-webkit-gradient(linear,left top,left bottom,from(#f1f3f5),to(#fff));background-image:linear-gradient(180deg,#f1f3f5,#fff);border-bottom:3px solid #93003c}.elementor-panel .elementor-panel-navigation .elementor-panel-navigation-tab a{display:block;text-align:center;padding:12px 0 8px;font-size:10px;color:#6d7882}.elementor-panel .elementor-panel-navigation .elementor-panel-navigation-tab a:before{font-family:eicons;font-size:16px;display:block;margin-bottom:6px}.elementor-panel .elementor-tab-control-content a:before{content:"\e92c"}.elementor-panel .elementor-tab-control-style a:before{content:"\e921"}.elementor-panel .elementor-tab-control-advanced a:before,.elementor-panel .elementor-tab-control-general_style a:before,.elementor-panel .elementor-tab-control-settings a:before{content:"\e916"}.elementor-panel .elementor-tab-control-responsive a:before{content:"\e885"}.elementor-panel .elementor-tab-control-column a:before,.elementor-panel .elementor-tab-control-layout a:before{content:"\e899"}.elementor-panel .elementor-tab-control-lightbox a:before{content:"\e922"}.elementor-panel #elementor-panel__editor__help{padding:50px 25px;display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-panel #elementor-panel__editor__help,.elementor-panel #elementor-panel__editor__help__link{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-panel #elementor-panel__editor__help__link{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;color:#6d7882;font-size:12px;font-weight:500;-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s}.elementor-panel #elementor-panel__editor__help__link i{padding:0 5px;color:#a4afb7;font-size:18px;position:relative}.elementor-panel #elementor-panel__editor__help__link i:after{content:"";position:absolute;height:13px;width:13px;top:3px;bottom:0;left:8px;right:0;border-radius:50%;z-index:-1}.elementor-panel #elementor-panel__editor__help__link:hover{color:#495157}.elementor-panel #elementor-panel__editor__help__link:hover i{color:#71d7f7}.elementor-panel #elementor-panel__editor__help__link:hover i:before{content:"\e941"}.elementor-panel #elementor-panel__editor__help__link:hover i:after{background:#fff}.elementor-panel #elementor-panel-footer{position:absolute;bottom:0;left:0;right:0;height:40px;background-color:#495157}.elementor-panel #elementor-panel-footer-tools{display:table;table-layout:fixed;width:100%;height:100%}.elementor-panel .elementor-panel-footer-tool{display:table-cell;vertical-align:middle;text-align:center;cursor:pointer;color:#a4afb7;-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s}.elementor-panel .elementor-panel-footer-tool #elementor-panel-saver-button-update{border-right:1px solid #2d8739;border-radius:3px 0 0 3px}.elementor-panel .elementor-panel-footer-tool #elementor-panel-saver-button-update i{margin-right:5px}.elementor-panel .elementor-panel-footer-tool #elementor-panel-saver-button-save-options{float:left;border-radius:0 3px 3px 0}.elementor-panel .elementor-panel-footer-tool #elementor-panel-saver-button-save-options i{margin:auto}.elementor-panel .elementor-panel-footer-tool.elementor-open{color:#fff}.elementor-panel .elementor-panel-footer-tool:not(.elementor-open):hover{color:#d5dadf}.elementor-panel .elementor-panel-footer-tool:not(.elementor-open) .elementor-panel-footer-sub-menu-wrapper{display:none}.elementor-panel .elementor-panel-footer-sub-menu-wrapper{position:absolute;bottom:100%;left:0;width:100%;background-color:#556068;padding:10px;-webkit-box-shadow:-2px -5px 8px rgba(0,0,0,.1);box-shadow:-2px -5px 8px rgba(0,0,0,.1);cursor:default;z-index:10000}.elementor-panel .elementor-panel-footer-sub-menu{border-radius:5px;overflow:hidden}.elementor-panel .elementor-panel-footer-sub-menu-item{background-color:#495157;display:table;table-layout:fixed;width:100%;cursor:pointer}.elementor-panel .elementor-panel-footer-sub-menu-item.elementor-disabled .elementor-icon,.elementor-panel .elementor-panel-footer-sub-menu-item.elementor-disabled .elementor-title{color:#6d7882}.elementor-panel .elementor-panel-footer-sub-menu-item:not(:last-child){margin-bottom:1px}.elementor-panel .elementor-panel-footer-sub-menu-item:hover{background-color:rgba(0,0,0,.2)}.elementor-panel .elementor-panel-footer-sub-menu-item.active{background-color:rgba(0,0,0,.3)}.elementor-panel .elementor-panel-footer-sub-menu-item>*{display:table-cell;height:40px;vertical-align:middle}.elementor-panel .elementor-panel-footer-sub-menu-item .elementor-icon{width:40px;color:#a4afb7}.elementor-panel .elementor-panel-footer-sub-menu-item .elementor-title{text-align:left;color:#d5dadf}.elementor-panel .elementor-panel-footer-sub-menu-item .elementor-description{width:95px;text-align:left;font-size:11px;font-style:italic;color:#a4afb7}.elementor-panel #elementor-panel-footer-help-title{text-align:left;padding:10px 0;color:#d5dadf}.elementor-panel #elementor-panel-footer-responsive>i{display:block;height:100%;line-height:40px}.elementor-panel #elementor-panel-footer-saver-publish{width:80px}.elementor-panel #elementor-panel-footer-saver-publish .elementor-button-state i{margin-right:0}.elementor-panel #elementor-panel-footer-saver-publish .elementor-button-state #elementor-panel-saver-button-publish-label{display:none}.elementor-panel #elementor-panel-footer-saver-options{width:35px;border-left:1px solid #495157}.elementor-panel #elementor-panel-footer-saver-options .elementor-last-edited-wrapper{font-size:11px;font-style:italic;color:#a4afb7;padding:5px 0 15px}.elementor-panel #elementor-panel-footer-saver-options .elementor-last-edited-wrapper:not(.elementor-state-active) .elementor-state-icon{display:none}.elementor-panel #elementor-panel-footer-saver-options .elementor-last-edited-wrapper time{border-bottom:1px dotted transparent;-webkit-transition:all .3s ease-in-out;-o-transition:all ease-in-out .3s;transition:all .3s ease-in-out;cursor:pointer}.elementor-panel #elementor-panel-footer-saver-options .elementor-last-edited-wrapper time:hover{border-bottom-color:inherit}.elementor-panel .elementor-disabled{cursor:default}.elementor-panel #elementor-panel-saver-button-preview a{color:#a4afb7}.elementor-panel #elementor-panel-saver-button-publish,.elementor-panel #elementor-panel-saver-button-save-options{font-size:11px;text-transform:uppercase;height:26px}.elementor-panel #elementor-panel-saver-button-publish.elementor-disabled,.elementor-panel #elementor-panel-saver-button-save-options.elementor-disabled{background-color:#556068;color:#a4afb7}.elementor-panel #elementor-panel-saver-button-publish{width:100%;border-radius:3px 0 0 3px}.elementor-panel #elementor-panel-saver-button-save-options{width:25px}#elementor-panel-elements-navigation .elementor-panel-navigation-tab{text-align:center;padding:10px 0;font-size:11px;text-transform:uppercase;cursor:pointer}#elementor-panel-elements{overflow:hidden}#elementor-panel-state-loading{display:none}body.elementor-panel-loading #elementor-panel-state-loading{position:absolute;top:0;left:0;height:100%;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;background-color:hsla(0,0%,100%,.5);z-index:2}#elementor-panel-state-loading .eicon-loading{font-size:25px;color:#71d7f7}#elementor-panel-elements-search-area{position:sticky;top:0;padding:10px;background-color:#e6e9ec;z-index:1}#elementor-panel-elements-search-wrapper{position:relative}#elementor-panel-elements-search-input{background-color:hsla(0,0%,100%,.7);font-size:11px;padding:10px 10px 10px 29px;font-style:italic;color:#a4afb7;border:none;-webkit-transition:all 1s;-o-transition:all 1s;transition:all 1s;border-radius:3px;appearance:none;-webkit-appearance:none;-moz-appearance:none}#elementor-panel-elements-search-input+i{position:absolute;left:10px;top:50%;color:#a4afb7;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}#elementor-panel-elements-search-input:focus{background-color:#fff;padding-right:15px}.elementor-panel .elementor-element{border-radius:3px;background-color:#fff;cursor:move;position:relative}.elementor-panel .elementor-element-wrapper{text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box}.elementor-panel .elementor-element--promotion .elementor-element{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.elementor-panel .elementor-element .icon,.elementor-panel .elementor-element .title{color:#556068;-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s}.elementor-panel .elementor-element:hover{-webkit-box-shadow:0 2px 6px rgba(0,0,0,.2);box-shadow:0 2px 6px rgba(0,0,0,.2)}.elementor-panel .elementor-element:hover .icon,.elementor-panel .elementor-element:hover .title{color:#93003c}.elementor-panel .elementor-element .icon{font-size:28px;padding-top:15px}.elementor-panel .elementor-element .elementor-element-title-wrapper{display:table;width:100%}.elementor-panel .elementor-element .title{font-size:11px;display:table-cell;vertical-align:middle;height:40px}.elementor-panel .elementor-element>.eicon-lock{position:absolute;top:5px;right:5px;color:#e6e9ec}#elementor-element--promotion__dialog{position:absolute;width:300px;z-index:1;background-color:#fff;-webkit-box-shadow:0 2px 15px rgba(0,0,0,.3);box-shadow:0 2px 15px rgba(0,0,0,.3);border-radius:3px}#elementor-element--promotion__dialog:after{content:"";position:absolute;top:15px;right:100%;-webkit-transform:scaleY(.7);-ms-transform:scaleY(.7);transform:scaleY(.7);border:10px solid transparent;border-right-color:#fff}#elementor-element--promotion__dialog__title{font-size:14px}#elementor-element--promotion__dialog .dialog-header{display:-webkit-box;display:-ms-flexbox;display:flex;padding:20px;color:#495157;border-bottom:1px solid #e6e9ec;font-weight:500}#elementor-element--promotion__dialog .dialog-header i{color:#a4afb7}#elementor-element--promotion__dialog .dialog-header .eicon-pro-icon{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;margin-left:10px;font-size:14px}#elementor-element--promotion__dialog .dialog-header .eicon-close{cursor:pointer}#elementor-element--promotion__dialog .dialog-message{padding:20px}#elementor-element--promotion__dialog .dialog-buttons-wrapper{padding:0 20px 20px}#elementor-element--promotion__dialog .dialog-button{width:100%;padding:6.5px;font-size:12px}#elementor-element--promotion__dialog .dialog-button::-moz-focus-inner{border:0}#elementor-panel-inner{position:relative;height:100%;-webkit-box-shadow:0 0 5px 0 rgba(0,0,0,.2);box-shadow:0 0 5px 0 rgba(0,0,0,.2)}#elementor-panel-content-wrapper{position:absolute;bottom:40px;top:40px;left:0;width:100%}.elementor-panel-container{clear:both;padding-left:15px;padding-right:15px}.media-modal.wp-core-ui input,.media-modal.wp-core-ui select{width:auto}.media-modal.wp-core-ui fieldset{padding:0;border:0}.media-modal.wp-core-ui .wp-clearfix:after{content:"";display:table;clear:both}.media-modal.wp-core-ui .e-wp-media-elements-removed .embed-link-settings,.media-modal.wp-core-ui .e-wp-media-elements-removed .embed-media-settings>:not(.wp-clearfix):not(.alt-text):not(#alt-text-description){display:none}.media-modal.wp-core-ui .e-wp-media-elements-removed #embed-url-field{width:70%}.media-modal.wp-core-ui .e-wp-media-elements-removed .media-embed .thumbnail{margin-top:20px}.media-modal.wp-core-ui .e-wp-media-elements-removed .media-embed .thumbnail,.media-modal.wp-core-ui .e-wp-media-elements-removed .media-embed .thumbnail img{max-height:none}.media-modal.wp-core-ui .e-wp-media-elements-removed .media-embed .thumbnail:after{-webkit-box-shadow:none;box-shadow:none}.media-modal.wp-core-ui .e-wp-media-elements-removed .media-button-select{font-size:0}.media-modal.wp-core-ui .e-wp-media-elements-removed .media-button-select:before{content:var(--button-text);font-size:13px}#elementor-panel-get-pro-elements .elementor-nerd-box-message{margin-top:10px}#elementor-panel-get-pro-elements .elementor-nerd-box-icon{margin-top:20px}.elementor-control{--control-title-size:12px;background-color:#fff;position:relative;padding:0 20px 15px}.elementor-control a{font-weight:500;text-decoration:none;border-bottom:1px dotted transparent;-webkit-transition:all .3s ease-in-out;-o-transition:all ease-in-out .3s;transition:all .3s ease-in-out}.elementor-control a:hover{border-bottom-color:inherit}.elementor-control a.elementor-responsive-switcher{border-bottom:0}.elementor-control .elementor-control-content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.elementor-control .elementor-control-title{font-size:var(--control-title-size);line-height:1;margin-right:5px}.elementor-control .elementor-control-spinner{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-control.elementor-control-type-divider{padding:0;background-color:transparent}.elementor-control.elementor-control-type-divider .elementor-control-content{border:solid #e6e9ec;border-width:1px 0 0;background-color:#fff;height:15px}.elementor-control.elementor-control-separator-default:not(.elementor-control-type-divider).elementor-control-wp{margin-top:15px}.elementor-control.elementor-control-separator-default:not(.elementor-control-type-divider).elementor-control-wp:before{content:"";height:1px;display:block;margin-bottom:15px;background-color:transparent}.elementor-control.elementor-control-separator-before{padding-top:15px}.elementor-control.elementor-control-separator-before:before{content:"";position:absolute;height:1px;width:100%;top:0;left:0;background-color:#e6e9ec}.elementor-control.elementor-control-separator-after:after{content:"";position:absolute;height:1px;width:100%;bottom:0;left:0;background-color:#e6e9ec}.elementor-control.elementor-control-separator-after+.elementor-control-type-tabs+.elementor-control-separator-default,.elementor-control.elementor-control-separator-after:not(.elementor-hidden-control)+.elementor-control-separator-default{padding-top:15px}.elementor-control.elementor-control-deprecated,.elementor-control.elementor-control-deprecated .elementor-control-field-description{color:#b01b1b}.elementor-control.elementor-control-hidden-label>*>*>.elementor-control-title,.elementor-control.elementor-control-hidden-label>*>.elementor-control-title,.elementor-control.elementor-hidden-control{display:none}.elementor-control.elementor-control-type-heading .elementor-control-title{font-weight:700;margin:0}body:not(.elementor-device-desktop) .elementor-control.elementor-control-responsive-desktop,body:not(.elementor-device-laptop) .elementor-control.elementor-control-responsive-laptop,body:not(.elementor-device-mobile) .elementor-control.elementor-control-responsive-mobile,body:not(.elementor-device-mobile_extra) .elementor-control.elementor-control-responsive-mobile_extra,body:not(.elementor-device-tablet) .elementor-control.elementor-control-responsive-tablet,body:not(.elementor-device-tablet_extra) .elementor-control.elementor-control-responsive-tablet_extra,body:not(.elementor-device-widescreen) .elementor-control.elementor-control-responsive-widescreen{display:none}.elementor-control.elementor-control-type-select .elementor-control-input-wrapper{position:relative}.elementor-control.elementor-control-type-select .elementor-control-input-wrapper select{appearance:none;-webkit-appearance:none;-moz-appearance:none;font-size:12px;font-family:inherit;font-weight:inherit;font-style:inherit;text-transform:inherit;letter-spacing:inherit;line-height:inherit;-ms-flex-preferred-size:100%;flex-basis:100%;padding-left:5px;padding-right:20px;cursor:pointer}.elementor-control.elementor-control-type-select .elementor-control-input-wrapper select.e-select-placeholder{color:#a4afb7}.elementor-control.elementor-control-type-select .elementor-control-input-wrapper option.e-option-placeholder{display:none}.elementor-control.elementor-control-type-select .elementor-control-input-wrapper:after{font-family:eicons;content:"\e8ad";font-size:12px;position:absolute;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);right:5px;pointer-events:none}.elementor-control-custom_attributes_pro .elementor-nerd-box-message,.elementor-control-custom_css_pro .elementor-nerd-box-message{margin-top:5px}.elementor-control.elementor-control-custom_css_title{font-size:12px}.elementor-control.elementor-open .elementor-panel-heading-toggle .eicon:before,.elementor-panel-scheme-item.elementor-open .elementor-panel-heading-toggle .eicon:before{content:"\e92a"}.elementor-control:not(.elementor-open) .elementor-panel-heading-toggle .eicon:before,.elementor-panel-scheme-item:not(.elementor-open) .elementor-panel-heading-toggle .eicon:before{content:"\e90a"}.elementor-panel-heading{display:table;table-layout:fixed;height:40px;padding:0 20px;width:100%;border-bottom:1px solid #e6e9ec;cursor:pointer}.elementor-panel-heading>*{display:table-cell;vertical-align:middle}.elementor-panel-heading-toggle{width:20px;color:#495157}.elementor-panel-heading-title{color:#495157;font-weight:700}.elementor-control-wp{line-height:1.5}.elementor-control-wp p{margin:15px 0}.elementor-control-field{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-label-block>.elementor-control-content>.elementor-control-field{-ms-flex-wrap:wrap;flex-wrap:wrap}.elementor-label-block>.elementor-control-content>.elementor-control-field>.elementor-control-input-wrapper{width:100%;margin-top:10px}.elementor-label-block>.elementor-control-content>.elementor-control-field>.elementor-control-input-wrapper>.elementor-choices label{width:auto;-webkit-box-flex:1;-ms-flex:1 1 27px;flex:1 1 27px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-label-block.elementor-control-hidden-label.elementor-label-block>.elementor-control-content>.elementor-control-field>.elementor-control-input-wrapper,.elementor-label-block.elementor-control-hidden-label:not(.elementor-control-dynamic)>.elementor-control-content>.elementor-control-field>.elementor-control-input-wrapper{margin-top:0}.elementor-label-inline>.elementor-control-content>.elementor-control-field>.elementor-control-title{-ms-flex-negative:0;flex-shrink:0}.elementor-label-inline>.elementor-control-content>.elementor-control-field>.elementor-control-input-wrapper{margin-left:auto}.elementor-control-field-description{margin-top:10px}.elementor-group-control-attachment_alert .elementor-control-field-description{margin-top:0}.elementor-required{color:#b01b1b}.elementor-units-choices{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;text-align:right}.elementor-units-choices input{display:none}.elementor-units-choices input:not(:checked)+label{color:#a4afb7}.elementor-units-choices input.e-units-placeholder+label{color:#c2cbd2;text-decoration:underline}.elementor-units-choices input:checked+label{text-decoration:underline}.elementor-units-choices label{cursor:pointer;padding:0 2px;text-transform:uppercase;font-size:9px}.elementor-control-responsive-switchers{--selected-option:0;--pointer-position:var(--selected-option);position:relative;width:2em;height:2em;margin:calc(-2em + var(--control-title-size)) 0;margin-right:5px}.elementor-control-responsive-switchers__holder{position:absolute;width:100%;top:0;background-color:#fff;border-radius:3px;-webkit-transition:.15s;-o-transition:.15s;transition:.15s;border:1px solid transparent}.elementor-control-responsive-switchers.elementor-responsive-switchers-open{z-index:11000}.elementor-control-responsive-switchers.elementor-responsive-switchers-open .elementor-responsive-switcher{height:2em;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);opacity:1}.elementor-control-responsive-switchers.elementor-responsive-switchers-open .elementor-responsive-switcher:hover{color:#71d7f7}.elementor-control-responsive-switchers.elementor-responsive-switchers-open .elementor-control-responsive-switchers__holder{top:calc(-1 * var(--selected-option) * 2em);-webkit-box-shadow:0 0 3px rgba(0,0,0,.2);box-shadow:0 0 3px rgba(0,0,0,.2)}.elementor-responsive-switcher{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;position:relative;z-index:2;cursor:pointer;height:0;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);opacity:0;-webkit-transition:.15s;-o-transition:.15s;transition:.15s;font-size:12px}a.elementor-responsive-switcher{color:#a4afb7}a.elementor-responsive-switcher:hover{color:#71d7f7}.elementor-device-widescreen .elementor-responsive-switcher.elementor-responsive-switcher-widescreen{height:2em;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);opacity:1}.elementor-device-widescreen .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-widescreen{color:#71d7f7}.elementor-device-desktop .elementor-responsive-switcher.elementor-responsive-switcher-desktop{height:2em;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);opacity:1}.elementor-device-desktop .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-desktop{color:#71d7f7}.elementor-device-laptop .elementor-responsive-switcher.elementor-responsive-switcher-laptop{height:2em;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);opacity:1}.elementor-device-laptop .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-laptop{color:#71d7f7}.elementor-device-tablet_extra .elementor-responsive-switcher.elementor-responsive-switcher-tablet_extra{height:2em;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);opacity:1}.elementor-device-tablet_extra .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-tablet_extra{color:#71d7f7}.elementor-device-tablet .elementor-responsive-switcher.elementor-responsive-switcher-tablet{height:2em;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);opacity:1}.elementor-device-tablet .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-tablet{color:#71d7f7}.elementor-device-mobile_extra .elementor-responsive-switcher.elementor-responsive-switcher-mobile_extra{height:2em;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);opacity:1}.elementor-device-mobile_extra .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-mobile_extra{color:#71d7f7}.elementor-device-mobile .elementor-responsive-switcher.elementor-responsive-switcher-mobile{height:2em;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);opacity:1}.elementor-device-mobile .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-mobile{color:#71d7f7}.elementor-update-preview{margin:15px 15px 0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-update-preview-button-wrapper{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;text-align:right}.elementor-update-preview-button{padding:8px 15px;text-transform:uppercase}.elementor-control-direction-ltr input,.elementor-control-direction-ltr textarea{direction:ltr}.elementor-control-direction-rtl input,.elementor-control-direction-rtl textarea{direction:rtl}.elementor-control-type-button .elementor-control-input-wrapper{text-align:right}.elementor-control-type-button .elementor-button{width:auto;height:26px}.elementor-control-type-choose.elementor-label-block .elementor-choices{width:100%}.elementor-choices{display:-webkit-box;display:-ms-flexbox;display:flex;height:27px;line-height:27px;text-align:center;border-spacing:1px;border-radius:3px;overflow:hidden}.elementor-choices .elementor-choices-label{border:1px solid #d5dadf;border-right:none;font-size:12px;-webkit-transition:all .5s;-o-transition:all .5s;transition:all .5s;cursor:pointer;overflow:hidden}.elementor-choices .elementor-choices-label:nth-child(2){border-top-left-radius:3px;border-bottom-left-radius:3px}.elementor-choices .elementor-choices-label:last-child{border-right:1px solid #d5dadf;border-top-right-radius:3px;border-bottom-right-radius:3px}.elementor-choices input{display:none}.elementor-choices input.e-choose-placeholder+.elementor-choices-label{color:#fff;background-color:#c2cbd2;border-color:#c2cbd2}.elementor-choices input:checked+.elementor-choices-label{color:#fff;background-color:#a4afb7;border-color:#a4afb7}.elementor-label-inline .elementor-choices{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.rtl .elementor-control-type-choose[class*=elementor-control-align] .elementor-choices,.rtl .elementor-control-type-choose[class*=elementor-control-position] .elementor-choices,.rtl .elementor-control-type-choose[class*=elementor-control-text_align] .elementor-choices{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.rtl .elementor-control-type-choose[class*=elementor-control-align] .elementor-choices .elementor-choices-label:nth-child(2),.rtl .elementor-control-type-choose[class*=elementor-control-position] .elementor-choices .elementor-choices-label:nth-child(2),.rtl .elementor-control-type-choose[class*=elementor-control-text_align] .elementor-choices .elementor-choices-label:nth-child(2){border-right:1px solid #d5dadf;border-radius:3px 0 0 3px}.rtl .elementor-control-type-choose[class*=elementor-control-align] .elementor-choices .elementor-choices-label:last-child,.rtl .elementor-control-type-choose[class*=elementor-control-position] .elementor-choices .elementor-choices-label:last-child,.rtl .elementor-control-type-choose[class*=elementor-control-text_align] .elementor-choices .elementor-choices-label:last-child{border-right:none;border-radius:0 3px 3px 0}.elementor-control-type-color.e-control-global .e-global__popover-toggle~.pickr{border-radius:0 3px 3px 0;-ms-flex-negative:0;flex-shrink:0}.elementor-control-type-color .elementor-control-title{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-control-type-color .elementor-control-input-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-control-type-color .elementor-control-dynamic-switcher{border-left-width:0;border-radius:0 3px 3px 0}.elementor-control-type-color.elementor-control-dynamic .pickr{border-radius:3px 0 0 3px}.elementor-group-control-css-filter .elementor-slider{height:6px;-webkit-box-shadow:0 0 1px 1px inset rgba(0,0,0,.2);box-shadow:inset 0 0 1px 1px rgba(0,0,0,.2)}.elementor-group-control-css-filter .elementor-control-content>.elementor-control-field>.elementor-control-input-wrapper{margin-top:0;margin-bottom:5px}.elementor-group-control-blur .elementor-slider{background:url(../images/blur.png);background-size:cover;background-position:50%}.elementor-group-control-contrast .elementor-slider{background:url(../images/contrast.png);background-size:100% 100%}.elementor-group-control-hue .elementor-slider{background-image:-o-linear-gradient(left,red,orange,#ff0,#adff2f,#32cd32,#00bfff,#00f,#9400d3 95%);background-image:-webkit-gradient(linear,left top,right top,from(red),color-stop(orange),color-stop(#ff0),color-stop(#adff2f),color-stop(#32cd32),color-stop(#00bfff),color-stop(#00f),color-stop(95%,#9400d3));background-image:linear-gradient(90deg,red,orange,#ff0,#adff2f,#32cd32,#00bfff,#00f,#9400d3 95%)}.elementor-group-control-saturate .elementor-slider{background-image:-o-linear-gradient(left,grey,red);background-image:-webkit-gradient(linear,left top,right top,from(grey),to(red));background-image:linear-gradient(90deg,grey,red)}.elementor-group-control-brightness .elementor-slider{background-image:-o-linear-gradient(left,#000,#fff);background-image:-webkit-gradient(linear,left top,right top,from(#000),to(#fff));background-image:linear-gradient(90deg,#000,#fff)}.elementor-control-type-dimensions .elementor-control-dimensions{overflow:hidden}.elementor-control-type-dimensions li{float:left;width:20%}.elementor-control-type-dimensions li .elementor-link-dimensions,.elementor-control-type-dimensions li input{display:block;text-align:center;width:100%;border-color:#d5dadf;height:27px}.elementor-control-type-dimensions li input{border-left:none;border-radius:0;padding:4px 0}.elementor-control-type-dimensions li input:focus{border-left:1px solid;border-color:#a4afb7;margin-left:-1px;width:calc(100% + 1px)}.elementor-control-type-dimensions li input:focus+.elementor-control-dimension-label{color:#a4afb7}.elementor-control-type-dimensions li .elementor-link-dimensions{border:1px solid #d5dadf;border-left:none;background-color:#fff;padding:0;outline:none;border-radius:0 3px 3px 0;cursor:pointer}.elementor-control-type-dimensions li:first-child input{border-left:1px solid #d5dadf;border-radius:3px 0 0 3px}.elementor-control-type-dimensions li:first-child input:focus{border-color:#a4afb7;margin-left:0;width:100%}.elementor-control-type-dimensions .elementor-control-dimension-label{display:block;text-align:center;color:#d5dadf;font-size:9px;text-transform:uppercase;padding-top:5px}.elementor-control-type-dimensions .elementor-link-dimensions.unlinked{background-color:#fff}.elementor-control-type-dimensions .elementor-link-dimensions.unlinked .elementor-linked{display:none}.elementor-control-type-dimensions .elementor-link-dimensions:not(.unlinked){background-color:#a4afb7;border-color:#a4afb7}.elementor-control-type-dimensions .elementor-link-dimensions:not(.unlinked) .elementor-unlinked{display:none}.elementor-control-type-dimensions .elementor-link-dimensions .elementor-linked{color:#fff}.elementor-control-type-icons .elementor-control-media__preview>*{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.elementor-control-type-icons .elementor-control-media__preview i{font-size:70px;color:#6d7882}.elementor-control-type-icons .elementor-control-media__preview svg{height:75%}.elementor-control-type-icons .elementor-control-icons--inline__svg i.eicon-upload{font-size:15px}.elementor-control-type-gallery .elementor-control-media__content{border:1px solid #d5dadf;border-radius:3px}.elementor-control-type-gallery .elementor-control-gallery-status{font-size:12px;height:27px;padding-left:10px;border-bottom:1px solid #d5dadf;display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-control-type-gallery .elementor-control-gallery-status>*{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-control-type-gallery .elementor-control-gallery-status-title{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-control-type-gallery .elementor-control-gallery-content{position:relative;overflow:hidden}.elementor-control-type-gallery .elementor-control-gallery-content:not(:hover) .elementor-control-gallery-edit{opacity:0}.elementor-control-type-gallery .elementor-control-gallery-thumbnails{display:grid;grid-template-columns:repeat(auto-fill,minmax(48px,1fr));grid-gap:10px;cursor:pointer;padding:10px}.elementor-control-type-gallery .elementor-control-gallery-thumbnail{width:48px;height:48px;background-size:cover;background-position:50% 50%}.elementor-control-type-gallery .elementor-control-gallery-edit{position:absolute;top:0;bottom:0;left:0;right:0;background-color:rgba(109,120,130,.3);padding:10px;font-size:11px;-webkit-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out;transition:all .3s ease-in-out;pointer-events:none;cursor:pointer;opacity:1}.elementor-control-type-gallery .elementor-control-gallery-edit span{position:absolute;top:10px;right:10px;width:21px;height:21px;background-color:hsla(0,0%,100%,.9);color:#a4afb7;-webkit-box-shadow:0 0 7px 0 rgba(0,0,0,.2);box-shadow:0 0 7px 0 rgba(0,0,0,.2);border-radius:3px}.elementor-control-type-gallery .elementor-control-gallery-edit span i{font-size:11px;padding:5px}.elementor-control-type-gallery .elementor-control-gallery-add{width:48px;height:48px;color:#fff;background-color:#d5dadf;font-size:14px;border-radius:0}.elementor-control-type-gallery .elementor-control-gallery-add:hover{background-color:#c2cbd2}.elementor-control-type-gallery .elementor-control-gallery-add i{margin:0;color:#a4afb7}.elementor-control-type-gallery.elementor-gallery-empty .elementor-control-gallery-clear,.elementor-control-type-gallery.elementor-gallery-empty .elementor-control-gallery-edit,.elementor-control-type-gallery.elementor-gallery-empty .elementor-control-gallery-thumbnails{display:none}.elementor-control-type-gallery.elementor-gallery-empty .elementor-control-gallery-content{padding:10px}.elementor-control-type-gallery.elementor-gallery-has-images .elementor-control-gallery-add{display:none}.elementor-control-type-gallery.elementor-control-dynamic .elementor-control-gallery-clear{border-left:1px solid #d5dadf}.elementor-control-type-gallery .elementor-control-gallery-clear{cursor:pointer;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-control-type-gallery .elementor-control-gallery-clear:hover{color:#b01b1b}.elementor-control-type-gallery .elementor-control-dynamic-switcher{border:1px solid #d5dadf;border-top:none;border-right:none;border-radius:0 3px 0 0}.e-global__popover{width:288px;z-index:1;font-size:12px;padding-left:10px}.e-global__popover-toggle{border:1px solid #d5dadf;border-right:0;border-radius:3px 0 0 3px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;cursor:pointer}.e-global__popover-toggle--active i{color:#71d7f7}.e-global__popover-container{-webkit-box-shadow:0 2px 15px rgba(0,0,0,.3);box-shadow:0 2px 15px rgba(0,0,0,.3);border-radius:3px;background-color:#fff;padding-bottom:5px}.e-global__popover-title{padding:15px 20px;font-weight:500;color:#6d7882;border-bottom:1px solid #e6e9ec;display:-webkit-box;display:-ms-flexbox;display:flex}.e-global__popover-title>i{margin-right:5px;color:#d5dadf}.e-global__popover-title-text{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.e-global__popover-info{margin-right:5px;display:inline-block}.e-global__popover-info-tooltip{width:270px;z-index:1;background-color:rgba(0,0,0,.9);color:#fff;padding:20px;border-radius:3px}.e-global__popover-info-tooltip:after{content:"";position:absolute;bottom:-17px;left:16px;border:10px solid transparent;border-top-color:rgba(0,0,0,.9)}.e-global__popover-info i{color:#d5dadf;font-size:13px}.e-global__preview-items-container{max-height:260px;overflow-y:auto;margin-top:5px}.e-global__preview-items-container::-webkit-scrollbar{width:7px}.e-global__preview-items-container::-webkit-scrollbar-thumb{background-color:#c2cbd2;border-radius:10px}.e-global__manage-button{font-weight:500;cursor:pointer}.e-global__manage-button:hover i{color:#4ab7f4}.e-global__manage-button i{color:#6d7882}.e-global__typography{padding:5px 10px 5px 35px;white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden}.e-global__typography.e-global__preview-item--selected:before{font-family:eicons;font-size:13px;content:"\e90e";position:absolute;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);top:50%;left:12px}.e-global__color{margin:5px auto;padding:5px 20px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.e-global__color:first-child{margin-top:5px}.e-global__color:last-child{margin-bottom:10px}.e-global__color-preview-container{height:20px;width:20px;border-radius:3px;border:1px solid rgba(0,0,0,.1);margin-right:10px;-ms-flex-negative:0;flex-shrink:0;position:relative}.e-global__color-preview-color,.e-global__color-preview-transparent-bg{border-radius:3px;height:100%;width:100%;position:absolute;top:0;left:0}.e-global__color-preview-transparent-bg{background-image:-o-linear-gradient(45deg,#ddd 25%,transparent 0,transparent 75%,#ddd 0,#ddd),-o-linear-gradient(45deg,#ddd 25%,transparent 0,transparent 75%,#ddd 0,#ddd);background-image:linear-gradient(45deg,#ddd 25%,transparent 0,transparent 75%,#ddd 0,#ddd),linear-gradient(45deg,#ddd 25%,transparent 0,transparent 75%,#ddd 0,#ddd);background-size:12px 12px;background-position:0 0,6px 6px}.e-global__color-title{font-weight:500;color:#6d7882;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden;padding-right:10px}.e-global__color-hex{font-size:10px;font-weight:500;color:#c2cbd2}.e-global__color .pcr-button{background-color:#fff}.e-global__color.e-global__preview-item--selected .e-global__color-preview-container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#fff}.e-global__color.e-global__preview-item--selected .e-global__color-preview-container:before{font-family:eicons;font-size:13px;content:"\e90e";text-shadow:0 0 1px #000;z-index:1}.e-global__preview-item{cursor:pointer;position:relative}.e-global__preview-item:hover{background-color:#f1f3f5}.e-global__preview-item:hover .e-global__color-hex{color:#a4afb7}.e-global__confirm-add .dialog-buttons-wrapper>.dialog-button.dialog-confirm-ok{color:#39b54a}.e-global__confirm-delete i{color:#b01b1b}.e-global__confirm-message-text i{color:#fcb92c}.e-global__confirm-input-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:1px solid #a4afb7;border-radius:3px;margin-top:10px;padding:2px}.e-global__confirm-input-wrapper input{font-family:Roboto,Arial,sans-serif;font-weight:500;font-size:12px;padding:2px;border:0}.e-control-global .elementor-control-input-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;max-width:135px;width:100%}.e-control-global.elementor-control .elementor-control-input-wrapper{direction:ltr}.e-control-global .elementor-control-spinner{margin-right:4px}.elementor-control-type-hidden{display:none!important}.elementor-control-type-icon .select2-selection__rendered .eicon{margin-right:3px}.elementor-control-type-image_dimensions .elementor-control-field-description{margin:0 0 15px;line-height:1.4}.elementor-control-type-image_dimensions .elementor-control-input-wrapper{overflow:hidden}.elementor-control-type-image_dimensions .elementor-image-dimensions-field{width:65px;float:left}.elementor-control-type-image_dimensions .elementor-image-dimensions-field input:focus+.elementor-image-dimensions-field-description{color:#a4afb7}.elementor-control-type-image_dimensions .elementor-image-dimensions-separator{width:20px;text-align:center;float:left;padding-top:4px}.elementor-control-type-image_dimensions .elementor-image-dimensions-field-description{display:block;text-transform:uppercase;margin-top:5px;color:#d5dadf;font-size:9px;text-align:center}.elementor-control-type-image_dimensions .elementor-image-dimensions-apply-button{float:right;height:27px;width:65px}.elementor-control-media.elementor-media-empty .elementor-control-media-area .elementor-control-media__content__remove,.elementor-control-media.elementor-media-empty .elementor-control-media-area .elementor-control-media__remove,.elementor-control-media:not(.elementor-media-empty) .elementor-control-media__content__upload-button{display:none}.elementor-control-media .elementor-control-input-wrapper{border:1px solid #d5dadf}.elementor-control-media .eicon-plus-circle{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);color:#fff;font-size:20px}.elementor-control-media__content__upload-button{background-color:#d5dadf}.elementor-control-media__preview{height:100%;background-size:cover;background-position:50%}.elementor-control-media-area{background-image:-o-linear-gradient(45deg,#ddd 25%,transparent 0,transparent 75%,#ddd 0,#ddd),-o-linear-gradient(45deg,#ddd 25%,transparent 0,transparent 75%,#ddd 0,#ddd);background-image:linear-gradient(45deg,#ddd 25%,transparent 0,transparent 75%,#ddd 0,#ddd),linear-gradient(45deg,#ddd 25%,transparent 0,transparent 75%,#ddd 0,#ddd);background-size:16px 16px;background-position:0 0,8px 8px;background-color:#f6f6f6}.elementor-control-media-area:not(:hover) .elementor-control-media__remove{display:none}.elementor-control-media-area .eicon-video-camera{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);color:hsla(0,0%,100%,.7);font-size:21px}.elementor-control-media .elementor-control-media__content{cursor:pointer;overflow:hidden}.elementor-control-media .elementor-control-media__content:hover:after{content:"";position:absolute;top:0;bottom:0;left:0;right:0;background-color:rgba(0,0,0,.2);pointer-events:none}.elementor-control-media .elementor-control-media__content:not(:hover) .elementor-control-media__tools{bottom:-30px}.elementor-control-media__content,.elementor-control-media__tools{-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.elementor-control-media__tools{position:absolute;bottom:0;left:0;right:0;height:27px}.elementor-control-media__tools>:not(:first-child){margin-left:1px}.elementor-control-media__tool{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;color:#fff;background-color:rgba(109,120,130,.85);font-size:11px;-webkit-transition:background .3s;-o-transition:background .3s;transition:background .3s}.elementor-control-media__tool:hover{background-color:rgba(109,120,130,.95)}.elementor-control-media__remove{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.elementor-control-media__content__remove{position:absolute;z-index:1;top:10px;right:10px;width:20px;height:20px;font-size:11px;color:#a4afb7;background-color:hsla(0,0%,100%,.9);border-radius:3px;-webkit-box-shadow:0 0 7px 0 rgba(0,0,0,.1);box-shadow:0 0 7px 0 rgba(0,0,0,.1)}.elementor-control-media__content__remove:hover{background-color:#fff;-webkit-box-shadow:0 0 5px 0 rgba(0,0,0,.4);box-shadow:0 0 5px 0 rgba(0,0,0,.4)}.elementor-control-media.elementor-media-empty .elementor-control-file-area{display:none}.elementor-control-media__file{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;margin-top:10px;border:1px solid #d5dadf}.elementor-control-media__file__content{padding-left:5px;font-size:12px}.elementor-control-media__file__content__label{color:#a4afb7}.elementor-control-media__file__content__info{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-weight:500}.elementor-control-media__file__content__info__icon{margin-right:5px}.elementor-control-media__file__controls{display:-webkit-box;display:-ms-flexbox;display:flex;border-left:1px solid #d5dadf}.elementor-control-media__file__controls__remove,.elementor-control-media__file__controls__upload-button{width:27px;height:27px;cursor:pointer;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-control-media__file__controls__upload-button{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-control-media__file__controls__remove{border-right:1px solid #d5dadf}.elementor-control-media.elementor-media-empty .elementor-control-media__file__content__info,.elementor-control-media.elementor-media-empty .elementor-control-media__file__controls__remove,.elementor-control-media:not(.elementor-media-empty) .elementor-control-media__file__content__label{display:none}.elementor-control-media .elementor-control-dynamic-switcher{border:none;border-radius:0;background-color:rgba(109,120,130,.85);color:#fff}.elementor-control-media .elementor-control-dynamic-switcher:hover{background-color:rgba(109,120,130,.95)}.elementor-control-type-media.elementor-control-dynamic-value .elementor-control-input-wrapper{border:none}.elementor-control:not(.elementor-control-type-icons) .elementor-control-media__preview{background-color:#d5dadf}.elementor-control-type-number.elementor-control-dynamic input{border-radius:3px 0 0 3px;border-right:none}.elementor-control-type-number.elementor-control-dynamic .elementor-control-dynamic-switcher{border-radius:0 3px 3px 0}.elementor-control-type-order .elementor-control-oreder-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-control-type-order input{display:none}.elementor-control-type-order input:checked+.elementor-control-order-label{-webkit-transform:scaleY(-1);-ms-transform:scaleY(-1);transform:scaleY(-1)}.elementor-control-type-order select{border-radius:3px 0 0 3px}.elementor-control-type-order select:not(:focus)~.elementor-control-order-label{border-color:#d5dadf}.elementor-control-type-order select:focus~.elementor-control-order-label{border-color:#a4afb7}.elementor-control-type-order .elementor-control-order-label{position:relative;padding:0;width:40px;border:1px solid;font-size:10px;border-radius:0 3px 3px 0;margin-left:-3px;background-color:#fff;cursor:pointer}.elementor-control-type-order .elementor-control-order-label i{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.elementor-control-type-popover_toggle input{display:none}.elementor-control-type-popover_toggle label{cursor:pointer}.elementor-control-type-popover_toggle .elementor-control-input-wrapper{direction:rtl}.elementor-control-type-popover_toggle .elementor-control-popover-toggle-toggle:checked+.elementor-control-popover-toggle-toggle-label{color:#71d7f7}.elementor-control-type-popover_toggle .elementor-control-popover-toggle-toggle:not(:checked)~.elementor-control-popover-toggle-reset-label{display:none}.elementor-control-type-popover_toggle .elementor-control-popover-toggle-reset-label{color:#c2cbd2;margin-right:5px}.elementor-control-type-popover_toggle .elementor-control-popover-toggle-toggle-label{height:27px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border-radius:3px;border:1px solid #d5dadf}.elementor-controls-popover.e-controls-popover--typography{padding-top:0}.e-control-global .elementor-control-popover-toggle-toggle-label{border-radius:0 3px 3px 0;-ms-flex-negative:0;flex-shrink:0}.elementor-control-type-repeater .elementor-control:not(.elementor-control-type-tab){padding-right:10px;padding-left:10px;padding-bottom:10px}.elementor-control-type-repeater.elementor-repeater-has-minimum-rows .elementor-repeater-tool-remove{display:none}.elementor-control-type-repeater .elementor-repeater-fields{margin:10px 0}.elementor-control-type-repeater .elementor-repeater-row-controls{border:1px solid #d5dadf;border-top:0 solid #d5dadf;padding-top:15px}.elementor-control-type-repeater .elementor-repeater-row-controls:not(.editable){display:none}.elementor-control-type-repeater .elementor-repeater-row-tools{display:table;table-layout:fixed;width:100%;color:#556068;background-color:#d5dadf;height:40px;border-spacing:1px;-webkit-transition:all .5s;-o-transition:all .5s;transition:all .5s}.elementor-control-type-repeater .elementor-repeater-row-tools:hover{background-color:#a4afb7}.elementor-control-type-repeater .elementor-repeater-row-tools>div{display:table-cell;text-align:center;vertical-align:middle;cursor:pointer}.elementor-control-type-repeater .elementor-repeater-row-tools>div:not(.elementor-repeater-row-handle-sortable){background-color:#fff}.elementor-control-type-repeater .elementor-repeater-row-tools>div:hover{opacity:.95}.elementor-control-type-repeater .elementor-repeater-row-tools .elementor-repeater-row-item-title{text-align:left;padding:0 10px;font-size:12px;white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden}.elementor-control-type-repeater .elementor-repeater-row-tools .elementor-repeater-row-item-title .eicon,.elementor-control-type-repeater .elementor-repeater-row-tools .elementor-repeater-row-item-title i,.elementor-control-type-repeater .elementor-repeater-row-tools .elementor-repeater-row-item-title svg{margin-right:5px}.elementor-control-type-repeater .elementor-repeater-row-tools .elementor-repeater-row-item-title img[src$=svg]{width:1em}.elementor-control-type-repeater .elementor-repeater-row-tools .elementor-repeater-row-tool{width:40px}.elementor-control-type-repeater .elementor-repeater-row-tools .elementor-repeater-row-handle-sortable{cursor:move;width:10px;color:#fff}.elementor-control-type-repeater .elementor-button-wrapper{text-align:center;padding-top:5px}.elementor-control-type-section{margin-top:10px;padding:0}.elementor-control-type-section.elementor-open{padding-bottom:15px}.elementor-control-type-section+.elementor-control:not(.elementor-control-type-section):before{display:none}.elementor-shadow-box .elementor-shadow-slider{margin-top:10px}.elementor-shadow-box .elementor-color-picker-wrapper .elementor-control-title{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-control-type-slider.elementor-control-dynamic input{border-radius:3px 0 0 3px}.elementor-control-type-slider .elementor-control-unit-2{width:21%}.elementor-control-type-slider.elementor-control-type-slider--multiple .elementor-control-input-wrapper{display:block}.elementor-control-type-slider--multiple{padding-bottom:40px}.elementor-control-type-slider--multiple .elementor-slider{margin-top:12px;width:98%}.elementor-control-type-slider--handles-range .elementor-slider .noUi-handle{border-radius:0;width:10px;-webkit-transform:translateY(calc(50% - 14px)) translateX(4px);-ms-transform:translateY(calc(50% - 14px)) translateX(4px);transform:translateY(calc(50% - 14px)) translateX(4px)}.elementor-control-type-slider--handles-range .elementor-slider .noUi-handle:after{content:"";position:absolute;top:2px;height:12px;width:11px;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);background-color:#fff;border-radius:3px}.elementor-control-type-slider--handles-range .elementor-slider .noUi-handle-lower:after{left:5px;-webkit-box-shadow:2px -2px 3px 0 rgba(0,0,0,.1);box-shadow:2px -2px 3px 0 rgba(0,0,0,.1)}.elementor-control-type-slider--handles-range .elementor-slider .noUi-handle-upper:after{right:5px;-webkit-box-shadow:-2px 2px 3px 0 rgba(0,0,0,.1);box-shadow:-2px 2px 3px 0 rgba(0,0,0,.1)}.elementor-control-type-slider .elementor-control-dynamic-switcher{border-left-width:0;border-radius:0 3px 3px 0}.elementor-control-type-slider .elementor-control-input-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-control-type-slider .elementor-dynamic-cover{margin-top:10px}.elementor-slider{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;height:4px;background-color:#d5dadf;border-radius:5px;position:relative;cursor:pointer}.elementor-slider-input{width:21%;min-width:54px;margin-left:12px}.elementor-slider__extra{position:relative}.elementor-slider__labels{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.elementor-slider__label{font-size:9px;color:#c2cbd2}.elementor-slider__scales{position:absolute;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:space-evenly;-ms-flex-pack:space-evenly;justify-content:space-evenly;width:100%;margin-top:4px}.elementor-slider__scale{width:1px;height:21px;background-color:#a4afb7}.elementor-slider .noUi-handle{height:16px;width:16px;background-color:#fff;right:0;-webkit-transform:translateY(calc(50% - 14px)) translateX(8px);-ms-transform:translateY(calc(50% - 14px)) translateX(8px);transform:translateY(calc(50% - 14px)) translateX(8px);position:absolute;-webkit-box-shadow:0 1px 5px rgba(0,0,0,.3);box-shadow:0 1px 5px rgba(0,0,0,.3);border-radius:50%}.elementor-slider .noUi-connects{position:absolute;width:100%;height:4px}.elementor-slider .noUi-connect{position:absolute;z-index:0;top:0;left:0;height:100%;width:100%;will-change:transform;-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0;background-color:#a4afb7}.elementor-slider .noUi-tooltip{position:absolute;top:calc(100% + 5px);left:calc(50% - 4px);-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);font-size:10px}.elementor-control-type-structure .elementor-control-field{display:initial}.elementor-control-type-structure .elementor-control-structure-preset{padding:3px;border-radius:3px;display:inline-block;cursor:pointer;height:50px}.elementor-control-type-structure .elementor-control-structure-preset svg{height:100%}.elementor-control-type-structure .elementor-control-structure-preset path{fill:#e6e9ec}.elementor-control-type-structure .elementor-control-structure-reset{padding:15px 20px 0;font-size:11px;cursor:pointer;color:#a4afb7;border-top:1px solid #e6e9ec;margin:0 -20px}.elementor-control-type-structure .elementor-control-structure-title{margin:10px -20px 0}.elementor-control-type-structure .elementor-control-structure-title:before{height:10px;-webkit-box-shadow:inset 0 2px 4px hsla(0,0%,49.8%,.1);box-shadow:inset 0 2px 4px hsla(0,0%,49.8%,.1)}.elementor-control-type-structure .elementor-control-structure-presets{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.elementor-control-type-structure .elementor-control-structure-presets input{display:none}.elementor-control-type-structure .elementor-control-structure-presets input:checked+.elementor-control-structure-preset path{fill:#a4afb7}.elementor-control-type-structure .elementor-control-structure-preset-wrapper{margin-bottom:15px}.elementor-control-type-structure .elementor-control-structure-preset-title{text-align:center;padding-top:5px;font-style:italic;font-size:11px;color:#a4afb7}.elementor-control-type-switcher .elementor-control-input-wrapper{text-align:right}.elementor-control-type-switcher .elementor-switch{position:relative;display:inline-block;vertical-align:top;height:20px;background-color:#fff;border-radius:18px;cursor:pointer}.elementor-control-type-switcher .elementor-switch-input{display:none}.elementor-control-type-switcher .elementor-switch-label{position:relative;display:block;height:inherit;font-size:7px;text-transform:uppercase;background:#eceeef;border-radius:inherit;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.12),inset 0 0 2px rgba(0,0,0,.15);box-shadow:inset 0 1px 2px rgba(0,0,0,.12),inset 0 0 2px rgba(0,0,0,.15);-webkit-transition:.15s ease-out;-o-transition:.15s ease-out;transition:.15s ease-out;-webkit-transition-property:opacity,background;-o-transition-property:opacity,background;transition-property:opacity,background}.elementor-control-type-switcher .elementor-switch-label:after,.elementor-control-type-switcher .elementor-switch-label:before{position:absolute;top:0;width:50%;text-align:center;line-height:20px;-webkit-transition:inherit;-o-transition:inherit;transition:inherit}.elementor-control-type-switcher .elementor-switch-label:before{content:attr(data-off);right:3px;color:#a4afb7;text-shadow:0 1px hsla(0,0%,100%,.5)}.elementor-control-type-switcher .elementor-switch-label:after{content:attr(data-on);left:3px;color:#fff;text-shadow:0 1px rgba(0,0,0,.2);opacity:0}.elementor-control-type-switcher .elementor-switch-input:checked~.elementor-switch-label{background:#71d7f7;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.15),inset 0 0 3px rgba(0,0,0,.2);box-shadow:inset 0 1px 2px rgba(0,0,0,.15),inset 0 0 3px rgba(0,0,0,.2)}.elementor-control-type-switcher .elementor-switch-input:checked~.elementor-switch-label:before{opacity:0}.elementor-control-type-switcher .elementor-switch-input:checked~.elementor-switch-label:after{opacity:1}.elementor-control-type-switcher .elementor-switch-handle{position:absolute;top:1px;left:1px;width:18px;height:18px;background:#fff;border-radius:10px;-webkit-transition:left .15s ease-out;-o-transition:left .15s ease-out;transition:left .15s ease-out}.elementor-control-type-switcher .elementor-switch-input:checked~.elementor-switch-handle{left:auto;right:1px;-webkit-box-shadow:-1px 1px 5px rgba(0,0,0,.2);box-shadow:-1px 1px 5px rgba(0,0,0,.2)}.elementor-control-type-tabs{font-size:.8em;text-transform:uppercase;display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-control-type-tab{text-align:center;width:100%;padding:0;line-height:25px;border-top:1px solid #d5dadf;border-bottom:1px solid #d5dadf;border-right:1px solid #d5dadf;cursor:pointer}.elementor-control-type-tab:first-child{border-left:1px solid #d5dadf;border-top-left-radius:3px;border-bottom-left-radius:3px}.elementor-control-type-tab:last-child{border-top-right-radius:3px;border-bottom-right-radius:3px}.elementor-control-type-tab.elementor-tab-active{background-color:#a4afb7;border-color:#a4afb7;color:#fff}.elementor-tab-close{display:none!important}.elementor-control-type-code.elementor-control-dynamic-value .elementor-control-dynamic-switcher,.elementor-control-type-textarea.elementor-control-dynamic-value .elementor-control-dynamic-switcher{border-radius:0 3px 3px 0;border-left-width:0}.elementor-control-type-code .elementor-control-dynamic-switcher,.elementor-control-type-textarea .elementor-control-dynamic-switcher{border-radius:0 3px}.elementor-control-type-code:not(.elementor-control-dynamic-value) .elementor-control-dynamic-switcher,.elementor-control-type-textarea:not(.elementor-control-dynamic-value) .elementor-control-dynamic-switcher{position:absolute;top:0;z-index:1;right:0}.elementor-control-type-code .elementor-control-input-wrapper,.elementor-control-type-textarea .elementor-control-input-wrapper{position:relative}.elementor-control-type-code textarea,.elementor-control-type-textarea textarea{display:block;font-family:inherit}.elementor-control-type-code textarea:focus+.elementor-control-dynamic-switcher,.elementor-control-type-textarea textarea:focus+.elementor-control-dynamic-switcher{display:none}.elementor-control-type-code pre:focus-within+.elementor-control-dynamic-switcher,.elementor-control-type-textarea pre:focus-within+.elementor-control-dynamic-switcher{display:none}.elementor-control-type-url.elementor-control-dynamic .elementor-input{border-radius:3px 0 0 3px}.elementor-control-type-url .elementor-control-field{position:relative}.elementor-control-type-url.elementor-control-dynamic-value .elementor-control-url-more,.elementor-control-type-url:not(.elementor-control-dynamic) .elementor-control-url-more{border-radius:0 3px 3px 0}.elementor-control-type-url .elementor-control-input-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.elementor-control-type-url .elementor-control-url-more{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-ms-flex-negative:0;flex-shrink:0;border:1px solid #d5dadf;border-left:none;cursor:pointer}.elementor-control-type-url .elementor-control-url-more i{font-size:12px}.elementor-control-type-url .elementor-control-url-more-options{display:none;padding-top:10px}.elementor-control-type-url .elementor-control-url-more-options .elementor-control-field-description{margin-top:10px}.elementor-control-type-url .elementor-control-url-option{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-control-type-url .elementor-control-url-option:not(:last-child){padding-bottom:10px}.elementor-control-type-url .elementor-control-url-option input,.elementor-control-type-url .elementor-control-url-option label{cursor:pointer}.elementor-control-type-url .elementor-control-url-option-input{padding:0;border-radius:2px;margin:0 5px 0 0;-webkit-appearance:none;-moz-appearance:none;outline:none;content:none;height:15px;width:15px;border:1px solid #d5dadf;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-control-type-url .elementor-control-url-option-input:checked{background:#71d7f7;border:none}.elementor-control-type-url .elementor-control-url-option-input:checked:before{display:block;content:"";width:4px;height:7px;border:solid #fff;border-width:0 2px 2px 0;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.elementor-control-type-url .elementor-control-url-option label{font-size:12px}.elementor-control-type-url .elementor-control-url-external-hide .elementor-control-url-more{display:none}.elementor-control-type-url .elementor-control-url-external-show .elementor-dynamic-cover,.elementor-control-type-url .elementor-control-url-external-show .elementor-input{border-radius:3px 0 0 3px}.elementor-control-type-url .elementor-control-url-autocomplete-spinner{display:none;position:absolute;top:5px;right:0;width:10px;height:10px;font-size:10px;color:#d4d4d4}.elementor-control-type-url .elementor-control-url__custom-attributes{margin-top:5px}.elementor-control-type-url .elementor-control-url__custom-attributes label{font-size:12px}.elementor-control-type-url .elementor-control-url__custom-attributes input{width:100%;margin-top:10px}.elementor-control-type-url .elementor-input{direction:ltr}.elementor-control-type-url .elementor-input:not(:focus)+.elementor-control-url-more{border-color:#d5dadf}.elementor-control-type-url .elementor-input:focus~div{border-color:#a4afb7}.elementor-control-type-url .elementor-control-dynamic-switcher{border-left:none;border-radius:0 3px 3px 0}.elementor-autocomplete-menu{position:absolute;background:#fff;color:#495157;border:1px solid #a4afb7;margin:0;list-style:none;padding:4px 0;height:auto;width:100%;min-width:260px;max-width:300px;max-height:200px;overflow-y:auto;border-radius:3px;-webkit-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out;transition:all .3s ease-in-out;cursor:default;z-index:1}.elementor-autocomplete-menu .ui-menu-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-item-align:baseline;align-self:baseline;padding:5px 8px;font-size:12px;width:100%;line-height:1.2;cursor:pointer}.elementor-autocomplete-menu .ui-menu-item.ui-state-active,.elementor-autocomplete-menu .ui-menu-item.ui-state-focus,.elementor-autocomplete-menu .ui-menu-item.ui-state-hover{background:#e6e9ec}.elementor-autocomplete-menu .elementor-autocomplete-item-info{font-size:10px;padding-top:2px}.elementor-control-type-wp_widget .widget-inside{display:block}.elementor-control-type-wp_widget .quicktags-toolbar input{width:auto}.elementor-control-type-wysiwyg *{-webkit-box-sizing:content-box;box-sizing:content-box}.elementor-control-type-wysiwyg .wp-editor-container{border:1px solid #e6e9ec}.elementor-control-type-wysiwyg .wp-editor-tabs{border:1px solid #d5dadf;border-bottom:none;border-radius:3px 3px 0 0}.elementor-control-type-wysiwyg #insert-media-button{height:auto;line-height:24px;font-size:10px;color:#6d7882;border-color:#d5dadf;background-color:#e6e9ec;min-height:0}.elementor-control-type-wysiwyg .ed_button{height:22px;width:auto}.elementor-control-type-wysiwyg .wp-media-buttons-icon{height:14px;margin:0}.elementor-control-type-wysiwyg .wp-media-buttons-icon:before{font-size:14px}.elementor-control-type-wysiwyg .wp-switch-editor{position:static;border:none;margin:0;color:#6d7882;font-size:10px;padding:3px 9px 4px}.elementor-control-type-wysiwyg .switch-html{border:solid #d5dadf;border-width:0 1px}.elementor-control-type-wysiwyg .html-active .switch-tmce{background-color:transparent}.elementor-control-type-wysiwyg .html-active .switch-html,.elementor-control-type-wysiwyg .tmce-active .switch-tmce{background-color:#e6e9ec}.elementor-control-type-wysiwyg .tmce-active .switch-html{background-color:transparent}.elementor-control-type-wysiwyg .mce-toolbar-grp,.elementor-control-type-wysiwyg .quicktags-toolbar{background-color:#e6e9ec}.elementor-control-type-wysiwyg .mce-toolbar-grp>div{padding:0 3px}.elementor-control-type-wysiwyg .elementor-wp-editor{-webkit-box-sizing:border-box;box-sizing:border-box}.elementor-control-type-wysiwyg .mce-ico{color:#6d7882;font-size:16px}.elementor-control-type-wysiwyg .mce-btn{margin-right:0;margin-left:0}.elementor-control-type-wysiwyg .mce-btn.mce-active,.elementor-control-type-wysiwyg .mce-btn:active,.elementor-control-type-wysiwyg .mce-btn:hover{border-color:#d5dadf}.elementor-control-type-wysiwyg .mce-path{padding:5px 10px}.elementor-control-type-wysiwyg .mce-path-item{font-size:12px;color:#6d7882}.elementor-control-type-wysiwyg .elementor-control-dynamic-switcher{border:none}.elementor-control-type-text .elementor-control-dynamic-switcher{border-left-width:0;border-radius:0 3px 3px 0}.elementor-control-type-text.elementor-control-dynamic input{border-radius:3px 0 0 3px}#elementor-mode-switcher{position:absolute;left:100%;top:50%;width:15px;height:50px;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);background-color:#e6e9ec;font-size:15px;-webkit-box-shadow:3px 1px 5px rgba(0,0,0,.1);box-shadow:3px 1px 5px rgba(0,0,0,.1);cursor:pointer}#elementor-mode-switcher:hover{background-color:#93003c;color:#fff}#elementor-mode-switcher-inner,#elementor-mode-switcher-preview{width:100%;height:100%;position:absolute;top:0;left:0}#elementor-mode-switcher-preview{cursor:pointer}#elementor-mode-switcher-preview .eicon{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}#elementor-mode-switcher-preview-input{display:none}:root{--e-is-device-mode:0}.e-is-device-mode{--e-is-device-mode:1}#elementor-responsive-bar{position:sticky;height:calc(40px * var(--e-is-device-mode));-ms-flex-item-align:stretch;align-self:stretch;-ms-flex-negative:0;flex-shrink:0;-webkit-transition:height .2s ease-in-out,opacity .1s;-o-transition:height .2s ease-in-out,opacity .1s;transition:height .2s ease-in-out,opacity .1s;left:0;top:0;z-index:100;opacity:var(--e-is-device-mode);-webkit-box-shadow:0 0 10px 2px rgba(0,0,0,.33),0 0 2px 1px rgba(0,0,0,.25),0 0 6px -3px hsla(0,0%,100%,.5);box-shadow:0 0 10px 2px rgba(0,0,0,.33),0 0 2px 1px rgba(0,0,0,.25),0 0 6px -3px hsla(0,0%,100%,.5)}#elementor-responsive-bar:before{content:"";position:absolute;left:0;top:0;width:100%;height:100%;z-index:-1;-webkit-transform:scaleX(var(--e-preview-scale,1));-ms-transform:scaleX(var(--e-preview-scale,1));transform:scaleX(var(--e-preview-scale,1))}.e-responsive-bar-switcher__option{cursor:pointer;text-align:center;width:22px;height:22px;margin:0 4px;line-height:22px;border-radius:3px;font-size:16px;-webkit-transition:background-color .3s ease-out;-o-transition:background-color .3s ease-out;transition:background-color .3s ease-out}.e-responsive-bar-switcher__option:hover,.e-responsive-bar-switcher__option[aria-selected=true]{color:#c2cbd2;background-color:hsla(0,0%,100%,.1)}.e-responsive-bar-switcher__option input{display:none}.e-responsive-bar-switcher__option input:checked+i{color:#71d7f7}.e-responsive-bar-switcher__option:not(:last-child){-webkit-margin-end:6px;margin-inline-end:6px}.e-responsive-bar__button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;cursor:pointer;color:inherit}.e-responsive-bar__button:focus:not(:focus-visible){outline:none}.e-responsive-bar__button:hover{color:#c2cbd2;background-color:hsla(0,0%,100%,.1)}.e-responsive-bar--pipe{position:relative}.e-responsive-bar--pipe:before{content:"";display:block;height:20px;width:1px;background-color:#6d7882;position:absolute;right:-5px;top:calc(50% - 10px)}.e-responsive-bar__input-size{background-color:transparent;color:#a4afb7;border:1px solid #6d7882!important;padding:0 3px;width:60px;font-size:12px;line-height:16px;height:18px;margin:auto 8px auto 4px}.e-responsive-bar__input-size-separator{color:#6d7882}.e-responsive-bar__input-size[disabled]{background-color:transparent;color:#6d7882;cursor:default}#e-responsive-bar{width:100%;margin-top:calc(-40px + 40px * var(--e-is-device-mode));z-index:1;-webkit-transition:margin-top .2s ease-in-out;-o-transition:margin-top .2s ease-in-out;transition:margin-top .2s ease-in-out;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;color:#a4afb7}#e-responsive-bar,#e-responsive-bar-scale,#e-responsive-bar-switcher,#e-responsive-bar__center,#e-responsive-bar__end{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:#495157}#e-responsive-bar-scale,#e-responsive-bar-switcher,#e-responsive-bar__center,#e-responsive-bar__end{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:13px;padding:2px 0}@media (min-width:1400px){#e-responsive-bar__center{margin-left:50%;-webkit-transform:translate(-50%);-ms-transform:translate(-50%);transform:translate(-50%)}}#e-responsive-bar__close-button,#e-responsive-bar__settings-button{width:22px;height:22px;border-radius:3px;margin:7px 5px;font-size:16px}#e-responsive-bar__size-inputs-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-margin-end:8px;margin-inline-end:8px;color:#6d7882}#e-responsive-bar-scale,#e-responsive-bar-switcher{padding:0 20px}#e-responsive-bar-scale__value-wrapper{margin:0 14px;min-width:32px;text-align:center}#e-responsive-bar-scale__minus,#e-responsive-bar-scale__plus,#e-responsive-bar-scale__reset{cursor:pointer;width:20px;height:20px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}#e-responsive-bar-scale__minus:before{content:"";display:block;width:13px;height:2px;background:#a4afb7;border-radius:3px}#e-responsive-bar-scale__reset{margin:0 8px}.elementor-revision-item__wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:1px solid #d5dadf;padding:10px 15px;margin-bottom:10px;font-size:11px;-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s}.elementor-revision-item__wrapper.current{font-weight:700}.elementor-revision-item__wrapper .elementor-revision-item__tools-current{color:#71d7f7}.elementor-revision-item:hover:not(.elementor-revision-current-preview){background-color:rgba(230,233,236,.3)}.elementor-revision-item-loading .elementor-revision-item__tools-current,.elementor-revision-item:not(.elementor-revision-item-loading) .elementor-revision-item__tools-spinner{display:none}.elementor-revision-item__gravatar{border-radius:50%;overflow:hidden}.elementor-revision-item__gravatar img{display:block}.elementor-revision-item__details{padding-left:15px;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;cursor:pointer}.elementor-revision-meta{padding-top:5px;font-size:10px;font-weight:700}.elementor-revision-current-preview{background-color:#e6e9ec}#elementor-restore-autosave-dialog.dialog-widget{background-color:rgba(0,0,0,.3)}#elementor-panel-revisions-loading{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}#elementor-panel-revisions-loading .eicon-loading{font-size:50px;color:#a4afb7}.elementor-history-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:1px solid #d5dadf;padding:10px 15px;margin-bottom:10px;font-size:11px;line-height:1.4;cursor:pointer;-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s}.elementor-history-item:hover{background-color:rgba(230,233,236,.3)}.elementor-history-item:hover .elementor-history-item__icon .eicon:before{content:"\e924"}.elementor-history-item-applied{color:#a4afb7}.elementor-history-item-current{background:#e6e9ec;cursor:default}.elementor-history-item-current .elementor-history-item__icon .eicon:before,.elementor-history-item-current:hover .elementor-history-item__icon .eicon:before{content:"\e90e"}.elementor-history-item__details{width:95%}.elementor-history-item__title{font-weight:700}.elementor-history-item__action,.elementor-history-item__subtitle{font-weight:lighter}.elementor-history-item__action{font-style:italic;text-decoration:underline}.elementor-history-item .__icon{float:right}.elementor-history-revisions-message{font-size:11px;text-align:center;padding-top:5px}#elementor-panel-history{padding:20px 20px 15px}#elementor-panel-history.elementor-empty .elementor-history-revisions-message{padding-top:20px}#elementor-panel-history:not(.elementor-empty){background-color:#fff;margin-top:10px}#elementor-panel-history-no-items,#elementor-panel-revisions-no-revisions{text-align:center}#elementor-panel-history-no-items .elementor-nerd-box-icon,#elementor-panel-revisions-no-revisions .elementor-nerd-box-icon{margin-top:20px}.elementor-panel #elementor-panel-header #elementor-panel-header-kit-back,.elementor-panel #elementor-panel-header #elementor-panel-header-kit-close{display:none}.elementor-editor-kit .elementor-panel #elementor-panel-header{background-color:#4ab7f4}.elementor-editor-kit .elementor-panel #elementor-panel-header #elementor-panel-header-kit-back,.elementor-editor-kit .elementor-panel #elementor-panel-header #elementor-panel-header-kit-close{display:table-cell}body:not(.e-routes-has-history) #elementor-panel-header-kit-back{pointer-events:none;opacity:.4}body:not(.e-routes-has-history) #elementor-panel-header-kit-back:hover .elementor-icon{cursor:inherit;color:inherit}.elementor-editor-kit .elementor-panel .elementor-panel-navigation .elementor-panel-navigation-tab.elementor-active{border-bottom-color:#4ab7f4}.elementor-editor-kit .elementor-panel #elementor-panel-page-settings .elementor-panel-navigation{display:none}.elementor-editor-kit .elementor-panel #elementor-panel-saver-button-publish.elementor-button.elementor-button-success:not(.elementor-disabled),.elementor-editor-kit .elementor-panel #elementor-panel-saver-button-save-options.elementor-button.elementor-button-success:not(.elementor-disabled){background-color:#4ab7f4}.elementor-editor-kit .elementor-panel #elementor-panel-page-menu{padding:25px 15px 0}.elementor-editor-kit #elementor-panel-footer-navigator,.elementor-editor-kit #elementor-panel-footer-sub-menu-item-save-template,.elementor-editor-kit #elementor-panel-header-add-button,.elementor-editor-kit #elementor-panel-header-menu-button{display:none}.elementor-control-type-global-style-repeater .elementor-repeater-fields{margin-bottom:15px;position:relative}.elementor-control-type-global-style-repeater .elementor-repeater-fields.ui-sortable-helper{background-color:#fff}.elementor-control-type-global-style-repeater .elementor-repeater-row-controls{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-control-type-global-style-repeater .elementor-repeater-row-tool{cursor:pointer;color:#d5dadf;padding:5px}.elementor-control-type-global-style-repeater .elementor-control{padding:0}.elementor-control-type-global-style-repeater .elementor-control-title{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-control-type-global-style-repeater .elementor-control-title input{max-width:135px}.elementor-control-type-global-style-repeater .elementor-control-title input:not(:focus){background:none;border:none}.elementor-control-type-global-style-repeater .elementor-control-input-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;min-width:81px}.elementor-control-type-global-style-repeater .elementor-control-input-wrapper:hover .e-global-colors__color-value,.elementor-control-type-global-style-repeater .elementor-control-input-wrapper:not(:hover) .elementor-repeater-tool-remove,.elementor-control-type-global-style-repeater .elementor-control-input-wrapper:not(:hover) .elementor-repeater-tool-remove--disabled,.elementor-control-type-global-style-repeater .elementor-control-input-wrapper:not(:hover) .elementor-repeater-tool-sort{display:none}.elementor-control-type-global-style-repeater .elementor-control-content>.elementor-control-field>.elementor-control-input-wrapper{margin-top:0}.elementor-control-type-global-style-repeater .elementor-controls-popover{-ms-flex-item-align:end;align-self:end;margin-top:35px;top:0;width:100%}.elementor-control-type-global-style-repeater .elementor-controls-popover:before{right:5px}.elementor-control-type-global-style-repeater .elementor-controls-popover .elementor-control{padding:0 20px 15px}.elementor-control-type-global-style-repeater .elementor-controls-popover .elementor-control-title{-webkit-box-flex:initial;-ms-flex-positive:initial;flex-grow:0}.elementor-control-type-global-style-repeater .elementor-button-wrapper{text-align:center;border-top:1px solid #e6e9ec;max-width:260px;padding-top:15px}.elementor-control-type-global-style-repeater .elementor-control-popover-toggle-toggle-label,.elementor-control-type-global-style-repeater .pickr{margin-left:5px}.elementor-control-type-global-style-repeater .e-sortable-placeholder{background-color:#71d7f7;opacity:.9;width:100%;margin:8px 0;height:2px}.elementor-control-system_colors,.elementor-control-system_typography{padding-bottom:0}.e-global-colors__color-value{color:#d5dadf;font-size:10px;padding:0 5px;text-align:right;white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden}@-webkit-keyframes load{0%{opacity:.3}50%{opacity:1}to{opacity:.3}}@keyframes load{0%{opacity:.3}50%{opacity:1}to{opacity:.3}}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@-webkit-keyframes mover{0%{-webkit-transform:translateY(0);transform:translateY(0)}to{-webkit-transform:translateY(-5px);transform:translateY(-5px)}}@keyframes mover{0%{-webkit-transform:translateY(0);transform:translateY(0)}to{-webkit-transform:translateY(-5px);transform:translateY(-5px)}}@-webkit-keyframes slideDown{0%{-webkit-transform:translateY(-30px);transform:translateY(-30px)}to{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes slideDown{0%{-webkit-transform:translateY(-30px);transform:translateY(-30px)}to{-webkit-transform:translateY(0);transform:translateY(0)}}body{--e-preview-width:calc(100% - var(--e-editor-panel-width, 300px))}body.elementor-navigator-docked{--e-preview-width:calc(100% - var(--e-editor-panel-width, 300px) - var(--e-editor-navigator-width, 0px))}body.elementor-device-desktop #elementor-preview{overflow-y:hidden;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}body:not(.elementor-device-desktop) body{overflow-y:auto}#elementor-preview{overflow:auto;background-color:#333;height:100%;border:0;width:var(--e-preview-width);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative}#elementor-preview-responsive-wrapper{-webkit-transform-origin:top center;-ms-transform-origin:top center;transform-origin:top center;padding:20px;-webkit-transform:scale(var(--e-preview-scale,1));-ms-transform:scale(var(--e-preview-scale,1));transform:scale(var(--e-preview-scale,1))}.elementor-device-desktop #elementor-preview-responsive-wrapper{min-width:1025px;width:100%;height:100%;padding:0;position:relative}body.e-is-device-mode:not(.elementor-device-desktop) #elementor-preview-responsive-wrapper{width:var(--e-editor-preview-width);height:var(--e-editor-preview-height);margin:0 max((100vw - var(--e-editor-panel-width) - var(--e-editor-preview-width))/2,20px);-webkit-box-sizing:content-box;box-sizing:content-box;position:relative;max-height:calc(100vh - 80px)}body.e-is-device-mode:not(.elementor-device-desktop) #elementor-preview-responsive-wrapper .ui-resizable-handle{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}#elementor-preview-responsive-wrapper:not(.ui-resizable-resizing){-webkit-transition:.3s ease-in-out;-o-transition:.3s ease-in-out;transition:.3s ease-in-out}#elementor-preview-responsive-wrapper .ui-resizable-handle{top:0}#elementor-preview-responsive-wrapper .ui-resizable-handle.ui-resizable-s{top:auto;bottom:0}#elementor-preview-responsive-wrapper .ui-resizable-n,#elementor-preview-responsive-wrapper .ui-resizable-s{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;height:20px}#elementor-preview-responsive-wrapper .ui-resizable-n:before,#elementor-preview-responsive-wrapper .ui-resizable-s:before{content:"";display:block;background-color:hsla(0,0%,100%,.2);width:50px;height:4px;border-radius:3px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}#elementor-preview-responsive-wrapper .ui-resizable-n:hover:before,#elementor-preview-responsive-wrapper .ui-resizable-s:hover:before{background-color:hsla(0,0%,100%,.6);width:100px}#elementor-preview-responsive-wrapper .ui-resizable-e,#elementor-preview-responsive-wrapper .ui-resizable-w{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:20px}#elementor-preview-responsive-wrapper .ui-resizable-e:before,#elementor-preview-responsive-wrapper .ui-resizable-w:before{content:"";display:block;background-color:hsla(0,0%,100%,.2);width:4px;height:50px;border-radius:3px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}#elementor-preview-responsive-wrapper .ui-resizable-e:hover:before,#elementor-preview-responsive-wrapper .ui-resizable-w:hover:before{background-color:hsla(0,0%,100%,.6);height:100px}#elementor-preview-responsive-wrapper.ui-resizable-resizing .ui-resizable-handle:before{background-color:hsla(0,0%,100%,.9)}#elementor-preview-responsive-wrapper .ui-resizable-s{bottom:0}#elementor-preview-responsive-wrapper .ui-resizable-e{right:0}#elementor-preview-responsive-wrapper .ui-resizable-w{left:0}#elementor-preview-iframe{width:100%;height:100%;background-color:#fff;-webkit-box-shadow:0 0 3px rgba(0,0,0,.3),0 0 20px rgba(0,0,0,.15);box-shadow:0 0 3px rgba(0,0,0,.3),0 0 20px rgba(0,0,0,.15)}#elementor-template-library-modal a.elementor-template-library-blank-footer-link{font-style:normal;text-decoration:underline;color:#39b54a}#elementor-template-library-modal a.elementor-template-library-blank-footer-link:hover{color:#2d8e3a}#elementor-template-library-modal .dialog-buttons-wrapper{display:none}#elementor-template-library-modal .select2-container{z-index:0}#elementor-template-library-header-menu{text-align:center;color:#6d7882;font-size:13px}.elementor-template-library-menu-item{display:inline-block;padding:17px 0;width:115px;cursor:pointer}.elementor-template-library-menu-item.elementor-active{background-image:-o-linear-gradient(top,#f1f3f5,#fff);background-image:-webkit-gradient(linear,left top,left bottom,from(#f1f3f5),to(#fff));background-image:linear-gradient(180deg,#f1f3f5,#fff);border-bottom:3px solid #93003c}#elementor-template-library-header-actions{display:-webkit-box;display:-ms-flexbox;display:flex}#elementor-template-library-header-actions>div{padding-right:16px}#elementor-template-library-header-preview-insert-wrapper{cursor:default;padding:0 10px}#elementor-template-library-header-preview-insert-wrapper .elementor-button{padding:8px 14px;font-size:11px}#elementor-template-library-header-preview-insert-wrapper .elementor-template-library-template-insert{color:#fff;background-color:#39b54a}#elementor-template-library-header-preview-insert-wrapper .elementor-go-pro{background-color:#93003c;color:#fff}#elementor-template-library-header-preview-back{padding:16.5px 16.5px 15px 0;border-right:1px solid #e6e9ec;cursor:pointer;-webkit-transition:color .5s;-o-transition:color .5s;transition:color .5s}#elementor-template-library-header-preview-back:not(:hover){color:#a4afb7}#elementor-template-library-header-preview-back i{padding-right:10px;font-size:18px}#elementor-template-library-header-preview-back i:before{content:"\e87e"}#elementor-template-library-templates{padding:0 15px}#elementor-template-library-templates[data-template-source=local] #elementor-template-library-templates-container{-webkit-box-shadow:1px 1px 20px 0 rgba(0,0,0,.03);box-shadow:1px 1px 20px 0 rgba(0,0,0,.03);margin-top:10px;margin-bottom:45px}#elementor-template-library-templates[data-template-source=local] .elementor-template-library-order-input:checked+.elementor-template-library-order-label{color:#6d7882}#elementor-template-library-templates[data-template-source=remote] #elementor-template-library-templates-container{margin:10px -15px 0}#elementor-template-library-templates[data-template-source=remote] .elementor-template-library-order-input:checked+.elementor-template-library-order-label{color:#495157}#elementor-template-library-templates .elementor-template-library-order-input,#elementor-template-library-templates.elementor-templates-filter-active #elementor-template-library-footer-banner,#elementor-template-library-templates[data-template-source=empty] #elementor-template-library-footer-banner,#elementor-template-library-templates[data-template-source=empty] #elementor-template-library-order-toolbar-local{display:none}#elementor-template-library-templates .elementor-template-library-order-input:checked+.elementor-template-library-order-label{padding-right:8px}#elementor-template-library-templates .elementor-template-library-order-input:checked+.elementor-template-library-order-label:after{font-family:eicons;content:"\e8ae";margin-left:3px}#elementor-template-library-templates .elementor-template-library-order-input:checked.elementor-template-library-order-reverse+.elementor-template-library-order-label:after{content:"\e8ad"}#elementor-template-library-templates-container{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}#elementor-template-library-templates-container .elementor-template-library-template-local .elementor-template-library-template-insert{text-transform:none;font-size:12px}#elementor-template-library-toolbar{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}#elementor-template-library-toolbar,.elementor-template-library-filter-toolbar{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}#elementor-template-library-filter-toolbar-remote{font-size:11px}#elementor-template-library-order{display:-webkit-box;display:-ms-flexbox;display:flex;border-right:1px solid #d5dadf}.elementor-template-library-order-label{text-transform:uppercase;padding-right:22px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}label.elementor-template-library-order-label{cursor:pointer}label.elementor-template-library-order-label:hover{color:#556068}#elementor-template-library-filter .select2{text-align:left;width:calc(27px * 5)!important}#elementor-template-library-filter .select2-selection__rendered{text-transform:capitalize}#select2-elementor-template-library-filter-subtype-results .select2-results__option{text-transform:capitalize;text-align:left;padding-left:5px}#elementor-template-library-my-favorites{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;text-align:left;padding-left:20px}#elementor-template-library-filter-my-favorites{display:none}#elementor-template-library-filter-my-favorites:checked+#elementor-template-library-filter-my-favorites-label{color:#495157}#elementor-template-library-filter-my-favorites:checked+#elementor-template-library-filter-my-favorites-label i:after{color:#93003c;content:"\e93f"}#elementor-template-library-filter-my-favorites-label{cursor:pointer;text-transform:uppercase}#elementor-template-library-filter-my-favorites-label:hover{color:#556068}#elementor-template-library-filter-my-favorites-label:hover i:after{color:#93003c}#elementor-template-library-filter-my-favorites-label i{padding-right:5px}#elementor-template-library-filter-my-favorites-label i:after{color:#a4afb7;content:"\e923"}#elementor-template-library-filter-text-wrapper{width:200px;position:relative}#elementor-template-library-filter-text-wrapper i{position:absolute;top:50%;right:0;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}#elementor-template-library-filter-text{border:none;border-bottom:1px solid #d5dadf;border-radius:0;font-size:11px;padding:8px 15px 8px 0;-webkit-transition:border .5s;-o-transition:border .5s;transition:border .5s}#elementor-template-library-filter-text::-webkit-input-placeholder{font-weight:300;text-transform:uppercase}#elementor-template-library-filter-text::-moz-placeholder{font-weight:300;text-transform:uppercase}#elementor-template-library-filter-text::-ms-input-placeholder{font-weight:300;text-transform:uppercase}#elementor-template-library-filter-text::placeholder{font-weight:300;text-transform:uppercase}#elementor-template-library-filter-text:focus{border-color:#c2cbd2}.elementor-template-library-template-remote{margin:15px;padding:8px;background-color:#fff;-webkit-box-shadow:0 1px 20px 0 rgba(0,0,0,.07);box-shadow:0 1px 20px 0 rgba(0,0,0,.07);border-radius:3px}.elementor-template-library-template-remote:hover .elementor-template-library-template-name{display:none}.elementor-template-library-template-remote:not(:hover) .elementor-template-library-template-preview{opacity:0}.elementor-template-library-template-remote:not(:hover) .elementor-template-library-favorite,.elementor-template-library-template-remote:not(:hover) .elementor-template-library-template-action{display:none}.elementor-template-library-template-remote.elementor-template-library-pro-template .elementor-template-library-template-body:before{content:var(--elementor-template-library-subscription-plan-label);background-color:var(--elementor-template-library-subscription-plan-color);color:#d5dadf;position:absolute;text-transform:uppercase;top:5px;right:5px;padding:2px 4px 0;font-size:9px;border-radius:2px}.elementor-template-library-template-remote:not(.elementor-template-library-template-page):not(.elementor-template-library-template-lp){position:relative;width:calc(33.333% - 30px);overflow:hidden}.elementor-template-library-template-remote:not(.elementor-template-library-template-page):not(.elementor-template-library-template-lp) img{display:block;width:100%}.elementor-template-library-template-remote:not(.elementor-template-library-template-page):not(.elementor-template-library-template-lp) .elementor-template-library-template-footer{position:absolute;width:100%;bottom:0;left:0;padding:10px;background-color:#fff;-webkit-transition:-webkit-transform .5s;transition:-webkit-transform .5s;-o-transition:transform .5s;transition:transform .5s;transition:transform .5s,-webkit-transform .5s}.elementor-template-library-template-remote:not(.elementor-template-library-template-page):not(.elementor-template-library-template-lp) .elementor-template-library-template-name{display:none}.elementor-template-library-template-remote:not(.elementor-template-library-template-page):not(.elementor-template-library-template-lp):not(:hover) .elementor-template-library-template-footer{-webkit-transform:translateY(100%);-ms-transform:translateY(100%);transform:translateY(100%)}.elementor-template-library-template-remote .elementor-template-library-template-body{position:relative}@media (max-width:1025px){.elementor-template-library-template-remote .elementor-template-library-template-body{height:300px}}.elementor-template-library-template-remote .elementor-template-library-template-screenshot{height:100%;background-size:cover;background-position-x:50%;-webkit-box-shadow:inset 0 -2px 15px -6px rgba(0,0,0,.07);box-shadow:inset 0 -2px 15px -6px rgba(0,0,0,.07)}.elementor-template-library-template-remote .elementor-template-library-template-preview{position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.5);-webkit-transition:opacity .5s;-o-transition:opacity .5s;transition:opacity .5s;cursor:pointer}.elementor-template-library-template-remote .elementor-template-library-template-preview i{font-size:20px;color:#d5dadf;position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.elementor-template-library-template-remote .elementor-template-library-template-insert{color:#39b54a}.elementor-template-library-template-remote .elementor-go-pro{color:#93003c}.elementor-template-library-template-remote .elementor-template-library-template-footer{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;margin-top:10px;font-size:11px;line-height:1}.elementor-template-library-template-remote .elementor-template-library-template-name{text-align:left;color:#6d7882;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden;padding-right:5px}.elementor-template-library-template-remote .elementor-template-library-template-favorite-input{display:none}.elementor-template-library-template-remote .elementor-template-library-template-favorite-input:checked+.elementor-template-library-template-favorite-label i:before{content:"\e93f";color:#93003c}.elementor-template-library-template-remote .elementor-template-library-template-favorite-label{cursor:pointer}.elementor-template-library-template-remote .elementor-template-library-template-favorite-label:hover i{color:#93003c}@media (max-width:1439px){.elementor-template-library-template-lp,.elementor-template-library-template-page{width:calc(25% - 30px)}}@media (min-width:1440px){.elementor-template-library-template-lp,.elementor-template-library-template-page{width:calc(20% - 30px)}}@media (max-width:1025px){.elementor-template-library-template-lp,.elementor-template-library-template-page{width:calc(33.333% - 30px)}}.elementor-template-library-template-lp .elementor-template-library-template-body,.elementor-template-library-template-page .elementor-template-library-template-body{height:200px}#elementor-template-library-order-toolbar-local,.elementor-template-library-template-local{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 25px;text-align:left}#elementor-template-library-order-toolbar-local{margin-top:30px}#elementor-template-library-order-toolbar-local .elementor-template-library-order-label{line-height:1;font-size:10px;font-weight:500}#elementor-template-library-order-toolbar-local .elementor-template-library-order-label:not(:hover){color:#a4afb7}.elementor-template-library-template-local{height:50px;width:100%;margin-top:1px;background-color:#fff;-webkit-transition:background-color .3s linear;-o-transition:background-color .3s linear;transition:background-color .3s linear}.elementor-template-library-template-local:hover{background-color:#fafbfb}.elementor-template-library-template-local:not(:hover) .elementor-template-library-template-insert{background:none;color:#a4afb7}.elementor-template-library-template-local:first-child{border-radius:3px 3px 0 0}.elementor-template-library-template-local:last-child{border-radius:0 0 3px 3px}.elementor-template-library-template-local .elementor-template-library-template-name{font-weight:500}.elementor-template-library-template-local .elementor-template-library-template-meta,.elementor-template-library-template-local .elementor-template-library-template-name{padding-right:20px}.elementor-template-library-template-local .elementor-template-library-template-meta{color:#a4afb7}.elementor-template-library-template-local .elementor-template-library-template-action,.elementor-template-library-template-local .elementor-template-library-template-meta,.elementor-template-library-template-local .elementor-template-library-template-name,.elementor-template-library-template-local .elementor-template-library-template-preview{white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden}.elementor-template-library-template-local .elementor-template-library-template-controls{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-template-library-template-local .elementor-template-library-template-controls,.elementor-template-library-template-local .elementor-template-library-template-controls a{color:#a4afb7}.elementor-template-library-template-local .elementor-template-library-template-controls>div{cursor:pointer;-webkit-transition:color .5s;-o-transition:color .5s;transition:color .5s}.elementor-template-library-template-local .elementor-template-library-template-insert i{margin-right:3px}.elementor-template-library-template-local .elementor-template-library-template-control-title{margin-left:6px}.elementor-template-library-template-local .elementor-template-library-template-more:hover,.elementor-template-library-template-local .elementor-template-library-template-more a:hover{color:#556068}.elementor-template-library-template-local .elementor-template-library-template-more .elementor-template-library-template-delete:hover{color:#d72b3f}.elementor-template-library-template-local .elementor-template-library-template-action{padding:8px 18px;margin:0 5%}.elementor-template-library-template-local .elementor-template-library-template-more{display:none;position:absolute;background-color:#fff;padding:3px 20px;border-radius:3px;-webkit-box-shadow:1px 3px 11px rgba(0,0,0,.3);box-shadow:1px 3px 11px rgba(0,0,0,.3);top:100%;right:0;-webkit-transform:translateX(65%) translateY(-7px);-ms-transform:translateX(65%) translateY(-7px);transform:translateX(65%) translateY(-7px);z-index:1}.elementor-template-library-template-local .elementor-template-library-template-more:before{content:"";position:absolute;border:solid transparent;border-bottom:solid #fff;border-width:8px 4px;-webkit-transform:translateY(-100%);-ms-transform:translateY(-100%);transform:translateY(-100%)}.elementor-template-library-template-local .elementor-template-library-template-more>div{margin:10px 0;font-size:11px}.elementor-template-library-template-local .elementor-template-library-template-more-toggle{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;text-align:right}.elementor-template-library-template-local .elementor-template-library-template-more-toggle i{font-size:16px}#elementor-template-library-preview{height:100%;overflow:hidden}#elementor-template-library-preview iframe{height:150%;-webkit-transform:scale(.666) translateX(-25%) translateY(-25%);-ms-transform:scale(.666) translateX(-25%) translateY(-25%);transform:scale(.666) translateX(-25%) translateY(-25%)}@media (max-width:1439px){#elementor-template-library-preview iframe{width:1440px}}@media (min-width:1440px){#elementor-template-library-preview iframe{width:1710px}}.elementor-template-library-blank-icon{font-size:65px;margin-top:45px;color:#c2cbd2;line-height:1}.elementor-template-library-blank-icon img{width:70px}.elementor-template-library-blank-icon .elementor-template-library-no-results{width:200px}.elementor-template-library-blank-title{font-size:30px;margin-top:40px}@media (max-width:1439px){.elementor-template-library-blank-title{font-size:25px}}.elementor-template-library-blank-message{font-size:18px;color:#a4afb7;margin-top:15px;font-weight:300}@media (max-width:1439px){.elementor-template-library-blank-message{font-size:16px;margin-top:10px}}#elementor-template-library-save-template-form{margin-top:40px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}#elementor-template-library-save-template-form>*{height:55px;font-size:16px}#elementor-template-library-save-template-name{width:500px;background-color:#fff;font-weight:300;color:#a4afb7;padding-left:25px;border-radius:3px 0 0 3px;border:none}#elementor-template-library-save-template-submit{width:150px;border-radius:0 3px 3px 0}#elementor-template-library-save-template-submit:hover{-webkit-box-shadow:none;box-shadow:none}#elementor-template-library-import-form{width:95%;background-color:hsla(0,0%,100%,.5);padding:60px;border:2px dashed #d5dadf;margin:35px auto;-webkit-transition:background-color .5s;-o-transition:background-color .5s;transition:background-color .5s}#elementor-template-library-import-form:hover{background-color:hsla(0,0%,100%,.9)}#elementor-template-library-import-form-or{margin-top:15px;font-size:18px}#elementor-template-library-import-form-label{margin-top:20px;padding:15px 35px;display:inline-block}#elementor-template-library-import-form-input{display:none}#elementor-template-library-import-form.elementor-drag-over{border:3px dashed #71d7f7}#elementor-template-library-import .elementor-template-library-blank-icon{margin-top:0}#elementor-template-library-import .elementor-template-library-blank-message{margin-top:20px}.e-route-library-connect #elementor-template-library-modal .dialog-message{max-height:95vh;padding:100px 0 0;min-height:550px}#elementor-template-library-connect-logo{font-size:20px}#elementor-template-library-connect__button{display:inline-block;position:relative;z-index:1;margin-top:25px;padding:12px 24px;font-size:14px}#elementor-template-library-connect__background-image-left-1{right:22.4%;bottom:-29%;-webkit-animation:fadeIn 1.5s,slideDown 1.5s,mover 3.5s 1.5s infinite alternate;animation:fadeIn 1.5s,slideDown 1.5s,mover 3.5s 1.5s infinite alternate}#elementor-template-library-connect__background-image-left-2{right:46.25%;bottom:-15.5%;-webkit-animation:fadeIn 3s,slideDown 3s,mover 2s 3s infinite alternate;animation:fadeIn 3s,slideDown 3s,mover 2s 3s infinite alternate}#elementor-template-library-connect__background-image-right-1{left:37%;bottom:-41%;-webkit-animation:fadeIn 2.5s,slideDown 2.5s,mover 2s 2.5s infinite alternate;animation:fadeIn 2.5s,slideDown 2.5s,mover 2s 2.5s infinite alternate}#elementor-template-library-connect__background-image-right-2{left:48%;bottom:-12.5%;-webkit-animation:fadeIn 1.5s,slideDown 1.5s,mover 1.5s 1.5s infinite alternate;animation:fadeIn 1.5s,slideDown 1.5s,mover 1.5s 1.5s infinite alternate}.elementor-template-library-connect__background-image{position:absolute}.elementor-template-library-blank-footer{position:absolute;bottom:70px;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);color:#a4afb7;font-style:italic}@media (max-height:700px){.elementor-template-library-blank-footer{display:none}}#elementor-template-library-footer-banner{padding-bottom:45px}#elementor-template-library-footer-banner i{color:#c2cbd2;font-size:56px;margin-top:40px}#elementor-template-library-footer-banner .elementor-nerd-box-icon{margin-top:70px}#elementor-template-library-footer-banner .elementor-excerpt{color:#a4afb7;font-size:15px;font-weight:500;margin-top:20px}#elementor-template-library-templates-empty{width:100%;margin-top:40px}#elementor-template-library-error-dialog .dialog-message{text-align:start}#elementor-template-library-error-info{margin-top:10px}@media (max-width:1439px){.elementor-template-library-local-column-1{width:33%}.elementor-template-library-local-column-2{width:10%}.elementor-template-library-local-column-3,.elementor-template-library-local-column-4{width:15%}.elementor-template-library-local-column-5{width:27%}}@media (min-width:1440px){.elementor-template-library-local-column-1{width:25%}.elementor-template-library-local-column-2,.elementor-template-library-local-column-3,.elementor-template-library-local-column-4{width:17%}.elementor-template-library-local-column-5{width:24%}}@media (max-width:1024px){.elementor-template-library-local-column-3{display:none}.elementor-template-library-local-column-5{width:41%}}.elementor-tags-list{display:none;position:absolute;width:260px;max-height:300px;overflow:auto;padding-bottom:5px;background-color:#fff;border:1px solid #a4afb7;border-radius:3px;z-index:10000}.elementor-tags-list__group-title{color:#495157;font-weight:700;font-size:12px;padding:10px 15px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-tags-list__group-title .eicon-info-circle{padding-right:5px;color:#71d7f7;font-size:14px}.elementor-tags-list__item{font-size:10px;padding:6px 15px;cursor:pointer}.elementor-tags-list__item:before{content:">";font-size:8px;padding-right:5px}.elementor-tags-list__item:hover{background-color:#e6e9ec}.elementor-tags-list__teaser{border-top:2px solid #d5dadf;padding-top:4px;margin-top:4px}.elementor-tags-list__teaser-title{color:#6d7882}.elementor-tags-list__teaser-text{padding:2px 15px 8px;line-height:1.5;font-size:12px}.elementor-tags-list__teaser-link{color:#93003c;text-decoration:underline;font-style:italic;font-weight:700}.elementor-dynamic-cover{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;height:27px;-webkit-box-sizing:border-box;box-sizing:border-box}.elementor-dynamic-cover__title{padding:0 8px;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden}.elementor-dynamic-cover__remove,.elementor-dynamic-cover__settings{color:#c2cbd2;cursor:pointer;-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s}.elementor-dynamic-cover__remove:hover,.elementor-dynamic-cover__settings:hover{color:#a4afb7}.elementor-control-type-wysiwyg .elementor-dynamic-cover{margin-top:10px}.elementor-tag-settings-popup{position:absolute;width:260px;background-color:#e6e9ec;-webkit-box-shadow:1px 1px 10px rgba(0,0,0,.3);box-shadow:1px 1px 10px rgba(0,0,0,.3);z-index:1}.elementor-tag-settings-popup:before{content:"";position:absolute;top:-20px;left:5px;border:10px solid transparent;border-bottom-color:#fff}.elementor-tag-settings-popup .elementor-control-type-section:first-child{margin:0}.elementor-tag-controls-stack-empty{background-color:#fff;padding:10px;font-size:13px;text-align:center}.elementor-control-dynamic-switcher{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-ms-flex-negative:0;flex-shrink:0;height:27px;cursor:pointer;border:1px solid #d5dadf;border-radius:3px;background:#fff}.elementor-control-dynamic-switcher.e-control-tool{height:20px;border:0}.elementor-control-dynamic-switcher-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-control-dynamic-switcher .eicon-database{font-size:12px}.elementor-control-dynamic-value .e-global__popover-toggle,.elementor-control-dynamic-value .elementor-control-dynamic-switcher,.elementor-control-dynamic-value .elementor-control-tag-area{display:none}#elementor-toast{position:absolute;width:280px;padding:20px;border-radius:5px;color:#d5dadf;background-color:rgba(0,0,0,.8);z-index:10000}#elementor-toast .dialog-message{font-size:13px}#elementor-toast .dialog-buttons-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;margin-top:15px}#elementor-toast .dialog-button{color:#fcb92c;margin:0 5px;text-transform:uppercase;cursor:pointer}#elementor-toast .dialog-button:last-child{margin-right:0}.elementor-context-menu{position:absolute;width:200px;background-color:#fff;border:1px solid #e6e9ec;border-radius:3px;-webkit-box-shadow:0 2px 10px 0 rgba(0,0,0,.09);box-shadow:0 2px 10px 0 rgba(0,0,0,.09);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:101}.elementor-context-menu-list__group{padding:5px 0}.elementor-context-menu-list__group:not(:last-child){border-bottom:1px solid #e6e9ec}.elementor-context-menu-list__item{padding:5px 20px 5px 10px;display:-webkit-box;display:-ms-flexbox;display:flex;cursor:pointer}.elementor-context-menu-list__item--disabled{cursor:default;color:#d5dadf}.elementor-context-menu-list__item:not(.elementor-context-menu-list__item--disabled):hover{background-color:#71d7f7}.elementor-context-menu-list__item:not(.elementor-context-menu-list__item--disabled):hover>*{color:#fff}.elementor-context-menu-list__item__icon{width:20px;color:#c2cbd2}.elementor-context-menu-list__item__title{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden}.elementor-context-menu-list__item__shortcut{color:#d5dadf}.elementor-context-menu-list__item.elementor-context-menu-list__item-delete:not(.elementor-context-menu-list__item--disabled):hover{background-color:#d72b3f}.elementor-context-menu .eicon-pro-icon{color:#fcb92c}#elementor-hotkeys{text-align:left}#elementor-hotkeys__content{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;overflow:hidden;margin-bottom:30px}@media (max-width:1024px){#elementor-hotkeys__content{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}#elementor-hotkeys__actions .elementor-hotkeys__list{border-radius:3px 0 0 3px}@media (max-width:1024px){#elementor-hotkeys__actions .elementor-hotkeys__list{border-radius:3px}}@media (min-width:1025px){#elementor-hotkeys__actions .elementor-hotkeys__header,#elementor-hotkeys__actions .elementor-hotkeys__list{padding-right:25px}}@media (min-width:1440px){#elementor-hotkeys__actions .elementor-hotkeys__header,#elementor-hotkeys__actions .elementor-hotkeys__list{padding-right:50px}}#elementor-hotkeys__navigation .elementor-hotkeys__list{border-radius:0 3px 3px 0}@media (max-width:1024px){#elementor-hotkeys__navigation .elementor-hotkeys__list{border-radius:3px}}@media (min-width:1025px){#elementor-hotkeys__navigation .elementor-hotkeys__header{padding-left:25px}}@media (min-width:1440px){#elementor-hotkeys__navigation .elementor-hotkeys__header{padding-left:50px}}@media (min-width:1025px){#elementor-hotkeys__navigation .elementor-hotkeys__list{padding-left:15px}}@media (min-width:1440px){#elementor-hotkeys__navigation .elementor-hotkeys__list{padding-left:40px}}.elementor-hotkeys__col{width:50%}@media (max-width:1024px){.elementor-hotkeys__col{width:100%}}.elementor-hotkeys__header,.elementor-hotkeys__list{width:100%}.elementor-hotkeys__header{padding:10px 30px;font-weight:500}@media (max-width:479px){.elementor-hotkeys__header{padding-right:10px;padding-left:10px}}.elementor-hotkeys__list{background-color:#fff;height:calc(100% - 42px);padding:10px 20px}@media (max-width:479px){.elementor-hotkeys__list{padding:0}}@media (max-width:1024px){.elementor-hotkeys__list{margin-bottom:30px;height:auto}}.elementor-hotkeys__item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:20px 10px;border-bottom:1px solid #eceeef}.elementor-hotkeys__item:last-child{margin-bottom:30px}@media (max-width:479px){.elementor-hotkeys__item:last-child{margin-bottom:0}}.elementor-hotkeys__item--label{font-size:13px;font-weight:400;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-hotkeys__item--shortcut{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-hotkeys__item--shortcut span{position:relative;background-color:#eceeef;padding:5px 12px;margin-right:27px;border-radius:3px}@media (max-width:479px){.elementor-hotkeys__item--shortcut span{padding:4px 9px;margin-right:23px}}.elementor-hotkeys__item--shortcut span:after{content:"+";position:absolute;right:-18px;width:9px;text-align:center}@media (max-width:479px){.elementor-hotkeys__item--shortcut span:after{right:-16px}}.elementor-hotkeys__item--shortcut span:last-child{margin-right:0}.elementor-hotkeys__item--shortcut span:last-child:after{display:none}.ui-resizable-n{top:-5px}.ui-resizable-e{right:-5px}.ui-resizable-s{bottom:-5px}.ui-resizable-w{left:-5px}.ui-resizable-ne{top:-5px;right:-5px}.ui-resizable-nw{top:-5px;left:-5px}.ui-resizable-se{bottom:-5px;right:-5px}.ui-resizable-sw{bottom:-5px;left:-5px}.ui-resizable-n,.ui-resizable-s{left:0;height:10px;width:100%;cursor:ns-resize}.ui-resizable-e,.ui-resizable-w{top:0;height:100%;width:10px;cursor:ew-resize}.ui-resizable-ne,.ui-resizable-nw,.ui-resizable-se,.ui-resizable-sw{height:15px;width:15px}.ui-resizable-nw,.ui-resizable-se{cursor:nwse-resize}.ui-resizable-ne,.ui-resizable-sw{cursor:nesw-resize}.ui-resizable-handle{position:absolute}.ui-resizable-resizing{pointer-events:none}body{--e-editor-navigator-width:240px}#elementor-navigator{position:fixed;top:100px;width:var(--e-editor-navigator-width);height:50vh;right:30px;background-color:#fff;-webkit-box-shadow:0 2px 20px 0 rgba(0,0,0,.1);box-shadow:0 2px 20px 0 rgba(0,0,0,.1);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden;z-index:100;display:none}body.elementor-navigator-docked #elementor-navigator{top:0;right:0;height:100%}body:not(.elementor-navigator-docked) #elementor-navigator{border-radius:5px}#elementor-navigator__inner{height:100%;background-color:#e6e9ec}#elementor-navigator__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:12px 10px;background-color:#fff;border-bottom:1px solid #e6e9ec;cursor:move}#elementor-navigator__close,#elementor-navigator__toggle-all{-webkit-transition:color .5s;-o-transition:color .5s;transition:color .5s;cursor:pointer}#elementor-navigator__close:not(:hover),#elementor-navigator__toggle-all:not(:hover){color:#a4afb7}#elementor-navigator__toggle-all{font-size:13px}#elementor-navigator__close{font-size:11px}#elementor-navigator__elements{height:calc(100% - 49px);overflow:auto;position:relative}.elementor-navigator-docked #elementor-navigator__elements{height:calc(100% - 35px)}#elementor-navigator__elements .elementor-nerd-box{padding:25px}#elementor-navigator__footer{position:absolute;width:100%;left:0;bottom:0;text-align:center;background-color:#fff;border-top:1px solid #e6e9ec;color:#a4afb7}.elementor-navigator-docked #elementor-navigator__footer{display:none}.elementor-navigator__item{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;height:30px;font-size:11px;border-bottom:1px solid #e6e9ec;cursor:pointer;-webkit-transition:padding .5s linear;-o-transition:padding .5s linear;transition:padding .5s linear;overflow:hidden}.elementor-navigator__item:not(.elementor-active) .elementor-navigator__element__list-toggle i{-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg)}.elementor-navigator__item>*{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-navigator__item+.elementor-navigator__elements{display:none}.elementor-navigator__elements .elementor-empty-view{padding:10px;border-bottom:1px solid #e6e9ec}.elementor-navigator__elements .elementor-empty-view__title{margin-left:23px;color:#c2cbd2;font-size:10px;font-style:italic}.elementor-navigator__elements .ui-sortable-helper{background-color:#fff;-webkit-box-shadow:1px 2px 5px 0 rgba(0,0,0,.1);box-shadow:1px 2px 5px 0 rgba(0,0,0,.1);-webkit-transform:rotate(4deg);-ms-transform:rotate(4deg);transform:rotate(4deg);border:1px solid #e6e9ec;pointer-events:none}.elementor-navigator__elements .ui-sortable-placeholder{background-color:#f1f3f5}.elementor-navigator__element.elementor-dragging-on-child>.elementor-navigator__elements>.elementor-empty-view{border-top:2px solid #71d7f7}.elementor-navigator__element.elementor-dragging-on-child>.elementor-navigator__elements>.elementor-empty-view+.ui-sortable-placeholder,.elementor-navigator__element.elementor-dragging-on-child>.elementor-navigator__elements>.elementor-empty-view .elementor-empty-view__title{display:none}.elementor-navigator__element:not(.elementor-navigator__element--has-children) .elementor-navigator__element__list-toggle{visibility:hidden}.elementor-navigator__element:not(.elementor-navigator__element--hidden)>.elementor-navigator__item .elementor-navigator__element__toggle{color:#71d7f7}.elementor-navigator__element:not(.elementor-navigator__element--hidden)>.elementor-navigator__item:not(:hover) .elementor-navigator__element__toggle{display:none}.elementor-navigator__element:not(.elementor-navigator__element--hidden)>.elementor-navigator__item.elementor-editing{background-color:#71d7f7}.elementor-navigator__element:not(.elementor-navigator__element--hidden)>.elementor-navigator__item.elementor-editing>*{color:#fff}.elementor-navigator__element__list-toggle{margin-right:7px;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;-o-transition:transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;color:#a4afb7}.elementor-navigator__element__element-type{margin-right:8px}.elementor-navigator__element__title{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;overflow:hidden}.elementor-navigator__element__title__text{white-space:nowrap;-webkit-user-select:text}.elementor-navigator__element__title__text[contenteditable=true]{outline:none;color:#6d7882;background-color:#fff;padding:2px 3px;-webkit-box-shadow:0 0 4px rgba(0,0,0,.2);box-shadow:0 0 4px rgba(0,0,0,.2)}.elementor-navigator__element__title__text:not([contenteditable=true]){white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden}.elementor-navigator__element__toggle{position:absolute;right:15px;height:100%;z-index:0;font-size:13px}.elementor-navigator__element__indicators{position:relative;-webkit-transition:-webkit-transform .5s;transition:-webkit-transform .5s;-o-transition:transform .5s;transition:transform .5s;transition:transform .5s,-webkit-transform .5s;padding-left:5px;z-index:91}.elementor-navigator__element__indicators:not(:hover){-webkit-transform:translateX(calc(100% - 8px));-ms-transform:translateX(calc(100% - 8px));transform:translateX(calc(100% - 8px))}.elementor-navigator__element__indicator{height:100%;width:31px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;color:#6d7882;background-color:#fff;border-left:1px solid #e6e9ec}.elementor-navigator__element__indicator:first-child{border-left:3px solid #71d7f7}.elementor-editing .elementor-navigator__element__indicator:first-child{border-color:#41c9f4}.elementor-navigator__element__indicator:hover{color:#495157}.elementor-navigator__element--hidden .elementor-navigator__element__title,.elementor-navigator__element--hidden .elementor-navigator__element__toggle{opacity:.5}.elementor-navigator__element-column{background-color:#fafbfb}.elementor-navigator__element-column>.elementor-navigator__item .elementor-navigator__element__element-type{color:#a4afb7}.elementor-navigator__element-container,.elementor-navigator__element-section{background-color:#fff}#e-notice-bar{position:absolute;width:100%;bottom:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:40px;color:#fff;background-color:#93003c;padding:0 25px}#e-notice-bar__message{padding-left:15px}#e-notice-bar__message a{text-decoration:underline;color:#fff}#e-notice-bar__message a:hover{color:#d5dadf}#e-notice-bar__action{padding-left:25px;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;text-transform:uppercase}#e-notice-bar__action a{background:#fff;border-radius:3px;color:#93003c;padding:4px 10px;font-size:11px}#e-notice-bar__action a:hover{color:#47001d;background:#f1f3f5}#e-notice-bar__close{cursor:pointer}#e-notice-bar i{font-size:16px;opacity:.9}#e-notice-bar i:hover{color:#d5dadf}#e-notice-bar a,#e-notice-bar i{-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s}body:not(.elementor-device-desktop) #e-notice-bar{display:none}#elementor-fatal-error-dialog.elementor-preview-loading-error .dialog-header{color:#495157}#elementor-fatal-error-dialog.elementor-preview-loading-error .dialog-message a{color:#6d7882;text-decoration:underline;font-style:italic}#elementor-preview-debug-link-text{display:inline-block}#elementor-icons-manager-modal .dialog-message{padding:0;height:700px}#elementor-icons-manager-modal .dialog-buttons-wrapper,#elementor-icons-manager-modal .dialog-content,#elementor-icons-manager__wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}@media (max-width:479px){#elementor-icons-manager__sidebar{display:none}}#elementor-icons-manager__tab-links{margin-top:30px}#elementor-icons-manager__upload{margin:20px 45px;padding-top:35px;border-top:1px solid #e6e9ec;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}@media (max-width:1439px){#elementor-icons-manager__upload{margin:20px 25px}}#elementor-icons-manager__upload__title{color:#a4afb7;font-size:11px;text-transform:uppercase}#elementor-icons-manager__main{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding:30px 80px 0}@media (max-width:1439px){#elementor-icons-manager__main{padding:30px 50px 0}}@media (max-width:479px){#elementor-icons-manager__main{width:100%}}#elementor-icons-manager__search{position:relative}#elementor-icons-manager__search input{padding:8px 15px;background-color:#fff;border:none}#elementor-icons-manager__search input::-webkit-input-placeholder{font-style:italic}#elementor-icons-manager__search input::-moz-placeholder{font-style:italic}#elementor-icons-manager__search input::-ms-input-placeholder{font-style:italic}#elementor-icons-manager__search input::placeholder{font-style:italic}#elementor-icons-manager__search i{position:absolute;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);right:15px}#elementor-icons-manager__tab__wrapper{overflow:auto;margin:25px -15px 0;padding:0 15px 15px}#elementor-icons-manager__tab__title{color:#556068;font-size:16px;font-weight:500;text-align:left}@media (max-width:479px){#elementor-icons-manager__tab__title{display:none}}#elementor-icons-manager__tab__content{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:20px;margin:20px 0}@media (max-width:1439px){#elementor-icons-manager__tab__content{grid-template-columns:repeat(6,1fr)}}@media (max-width:1024px){#elementor-icons-manager__tab__content{grid-template-columns:repeat(5,1fr)}}@media (max-width:767px){#elementor-icons-manager__tab__content{grid-template-columns:repeat(4,1fr)}}@media (max-width:479px){#elementor-icons-manager__tab__content{grid-template-columns:repeat(3,1fr)}}#elementor-icons-manager__promotion{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding-top:70px}#elementor-icons-manager__promotion__icon{font-size:60px;color:#c2cbd2}#elementor-icons-manager__promotion__text{width:300px;font-size:16px;padding-top:25px}#elementor-icons-manager__promotion__link{margin-top:20px}.elementor-icons-manager__tab-link{padding:15px 0 15px 45px;font-size:14px;color:#6d7882;text-align:left;cursor:pointer;position:relative}.elementor-icons-manager__tab-link i{font-size:20px;padding-right:15px;color:#a4afb7}@media (max-width:1439px){.elementor-icons-manager__tab-link{padding:15px 15px 15px 25px;font-size:11px}.elementor-icons-manager__tab-link i{font-size:15px}}@media (max-width:1024px){.elementor-icons-manager__tab-link i{display:none}}.elementor-icons-manager__tab-link.elementor-active{background-color:#fff;-webkit-box-shadow:0 6px 20px 0 rgba(0,0,0,.1);box-shadow:0 6px 20px 0 rgba(0,0,0,.1)}.elementor-icons-manager__tab-link.elementor-active:after{content:"";position:absolute;height:100%;width:5px;top:0;left:0;background-color:#71d7f7}.elementor-icons-manager__tab-link.elementor-active i{color:#71d7f7}.elementor-icons-manager__tab__item{position:relative;height:0;padding-bottom:100%;background-color:#fff;-webkit-box-shadow:0 1px 12px rgba(0,0,0,.05);box-shadow:0 1px 12px rgba(0,0,0,.05);border-radius:3px;cursor:pointer;-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s;overflow:hidden}.elementor-icons-manager__tab__item:hover{-webkit-box-shadow:0 1px 14px rgba(0,0,0,.16);box-shadow:0 1px 14px rgba(0,0,0,.16)}.elementor-icons-manager__tab__item.elementor-selected{-webkit-box-shadow:0 1px 12px rgba(0,0,0,.05),0 0 0 3px #71d7f7;box-shadow:0 1px 12px rgba(0,0,0,.05),0 0 0 3px #71d7f7}.elementor-icons-manager__tab__item__content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);padding:1px}.elementor-icons-manager__tab__item__icon{font-size:25px;color:#6d7882}.elementor-icons-manager__tab__item__name{color:#c2cbd2;font-size:11px;padding:13px 20px 0;max-width:100%;white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden}#elementor-enable-fa5-dialog a{font-style:italic;text-decoration:underline}#elementor-enable-fa5-dialog .dialog-confirm-ok{color:#39b54a}.elementor-color-picker__header{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-weight:700;padding:10px;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.1);box-shadow:0 2px 8px rgba(0,0,0,.1)}.e-color-picker__tools,.elementor-color-picker__header{display:-webkit-box;display:-ms-flexbox;display:flex}.e-control-color--no-value .pcr-button{background-image:-o-linear-gradient(315deg,transparent 46%,#ff3030 50%,transparent 54%);background-image:linear-gradient(135deg,transparent 46%,#ff3030 50%,transparent 54%);background-size:cover;background-color:transparent;border:1px solid #d5dadf}.pcr-app[data-theme=monolith]{padding:0}.pcr-result{border-right-width:1px;border-radius:3px}.pcr-interaction,.pcr-selection{padding:0 20px}.pcr-interaction{padding-bottom:20px}.pcr .elementor-control-dynamic-switcher{height:20px;border:0}.select2-container{width:100%!important;outline:none;z-index:9999;font-size:12px}.select2-container .e-select2-placeholder{color:#a4afb7}.select2-container.select2-container--default .select2-selection--single{height:27px}.select2-container.select2-container--default .select2-selection--single .select2-selection__rendered{color:#6d7882;line-height:27px}.select2-container.select2-container--default .select2-selection--multiple{min-height:27px;line-height:0}.select2-container.select2-container--default .select2-selection--multiple .select2-selection__clear{display:none}.select2-container.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#f1f3f5;line-height:1.2;font-size:10px;border:none;border-radius:0;padding:2px 3px}.select2-container.select2-container--default .select2-selection--multiple .select2-selection__choice.select2-selection__e-plus-button{cursor:pointer;width:16.67px;text-indent:-9999px;position:relative}.select2-container.select2-container--default .select2-selection--multiple .select2-selection__choice.select2-selection__e-plus-button:after{content:"\e815";font-family:eicons;color:#a4afb7;text-indent:0;position:absolute;left:0;top:0;width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.select2-container.select2-container--default .select2-selection--multiple .select2-selection__rendered{padding-bottom:5px}.select2-container.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#a4afb7;margin-right:3px}.select2-container:not(.select2-container--open):not(.select2-container--focus) .select2-selection--multiple,.select2-container:not(.select2-container--open):not(.select2-container--focus) .select2-selection--single{border-color:#d5dadf}.select2-container.select2-container--focus .select2-selection--multiple,.select2-container.select2-container--focus .select2-selection--single,.select2-container.select2-container--open .select2-selection--multiple,.select2-container.select2-container--open .select2-selection--single{border-color:#a4afb7}.select2-selection{outline:none}.select2-selection--single{height:27px}.select2-selection__arrow{height:27px;top:0}.select2-results__option[aria-selected=true]{color:#495157}.select2-results__option[aria-selected=true]:not(.select2-results__option--highlighted){background-color:initial}.select2-dropdown{border-color:#a4afb7}.select2-dropdown .select2-search__field{outline:none}[class*=" eicon-flex"],[class^=eicon-flex]{-webkit-transition:all .3s;-o-transition:.3s all;transition:all .3s;--is-ltr:1;--is-rtl:0;--rotation-direction:calc(var(--is-ltr) - var(--is-rtl))}[class*=" eicon-flex"].eicon-inline,[class^=eicon-flex].eicon-inline{max-height:1em;max-width:1em}:is(.e-ui-state--document-direction-mode__column,.e-ui-state--document-direction-mode__column-reverse) [class*=" eicon-flex"]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow),:is(.e-ui-state--document-direction-mode__column,.e-ui-state--document-direction-mode__column-reverse) [class^=eicon-flex]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow){-webkit-transform:rotate(calc(var(--rotation-direction) * 90deg));-ms-transform:rotate(calc(var(--rotation-direction) * 90deg));transform:rotate(calc(var(--rotation-direction) * 90deg))}.e-ui-state--document-direction-mode__column-reverse [class*=" eicon-flex"]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow):is(.eicon-justify-start-h,.eicon-justify-end-h,.eicon-order-start,.eicon-order-end),.e-ui-state--document-direction-mode__column-reverse [class^=eicon-flex]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow):is(.eicon-justify-start-h,.eicon-justify-end-h,.eicon-order-start,.eicon-order-end),:is(.e-ui-state--document-direction-mode__column,.e-ui-state--document-direction-mode__column-reverse) [class*=" eicon-flex"]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow):is(.eicon-align-start-v,.eicon-align-end-v),:is(.e-ui-state--document-direction-mode__column,.e-ui-state--document-direction-mode__column-reverse) [class^=eicon-flex]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow):is(.eicon-align-start-v,.eicon-align-end-v){-webkit-transform:rotate(calc(var(--rotation-direction) * -90deg));-ms-transform:rotate(calc(var(--rotation-direction) * -90deg));transform:rotate(calc(var(--rotation-direction) * -90deg))}.e-ui-state--document-direction-mode__row [class*=" eicon-flex"]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow):is(.eicon-justify-start-h,.eicon-justify-end-h,.eicon-order-start,.eicon-order-end),.e-ui-state--document-direction-mode__row [class^=eicon-flex]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow):is(.eicon-justify-start-h,.eicon-justify-end-h,.eicon-order-start,.eicon-order-end){-webkit-transform:rotate(calc(var(--is-rtl) * 180deg));-ms-transform:rotate(calc(var(--is-rtl) * 180deg));transform:rotate(calc(var(--is-rtl) * 180deg))}.e-ui-state--document-direction-mode__row-reverse [class*=" eicon-flex"]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow):is(.eicon-justify-start-h,.eicon-justify-end-h,.eicon-order-start,.eicon-order-end),.e-ui-state--document-direction-mode__row-reverse [class^=eicon-flex]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow):is(.eicon-justify-start-h,.eicon-justify-end-h,.eicon-order-start,.eicon-order-end){-webkit-transform:rotate(calc(var(--is-ltr) * 180deg));-ms-transform:rotate(calc(var(--is-ltr) * 180deg));transform:rotate(calc(var(--is-ltr) * 180deg))}assets/css/admin.min.css000064400000107554152377341010011241 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ .elementor-button{font-family:Roboto,Arial,Helvetica,Verdana,sans-serif;font-weight:500;text-transform:uppercase;outline:none;border:none;border-radius:3px;-webkit-transition-property:background,color,opacity,-webkit-box-shadow;transition-property:background,color,opacity,-webkit-box-shadow;-o-transition-property:background,color,box-shadow,opacity;transition-property:background,color,box-shadow,opacity;transition-property:background,color,box-shadow,opacity,-webkit-box-shadow;-webkit-transition-duration:.3s;-o-transition-duration:.3s;transition-duration:.3s}.elementor-button:hover{border:none}.elementor-button:not([disabled]){cursor:pointer}.elementor-button:not(.elementor-button-state) .elementor-state-icon{display:none}.elementor-button.elementor-button-success{color:#fff}.elementor-button.elementor-button-success[disabled]{background-color:#c2cbd2}.elementor-button.elementor-button-success:not([disabled]){background-color:#39b54a}.elementor-button.elementor-button-success:not([disabled]):hover{opacity:.85;-webkit-box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2);box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}.elementor-button.elementor-button-success:not([disabled]):active{-webkit-box-shadow:0 5px 10px rgba(0,0,0,.19),0 3px 3px rgba(0,0,0,.1);box-shadow:0 5px 10px rgba(0,0,0,.19),0 3px 3px rgba(0,0,0,.1)}.elementor-button.elementor-button-warning{background-color:#a4afb7;color:#fff}.elementor-button.elementor-button-warning[disabled]{background-color:#c2cbd2}.elementor-button.elementor-button-warning:not([disabled]):hover{background-color:#b01b1b;opacity:.85;-webkit-box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2);box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}.elementor-button.elementor-button-warning:not([disabled]):active{-webkit-box-shadow:0 5px 10px rgba(0,0,0,.19),0 3px 3px rgba(0,0,0,.1);box-shadow:0 5px 10px rgba(0,0,0,.19),0 3px 3px rgba(0,0,0,.1)}.elementor-button.elementor-button-danger{background-color:#d72b3f;color:#fff}.elementor-button.elementor-button-danger[disabled]{background-color:#c2cbd2}.elementor-button.elementor-button-danger:not([disabled]):hover{opacity:.85;-webkit-box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2);box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}.elementor-button.elementor-button-danger:not([disabled]):active{-webkit-box-shadow:0 5px 10px rgba(0,0,0,.19),0 3px 3px rgba(0,0,0,.1);box-shadow:0 5px 10px rgba(0,0,0,.19),0 3px 3px rgba(0,0,0,.1)}.elementor-button.elementor-edit-template{display:inline-block;margin-top:15px;color:#fff}.elementor-button.elementor-button-default{background-color:#a4afb7;color:#fff;font-size:11px;padding:7px 21px}.elementor-button.elementor-button-default:hover{background-color:#6d7882;-webkit-box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2);box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}.elementor-button.elementor-button-default:active{-webkit-box-shadow:0 5px 10px rgba(0,0,0,.19),0 3px 3px rgba(0,0,0,.1);box-shadow:0 5px 10px rgba(0,0,0,.19),0 3px 3px rgba(0,0,0,.1)}.elementor-button.elementor-button-default:visited{color:#fff}.elementor-button.elementor-button-go-pro{background-color:#93003c}.elementor-button i{margin-right:10px}#adminmenu #toplevel_page_elementor div.wp-menu-image:before{content:"\e813";font-family:eicons;font-size:18px;margin-top:1px}#adminmenu #toplevel_page_elementor a[href="admin.php?page=go_elementor_pro"]{font-weight:700}#adminmenu #toplevel_page_elementor a[href="admin.php?page=go_elementor_pro"]:hover{color:#e0005b}#adminmenu #toplevel_page_elementor .dashicons.dashicons-star-filled{height:auto}#adminmenu #menu-posts-elementor_library .wp-menu-image:before{content:"\e8ff";font-family:eicons;font-size:18px}#e-admin-menu__kit-library{color:#5cb85c}body.admin-color-fresh #adminmenu #toplevel_page_elementor a[href="admin.php?page=go_elementor_pro"]{color:#c60051}.elementor-plugins-gopro{color:#93003c;text-shadow:1px 1px 1px #eee;font-weight:700}#elementor-switch-mode{margin:15px 0}#elementor-editor-button,#elementor-switch-mode-button{outline:none;cursor:pointer}#elementor-editor-button i,#elementor-switch-mode-button i{margin-right:3px;font-size:125%;font-style:normal}body.elementor-editor-active .elementor-switch-mode-off{display:none}body.elementor-editor-active #elementor-switch-mode-button{background-color:#f7f7f7;color:#555;border-color:#ccc;-webkit-box-shadow:0 1px 0 #ccc!important;box-shadow:0 1px 0 #ccc!important;text-shadow:unset}body.elementor-editor-active #elementor-switch-mode-button:hover{background-color:#e9e9e9}body.elementor-editor-active #elementor-switch-mode-button:active{-webkit-box-shadow:inset 0 1px 0 #ccc;box-shadow:inset 0 1px 0 #ccc;-webkit-transform:translateY(1px);-ms-transform:translateY(1px);transform:translateY(1px)}body.elementor-editor-active #postdivrich{display:none!important}body.elementor-editor-active .block-editor-block-list__layout,body.elementor-editor-active .editor-block-list__layout,body.elementor-editor-inactive #elementor-editor,body.elementor-editor-inactive .elementor-switch-mode-on{display:none}body.elementor-editor-active .edit-post-layout__content .edit-post-visual-editor{-ms-flex-preferred-size:auto;flex-basis:auto}body.elementor-editor-active #elementor-editor{margin-bottom:50px}body.elementor-editor-active .edit-post-text-editor__body .editor-post-text-editor{display:none}body .block-editor #elementor-switch-mode{margin:0 15px}body .block-editor #elementor-switch-mode .button{margin:2px;height:33px;font-size:13px;line-height:1}body .block-editor #elementor-switch-mode .button i{padding-right:5px}.elementor-button{font-size:13px;text-decoration:none;padding:15px 40px}#elementor-editor{height:300px;width:100%;-webkit-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease}#elementor-editor .elementor-loader-wrapper{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:300px;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}#elementor-editor .elementor-loader{border-radius:50%;padding:40px;height:150px;width:150px;background-color:hsla(0,0%,100%,.9);-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-box-shadow:2px 2px 20px 4px rgba(0,0,0,.02);box-shadow:2px 2px 20px 4px rgba(0,0,0,.02)}#elementor-editor .elementor-loader-boxes{height:100%;width:100%;position:relative}#elementor-editor .elementor-loader-box{position:absolute;background-color:#d5dadf;-webkit-animation:load 1.8s linear infinite;animation:load 1.8s linear infinite}#elementor-editor .elementor-loader-box:first-of-type{width:20%;height:100%;left:0;top:0}#elementor-editor .elementor-loader-box:not(:first-of-type){right:0;height:20%;width:60%}#elementor-editor .elementor-loader-box:nth-of-type(2){top:0;-webkit-animation-delay:-.45s;animation-delay:-.45s}#elementor-editor .elementor-loader-box:nth-of-type(3){top:40%;-webkit-animation-delay:-.9s;animation-delay:-.9s}#elementor-editor .elementor-loader-box:nth-of-type(4){bottom:0;-webkit-animation-delay:-1.35s;animation-delay:-1.35s}#elementor-editor .elementor-loading-title{color:#a4afb7;text-align:center;text-transform:uppercase;margin-top:30px;letter-spacing:7px;text-indent:7px;font-size:10px;width:100%}#elementor-go-to-edit-page-link{height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:1px solid #ddd;background-color:#f7f7f7;text-decoration:none;position:relative;font-family:Sans-serif}#elementor-go-to-edit-page-link:hover{background-color:#fff}#elementor-go-to-edit-page-link:focus{-webkit-box-shadow:none;box-shadow:none}#elementor-go-to-edit-page-link.elementor-animate #elementor-editor-button,#elementor-go-to-edit-page-link:not(.elementor-animate) .elementor-loader-wrapper{display:none}.elementor-button-spinner:before{font:normal 20px/.5 dashicons;speak:none;display:inline-block;padding:0;top:8px;left:-4px;position:relative;vertical-align:top;content:"\f463"}.elementor-button-spinner.loading:before{-webkit-animation:rotation 1s linear infinite;animation:rotation 1s linear infinite}.elementor-button-spinner.success:before{content:"\f147";color:#46b450}.elementor-blank_state{padding:5em 0;margin:auto;max-width:520px;text-align:center;color:#6d7882;font-family:Roboto,sans-serif}.elementor-blank_state i{font-size:50px;color:#a4afb7}.elementor-blank_state h2{font-size:32px;font-weight:300;color:inherit;margin:40px 0 10px;line-height:1.2}.elementor-blank_state p{font-size:16px;font-weight:400;color:#a4afb7;margin-bottom:40px}.elementor-blank_state .elementor-button{display:inline-block}#available-widgets [class*=elementor-template] .widget-title:before{content:"\e813";font-family:eicons;font-size:17px}.elementor-settings-form-page{padding-top:30px}._elementor_settings_update_time,.elementor-settings-form-page:not(.elementor-active){display:none}#confirm_fa_migration_admin_modal .dialog-confirm-ok{color:#6d7882}body.post-type-attachment table.media .column-title .media-icon img[src$=".svg"]{width:100%}.e-major-update-warning{margin-bottom:5px;max-width:1000px;display:-webkit-box;display:-ms-flexbox;display:flex}.e-major-update-warning__separator{margin:15px -12px}.e-major-update-warning__icon{font-size:17px;margin-right:9px;margin-left:2px}.e-major-update-warning__title{font-weight:600;margin-bottom:10px}.e-major-update-warning+p{display:none}.notice-success .e-major-update-warning__separator{border:1px solid #46b450}.notice-success .e-major-update-warning__icon{color:#79ba49}.notice-warning .e-major-update-warning__separator{border:1px solid #ffb900}.notice-warning .e-major-update-warning__icon{color:#f56e28}.plugins table.e-compatibility-update-table tr{background:transparent}.plugins table.e-compatibility-update-table tr th{font-weight:600}.plugins table.e-compatibility-update-table tr td,.plugins table.e-compatibility-update-table tr th{min-width:250px;font-size:13px;background:transparent;-webkit-box-shadow:none;box-shadow:none;border:none;padding:5px 15px 5px 0}:root{--e-focus-color:rgba(0,115,170,0.4);--e-context-primary-color:#0073aa;--e-context-primary-color-dark:#005177;--e-context-primary-tint-4:rgba(0,115,170,0.4);--e-context-primary-tint-1:rgba(0,115,170,0.04);--e-context-success-color:#39b54a;--e-context-success-color-dark:#2d8e3a;--e-context-success-tint-4:rgba(57,181,74,0.4);--e-context-success-tint-1:rgba(57,181,74,0.04);--e-context-info-color:#71d7f7;--e-context-info-color-dark:#41c9f4;--e-context-info-tint-4:rgba(113,215,247,0.4);--e-context-info-tint-1:rgba(113,215,247,0.04);--e-context-warning-color:#fcb92c;--e-context-warning-color-dark:#f2a503;--e-context-warning-tint-4:rgba(252,185,44,0.4);--e-context-warning-tint-1:rgba(252,185,44,0.04);--e-context-error-color:#d72b3f;--e-context-error-color-dark:#ae2131;--e-context-error-tint-4:rgba(215,43,63,0.4);--e-context-error-tint-1:rgba(215,43,63,0.04);--e-context-cta-color:#93003c;--e-context-cta-color-dark:#600027;--e-context-cta-tint-4:rgba(147,0,60,0.4);--e-context-cta-tint-1:rgba(147,0,60,0.04)}.e-getting-started{max-width:900px;padding:2.5em 0;margin:auto;text-align:center}.e-getting-started__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-shadow:0 0 8px rgba(0,0,0,.1);box-shadow:0 0 8px rgba(0,0,0,.1)}.e-getting-started__header .e-logo-wrapper{font-size:10px;margin-right:10px}.e-getting-started__title{padding:0 15px;font-weight:600;text-transform:uppercase;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.e-getting-started__skip{border-left:1px solid #eee;font-size:16px;color:inherit}.e-getting-started__skip i{padding:15px}.e-getting-started__content{padding:50px}.e-getting-started__content h2{font-size:2em;margin-top:0}.e-getting-started__content--narrow{max-width:500px;margin:auto}.e-getting-started__video{margin:40px 0 60px}.e-getting-started__video iframe{-webkit-box-shadow:10px 10px 20px rgba(0,0,0,.15);box-shadow:10px 10px 20px rgba(0,0,0,.15)}.e-getting-started__actions .button-primary{margin-right:20px}:root{--e-button-padding-y:0.4375rem;--e-button-padding-x:0.75rem;--e-button-font-size:0.8125rem;--e-button-font-weight:500;--e-button-line-height:0.9375rem;--e-button-border-radius:3px;--e-button-context-color:var(--e-context-primary-color);--e-button-context-color-dark:var(--e-context-primary-color-dark);--e-button-context-tint:var(--e-context-primary-tint-1)}.e-button{display:inline-block;font-weight:var(--e-button-font-weight);text-align:center;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:#fff;border:0;text-decoration:none;background:var(--e-button-context-color);padding:var(--e-button-padding-y) var(--e-button-padding-x);font-size:var(--e-button-font-size);line-height:var(--e-button-line-height);border-radius:var(--e-button-border-radius);-webkit-transition:background-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;-o-transition:background-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out}.e-button:active,.e-button:focus,.e-button:hover{color:#fff;text-decoration:none;background:var(--e-button-context-color-dark)}.e-button.focus,.e-button:focus{outline:0;-webkit-box-shadow:0 0 0 2px var(--e-focus-color);box-shadow:0 0 0 2px var(--e-focus-color)}.e-button.disabled,.e-button:disabled{opacity:.5;-webkit-box-shadow:none;box-shadow:none}.e-button:not(:disabled):not(.disabled){cursor:pointer}.e-button:not(:disabled):not(.disabled).active:focus,.e-button:not(:disabled):not(.disabled):active:focus{-webkit-box-shadow:0 0 0 2px var(--e-focus-color);box-shadow:0 0 0 2px var(--e-focus-color)}.e-button--primary{--e-button-context-color:var(--e-context-primary-color);--e-button-context-color-dark:var(--e-context-primary-color-dark);--e-button-context-tint:var(--e-context-primary-tint-1);--e-focus-color:var(--e-context-primary-tint-4)}.e-button--success{--e-button-context-color:var(--e-context-success-color);--e-button-context-color-dark:var(--e-context-success-color-dark);--e-button-context-tint:var(--e-context-success-tint-1);--e-focus-color:var(--e-context-success-tint-4)}.e-button--info{--e-button-context-color:var(--e-context-info-color);--e-button-context-color-dark:var(--e-context-info-color-dark);--e-button-context-tint:var(--e-context-info-tint-1);--e-focus-color:var(--e-context-info-tint-4)}.e-button--warning{--e-button-context-color:var(--e-context-warning-color);--e-button-context-color-dark:var(--e-context-warning-color-dark);--e-button-context-tint:var(--e-context-warning-tint-1);--e-focus-color:var(--e-context-warning-tint-4)}.e-button--error{--e-button-context-color:var(--e-context-error-color);--e-button-context-color-dark:var(--e-context-error-color-dark);--e-button-context-tint:var(--e-context-error-tint-1);--e-focus-color:var(--e-context-error-tint-4)}.e-button--cta{--e-button-context-color:var(--e-context-cta-color);--e-button-context-color-dark:var(--e-context-cta-color-dark);--e-button-context-tint:var(--e-context-cta-tint-1);--e-focus-color:var(--e-context-cta-tint-4)}.e-button.e-button--outline{color:var(--e-button-context-color);background:none;border:1px solid}.e-button.e-button--outline:focus,.e-button.e-button--outline:hover{color:var(--e-button-context-color-dark);background:var(--e-button-context-tint)}.e-button.e-button--outline.disabled,.e-button.e-button--outline:disabled{color:var(--e-button-context-color-dark);background:#818a91}.e-button>i{line-height:inherit;height:var(--e-button-line-height);width:-webkit-min-content;width:-moz-min-content;width:min-content}.e-button>*+*{-webkit-margin-start:.5ch;margin-inline-start:.5ch}.e-button--link{color:var(--e-button-context-color);background-color:transparent}.e-button--link:focus,.e-button--link:hover{color:var(--e-button-context-color-dark);background:var(--e-button-context-tint)}.e-button--link.disabled,.e-button--link:disabled{color:#818a91}a.e-button.disabled,fieldset:disabled a.e-button{pointer-events:none}:root{--e-notice-bg:#fff;--e-notice-border-color:#ccd0d4;--e-notice-context-color:#93003c;--e-notice-context-tint:var(--e-context-cta-tint-1);--e-notice-box-shadow:0 1px 4px rgba(0,0,0,0.15);--e-notice-dismiss-color:#6d7882}.e-notice{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;font-family:Roboto,Arial,Helvetica,Verdana,sans-serif;background:var(--e-notice-bg);border:1px solid var(--e-notice-border-color);border-inline-start-width:4px;-webkit-box-shadow:var(--e-notice-box-shadow);box-shadow:var(--e-notice-box-shadow);margin:5px 20px 5px 2px}.e-notice.notice{padding:0}.e-notice:before{display:block;content:"";position:absolute;left:-4px;top:-1px;bottom:-1px;width:4px;background-color:var(--e-notice-context-color)}.e-notice--primary{--e-notice-context-color:var(--e-context-primary-color);--e-notice-context-color-dark:var(--e-context-primary-color-dark);--e-notice-context-tint:var(--e-context-primary-tint-1)}.e-notice--success{--e-notice-context-color:var(--e-context-success-color);--e-notice-context-color-dark:var(--e-context-success-color-dark);--e-notice-context-tint:var(--e-context-success-tint-1)}.e-notice--info{--e-notice-context-color:var(--e-context-info-color);--e-notice-context-color-dark:var(--e-context-info-color-dark);--e-notice-context-tint:var(--e-context-info-tint-1)}.e-notice--warning{--e-notice-context-color:var(--e-context-warning-color);--e-notice-context-color-dark:var(--e-context-warning-color-dark);--e-notice-context-tint:var(--e-context-warning-tint-1)}.e-notice--error{--e-notice-context-color:var(--e-context-error-color);--e-notice-context-color-dark:var(--e-context-error-color-dark);--e-notice-context-tint:var(--e-context-error-tint-1)}.e-notice--cta{--e-notice-context-color:var(--e-context-cta-color);--e-notice-context-color-dark:var(--e-context-cta-color-dark);--e-notice-context-tint:var(--e-context-cta-tint-1)}.e-notice--extended{--e-notice-is-extended:1}.e-notice--dismissible{padding-right:38px}.e-notice__aside{overflow:hidden;background-color:var(--e-notice-context-tint);width:calc(var(--e-notice-is-extended, 0) * 50px);text-align:center;padding-top:15px;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;-ms-flex-negative:0;flex-shrink:0}.e-notice__icon-wrapper{display:inline-block;font-size:.625rem;max-height:1.5rem;width:1.5rem;line-height:1.5rem;border-radius:100px;background:var(--e-notice-context-color);color:#fff;text-shadow:0 0 3px var(--e-notice-context-color-dark),0 0 1px var(--e-notice-context-color-dark),0 0 1px var(--e-notice-context-color-dark)}.e-notice__content{padding:20px}.e-notice__actions{display:-webkit-box;display:-ms-flexbox;display:flex}.e-notice__actions>*+*{-webkit-margin-start:8px;margin-inline-start:8px}.e-notice__dismiss{width:20px;height:20px;line-height:20px;font-size:.8125rem;text-align:center;background:none;display:block;position:absolute;top:0;right:1px;border:none;margin:0;padding:9px;cursor:pointer;font-style:normal}.e-notice__dismiss:before{font-family:eicons;display:inline-block;content:"\e87f";color:var(--e-notice-dismiss-color);width:20px;border-radius:20px;speak:none;text-align:center;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.e-notice__dismiss:active:before,.e-notice__dismiss:focus:before,.e-notice__dismiss:hover:before{font-weight:700}.e-notice__dismiss:focus:before{color:#fff;background:var(--e-notice-dismiss-color);outline:none}.e-notice__dismiss:focus{outline:none}.e-notice p{line-height:1.2;padding:0;margin:0}.e-notice p+.e-notice__actions{margin-top:1rem}.e-notice h3{font-size:1.0625rem;line-height:1.2;margin:0}.e-notice h3+p{margin-top:8px}.elementor-admin-alert{padding:15px;border-left:5px solid transparent;position:relative;font-size:12px;line-height:1.5;text-align:left}.elementor-admin-alert a{color:inherit}.elementor-admin-alert.elementor-alert-info{color:#31708f;background-color:#d9edf7;border-color:#bcdff1}.elementor-admin-alert.elementor-alert-success{color:#3c763d;background-color:#dff0d8;border-color:#cae6be}.elementor-admin-alert.elementor-alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#f9f0c3}.elementor-admin-alert.elementor-alert-danger{color:#a94442;background-color:#f2dede;border-color:#e8c4c4}#elementor-system-info{padding:15px}#elementor-system-info .elementor-system-info-section{margin-bottom:10px}#elementor-system-info .elementor-system-info-section>.elementor-system-info-report-name{padding-left:10px;border-bottom:1px solid #e1e1e1}#elementor-system-info .elementor-system-info-section .widefat{white-space:pre}#elementor-system-info .elementor-system-info-section .elementor-log-entries{white-space:pre-wrap}#elementor-system-info .elementor-system-info-section:not(.elementor-system-info-log) tbody td:first-child{width:300px}#elementor-system-info .elementor-system-info-report-name{text-transform:uppercase;font-size:14px;margin:0;line-height:2}#elementor-system-info .elementor-system-info-report-row{overflow:hidden;padding:5px 0}#elementor-system-info .elementor-system-info-report-row>*{float:left}#elementor-system-info .elementor-system-info-field-recommendation,#elementor-system-info .elementor-system-info-report-field{padding-left:10px;color:#7f7f7f}#elementor-system-info .elementor-system-info-report-fields{padding-left:20px}#elementor-system-info .elementor-system-info-plugin-name{color:#000}#elementor-system-info .elementor-system-info-plugin-properties{padding:10px}#elementor-system-info #elementor-system-info-raw-code{width:100%;height:200px}#elementor-system-info #elementor-system-info-raw-code-label{padding:5px;display:block}#elementor-system-info .elementor-warning td:first-child{border-left:3px solid #fcb92c}#elementor-system-info a.box-title-tool{font-size:80%;margin-left:15px;color:#818a91}#elementor-system-info a.box-title-tool:hover{text-decoration:underline}#elementor-system-info #elementor-usage-recalc{font-size:12px;color:#fff;background-color:#a4afb7;padding:4px 18px 5px;border-radius:3px}@-webkit-keyframes elementor-rotation{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes elementor-rotation{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}#elementor-deactivate-feedback-dialog-wrapper{display:none}#elementor-deactivate-feedback-modal .dialog-widget-content{width:550px}#elementor-deactivate-feedback-modal .dialog-header{padding:18px 15px;-webkit-box-shadow:0 0 8px rgba(0,0,0,.1);box-shadow:0 0 8px rgba(0,0,0,.1);text-align:left}#elementor-deactivate-feedback-modal .dialog-message{padding:30px 30px 0;text-align:left}#elementor-deactivate-feedback-modal .elementor-deactivate-feedback-dialog-input{float:left;margin:0 15px 0 0;-webkit-box-shadow:none;box-shadow:none}#elementor-deactivate-feedback-modal .elementor-deactivate-feedback-dialog-input:not(:checked)~.elementor-feedback-text{display:none}#elementor-deactivate-feedback-modal .elementor-deactivate-feedback-dialog-label{display:block;font-size:13px;color:#6d7882}#elementor-deactivate-feedback-modal .elementor-feedback-text{margin:10px 0 0 30px;padding:5px;font-size:13px;-webkit-box-shadow:none;box-shadow:none;background-color:#fff;width:92%}#elementor-deactivate-feedback-modal .dialog-buttons-wrapper{border-top:none;text-align:left;padding:20px 30px 30px;overflow:hidden}#elementor-deactivate-feedback-modal .dialog-submit{background-color:#93003c;border-radius:3px;color:#fff;line-height:1;padding:12px 20px;font-size:13px;width:180px;height:38px}#elementor-deactivate-feedback-modal .dialog-submit.elementor-loading:before{display:inline-block;content:"\f463";font:18px dashicons;-webkit-animation:elementor-rotation 2s linear infinite;animation:elementor-rotation 2s linear infinite}#elementor-deactivate-feedback-modal .dialog-skip{font-size:12px;color:#a4afb7;background:none;float:right;width:auto}#elementor-deactivate-feedback-modal[data-feedback-selected=elementor_pro] .elementor-feedback-text{color:#b01b1b;padding:0}#elementor-deactivate-feedback-modal[data-feedback-selected=elementor_pro] .dialog-submit{display:none}#elementor-deactivate-feedback-dialog-header i{color:#93003c;font-size:19px}#elementor-deactivate-feedback-dialog-header-title{font-size:15px;text-transform:uppercase;font-weight:700;padding-left:5px}#elementor-deactivate-feedback-dialog-form-caption{font-weight:700;font-size:15px;color:#495157;line-height:1.4}#elementor-deactivate-feedback-dialog-form-body{padding-top:30px}.elementor-deactivate-feedback-dialog-input-wrapper{line-height:1;overflow:hidden;margin-bottom:15px}#elementor-hidden-area{display:none}#elementor-import-template-trigger{cursor:pointer}#elementor-import-template-area{display:none;margin:50px 0 30px;text-align:center}#elementor-import-template-form{display:inline-block;margin-top:30px;padding:30px 50px;background-color:#fff;border:1px solid #e5e5e5}#elementor-import-template-title{font-size:18px;color:#555d66}.form-table:not(.elementor-maintenance-mode-is-enabled) .elementor-default-hide{display:none}.elementor-maintenance-mode-error{color:red;line-height:1.6;display:none}#tab-fontawesome4_migration.elementor-active~p.submit,#tab-import-export-kit.elementor-active~p.submit,#tab-replace_url.elementor-active~p.submit{display:none}#elementor_replace_url>div,#elementor_rollback>div,#elementor_rollback_pro>div{display:-webkit-box;display:-ms-flexbox;display:flex}#elementor_replace_url>div input,#elementor_replace_url>div select,#elementor_rollback>div input,#elementor_rollback>div select,#elementor_rollback_pro>div input,#elementor_rollback_pro>div select{margin-right:6px}.tab-import-export-kit__wrapper{margin:40px 0;max-width:700px}.tab-import-export-kit__container{background-color:#fff;font-size:16px;max-width:700px;padding:30px}.tab-import-export-kit__container:not(:first-child){margin-top:5px}.tab-import-export-kit__container p{color:#a4afb7;font-size:16px;margin:20px 0 25px}.tab-import-export-kit__info{font-size:14px}.tab-import-export-kit__container a:not(.elementor-button),.tab-import-export-kit__info a{color:#58d0f5;text-decoration:underline}.tab-import-export-kit__box{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.tab-import-export-kit__box h2{color:#6d7882;font-size:28px;font-weight:400;line-height:1;margin:0}.tab-import-export-kit__box .elementor-button.elementor-button-success{font-weight:700;padding:8px 16px;text-transform:none}#dashboard-widgets .e-dashboard-widget h3.e-heading{font-weight:600;margin-bottom:13px}#dashboard-widgets .e-dashboard-widget .e-divider_bottom{border-bottom:1px solid #eee;margin:0 -12px;padding:6px 12px}#dashboard-widgets .e-dashboard-widget .e-divider_top{border-top:1px solid #eee;margin:0 -12px;padding:6px 12px}#dashboard-widgets .e-dashboard-widget .e-news-feed-wrap .e-divider_top,#dashboard-widgets .e-dashboard-widget .e-quick-actions-wrap .e-divider_top{padding-top:18px;margin-top:18px}.e-dashboard-widget .dashicons{color:#606a73}.e-dashboard-widget ul.e-action-list li{margin-top:14px}.e-dashboard-widget ul.e-action-list li a{margin-left:5px}#e-dashboard-overview .dashicons{vertical-align:middle;font-size:17px}#e-dashboard-overview .e-overview__header{display:table;width:100%;-webkit-box-shadow:0 5px 8px rgba(0,0,0,.05);box-shadow:0 5px 8px rgba(0,0,0,.05);margin:0 -12px 8px;padding:0 12px 12px}#e-dashboard-overview .e-overview__create,#e-dashboard-overview .e-overview__logo,#e-dashboard-overview .e-overview__versions{display:table-cell;vertical-align:middle}#e-dashboard-overview .e-overview__logo{width:30px}#e-dashboard-overview .e-overview__versions{padding:0 10px;font-size:.9em;line-height:1.5}#e-dashboard-overview .e-overview__version{display:block}#e-dashboard-overview .e-overview__create{text-align:right}#e-dashboard-overview .e-overview__feed{font-size:14px;font-weight:500}#e-dashboard-overview .e-overview__post{margin-top:10px}#e-dashboard-overview .e-overview__post-link{display:inline-block}#e-dashboard-overview .e-overview__badge{background:#39b54a;color:#fff;font-size:.75em;padding:3px 6px;border-radius:3px;text-transform:uppercase}#e-dashboard-overview .e-overview__post-description{margin:0 0 1.5em}#e-dashboard-overview .e-overview__recently-edited li{color:#72777c}#e-dashboard-overview .e-overview__footer.e-divider_top{padding-top:12px;padding-bottom:0}#e-dashboard-overview .e-overview__footer ul{display:-webkit-box;display:-ms-flexbox;display:flex;list-style:none;margin:0;padding:0}#e-dashboard-overview .e-overview__footer ul li{padding:0 10px;margin:0;border-left:1px solid #ddd}#e-dashboard-overview .e-overview__footer ul li:first-child{padding-left:0;border:none}#e-dashboard-overview .e-overview__go-pro a{color:#93003c;font-weight:500}.post-type-elementor_library #elementor-template-library-tabs-wrapper{padding-top:2em;margin-bottom:2em}.post-type-elementor_library th#taxonomy-elementor_library_category{width:110px}#elementor-new-template-modal .dialog-message{max-height:70vh}#elementor-new-template-dialog-content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:100%;text-align:left;color:#6d7882}@media (max-width:1439px){#elementor-new-template-dialog-content{padding:0 50px}}@media (min-width:1440px){#elementor-new-template-dialog-content{padding:0 120px}}#elementor-new-template__description{width:35%;max-width:300px;padding-right:100px}#elementor-new-template__description__title{font-size:30px;color:#556068}#elementor-new-template__description__title span{font-weight:700}#elementor-new-template__description__content{font-size:16px;padding:30px 0}#elementor-new-template__take_a_tour{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:15px}#elementor-new-template__take_a_tour i{color:#93003c;font-size:30px}#elementor-new-template__take_a_tour a{color:#6d7882;padding-left:10px;text-decoration:none;font-weight:500}#elementor-new-template__form{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:440px;padding:55px;background-color:#fff;border-radius:3px;-webkit-box-shadow:0 2px 30px 0 rgba(0,0,0,.08);box-shadow:0 2px 30px 0 rgba(0,0,0,.08)}#elementor-new-template__form__title{font-size:23px;color:#556068}#elementor-new-template__form__template-type.elementor-form-field__select{max-width:none}#elementor-new-template__form .elementor-form-field__label{display:block;margin:25px 0 7px;font-size:14px;line-height:1}#elementor-new-template__form .elementor-form-field input,#elementor-new-template__form .elementor-form-field select{width:100%;height:50px;padding:10px;font-size:14px;-webkit-box-shadow:none;box-shadow:none;border-radius:3px;background:none;color:#495157;border:1px solid;outline:none}#elementor-new-template__form .elementor-form-field input:not(:focus),#elementor-new-template__form .elementor-form-field select:not(:focus){border-color:#d5dadf}#elementor-new-template__form .elementor-form-field input:focus,#elementor-new-template__form .elementor-form-field select:focus{border-color:#a4afb7}#elementor-new-template__form .elementor-form-field__select{appearance:none;-webkit-appearance:none;-moz-appearance:none;cursor:pointer}#elementor-new-template__form .elementor-form-field__select__wrapper{position:relative}#elementor-new-template__form .elementor-form-field__select__wrapper:after{font-family:eicons;content:"\e8ad";position:absolute;top:50%;right:10px;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}#elementor-new-template__form__submit{width:100%;height:50px;margin-top:25px}@media (max-width:1024px){#elementor-new-template__description{max-width:250px;padding-right:30px}}@media (max-width:767px){#elementor-new-template__description{display:none}}#elementor-role-manager{max-width:500px;margin-top:50px}#elementor-role-manager h3{color:#6d7882;font-weight:400;font-size:22px}#elementor-role-manager .elementor-settings-form-page{padding:0}#elementor-role-manager .elementor-role-row{background:#fff;color:#6d7882;margin-bottom:2px}#elementor-role-manager .elementor-role-row .elementor-role-label{display:-webkit-box;display:-ms-flexbox;display:flex;padding:15px 20px;font-weight:500;cursor:pointer}#elementor-role-manager .elementor-role-row .elementor-role-label span.elementor-role-name{padding-right:20px}#elementor-role-manager .elementor-role-row .elementor-role-label span.elementor-role-toggle{text-align:right;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}#elementor-role-manager .elementor-role-row .elementor-role-label span.elementor-role-excluded-indicator{color:#a4afb7}#elementor-role-manager .elementor-role-row .elementor-role-controls{background-color:#f7f7f7;padding:20px 20px 5px}#elementor-role-manager .elementor-role-row .elementor-role-controls>div{margin-bottom:15px}#elementor-role-manager .elementor-role-row .elementor-role-controls .elementor-role-go-pro{display:-webkit-box;display:-ms-flexbox;display:flex}#elementor-role-manager .elementor-role-row .elementor-role-controls .elementor-role-go-pro .elementor-role-go-pro__desc{font-weight:500;font-style:italic}#elementor-role-manager .elementor-role-row .elementor-role-controls .elementor-role-go-pro .elementor-role-go-pro__link{text-align:right;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}#elementor-beta-tester-modal .elementor-templates-modal__header__items-area{color:#c2cbd2;cursor:pointer}#elementor-beta-tester-modal .elementor-templates-modal__header__items-area:hover .elementor-beta-tester-do-not-show-again,#elementor-beta-tester-modal .elementor-templates-modal__header__items-area:hover .elementor-templates-modal__header__item>i{color:#6d7882}#elementor-beta-tester-modal .elementor-templates-modal__header__items-area .elementor-templates-modal__header__close{border:none}#elementor-beta-tester-modal .elementor-templates-modal__header__items-area .elementor-beta-tester-do-not-show-again{text-transform:uppercase;font-weight:700;font-size:12px;-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s}#elementor-beta-tester-modal .dialog-lightbox-widget-content{max-width:500px;height:auto}#elementor-beta-tester-modal .dialog-lightbox-message{padding:40px;height:300px;background-color:#fff}#elementor-beta-tester-form__caption{font-weight:700;font-size:20px;color:#495157}#elementor-beta-tester-form__description{font-size:15px;color:#6d7882;margin-top:10px}#elementor-beta-tester-form__input-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;margin-top:30px}#elementor-beta-tester-form__input-wrapper .elementor-button{border-radius:0 3px 3px 0}#elementor-beta-tester-form__email{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;border:1px solid #d5dadf;border-right:0;border-radius:3px 0 0 3px;margin:0;padding:10px;height:50px}#elementor-beta-tester-form__terms{margin-top:40px;font-size:11px;color:#a4afb7}.e-experiment__title{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.e-experiment__title__indicator{height:10px;width:10px;border-radius:50%;border:2px solid #fff;-webkit-box-shadow:0 2px 4px rgba(0,0,0,.1);box-shadow:0 2px 4px rgba(0,0,0,.1);-ms-flex-negative:0;flex-shrink:0;margin-top:2px}.e-experiment__title__indicator--active{background:#39b54a}.e-experiment__title__label{margin-left:10px}.e-experiment__table-title{margin:30px 0}.e-experiment__description{max-width:820px}.e-experiment__status{margin-top:5px;font-size:13px;font-weight:700;font-style:italic}.e-experiment__button.button{margin:18px 14px 22px 0}.e-landing-pages-empty .elementor-blank_state{padding:5em 0 2em}.e-landing-pages-empty .e-trashed-items{text-align:center}assets/css/admin.css000064400000124304152377341010010447 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ .elementor-button { font-family: Roboto, Arial, Helvetica, Verdana, sans-serif; font-weight: 500; text-transform: uppercase; outline: none; border: none; border-radius: 3px; -webkit-transition-property: background, color, opacity, -webkit-box-shadow; transition-property: background, color, opacity, -webkit-box-shadow; -o-transition-property: background, color, box-shadow, opacity; transition-property: background, color, box-shadow, opacity; transition-property: background, color, box-shadow, opacity, -webkit-box-shadow; -webkit-transition-duration: 0.3s; -o-transition-duration: 0.3s; transition-duration: 0.3s; } .elementor-button:hover { border: none; } .elementor-button:not([disabled]) { cursor: pointer; } .elementor-button:not(.elementor-button-state) .elementor-state-icon { display: none; } .elementor-button.elementor-button-success { color: #fff; } .elementor-button.elementor-button-success[disabled] { background-color: #c2cbd2; } .elementor-button.elementor-button-success:not([disabled]) { background-color: #39b54a; } .elementor-button.elementor-button-success:not([disabled]):hover { opacity: 0.85; -webkit-box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2); box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2); } .elementor-button.elementor-button-success:not([disabled]):active { -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1); box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1); } .elementor-button.elementor-button-warning { background-color: #a4afb7; color: #fff; } .elementor-button.elementor-button-warning[disabled] { background-color: #c2cbd2; } .elementor-button.elementor-button-warning:not([disabled]):hover { background-color: #b01b1b; opacity: 0.85; -webkit-box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2); box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2); } .elementor-button.elementor-button-warning:not([disabled]):active { -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1); box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1); } .elementor-button.elementor-button-danger { background-color: #d72b3f; color: #fff; } .elementor-button.elementor-button-danger[disabled] { background-color: #c2cbd2; } .elementor-button.elementor-button-danger:not([disabled]):hover { opacity: 0.85; -webkit-box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2); box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2); } .elementor-button.elementor-button-danger:not([disabled]):active { -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1); box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1); } .elementor-button.elementor-edit-template { display: inline-block; margin-top: 15px; color: #fff; } .elementor-button.elementor-button-default { background-color: #a4afb7; color: #fff; font-size: 11px; padding: 7px 21px; } .elementor-button.elementor-button-default:hover { background-color: #6d7882; -webkit-box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2); box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2); } .elementor-button.elementor-button-default:active { -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1); box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1); } .elementor-button.elementor-button-default:visited { color: #fff; } .elementor-button.elementor-button-go-pro { background-color: #93003c; } .elementor-button i { margin-right: 10px; } #adminmenu #toplevel_page_elementor div.wp-menu-image:before { content: "\e813"; font-family: eicons; font-size: 18px; margin-top: 1px; } #adminmenu #toplevel_page_elementor a[href="admin.php?page=go_elementor_pro"] { font-weight: 700; } #adminmenu #toplevel_page_elementor a[href="admin.php?page=go_elementor_pro"]:hover { color: #e0005b; } #adminmenu #toplevel_page_elementor .dashicons.dashicons-star-filled { height: auto; } #adminmenu #menu-posts-elementor_library .wp-menu-image:before { content: "\e8ff"; font-family: eicons; font-size: 18px; } #e-admin-menu__kit-library { color: #5cb85c; } body.admin-color-fresh #adminmenu #toplevel_page_elementor a[href="admin.php?page=go_elementor_pro"] { color: #c60051; } .elementor-plugins-gopro { color: #93003c; text-shadow: 1px 1px 1px #eee; font-weight: bold; } #elementor-switch-mode { margin: 15px 0; } #elementor-switch-mode-button, #elementor-editor-button { outline: none; cursor: pointer; } #elementor-switch-mode-button i, #elementor-editor-button i { margin-right: 3px; font-size: 125%; font-style: normal; } body.elementor-editor-active .elementor-switch-mode-off { display: none; } body.elementor-editor-active #elementor-switch-mode-button { background-color: #f7f7f7; color: #555; border-color: #ccc; -webkit-box-shadow: 0 1px 0 #ccc !important; box-shadow: 0 1px 0 #ccc !important; text-shadow: unset; } body.elementor-editor-active #elementor-switch-mode-button:hover { background-color: #e9e9e9; } body.elementor-editor-active #elementor-switch-mode-button:active { -webkit-box-shadow: inset 0 1px 0 #ccc; box-shadow: inset 0 1px 0 #ccc; -webkit-transform: translateY(1px); -ms-transform: translateY(1px); transform: translateY(1px); } body.elementor-editor-active #postdivrich { display: none !important; } body.elementor-editor-active .editor-block-list__layout, body.elementor-editor-active .block-editor-block-list__layout { display: none; } body.elementor-editor-inactive .elementor-switch-mode-on { display: none; } body.elementor-editor-inactive #elementor-editor { display: none; } body.elementor-editor-active .editor-block-list__layout { display: none; } body.elementor-editor-active .edit-post-layout__content .edit-post-visual-editor { -ms-flex-preferred-size: auto; flex-basis: auto; } body.elementor-editor-active #elementor-editor { margin-bottom: 50px; } body.elementor-editor-active .edit-post-text-editor__body .editor-post-text-editor { display: none; } body .block-editor #elementor-switch-mode { margin: 0 15px; } body .block-editor #elementor-switch-mode .button { margin: 2px; height: 33px; font-size: 13px; line-height: 1; } body .block-editor #elementor-switch-mode .button i { padding-right: 5px; } .elementor-button { font-size: 13px; text-decoration: none; padding: 15px 40px; } #elementor-editor { height: 300px; width: 100%; -webkit-transition: all 0.5s ease; -o-transition: all 0.5s ease; transition: all 0.5s ease; } #elementor-editor .elementor-loader-wrapper { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); width: 300px; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } #elementor-editor .elementor-loader { border-radius: 50%; padding: 40px; height: 150px; width: 150px; background-color: rgba(255, 255, 255, 0.9); -webkit-box-sizing: border-box; box-sizing: border-box; -webkit-box-shadow: 2px 2px 20px 4px rgba(0, 0, 0, 0.02); box-shadow: 2px 2px 20px 4px rgba(0, 0, 0, 0.02); } #elementor-editor .elementor-loader-boxes { height: 100%; width: 100%; position: relative; } #elementor-editor .elementor-loader-box { position: absolute; background-color: #d5dadf; -webkit-animation: load 1.8s linear infinite; animation: load 1.8s linear infinite; } #elementor-editor .elementor-loader-box:nth-of-type(1) { width: 20%; height: 100%; left: 0; top: 0; } #elementor-editor .elementor-loader-box:not(:nth-of-type(1)) { right: 0; height: 20%; width: 60%; } #elementor-editor .elementor-loader-box:nth-of-type(2) { top: 0; -webkit-animation-delay: -0.45s; animation-delay: -0.45s; } #elementor-editor .elementor-loader-box:nth-of-type(3) { top: 40%; -webkit-animation-delay: -0.9s; animation-delay: -0.9s; } #elementor-editor .elementor-loader-box:nth-of-type(4) { bottom: 0; -webkit-animation-delay: -1.35s; animation-delay: -1.35s; } #elementor-editor .elementor-loading-title { color: #a4afb7; text-align: center; text-transform: uppercase; margin-top: 30px; letter-spacing: 7px; text-indent: 7px; font-size: 10px; width: 100%; } #elementor-go-to-edit-page-link { height: 100%; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; border: 1px solid #DDD; background-color: #F7F7F7; text-decoration: none; position: relative; font-family: Sans-serif; } #elementor-go-to-edit-page-link:hover { background-color: #ffffff; } #elementor-go-to-edit-page-link:focus { -webkit-box-shadow: none; box-shadow: none; } #elementor-go-to-edit-page-link.elementor-animate #elementor-editor-button { display: none; } #elementor-go-to-edit-page-link:not(.elementor-animate) .elementor-loader-wrapper { display: none; } .elementor-button-spinner:before { font: normal 20px/0.5 dashicons; speak: none; display: inline-block; padding: 0; top: 8px; left: -4px; position: relative; vertical-align: top; content: "\f463"; } .elementor-button-spinner.loading:before { -webkit-animation: rotation 1s infinite linear; animation: rotation 1s infinite linear; } .elementor-button-spinner.success:before { content: "\f147"; color: #46b450; } .elementor-blank_state { padding: 5em 0; margin: auto; max-width: 520px; text-align: center; color: #6d7882; font-family: Roboto, sans-serif; } .elementor-blank_state i { font-size: 50px; color: #a4afb7; } .elementor-blank_state h2 { font-size: 32px; font-weight: 300; color: inherit; margin: 40px 0 10px; line-height: 1.2; } .elementor-blank_state p { font-size: 16px; font-weight: normal; color: #a4afb7; margin-bottom: 40px; } .elementor-blank_state .elementor-button { display: inline-block; } #available-widgets [class*=elementor-template] .widget-title:before { content: "\e813"; font-family: eicons; font-size: 17px; } .elementor-settings-form-page { padding-top: 30px; } .elementor-settings-form-page:not(.elementor-active) { display: none; } ._elementor_settings_update_time { display: none; } #confirm_fa_migration_admin_modal .dialog-confirm-ok { color: #6d7882; } body.post-type-attachment table.media .column-title .media-icon img[src$=".svg"] { width: 100%; } .e-major-update-warning { margin-bottom: 5px; max-width: 1000px; display: -webkit-box; display: -ms-flexbox; display: flex; } .e-major-update-warning__separator { margin: 15px -12px; } .e-major-update-warning__icon { font-size: 17px; margin-right: 9px; margin-left: 2px; } .e-major-update-warning__title { font-weight: 600; margin-bottom: 10px; } .e-major-update-warning + p { display: none; } .notice-success .e-major-update-warning__separator { border: 1px solid #46b450; } .notice-success .e-major-update-warning__icon { color: #79ba49; } .notice-warning .e-major-update-warning__separator { border: 1px solid #ffb900; } .notice-warning .e-major-update-warning__icon { color: #f56e28; } .plugins table.e-compatibility-update-table tr { background: transparent; } .plugins table.e-compatibility-update-table tr th { font-weight: 600; } .plugins table.e-compatibility-update-table tr th, .plugins table.e-compatibility-update-table tr td { min-width: 250px; font-size: 13px; background: transparent; -webkit-box-shadow: none; box-shadow: none; border: none; padding-top: 5px; padding-bottom: 5px; padding-right: 15px; padding-left: 0; } :root { --e-focus-color: rgba(0, 115, 170, .4); --e-context-primary-color: #0073aa; --e-context-primary-color-dark: #005177; --e-context-primary-tint-4: rgba(0, 115, 170, 0.4); --e-context-primary-tint-1: rgba(0, 115, 170, 0.04); --e-context-success-color: #39b54a; --e-context-success-color-dark: #2d8e3a; --e-context-success-tint-4: rgba(57, 181, 74, 0.4); --e-context-success-tint-1: rgba(57, 181, 74, 0.04); --e-context-info-color: #71d7f7; --e-context-info-color-dark: #41c9f4; --e-context-info-tint-4: rgba(113, 215, 247, 0.4); --e-context-info-tint-1: rgba(113, 215, 247, 0.04); --e-context-warning-color: #fcb92c; --e-context-warning-color-dark: #f2a503; --e-context-warning-tint-4: rgba(252, 185, 44, 0.4); --e-context-warning-tint-1: rgba(252, 185, 44, 0.04); --e-context-error-color: #d72b3f; --e-context-error-color-dark: #ae2131; --e-context-error-tint-4: rgba(215, 43, 63, 0.4); --e-context-error-tint-1: rgba(215, 43, 63, 0.04); --e-context-cta-color: #93003c; --e-context-cta-color-dark: #600027; --e-context-cta-tint-4: rgba(147, 0, 60, 0.4); --e-context-cta-tint-1: rgba(147, 0, 60, 0.04); } .e-getting-started { max-width: 900px; padding: 2.5em 0; margin: auto; text-align: center; } .e-getting-started__header { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.1); box-shadow: 0 0 8px rgba(0, 0, 0, 0.1); } .e-getting-started__header .e-logo-wrapper { font-size: 10px; margin-right: 10px; } .e-getting-started__title { padding: 0 15px; font-weight: 600; text-transform: uppercase; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .e-getting-started__skip { border-left: 1px solid #eee; font-size: 16px; color: inherit; } .e-getting-started__skip i { padding: 15px; } .e-getting-started__content { padding: 50px; } .e-getting-started__content h2 { font-size: 2em; margin-top: 0; } .e-getting-started__content--narrow { max-width: 500px; margin: auto; } .e-getting-started__video { margin: 40px 0 60px; } .e-getting-started__video iframe { -webkit-box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.15); box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.15); } .e-getting-started__actions .button-primary { margin-right: 20px; } :root { --e-button-padding-y: 0.4375rem; --e-button-padding-x: 0.75rem; --e-button-font-size: 0.8125rem; --e-button-font-weight: 500; --e-button-line-height: 0.9375rem; --e-button-border-radius: 3px; --e-button-context-color: var(--e-context-primary-color); --e-button-context-color-dark: var(--e-context-primary-color-dark); --e-button-context-tint: var(--e-context-primary-tint-1); } .e-button { display: inline-block; font-weight: var(--e-button-font-weight); text-align: center; white-space: nowrap; vertical-align: middle; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; color: #ffffff; border: 0; text-decoration: none; background: var(--e-button-context-color); padding: var(--e-button-padding-y) var(--e-button-padding-x); font-size: var(--e-button-font-size); line-height: var(--e-button-line-height); border-radius: var(--e-button-border-radius); -webkit-transition: background-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; transition: background-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; -o-transition: background-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; transition: background-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; transition: background-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; } .e-button:active, .e-button:hover, .e-button:focus { color: #ffffff; text-decoration: none; background: var(--e-button-context-color-dark); } .e-button:focus, .e-button.focus { outline: 0; -webkit-box-shadow: 0 0 0 2px var(--e-focus-color); box-shadow: 0 0 0 2px var(--e-focus-color); } .e-button.disabled, .e-button:disabled { opacity: 0.5; -webkit-box-shadow: none; box-shadow: none; } .e-button:not(:disabled):not(.disabled) { cursor: pointer; } .e-button:not(:disabled):not(.disabled):active:focus, .e-button:not(:disabled):not(.disabled).active:focus { -webkit-box-shadow: 0 0 0 2px var(--e-focus-color); box-shadow: 0 0 0 2px var(--e-focus-color); } .e-button--primary { --e-button-context-color: var(--e-context-primary-color); --e-button-context-color-dark: var(--e-context-primary-color-dark); --e-button-context-tint: var(--e-context-primary-tint-1); --e-focus-color: var(--e-context-primary-tint-4); } .e-button--success { --e-button-context-color: var(--e-context-success-color); --e-button-context-color-dark: var(--e-context-success-color-dark); --e-button-context-tint: var(--e-context-success-tint-1); --e-focus-color: var(--e-context-success-tint-4); } .e-button--info { --e-button-context-color: var(--e-context-info-color); --e-button-context-color-dark: var(--e-context-info-color-dark); --e-button-context-tint: var(--e-context-info-tint-1); --e-focus-color: var(--e-context-info-tint-4); } .e-button--warning { --e-button-context-color: var(--e-context-warning-color); --e-button-context-color-dark: var(--e-context-warning-color-dark); --e-button-context-tint: var(--e-context-warning-tint-1); --e-focus-color: var(--e-context-warning-tint-4); } .e-button--error { --e-button-context-color: var(--e-context-error-color); --e-button-context-color-dark: var(--e-context-error-color-dark); --e-button-context-tint: var(--e-context-error-tint-1); --e-focus-color: var(--e-context-error-tint-4); } .e-button--cta { --e-button-context-color: var(--e-context-cta-color); --e-button-context-color-dark: var(--e-context-cta-color-dark); --e-button-context-tint: var(--e-context-cta-tint-1); --e-focus-color: var(--e-context-cta-tint-4); } .e-button.e-button--outline { color: var(--e-button-context-color); background: none; border: 1px solid currentColor; } .e-button.e-button--outline:hover, .e-button.e-button--outline:focus { color: var(--e-button-context-color-dark); background: var(--e-button-context-tint); } .e-button.e-button--outline.disabled, .e-button.e-button--outline:disabled { color: var(--e-button-context-color-dark); background: #818a91; } .e-button > i { line-height: inherit; height: var(--e-button-line-height); width: -webkit-min-content; width: -moz-min-content; width: min-content; } .e-button > * + * { -webkit-margin-start: 0.5ch; margin-inline-start: 0.5ch; } .e-button--link { color: var(--e-button-context-color); background-color: transparent; } .e-button--link:hover, .e-button--link:focus { color: var(--e-button-context-color-dark); background: var(--e-button-context-tint); } .e-button--link:disabled, .e-button--link.disabled { color: #818a91; } a.e-button.disabled, fieldset:disabled a.e-button { pointer-events: none; } :root { --e-notice-bg: #fff; --e-notice-border-color: #ccd0d4; --e-notice-context-color: #93003c; --e-notice-context-tint: var(--e-context-cta-tint-1); --e-notice-box-shadow: 0 1px 4px rgba(0,0,0,.15); --e-notice-dismiss-color: #6d7882; } .e-notice { position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; font-family: Roboto, Arial, Helvetica, Verdana, sans-serif; background: var(--e-notice-bg); border: 1px solid var(--e-notice-border-color); border-inline-start-width: 4px; -webkit-box-shadow: var(--e-notice-box-shadow); box-shadow: var(--e-notice-box-shadow); margin: 5px 20px 5px 2px; } .e-notice.notice { padding: 0; } .e-notice::before { display: block; content: ""; position: absolute; left: -4px; top: -1px; bottom: -1px; width: 4px; background-color: var(--e-notice-context-color); } .e-notice--primary { --e-notice-context-color: var(--e-context-primary-color); --e-notice-context-color-dark: var(--e-context-primary-color-dark); --e-notice-context-tint: var(--e-context-primary-tint-1); } .e-notice--success { --e-notice-context-color: var(--e-context-success-color); --e-notice-context-color-dark: var(--e-context-success-color-dark); --e-notice-context-tint: var(--e-context-success-tint-1); } .e-notice--info { --e-notice-context-color: var(--e-context-info-color); --e-notice-context-color-dark: var(--e-context-info-color-dark); --e-notice-context-tint: var(--e-context-info-tint-1); } .e-notice--warning { --e-notice-context-color: var(--e-context-warning-color); --e-notice-context-color-dark: var(--e-context-warning-color-dark); --e-notice-context-tint: var(--e-context-warning-tint-1); } .e-notice--error { --e-notice-context-color: var(--e-context-error-color); --e-notice-context-color-dark: var(--e-context-error-color-dark); --e-notice-context-tint: var(--e-context-error-tint-1); } .e-notice--cta { --e-notice-context-color: var(--e-context-cta-color); --e-notice-context-color-dark: var(--e-context-cta-color-dark); --e-notice-context-tint: var(--e-context-cta-tint-1); } .e-notice--extended { --e-notice-is-extended: 1; } .e-notice--dismissible { padding-right: 38px; } .e-notice__aside { overflow: hidden; background-color: var(--e-notice-context-tint); width: calc(var(--e-notice-is-extended, 0) * 50px); text-align: center; padding-top: 15px; -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; -ms-flex-negative: 0; flex-shrink: 0; } .e-notice__icon-wrapper { display: inline-block; font-size: 0.625rem; max-height: 1.5rem; width: 1.5rem; line-height: 1.5rem; border-radius: 100px; background: var(--e-notice-context-color); color: #fff; text-shadow: 0 0 3px var(--e-notice-context-color-dark), 0 0 1px var(--e-notice-context-color-dark), 0 0 1px var(--e-notice-context-color-dark); } .e-notice__content { padding: 20px; } .e-notice__actions { display: -webkit-box; display: -ms-flexbox; display: flex; } .e-notice__actions > * + * { -webkit-margin-start: 8px; margin-inline-start: 8px; } .e-notice__dismiss { width: 20px; height: 20px; line-height: 20px; font-size: 0.8125rem; text-align: center; background: none; display: block; position: absolute; top: 0; right: 1px; border: none; margin: 0; padding: 9px; cursor: pointer; font-style: normal; } .e-notice__dismiss:before { font-family: eicons; display: inline-block; content: "\e87f"; color: var(--e-notice-dismiss-color); width: 20px; border-radius: 20px; speak: none; text-align: center; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .e-notice__dismiss:hover:before, .e-notice__dismiss:active:before, .e-notice__dismiss:focus:before { font-weight: bold; } .e-notice__dismiss:focus:before { color: #fff; background: var(--e-notice-dismiss-color); outline: none; } .e-notice__dismiss:focus { outline: none; } .e-notice p { line-height: 1.2; padding: 0; margin: 0; } .e-notice p + .e-notice__actions { margin-top: 1rem; } .e-notice h3 { font-size: 1.0625rem; line-height: 1.2; margin: 0; } .e-notice h3 + p { margin-top: 8px; } /*= Elementor Admin Alert ---------------------------------------*/ .elementor-admin-alert { padding: 15px; border-left: 5px solid transparent; position: relative; font-size: 12px; line-height: 1.5; text-align: left; } .elementor-admin-alert a { color: inherit; } .elementor-admin-alert.elementor-alert-info { color: #31708f; background-color: #d9edf7; border-color: #bcdff1; } .elementor-admin-alert.elementor-alert-success { color: #3c763d; background-color: #dff0d8; border-color: #cae6be; } .elementor-admin-alert.elementor-alert-warning { color: #8a6d3b; background-color: #fcf8e3; border-color: #f9f0c3; } .elementor-admin-alert.elementor-alert-danger { color: #a94442; background-color: #f2dede; border-color: #e8c4c4; } /*= Elementor System Info ---------------------------------------*/ #elementor-system-info { padding: 15px; } #elementor-system-info .elementor-system-info-section { margin-bottom: 10px; } #elementor-system-info .elementor-system-info-section > .elementor-system-info-report-name { padding-left: 10px; border-bottom: 1px solid #e1e1e1; } #elementor-system-info .elementor-system-info-section .widefat { white-space: pre; } #elementor-system-info .elementor-system-info-section .elementor-log-entries { white-space: pre-wrap; } #elementor-system-info .elementor-system-info-section:not(.elementor-system-info-log) tbody td:first-child { width: 300px; } #elementor-system-info .elementor-system-info-report-name { text-transform: uppercase; font-size: 14px; margin: 0; line-height: 2; } #elementor-system-info .elementor-system-info-report-row { overflow: hidden; padding: 5px 0; } #elementor-system-info .elementor-system-info-report-row > * { float: left; } #elementor-system-info .elementor-system-info-report-field, #elementor-system-info .elementor-system-info-field-recommendation { padding-left: 10px; color: #7F7F7F; } #elementor-system-info .elementor-system-info-report-fields { padding-left: 20px; } #elementor-system-info .elementor-system-info-plugin-name { color: #000; } #elementor-system-info .elementor-system-info-plugin-properties { padding: 10px; } #elementor-system-info #elementor-system-info-raw-code { width: 100%; height: 200px; } #elementor-system-info #elementor-system-info-raw-code-label { padding: 5px; display: block; } #elementor-system-info .elementor-warning td:first-child { border-left: 3px solid #fcb92c; } #elementor-system-info a.box-title-tool { font-size: 80%; margin-left: 15px; color: #818a91; } #elementor-system-info a.box-title-tool:hover { text-decoration: underline; } #elementor-system-info #elementor-usage-recalc { font-size: 12px; color: #ffffff; background-color: #a4afb7; padding: 4px 18px 5px 18px; border-radius: 3px; } @-webkit-keyframes elementor-rotation { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(359deg); transform: rotate(359deg); } } @keyframes elementor-rotation { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(359deg); transform: rotate(359deg); } } #elementor-deactivate-feedback-dialog-wrapper { display: none; } #elementor-deactivate-feedback-modal .dialog-widget-content { width: 550px; } #elementor-deactivate-feedback-modal .dialog-header { padding: 18px 15px; -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.1); box-shadow: 0 0 8px rgba(0, 0, 0, 0.1); text-align: left; } #elementor-deactivate-feedback-modal .dialog-message { padding: 30px 30px 0; text-align: left; } #elementor-deactivate-feedback-modal .elementor-deactivate-feedback-dialog-input { float: left; margin: 0 15px 0 0; -webkit-box-shadow: none; box-shadow: none; } #elementor-deactivate-feedback-modal .elementor-deactivate-feedback-dialog-input:not(:checked) ~ .elementor-feedback-text { display: none; } #elementor-deactivate-feedback-modal .elementor-deactivate-feedback-dialog-label { display: block; font-size: 13px; color: #6d7882; } #elementor-deactivate-feedback-modal .elementor-feedback-text { margin: 10px 0 0 30px; padding: 5px; font-size: 13px; -webkit-box-shadow: none; box-shadow: none; background-color: #fff; width: 92%; } #elementor-deactivate-feedback-modal .dialog-buttons-wrapper { border-top: none; text-align: left; padding: 20px 30px 30px; overflow: hidden; } #elementor-deactivate-feedback-modal .dialog-submit { background-color: #93003c; border-radius: 3px; color: #fff; line-height: 1; padding: 12px 20px; font-size: 13px; width: 180px; height: 38px; } #elementor-deactivate-feedback-modal .dialog-submit.elementor-loading:before { display: inline-block; content: "\f463"; font: 18px dashicons; -webkit-animation: elementor-rotation 2s infinite linear; animation: elementor-rotation 2s infinite linear; } #elementor-deactivate-feedback-modal .dialog-skip { font-size: 12px; color: #a4afb7; background: none; float: right; width: auto; } #elementor-deactivate-feedback-modal[data-feedback-selected=elementor_pro] .elementor-feedback-text { color: #b01b1b; padding: 0; } #elementor-deactivate-feedback-modal[data-feedback-selected=elementor_pro] .dialog-submit { display: none; } #elementor-deactivate-feedback-dialog-header i { color: #93003c; font-size: 19px; } #elementor-deactivate-feedback-dialog-header-title { font-size: 15px; text-transform: uppercase; font-weight: bold; padding-left: 5px; } #elementor-deactivate-feedback-dialog-form-caption { font-weight: bold; font-size: 15px; color: #495157; line-height: 1.4; } #elementor-deactivate-feedback-dialog-form-body { padding-top: 30px; } .elementor-deactivate-feedback-dialog-input-wrapper { line-height: 1; overflow: hidden; margin-bottom: 15px; } #elementor-hidden-area { display: none; } #elementor-import-template-trigger { cursor: pointer; } #elementor-import-template-area { display: none; margin: 50px 0 30px; text-align: center; } #elementor-import-template-form { display: inline-block; margin-top: 30px; padding: 30px 50px; background-color: #FFFFFF; border: 1px solid #e5e5e5; } #elementor-import-template-title { font-size: 18px; color: #555d66; } .form-table:not(.elementor-maintenance-mode-is-enabled) .elementor-default-hide { display: none; } .elementor-maintenance-mode-error { color: red; line-height: 1.6; display: none; } #tab-replace_url.elementor-active ~ p.submit, #tab-fontawesome4_migration.elementor-active ~ p.submit, #tab-import-export-kit.elementor-active ~ p.submit { display: none; } #elementor_rollback > div, #elementor_rollback_pro > div, #elementor_replace_url > div { display: -webkit-box; display: -ms-flexbox; display: flex; } #elementor_rollback > div input, #elementor_rollback > div select, #elementor_rollback_pro > div input, #elementor_rollback_pro > div select, #elementor_replace_url > div input, #elementor_replace_url > div select { margin-right: 6px; } .tab-import-export-kit__wrapper { margin: 40px 0; max-width: 700px; } .tab-import-export-kit__container { background-color: white; font-size: 16px; max-width: 700px; padding: 30px; } .tab-import-export-kit__container:not(:first-child) { margin-top: 5px; } .tab-import-export-kit__container p { color: #A4AFB7; font-size: 16px; margin: 20px 0 25px; } .tab-import-export-kit__info { font-size: 14px; } .tab-import-export-kit__container a:not(.elementor-button), .tab-import-export-kit__info a { color: #58d0f5; text-decoration: underline; } .tab-import-export-kit__box { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; } .tab-import-export-kit__box h2 { color: #6D7882; font-size: 28px; font-weight: normal; line-height: 1; margin: 0; } .tab-import-export-kit__box .elementor-button.elementor-button-success { font-weight: bold; padding: 8px 16px; text-transform: initial; } #dashboard-widgets .e-dashboard-widget h3.e-heading { font-weight: 600; margin-bottom: 13px; } #dashboard-widgets .e-dashboard-widget .e-divider_bottom { border-bottom: 1px solid #eee; margin: 0 -12px; padding: 6px 12px; } #dashboard-widgets .e-dashboard-widget .e-divider_top { border-top: 1px solid #eee; margin: 0 -12px; padding: 6px 12px; } #dashboard-widgets .e-dashboard-widget .e-quick-actions-wrap .e-divider_top, #dashboard-widgets .e-dashboard-widget .e-news-feed-wrap .e-divider_top { padding-top: 18px; margin-top: 18px; } .e-dashboard-widget .dashicons { color: #606a73; } .e-dashboard-widget ul.e-action-list li { margin-top: 14px; } .e-dashboard-widget ul.e-action-list li a { margin-left: 5px; } #e-dashboard-overview .dashicons { vertical-align: middle; font-size: 17px; } #e-dashboard-overview .e-overview__header { display: table; width: 100%; -webkit-box-shadow: 0 5px 8px rgba(0, 0, 0, 0.05); box-shadow: 0 5px 8px rgba(0, 0, 0, 0.05); margin: 0 -12px 8px; padding: 0 12px 12px; } #e-dashboard-overview .e-overview__logo, #e-dashboard-overview .e-overview__versions, #e-dashboard-overview .e-overview__create { display: table-cell; vertical-align: middle; } #e-dashboard-overview .e-overview__logo { width: 30px; } #e-dashboard-overview .e-overview__versions { padding: 0 10px; font-size: 0.9em; line-height: 1.5; } #e-dashboard-overview .e-overview__version { display: block; } #e-dashboard-overview .e-overview__create { text-align: right; } #e-dashboard-overview .e-overview__feed { font-size: 14px; font-weight: 500; } #e-dashboard-overview .e-overview__post { margin-top: 10px; } #e-dashboard-overview .e-overview__post-link { display: inline-block; } #e-dashboard-overview .e-overview__badge { background: #39b54a; color: white; font-size: 0.75em; padding: 3px 6px; border-radius: 3px; text-transform: uppercase; } #e-dashboard-overview .e-overview__post-description { margin: 0 0 1.5em; } #e-dashboard-overview .e-overview__recently-edited li { color: #72777c; } #e-dashboard-overview .e-overview__footer.e-divider_top { padding-top: 12px; padding-bottom: 0; } #e-dashboard-overview .e-overview__footer ul { display: -webkit-box; display: -ms-flexbox; display: flex; list-style: none; margin: 0; padding: 0; } #e-dashboard-overview .e-overview__footer ul li { padding: 0 10px; margin: 0; border-left: 1px solid #ddd; } #e-dashboard-overview .e-overview__footer ul li:first-child { padding-left: 0; border: none; } #e-dashboard-overview .e-overview__go-pro a { color: #93003c; font-weight: 500; } .post-type-elementor_library #elementor-template-library-tabs-wrapper { padding-top: 2em; margin-bottom: 2em; } .post-type-elementor_library th#taxonomy-elementor_library_category { width: 110px; } #elementor-new-template-modal .dialog-message { max-height: 70vh; } #elementor-new-template-dialog-content { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; height: 100%; text-align: left; color: #6d7882; } @media (max-width: 1439px) { #elementor-new-template-dialog-content { padding: 0 50px; } } @media (min-width: 1440px) { #elementor-new-template-dialog-content { padding: 0 120px; } } #elementor-new-template__description { width: 35%; max-width: 300px; padding-right: 100px; } #elementor-new-template__description__title { font-size: 30px; color: #556068; } #elementor-new-template__description__title span { font-weight: bold; } #elementor-new-template__description__content { font-size: 16px; padding: 30px 0; } #elementor-new-template__take_a_tour { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; font-size: 15px; } #elementor-new-template__take_a_tour i { color: #93003c; font-size: 30px; } #elementor-new-template__take_a_tour a { color: #6d7882; padding-left: 10px; text-decoration: none; font-weight: 500; } #elementor-new-template__form { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; max-width: 440px; padding: 55px; background-color: #fff; border-radius: 3px; -webkit-box-shadow: 0 2px 30px 0 rgba(0, 0, 0, 0.08); box-shadow: 0 2px 30px 0 rgba(0, 0, 0, 0.08); } #elementor-new-template__form__title { font-size: 23px; color: #556068; } #elementor-new-template__form__template-type.elementor-form-field__select { max-width: initial; } #elementor-new-template__form .elementor-form-field__label { display: block; margin: 25px 0 7px; font-size: 14px; line-height: 1; } #elementor-new-template__form .elementor-form-field input, #elementor-new-template__form .elementor-form-field select { width: 100%; height: 50px; padding: 10px; font-size: 14px; -webkit-box-shadow: none; box-shadow: none; border-radius: 3px; background: none; color: #495157; border: 1px solid; outline: none; } #elementor-new-template__form .elementor-form-field input:not(:focus), #elementor-new-template__form .elementor-form-field select:not(:focus) { border-color: #d5dadf; } #elementor-new-template__form .elementor-form-field input:focus, #elementor-new-template__form .elementor-form-field select:focus { border-color: #a4afb7; } #elementor-new-template__form .elementor-form-field__select { appearance: none; -webkit-appearance: none; -moz-appearance: none; cursor: pointer; } #elementor-new-template__form .elementor-form-field__select__wrapper { position: relative; } #elementor-new-template__form .elementor-form-field__select__wrapper:after { font-family: eicons; content: "\e8ad"; position: absolute; top: 50%; right: 10px; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); } #elementor-new-template__form__submit { width: 100%; height: 50px; margin-top: 25px; } @media (max-width: 1024px) { #elementor-new-template__description { max-width: 250px; padding-right: 30px; } } @media (max-width: 767px) { #elementor-new-template__description { display: none; } } #elementor-role-manager { max-width: 500px; margin-top: 50px; } #elementor-role-manager h3 { color: #6d7882; font-weight: normal; font-size: 22px; } #elementor-role-manager .elementor-settings-form-page { padding: 0; } #elementor-role-manager .elementor-role-row { background: #ffffff; color: #6d7882; margin-bottom: 2px; } #elementor-role-manager .elementor-role-row .elementor-role-label { display: -webkit-box; display: -ms-flexbox; display: flex; padding: 15px 20px; font-weight: 500; cursor: pointer; } #elementor-role-manager .elementor-role-row .elementor-role-label span.elementor-role-name { padding-right: 20px; } #elementor-role-manager .elementor-role-row .elementor-role-label span.elementor-role-toggle { text-align: right; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; } #elementor-role-manager .elementor-role-row .elementor-role-label span.elementor-role-excluded-indicator { color: #a4afb7; } #elementor-role-manager .elementor-role-row .elementor-role-controls { background-color: #f7f7f7; padding: 20px 20px 5px; } #elementor-role-manager .elementor-role-row .elementor-role-controls > div { margin-bottom: 15px; } #elementor-role-manager .elementor-role-row .elementor-role-controls .elementor-role-go-pro { display: -webkit-box; display: -ms-flexbox; display: flex; } #elementor-role-manager .elementor-role-row .elementor-role-controls .elementor-role-go-pro .elementor-role-go-pro__desc { font-weight: 500; font-style: italic; } #elementor-role-manager .elementor-role-row .elementor-role-controls .elementor-role-go-pro .elementor-role-go-pro__link { text-align: right; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; } #elementor-beta-tester-modal .elementor-templates-modal__header__items-area { color: #c2cbd2; cursor: pointer; } #elementor-beta-tester-modal .elementor-templates-modal__header__items-area:hover .elementor-beta-tester-do-not-show-again, #elementor-beta-tester-modal .elementor-templates-modal__header__items-area:hover .elementor-templates-modal__header__item > i { color: #6d7882; } #elementor-beta-tester-modal .elementor-templates-modal__header__items-area .elementor-templates-modal__header__close { border: none; } #elementor-beta-tester-modal .elementor-templates-modal__header__items-area .elementor-beta-tester-do-not-show-again { text-transform: uppercase; font-weight: bold; font-size: 12px; -webkit-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; } #elementor-beta-tester-modal .dialog-lightbox-widget-content { max-width: 500px; height: initial; } #elementor-beta-tester-modal .dialog-lightbox-message { padding: 40px; height: 300px; background-color: #fff; } #elementor-beta-tester-form__caption { font-weight: bold; font-size: 20px; color: #495157; } #elementor-beta-tester-form__description { font-size: 15px; color: #6d7882; margin-top: 10px; } #elementor-beta-tester-form__input-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; margin-top: 30px; } #elementor-beta-tester-form__input-wrapper .elementor-button { border-radius: 0 3px 3px 0; } #elementor-beta-tester-form__email { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; border: #d5dadf 1px solid; border-right: 0; border-radius: 3px 0 0 3px; margin: 0; padding: 10px; height: 50px; } #elementor-beta-tester-form__terms { margin-top: 40px; font-size: 11px; color: #a4afb7; } .e-experiment__title { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; } .e-experiment__title__indicator { height: 10px; width: 10px; border-radius: 50%; border: 2px solid white; -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); -ms-flex-negative: 0; flex-shrink: 0; margin-top: 2px; } .e-experiment__title__indicator--active { background: #39b54a; } .e-experiment__title__label { margin-left: 10px; } .e-experiment__table-title { margin: 30px 0; } .e-experiment__description { max-width: 820px; } .e-experiment__status { margin-top: 5px; font-size: 13px; font-weight: bold; font-style: italic; } .e-experiment__button.button { margin: 18px 14px 22px 0; } .e-landing-pages-empty .elementor-blank_state { padding: 5em 0 2em 0; } .e-landing-pages-empty .e-trashed-items { text-align: center; } /*# sourceMappingURL=admin.css.map */assets/css/editor-preview.css000064400000341654152377341010012335 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ .elementor-control-unit-1 { width: 27px; } .elementor-control-unit-2 { width: 54px; } .elementor-control-unit-3 { width: 81px; } .elementor-control-unit-4 { width: 108px; } .elementor-control-unit-5 { max-width: 400px; width: 52%; } .elementor-tags-list { display: none; position: absolute; width: 260px; max-height: 300px; overflow: auto; padding-bottom: 5px; background-color: #fff; border: 1px solid #a4afb7; border-radius: 3px; z-index: 10000; } .elementor-tags-list__group-title { color: #495157; font-weight: bold; font-size: 12px; padding: 10px 15px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .elementor-tags-list__group-title .eicon-info-circle { padding-right: 5px; color: #71d7f7; font-size: 14px; } .elementor-tags-list__item { font-size: 10px; padding: 6px 15px; cursor: pointer; } .elementor-tags-list__item:before { content: ">"; font-size: 8px; padding-right: 5px; } .elementor-tags-list__item:hover { background-color: #e6e9ec; } .elementor-tags-list__teaser { border-top: 2px solid #d5dadf; padding-top: 4px; margin-top: 4px; } .elementor-tags-list__teaser-title { color: #6d7882; } .elementor-tags-list__teaser-text { padding: 2px 15px 8px; line-height: 1.5; font-size: 12px; } .elementor-tags-list__teaser-link { color: #93003c; text-decoration: underline; font-style: italic; font-weight: bold; } .elementor-dynamic-cover { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; width: 100%; height: 27px; -webkit-box-sizing: border-box; box-sizing: border-box; } .elementor-dynamic-cover__title { padding: 0 8px; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; white-space: nowrap; -o-text-overflow: ellipsis; text-overflow: ellipsis; overflow: hidden; } .elementor-dynamic-cover__settings, .elementor-dynamic-cover__remove { color: #c2cbd2; cursor: pointer; -webkit-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; } .elementor-dynamic-cover__settings:hover, .elementor-dynamic-cover__remove:hover { color: #a4afb7; } .elementor-control-type-wysiwyg .elementor-dynamic-cover { margin-top: 10px; } .elementor-tag-settings-popup { position: absolute; width: 260px; background-color: #e6e9ec; -webkit-box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.3); box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.3); z-index: 1; } .elementor-tag-settings-popup:before { content: ""; position: absolute; top: -20px; left: 5px; border: 10px solid transparent; border-bottom-color: #fff; } .elementor-tag-settings-popup .elementor-control-type-section:first-child { margin: 0; } .elementor-tag-controls-stack-empty { background-color: #fff; padding: 10px; font-size: 13px; text-align: center; } .elementor-control-dynamic-switcher { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -ms-flex-negative: 0; flex-shrink: 0; height: 27px; cursor: pointer; border: 1px solid #d5dadf; border-radius: 3px; background: #fff; } .elementor-control-dynamic-switcher.e-control-tool { height: 20px; border: 0; } .elementor-control-dynamic-switcher-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; } .elementor-control-dynamic-switcher .eicon-database { font-size: 12px; } .elementor-control-dynamic-value .elementor-control-tag-area, .elementor-control-dynamic-value .elementor-control-dynamic-switcher, .elementor-control-dynamic-value .e-global__popover-toggle { display: none; } .elementor-panel-box { margin-top: 10px; background-color: #fff; } .elementor-panel-box-content { padding: 20px 20px 10px; } .elementor-button { display: inline-block; } .elementor-panel-alert { background-color: #fcfcfc; padding: 15px; border-left: 3px solid transparent; position: relative; font-size: 12px; font-weight: 300; font-style: italic; line-height: 1.5; text-align: left; border-radius: 0 3px 3px 0; -webkit-box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.07); box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.07); } .elementor-panel-alert a { color: inherit; } .elementor-panel-alert.elementor-panel-alert-info { border-color: #71d7f7; background-color: #f3fcff; } .elementor-panel-alert.elementor-panel-alert-success { border-color: #39b54a; } .elementor-panel-alert.elementor-panel-alert-warning { border-color: #fcb92c; } .elementor-panel-alert.elementor-panel-alert-danger { border-color: #d72b3f; } .elementor-label { display: inline; padding: 0.2em 0.6em 0.3em; font-size: 75%; font-weight: 700; line-height: 1; color: #fff; text-align: center; white-space: nowrap; vertical-align: baseline; border-radius: 0.25em; text-transform: capitalize; } .elementor-label.elementor-label-default { background-color: #a4afb7; } .elementor-label.elementor-label-info { background-color: #5bc0de; } .elementor-label.elementor-label-success { background-color: #5cb85c; } .elementor-label.elementor-label-warning { background-color: #f0ad4e; } .elementor-label.elementor-label-danger { background-color: #d9534f; } .elementor-descriptor, .elementor-control-field-description { font-size: 11px; font-style: italic; line-height: 1.4; color: #a4afb7; } .elementor-controls-popover { display: none; position: absolute; -webkit-box-shadow: 0 2px 15px rgba(0, 0, 0, 0.3); box-shadow: 0 2px 15px rgba(0, 0, 0, 0.3); border-radius: 3px; left: 0; right: 0; margin: -4px auto 5px; padding-top: 15px; width: 90%; z-index: 10000; background-color: #fff; } .elementor-controls-popover:before { content: ""; position: absolute; top: -16px; right: 22px; border: 8px solid transparent; border-bottom-color: #fff; } .elementor-controls-popover div.elementor-control { background-color: transparent; } .elementor-controls-popover div.elementor-control:before { content: none; } #elementor-controls .pojo-widget-button-collapse { display: none; } #elementor-panel-global .elementor-nerd-box .elementor-nerd-box-icon { margin-top: 20px; } .elementor-control { --control-title-size: 12px; background-color: #fff; position: relative; padding: 0 20px 15px; } .elementor-control a { font-weight: 500; text-decoration: none; border-bottom: 1px dotted transparent; -webkit-transition: all ease-in-out 0.3s; -o-transition: all ease-in-out 0.3s; transition: all ease-in-out 0.3s; } .elementor-control a:hover { border-bottom-color: inherit; } .elementor-control a.elementor-responsive-switcher { border-bottom: 0; } .elementor-control .elementor-control-content { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; } .elementor-control .elementor-control-title { font-size: var(--control-title-size); line-height: 1; margin-right: 5px; } .elementor-control .elementor-control-spinner { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .elementor-control.elementor-control-type-divider { padding: 0; background-color: transparent; } .elementor-control.elementor-control-type-divider .elementor-control-content { border-width: 0; border-color: #e6e9ec; border-style: solid; border-top-width: 1px; background-color: #ffffff; height: 15px; } .elementor-control.elementor-control-separator-default:not(.elementor-control-type-divider).elementor-control-wp { margin-top: 15px; } .elementor-control.elementor-control-separator-default:not(.elementor-control-type-divider).elementor-control-wp:before { content: ""; height: 1px; display: block; margin-bottom: 15px; background-color: transparent; } .elementor-control.elementor-control-separator-before { padding-top: 15px; } .elementor-control.elementor-control-separator-before:before { content: ""; position: absolute; height: 1px; width: 100%; top: 0; left: 0; background-color: #e6e9ec; } .elementor-control.elementor-control-separator-after:after { content: ""; position: absolute; height: 1px; width: 100%; bottom: 0; left: 0; background-color: #e6e9ec; } .elementor-control.elementor-control-separator-after + .elementor-control-type-tabs + .elementor-control-separator-default, .elementor-control.elementor-control-separator-after:not(.elementor-hidden-control) + .elementor-control-separator-default { padding-top: 15px; } .elementor-control.elementor-control-deprecated { color: #b01b1b; } .elementor-control.elementor-control-deprecated .elementor-control-field-description { color: #b01b1b; } .elementor-control.elementor-control-hidden-label > * > .elementor-control-title, .elementor-control.elementor-control-hidden-label > * > * > .elementor-control-title { display: none; } .elementor-control.elementor-hidden-control { display: none; } .elementor-control.elementor-control-type-heading .elementor-control-title { font-weight: bold; margin: 0; } body:not(.elementor-device-widescreen) .elementor-control.elementor-control-responsive-widescreen { display: none; } body:not(.elementor-device-desktop) .elementor-control.elementor-control-responsive-desktop { display: none; } body:not(.elementor-device-laptop) .elementor-control.elementor-control-responsive-laptop { display: none; } body:not(.elementor-device-tablet_extra) .elementor-control.elementor-control-responsive-tablet_extra { display: none; } body:not(.elementor-device-tablet) .elementor-control.elementor-control-responsive-tablet { display: none; } body:not(.elementor-device-mobile_extra) .elementor-control.elementor-control-responsive-mobile_extra { display: none; } body:not(.elementor-device-mobile) .elementor-control.elementor-control-responsive-mobile { display: none; } .elementor-control.elementor-control-type-select .elementor-control-input-wrapper { position: relative; } .elementor-control.elementor-control-type-select .elementor-control-input-wrapper select { appearance: none; -webkit-appearance: none; -moz-appearance: none; font-size: 12px; font-family: inherit; font-weight: inherit; font-style: inherit; text-transform: inherit; letter-spacing: inherit; line-height: inherit; -ms-flex-preferred-size: 100%; flex-basis: 100%; padding-left: 5px; padding-right: 20px; cursor: pointer; } .elementor-control.elementor-control-type-select .elementor-control-input-wrapper select.e-select-placeholder { color: #a4afb7; } .elementor-control.elementor-control-type-select .elementor-control-input-wrapper option.e-option-placeholder { display: none; } .elementor-control.elementor-control-type-select .elementor-control-input-wrapper:after { font-family: eicons; content: "\e8ad"; font-size: 12px; position: absolute; top: 50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); right: 5px; pointer-events: none; } .elementor-control-custom_css_pro .elementor-nerd-box-message, .elementor-control-custom_attributes_pro .elementor-nerd-box-message { margin-top: 5px; } .elementor-control.elementor-control-custom_css_title { font-size: 12px; } .elementor-control.elementor-open .elementor-panel-heading-toggle .eicon:before, .elementor-panel-scheme-item.elementor-open .elementor-panel-heading-toggle .eicon:before { content: "\e92a"; } .elementor-control:not(.elementor-open) .elementor-panel-heading-toggle .eicon:before, .elementor-panel-scheme-item:not(.elementor-open) .elementor-panel-heading-toggle .eicon:before { content: "\e90a"; } .elementor-panel-heading { display: table; table-layout: fixed; height: 40px; padding: 0 20px; width: 100%; border-bottom: 1px solid #e6e9ec; cursor: pointer; } .elementor-panel-heading > * { display: table-cell; vertical-align: middle; } .elementor-panel-heading-toggle { width: 20px; color: #495157; } .elementor-panel-heading-title { color: #495157; font-weight: bold; } .elementor-control-wp { line-height: 1.5; } .elementor-control-wp p { margin: 15px 0; } .elementor-control-field { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .elementor-label-block > .elementor-control-content > .elementor-control-field { -ms-flex-wrap: wrap; flex-wrap: wrap; } .elementor-label-block > .elementor-control-content > .elementor-control-field > .elementor-control-input-wrapper { width: 100%; margin-top: 10px; } .elementor-label-block > .elementor-control-content > .elementor-control-field > .elementor-control-input-wrapper > .elementor-choices label { width: auto; -webkit-box-flex: 1; -ms-flex: 1 1 27px; flex: 1 1 27px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-label-block.elementor-control-hidden-label:not(.elementor-control-dynamic) > .elementor-control-content > .elementor-control-field > .elementor-control-input-wrapper { margin-top: 0; } .elementor-label-block.elementor-control-hidden-label.elementor-label-block > .elementor-control-content > .elementor-control-field > .elementor-control-input-wrapper { margin-top: 0; } .elementor-label-inline > .elementor-control-content > .elementor-control-field > .elementor-control-title { -ms-flex-negative: 0; flex-shrink: 0; } .elementor-label-inline > .elementor-control-content > .elementor-control-field > .elementor-control-input-wrapper { margin-left: auto; } .elementor-control-field-description { margin-top: 10px; } .elementor-group-control-attachment_alert .elementor-control-field-description { margin-top: 0; } .elementor-required { color: #b01b1b; } .elementor-units-choices { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; text-align: right; } .elementor-units-choices input { display: none; } .elementor-units-choices input:not(:checked) + label { color: #a4afb7; } .elementor-units-choices input.e-units-placeholder + label { color: #c2cbd2; text-decoration: underline; } .elementor-units-choices input:checked + label { text-decoration: underline; } .elementor-units-choices label { cursor: pointer; padding: 0 2px; text-transform: uppercase; font-size: 9px; } .elementor-control-responsive-switchers { --selected-option: 0; --pointer-position: var(--selected-option); position: relative; width: 2em; height: 2em; margin: calc( -2em + var(--control-title-size)) 0; margin-right: 5px; } .elementor-control-responsive-switchers__holder { position: absolute; width: 100%; top: 0; background-color: #fff; border-radius: 3px; -webkit-transition: 0.15s; -o-transition: 0.15s; transition: 0.15s; border: 1px transparent solid; } .elementor-control-responsive-switchers.elementor-responsive-switchers-open { z-index: 11000; } .elementor-control-responsive-switchers.elementor-responsive-switchers-open .elementor-responsive-switcher { height: 2em; -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1); opacity: 1; } .elementor-control-responsive-switchers.elementor-responsive-switchers-open .elementor-responsive-switcher:hover { color: #71d7f7; } .elementor-control-responsive-switchers.elementor-responsive-switchers-open .elementor-control-responsive-switchers__holder { top: calc(-1 * var(--selected-option) * 2em); -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.2); box-shadow: 0 0 3px rgba(0, 0, 0, 0.2); } .elementor-responsive-switcher { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; position: relative; z-index: 2; cursor: pointer; height: 0; -webkit-transform: scale(0); -ms-transform: scale(0); transform: scale(0); opacity: 0; -webkit-transition: 0.15s; -o-transition: 0.15s; transition: 0.15s; font-size: 12px; } a.elementor-responsive-switcher { color: #a4afb7; } a.elementor-responsive-switcher:hover { color: #71d7f7; } .elementor-device-widescreen .elementor-responsive-switcher.elementor-responsive-switcher-widescreen { height: 2em; -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1); opacity: 1; } .elementor-device-widescreen .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-widescreen { color: #71d7f7; } .elementor-device-desktop .elementor-responsive-switcher.elementor-responsive-switcher-desktop { height: 2em; -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1); opacity: 1; } .elementor-device-desktop .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-desktop { color: #71d7f7; } .elementor-device-laptop .elementor-responsive-switcher.elementor-responsive-switcher-laptop { height: 2em; -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1); opacity: 1; } .elementor-device-laptop .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-laptop { color: #71d7f7; } .elementor-device-tablet_extra .elementor-responsive-switcher.elementor-responsive-switcher-tablet_extra { height: 2em; -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1); opacity: 1; } .elementor-device-tablet_extra .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-tablet_extra { color: #71d7f7; } .elementor-device-tablet .elementor-responsive-switcher.elementor-responsive-switcher-tablet { height: 2em; -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1); opacity: 1; } .elementor-device-tablet .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-tablet { color: #71d7f7; } .elementor-device-mobile_extra .elementor-responsive-switcher.elementor-responsive-switcher-mobile_extra { height: 2em; -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1); opacity: 1; } .elementor-device-mobile_extra .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-mobile_extra { color: #71d7f7; } .elementor-device-mobile .elementor-responsive-switcher.elementor-responsive-switcher-mobile { height: 2em; -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1); opacity: 1; } .elementor-device-mobile .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-mobile { color: #71d7f7; } .elementor-update-preview { margin: 15px 15px 0; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .elementor-update-preview-button-wrapper { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; text-align: right; } .elementor-update-preview-button { padding: 8px 15px; text-transform: uppercase; } .elementor-control-direction-ltr input, .elementor-control-direction-ltr textarea { direction: ltr; } .elementor-control-direction-rtl input, .elementor-control-direction-rtl textarea { direction: rtl; } .elementor-control-type-button .elementor-control-input-wrapper { text-align: right; } .elementor-control-type-button .elementor-button { width: auto; height: 26px; } .elementor-control-type-choose.elementor-label-block .elementor-choices { width: 100%; } .elementor-choices { display: -webkit-box; display: -ms-flexbox; display: flex; height: 27px; line-height: 27px; text-align: center; border-spacing: 1px; border-radius: 3px; overflow: hidden; } .elementor-choices .elementor-choices-label { border-top: 1px solid #d5dadf; border-bottom: 1px solid #d5dadf; border-left: 1px solid #d5dadf; border-right: none; font-size: 12px; -webkit-transition: all 0.5s; -o-transition: all 0.5s; transition: all 0.5s; cursor: pointer; overflow: hidden; } .elementor-choices .elementor-choices-label:nth-child(2) { border-top-left-radius: 3px; border-bottom-left-radius: 3px; } .elementor-choices .elementor-choices-label:last-child { border-right: 1px solid #d5dadf; border-top-right-radius: 3px; border-bottom-right-radius: 3px; } .elementor-choices input { display: none; } .elementor-choices input.e-choose-placeholder + .elementor-choices-label { color: #ffffff; background-color: #c2cbd2; border-color: #c2cbd2; } .elementor-choices input:checked + .elementor-choices-label { color: #fff; background-color: #a4afb7; border-color: #a4afb7; } .elementor-label-inline .elementor-choices { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; } .rtl .elementor-control-type-choose[class*=elementor-control-text_align] .elementor-choices, .rtl .elementor-control-type-choose[class*=elementor-control-align] .elementor-choices, .rtl .elementor-control-type-choose[class*=elementor-control-position] .elementor-choices { -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; } .rtl .elementor-control-type-choose[class*=elementor-control-text_align] .elementor-choices .elementor-choices-label:nth-child(2), .rtl .elementor-control-type-choose[class*=elementor-control-align] .elementor-choices .elementor-choices-label:nth-child(2), .rtl .elementor-control-type-choose[class*=elementor-control-position] .elementor-choices .elementor-choices-label:nth-child(2) { border-right: 1px solid #d5dadf; border-radius: 3px 0 0 3px; } .rtl .elementor-control-type-choose[class*=elementor-control-text_align] .elementor-choices .elementor-choices-label:last-child, .rtl .elementor-control-type-choose[class*=elementor-control-align] .elementor-choices .elementor-choices-label:last-child, .rtl .elementor-control-type-choose[class*=elementor-control-position] .elementor-choices .elementor-choices-label:last-child { border-right: none; border-radius: 0 3px 3px 0; } .elementor-control-type-color.e-control-global .e-global__popover-toggle ~ .pickr { border-radius: 0px 3px 3px 0; -ms-flex-negative: 0; flex-shrink: 0; } .elementor-control-type-color .elementor-control-title { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; } .elementor-control-type-color .elementor-control-input-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; } .elementor-control-type-color .elementor-control-dynamic-switcher { border-left-width: 0; border-radius: 0 3px 3px 0; } .elementor-control-type-color.elementor-control-dynamic .pickr { border-radius: 3px 0 0 3px; } .elementor-group-control-css-filter .elementor-slider { height: 6px; -webkit-box-shadow: 0 0 1px 1px inset rgba(0, 0, 0, 0.2); box-shadow: 0 0 1px 1px inset rgba(0, 0, 0, 0.2); } .elementor-group-control-css-filter .elementor-control-content > .elementor-control-field > .elementor-control-input-wrapper { margin-top: 0; margin-bottom: 5px; } .elementor-group-control-blur .elementor-slider { background: url("../images/blur.png"); background-size: cover; background-position: center; } .elementor-group-control-contrast .elementor-slider { background: url("../images/contrast.png"); background-size: 100% 100%; } .elementor-group-control-hue .elementor-slider { background-image: -webkit-gradient(linear, left top, right top, from(red), color-stop(orange), color-stop(yellow), color-stop(greenyellow), color-stop(limegreen), color-stop(deepskyblue), color-stop(blue), color-stop(95%, darkviolet)); background-image: -o-linear-gradient(left, red, orange, yellow, greenyellow, limegreen, deepskyblue, blue, darkviolet 95%); background-image: linear-gradient(to right, red, orange, yellow, greenyellow, limegreen, deepskyblue, blue, darkviolet 95%); } .elementor-group-control-saturate .elementor-slider { background-image: -webkit-gradient(linear, left top, right top, from(gray), to(red)); background-image: -o-linear-gradient(left, gray, red); background-image: linear-gradient(to right, gray, red); } .elementor-group-control-brightness .elementor-slider { background-image: -webkit-gradient(linear, left top, right top, from(black), to(white)); background-image: -o-linear-gradient(left, black, white); background-image: linear-gradient(to right, black, white); } .elementor-control-type-dimensions .elementor-control-dimensions { overflow: hidden; } .elementor-control-type-dimensions li { float: left; width: 20%; } .elementor-control-type-dimensions li input, .elementor-control-type-dimensions li .elementor-link-dimensions { display: block; text-align: center; width: 100%; border-color: #d5dadf; height: 27px; } .elementor-control-type-dimensions li input { border-left: none; border-radius: 0; padding: 4px 0; } .elementor-control-type-dimensions li input:focus { border-left: solid 1px; border-color: #a4afb7; margin-left: -1px; width: calc(100% + 1px); } .elementor-control-type-dimensions li input:focus + .elementor-control-dimension-label { color: #a4afb7; } .elementor-control-type-dimensions li .elementor-link-dimensions { border: 1px solid #d5dadf; border-left: none; background-color: #fff; padding: 0; outline: none; border-radius: 0 3px 3px 0; cursor: pointer; } .elementor-control-type-dimensions li:first-child input { border-left: 1px solid #d5dadf; border-radius: 3px 0 0 3px; } .elementor-control-type-dimensions li:first-child input:focus { border-color: #a4afb7; margin-left: 0; width: 100%; } .elementor-control-type-dimensions .elementor-control-dimension-label { display: block; text-align: center; color: #d5dadf; font-size: 9px; text-transform: uppercase; padding-top: 5px; } .elementor-control-type-dimensions .elementor-link-dimensions.unlinked { background-color: #fff; } .elementor-control-type-dimensions .elementor-link-dimensions.unlinked .elementor-linked { display: none; } .elementor-control-type-dimensions .elementor-link-dimensions:not(.unlinked) { background-color: #a4afb7; border-color: #a4afb7; } .elementor-control-type-dimensions .elementor-link-dimensions:not(.unlinked) .elementor-unlinked { display: none; } .elementor-control-type-dimensions .elementor-link-dimensions .elementor-linked { color: #fff; } .elementor-control-type-icons .elementor-control-media__preview > * { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); } .elementor-control-type-icons .elementor-control-media__preview i { font-size: 70px; color: #6d7882; } .elementor-control-type-icons .elementor-control-media__preview svg { height: 75%; } .elementor-control-type-icons .elementor-control-icons--inline__svg i.eicon-upload { font-size: 15px; } .elementor-control-type-gallery .elementor-control-media__content { border: 1px solid #d5dadf; border-radius: 3px; } .elementor-control-type-gallery .elementor-control-gallery-status { font-size: 12px; height: 27px; padding-left: 10px; border-bottom: 1px solid #d5dadf; display: -webkit-box; display: -ms-flexbox; display: flex; } .elementor-control-type-gallery .elementor-control-gallery-status > * { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .elementor-control-type-gallery .elementor-control-gallery-status-title { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; } .elementor-control-type-gallery .elementor-control-gallery-content { position: relative; overflow: hidden; } .elementor-control-type-gallery .elementor-control-gallery-content:not(:hover) .elementor-control-gallery-edit { opacity: 0; } .elementor-control-type-gallery .elementor-control-gallery-thumbnails { display: grid; grid-template-columns: repeat(auto-fill, minmax(48px, 1fr)); grid-gap: 10px; cursor: pointer; padding: 10px; } .elementor-control-type-gallery .elementor-control-gallery-thumbnail { width: 48px; height: 48px; background-size: cover; background-position: 50% 50%; } .elementor-control-type-gallery .elementor-control-gallery-edit { position: absolute; top: 0; bottom: 0; left: 0; right: 0; background-color: rgba(109, 120, 130, 0.3); padding: 10px; font-size: 11px; -webkit-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; pointer-events: none; cursor: pointer; opacity: 1; } .elementor-control-type-gallery .elementor-control-gallery-edit span { position: absolute; top: 10px; right: 10px; width: 21px; height: 21px; background-color: rgba(255, 255, 255, 0.9); color: #a4afb7; -webkit-box-shadow: 0 0 7px 0 rgba(0, 0, 0, 0.2); box-shadow: 0 0 7px 0 rgba(0, 0, 0, 0.2); border-radius: 3px; } .elementor-control-type-gallery .elementor-control-gallery-edit span i { font-size: 11px; padding: 5px; } .elementor-control-type-gallery .elementor-control-gallery-add { width: 48px; height: 48px; color: #fff; background-color: #d5dadf; font-size: 14px; border-radius: 0; } .elementor-control-type-gallery .elementor-control-gallery-add:hover { background-color: #c2cbd2; } .elementor-control-type-gallery .elementor-control-gallery-add i { margin: 0; color: #a4afb7; } .elementor-control-type-gallery.elementor-gallery-empty .elementor-control-gallery-clear, .elementor-control-type-gallery.elementor-gallery-empty .elementor-control-gallery-thumbnails, .elementor-control-type-gallery.elementor-gallery-empty .elementor-control-gallery-edit { display: none; } .elementor-control-type-gallery.elementor-gallery-empty .elementor-control-gallery-content { padding: 10px; } .elementor-control-type-gallery.elementor-gallery-has-images .elementor-control-gallery-add { display: none; } .elementor-control-type-gallery.elementor-control-dynamic .elementor-control-gallery-clear { border-left: 1px solid #d5dadf; } .elementor-control-type-gallery .elementor-control-gallery-clear { cursor: pointer; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-control-type-gallery .elementor-control-gallery-clear:hover { color: #b01b1b; } .elementor-control-type-gallery .elementor-control-dynamic-switcher { border: none; border-bottom: 1px solid #d5dadf; border-left: 1px solid #d5dadf; border-radius: 0 3px 0 0; } .e-global__popover { width: 288px; z-index: 1; font-size: 12px; padding-left: 10px; } .e-global__popover-toggle { border: 1px solid #d5dadf; border-right: 0; border-radius: 3px 0 0 3px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; cursor: pointer; } .e-global__popover-toggle--active i { color: #71d7f7; } .e-global__popover-container { -webkit-box-shadow: 0 2px 15px rgba(0, 0, 0, 0.3); box-shadow: 0 2px 15px rgba(0, 0, 0, 0.3); border-radius: 3px; background-color: #fff; padding-bottom: 5px; } .e-global__popover-title { padding: 15px 20px; font-weight: 500; color: #6d7882; border-bottom: 1px solid #e6e9ec; display: -webkit-box; display: -ms-flexbox; display: flex; } .e-global__popover-title > i { margin-right: 5px; color: #d5dadf; } .e-global__popover-title-text { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; } .e-global__popover-info { margin-right: 5px; display: inline-block; } .e-global__popover-info-tooltip { width: 270px; z-index: 1; background-color: rgba(0, 0, 0, 0.9); color: #fff; padding: 20px; border-radius: 3px; } .e-global__popover-info-tooltip:after { content: ""; position: absolute; bottom: -17px; left: 16px; border: 10px solid transparent; border-top-color: rgba(0, 0, 0, 0.9); } .e-global__popover-info i { color: #d5dadf; font-size: 13px; } .e-global__preview-items-container { max-height: 260px; overflow-y: auto; margin-top: 5px; } .e-global__preview-items-container::-webkit-scrollbar { width: 7px; } .e-global__preview-items-container::-webkit-scrollbar-thumb { background-color: #c2cbd2; border-radius: 10px; } .e-global__manage-button { font-weight: 500; cursor: pointer; } .e-global__manage-button:hover i { color: #4ab7f4; } .e-global__manage-button i { color: #6d7882; } .e-global__typography { padding: 5px 10px 5px 35px; white-space: nowrap; -o-text-overflow: ellipsis; text-overflow: ellipsis; overflow: hidden; } .e-global__typography.e-global__preview-item--selected:before { font-family: "eicons"; font-size: 13px; content: "\e90e"; position: absolute; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); top: 50%; left: 12px; } .e-global__color { margin: 5px auto; padding: 5px 20px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .e-global__color:first-child { margin-top: 5px; } .e-global__color:last-child { margin-bottom: 10px; } .e-global__color-preview-container { height: 20px; width: 20px; border-radius: 3px; border: 1px solid rgba(0, 0, 0, 0.1); margin-right: 10px; -ms-flex-negative: 0; flex-shrink: 0; position: relative; } .e-global__color-preview-color, .e-global__color-preview-transparent-bg { border-radius: 3px; height: 100%; width: 100%; position: absolute; top: 0; left: 0; } .e-global__color-preview-transparent-bg { background-image: -o-linear-gradient(45deg, #ddd 25%, transparent 0, transparent 75%, #ddd 0, #ddd), -o-linear-gradient(45deg, #ddd 25%, transparent 0, transparent 75%, #ddd 0, #ddd); background-image: linear-gradient(45deg, #ddd 25%, transparent 0, transparent 75%, #ddd 0, #ddd), linear-gradient(45deg, #ddd 25%, transparent 0, transparent 75%, #ddd 0, #ddd); background-size: 12px 12px; background-position: 0 0, 6px 6px; } .e-global__color-title { font-weight: 500; color: #6d7882; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; white-space: nowrap; -o-text-overflow: ellipsis; text-overflow: ellipsis; overflow: hidden; padding-right: 10px; } .e-global__color-hex { font-size: 10px; font-weight: 500; color: #c2cbd2; } .e-global__color .pcr-button { background-color: #fff; } .e-global__color.e-global__preview-item--selected .e-global__color-preview-container { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; color: #ffffff; } .e-global__color.e-global__preview-item--selected .e-global__color-preview-container:before { font-family: "eicons"; font-size: 13px; content: "\e90e"; text-shadow: 0px 0px 1px #000; z-index: 1; } .e-global__preview-item { cursor: pointer; position: relative; } .e-global__preview-item:hover { background-color: #f1f3f5; } .e-global__preview-item:hover .e-global__color-hex { color: #a4afb7; } .e-global__confirm-add .dialog-buttons-wrapper > .dialog-button.dialog-confirm-ok { color: #39b54a; } .e-global__confirm-delete i { color: #b01b1b; } .e-global__confirm-message-text i { color: #fcb92c; } .e-global__confirm-input-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; border: 1px solid #a4afb7; border-radius: 3px; margin-top: 10px; padding: 2px; } .e-global__confirm-input-wrapper input { font-family: Roboto, Arial, sans-serif; font-weight: 500; font-size: 12px; padding: 2px; border: 0; } .e-control-global .elementor-control-input-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; max-width: 135px; width: 100%; } .e-control-global.elementor-control .elementor-control-input-wrapper { direction: ltr; } .e-control-global .elementor-control-spinner { margin-right: 4px; } .elementor-control-type-hidden { display: none !important; } .elementor-control-type-icon .select2-selection__rendered .eicon { margin-right: 3px; } .elementor-control-type-image_dimensions .elementor-control-field-description { margin: 0 0 15px; line-height: 1.4; } .elementor-control-type-image_dimensions .elementor-control-input-wrapper { overflow: hidden; } .elementor-control-type-image_dimensions .elementor-image-dimensions-field { width: 65px; float: left; } .elementor-control-type-image_dimensions .elementor-image-dimensions-field input:focus + .elementor-image-dimensions-field-description { color: #a4afb7; } .elementor-control-type-image_dimensions .elementor-image-dimensions-separator { width: 20px; text-align: center; float: left; padding-top: 4px; } .elementor-control-type-image_dimensions .elementor-image-dimensions-field-description { display: block; text-transform: uppercase; margin-top: 5px; color: #d5dadf; font-size: 9px; text-align: center; } .elementor-control-type-image_dimensions .elementor-image-dimensions-apply-button { float: right; height: 27px; width: 65px; } .elementor-control-media.elementor-media-empty .elementor-control-media-area .elementor-control-media__remove, .elementor-control-media.elementor-media-empty .elementor-control-media-area .elementor-control-media__content__remove { display: none; } .elementor-control-media:not(.elementor-media-empty) .elementor-control-media__content__upload-button { display: none; } .elementor-control-media .elementor-control-input-wrapper { border: 1px solid #d5dadf; } .elementor-control-media .eicon-plus-circle { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); color: #fff; font-size: 20px; } .elementor-control-media__content__upload-button { background-color: #d5dadf; } .elementor-control-media__preview { height: 100%; background-size: cover; background-position: center; } .elementor-control-media-area { background-image: -o-linear-gradient(45deg, #ddd 25%, transparent 0, transparent 75%, #ddd 0, #ddd), -o-linear-gradient(45deg, #ddd 25%, transparent 0, transparent 75%, #ddd 0, #ddd); background-image: linear-gradient(45deg, #ddd 25%, transparent 0, transparent 75%, #ddd 0, #ddd), linear-gradient(45deg, #ddd 25%, transparent 0, transparent 75%, #ddd 0, #ddd); background-size: 16px 16px; background-position: 0 0, 8px 8px; background-color: #f6f6f6; } .elementor-control-media-area:not(:hover) .elementor-control-media__remove { display: none; } .elementor-control-media-area .eicon-video-camera { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); color: rgba(255, 255, 255, 0.7); font-size: 21px; } .elementor-control-media .elementor-control-media__content { cursor: pointer; overflow: hidden; } .elementor-control-media .elementor-control-media__content:hover:after { content: ""; position: absolute; top: 0; bottom: 0; left: 0; right: 0; background-color: rgba(0, 0, 0, 0.2); pointer-events: none; } .elementor-control-media .elementor-control-media__content:not(:hover) .elementor-control-media__tools { bottom: -30px; } .elementor-control-media__content { -webkit-transition: all 0.2s ease-in-out; -o-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out; } .elementor-control-media__tools { position: absolute; bottom: 0; left: 0; right: 0; height: 27px; -webkit-transition: all 0.2s ease-in-out; -o-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out; } .elementor-control-media__tools > *:not(:first-child) { margin-left: 1px; } .elementor-control-media__tool { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; color: #fff; background-color: rgba(109, 120, 130, 0.85); font-size: 11px; -webkit-transition: background 0.3s; -o-transition: background 0.3s; transition: background 0.3s; } .elementor-control-media__tool:hover { background-color: rgba(109, 120, 130, 0.95); } .elementor-control-media__remove { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; } .elementor-control-media__content__remove { position: absolute; z-index: 1; top: 10px; right: 10px; width: 20px; height: 20px; font-size: 11px; color: #a4afb7; background-color: rgba(255, 255, 255, 0.9); border-radius: 3px; -webkit-box-shadow: 0 0 7px 0 rgba(0, 0, 0, 0.1); box-shadow: 0 0 7px 0 rgba(0, 0, 0, 0.1); } .elementor-control-media__content__remove:hover { background-color: white; -webkit-box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.4); box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.4); } .elementor-control-media.elementor-media-empty .elementor-control-file-area { display: none; } .elementor-control-media__file { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; width: 100%; margin-top: 10px; border: 1px solid #d5dadf; } .elementor-control-media__file__content { padding-left: 5px; font-size: 12px; } .elementor-control-media__file__content__label { color: #a4afb7; } .elementor-control-media__file__content__info { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; font-weight: 500; } .elementor-control-media__file__content__info__icon { margin-right: 5px; } .elementor-control-media__file__controls { display: -webkit-box; display: -ms-flexbox; display: flex; border-left: 1px solid #d5dadf; } .elementor-control-media__file__controls__upload-button, .elementor-control-media__file__controls__remove { width: 27px; height: 27px; cursor: pointer; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .elementor-control-media__file__controls__upload-button { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-control-media__file__controls__remove { border-right: 1px solid #d5dadf; } .elementor-control-media:not(.elementor-media-empty) .elementor-control-media__file__content__label { display: none; } .elementor-control-media.elementor-media-empty .elementor-control-media__file__content__info { display: none; } .elementor-control-media.elementor-media-empty .elementor-control-media__file__controls__remove { display: none; } .elementor-control-media .elementor-control-dynamic-switcher { border: none; border-radius: 0; background-color: rgba(109, 120, 130, 0.85); color: #fff; } .elementor-control-media .elementor-control-dynamic-switcher:hover { background-color: rgba(109, 120, 130, 0.95); } .elementor-control-type-media.elementor-control-dynamic-value .elementor-control-input-wrapper { border: none; } .elementor-control:not(.elementor-control-type-icons) .elementor-control-media__preview { background-color: #d5dadf; } .elementor-control-type-number.elementor-control-dynamic input { border-radius: 3px 0 0 3px; border-right: none; } .elementor-control-type-number.elementor-control-dynamic .elementor-control-dynamic-switcher { border-radius: 0 3px 3px 0; } .elementor-control-type-order .elementor-control-oreder-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; } .elementor-control-type-order input { display: none; } .elementor-control-type-order input:checked + .elementor-control-order-label { -webkit-transform: scale(1, -1); -ms-transform: scale(1, -1); transform: scale(1, -1); } .elementor-control-type-order select { border-radius: 3px 0 0 3px; } .elementor-control-type-order select:not(:focus) ~ .elementor-control-order-label { border-color: #d5dadf; } .elementor-control-type-order select:focus ~ .elementor-control-order-label { border-color: #a4afb7; } .elementor-control-type-order .elementor-control-order-label { position: relative; padding: 0; width: 40px; border: 1px solid; font-size: 10px; border-radius: 0 3px 3px 0; margin-left: -3px; background-color: #fff; cursor: pointer; } .elementor-control-type-order .elementor-control-order-label i { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); } .elementor-control-type-popover_toggle input { display: none; } .elementor-control-type-popover_toggle label { cursor: pointer; } .elementor-control-type-popover_toggle .elementor-control-input-wrapper { direction: rtl; } .elementor-control-type-popover_toggle .elementor-control-popover-toggle-toggle:checked + .elementor-control-popover-toggle-toggle-label { color: #71d7f7; } .elementor-control-type-popover_toggle .elementor-control-popover-toggle-toggle:not(:checked) ~ .elementor-control-popover-toggle-reset-label { display: none; } .elementor-control-type-popover_toggle .elementor-control-popover-toggle-reset-label { color: #c2cbd2; margin-right: 5px; } .elementor-control-type-popover_toggle .elementor-control-popover-toggle-toggle-label { height: 27px; display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; border-radius: 3px; border: 1px solid #d5dadf; } .elementor-controls-popover.e-controls-popover--typography { padding-top: 0; } .e-control-global .elementor-control-popover-toggle-toggle-label { border-radius: 0 3px 3px 0; -ms-flex-negative: 0; flex-shrink: 0; } .elementor-control-type-repeater .elementor-control:not(.elementor-control-type-tab) { padding-right: 10px; padding-left: 10px; padding-bottom: 10px; } .elementor-control-type-repeater.elementor-repeater-has-minimum-rows .elementor-repeater-tool-remove { display: none; } .elementor-control-type-repeater .elementor-repeater-fields { margin: 10px 0; } .elementor-control-type-repeater .elementor-repeater-row-controls { border: 1px solid #d5dadf; border-top-width: 0; padding-top: 15px; } .elementor-control-type-repeater .elementor-repeater-row-controls:not(.editable) { display: none; } .elementor-control-type-repeater .elementor-repeater-row-tools { display: table; table-layout: fixed; width: 100%; color: #556068; background-color: #d5dadf; height: 40px; border-spacing: 1px; -webkit-transition: all 0.5s; -o-transition: all 0.5s; transition: all 0.5s; } .elementor-control-type-repeater .elementor-repeater-row-tools:hover { background-color: #a4afb7; } .elementor-control-type-repeater .elementor-repeater-row-tools > div { display: table-cell; text-align: center; vertical-align: middle; cursor: pointer; } .elementor-control-type-repeater .elementor-repeater-row-tools > div:not(.elementor-repeater-row-handle-sortable) { background-color: #fff; } .elementor-control-type-repeater .elementor-repeater-row-tools > div:hover { opacity: 0.95; } .elementor-control-type-repeater .elementor-repeater-row-tools .elementor-repeater-row-item-title { text-align: left; padding: 0 10px; font-size: 12px; white-space: nowrap; -o-text-overflow: ellipsis; text-overflow: ellipsis; overflow: hidden; } .elementor-control-type-repeater .elementor-repeater-row-tools .elementor-repeater-row-item-title .eicon, .elementor-control-type-repeater .elementor-repeater-row-tools .elementor-repeater-row-item-title i, .elementor-control-type-repeater .elementor-repeater-row-tools .elementor-repeater-row-item-title svg { margin-right: 5px; } .elementor-control-type-repeater .elementor-repeater-row-tools .elementor-repeater-row-item-title img[src$=svg] { width: 1em; } .elementor-control-type-repeater .elementor-repeater-row-tools .elementor-repeater-row-tool { width: 40px; } .elementor-control-type-repeater .elementor-repeater-row-tools .elementor-repeater-row-handle-sortable { cursor: move; width: 10px; color: #fff; } .elementor-control-type-repeater .elementor-button-wrapper { text-align: center; padding-top: 5px; } .elementor-control-type-section { margin-top: 10px; padding: 0; } .elementor-control-type-section.elementor-open { padding-bottom: 15px; } .elementor-control-type-section + .elementor-control:not(.elementor-control-type-section):before { display: none; } .elementor-shadow-box .elementor-shadow-slider { margin-top: 10px; } .elementor-shadow-box .elementor-color-picker-wrapper .elementor-control-title { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; } .elementor-control-type-slider.elementor-control-dynamic input { border-radius: 3px 0 0 3px; } .elementor-control-type-slider .elementor-control-unit-2 { width: 21%; } .elementor-control-type-slider.elementor-control-type-slider--multiple .elementor-control-input-wrapper { display: block; } .elementor-control-type-slider--multiple { padding-bottom: 40px; } .elementor-control-type-slider--multiple .elementor-slider { margin-top: 12px; width: 98%; } .elementor-control-type-slider--handles-range .elementor-slider .noUi-handle { border-radius: 0; width: 10px; -webkit-transform: translateY(calc(50% - 14px)) translateX(4px); -ms-transform: translateY(calc(50% - 14px)) translateX(4px); transform: translateY(calc(50% - 14px)) translateX(4px); } .elementor-control-type-slider--handles-range .elementor-slider .noUi-handle:after { content: ""; position: absolute; top: 2px; height: 12px; width: 11px; -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); background-color: #fff; border-radius: 3px; } .elementor-control-type-slider--handles-range .elementor-slider .noUi-handle-lower:after { left: 5px; -webkit-box-shadow: 2px -2px 3px 0px rgba(0, 0, 0, 0.1); box-shadow: 2px -2px 3px 0px rgba(0, 0, 0, 0.1); } .elementor-control-type-slider--handles-range .elementor-slider .noUi-handle-upper:after { right: 5px; -webkit-box-shadow: -2px 2px 3px 0px rgba(0, 0, 0, 0.1); box-shadow: -2px 2px 3px 0px rgba(0, 0, 0, 0.1); } .elementor-control-type-slider .elementor-control-dynamic-switcher { border-left-width: 0; border-radius: 0 3px 3px 0; } .elementor-control-type-slider .elementor-control-input-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .elementor-control-type-slider .elementor-dynamic-cover { margin-top: 10px; } .elementor-slider { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; height: 4px; background-color: #d5dadf; border-radius: 5px; position: relative; cursor: pointer; } .elementor-slider-input { width: 21%; min-width: 54px; margin-left: 12px; } .elementor-slider__extra { position: relative; } .elementor-slider__labels { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; } .elementor-slider__label { font-size: 9px; color: #c2cbd2; } .elementor-slider__scales { position: absolute; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: space-evenly; -ms-flex-pack: space-evenly; justify-content: space-evenly; width: 100%; margin-top: 4px; } .elementor-slider__scale { width: 1px; height: 21px; background-color: #a4afb7; } .elementor-slider .noUi-handle { height: 16px; width: 16px; background-color: #fff; right: 0; -webkit-transform: translateY(calc(50% - 14px)) translateX(8px); -ms-transform: translateY(calc(50% - 14px)) translateX(8px); transform: translateY(calc(50% - 14px)) translateX(8px); position: absolute; -webkit-box-shadow: 0 1px 5px rgba(0, 0, 0, 0.3); box-shadow: 0 1px 5px rgba(0, 0, 0, 0.3); border-radius: 50%; } .elementor-slider .noUi-connects { position: absolute; width: 100%; height: 4px; } .elementor-slider .noUi-connect { position: absolute; z-index: 0; top: 0; left: 0; height: 100%; width: 100%; will-change: transform; -webkit-transform-origin: 0 0; -ms-transform-origin: 0 0; transform-origin: 0 0; background-color: #a4afb7; } .elementor-slider .noUi-tooltip { position: absolute; top: calc(100% + 5px); left: calc(50% - 4px); -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); font-size: 10px; } .elementor-control-type-structure .elementor-control-field { display: initial; } .elementor-control-type-structure .elementor-control-structure-preset { padding: 3px; border-radius: 3px; display: inline-block; cursor: pointer; height: 50px; } .elementor-control-type-structure .elementor-control-structure-preset svg { height: 100%; } .elementor-control-type-structure .elementor-control-structure-preset path { fill: #e6e9ec; } .elementor-control-type-structure .elementor-control-structure-reset { padding: 15px 20px 0; font-size: 11px; cursor: pointer; color: #a4afb7; border-top: 1px solid #e6e9ec; margin: 0 -20px; } .elementor-control-type-structure .elementor-control-structure-title { margin: 10px -20px 0; } .elementor-control-type-structure .elementor-control-structure-title:before { height: 10px; -webkit-box-shadow: inset 0 2px 4px rgba(127, 127, 127, 0.1); box-shadow: inset 0 2px 4px rgba(127, 127, 127, 0.1); } .elementor-control-type-structure .elementor-control-structure-presets { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; } .elementor-control-type-structure .elementor-control-structure-presets input { display: none; } .elementor-control-type-structure .elementor-control-structure-presets input:checked + .elementor-control-structure-preset path { fill: #a4afb7; } .elementor-control-type-structure .elementor-control-structure-preset-wrapper { margin-bottom: 15px; } .elementor-control-type-structure .elementor-control-structure-preset-title { text-align: center; padding-top: 5px; font-style: italic; font-size: 11px; color: #a4afb7; } .elementor-control-type-switcher .elementor-control-input-wrapper { text-align: right; } .elementor-control-type-switcher .elementor-switch { position: relative; display: inline-block; vertical-align: top; height: 20px; background-color: white; border-radius: 18px; cursor: pointer; } .elementor-control-type-switcher .elementor-switch-input { display: none; } .elementor-control-type-switcher .elementor-switch-label { position: relative; display: block; height: inherit; font-size: 7px; text-transform: uppercase; background: #eceeef; border-radius: inherit; -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.12), inset 0 0 2px rgba(0, 0, 0, 0.15); box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.12), inset 0 0 2px rgba(0, 0, 0, 0.15); -webkit-transition: 0.15s ease-out; -o-transition: 0.15s ease-out; transition: 0.15s ease-out; -webkit-transition-property: opacity, background; -o-transition-property: opacity, background; transition-property: opacity, background; } .elementor-control-type-switcher .elementor-switch-label:before, .elementor-control-type-switcher .elementor-switch-label:after { position: absolute; top: 0; width: 50%; text-align: center; line-height: 20px; -webkit-transition: inherit; -o-transition: inherit; transition: inherit; } .elementor-control-type-switcher .elementor-switch-label:before { content: attr(data-off); right: 3px; color: #a4afb7; text-shadow: 0 1px rgba(255, 255, 255, 0.5); } .elementor-control-type-switcher .elementor-switch-label:after { content: attr(data-on); left: 3px; color: white; text-shadow: 0 1px rgba(0, 0, 0, 0.2); opacity: 0; } .elementor-control-type-switcher .elementor-switch-input:checked ~ .elementor-switch-label { background: #71d7f7; -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.15), inset 0 0 3px rgba(0, 0, 0, 0.2); box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.15), inset 0 0 3px rgba(0, 0, 0, 0.2); } .elementor-control-type-switcher .elementor-switch-input:checked ~ .elementor-switch-label:before { opacity: 0; } .elementor-control-type-switcher .elementor-switch-input:checked ~ .elementor-switch-label:after { opacity: 1; } .elementor-control-type-switcher .elementor-switch-handle { position: absolute; top: 1px; left: 1px; width: 18px; height: 18px; background: white; border-radius: 10px; -webkit-transition: left 0.15s ease-out; -o-transition: left 0.15s ease-out; transition: left 0.15s ease-out; } .elementor-control-type-switcher .elementor-switch-input:checked ~ .elementor-switch-handle { left: initial; right: 1px; -webkit-box-shadow: -1px 1px 5px rgba(0, 0, 0, 0.2); box-shadow: -1px 1px 5px rgba(0, 0, 0, 0.2); } .elementor-control-type-tabs { font-size: 0.8em; text-transform: uppercase; display: -webkit-box; display: -ms-flexbox; display: flex; } .elementor-control-type-tab { text-align: center; width: 100%; padding: 0; line-height: 25px; border-top: 1px solid #d5dadf; border-bottom: 1px solid #d5dadf; border-right: 1px solid #d5dadf; cursor: pointer; } .elementor-control-type-tab:first-child { border-left: 1px solid #d5dadf; border-top-left-radius: 3px; border-bottom-left-radius: 3px; } .elementor-control-type-tab:last-child { border-top-right-radius: 3px; border-bottom-right-radius: 3px; } .elementor-control-type-tab.elementor-tab-active { background-color: #a4afb7; border-color: #a4afb7; color: #ffffff; } .elementor-tab-close { display: none !important; } .elementor-control-type-textarea.elementor-control-dynamic-value .elementor-control-dynamic-switcher, .elementor-control-type-code.elementor-control-dynamic-value .elementor-control-dynamic-switcher { border-radius: 0 3px 3px 0; border-left-width: 0; } .elementor-control-type-textarea .elementor-control-dynamic-switcher, .elementor-control-type-code .elementor-control-dynamic-switcher { border-radius: 0 3px; } .elementor-control-type-textarea:not(.elementor-control-dynamic-value) .elementor-control-dynamic-switcher, .elementor-control-type-code:not(.elementor-control-dynamic-value) .elementor-control-dynamic-switcher { position: absolute; top: 0; z-index: 1; right: 0; } .elementor-control-type-textarea .elementor-control-input-wrapper, .elementor-control-type-code .elementor-control-input-wrapper { position: relative; } .elementor-control-type-textarea textarea, .elementor-control-type-code textarea { display: block; font-family: inherit; } .elementor-control-type-textarea textarea:focus + .elementor-control-dynamic-switcher, .elementor-control-type-code textarea:focus + .elementor-control-dynamic-switcher { display: none; } .elementor-control-type-textarea pre:focus-within + .elementor-control-dynamic-switcher, .elementor-control-type-code pre:focus-within + .elementor-control-dynamic-switcher { display: none; } .elementor-control-type-url.elementor-control-dynamic .elementor-input { border-radius: 3px 0 0 3px; } .elementor-control-type-url .elementor-control-field { position: relative; } .elementor-control-type-url:not(.elementor-control-dynamic) .elementor-control-url-more, .elementor-control-type-url.elementor-control-dynamic-value .elementor-control-url-more { border-radius: 0 3px 3px 0; } .elementor-control-type-url .elementor-control-input-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; } .elementor-control-type-url .elementor-control-url-more { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -ms-flex-negative: 0; flex-shrink: 0; border: 1px solid #d5dadf; border-left: none; cursor: pointer; } .elementor-control-type-url .elementor-control-url-more i { font-size: 12px; } .elementor-control-type-url .elementor-control-url-more-options { display: none; padding-top: 10px; } .elementor-control-type-url .elementor-control-url-more-options .elementor-control-field-description { margin-top: 10px; } .elementor-control-type-url .elementor-control-url-option { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .elementor-control-type-url .elementor-control-url-option:not(:last-child) { padding-bottom: 10px; } .elementor-control-type-url .elementor-control-url-option input, .elementor-control-type-url .elementor-control-url-option label { cursor: pointer; } .elementor-control-type-url .elementor-control-url-option-input { margin: 0; padding: 0; border-radius: 2px; margin-right: 5px; -webkit-appearance: none; -moz-appearance: none; outline: none; content: none; height: 15px; width: 15px; border: 1px solid #d5dadf; display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-control-type-url .elementor-control-url-option-input:checked { background: #71d7f7; border: none; } .elementor-control-type-url .elementor-control-url-option-input:checked:before { display: block; content: ""; width: 4px; height: 7px; border: solid white; border-width: 0 2px 2px 0; -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); } .elementor-control-type-url .elementor-control-url-option label { font-size: 12px; } .elementor-control-type-url .elementor-control-url-external-hide .elementor-control-url-more { display: none; } .elementor-control-type-url .elementor-control-url-external-show .elementor-input, .elementor-control-type-url .elementor-control-url-external-show .elementor-dynamic-cover { border-radius: 3px 0 0 3px; } .elementor-control-type-url .elementor-control-url-autocomplete-spinner { display: none; position: absolute; top: 5px; right: 0px; width: 10px; height: 10px; font-size: 10px; color: #D4D4D4; } .elementor-control-type-url .elementor-control-url__custom-attributes { margin-top: 5px; } .elementor-control-type-url .elementor-control-url__custom-attributes label { font-size: 12px; } .elementor-control-type-url .elementor-control-url__custom-attributes input { width: 100%; margin-top: 10px; } .elementor-control-type-url .elementor-input { direction: ltr; } .elementor-control-type-url .elementor-input:not(:focus) + .elementor-control-url-more { border-color: #d5dadf; } .elementor-control-type-url .elementor-input:focus ~ div { border-color: #a4afb7; } .elementor-control-type-url .elementor-control-dynamic-switcher { border-left: none; border-radius: 0 3px 3px 0; } .elementor-autocomplete-menu { position: absolute; background: #fff; color: #495157; border: 1px solid #a4afb7; margin: 0; list-style: none; padding: 4px 0; height: auto; width: 100%; min-width: 260px; max-width: 300px; max-height: 200px; overflow-y: auto; border-radius: 3px; -webkit-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; cursor: default; z-index: 1; } .elementor-autocomplete-menu .ui-menu-item { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-item-align: baseline; align-self: baseline; padding: 5px 8px; font-size: 12px; width: 100%; line-height: 1.2; cursor: pointer; } .elementor-autocomplete-menu .ui-menu-item.ui-state-hover, .elementor-autocomplete-menu .ui-menu-item.ui-state-active, .elementor-autocomplete-menu .ui-menu-item.ui-state-focus { background: #e6e9ec; } .elementor-autocomplete-menu .elementor-autocomplete-item-info { font-size: 10px; padding-top: 2px; } .elementor-control-type-wp_widget .widget-inside { display: block; } .elementor-control-type-wp_widget .quicktags-toolbar input { width: auto; } .elementor-control-type-wysiwyg * { -webkit-box-sizing: content-box; box-sizing: content-box; } .elementor-control-type-wysiwyg .wp-editor-container { border: 1px solid #e6e9ec; } .elementor-control-type-wysiwyg .wp-editor-tabs { border: 1px solid #d5dadf; border-bottom: none; border-radius: 3px 3px 0 0; } .elementor-control-type-wysiwyg #insert-media-button { height: initial; line-height: 24px; font-size: 10px; color: #6d7882; border-color: #d5dadf; background-color: #e6e9ec; min-height: initial; } .elementor-control-type-wysiwyg .ed_button { height: 22px; width: initial; } .elementor-control-type-wysiwyg .wp-media-buttons-icon { height: 14px; margin: 0; } .elementor-control-type-wysiwyg .wp-media-buttons-icon:before { font-size: 14px; } .elementor-control-type-wysiwyg .wp-switch-editor { position: static; border: none; margin: 0; color: #6d7882; font-size: 10px; padding: 3px 9px 4px; } .elementor-control-type-wysiwyg .switch-html { border: solid #d5dadf; border-width: 0 1px; } .elementor-control-type-wysiwyg .html-active .switch-tmce { background-color: transparent; } .elementor-control-type-wysiwyg .html-active .switch-html { background-color: #e6e9ec; } .elementor-control-type-wysiwyg .tmce-active .switch-tmce { background-color: #e6e9ec; } .elementor-control-type-wysiwyg .tmce-active .switch-html { background-color: transparent; } .elementor-control-type-wysiwyg .mce-toolbar-grp, .elementor-control-type-wysiwyg .quicktags-toolbar { background-color: #e6e9ec; } .elementor-control-type-wysiwyg .mce-toolbar-grp > div { padding: 0 3px; } .elementor-control-type-wysiwyg .elementor-wp-editor { -webkit-box-sizing: border-box; box-sizing: border-box; } .elementor-control-type-wysiwyg .mce-ico { color: #6d7882; font-size: 16px; } .elementor-control-type-wysiwyg .mce-btn { margin-right: 0; margin-left: 0; } .elementor-control-type-wysiwyg .mce-btn:hover, .elementor-control-type-wysiwyg .mce-btn:active, .elementor-control-type-wysiwyg .mce-btn.mce-active { border-color: #d5dadf; } .elementor-control-type-wysiwyg .mce-path { padding: 5px 10px; } .elementor-control-type-wysiwyg .mce-path-item { font-size: 12px; color: #6d7882; } .elementor-control-type-wysiwyg .elementor-control-dynamic-switcher { border: none; } .elementor-control-type-text .elementor-control-dynamic-switcher { border-left-width: 0; border-radius: 0 3px 3px 0; } .elementor-control-type-text.elementor-control-dynamic input { border-radius: 3px 0 0 3px; } .ui-resizable-n { top: -5px; } .ui-resizable-e { right: -5px; } .ui-resizable-s { bottom: -5px; } .ui-resizable-w { left: -5px; } .ui-resizable-ne { top: -5px; right: -5px; } .ui-resizable-nw { top: -5px; left: -5px; } .ui-resizable-se { bottom: -5px; right: -5px; } .ui-resizable-sw { bottom: -5px; left: -5px; } .ui-resizable-n, .ui-resizable-s { left: 0; height: 10px; width: 100%; cursor: ns-resize; } .ui-resizable-e, .ui-resizable-w { top: 0; height: 100%; width: 10px; cursor: ew-resize; } .ui-resizable-ne, .ui-resizable-nw, .ui-resizable-se, .ui-resizable-sw { height: 15px; width: 15px; } .ui-resizable-nw, .ui-resizable-se { cursor: nwse-resize; } .ui-resizable-ne, .ui-resizable-sw { cursor: nesw-resize; } .ui-resizable-handle { position: absolute; } .ui-resizable-resizing { pointer-events: none; } @-webkit-keyframes placeholder-section { 0% { height: 0; opacity: 0; } 100% { height: 40px; opacity: 0.9; } } @keyframes placeholder-section { 0% { height: 0; opacity: 0; } 100% { height: 40px; opacity: 0.9; } } @-webkit-keyframes placeholder-widget { 0% { height: 0; opacity: 0; } 100% { height: 10px; opacity: 0.9; } } @keyframes placeholder-widget { 0% { height: 0; opacity: 0; } 100% { height: 10px; opacity: 0.9; } } @-webkit-keyframes section-outline { 0% { opacity: 0; } 100% { opacity: 1; } } @keyframes section-outline { 0% { opacity: 0; } 100% { opacity: 1; } } body.elementor-editor-active .elementor.elementor-edit-mode.layout-section .entry-content { overflow: visible; } body.elementor-editor-active .elementor.elementor-edit-mode .article { overflow: visible; } body.elementor-editor-active .elementor.elementor-edit-mode .elementor-element-overlay .elementor-editor-element-settings { clear: unset; } body.elementor-editor-active .elementor.elementor-edit-mode .elementor-element.elementor-section { overflow: visible; } .elementor-edit-area .animated { -webkit-animation-fill-mode: none !important; animation-fill-mode: none !important; } .elementor-edit-area ul.elementor-editor-element-settings { word-break: normal; padding: 0; } .elementor-edit-area .gallery { opacity: 1; } .pen { position: relative; outline: none; } .pen:not([data-elementor-inline-editing-toolbar=advanced]) { white-space: pre-wrap; } .pen-menu { -webkit-box-shadow: 1px 2px 3px -2px #222; box-shadow: 1px 2px 3px -2px #222; background-color: #6d7882; position: fixed; overflow: hidden; border-radius: 3px; z-index: 9999; } .pen-menu:after { top: 100%; content: ""; position: absolute; border: 6px solid transparent; border-top-color: #6d7882; left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); } .pen-menu-below:after { top: 0; -webkit-transform: translateX(-50%) translateY(-100%) rotate(180deg); -ms-transform: translateX(-50%) translateY(-100%) rotate(180deg); transform: translateX(-50%) translateY(-100%) rotate(180deg); } .pen-icon { position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; height: 35px; padding: 0 10px; font-size: 21px; color: #d5dadf; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .pen-icon:hover { background: #556068; } .pen-icon[data-group], .pen-icon[data-action=closeGroup] { display: none; } .pen-icon[data-action=close]:before { content: ""; position: absolute; left: 0; height: 60%; width: 1px; background-color: #556068; } .pen-icon.active { background-color: #556068; -webkit-box-shadow: inset 2px 2px 4px #556068; box-shadow: inset 2px 2px 4px #556068; } .pen-group-icon:after { font-family: eicons; font-size: 12px; content: "\e92a"; padding-left: 4px; color: #71d7f7; } .pen-input-wrapper { -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .pen-input-wrapper .pen-url-input { font-size: 12px; line-height: 1.5; padding: 0; padding-left: 10px; padding-right: 10px; width: 250px; direction: ltr; } .pen-input-wrapper .pen-url-input, .pen-input-wrapper .pen-url-input:focus { background-color: transparent; border: none; outline: none; -webkit-box-shadow: none; box-shadow: none; color: #fff; } .pen-input-wrapper .pen-url-input::-webkit-input-placeholder { color: #d5dadf; } .pen-input-wrapper .pen-url-input::-moz-placeholder { color: #d5dadf; } .pen-input-wrapper .pen-url-input::-ms-input-placeholder { color: #d5dadf; } .pen-input-wrapper .pen-url-input::placeholder { color: #d5dadf; } .pen-input-label { margin: 0; margin-right: -1px; } .pen-placeholder:before { content: attr(data-pen-placeholder); position: absolute; font-weight: normal; color: #757575; opacity: 0.6; } .pen-external-url-checkbox { display: none; } .pen-external-url-checkbox:checked + i { color: #fff; } .elementor-inline-editing i:not([class]) { font-style: italic; } .elementor-inline-editing b { font-weight: bold; } .elementor-inline-editing u { text-decoration: underline; } .e-element-color-picker { --primary-color: #71d7f7; --swatch-size: 25px; cursor: default; display: -webkit-box; display: -ms-flexbox; display: flex; position: absolute; width: calc((var(--count) + 1) * var(--swatch-size)); height: var(--swatch-size); top: var(--top); left: var(--left); right: var(--right, unset); border-radius: 3px; opacity: 0; pointer-events: none; z-index: 9998; background-color: var(--primary-color); padding: 1px; -webkit-box-sizing: content-box; box-sizing: content-box; -webkit-transition: opacity 0.3s, width 0.3s; -o-transition: opacity 0.3s, width 0.3s; transition: opacity 0.3s, width 0.3s; } .e-element-color-picker.e-picker-hidden { opacity: 0; pointer-events: none; } .e-element-color-picker::before { content: ""; -webkit-box-flex: 0; -ms-flex: 0 1 var(--swatch-size); flex: 0 1 var(--swatch-size); max-width: 100%; height: 100%; -webkit-box-sizing: border-box; box-sizing: border-box; text-align: center; } .e-element-color-picker::after { content: "\e91e"; font-family: "eicons"; color: #FFF; font-size: 1rem; line-height: var(--swatch-size); position: absolute; left: 0.3rem; z-index: -1; } .e-element-color-picker__swatch { -webkit-box-flex: 1; -ms-flex: 1 0 var(--swatch-size); flex: 1 0 var(--swatch-size); max-width: 100%; height: 100%; cursor: pointer; -webkit-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; position: relative; overflow: hidden; border-radius: inherit; /* Hack to fix transparent `--color` on hover */ background: -webkit-gradient(linear, left top, left bottom, from(var(--color)), to(var(--color))), -webkit-gradient(linear, left top, left bottom, from(var(--primary-color)), to(var(--primary-color))); background: -o-linear-gradient(var(--color), var(--color)), -o-linear-gradient(var(--primary-color), var(--primary-color)); background: linear-gradient(var(--color), var(--color)), linear-gradient(var(--primary-color), var(--primary-color)); } .e-element-color-picker__swatch:not(:first-child) { border-left: 1px solid var(--primary-color); } .e-element-color-picker__swatch::before { content: attr(data-text); position: absolute; left: 50%; top: 50%; opacity: 0; color: var(--color); font-size: 10px; font-weight: 300; font-family: Roboto, Arial, Helvetica, Verdana, sans-serif; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); -webkit-filter: hue-rotate(180deg) grayscale(1) contrast(999) invert(1); filter: hue-rotate(180deg) grayscale(1) contrast(999) invert(1); -webkit-transition: inherit; -o-transition: inherit; transition: inherit; } .e-element-color-picker__swatch:hover { -ms-flex-preferred-size: calc(2 * var(--swatch-size)); flex-basis: calc(2 * var(--swatch-size)); -ms-flex-negative: 0; flex-shrink: 0; } .e-element-color-picker__swatch:hover::before { opacity: 1; } .e-ui-state--elements-color-picker-color-picking__on *:not(.e-element-color-picker__swatch) { cursor: url("../images/eyedropper.svg") 0 20, pointer; } .e-ui-state--elements-color-picker-color-picking__on .e-element-color-picker:not(.e-picker-hidden):hover, .e-ui-state--elements-color-picker-color-picking__on .elementor-element:hover > .e-element-color-picker:not(.e-picker-hidden), .e-ui-state--elements-color-picker-color-picking__on .elementor-widget-container:hover + .e-element-color-picker:not(.e-picker-hidden) { opacity: 1; pointer-events: all; } .e-ui-state--elements-color-picker-color-picking__on .elementor-section:hover { outline: 1px solid #71d7f7; } [class^=eicon-flex], [class*=" eicon-flex"] { -webkit-transition: 0.3s all; -o-transition: 0.3s all; transition: 0.3s all; --is-ltr: 1; --is-rtl: 0; --rotation-direction: calc( var( --is-ltr ) - var( --is-rtl ) ); } [class^=eicon-flex].eicon-inline, [class*=" eicon-flex"].eicon-inline { max-height: 1em; max-width: 1em; } :is(.e-ui-state--document-direction-mode__column, .e-ui-state--document-direction-mode__column-reverse) [class^=eicon-flex]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow), :is(.e-ui-state--document-direction-mode__column, .e-ui-state--document-direction-mode__column-reverse) [class*=" eicon-flex"]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow) { -webkit-transform: rotate(calc(var(--rotation-direction) * 90deg)); -ms-transform: rotate(calc(var(--rotation-direction) * 90deg)); transform: rotate(calc(var(--rotation-direction) * 90deg)); } :is(.e-ui-state--document-direction-mode__column, .e-ui-state--document-direction-mode__column-reverse) [class^=eicon-flex]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow):is(.eicon-align-start-v, .eicon-align-end-v), :is(.e-ui-state--document-direction-mode__column, .e-ui-state--document-direction-mode__column-reverse) [class*=" eicon-flex"]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow):is(.eicon-align-start-v, .eicon-align-end-v) { -webkit-transform: rotate(calc(var(--rotation-direction) * -90deg)); -ms-transform: rotate(calc(var(--rotation-direction) * -90deg)); transform: rotate(calc(var(--rotation-direction) * -90deg)); } .e-ui-state--document-direction-mode__column-reverse [class^=eicon-flex]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow):is(.eicon-justify-start-h, .eicon-justify-end-h, .eicon-order-start, .eicon-order-end), .e-ui-state--document-direction-mode__column-reverse [class*=" eicon-flex"]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow):is(.eicon-justify-start-h, .eicon-justify-end-h, .eicon-order-start, .eicon-order-end) { -webkit-transform: rotate(calc(var(--rotation-direction) * -90deg)); -ms-transform: rotate(calc(var(--rotation-direction) * -90deg)); transform: rotate(calc(var(--rotation-direction) * -90deg)); } .e-ui-state--document-direction-mode__row [class^=eicon-flex]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow):is(.eicon-justify-start-h, .eicon-justify-end-h, .eicon-order-start, .eicon-order-end), .e-ui-state--document-direction-mode__row [class*=" eicon-flex"]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow):is(.eicon-justify-start-h, .eicon-justify-end-h, .eicon-order-start, .eicon-order-end) { -webkit-transform: rotate(calc(var(--is-rtl) * 180deg)); -ms-transform: rotate(calc(var(--is-rtl) * 180deg)); transform: rotate(calc(var(--is-rtl) * 180deg)); } .e-ui-state--document-direction-mode__row-reverse [class^=eicon-flex]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow):is(.eicon-justify-start-h, .eicon-justify-end-h, .eicon-order-start, .eicon-order-end), .e-ui-state--document-direction-mode__row-reverse [class*=" eicon-flex"]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow):is(.eicon-justify-start-h, .eicon-justify-end-h, .eicon-order-start, .eicon-order-end) { -webkit-transform: rotate(calc(var(--is-ltr) * 180deg)); -ms-transform: rotate(calc(var(--is-ltr) * 180deg)); transform: rotate(calc(var(--is-ltr) * 180deg)); } html.elementor-html { margin-top: 0 !important; } .elementor-edit-area { position: relative; } .elementor.loading { opacity: 0.5; } .elementor-edit-area-active { --primary-color: #71d7f7; --secondary-color: #10bcf2; --outline-color: var( --primary-color ); } .elementor-edit-area-active .e-container { --primary-color: #0098c7; --secondary-color: #007194; --outline-color: var( --primary-color ); } .elementor-edit-area-active .e-container.e-dragging-over, .elementor-edit-area-active .e-container.elementor-dragging-on-child { outline: 1px solid var(--outline-color); } .elementor-edit-area-active .elementor-inner-section:first-child { margin-top: 15px; } .elementor-edit-area-active .elementor-widget-wrap.elementor-element-empty { min-height: 30px; } @media (min-width: 768px) { .elementor-edit-area-active .elementor-widget-wrap.elementor-element-empty { margin: 10px; } } .elementor-edit-area-active .elementor-column { min-width: 25px; } .elementor-edit-area-active .elementor-widget.elementor-loading { opacity: 0.3; } .elementor-edit-area-active .elementor-widget.elementor-element-editable, .elementor-edit-area-active .elementor-widget.elementor-element-edit-mode:hover { -webkit-box-shadow: 0 0 0 1px #71d7f7; box-shadow: 0 0 0 1px #71d7f7; } .elementor-edit-area-active .elementor-widget:not(:hover) .elementor-editor-element-settings { display: none; } .elementor-edit-area-active .elementor-widget.ui-draggable-dragging { pointer-events: none; } .elementor-edit-area-active .elementor-editor-element-setting { cursor: pointer; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; padding: 0; margin: 0; font-size: 11px; color: #fff; width: 25px; -webkit-transition: margin 0.3s, width 0.3s, font 0.3s; -o-transition: margin 0.3s, width 0.3s, font 0.3s; transition: margin 0.3s, width 0.3s, font 0.3s; } .elementor-edit-area-active .elementor-inline-editing { min-height: 15px; } .elementor-edit-area-active .elementor-edit-hidden { display: none; } .elementor-section-wrap:empty { min-height: 25px; } .elementor-section-wrap > :first-child > .elementor-element-overlay { z-index: 9999; } .elementor-element > .elementor-element-overlay { position: absolute; top: 0; right: 0; letter-spacing: 0; z-index: 9998; pointer-events: none; } .elementor-element-empty .elementor-sortable-placeholder { display: none; } .elementor-element.elementor-widget-empty { background-color: rgba(213, 218, 223, 0.8); } .elementor-element.elementor-widget-empty .elementor-widget-empty-icon { color: #c2cbd2; font-size: 22px; display: block; text-align: center; padding: 10px 0; } .elementor-element:not(:hover):not(.elementor-element-editable) > .elementor-element-overlay .elementor-editor-element-settings { display: none; } .elementor-element--toggle-edit-tools > .elementor-element-overlay .elementor-editor-element-edit:not(.elementor-active) ~ * { width: 0; font-size: 0; } .elementor-element[data-side=top]:before, .elementor-element[data-side=bottom] + .elementor-element:before { content: ""; background-color: #71d7f7; -webkit-transition-timing-function: ease-out; -o-transition-timing-function: ease-out; transition-timing-function: ease-out; opacity: 0.9; height: 10px; -webkit-animation: placeholder-widget 500ms; animation: placeholder-widget 500ms; display: block; } .elementor-element[data-side=bottom]:last-child:after { content: ""; background-color: #71d7f7; -webkit-transition-timing-function: ease-out; -o-transition-timing-function: ease-out; transition-timing-function: ease-out; opacity: 0.9; height: 10px; -webkit-animation: placeholder-widget 500ms; animation: placeholder-widget 500ms; display: block; } .elementor-element.elementor-absolute, .elementor-element.elementor-fixed { cursor: -webkit-grab; cursor: grab; } .elementor-element.elementor-absolute:active, .elementor-element.elementor-fixed:active { cursor: -webkit-grabbing; cursor: grabbing; } .elementor-element.elementor-absolute .eicon-edit:before, .elementor-element.elementor-fixed .eicon-edit:before { content: "\e902"; } .elementor-section > .elementor-element-overlay, .e-container > .elementor-element-overlay { left: 0; bottom: 0; } .elementor-section > .elementor-element-overlay:after, .e-container > .elementor-element-overlay:after { position: absolute; left: 2px; right: 2px; top: 2px; bottom: 2px; outline: 2px solid var(--outline-color); -webkit-animation: section-outline 0.75s; animation: section-outline 0.75s; } .elementor-section:hover > .elementor-element-overlay:after, .elementor-section.elementor-element-editable > .elementor-element-overlay:after, .e-container:hover > .elementor-element-overlay:after, .e-container.elementor-element-editable > .elementor-element-overlay:after { content: ""; } .elementor-section-filled .elementor-sortable-placeholder.elementor-column, .e-container-filled .elementor-sortable-placeholder.elementor-column { display: none; } .elementor-section-filled .elementor-row.elementor-draggable-over, .e-container-filled .elementor-row.elementor-draggable-over { border: 1px solid #d72b3f; } .elementor-column > .elementor-element-overlay { left: 0; bottom: 0; } .elementor-column > .elementor-element-overlay:after { position: absolute; left: 0; right: 0; top: 0; bottom: 0; outline: 1px dashed #6d7882; } .elementor-column:hover > .elementor-element-overlay, .elementor-column.elementor-element-editable > .elementor-element-overlay { border: 1px solid #ffffff; } .elementor-column:hover > .elementor-element-overlay:after, .elementor-column.elementor-element-editable > .elementor-element-overlay:after { content: ""; } .elementor-column.elementor-dragging-on-child > .elementor-element-overlay { border: 1px solid #71d7f7; } .elementor-column.elementor-dragging-on-child > .elementor-element-overlay:after { display: none; } .elementor-column > .ui-resizable-e, .elementor-column > .ui-resizable-w { cursor: col-resize; width: 7px; position: absolute; right: -5px; top: 0; height: 100%; } .elementor-column:last-of-type > .ui-resizable-e, .elementor-column:last-of-type > .ui-resizable-w { display: none !important; } @media (max-width: 1024px) { .elementor-column > .ui-resizable-e, .elementor-column > .ui-resizable-w { display: none !important; } } .elementor-editor-element-settings { position: absolute; display: -webkit-box; display: -ms-flexbox; display: flex; height: 26px; list-style: none; margin: 0; padding: 0; font-family: Arial, Helvetica, sans-serif; font-size: 13px; font-weight: normal; font-style: normal; line-height: 1; z-index: 1; pointer-events: all; } @media (min-width: 1025px) { .elementor-editor-element-edit { cursor: move; } } .elementor-editor-section-settings, .elementor-editor-container-settings { height: 24px; top: 1px; left: 50%; -webkit-transform: translateX(-50%) translateY(-100%); -ms-transform: translateX(-50%) translateY(-100%); transform: translateX(-50%) translateY(-100%); background-color: var(--primary-color); border-radius: 5px 5px 0 0; -webkit-box-shadow: 0px -2px 8px rgba(0, 0, 0, 0.05); box-shadow: 0px -2px 8px rgba(0, 0, 0, 0.05); } .elementor-editor-section-settings i.eicon-handle, .elementor-editor-container-settings i.eicon-handle { font-size: 16px; } .elementor-editor-section-settings .elementor-editor-element-setting:hover, .elementor-editor-container-settings .elementor-editor-element-setting:hover { background-color: var(--secondary-color); } .elementor-editor-section-settings .elementor-editor-element-setting:first-child, .elementor-editor-container-settings .elementor-editor-element-setting:first-child { border-radius: 5px 0 0 0; } .elementor-editor-section-settings .elementor-editor-element-setting:first-child:before, .elementor-editor-container-settings .elementor-editor-element-setting:first-child:before { content: ""; position: absolute; border: solid transparent; top: 2px; border-right-color: var(--primary-color); border-width: 22px 12px 0 0; right: calc(100% - 1px); } .elementor-editor-section-settings .elementor-editor-element-setting:first-child:hover:before, .elementor-editor-container-settings .elementor-editor-element-setting:first-child:hover:before { border-right-color: var(--secondary-color); } .elementor-editor-section-settings .elementor-editor-element-setting:last-child, .elementor-editor-container-settings .elementor-editor-element-setting:last-child { border-radius: 0 5px 0 0; } .elementor-editor-section-settings .elementor-editor-element-setting:last-child:after, .elementor-editor-container-settings .elementor-editor-element-setting:last-child:after { content: ""; position: absolute; border: solid transparent; top: 2px; border-left-color: var(--primary-color); border-width: 22px 0 0 12px; left: calc(100% - 1px); } .elementor-editor-section-settings .elementor-editor-element-setting:last-child:hover:after, .elementor-editor-container-settings .elementor-editor-element-setting:last-child:hover:after { border-left-color: var(--secondary-color); } .e-handles-inside > .elementor-element-overlay > .elementor-editor-element-settings, .elementor-section--handles-inside > .elementor-element-overlay > .elementor-editor-element-settings { -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); border-radius: 0 0 5px 5px; } .e-handles-inside > .elementor-element-overlay > .elementor-editor-element-settings .elementor-editor-element-setting:first-child, .elementor-section--handles-inside > .elementor-element-overlay > .elementor-editor-element-settings .elementor-editor-element-setting:first-child { border-radius: 0 0 0 5px; } .e-handles-inside > .elementor-element-overlay > .elementor-editor-element-settings .elementor-editor-element-setting:first-child:before, .elementor-section--handles-inside > .elementor-element-overlay > .elementor-editor-element-settings .elementor-editor-element-setting:first-child:before { top: 0; border-width: 0 12px 22px 0; } .e-handles-inside > .elementor-element-overlay > .elementor-editor-element-settings .elementor-editor-element-setting:last-child, .elementor-section--handles-inside > .elementor-element-overlay > .elementor-editor-element-settings .elementor-editor-element-setting:last-child { border-radius: 0 0 5px 0; } .e-handles-inside > .elementor-element-overlay > .elementor-editor-element-settings .elementor-editor-element-setting:last-child:after, .elementor-section--handles-inside > .elementor-element-overlay > .elementor-editor-element-settings .elementor-editor-element-setting:last-child:after { top: 0; border-width: 0 0 22px 12px; } .elementor-editor-column-settings { top: -1px; left: -1px; border-radius: 0 0 3px 0; overflow: hidden; } .elementor-editor-column-settings .elementor-editor-element-setting { background-color: #495157; } .elementor-editor-column-settings .elementor-editor-element-setting:not(:hover) { background-image: -webkit-gradient(linear, left top, left bottom, from(#6d7882), to(#556068)); background-image: -o-linear-gradient(top, #6d7882, #556068); background-image: linear-gradient(to bottom, #6d7882, #556068); } .elementor-editor-widget-settings { z-index: 2; top: -1px; right: -1px; -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; border-radius: 0 0 0 3px; overflow: hidden; } .elementor-editor-widget-settings .elementor-editor-element-setting { background-color: #10bcf2; } .elementor-editor-widget-settings .elementor-editor-element-setting:not(:hover) { background-image: -webkit-gradient(linear, left bottom, left top, from(#41c9f4), to(#71d7f7)); background-image: -o-linear-gradient(bottom, #41c9f4, #71d7f7); background-image: linear-gradient(to top, #41c9f4, #71d7f7); } .elementor-empty-view { position: absolute; top: 0; bottom: 0; left: 0; right: 0; z-index: 1; } .elementor-first-add { text-align: center; border: 1px dashed #d5dadf; display: -webkit-box; display: -ms-flexbox; display: flex; height: 100%; width: 100%; position: absolute; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-first-add .elementor-icon { font-size: 19px; color: #a4afb7; cursor: pointer; } .elementor-sortable-helper { position: absolute; border-radius: 3px; background-color: #fff; text-align: center; color: #556068; -webkit-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2); box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2); cursor: move; } .elementor-sortable-helper .icon { font-size: 28px; padding-top: 15px; line-height: 1; } .elementor-sortable-helper .elementor-element-title-wrapper { display: table; width: 100%; } .elementor-sortable-helper .title { font-size: 11px; font-family: Arial, Helvetica, sans-serif; font-weight: normal; font-style: normal; display: table-cell; vertical-align: middle; height: 40px; } .elementor-editor-content-only .elementor-first-add { display: none; } .elementor-editor-content-only .elementor-section > .elementor-element-overlay { display: none; } .elementor-editor-content-only .elementor-section > .elementor-element-overlay:after { display: none; } .elementor-editor-content-only .elementor-section:hover > .elementor-element-overlay:after, .elementor-editor-content-only .elementor-section.elementor-element-editable > .elementor-element-overlay:after { display: none; } .elementor-editor-content-only .elementor-column > .elementor-element-overlay { display: none; } .elementor-editor-content-only .elementor-column > .elementor-element-overlay:after { display: none; } .elementor-editor-content-only .elementor-column:hover > .elementor-element-overlay:after, .elementor-editor-content-only .elementor-column.elementor-element-editable > .elementor-element-overlay:after { display: none; } @media (min-width: 1025px) { .elementor-editor-content-only .elementor-editor-element-edit { cursor: pointer; } } .elementor-sortable-placeholder:not(.elementor-column-placeholder) { background-color: #71d7f7; -webkit-animation-duration: 250ms; animation-duration: 250ms; opacity: 0.9; width: 100%; -ms-flex-item-align: stretch; align-self: stretch; } .e-container .elementor-first-add .elementor-sortable-placeholder:not(.elementor-column-placeholder) { -ms-flex-item-align: center; align-self: center; } .e-swappable--active > .elementor-sortable-placeholder:not(.elementor-column-placeholder) { display: none; } .elementor-section-placeholder { height: 40px; -webkit-animation-name: placeholder-section; animation-name: placeholder-section; } .elementor-column-placeholder { position: relative; } .elementor-column-placeholder:before, .elementor-column-placeholder:after { content: ""; position: absolute; top: 10px; bottom: 10px; right: 10px; left: 10px; } .elementor-column-placeholder:before { border: 1px solid #6d7882; } .elementor-column-placeholder:after { border: 1px dashed #fff; } .elementor-widget-placeholder { height: 10px; -webkit-animation-name: placeholder-widget; animation-name: placeholder-widget; } .elementor-draggable-over:not([data-dragged-element=section]):not([data-dragged-is-inner=true]) > .elementor-empty-view > .elementor-first-add:after, .elementor-first-add.elementor-html5dnd-current-element:after { content: ""; background-color: #71d7f7; -webkit-transition-timing-function: ease-out; -o-transition-timing-function: ease-out; transition-timing-function: ease-out; opacity: 0.9; height: 10px; -webkit-animation: placeholder-widget 500ms; animation: placeholder-widget 500ms; width: 100%; } .e-container .elementor-draggable-over:not([data-dragged-element=section]):not([data-dragged-is-inner=true]) > .elementor-empty-view > .elementor-first-add:after, .e-container .elementor-first-add.elementor-html5dnd-current-element:after { display: none; } .elementor-draggable-over:not([data-dragged-element=section]):not([data-dragged-is-inner=true]) > .elementor-empty-view > .elementor-first-add .elementor-icon, .elementor-first-add.elementor-html5dnd-current-element .elementor-icon { display: none; } .elementor-draggable-over[data-dragged-element=section][data-dragged-is-inner=true] .elementor-inner-column .elementor-sortable-placeholder { display: none; } .elementor-add-section { all: initial; display: -webkit-box; display: -ms-flexbox; display: flex; max-width: 1160px; position: relative; margin-inline: auto; } .elementor-add-section:not(.elementor-dragging-on-child) .elementor-add-section-inner { border: 2px dashed #d5dadf; background-color: rgba(255, 255, 255, 0.5); } .elementor-add-section.elementor-dragging-on-child .elementor-add-section-inner { border: 3px dashed #71d7f7; } .elementor-add-section[data-view=choose-action] .e-view:not(.elementor-add-new-section) { display: none; } .elementor-add-section[data-view=select-preset] .e-view:not(.elementor-select-preset) { display: none; } .elementor-add-section[data-view=select-container-preset] .e-view:not(.e-container-select-preset) { display: none; } .elementor-add-section-inner { text-align: center; margin: 20px; padding: 40px 0; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; } .elementor-add-new-section { display: inline-block; } .elementor-add-new-section .elementor-add-section-area-button { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; height: 40px; width: 40px; color: #fff; font-size: 16px; border-radius: 50%; -webkit-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; cursor: pointer; } .elementor-add-new-section .elementor-add-section-area-button:hover { opacity: 0.85; -webkit-box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2); box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2); } .elementor-add-new-section .elementor-add-section-area-button:active { -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.1); box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.1); } .elementor-add-new-section .elementor-add-section-button { background-color: #93003c; -webkit-margin-start: 5px; margin-inline-start: 5px; } .elementor-add-new-section .elementor-add-template-button { background-color: #6d7882; margin-left: 5px; } .elementor-add-section-drag-title { font-family: Arial, Helvetica, sans-serif; font-size: 13px; font-weight: normal; font-style: italic; line-height: 1; color: #556068; margin-top: 15px; } .elementor-add-section-close { position: absolute; right: 40px; top: 40px; font-size: 20px; cursor: pointer; line-height: 1; color: #d5dadf; } .elementor-add-section-close:hover { color: #6d7882; } .elementor-select-preset-title { font-family: Arial, Helvetica, sans-serif; font-size: 13px; font-weight: 500; font-style: normal; text-transform: uppercase; color: #556068; } .elementor-select-preset-list { list-style: none; padding: 0 25px; margin: 20px auto 0; overflow: hidden; max-width: 700px; } .elementor-select-preset-list .elementor-preset { cursor: pointer; margin: 0; padding: 10px; float: left; max-width: 33.333%; } .elementor-select-preset-list .elementor-preset:hover path, .elementor-select-preset-list .elementor-preset:hover rect { fill: #6d7882; } .elementor-select-preset-list .elementor-preset:not(:hover) path, .elementor-select-preset-list .elementor-preset:not(:hover) rect { fill: #d5dadf; } .elementor-select-preset-list .elementor-preset .e-preset--container { position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; } .elementor-select-preset-list .elementor-preset .e-preset--container::before { content: var(--text); font-family: Roboto, Arial, Helvetica, Verdana, sans-serif; font-size: 13px; font-weight: 500; position: absolute; left: 50%; top: 50%; color: #ffffff; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); } .elementor-select-preset-list .elementor-preset svg { height: 50px; width: 100%; } #elementor-add-new-section { margin: 60px auto; } #elementor-add-new-section[data-view=choose-action] .elementor-add-section-close { display: none; } .elementor-add-section-inline { margin: 10px auto; width: 100%; } .elementor-column-percents-tooltip { position: absolute; display: none; pointer-events: none; top: 50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); color: #fff; font-size: 10px; background-color: #556068; width: 40px; padding: 3.5px 0; text-align: center; z-index: 1; line-height: 1; } .elementor-column-percents-tooltip:after { content: ""; position: absolute; width: 0; height: 0; border: 8.5px solid transparent; top: 0; } .elementor-column-percents-tooltip[data-side=left] { border-radius: 3px 0 0 3px; right: 15px; } .elementor-column-percents-tooltip[data-side=left]:after { left: 100%; border-left-color: #556068; border-right-width: 0; } .elementor-column-percents-tooltip[data-side=right] { border-radius: 0 3px 3px 0; left: 15px; } .elementor-column-percents-tooltip[data-side=right]:after { right: 100%; border-right-color: #556068; border-left-width: 0; } .elementor-editor-preview .elementor-element-overlay, .elementor-editor-preview .elementor-empty, .elementor-editor-preview .elementor-add-section, .elementor-editor-preview .elementor-add-section-inline, .elementor-editor-preview .elementor-empty-view, .elementor-editor-preview .elementor-widget-empty { display: none; } .e-preview--show-hidden-elements[data-elementor-device-mode=widescreen] .elementor-edit-area-active .elementor-hidden-widescreen, .e-preview--show-hidden-elements[data-elementor-device-mode=desktop] .elementor-edit-area-active .elementor-hidden-desktop, .e-preview--show-hidden-elements[data-elementor-device-mode=laptop] .elementor-edit-area-active .elementor-hidden-laptop, .e-preview--show-hidden-elements[data-elementor-device-mode=tablet_extra] .elementor-edit-area-active .elementor-hidden-tablet_extra, .e-preview--show-hidden-elements[data-elementor-device-mode=tablet] .elementor-edit-area-active .elementor-hidden-tablet, .e-preview--show-hidden-elements[data-elementor-device-mode=mobile_extra] .elementor-edit-area-active .elementor-hidden-mobile_extra, .e-preview--show-hidden-elements[data-elementor-device-mode=mobile] .elementor-edit-area-active .elementor-hidden-mobile { display: inherit; background: -o-repeating-linear-gradient(325deg, rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 1px, transparent 2px, transparent 9px); background: repeating-linear-gradient(125deg, rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 1px, transparent 2px, transparent 9px); border: 1px solid rgba(0, 0, 0, 0.02); } .e-preview--show-hidden-elements[data-elementor-device-mode=widescreen] .elementor-edit-area-active .elementor-hidden-widescreen.elementor-section > .elementor-element-overlay, .e-preview--show-hidden-elements[data-elementor-device-mode=desktop] .elementor-edit-area-active .elementor-hidden-desktop.elementor-section > .elementor-element-overlay, .e-preview--show-hidden-elements[data-elementor-device-mode=laptop] .elementor-edit-area-active .elementor-hidden-laptop.elementor-section > .elementor-element-overlay, .e-preview--show-hidden-elements[data-elementor-device-mode=tablet_extra] .elementor-edit-area-active .elementor-hidden-tablet_extra.elementor-section > .elementor-element-overlay, .e-preview--show-hidden-elements[data-elementor-device-mode=tablet] .elementor-edit-area-active .elementor-hidden-tablet.elementor-section > .elementor-element-overlay, .e-preview--show-hidden-elements[data-elementor-device-mode=mobile_extra] .elementor-edit-area-active .elementor-hidden-mobile_extra.elementor-section > .elementor-element-overlay, .e-preview--show-hidden-elements[data-elementor-device-mode=mobile] .elementor-edit-area-active .elementor-hidden-mobile.elementor-section > .elementor-element-overlay { background-color: #d5dadf; mix-blend-mode: color; } .e-preview--show-hidden-elements[data-elementor-device-mode=widescreen] .elementor-edit-area-active .elementor-hidden-widescreen.elementor-section:before, .e-preview--show-hidden-elements[data-elementor-device-mode=desktop] .elementor-edit-area-active .elementor-hidden-desktop.elementor-section:before, .e-preview--show-hidden-elements[data-elementor-device-mode=laptop] .elementor-edit-area-active .elementor-hidden-laptop.elementor-section:before, .e-preview--show-hidden-elements[data-elementor-device-mode=tablet_extra] .elementor-edit-area-active .elementor-hidden-tablet_extra.elementor-section:before, .e-preview--show-hidden-elements[data-elementor-device-mode=tablet] .elementor-edit-area-active .elementor-hidden-tablet.elementor-section:before, .e-preview--show-hidden-elements[data-elementor-device-mode=mobile_extra] .elementor-edit-area-active .elementor-hidden-mobile_extra.elementor-section:before, .e-preview--show-hidden-elements[data-elementor-device-mode=mobile] .elementor-edit-area-active .elementor-hidden-mobile.elementor-section:before { content: ""; display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(255, 255, 255, 0.6); z-index: 9997; } .e-preview--show-hidden-elements[data-elementor-device-mode=widescreen] .elementor-edit-area-active .elementor-hidden-widescreen.elementor-inner-section .elementor-container, .e-preview--show-hidden-elements[data-elementor-device-mode=desktop] .elementor-edit-area-active .elementor-hidden-desktop.elementor-inner-section .elementor-container, .e-preview--show-hidden-elements[data-elementor-device-mode=laptop] .elementor-edit-area-active .elementor-hidden-laptop.elementor-inner-section .elementor-container, .e-preview--show-hidden-elements[data-elementor-device-mode=tablet_extra] .elementor-edit-area-active .elementor-hidden-tablet_extra.elementor-inner-section .elementor-container, .e-preview--show-hidden-elements[data-elementor-device-mode=tablet] .elementor-edit-area-active .elementor-hidden-tablet.elementor-inner-section .elementor-container, .e-preview--show-hidden-elements[data-elementor-device-mode=mobile_extra] .elementor-edit-area-active .elementor-hidden-mobile_extra.elementor-inner-section .elementor-container, .e-preview--show-hidden-elements[data-elementor-device-mode=mobile] .elementor-edit-area-active .elementor-hidden-mobile.elementor-inner-section .elementor-container { width: 100%; } .e-preview--show-hidden-elements[data-elementor-device-mode=widescreen] .elementor-edit-area-active .elementor-hidden-widescreen > .elementor-widget-container, .e-preview--show-hidden-elements[data-elementor-device-mode=widescreen] .elementor-edit-area-active .elementor-hidden-widescreen > .elementor-widget-wrap, .e-preview--show-hidden-elements[data-elementor-device-mode=desktop] .elementor-edit-area-active .elementor-hidden-desktop > .elementor-widget-container, .e-preview--show-hidden-elements[data-elementor-device-mode=desktop] .elementor-edit-area-active .elementor-hidden-desktop > .elementor-widget-wrap, .e-preview--show-hidden-elements[data-elementor-device-mode=laptop] .elementor-edit-area-active .elementor-hidden-laptop > .elementor-widget-container, .e-preview--show-hidden-elements[data-elementor-device-mode=laptop] .elementor-edit-area-active .elementor-hidden-laptop > .elementor-widget-wrap, .e-preview--show-hidden-elements[data-elementor-device-mode=tablet_extra] .elementor-edit-area-active .elementor-hidden-tablet_extra > .elementor-widget-container, .e-preview--show-hidden-elements[data-elementor-device-mode=tablet_extra] .elementor-edit-area-active .elementor-hidden-tablet_extra > .elementor-widget-wrap, .e-preview--show-hidden-elements[data-elementor-device-mode=tablet] .elementor-edit-area-active .elementor-hidden-tablet > .elementor-widget-container, .e-preview--show-hidden-elements[data-elementor-device-mode=tablet] .elementor-edit-area-active .elementor-hidden-tablet > .elementor-widget-wrap, .e-preview--show-hidden-elements[data-elementor-device-mode=mobile_extra] .elementor-edit-area-active .elementor-hidden-mobile_extra > .elementor-widget-container, .e-preview--show-hidden-elements[data-elementor-device-mode=mobile_extra] .elementor-edit-area-active .elementor-hidden-mobile_extra > .elementor-widget-wrap, .e-preview--show-hidden-elements[data-elementor-device-mode=mobile] .elementor-edit-area-active .elementor-hidden-mobile > .elementor-widget-container, .e-preview--show-hidden-elements[data-elementor-device-mode=mobile] .elementor-edit-area-active .elementor-hidden-mobile > .elementor-widget-wrap { -webkit-filter: opacity(0.4) saturate(0); filter: opacity(0.4) saturate(0); } .e-preview--show-hidden-elements[data-elementor-device-mode=widescreen] .elementor-edit-area-active .elementor-hidden-widescreen.elementor-edit-hidden, .e-preview--show-hidden-elements[data-elementor-device-mode=desktop] .elementor-edit-area-active .elementor-hidden-desktop.elementor-edit-hidden, .e-preview--show-hidden-elements[data-elementor-device-mode=laptop] .elementor-edit-area-active .elementor-hidden-laptop.elementor-edit-hidden, .e-preview--show-hidden-elements[data-elementor-device-mode=tablet_extra] .elementor-edit-area-active .elementor-hidden-tablet_extra.elementor-edit-hidden, .e-preview--show-hidden-elements[data-elementor-device-mode=tablet] .elementor-edit-area-active .elementor-hidden-tablet.elementor-edit-hidden, .e-preview--show-hidden-elements[data-elementor-device-mode=mobile_extra] .elementor-edit-area-active .elementor-hidden-mobile_extra.elementor-edit-hidden, .e-preview--show-hidden-elements[data-elementor-device-mode=mobile] .elementor-edit-area-active .elementor-hidden-mobile.elementor-edit-hidden { display: none; } .e-container-select-preset { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; gap: 25px; } .e-container-select-preset[data-view=choose-preset] > *:not(.e-container-select-preset__inner) { display: none; } .e-container-select-preset[data-view=drop-area] > *:not(.elementor-first-add) { display: none; } .e-container-select-preset__title { font-family: Roboto, Arial, Helvetica, Verdana, sans-serif; font-size: 13px; font-weight: 500; text-transform: uppercase; color: #556068; } .e-container-select-preset__list { display: -webkit-box; display: -ms-flexbox; display: flex; gap: 20px; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -ms-flex-wrap: wrap; flex-wrap: wrap; max-width: 650px; } .e-container-select-preset__list .e-container-preset { cursor: pointer; -ms-flex-preferred-size: 90px; flex-basis: 90px; } .e-container-select-preset__list .e-container-preset svg { width: 100%; height: auto; } .e-container-select-preset__list .e-container-preset path { fill: #ffffff; } .e-container-select-preset__list .e-container-preset rect { fill: #d5dadf; -webkit-transition: 0.3s all; -o-transition: 0.3s all; transition: 0.3s all; } .e-container-select-preset__list .e-container-preset:hover rect { fill: #6d7882; } /*# sourceMappingURL=editor-preview.css.map */assets/css/editor-preview-legacy-rtl.min.css000064400000001022152377341010015136 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ .elementor-edit-area-active .elementor-inner-section>.elementor-container>.elementor-row,.elementor-edit-area-active .elementor-top-section>.elementor-container>.elementor-row{min-height:40px}.elementor-edit-area-active .elementor-column-wrap.elementor-element-empty .elementor-widget-wrap{min-height:30px}@media (min-width:768px){.elementor-edit-area-active .elementor-column-wrap.elementor-element-empty .elementor-widget-wrap{margin:10px}}.elementor-edit-area-active .handle{display:none}assets/css/editor-dark-mode.css000064400000074360152377341010012514 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ body { color: #E0E1E3; } body .pcr-app { background-color: #4C4F56; -webkit-box-shadow: 0 0.15em 1.5em 0 rgba(0, 0, 0, 0.5), 0 0 1em 0 rgba(0, 0, 0, 0.05); box-shadow: 0 0.15em 1.5em 0 rgba(0, 0, 0, 0.5), 0 0 1em 0 rgba(0, 0, 0, 0.05); } body .pcr-app .pcr-swatches > button:after { -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.3); box-shadow: 0 0 3px rgba(0, 0, 0, 0.3); } body .pcr-app .pcr-clear { color: #E0E1E3; background-color: #64666A; } body .pcr-app .pcr-interaction .pcr-result { color: #E0E1E3; border-color: #64666A; } body .pcr-app .pcr-interaction .pcr-result:focus { border-color: #7D7E82; } body .pcr-swatch.pcr-active:after { -webkit-box-shadow: 0 0 0 1px #71d7f7, inset 0 0 0 1px #4C4F56; box-shadow: 0 0 0 1px #71d7f7, inset 0 0 0 1px #4C4F56; } body .pcr-swatch.pcr-active ~ .elementor-color-picker__add-swatch { background-color: #64666A; } body .pcr-swatch.pcr-active ~ .elementor-color-picker__add-swatch i { color: #E0E1E3; } .pickr { background-color: #34383C; border-color: #64666A; } .e-control-color--no-value .pcr-button { border-color: #64666A; } .e-global__popover-toggle { border-color: #64666A; background-color: #34383C; } .e-global__popover-container { background-color: #4C4F56; color: #E0E1E3; } .e-global__popover-title { border-bottom-color: #404349; } .e-global__color-title, .e-global__manage-button, .e-global__popover-title { color: #E0E1E3; } .e-global__manage-button { border-top-color: #404349; } .e-global__preview-item:hover { background-color: #404349; } .elementor-control-type-global-style-repeater .elementor-button-wrapper { border-top-color: #34383C; } .elementor-control-type-global-style-repeater .elementor-repeater-fields.ui-sortable-helper { background-color: #404349; } .e-control-tool { background-color: #34383C; border-color: #E0E1E3; } .e-control-tool i { color: #E0E1E3; } #elementor-loading { background-color: #34383C; } .elementor-loader { background-color: #4C4F56; } .elementor-safe-mode-toast { background-color: #4C4F56; } .elementor-safe-mode-toast header h2, .elementor-safe-mode-toast .elementor-toast-content { color: #E0E1E3; } .elementor-units-choices input.e-units-placeholder + label { color: #B4B5B7; } input, select, textarea, .elementor-input-style { color: #E0E1E3; background-color: #34383C; } input:not(:focus), select:not(:focus), textarea:not(:focus), .elementor-input-style:not(:focus) { border-color: #64666A; } input:focus, select:focus, textarea:focus, .elementor-input-style:focus { border-color: #7D7E82; } input[disabled], select[disabled], textarea[disabled], .elementor-input-style[disabled] { background-color: #4C4F56; } input::-webkit-input-placeholder, select::-webkit-input-placeholder, textarea::-webkit-input-placeholder, .elementor-input-style::-webkit-input-placeholder { color: #64666A; } input::-moz-placeholder, select::-moz-placeholder, textarea::-moz-placeholder, .elementor-input-style::-moz-placeholder { color: #64666A; } input::-ms-input-placeholder, select::-ms-input-placeholder, textarea::-ms-input-placeholder, .elementor-input-style::-ms-input-placeholder { color: #64666A; } input::placeholder, select::placeholder, textarea::placeholder, .elementor-input-style::placeholder { color: #64666A; } select { background-color: #34383C; } .elementor-button.elementor-button-default { background-color: #64666A; } .elementor-button.elementor-button-default:hover { background-color: #4C4F56; } .elementor-button.elementor-button-success[disabled] { background-color: #64666A; } .elementor-button.elementor-button-danger { background-color: #F84343; } #elementor-mode-switcher { background-color: #34383C; } #elementor-mode-switcher:hover { background-color: #71D7F7; } .elementor-control-dynamic-switcher { background-color: #34383C; border-color: #64666A; color: #E0E1E3; } .elementor-tags-list { background-color: #4C4F56; border-color: #64666A; } .elementor-tags-list__group-title { color: #B4B5B7; } .elementor-tags-list__item:hover { background-color: #404349; } .elementor-tag-settings-popup { background-color: #34383C; -webkit-box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.8); box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.8); } .elementor-tag-settings-popup:before { border-bottom-color: #404349; } .elementor-panel { background-color: #34383C; } .elementor-panel a { color: #71D7F7; } .elementor-panel #elementor-panel-header { background-color: #26292C; } .elementor-panel .elementor-panel-navigation { background-color: #404349; } .elementor-panel .elementor-panel-navigation .elementor-panel-navigation-tab.elementor-active { background-image: -webkit-gradient(linear, left top, left bottom, from(#34383C), to(#4C4F56)); background-image: -o-linear-gradient(top, #34383C, #4C4F56); background-image: linear-gradient(to bottom, #34383C, #4C4F56); border-bottom-color: #71D7F7; } .elementor-panel .elementor-panel-navigation .elementor-panel-navigation-tab a { color: #E0E1E3; } .elementor-panel #elementor-panel-elements-search-area { background-color: #34383C; } .elementor-panel #elementor-panel-elements-search-input { background-color: #4C4F56; color: #E0E1E3; } .elementor-panel #elementor-panel-elements-search-input:focus { background-color: #404349; color: #E0E1E3; } .elementor-panel #elementor-panel-elements-search-input:focus + i { color: #E0E1E3; } .elementor-panel .elementor-element { background-color: #404349; } .elementor-panel .elementor-element .title, .elementor-panel .elementor-element .icon { color: #E0E1E3; } .elementor-panel .elementor-element:hover .title, .elementor-panel .elementor-element:hover .icon { color: #71D7F7; } .elementor-panel .elementor-element > .eicon-lock { color: #64666A; } .elementor-panel .widget-inside { background-color: inherit; } .elementor-panel #elementor-panel-footer { background-color: #26292C; } .elementor-panel .elementor-panel-footer-sub-menu-wrapper { background-color: #34383C; border-top: 1px solid #4C4F56; } .elementor-panel .elementor-panel-footer-sub-menu-item { background-color: #404349; } .elementor-panel .elementor-panel-footer-sub-menu-item:hover, .elementor-panel .elementor-panel-footer-sub-menu-item.active { background-color: #4C4F56; } .elementor-panel #elementor-panel-footer-saver-options { border-color: #26292C; } .elementor-panel .elementor-controls-popover { background-color: #4C4F56; -webkit-box-shadow: 0 2px 15px rgba(0, 0, 0, 0.5); box-shadow: 0 2px 15px rgba(0, 0, 0, 0.5); } .elementor-panel .elementor-controls-popover:before { border-bottom-color: #4C4F56; } .elementor-panel .elementor-controls-popover .elementor-control-responsive-switchers__holder { background-color: #4C4F56; } .elementor-panel .elementor-panel-alert { background-color: #4C4F56; } .elementor-panel .elementor-panel-alert.elementor-panel-alert-info { background-color: #4C4F56; } .elementor-panel #elementor-panel__editor__help__link { color: #B4B5B7; } .elementor-panel #elementor-panel__editor__help__link:hover { color: #E0E1E3; } .elementor-panel #elementor-panel-global-widget > * { background-color: #404349; } .elementor-panel #elementor-global-widget-locked-unlink { border-top-color: #34383C; } .elementor-panel .elementor-panel-scheme-color-system-items { background-color: #34383C; border-color: #64666A; } .elementor-panel .elementor-panel-menu-item { background-color: #404349; } .elementor-panel .elementor-panel-menu-item:hover { background-color: #4C4F56; } .elementor-panel .elementor-panel-menu-item a { color: #E0E1E3; } .elementor-panel .elementor-panel-menu-item-icon { color: #B4B5B7; } .elementor-control { background-color: #404349; } .elementor-control.elementor-control-separator-before:before, .elementor-control.elementor-control-separator-after:after { background-color: #34383C; } .elementor-control.elementor-control-type-divider .elementor-control-content { background-color: #404349; border-color: #34383C; } .elementor-control.elementor-control-type-select .elementor-control-input-wrapper select.e-select-placeholder { color: #64666A; } .elementor-control-responsive-switchers__holder { background-color: #404349; } .elementor-control-responsive-switchers.elementor-responsive-switchers-open .elementor-control-responsive-switchers__holder { -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.5); box-shadow: 0 0 3px rgba(0, 0, 0, 0.5); } a.elementor-responsive-switcher { color: #E0E1E3; } a.elementor-responsive-switcher:hover { color: #71D7F7; } .elementor-device-widescreen .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-widescreen { color: #71D7F7; } .elementor-device-desktop .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-desktop { color: #71D7F7; } .elementor-device-laptop .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-laptop { color: #71D7F7; } .elementor-device-tablet_extra .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-tablet_extra { color: #71D7F7; } .elementor-device-tablet .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-tablet { color: #71D7F7; } .elementor-device-mobile_extra .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-mobile_extra { color: #71D7F7; } .elementor-device-mobile .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-mobile { color: #71D7F7; } .elementor-control-type-popover_toggle .elementor-control-popover-toggle-toggle-label { background-color: #34383C; border-color: #64666A; } .elementor-control-type-popover_toggle .elementor-control-responsive-switchers__holder { background-color: #4C4F56; } .elementor-control-media-upload-button { background-color: #34383C; } .elementor-control-media__remove { background-color: #64666A; color: #B4B5B7; } .elementor-control-media .elementor-control-input-wrapper { border-color: #64666A; } .elementor-control-media .eicon-plus-circle { color: #E0E1E3; } .elementor-control-media .elementor-control-media__tool { background-color: #7D7E82; } .elementor-control-media__file, .elementor-control-media__file__controls { border-color: #64666A; } .elementor-control-media-area, .pcr-app[data-theme=monolith] .pcr-color-palette, .pcr-button { background-image: -o-linear-gradient(45deg, #34383C 25%, transparent 0, transparent 75%, #34383C 0, #34383C), -o-linear-gradient(45deg, #34383C 25%, transparent 0, transparent 75%, #34383C 0, #34383C); background-image: linear-gradient(45deg, #34383C 25%, transparent 0, transparent 75%, #34383C 0, #34383C), linear-gradient(45deg, #34383C 25%, transparent 0, transparent 75%, #34383C 0, #34383C); background-size: 12px 12px; background-position: 0 0, 6px 6px; background-color: #64666A; } .elementor-control-type-icons .elementor-control-media__preview i { color: #B4B5B7; } .elementor-control-type-media .elementor-control-media__preview { background-color: #34383C; } .elementor-control-type-gallery .elementor-control-gallery-clear:hover { color: #F84343; } .elementor-control-type-gallery .elementor-control-gallery-add { background-color: #34383C; } .elementor-control-type-gallery .elementor-control-gallery-add:hover { background-color: #4C4F56; } .elementor-control-type-gallery .elementor-control-gallery-status, .elementor-control-type-gallery .elementor-control-media__content { border-color: #64666A; } .elementor-control-type-gallery.elementor-control-dynamic .elementor-control-gallery-clear { border-color: #64666A; } .elementor-control-type-gallery .elementor-control-dynamic-switcher { border-bottom: 1px solid #64666A; border-left: 1px solid #64666A; border-radius: 0 3px 0 0; } body.rtl .elementor-control-type-gallery .elementor-control-dynamic-switcher { border-right: 1px solid #64666A; border-left: none; } .elementor-control-type-url .elementor-control-url-more { background-color: #34383C; border-color: #64666A; } .elementor-control-type-url .elementor-control-url-option-input { border-color: #64666A; } .elementor-control-type-url .elementor-control-url-option-input:checked { background-color: #64666A; } .elementor-control-type-url .elementor-input:focus ~ div { border-color: #7D7E82; } .elementor-control-type-wysiwyg .wp-editor-container { border-color: #64666A; } .elementor-control-type-wysiwyg .mce-menubtn button, .elementor-control-type-wysiwyg .mce-ico, .elementor-control-type-wysiwyg .wp-switch-editor { color: #E0E1E3; } .elementor-control-type-wysiwyg .wp-editor-tabs { border-color: #7D7E82; } .elementor-control-type-wysiwyg .switch-html { border-color: #7D7E82; } .elementor-control-type-wysiwyg #insert-media-button, .elementor-control-type-wysiwyg .html-active .switch-html, .elementor-control-type-wysiwyg .mce-toolbar-grp, .elementor-control-type-wysiwyg .quicktags-toolbar, .elementor-control-type-wysiwyg .tmce-active .switch-tmce { background-color: #64666A; } .elementor-control-type-wysiwyg #insert-media-button { color: #E0E1E3; border-color: #7D7E82; } .elementor-control-type-wysiwyg .mce-toolbar .mce-btn-group .mce-btn.mce-active, .elementor-control-type-wysiwyg .mce-toolbar .mce-btn-group .mce-btn:active, .elementor-control-type-wysiwyg .qt-dfw.active, .elementor-control-type-wysiwyg .mce-toolbar .mce-btn-group .mce-btn:hover, .elementor-control-type-wysiwyg .mce-toolbar .mce-btn-group .mce-btn:focus, .elementor-control-type-wysiwyg .qt-dfw:hover, .elementor-control-type-wysiwyg .qt-dfw:focus { background-color: #404349; -webkit-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.08), 0 1px 0 rgba(0, 0, 0, 0.08); box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.08), 0 1px 0 rgba(0, 0, 0, 0.08); } .elementor-control-type-wysiwyg .mce-toolbar .mce-btn-group .mce-btn.mce-listbox { background-color: #404349; border-color: #7D7E82; border-radius: 3px; } .elementor-control-type-wysiwyg .quicktags-toolbar { border-color: #7D7E82; } .elementor-control-type-wysiwyg .wp-core-ui .button, .elementor-control-type-wysiwyg .wp-core-ui .button-secondary { background-color: #4C4F56; color: #E0E1E3; border-color: #7D7E82; } .elementor-control-type-wysiwyg .wp-core-ui .button:hover, .elementor-control-type-wysiwyg .wp-core-ui .button-secondary:hover { background-color: #404349; border-color: #7D7E82; } .elementor-choices .elementor-choices-label, .elementor-choices .elementor-choices-label:last-child { background-color: #34383C; border-color: #64666A; } .elementor-choices input.e-choose-placeholder + .elementor-choices-label { background-color: #64666A; border-color: #64666A; } .elementor-choices input:checked + .elementor-choices-label { background-color: #7D7E82; border-color: #7D7E82; } .elementor-control-type-repeater .elementor-repeater-row-tools { background-color: #64666A; color: #E0E1E3; } .elementor-control-type-repeater .elementor-repeater-row-tools:hover { background-color: #7D7E82; } .elementor-control-type-repeater .elementor-repeater-row-tools > div:not(.elementor-repeater-row-handle-sortable) { background-color: #404349; } .elementor-control-type-repeater .elementor-repeater-row-tools > div:not(.elementor-repeater-row-handle-sortable):hover { background-color: #464950; } .elementor-control-type-repeater .elementor-repeater-row--form-step .elementor-repeater-row-tools:hover { background-color: #7D7E82; } .elementor-control-type-repeater .elementor-repeater-row--form-step .elementor-repeater-row-tools div:not(.elementor-repeater-row-handle-sortable) { background-color: #4C4F56; } .elementor-control-type-repeater .elementor-repeater-row--form-step .elementor-repeater-row-tools div:not(.elementor-repeater-row-handle-sortable):hover { background-color: #64666A; } .elementor-control-type-repeater .elementor-repeater-row-controls { border-color: #64666A; } .elementor-control-type-tab { background-color: #34383C; border-color: #64666A; } .elementor-control-type-tab:first-child { border-color: #64666A; } .elementor-control-type-tab.elementor-tab-active { background-color: #7D7E82; border-color: #7D7E82; } .elementor-control-type-slider--handles-range .elementor-slider .noUi-handle:after { background-color: #E0E1E3; } .elementor-slider { background-color: #64666A; } .elementor-slider .noUi-handle { background-color: #E0E1E3; } .elementor-control-type-dimensions li input, .elementor-control-type-dimensions li .elementor-link-dimensions { border-color: #64666A; } .elementor-control-type-dimensions li input:focus { border-color: #7D7E82; } .elementor-control-type-dimensions li:first-child input { border-color: #64666A; } .elementor-control-type-dimensions li:first-child input:focus { border-color: #7D7E82; } .elementor-control-type-dimensions .elementor-link-dimensions.unlinked { background-color: #34383C; color: #E0E1E3; } .elementor-control-type-dimensions .elementor-link-dimensions:not(.unlinked) { background-color: #7D7E82; border-color: #7D7E82; } .elementor-control-type-switcher .elementor-switch-label { background-color: #34383C; } .elementor-control-type-switcher .elementor-switch-label:before { text-shadow: 0 1px rgba(0, 0, 0, 0.8); } .elementor-control-type-switcher .elementor-switch-input:checked ~ .elementor-switch-label { background-color: #71D7F7; } .elementor-control-type-switcher .elementor-switch-handle { background-color: #E0E1E3; } .elementor-control-type-structure .elementor-control-structure-preset path { fill: #34383C; } .elementor-control-type-structure .elementor-control-structure-presets input:checked + .elementor-control-structure-preset path { fill: #64666A; } .elementor-control-type-structure .elementor-control-structure-reset { border-top-color: #34383C; } .elementor-panel-heading { border-bottom-color: #34383C; } .elementor-panel-heading-toggle, .elementor-panel-heading-title { color: #E0E1E3; } .select2-container .e-select2-placeholder { color: #64666A; } .select2-container:not(.select2-container--open):not(.select2-container--focus) .select2-selection--single, .select2-container:not(.select2-container--open):not(.select2-container--focus) .select2-selection--multiple { background-color: #34383C; color: #E0E1E3; border-color: #64666A; } .select2-container:not(.select2-container--all-selected) .select2-selection--multiple .select2-search--inline::before { background-color: #4C4F56; color: #B4B5B7; } .select2-container.select2-container--open .select2-selection--single, .select2-container.select2-container--open .select2-selection--multiple, .select2-container.select2-container--focus .select2-selection--single, .select2-container.select2-container--focus .select2-selection--multiple { border-color: #7D7E82; } .select2-container.select2-container--default .select2-selection--single .select2-selection__rendered { color: #E0E1E3; } .select2-container.select2-container--default .select2-selection--single { background-color: #34383C; border-color: #4C4F56; } .select2-container.select2-container--default .select2-selection--multiple { background-color: #34383C; } .select2-container.select2-container--default .select2-selection--multiple .select2-selection__choice { background-color: #4C4F56; border-color: #4C4F56; } .select2-container.select2-container--default .select2-selection--multiple .select2-selection__choice__remove { color: #B4B5B7; } .select2-container.select2-container--default .select2-results__option--highlighted[aria-selected] { background-color: #4C4F56; color: #E0E1E3; } .select2-container .select2-results__option[aria-selected=true] { color: #FFF; } .select2-container .select2-dropdown { background-color: #34383C; border-color: #7D7E82; } #elementor-element--promotion__dialog { background-color: #404349; -webkit-box-shadow: 0 2px 15px rgba(0, 0, 0, 0.5); box-shadow: 0 2px 15px rgba(0, 0, 0, 0.5); } #elementor-element--promotion__dialog:after { border-right-color: #404349; } #elementor-element--promotion__dialog .dialog-header { color: #E0E1E3; border-bottom-color: #64666A; } #elementor-element--promotion__dialog .dialog-header .eicon-pro-icon { color: #B4B5B7; } #elementor-element--promotion__dialog .dialog-header .eicon-close { color: #B4B5B7; } body.rtl #elementor-element--promotion__dialog:after { border-left-color: #475158; } .dialog-type-lightbox { background-color: rgba(0, 0, 0, 0.65); } .dialog-type-lightbox .dialog-header { color: #E0E1E3; } .dialog-type-lightbox .dialog-widget-content { background-color: #34383C; } .dialog-type-lightbox .dialog-buttons-wrapper > .dialog-button { color: #E0E1E3; } .dialog-type-lightbox .dialog-buttons-wrapper > .dialog-button.dialog-ok { color: #F84343; } .dialog-type-lightbox .dialog-buttons-wrapper > .dialog-button:hover { background-color: #4C4F56; } .dialog-type-lightbox .dialog-buttons-wrapper, .dialog-type-lightbox .dialog-button:first-child { border-color: #4C4F56; } .dialog-type-lightbox .elementor-publish__tab__title { color: #E0E1E3; } .dialog-type-lightbox .elementor-publish__tab.elementor-active { background-color: #404349; } .dialog-type-lightbox .elementor-popup__display-settings_controls_group { background-color: #404349; } .dialog-type-lightbox .elementor-popup__display-settings_controls_group__icon { border-color: #34383C; } .elementor-templates-modal .dialog-header { background-color: #26292C; color: #E0E1E3; -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.3); box-shadow: 0 0 8px rgba(0, 0, 0, 0.3); } .elementor-templates-modal__header__close--normal { border-color: #7D7E82; } .elementor-templates-modal__sidebar { background-color: transparent; } .elementor-templates-modal__content { -webkit-box-shadow: 0 0 13px inset rgba(0, 0, 0, 0.08); box-shadow: 0 0 13px inset rgba(0, 0, 0, 0.08); } .elementor-templates-modal .dialog-buttons-wrapper { background-color: #34383C; } #elementor-template-library-header-menu { color: #E0E1E3; } .elementor-template-library-menu-item.elementor-active { background-image: -webkit-gradient(linear, left top, left bottom, from(#26292C), to(#34383C)); background-image: -o-linear-gradient(top, #26292C, #34383C); background-image: linear-gradient(to bottom, #26292C, #34383C); border-color: #71D7F7; } #elementor-template-library-filter { border-color: #34383C; } #elementor-template-library-filter-text { background-color: transparent; } #elementor-template-library-filter-text:focus + i { color: #E0E1E3; } label.elementor-template-library-order-label:hover, #elementor-template-library-filter-my-favorites:hover { color: #B4B5B7; } #elementor-template-library-templates[data-template-source=remote] .elementor-template-library-order-input:checked + .elementor-template-library-order-label { color: #7D7E82; } #elementor-template-library-filter-my-favorites:checked + #elementor-template-library-filter-my-favorites-label { color: #7D7E82; } #elementor-template-library-header-preview-back { border-color: #4C4F56; } .elementor-template-library-template-remote { background-color: #404349; } .elementor-template-library-template-remote .elementor-template-library-template-name { color: #E0E1E3; } .elementor-template-library-template-remote:not(.elementor-template-library-template-page) .elementor-template-library-template-footer { background-color: #404349; } .elementor-template-library-template-local { background-color: #4C4F56; } .elementor-template-library-template-local:hover { background-color: #64666A; } .elementor-template-library-template-local .elementor-template-library-template-controls > div:not(:hover), .elementor-template-library-template-local .elementor-template-library-template-controls > div a { color: #B4B5B7; } .elementor-template-library-template-local .elementor-template-library-template-more { background-color: #4C4F56; } .elementor-template-library-template-local .elementor-template-library-template-more:before { border-bottom-color: #4C4F56; } .elementor-template-library-template-local .elementor-template-library-template-more:hover, .elementor-template-library-template-local .elementor-template-library-template-more a:hover { color: #E0E1E3; } .elementor-template-library-template-local .elementor-template-library-template-more .elementor-template-library-template-delete:hover { color: #F84343; } #elementor-template-library-save-template-name { background-color: #26292C; } #elementor-template-library-import-form { background-color: transparent; } #elementor-template-library-import-form:hover { background-color: rgba(0, 0, 0, 0.3); } #elementor-publish #elementor-theme-builder-conditions select, #elementor-publish #elementor-theme-builder-conditions input { background-color: #4C4F56; color: #E0E1E3; } #elementor-publish #elementor-theme-builder-conditions .elementor-control-type[data-elementor-condition-type=include], #elementor-publish #elementor-theme-builder-conditions .elementor-control-type[data-elementor-condition-type=exclude] { background-color: #64666A; } #elementor-publish #elementor-theme-builder-conditions .elementor-control-type[data-elementor-condition-type=include] select, #elementor-publish #elementor-theme-builder-conditions .elementor-control-type[data-elementor-condition-type=include] option, #elementor-publish #elementor-theme-builder-conditions .elementor-control-type[data-elementor-condition-type=exclude] select, #elementor-publish #elementor-theme-builder-conditions .elementor-control-type[data-elementor-condition-type=exclude] option { background-color: #404349; color: #E0E1E3; } #elementor-publish #elementor-theme-builder-conditions .elementor-control-type-select .elementor-control-input-wrapper:after { color: inherit; } #elementor-publish #elementor-theme-builder-conditions .elementor-theme-builder-conditions-repeater-row-controls .select2-dropdown, #elementor-publish #elementor-theme-builder-conditions .elementor-theme-builder-conditions-repeater-row-controls .select2-container--default .select2-selection--single { background-color: #4C4F56; } #elementor-toast .e-toast-button { background-color: #4C4F56; } #elementor-icons-manager__search input { background-color: #404349; -webkit-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; } #elementor-icons-manager__search input:focus { background-color: #4C4F56; } .elementor-icons-manager__tab__item { background-color: #404349; } .elementor-icons-manager__tab__item__icon, .elementor-icons-manager__tab__item__name { color: #E0E1E3; } .elementor-icons-manager__tab-link { color: #E0E1E3; } .elementor-icons-manager__tab-link.elementor-active { background-color: #404349; } .elementor-context-menu { background-color: #404349; border-color: #34383C; } .elementor-context-menu .elementor-context-menu-list__group:not(:last-child) { border-color: #34383C; } .elementor-context-menu-list__item:not(.elementor-context-menu-list__item--disabled):hover { background-color: #4C4F56; } .elementor-context-menu-list__item.elementor-context-menu-list__item-delete:not(.elementor-context-menu-list__item--disabled):hover { background-color: #F84343; } #elementor-navigator { background-color: #34383C; } #elementor-navigator__header, #elementor-navigator__inner, #elementor-navigator__footer { background-color: #34383C; } #elementor-navigator__header, #elementor-navigator__footer { border-color: #4C4F56; } #elementor-navigator__header #elementor-navigator__close, #elementor-navigator__header #elementor-navigator__toggle-all { color: #B4B5B7; } .elementor-navigator__element-section { background-color: transparent; } .elementor-navigator__item { background-color: #404349; border-color: #34383C; } .elementor-navigator__item:hover { background-color: #4c4f57; } .elementor-navigator__element__indicator { color: #E0E1E3; background-color: #4C4F56; } .elementor-navigator__element__indicator:hover { color: #B4B5B7; } .elementor-navigator__element__indicator:not(:first-child) { border-color: #34383C; } .elementor-navigator__element-column { background-color: #474a51; } .elementor-navigator__element:not(.elementor-navigator__element--hidden) > .elementor-navigator__item.elementor-editing { background-color: #4c4f57; } .elementor-navigator__element:not(.elementor-navigator__element--hidden) > .elementor-navigator__item.elementor-editing .elementor-navigator__element__toggle { color: #71D7F7; } .elementor-navigator__elements .elementor-empty-view { border-color: #34383C; } .elementor-navigator__elements .ui-sortable-helper { background-color: #34383C; border-color: #34383C; } .elementor-navigator__elements .ui-sortable-placeholder { background-color: #34383C; } #elementor-panel-history:not(.elementor-empty), .elementor-panel .elementor-panel-box, .elementor-panel .elementor-panel-scheme-buttons { background-color: #404349; } .elementor-revision-item__wrapper, .elementor-history-item { background-color: #4C4F56; border-color: #4C4F56; } .elementor-revision-item__wrapper:hover, .elementor-history-item:hover { background-color: #64666A; } #elementor-finder__search__input { color: #E0E1E3; } .elementor-finder__results__category__title { background-color: #26292C; color: #E0E1E3; } .elementor-finder__results__item__title { color: #E0E1E3; } .elementor-finder__results__item.elementor-active { background-color: #404349; } .elementor-hotkeys__list { background-color: #4C4F56; } .elementor-hotkeys__item { border-color: #64666A; } .elementor-hotkeys__item--shortcut span { background-color: #64666A; } .media-modal { color: #6d7882; } #wp-link { color: #6d7882; } #wp-link input, #wp-link select, #wp-link textarea, #wp-link .elementor-input-style { color: #6d7882; background-color: transparent; } #wp-link input:not(:focus), #wp-link select:not(:focus), #wp-link textarea:not(:focus), #wp-link .elementor-input-style:not(:focus) { border-color: #d5dadf; } #wp-link input:focus, #wp-link select:focus, #wp-link textarea:focus, #wp-link .elementor-input-style:focus { border-color: #a4afb7; } .ui-autocomplete { color: #6d7882; } .elementor-color-picker__tool { background-color: #E0E1E3; } .elementor-color-picker__tool i { color: #64666A; } .elementor-nerd-box-icon { -webkit-filter: contrast(0.8); filter: contrast(0.8); } /*# sourceMappingURL=editor-dark-mode.css.map */assets/css/app-base-rtl.min.css000064400000003132152377341010012423 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ :root{--color-box-shadow-color:rgba(0,0,0,0.05)}.eps-theme-dark{--color-box-shadow-color:rgba(0,0,0,0.1)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media screen and (min-width:480px){.text-start-sm{text-align:start}}@media screen and (min-width:480px){.text-center-sm{text-align:center}}@media screen and (min-width:480px){.text-end-sm{text-align:end}}@media screen and (min-width:768px){.text-start-md{text-align:start}}@media screen and (min-width:768px){.text-center-md{text-align:center}}@media screen and (min-width:768px){.text-end-md{text-align:end}}@media screen and (min-width:1025px){.text-start-lg{text-align:start}}@media screen and (min-width:1025px){.text-center-lg{text-align:center}}@media screen and (min-width:1025px){.text-end-lg{text-align:end}}@media screen and (min-width:1440px){.text-start-xl{text-align:start}}@media screen and (min-width:1440px){.text-center-xl{text-align:center}}@media screen and (min-width:1440px){.text-end-xl{text-align:end}}@media screen and (min-width:1600px){.text-start-xxl{text-align:start}}@media screen and (min-width:1600px){.text-center-xxl{text-align:center}}@media screen and (min-width:1600px){.text-end-xxl{text-align:end}}@-webkit-keyframes eps-animation-pop{0%{-webkit-transform:scale(.75);transform:scale(.75);opacity:0}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes eps-animation-pop{0%{-webkit-transform:scale(.75);transform:scale(.75);opacity:0}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}assets/css/widget-video-rtl.min.css000064400000001341152377341010013322 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ .elementor-widget-video .elementor-widget-container{overflow:hidden;-webkit-transform:translateZ(0);transform:translateZ(0)}.elementor-widget-video .elementor-open-inline .elementor-custom-embed-image-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-size:cover;background-position:50%}.elementor-widget-video .elementor-custom-embed-image-overlay{cursor:pointer;text-align:center}.elementor-widget-video .elementor-custom-embed-image-overlay:hover .elementor-custom-embed-play i{opacity:1}.elementor-widget-video .elementor-custom-embed-image-overlay img{display:block;width:100%}.elementor-widget-video .e-hosted-video .elementor-video{-o-object-fit:cover;object-fit:cover}assets/css/common.css000064400000035071152377341010010651 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ .dialog-widget-content { background-color: #fff; position: absolute; border-radius: 3px; -webkit-box-shadow: 2px 8px 23px 3px rgba(0, 0, 0, 0.2); box-shadow: 2px 8px 23px 3px rgba(0, 0, 0, 0.2); overflow: hidden; } .dialog-message { font-size: 12px; line-height: 1.5; -webkit-box-sizing: border-box; box-sizing: border-box; } .dialog-type-lightbox { position: fixed; height: 100%; width: 100%; bottom: 0; left: 0; background-color: rgba(0, 0, 0, 0.8); z-index: 9999; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .dialog-type-lightbox .dialog-widget-content { margin: auto; width: 375px; } .dialog-type-lightbox .dialog-header { font-size: 15px; color: #495157; padding: 30px 0 10px; font-weight: 500; } .dialog-type-lightbox .dialog-message { padding: 0 30px 30px; min-height: 50px; } .dialog-type-lightbox:not(.elementor-popup-modal) .dialog-header, .dialog-type-lightbox:not(.elementor-popup-modal) .dialog-message { text-align: center; } .dialog-type-lightbox .dialog-buttons-wrapper { border-top: 1px solid #e6e9ec; text-align: center; } .dialog-type-lightbox .dialog-buttons-wrapper > .dialog-button { font-family: Roboto, Arial, Helvetica, Verdana, sans-serif; width: 50%; border: none; background: none; color: #6d7882; font-size: 15px; cursor: pointer; padding: 13px 0; outline: 0; } .dialog-type-lightbox .dialog-buttons-wrapper > .dialog-button:hover { background-color: #f4f6f7; } .dialog-type-lightbox .dialog-buttons-wrapper > .dialog-button.dialog-ok { color: #b01b1b; } .dialog-type-lightbox .dialog-buttons-wrapper > .dialog-button.dialog-take_over { color: #39b54a; } .dialog-type-lightbox .dialog-buttons-wrapper > .dialog-button:active { background-color: rgba(230, 233, 236, 0.5); } .dialog-type-lightbox .dialog-buttons-wrapper > .dialog-button::-moz-focus-inner { border: 0; } .dialog-close-button { cursor: pointer; position: absolute; margin-top: 15px; right: 15px; font-size: 15px; line-height: 1; } .dialog-close-button:not(:hover) { opacity: 0.4; } .dialog-alert-widget .dialog-buttons-wrapper > button { width: 100%; } .dialog-confirm-widget .dialog-button:first-child { border-right: 1px solid #e6e9ec; } .dialog-prevent-scroll { overflow: hidden; max-height: 100vh; } @media (min-width: 1024px) { body.admin-bar .dialog-lightbox-widget { height: calc(100vh - 32px); } } @media (max-width: 1024px) { body.admin-bar .dialog-type-lightbox { position: sticky; height: 100vh; } } .elementor-aspect-ratio-219 .elementor-fit-aspect-ratio { padding-bottom: 42.8571%; } .elementor-aspect-ratio-169 .elementor-fit-aspect-ratio { padding-bottom: 56.25%; } .elementor-aspect-ratio-43 .elementor-fit-aspect-ratio { padding-bottom: 75%; } .elementor-aspect-ratio-32 .elementor-fit-aspect-ratio { padding-bottom: 66.6666%; } .elementor-aspect-ratio-11 .elementor-fit-aspect-ratio { padding-bottom: 100%; } .elementor-aspect-ratio-916 .elementor-fit-aspect-ratio { padding-bottom: 177.8%; } .elementor-fit-aspect-ratio { position: relative; height: 0; } .elementor-fit-aspect-ratio iframe { position: absolute; top: 0; left: 0; height: 100%; width: 100%; border: 0; background-color: #000; } .elementor-fit-aspect-ratio video { width: 100%; } .flatpickr-calendar { width: 280px; } .flatpickr-calendar .flatpickr-current-month span.cur-month { font-weight: 300; } .flatpickr-calendar .dayContainer { width: 280px; min-width: 280px; max-width: 280px; } .flatpickr-calendar .flatpickr-days { width: 280px; } .flatpickr-calendar .flatpickr-day { max-width: 37px; height: 37px; line-height: 37px; } .elementor-templates-modal .dialog-widget-content { font-family: Roboto, Arial, Helvetica, Verdana, sans-serif; background-color: #f1f3f5; width: 100%; } @media (max-width: 1439px) { .elementor-templates-modal .dialog-widget-content { max-width: 990px; } } @media (min-width: 1440px) { .elementor-templates-modal .dialog-widget-content { max-width: 1200px; } } .elementor-templates-modal .dialog-header { padding: 0; background-color: #fff; -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.1); box-shadow: 0 0 8px rgba(0, 0, 0, 0.1); position: relative; z-index: 1; } .elementor-templates-modal .dialog-buttons-wrapper { background-color: #fff; border: none; display: none; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; padding: 5px; -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.1); box-shadow: 0 0 8px rgba(0, 0, 0, 0.1); position: relative; } .elementor-templates-modal .dialog-buttons-wrapper .elementor-button { height: 40px; margin-left: 5px; } .elementor-templates-modal .dialog-buttons-wrapper .elementor-button-success { padding: 12px 36px; color: #fff; width: initial; font-size: 15px; } .elementor-templates-modal .dialog-buttons-wrapper .elementor-button-success:hover { background-color: #39b54a; } .elementor-templates-modal .dialog-message { height: 750px; max-height: 85vh; overflow: auto; padding-top: 25px; } .elementor-templates-modal .dialog-content { height: 100%; } .elementor-templates-modal .dialog-loading { display: none; } .elementor-templates-modal__header { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; height: 50px; } .elementor-templates-modal__header__logo { line-height: 1; text-transform: uppercase; font-weight: bold; cursor: pointer; } .elementor-templates-modal__header__logo-area { text-align: left; padding-left: 15px; } .elementor-templates-modal__header__logo-area > * { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .elementor-templates-modal__header__logo__icon-wrapper { margin-right: 10px; font-size: 12px; } .elementor-templates-modal__header__logo__title { padding-top: 2px; } .elementor-templates-modal__header__items-area { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; } .elementor-templates-modal__header__item { position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-sizing: content-box; box-sizing: content-box; } .elementor-templates-modal__header__item > i { font-size: 20px; -webkit-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; cursor: pointer; } .elementor-templates-modal__header__item > i:not(:hover) { color: #a4afb7; } .elementor-templates-modal__header__close--normal { width: 47px; border-left: 1px solid #e6e9ec; } .elementor-templates-modal__header__close--normal i { font-size: 18px; } .elementor-templates-modal__header__close--skip { padding: 10px; padding-left: 20px; margin-right: 10px; color: #fff; background-color: #a4afb7; font-size: 11px; font-weight: normal; line-height: 1; text-transform: uppercase; border-radius: 2px; cursor: pointer; } .elementor-templates-modal__header__close--skip > i { font-size: inherit; padding-left: 10px; margin-left: 15px; border-left: 1px solid; } .elementor-templates-modal__header__close--skip > i:not(:hover) { color: #fff; } .elementor-templates-modal__sidebar { -ms-flex-negative: 0; flex-shrink: 0; width: 25%; background-color: rgba(255, 255, 255, 0.3); } .elementor-templates-modal__content { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; -webkit-box-shadow: 0 0 13px inset rgba(0, 0, 0, 0.05); box-shadow: 0 0 13px inset rgba(0, 0, 0, 0.05); } /* Will select next element after last '.elementor-general-section' */ #wpadminbar #wp-admin-bar-elementor_edit_page .elementor-general-section + .elementor-second-section { border-top: 1px solid #464b50; margin-top: 6px; } .elementor-hidden { display: none; } .elementor-screen-only, .screen-reader-text, .screen-reader-text span, .ui-helper-hidden-accessible { position: absolute; top: -10000em; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0; } .elementor-clearfix:after { content: ""; display: block; clear: both; width: 0; height: 0; } .e-logo-wrapper { background: #93003c; display: inline-block; padding: 0.75em; border-radius: 50%; line-height: 1; } .e-logo-wrapper i { color: #fff; font-size: 1em; } #e-enable-unfiltered-files-dialog-import-template .dialog-confirm-ok { color: #39b54a; } #e-enable-unfiltered-files-dialog-import-template .dialog-confirm-cancel { color: #b01b1b; } #elementor-finder__modal { background: none; z-index: 99999; } #elementor-finder__modal .dialog-widget-content { width: 650px; max-width: 98%; top: 18vh; left: calc( 50% - 650px / 2 ); } #elementor-finder__modal .dialog-message { height: initial; min-height: 0; padding: 0; text-align: left; } #elementor-finder__search { padding: 14px 15px 14px 21px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-shadow: 0 -3px 15px 6px rgba(0, 0, 0, 0.03); box-shadow: 0 -3px 15px 6px rgba(0, 0, 0, 0.03); } #elementor-finder__search i { font-size: 16px; color: #a4afb7; font-weight: bold; margin-right: 15px; } #elementor-finder__search__input { border: none; background: none; outline: none; padding: 0; margin: 0; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; font-size: 14px; color: #495157; -webkit-box-shadow: none; box-shadow: none; } #elementor-finder__search__input::-webkit-input-placeholder { color: #a4afb7; font-style: italic; font-weight: 300; } #elementor-finder__search__input::-moz-placeholder { color: #a4afb7; font-style: italic; font-weight: 300; } #elementor-finder__search__input::-ms-input-placeholder { color: #a4afb7; font-style: italic; font-weight: 300; } #elementor-finder__search__input::placeholder { color: #a4afb7; font-style: italic; font-weight: 300; } #elementor-finder__results { max-height: 50vh; overflow: auto; } #elementor-finder__no-results { display: none; padding: 20px; color: #a4afb7; } .elementor-finder__results__category { position: relative; } .elementor-finder__results__category__title { padding: 5px 25px; color: #6d7882; background-color: #e6e9ec; font-size: 9px; text-transform: uppercase; } .elementor-finder__results__category--dynamic .elementor-finder__results__category__items { min-height: 26px; } .elementor-finder__results__category .eicon-loading { display: none; position: absolute; right: 10px; top: 30px; color: #71d7f7; font-size: 14px; } .elementor-finder__results__item { display: -webkit-box; display: -ms-flexbox; display: flex; } .elementor-finder__results__item a { text-decoration: none; -webkit-box-shadow: none; box-shadow: none; outline: none; } .elementor-finder__results__item.elementor-active { background-color: #71d7f7; -webkit-box-shadow: none; box-shadow: none; outline: none; } .elementor-finder__results__item.elementor-active * { color: #fff; } .elementor-finder__results__item:not(.elementor-active) .elementor-finder__results__item__actions { display: none; } .elementor-finder__results__item__link { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; height: 35px; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; } .elementor-finder__results__item__icon { width: 60px; text-align: center; color: #6d7882; font-size: 17px; } .elementor-finder__results__item__title { color: #6d7882; font-size: 13px; } .elementor-finder__results__item__description { margin-left: 5px; color: #a4afb7; font-style: italic; } .elementor-finder__results__item__actions { display: -webkit-box; display: -ms-flexbox; display: flex; } .elementor-finder__results__item__action { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; height: 100%; width: 35px; } .elementor-finder__results__item__action:hover { background-color: rgba(0, 0, 0, 0.07); } .tipsy { font-size: 10px; position: absolute; padding: 5px; z-index: 100000; } .tipsy-inner { background-color: #000; color: #FFF; font-weight: 500; max-width: 200px; padding: 5px 12px; text-align: center; border-radius: 3px; -webkit-box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.5); box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.5); } .tipsy-arrow { position: absolute; width: 0; height: 0; line-height: 0; border: 5px dashed #000; } .tipsy-arrow-n { border-bottom-color: #000; } .tipsy-arrow-s { border-top-color: #000; } .tipsy-arrow-e { border-left-color: #000; } .tipsy-arrow-w { border-right-color: #000; } .tipsy-n .tipsy-arrow, .tipsy-nw .tipsy-arrow { border-left-color: transparent; border-right-color: transparent; top: 0; border-bottom-style: solid; border-top: none; } .tipsy-n .tipsy-arrow { left: 50%; margin-left: -5px; } .tipsy-nw .tipsy-arrow { left: 10px; } .tipsy-ne .tipsy-arrow { top: 0; right: 10px; border-bottom-style: solid; border-top: none; border-left-color: transparent; border-right-color: transparent; } .tipsy-s .tipsy-arrow, .tipsy-se .tipsy-arrow, .tipsy-sw .tipsy-arrow { bottom: 0; border-top-style: solid; border-bottom: none; border-left-color: transparent; border-right-color: transparent; } .tipsy-s .tipsy-arrow { left: 50%; margin-left: -5px; } .tipsy-sw .tipsy-arrow { left: 10px; } .tipsy-se .tipsy-arrow { right: 10px; } .tipsy-e .tipsy-arrow, .tipsy-w .tipsy-arrow { top: 50%; margin-top: -5px; border-top-color: transparent; border-bottom-color: transparent; } .tipsy-e .tipsy-arrow { right: 0; border-left-style: solid; border-right: none; } .tipsy-w .tipsy-arrow { left: 0; border-right-style: solid; border-left: none; } /*# sourceMappingURL=common.css.map */assets/css/widget-accordion-rtl.min.css000064400000003042152377341010014155 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ .elementor-accordion{text-align:right}.elementor-accordion .elementor-accordion-item{border:1px solid #d4d4d4}.elementor-accordion .elementor-accordion-item+.elementor-accordion-item{border-top:none}.elementor-accordion .elementor-tab-title{margin:0;padding:15px 20px;font-weight:700;line-height:1;cursor:pointer;outline:none}.elementor-accordion .elementor-tab-title .elementor-accordion-icon{display:inline-block;width:1.5em}.elementor-accordion .elementor-tab-title .elementor-accordion-icon svg{width:1em;height:1em}.elementor-accordion .elementor-tab-title .elementor-accordion-icon.elementor-accordion-icon-right{float:right;text-align:right}.elementor-accordion .elementor-tab-title .elementor-accordion-icon.elementor-accordion-icon-left{float:left;text-align:left}.elementor-accordion .elementor-tab-title .elementor-accordion-icon .elementor-accordion-icon-closed{display:block}.elementor-accordion .elementor-tab-title .elementor-accordion-icon .elementor-accordion-icon-opened,.elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon-closed{display:none}.elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon-opened{display:block}.elementor-accordion .elementor-tab-content{display:none;padding:15px 20px;border-top:1px solid #d4d4d4}@media (max-width:767px){.elementor-accordion .elementor-tab-title{padding:12px 15px}.elementor-accordion .elementor-tab-title .elementor-accordion-icon{width:1.2em}.elementor-accordion .elementor-tab-content{padding:7px 15px}}assets/css/widget-counter-rtl.min.css000064400000001144152377341010013674 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ .elementor-counter .elementor-counter-number-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;font-size:69px;font-weight:600;line-height:1}.elementor-counter .elementor-counter-number-prefix,.elementor-counter .elementor-counter-number-suffix{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;white-space:pre-wrap}.elementor-counter .elementor-counter-number-prefix{text-align:left}.elementor-counter .elementor-counter-number-suffix{text-align:right}.elementor-counter .elementor-counter-title{text-align:center;font-size:19px;font-weight:400;line-height:2.5}assets/css/widget-tabs.min.css000064400000010522152377341010012347 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ .elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tabs-wrapper{width:25%;-ms-flex-negative:0;flex-shrink:0}.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tab-desktop-title.elementor-active{border-right-style:none}.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tab-desktop-title.elementor-active:after,.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tab-desktop-title.elementor-active:before{height:999em;width:0;right:0;border-right-style:solid}.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tab-desktop-title.elementor-active:before{top:0;-webkit-transform:translateY(-100%);-ms-transform:translateY(-100%);transform:translateY(-100%)}.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tab-desktop-title.elementor-active:after{top:100%}.elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title{display:table-cell}.elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title.elementor-active{border-bottom-style:none}.elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title.elementor-active:after,.elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title.elementor-active:before{bottom:0;height:0;width:999em;border-bottom-style:solid}.elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title.elementor-active:before{right:100%}.elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title.elementor-active:after{left:100%}.elementor-widget-tabs .elementor-tab-content,.elementor-widget-tabs .elementor-tab-title,.elementor-widget-tabs .elementor-tab-title:after,.elementor-widget-tabs .elementor-tab-title:before,.elementor-widget-tabs .elementor-tabs-content-wrapper{border:1px #d4d4d4}.elementor-widget-tabs .elementor-tabs{text-align:left}.elementor-widget-tabs .elementor-tabs-wrapper{overflow:hidden}.elementor-widget-tabs .elementor-tab-title{cursor:pointer;outline:var(--focus-outline,none)}.elementor-widget-tabs .elementor-tab-desktop-title{position:relative;padding:20px 25px;font-weight:700;line-height:1;border:solid transparent}.elementor-widget-tabs .elementor-tab-desktop-title.elementor-active{border-color:#d4d4d4}.elementor-widget-tabs .elementor-tab-desktop-title.elementor-active:after,.elementor-widget-tabs .elementor-tab-desktop-title.elementor-active:before{display:block;content:"";position:absolute}.elementor-widget-tabs .elementor-tab-mobile-title{padding:10px;cursor:pointer}.elementor-widget-tabs .elementor-tab-content{padding:20px;display:none}@media (max-width:767px){.elementor-tabs .elementor-tab-content,.elementor-tabs .elementor-tab-title{border-style:solid solid none}.elementor-tabs .elementor-tabs-wrapper{display:none}.elementor-tabs .elementor-tabs-content-wrapper{border-bottom-style:solid}.elementor-tabs .elementor-tab-content{padding:10px}}@media (min-width:768px){.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tabs{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tabs-wrapper{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tabs-content-wrapper{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;border-style:solid solid solid none}.elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-content{border-style:none solid solid}.elementor-widget-tabs.elementor-tabs-alignment-center .elementor-tabs-wrapper,.elementor-widget-tabs.elementor-tabs-alignment-end .elementor-tabs-wrapper,.elementor-widget-tabs.elementor-tabs-alignment-stretch .elementor-tabs-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-tabs.elementor-tabs-alignment-center .elementor-tabs-wrapper{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget-tabs.elementor-tabs-alignment-end .elementor-tabs-wrapper{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-widget-tabs.elementor-tabs-alignment-stretch.elementor-tabs-view-horizontal .elementor-tab-title{width:100%}.elementor-widget-tabs.elementor-tabs-alignment-stretch.elementor-tabs-view-vertical .elementor-tab-title{height:100%}.elementor-tabs .elementor-tab-mobile-title{display:none}}assets/css/editor.css000064400000555421152377341010010655 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ .elementor-control-unit-1 { width: 27px; } .elementor-control-unit-2 { width: 54px; } .elementor-control-unit-3 { width: 81px; } .elementor-control-unit-4 { width: 108px; } .elementor-control-unit-5 { max-width: 400px; width: 52%; } *, :before, :after { margin: 0; padding: 0; -webkit-box-sizing: border-box; box-sizing: border-box; } body, html { height: 100%; } html { background-color: #F1F1F1; } iframe, img { border: 0 none; } li { list-style: none; } a { text-decoration: none; } body { color: #6d7882; font-family: Roboto, Arial, Helvetica, Verdana, sans-serif; font-size: 13px; font-weight: normal; line-height: 1; text-decoration: none; text-transform: none; overflow: hidden; } body:after { content: ""; position: absolute; top: 0; right: 0; height: 100%; width: 0; background-color: #71d7f7; -webkit-transition: width 0.5s; -o-transition: width 0.5s; transition: width 0.5s; } body a { color: #71d7f7; } body a:hover { color: #93003c; } body.elementor-editor-active #elementor-mode-switcher-preview .eicon:before { content: "\e89f"; } body.elementor-editor-preview { --e-preview-width: 100%; } body.elementor-editor-preview #elementor-mode-switcher-preview .eicon:before { content: "\e89e"; } body.elementor-navigator--dock-hint:after { width: 30px; } #elementor-editor-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; width: 100%; height: 100vh; } #elementor-panel:not(.ui-resizable-resizing), #elementor-preview:not(.ui-resizable-resizing) { -webkit-transition: margin 0.5s ease-in-out, width 0.5s ease-in-out; -o-transition: margin 0.5s ease-in-out, width 0.5s ease-in-out; transition: margin 0.5s ease-in-out, width 0.5s ease-in-out; } #elementor-loading { position: fixed; top: 0; left: 0; bottom: 0; right: 0; background: #f1f3f5; z-index: 9999; } #elementor-preview-loading { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: #fff; } #elementor-preview-loading i { color: #d5dadf; font-size: 50px; } #elementor-fatal-error-dialog button.dialog-ok { color: #71d7f7; } #elementor-fatal-error-dialog .dialog-header { color: #6d7882; } #elementor-flexbox-attention-dialog .dialog-cancel { color: #39b54a; } #elementor-flexbox-attention-dialog .dialog-ok { color: #6d7882; } .elementor-nerd-box { padding: 30px; text-align: center; } .elementor-nerd-box-icon { width: 100px; margin-right: 10px; } .elementor-nerd-box-title { margin-top: 20px; font-size: 16px; font-weight: bold; line-height: 1.4; } .elementor-nerd-box-message { margin-top: 5px; line-height: 1.8; font-size: 11px; } .elementor-nerd-box .elementor-button.elementor-nerd-box-link { background-color: #93003c; color: #ffffff; padding: 7px 25px; margin-top: 20px; -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0.1), 0 2px 2px rgba(0, 0, 0, 0.1); box-shadow: 0 0 1px rgba(0, 0, 0, 0.1), 0 2px 2px rgba(0, 0, 0, 0.1); -webkit-transition: 0.5s; -o-transition: 0.5s; transition: 0.5s; } .elementor-nerd-box .elementor-button.elementor-nerd-box-link:hover { background-color: #c60051; } .eicon-nerd:hover:before { content: "\e8b7"; } .eicon-nerd:active:before { content: "\e8b6"; } .e-group-control-header { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; font-weight: bold; font-size: 12px; padding: 10px; -webkit-box-shadow: 0px 2px 8px rgba(0, 0, 0, 0.1); box-shadow: 0px 2px 8px rgba(0, 0, 0, 0.1); margin-bottom: 15px; } .e-control-tools { display: -webkit-box; display: -ms-flexbox; display: flex; } .e-control-tool { width: 20px; height: 20px; display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; border-radius: 3px; margin: 0 3px 0; border: 0; position: relative; background-color: #fff; } .e-control-tool:not(.e-control-tool-disabled) { -webkit-box-shadow: 0 1px 5px rgba(0, 0, 0, 0.1); box-shadow: 0 1px 5px rgba(0, 0, 0, 0.1); cursor: pointer; } .e-control-tool-disabled { background: #e6e9ec; pointer-events: none; } .e-control-tool-disabled i { color: #fff; } .e-control-tool i { position: absolute; top: 50%; left: 50%; -webkit-transform: translateX(-50%) translateY(-50%); -ms-transform: translateX(-50%) translateY(-50%); transform: translateX(-50%) translateY(-50%); color: #6d7882; font-size: 13px; } #e-enable-unfiltered-files-dialog .dialog-confirm-ok { color: #39b54a; } i.eicon-tilted { -webkit-transform: rotate(90deg); -ms-transform: rotate(90deg); transform: rotate(90deg); } .elementor-loader-wrapper { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); width: 300px; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-loader { border-radius: 50%; padding: 40px; height: 150px; width: 150px; background-color: rgba(255, 255, 255, 0.9); -webkit-box-sizing: border-box; box-sizing: border-box; -webkit-box-shadow: 2px 2px 20px 4px rgba(0, 0, 0, 0.02); box-shadow: 2px 2px 20px 4px rgba(0, 0, 0, 0.02); } .elementor-loader-boxes { height: 100%; width: 100%; position: relative; } .elementor-loader-box { position: absolute; background-color: #d5dadf; -webkit-animation: load 1.8s linear infinite; animation: load 1.8s linear infinite; } .elementor-loader-box:nth-of-type(1) { width: 20%; height: 100%; left: 0; top: 0; } .elementor-loader-box:not(:nth-of-type(1)) { right: 0; height: 20%; width: 60%; } .elementor-loader-box:nth-of-type(2) { top: 0; -webkit-animation-delay: -0.45s; animation-delay: -0.45s; } .elementor-loader-box:nth-of-type(3) { top: 40%; -webkit-animation-delay: -0.9s; animation-delay: -0.9s; } .elementor-loader-box:nth-of-type(4) { bottom: 0; -webkit-animation-delay: -1.35s; animation-delay: -1.35s; } .elementor-loading-title { color: #a4afb7; text-align: center; text-transform: uppercase; margin-top: 30px; letter-spacing: 7px; text-indent: 7px; font-size: 10px; width: 100%; } .elementor-button { font-family: Roboto, Arial, Helvetica, Verdana, sans-serif; font-weight: 500; text-transform: uppercase; outline: none; border: none; border-radius: 3px; -webkit-transition-property: background, color, opacity, -webkit-box-shadow; transition-property: background, color, opacity, -webkit-box-shadow; -o-transition-property: background, color, box-shadow, opacity; transition-property: background, color, box-shadow, opacity; transition-property: background, color, box-shadow, opacity, -webkit-box-shadow; -webkit-transition-duration: 0.3s; -o-transition-duration: 0.3s; transition-duration: 0.3s; } .elementor-button:hover { border: none; } .elementor-button:not([disabled]) { cursor: pointer; } .elementor-button:not(.elementor-button-state) .elementor-state-icon { display: none; } .elementor-button.elementor-button-success { color: #fff; } .elementor-button.elementor-button-success[disabled] { background-color: #c2cbd2; } .elementor-button.elementor-button-success:not([disabled]) { background-color: #39b54a; } .elementor-button.elementor-button-success:not([disabled]):hover { opacity: 0.85; -webkit-box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2); box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2); } .elementor-button.elementor-button-success:not([disabled]):active { -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1); box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1); } .elementor-button.elementor-button-warning { background-color: #a4afb7; color: #fff; } .elementor-button.elementor-button-warning[disabled] { background-color: #c2cbd2; } .elementor-button.elementor-button-warning:not([disabled]):hover { background-color: #b01b1b; opacity: 0.85; -webkit-box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2); box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2); } .elementor-button.elementor-button-warning:not([disabled]):active { -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1); box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1); } .elementor-button.elementor-button-danger { background-color: #d72b3f; color: #fff; } .elementor-button.elementor-button-danger[disabled] { background-color: #c2cbd2; } .elementor-button.elementor-button-danger:not([disabled]):hover { opacity: 0.85; -webkit-box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2); box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2); } .elementor-button.elementor-button-danger:not([disabled]):active { -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1); box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1); } .elementor-button.elementor-edit-template { display: inline-block; margin-top: 15px; color: #fff; } .elementor-button.elementor-button-default { background-color: #a4afb7; color: #fff; font-size: 11px; padding: 7px 21px; } .elementor-button.elementor-button-default:hover { background-color: #6d7882; -webkit-box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2); box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2); } .elementor-button.elementor-button-default:active { -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1); box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1); } .elementor-button.elementor-button-default:visited { color: #fff; } .elementor-button.elementor-button-go-pro { background-color: #93003c; } .elementor-button i { margin-right: 10px; } input, select, textarea, .elementor-input-style { border-radius: 3px; font-size: 12px; width: 100%; background: none; -webkit-box-shadow: none; box-shadow: none; color: #6d7882; border: 1px solid; outline: none; } input:not(:focus), select:not(:focus), textarea:not(:focus), .elementor-input-style:not(:focus) { border-color: #d5dadf; } input:focus, input:focus + .elementor-control-dynamic-switcher, select:focus, select:focus + .elementor-control-dynamic-switcher, textarea:focus, textarea:focus + .elementor-control-dynamic-switcher, .elementor-input-style:focus, .elementor-input-style:focus + .elementor-control-dynamic-switcher { border-color: #a4afb7; } input::-webkit-input-placeholder, select::-webkit-input-placeholder, textarea::-webkit-input-placeholder, .elementor-input-style::-webkit-input-placeholder { color: #a4afb7; } input::-moz-placeholder, select::-moz-placeholder, textarea::-moz-placeholder, .elementor-input-style::-moz-placeholder { color: #a4afb7; } input::-ms-input-placeholder, select::-ms-input-placeholder, textarea::-ms-input-placeholder, .elementor-input-style::-ms-input-placeholder { color: #a4afb7; } input::placeholder, select::placeholder, textarea::placeholder, .elementor-input-style::placeholder { color: #a4afb7; } .elementor-error input, .elementor-error select, .elementor-error textarea { border-color: #b01b1b; } input { min-width: 0; } input, textarea, .elementor-input-style { padding: 5px; } textarea, .elementor-input-style { resize: vertical; } input[type=checkbox], input[type=radio] { height: auto; width: auto; } input[disabled] { background-color: #e6e9ec; cursor: not-allowed; opacity: 1; } select { outline: none; height: 27px; } /* * Container style */ .ps { overflow: hidden !important; overflow-anchor: none; -ms-touch-action: auto; touch-action: auto; } /* * Scrollbar rail styles */ .ps__rail-y { display: none; opacity: 0; -webkit-transition: background-color 0.2s linear, opacity 0.2s linear; -o-transition: background-color 0.2s linear, opacity 0.2s linear; transition: background-color 0.2s linear, opacity 0.2s linear; width: 15px; /* there must be 'right' or 'left' for ps__rail-y */ right: 0; left: initial !important; /* please don't change 'position' */ position: absolute; } .ps--active-y > .ps__rail-y { display: block; background-color: transparent; } .ps:hover > .ps__rail-y, .ps--focus > .ps__rail-y, .ps--scrolling-y > .ps__rail-y { opacity: 0.6; } .ps .ps__rail-y:hover, .ps .ps__rail-y:focus, .ps .ps__rail-y.ps--clicking { opacity: 0.9; } .ps__thumb-y { background-color: #aaa; border-radius: 6px; -webkit-transition: background-color 0.2s linear, width 0.2s ease-in-out; -o-transition: background-color 0.2s linear, width 0.2s ease-in-out; transition: background-color 0.2s linear, width 0.2s ease-in-out; width: 6px; /* there must be 'right' for ps__thumb-y */ right: 2px; /* please don't change 'position' */ position: absolute; } .ps__rail-y:hover > .ps__thumb-y, .ps__rail-y:focus > .ps__thumb-y, .ps__rail-y.ps--clicking .ps__thumb-y { background-color: #999; width: 6px; } /* Make clicks pass-through */ #nprogress { pointer-events: none; } #nprogress .bar { background: #39b54a; position: fixed; z-index: 1031; top: 0; left: 0; width: 100%; height: 2px; } /* Fancy blur effect */ #nprogress .peg { display: block; position: absolute; right: 0; width: 100px; height: 100%; -webkit-box-shadow: 0 0 10px #39b54a, 0 0 5px #39b54a; box-shadow: 0 0 10px #39b54a, 0 0 5px #39b54a; opacity: 1; -webkit-transform: rotate(3deg) translate(0px, -4px); -ms-transform: rotate(3deg) translate(0px, -4px); transform: rotate(3deg) translate(0px, -4px); } /* Remove these to get rid of the spinner */ #nprogress .spinner { display: none; position: fixed; z-index: 1031; top: 15px; right: 15px; } #nprogress .spinner-icon { width: 18px; height: 18px; -webkit-box-sizing: border-box; box-sizing: border-box; border: solid 2px transparent; border-top-color: #39b54a; border-left-color: #39b54a; border-radius: 50%; -webkit-animation: nprogress-spinner 400ms linear infinite; animation: nprogress-spinner 400ms linear infinite; } .nprogress-custom-parent { overflow: hidden; position: relative; } .nprogress-custom-parent #nprogress .spinner, .nprogress-custom-parent #nprogress .bar { position: absolute; } @-webkit-keyframes nprogress-spinner { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } @keyframes nprogress-spinner { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } #nprogress .bar, #nprogress .spinner { z-index: 100000; } :root { --e-is-preview-mode: 0; } @media (max-width: 1439px) { :root { --e-editor-panel-width: 280px; } } @media (min-width: 1440px) { :root { --e-editor-panel-width: 300px; } } .elementor-panel { position: relative; height: 100%; -webkit-margin-start: calc(-1 * var(--e-editor-panel-width) * var(--e-is-preview-mode)); margin-inline-start: calc(-1 * var(--e-editor-panel-width) * var(--e-is-preview-mode)); width: var(--e-editor-panel-width); overflow: visible; background-color: #e6e9ec; z-index: 1; font-family: Roboto, Arial, Helvetica, Verdana, sans-serif; font-size: 13px; left: 0; } .elementor-editor-preview .elementor-panel { --e-is-preview-mode: 1; } .elementor-editor-preview .elementor-panel > .ui-resizable-e, .elementor-editor-preview .elementor-panel > .ui-resizable-w { display: none; } .elementor-panel .ps__rail-y { z-index: 2; } .elementor-panel .elementor-responsive-panel { padding: 5px 10px; display: grid; gap: 10px; grid-template-columns: repeat(auto-fill, minmax(min(135px, 50% - 5px), 1fr)); } .elementor-panel .elementor-responsive-panel > .e-responsive-panel-stretch { grid-column: 1/-1; } .elementor-panel ::-moz-selection { background: #5bc0de; color: #ffffff; } .elementor-panel ::selection { background: #5bc0de; color: #ffffff; } .elementor-panel a { color: #93003c; } .elementor-panel h1, .elementor-panel h2, .elementor-panel h3, .elementor-panel h4, .elementor-panel h5, .elementor-panel h6 { font-size: 100%; font-weight: normal; } .elementor-panel abbr, .elementor-panel acronym { border: 0; font-variant: normal; } .elementor-panel sup { vertical-align: text-top; } .elementor-panel sub { vertical-align: text-bottom; } .elementor-panel img { max-width: 100%; height: auto; border: 0; } .elementor-panel ::-moz-focus-inner { padding: 0; border: 0; } .elementor-panel :focus { outline: 0; } .elementor-panel .elementor-panel-box { margin-top: 10px; background-color: #fff; } .elementor-panel .elementor-panel-box-content { padding: 20px 20px 10px; } .elementor-panel .elementor-button { display: inline-block; } .elementor-panel .elementor-panel-alert { background-color: #fcfcfc; padding: 15px; border-left: 3px solid transparent; position: relative; font-size: 12px; font-weight: 300; font-style: italic; line-height: 1.5; text-align: left; border-radius: 0 3px 3px 0; -webkit-box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.07); box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.07); } .elementor-panel .elementor-panel-alert a { color: inherit; } .elementor-panel .elementor-panel-alert.elementor-panel-alert-info { border-color: #71d7f7; background-color: #f3fcff; } .elementor-panel .elementor-panel-alert.elementor-panel-alert-success { border-color: #39b54a; } .elementor-panel .elementor-panel-alert.elementor-panel-alert-warning { border-color: #fcb92c; } .elementor-panel .elementor-panel-alert.elementor-panel-alert-danger { border-color: #d72b3f; } .elementor-panel .elementor-label { display: inline; padding: 0.2em 0.6em 0.3em; font-size: 75%; font-weight: 700; line-height: 1; color: #fff; text-align: center; white-space: nowrap; vertical-align: baseline; border-radius: 0.25em; text-transform: capitalize; } .elementor-panel .elementor-label.elementor-label-default { background-color: #a4afb7; } .elementor-panel .elementor-label.elementor-label-info { background-color: #5bc0de; } .elementor-panel .elementor-label.elementor-label-success { background-color: #5cb85c; } .elementor-panel .elementor-label.elementor-label-warning { background-color: #f0ad4e; } .elementor-panel .elementor-label.elementor-label-danger { background-color: #d9534f; } .elementor-panel .elementor-descriptor, .elementor-panel .elementor-control-field-description { font-size: 11px; font-style: italic; line-height: 1.4; color: #a4afb7; } .elementor-panel .elementor-controls-popover { display: none; position: absolute; -webkit-box-shadow: 0 2px 15px rgba(0, 0, 0, 0.3); box-shadow: 0 2px 15px rgba(0, 0, 0, 0.3); border-radius: 3px; left: 0; right: 0; margin: -4px auto 5px; padding-top: 15px; width: 90%; z-index: 10000; background-color: #fff; } .elementor-panel .elementor-controls-popover:before { content: ""; position: absolute; top: -16px; right: 22px; border: 8px solid transparent; border-bottom-color: #fff; } .elementor-panel .elementor-controls-popover div.elementor-control { background-color: transparent; } .elementor-panel .elementor-controls-popover div.elementor-control:before { content: none; } .elementor-panel #elementor-controls .pojo-widget-button-collapse { display: none; } .elementor-panel #elementor-panel-global .elementor-nerd-box .elementor-nerd-box-icon { margin-top: 20px; } .elementor-panel #elementor-panel-header { display: table; height: 40px; width: 100%; background-color: #93003c; color: #fff; } .elementor-panel #elementor-panel-header > * { display: table-cell; vertical-align: middle; text-align: center; } .elementor-panel .elementor-header-button { width: 40px; } .elementor-panel .elementor-header-button .elementor-icon { cursor: pointer; display: block; font-size: 19px; height: 40px; line-height: 40px; -webkit-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; } .elementor-panel .elementor-header-button .elementor-icon.eicon-menu-bar { font-size: 18px; } .elementor-panel .elementor-header-button .elementor-icon:hover { color: #d5dadf; } .elementor-panel #elementor-panel-header-title { font-size: 15px; } .elementor-panel #elementor-panel-header-title img { width: 90px; } .elementor-panel #elementor-panel-elements-categories { padding-bottom: 10px; } .elementor-panel .elementor-panel-category { position: relative; } .elementor-panel .elementor-panel-category:first-child .elementor-panel-category-title { padding-top: 14px; } .elementor-panel .elementor-panel-category.elementor-active .elementor-panel-category-title:before { -webkit-transform: rotate(90deg); -ms-transform: rotate(90deg); transform: rotate(90deg); } .elementor-panel .elementor-panel-category:not(.elementor-active):after { content: ""; position: absolute; left: 15px; right: 15px; bottom: 0; height: 8px; background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.03)), to(transparent)); background: -o-linear-gradient(rgba(0, 0, 0, 0.03), transparent); background: linear-gradient(rgba(0, 0, 0, 0.03), transparent); -webkit-transform: translateY(100%); -ms-transform: translateY(100%); transform: translateY(100%); } .elementor-panel .elementor-panel-category-title { margin: 0 15px; padding: 20px 0; position: relative; text-transform: uppercase; font-size: 11px; cursor: pointer; } .elementor-panel .elementor-panel-category-title:before { content: "\e87d"; font-family: eicons; position: absolute; right: 0; -webkit-transition: -webkit-transform 0.3s; transition: -webkit-transform 0.3s; -o-transition: transform 0.3s; transition: transform 0.3s; transition: transform 0.3s, -webkit-transform 0.3s; } .elementor-panel .elementor-panel-category-items { padding: 0 10px; } .elementor-panel .elementor-panel-category-items-empty { grid-column-start: 1; grid-column-end: 3; } .elementor-panel .elementor-panel-scheme-title { padding: 10px 20px; margin-top: 10px; } .elementor-panel .elementor-panel-scheme-description { padding: 20px 20px 0; } .elementor-panel .elementor-panel-scheme-buttons { padding: 0 20px; display: table; table-layout: fixed; width: 100%; height: 40px; background-color: #fff; -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.1); box-shadow: 0 0 8px rgba(0, 0, 0, 0.1); } .elementor-panel .elementor-panel-scheme-buttons .elementor-button { font-family: Roboto, Arial, Helvetica, Verdana, sans-serif; font-size: 11px; font-weight: 400; } .elementor-panel .elementor-panel-scheme-button-wrapper { display: table-cell; vertical-align: middle; text-align: center; } .elementor-panel .elementor-panel-scheme-button-wrapper:first-child { text-align: left; } .elementor-panel .elementor-panel-scheme-button-wrapper:last-child { text-align: right; } .elementor-panel .elementor-panel-scheme-save .elementor-button { padding: 6px 18px; } .elementor-panel .elementor-panel-scheme-reset .elementor-button, .elementor-panel .elementor-panel-scheme-discard .elementor-button { color: #a4afb7; background: none; } .elementor-panel .elementor-panel-scheme-color .elementor-panel-scheme-items { position: relative; display: grid; grid-template-columns: repeat(4, 27px); -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; } .elementor-panel .elementor-panel-scheme-color-title { text-align: center; text-transform: uppercase; margin: 10px 0; color: #c2cbd2; font-size: 8px; } .elementor-panel .elementor-panel-scheme-typography-item { display: table; table-layout: fixed; width: 100%; margin-bottom: 15px; } .elementor-panel .elementor-panel-scheme-typography-item > * { display: table-cell; vertical-align: middle; } .elementor-panel .elementor-panel-scheme-typography-item-value select, .elementor-panel .elementor-panel-scheme-typography-item-value input { width: 100%; } .elementor-panel .elementor-panel-scheme-item:not(.elementor-open) .elementor-panel-scheme-typography-items { display: none; } .elementor-panel .elementor-panel-scheme-color-system-scheme { margin-bottom: 10px; } .elementor-panel .elementor-panel-scheme-color-system-scheme .elementor-title { font-size: 11px; color: #a4afb7; font-style: italic; margin-top: 5px; } .elementor-panel .elementor-panel-scheme-color-system-items { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-transition: border 0.5s; -o-transition: border 0.5s; transition: border 0.5s; overflow: hidden; padding: 3px; border-radius: 3px; border: 1px solid #d5dadf; cursor: pointer; } .elementor-panel .elementor-panel-scheme-color-system-items:hover { border: 1px solid #a4afb7; } .elementor-panel .elementor-panel-scheme-color-system-item { height: 20px; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; } .elementor-panel #elementor-panel-schemes-disabled a { color: #39b54a; } .elementor-panel #elementor-panel-schemes-disabled a:hover { text-decoration: underline; } .elementor-panel #elementor-panel-schemes-disabled .elementor-nerd-box-icon { margin-top: 20px; } .elementor-panel #elementor-panel-page-menu { padding: 25px 15px; } .elementor-panel .elementor-panel-menu-group-title { text-transform: uppercase; font-size: 11px; } .elementor-panel .elementor-panel-menu-items { margin: 15px 0 25px; border-radius: 5px; overflow: hidden; } .elementor-panel .elementor-panel-menu-item { display: table; width: 100%; height: 40px; cursor: pointer; margin-bottom: 1px; background-color: #fff; } .elementor-panel .elementor-panel-menu-item:hover { background-color: rgba(255, 255, 255, 0.8); } .elementor-panel .elementor-panel-menu-item > * { display: table-cell; vertical-align: middle; } .elementor-panel .elementor-panel-menu-item-icon { text-align: center; width: 50px; color: #a4afb7; font-size: 19px; } .elementor-panel .elementor-panel-menu-item-icon .eicon-editor-external-link { font-size: 18px; } .elementor-panel .elementor-panel-menu-item-title { font-weight: 500; } .elementor-panel .elementor-panel-menu-item-title > span { color: #39b54a; } .elementor-panel .elementor-panel-menu-item a { color: #6d7882; } .elementor-panel .elementor-panel-menu-item-exit-to-dashboard { background-color: #0085ba; color: #fff; text-transform: uppercase; font-size: 12px; } .elementor-panel .elementor-panel-menu-item-exit-to-dashboard:hover { background-color: #0073a1; } .elementor-panel .elementor-panel-menu-item-exit-to-dashboard .elementor-panel-menu-item-title, .elementor-panel .elementor-panel-menu-item-exit-to-dashboard .elementor-panel-menu-item-icon { color: #fff; } .elementor-panel .elementor-panel-menu-item-settings-additional-settings { background-color: #f1f3f5; } .elementor-panel .elementor-control.elementor-control-clear_page { background-color: transparent; } .elementor-panel .elementor-control.elementor-control-clear_page .elementor-control-raw-html { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; } .elementor-panel .elementor-panel-navigation { background-color: #ffffff; -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.1); box-shadow: 0 0 8px rgba(0, 0, 0, 0.1); display: table; table-layout: fixed; width: 100%; } .elementor-panel .elementor-panel-navigation .elementor-panel-navigation-tab { display: table-cell; } .elementor-panel .elementor-panel-navigation .elementor-panel-navigation-tab.elementor-active { background-image: -webkit-gradient(linear, left top, left bottom, from(#f1f3f5), to(#fff)); background-image: -o-linear-gradient(top, #f1f3f5, #fff); background-image: linear-gradient(to bottom, #f1f3f5, #fff); border-bottom: 3px solid #93003c; } .elementor-panel .elementor-panel-navigation .elementor-panel-navigation-tab a { display: block; text-align: center; padding: 12px 0 8px; font-size: 10px; color: #6d7882; } .elementor-panel .elementor-panel-navigation .elementor-panel-navigation-tab a:before { font-family: eicons; font-size: 16px; display: block; margin-bottom: 6px; } .elementor-panel .elementor-tab-control-content a:before { content: "\e92c"; } .elementor-panel .elementor-tab-control-style a:before { content: "\e921"; } .elementor-panel .elementor-tab-control-advanced a:before, .elementor-panel .elementor-tab-control-settings a:before, .elementor-panel .elementor-tab-control-general_style a:before { content: "\e916"; } .elementor-panel .elementor-tab-control-responsive a:before { content: "\e885"; } .elementor-panel .elementor-tab-control-layout a:before, .elementor-panel .elementor-tab-control-column a:before { content: "\e899"; } .elementor-panel .elementor-tab-control-lightbox a:before { content: "\e922"; } .elementor-panel #elementor-panel__editor__help { padding: 50px 25px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-panel #elementor-panel__editor__help__link { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; color: #6d7882; font-size: 12px; font-weight: 500; -webkit-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; } .elementor-panel #elementor-panel__editor__help__link i { padding: 0 5px; color: #a4afb7; font-size: 18px; position: relative; } .elementor-panel #elementor-panel__editor__help__link i:after { content: ""; position: absolute; height: 13px; width: 13px; top: 3px; bottom: 0; left: 8px; right: 0; border-radius: 50%; z-index: -1; } .elementor-panel #elementor-panel__editor__help__link:hover { color: #495157; } .elementor-panel #elementor-panel__editor__help__link:hover i { color: #71d7f7; } .elementor-panel #elementor-panel__editor__help__link:hover i:before { content: "\e941"; } .elementor-panel #elementor-panel__editor__help__link:hover i:after { background: #fff; } .elementor-panel #elementor-panel-footer { position: absolute; bottom: 0; left: 0; right: 0; height: 40px; background-color: #495157; } .elementor-panel #elementor-panel-footer-tools { display: table; table-layout: fixed; width: 100%; height: 100%; } .elementor-panel .elementor-panel-footer-tool { display: table-cell; vertical-align: middle; text-align: center; cursor: pointer; color: #a4afb7; -webkit-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; } .elementor-panel .elementor-panel-footer-tool #elementor-panel-saver-button-update { border-right: 1px solid #2d8739; border-radius: 3px 0 0 3px; } .elementor-panel .elementor-panel-footer-tool #elementor-panel-saver-button-update i { margin-right: 5px; } .elementor-panel .elementor-panel-footer-tool #elementor-panel-saver-button-save-options { float: left; border-radius: 0 3px 3px 0; } .elementor-panel .elementor-panel-footer-tool #elementor-panel-saver-button-save-options i { margin: auto; } .elementor-panel .elementor-panel-footer-tool.elementor-open { color: #fff; } .elementor-panel .elementor-panel-footer-tool:not(.elementor-open):hover { color: #d5dadf; } .elementor-panel .elementor-panel-footer-tool:not(.elementor-open) .elementor-panel-footer-sub-menu-wrapper { display: none; } .elementor-panel .elementor-panel-footer-sub-menu-wrapper { position: absolute; bottom: 100%; left: 0; width: 100%; background-color: #556068; padding: 10px; -webkit-box-shadow: -2px -5px 8px rgba(0, 0, 0, 0.1); box-shadow: -2px -5px 8px rgba(0, 0, 0, 0.1); cursor: default; z-index: 10000; } .elementor-panel .elementor-panel-footer-sub-menu { border-radius: 5px; overflow: hidden; } .elementor-panel .elementor-panel-footer-sub-menu-item { background-color: #495157; display: table; table-layout: fixed; width: 100%; cursor: pointer; } .elementor-panel .elementor-panel-footer-sub-menu-item.elementor-disabled .elementor-icon, .elementor-panel .elementor-panel-footer-sub-menu-item.elementor-disabled .elementor-title { color: #6d7882; } .elementor-panel .elementor-panel-footer-sub-menu-item:not(:last-child) { margin-bottom: 1px; } .elementor-panel .elementor-panel-footer-sub-menu-item:hover { background-color: rgba(0, 0, 0, 0.2); } .elementor-panel .elementor-panel-footer-sub-menu-item.active { background-color: rgba(0, 0, 0, 0.3); } .elementor-panel .elementor-panel-footer-sub-menu-item > * { display: table-cell; height: 40px; vertical-align: middle; } .elementor-panel .elementor-panel-footer-sub-menu-item .elementor-icon { width: 40px; color: #a4afb7; } .elementor-panel .elementor-panel-footer-sub-menu-item .elementor-title { text-align: left; color: #d5dadf; } .elementor-panel .elementor-panel-footer-sub-menu-item .elementor-description { width: 95px; text-align: left; font-size: 11px; font-style: italic; color: #a4afb7; } .elementor-panel #elementor-panel-footer-help-title { text-align: left; padding: 10px 0; color: #d5dadf; } .elementor-panel #elementor-panel-footer-responsive > i { display: block; height: 100%; line-height: 40px; } .elementor-panel #elementor-panel-footer-saver-publish { width: 80px; } .elementor-panel #elementor-panel-footer-saver-publish .elementor-button-state i { margin-right: 0; } .elementor-panel #elementor-panel-footer-saver-publish .elementor-button-state #elementor-panel-saver-button-publish-label { display: none; } .elementor-panel #elementor-panel-footer-saver-options { width: 35px; border-left: 1px solid #495157; } .elementor-panel #elementor-panel-footer-saver-options .elementor-last-edited-wrapper { font-size: 11px; font-style: italic; color: #a4afb7; padding: 5px 0 15px; } .elementor-panel #elementor-panel-footer-saver-options .elementor-last-edited-wrapper:not(.elementor-state-active) .elementor-state-icon { display: none; } .elementor-panel #elementor-panel-footer-saver-options .elementor-last-edited-wrapper time { border-bottom: 1px dotted transparent; -webkit-transition: all ease-in-out 0.3s; -o-transition: all ease-in-out 0.3s; transition: all ease-in-out 0.3s; cursor: pointer; } .elementor-panel #elementor-panel-footer-saver-options .elementor-last-edited-wrapper time:hover { border-bottom-color: inherit; } .elementor-panel .elementor-disabled { cursor: default; } .elementor-panel #elementor-panel-saver-button-preview a { color: #a4afb7; } .elementor-panel #elementor-panel-saver-button-publish, .elementor-panel #elementor-panel-saver-button-save-options { font-size: 11px; text-transform: uppercase; height: 26px; } .elementor-panel #elementor-panel-saver-button-publish.elementor-disabled, .elementor-panel #elementor-panel-saver-button-save-options.elementor-disabled { background-color: #556068; color: #a4afb7; } .elementor-panel #elementor-panel-saver-button-publish { width: 100%; border-radius: 3px 0 0 3px; } .elementor-panel #elementor-panel-saver-button-save-options { width: 25px; } #elementor-panel-elements-navigation .elementor-panel-navigation-tab { text-align: center; padding: 10px 0; font-size: 11px; text-transform: uppercase; cursor: pointer; } #elementor-panel-elements { overflow: hidden; } #elementor-panel-state-loading { display: none; } body.elementor-panel-loading #elementor-panel-state-loading { position: absolute; top: 0; left: 0; height: 100%; width: 100%; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; background-color: rgba(255, 255, 255, 0.5); z-index: 2; } #elementor-panel-state-loading .eicon-loading { font-size: 25px; color: #71d7f7; } #elementor-panel-elements-search-area { position: sticky; top: 0; padding: 10px; background-color: #e6e9ec; z-index: 1; } #elementor-panel-elements-search-wrapper { position: relative; } #elementor-panel-elements-search-input { background-color: rgba(255, 255, 255, 0.7); font-size: 11px; padding: 10px 10px 10px 29px; font-style: italic; color: #a4afb7; border: none; -webkit-transition: all 1s; -o-transition: all 1s; transition: all 1s; border-radius: 3px; appearance: none; -webkit-appearance: none; -moz-appearance: none; } #elementor-panel-elements-search-input + i { position: absolute; left: 10px; top: 50%; color: #a4afb7; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); } #elementor-panel-elements-search-input:focus { background-color: rgb(255, 255, 255); padding-right: 15px; } .elementor-panel .elementor-element { border-radius: 3px; background-color: #fff; cursor: move; position: relative; } .elementor-panel .elementor-element-wrapper { text-align: center; -webkit-box-sizing: border-box; box-sizing: border-box; } .elementor-panel .elementor-element--promotion .elementor-element { cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .elementor-panel .elementor-element .icon, .elementor-panel .elementor-element .title { color: #556068; -webkit-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; } .elementor-panel .elementor-element:hover { -webkit-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2); box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2); } .elementor-panel .elementor-element:hover .icon, .elementor-panel .elementor-element:hover .title { color: #93003c; } .elementor-panel .elementor-element .icon { font-size: 28px; padding-top: 15px; } .elementor-panel .elementor-element .elementor-element-title-wrapper { display: table; width: 100%; } .elementor-panel .elementor-element .title { font-size: 11px; display: table-cell; vertical-align: middle; height: 40px; } .elementor-panel .elementor-element > .eicon-lock { position: absolute; top: 5px; right: 5px; color: #e6e9ec; } #elementor-element--promotion__dialog { position: absolute; width: 300px; z-index: 1; background-color: #fff; -webkit-box-shadow: 0 2px 15px rgba(0, 0, 0, 0.3); box-shadow: 0 2px 15px rgba(0, 0, 0, 0.3); border-radius: 3px; } #elementor-element--promotion__dialog:after { content: ""; position: absolute; top: 15px; right: 100%; -webkit-transform: scaleY(0.7); -ms-transform: scaleY(0.7); transform: scaleY(0.7); border: 10px solid transparent; border-right-color: #fff; } #elementor-element--promotion__dialog__title { font-size: 14px; } #elementor-element--promotion__dialog .dialog-header { display: -webkit-box; display: -ms-flexbox; display: flex; padding: 20px; color: #495157; border-bottom: 1px solid #e6e9ec; font-weight: 500; } #elementor-element--promotion__dialog .dialog-header i { color: #a4afb7; } #elementor-element--promotion__dialog .dialog-header .eicon-pro-icon { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; margin-left: 10px; font-size: 14px; } #elementor-element--promotion__dialog .dialog-header .eicon-close { cursor: pointer; } #elementor-element--promotion__dialog .dialog-message { padding: 20px; } #elementor-element--promotion__dialog .dialog-buttons-wrapper { padding: 0 20px 20px 20px; } #elementor-element--promotion__dialog .dialog-button { width: 100%; padding: 6.5px; font-size: 12px; } #elementor-element--promotion__dialog .dialog-button::-moz-focus-inner { border: 0; } #elementor-panel-inner { position: relative; height: 100%; -webkit-box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.2); box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.2); } #elementor-panel-content-wrapper { position: absolute; bottom: 40px; top: 40px; left: 0; width: 100%; } .elementor-panel-container { clear: both; padding-left: 15px; padding-right: 15px; } .media-modal.wp-core-ui input { width: auto; } .media-modal.wp-core-ui select { width: initial; } .media-modal.wp-core-ui fieldset { padding: 0; border: 0; } .media-modal.wp-core-ui .wp-clearfix::after { content: ""; display: table; clear: both; } .media-modal.wp-core-ui .e-wp-media-elements-removed { /* Hack to change the media button selection text, because for some reason the text gets changed when switching tabs. */ } .media-modal.wp-core-ui .e-wp-media-elements-removed .embed-link-settings, .media-modal.wp-core-ui .e-wp-media-elements-removed .embed-media-settings > :not(.wp-clearfix):not(.alt-text):not(#alt-text-description) { display: none; } .media-modal.wp-core-ui .e-wp-media-elements-removed #embed-url-field { width: 70%; } .media-modal.wp-core-ui .e-wp-media-elements-removed .media-embed .thumbnail { margin-top: 20px; } .media-modal.wp-core-ui .e-wp-media-elements-removed .media-embed .thumbnail, .media-modal.wp-core-ui .e-wp-media-elements-removed .media-embed .thumbnail img { max-height: initial; } .media-modal.wp-core-ui .e-wp-media-elements-removed .media-embed .thumbnail::after { -webkit-box-shadow: none; box-shadow: none; } .media-modal.wp-core-ui .e-wp-media-elements-removed .media-button-select { font-size: 0; } .media-modal.wp-core-ui .e-wp-media-elements-removed .media-button-select::before { content: var(--button-text); font-size: 13px; } #elementor-panel-get-pro-elements .elementor-nerd-box-message { margin-top: 10px; } #elementor-panel-get-pro-elements .elementor-nerd-box-icon { margin-top: 20px; } .elementor-control { --control-title-size: 12px; background-color: #fff; position: relative; padding: 0 20px 15px; } .elementor-control a { font-weight: 500; text-decoration: none; border-bottom: 1px dotted transparent; -webkit-transition: all ease-in-out 0.3s; -o-transition: all ease-in-out 0.3s; transition: all ease-in-out 0.3s; } .elementor-control a:hover { border-bottom-color: inherit; } .elementor-control a.elementor-responsive-switcher { border-bottom: 0; } .elementor-control .elementor-control-content { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; } .elementor-control .elementor-control-title { font-size: var(--control-title-size); line-height: 1; margin-right: 5px; } .elementor-control .elementor-control-spinner { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .elementor-control.elementor-control-type-divider { padding: 0; background-color: transparent; } .elementor-control.elementor-control-type-divider .elementor-control-content { border-width: 0; border-color: #e6e9ec; border-style: solid; border-top-width: 1px; background-color: #ffffff; height: 15px; } .elementor-control.elementor-control-separator-default:not(.elementor-control-type-divider).elementor-control-wp { margin-top: 15px; } .elementor-control.elementor-control-separator-default:not(.elementor-control-type-divider).elementor-control-wp:before { content: ""; height: 1px; display: block; margin-bottom: 15px; background-color: transparent; } .elementor-control.elementor-control-separator-before { padding-top: 15px; } .elementor-control.elementor-control-separator-before:before { content: ""; position: absolute; height: 1px; width: 100%; top: 0; left: 0; background-color: #e6e9ec; } .elementor-control.elementor-control-separator-after:after { content: ""; position: absolute; height: 1px; width: 100%; bottom: 0; left: 0; background-color: #e6e9ec; } .elementor-control.elementor-control-separator-after + .elementor-control-type-tabs + .elementor-control-separator-default, .elementor-control.elementor-control-separator-after:not(.elementor-hidden-control) + .elementor-control-separator-default { padding-top: 15px; } .elementor-control.elementor-control-deprecated { color: #b01b1b; } .elementor-control.elementor-control-deprecated .elementor-control-field-description { color: #b01b1b; } .elementor-control.elementor-control-hidden-label > * > .elementor-control-title, .elementor-control.elementor-control-hidden-label > * > * > .elementor-control-title { display: none; } .elementor-control.elementor-hidden-control { display: none; } .elementor-control.elementor-control-type-heading .elementor-control-title { font-weight: bold; margin: 0; } body:not(.elementor-device-widescreen) .elementor-control.elementor-control-responsive-widescreen { display: none; } body:not(.elementor-device-desktop) .elementor-control.elementor-control-responsive-desktop { display: none; } body:not(.elementor-device-laptop) .elementor-control.elementor-control-responsive-laptop { display: none; } body:not(.elementor-device-tablet_extra) .elementor-control.elementor-control-responsive-tablet_extra { display: none; } body:not(.elementor-device-tablet) .elementor-control.elementor-control-responsive-tablet { display: none; } body:not(.elementor-device-mobile_extra) .elementor-control.elementor-control-responsive-mobile_extra { display: none; } body:not(.elementor-device-mobile) .elementor-control.elementor-control-responsive-mobile { display: none; } .elementor-control.elementor-control-type-select .elementor-control-input-wrapper { position: relative; } .elementor-control.elementor-control-type-select .elementor-control-input-wrapper select { appearance: none; -webkit-appearance: none; -moz-appearance: none; font-size: 12px; font-family: inherit; font-weight: inherit; font-style: inherit; text-transform: inherit; letter-spacing: inherit; line-height: inherit; -ms-flex-preferred-size: 100%; flex-basis: 100%; padding-left: 5px; padding-right: 20px; cursor: pointer; } .elementor-control.elementor-control-type-select .elementor-control-input-wrapper select.e-select-placeholder { color: #a4afb7; } .elementor-control.elementor-control-type-select .elementor-control-input-wrapper option.e-option-placeholder { display: none; } .elementor-control.elementor-control-type-select .elementor-control-input-wrapper:after { font-family: eicons; content: "\e8ad"; font-size: 12px; position: absolute; top: 50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); right: 5px; pointer-events: none; } .elementor-control-custom_css_pro .elementor-nerd-box-message, .elementor-control-custom_attributes_pro .elementor-nerd-box-message { margin-top: 5px; } .elementor-control.elementor-control-custom_css_title { font-size: 12px; } .elementor-control.elementor-open .elementor-panel-heading-toggle .eicon:before, .elementor-panel-scheme-item.elementor-open .elementor-panel-heading-toggle .eicon:before { content: "\e92a"; } .elementor-control:not(.elementor-open) .elementor-panel-heading-toggle .eicon:before, .elementor-panel-scheme-item:not(.elementor-open) .elementor-panel-heading-toggle .eicon:before { content: "\e90a"; } .elementor-panel-heading { display: table; table-layout: fixed; height: 40px; padding: 0 20px; width: 100%; border-bottom: 1px solid #e6e9ec; cursor: pointer; } .elementor-panel-heading > * { display: table-cell; vertical-align: middle; } .elementor-panel-heading-toggle { width: 20px; color: #495157; } .elementor-panel-heading-title { color: #495157; font-weight: bold; } .elementor-control-wp { line-height: 1.5; } .elementor-control-wp p { margin: 15px 0; } .elementor-control-field { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .elementor-label-block > .elementor-control-content > .elementor-control-field { -ms-flex-wrap: wrap; flex-wrap: wrap; } .elementor-label-block > .elementor-control-content > .elementor-control-field > .elementor-control-input-wrapper { width: 100%; margin-top: 10px; } .elementor-label-block > .elementor-control-content > .elementor-control-field > .elementor-control-input-wrapper > .elementor-choices label { width: auto; -webkit-box-flex: 1; -ms-flex: 1 1 27px; flex: 1 1 27px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-label-block.elementor-control-hidden-label:not(.elementor-control-dynamic) > .elementor-control-content > .elementor-control-field > .elementor-control-input-wrapper { margin-top: 0; } .elementor-label-block.elementor-control-hidden-label.elementor-label-block > .elementor-control-content > .elementor-control-field > .elementor-control-input-wrapper { margin-top: 0; } .elementor-label-inline > .elementor-control-content > .elementor-control-field > .elementor-control-title { -ms-flex-negative: 0; flex-shrink: 0; } .elementor-label-inline > .elementor-control-content > .elementor-control-field > .elementor-control-input-wrapper { margin-left: auto; } .elementor-control-field-description { margin-top: 10px; } .elementor-group-control-attachment_alert .elementor-control-field-description { margin-top: 0; } .elementor-required { color: #b01b1b; } .elementor-units-choices { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; text-align: right; } .elementor-units-choices input { display: none; } .elementor-units-choices input:not(:checked) + label { color: #a4afb7; } .elementor-units-choices input.e-units-placeholder + label { color: #c2cbd2; text-decoration: underline; } .elementor-units-choices input:checked + label { text-decoration: underline; } .elementor-units-choices label { cursor: pointer; padding: 0 2px; text-transform: uppercase; font-size: 9px; } .elementor-control-responsive-switchers { --selected-option: 0; --pointer-position: var(--selected-option); position: relative; width: 2em; height: 2em; margin: calc( -2em + var(--control-title-size)) 0; margin-right: 5px; } .elementor-control-responsive-switchers__holder { position: absolute; width: 100%; top: 0; background-color: #fff; border-radius: 3px; -webkit-transition: 0.15s; -o-transition: 0.15s; transition: 0.15s; border: 1px transparent solid; } .elementor-control-responsive-switchers.elementor-responsive-switchers-open { z-index: 11000; } .elementor-control-responsive-switchers.elementor-responsive-switchers-open .elementor-responsive-switcher { height: 2em; -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1); opacity: 1; } .elementor-control-responsive-switchers.elementor-responsive-switchers-open .elementor-responsive-switcher:hover { color: #71d7f7; } .elementor-control-responsive-switchers.elementor-responsive-switchers-open .elementor-control-responsive-switchers__holder { top: calc(-1 * var(--selected-option) * 2em); -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.2); box-shadow: 0 0 3px rgba(0, 0, 0, 0.2); } .elementor-responsive-switcher { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; position: relative; z-index: 2; cursor: pointer; height: 0; -webkit-transform: scale(0); -ms-transform: scale(0); transform: scale(0); opacity: 0; -webkit-transition: 0.15s; -o-transition: 0.15s; transition: 0.15s; font-size: 12px; } a.elementor-responsive-switcher { color: #a4afb7; } a.elementor-responsive-switcher:hover { color: #71d7f7; } .elementor-device-widescreen .elementor-responsive-switcher.elementor-responsive-switcher-widescreen { height: 2em; -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1); opacity: 1; } .elementor-device-widescreen .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-widescreen { color: #71d7f7; } .elementor-device-desktop .elementor-responsive-switcher.elementor-responsive-switcher-desktop { height: 2em; -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1); opacity: 1; } .elementor-device-desktop .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-desktop { color: #71d7f7; } .elementor-device-laptop .elementor-responsive-switcher.elementor-responsive-switcher-laptop { height: 2em; -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1); opacity: 1; } .elementor-device-laptop .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-laptop { color: #71d7f7; } .elementor-device-tablet_extra .elementor-responsive-switcher.elementor-responsive-switcher-tablet_extra { height: 2em; -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1); opacity: 1; } .elementor-device-tablet_extra .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-tablet_extra { color: #71d7f7; } .elementor-device-tablet .elementor-responsive-switcher.elementor-responsive-switcher-tablet { height: 2em; -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1); opacity: 1; } .elementor-device-tablet .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-tablet { color: #71d7f7; } .elementor-device-mobile_extra .elementor-responsive-switcher.elementor-responsive-switcher-mobile_extra { height: 2em; -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1); opacity: 1; } .elementor-device-mobile_extra .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-mobile_extra { color: #71d7f7; } .elementor-device-mobile .elementor-responsive-switcher.elementor-responsive-switcher-mobile { height: 2em; -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1); opacity: 1; } .elementor-device-mobile .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-mobile { color: #71d7f7; } .elementor-update-preview { margin: 15px 15px 0; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .elementor-update-preview-button-wrapper { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; text-align: right; } .elementor-update-preview-button { padding: 8px 15px; text-transform: uppercase; } .elementor-control-direction-ltr input, .elementor-control-direction-ltr textarea { direction: ltr; } .elementor-control-direction-rtl input, .elementor-control-direction-rtl textarea { direction: rtl; } .elementor-control-type-button .elementor-control-input-wrapper { text-align: right; } .elementor-control-type-button .elementor-button { width: auto; height: 26px; } .elementor-control-type-choose.elementor-label-block .elementor-choices { width: 100%; } .elementor-choices { display: -webkit-box; display: -ms-flexbox; display: flex; height: 27px; line-height: 27px; text-align: center; border-spacing: 1px; border-radius: 3px; overflow: hidden; } .elementor-choices .elementor-choices-label { border-top: 1px solid #d5dadf; border-bottom: 1px solid #d5dadf; border-left: 1px solid #d5dadf; border-right: none; font-size: 12px; -webkit-transition: all 0.5s; -o-transition: all 0.5s; transition: all 0.5s; cursor: pointer; overflow: hidden; } .elementor-choices .elementor-choices-label:nth-child(2) { border-top-left-radius: 3px; border-bottom-left-radius: 3px; } .elementor-choices .elementor-choices-label:last-child { border-right: 1px solid #d5dadf; border-top-right-radius: 3px; border-bottom-right-radius: 3px; } .elementor-choices input { display: none; } .elementor-choices input.e-choose-placeholder + .elementor-choices-label { color: #ffffff; background-color: #c2cbd2; border-color: #c2cbd2; } .elementor-choices input:checked + .elementor-choices-label { color: #fff; background-color: #a4afb7; border-color: #a4afb7; } .elementor-label-inline .elementor-choices { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; } .rtl .elementor-control-type-choose[class*=elementor-control-text_align] .elementor-choices, .rtl .elementor-control-type-choose[class*=elementor-control-align] .elementor-choices, .rtl .elementor-control-type-choose[class*=elementor-control-position] .elementor-choices { -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; } .rtl .elementor-control-type-choose[class*=elementor-control-text_align] .elementor-choices .elementor-choices-label:nth-child(2), .rtl .elementor-control-type-choose[class*=elementor-control-align] .elementor-choices .elementor-choices-label:nth-child(2), .rtl .elementor-control-type-choose[class*=elementor-control-position] .elementor-choices .elementor-choices-label:nth-child(2) { border-right: 1px solid #d5dadf; border-radius: 3px 0 0 3px; } .rtl .elementor-control-type-choose[class*=elementor-control-text_align] .elementor-choices .elementor-choices-label:last-child, .rtl .elementor-control-type-choose[class*=elementor-control-align] .elementor-choices .elementor-choices-label:last-child, .rtl .elementor-control-type-choose[class*=elementor-control-position] .elementor-choices .elementor-choices-label:last-child { border-right: none; border-radius: 0 3px 3px 0; } .elementor-control-type-color.e-control-global .e-global__popover-toggle ~ .pickr { border-radius: 0px 3px 3px 0; -ms-flex-negative: 0; flex-shrink: 0; } .elementor-control-type-color .elementor-control-title { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; } .elementor-control-type-color .elementor-control-input-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; } .elementor-control-type-color .elementor-control-dynamic-switcher { border-left-width: 0; border-radius: 0 3px 3px 0; } .elementor-control-type-color.elementor-control-dynamic .pickr { border-radius: 3px 0 0 3px; } .elementor-group-control-css-filter .elementor-slider { height: 6px; -webkit-box-shadow: 0 0 1px 1px inset rgba(0, 0, 0, 0.2); box-shadow: 0 0 1px 1px inset rgba(0, 0, 0, 0.2); } .elementor-group-control-css-filter .elementor-control-content > .elementor-control-field > .elementor-control-input-wrapper { margin-top: 0; margin-bottom: 5px; } .elementor-group-control-blur .elementor-slider { background: url("../images/blur.png"); background-size: cover; background-position: center; } .elementor-group-control-contrast .elementor-slider { background: url("../images/contrast.png"); background-size: 100% 100%; } .elementor-group-control-hue .elementor-slider { background-image: -webkit-gradient(linear, left top, right top, from(red), color-stop(orange), color-stop(yellow), color-stop(greenyellow), color-stop(limegreen), color-stop(deepskyblue), color-stop(blue), color-stop(95%, darkviolet)); background-image: -o-linear-gradient(left, red, orange, yellow, greenyellow, limegreen, deepskyblue, blue, darkviolet 95%); background-image: linear-gradient(to right, red, orange, yellow, greenyellow, limegreen, deepskyblue, blue, darkviolet 95%); } .elementor-group-control-saturate .elementor-slider { background-image: -webkit-gradient(linear, left top, right top, from(gray), to(red)); background-image: -o-linear-gradient(left, gray, red); background-image: linear-gradient(to right, gray, red); } .elementor-group-control-brightness .elementor-slider { background-image: -webkit-gradient(linear, left top, right top, from(black), to(white)); background-image: -o-linear-gradient(left, black, white); background-image: linear-gradient(to right, black, white); } .elementor-control-type-dimensions .elementor-control-dimensions { overflow: hidden; } .elementor-control-type-dimensions li { float: left; width: 20%; } .elementor-control-type-dimensions li input, .elementor-control-type-dimensions li .elementor-link-dimensions { display: block; text-align: center; width: 100%; border-color: #d5dadf; height: 27px; } .elementor-control-type-dimensions li input { border-left: none; border-radius: 0; padding: 4px 0; } .elementor-control-type-dimensions li input:focus { border-left: solid 1px; border-color: #a4afb7; margin-left: -1px; width: calc(100% + 1px); } .elementor-control-type-dimensions li input:focus + .elementor-control-dimension-label { color: #a4afb7; } .elementor-control-type-dimensions li .elementor-link-dimensions { border: 1px solid #d5dadf; border-left: none; background-color: #fff; padding: 0; outline: none; border-radius: 0 3px 3px 0; cursor: pointer; } .elementor-control-type-dimensions li:first-child input { border-left: 1px solid #d5dadf; border-radius: 3px 0 0 3px; } .elementor-control-type-dimensions li:first-child input:focus { border-color: #a4afb7; margin-left: 0; width: 100%; } .elementor-control-type-dimensions .elementor-control-dimension-label { display: block; text-align: center; color: #d5dadf; font-size: 9px; text-transform: uppercase; padding-top: 5px; } .elementor-control-type-dimensions .elementor-link-dimensions.unlinked { background-color: #fff; } .elementor-control-type-dimensions .elementor-link-dimensions.unlinked .elementor-linked { display: none; } .elementor-control-type-dimensions .elementor-link-dimensions:not(.unlinked) { background-color: #a4afb7; border-color: #a4afb7; } .elementor-control-type-dimensions .elementor-link-dimensions:not(.unlinked) .elementor-unlinked { display: none; } .elementor-control-type-dimensions .elementor-link-dimensions .elementor-linked { color: #fff; } .elementor-control-type-icons .elementor-control-media__preview > * { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); } .elementor-control-type-icons .elementor-control-media__preview i { font-size: 70px; color: #6d7882; } .elementor-control-type-icons .elementor-control-media__preview svg { height: 75%; } .elementor-control-type-icons .elementor-control-icons--inline__svg i.eicon-upload { font-size: 15px; } .elementor-control-type-gallery .elementor-control-media__content { border: 1px solid #d5dadf; border-radius: 3px; } .elementor-control-type-gallery .elementor-control-gallery-status { font-size: 12px; height: 27px; padding-left: 10px; border-bottom: 1px solid #d5dadf; display: -webkit-box; display: -ms-flexbox; display: flex; } .elementor-control-type-gallery .elementor-control-gallery-status > * { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .elementor-control-type-gallery .elementor-control-gallery-status-title { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; } .elementor-control-type-gallery .elementor-control-gallery-content { position: relative; overflow: hidden; } .elementor-control-type-gallery .elementor-control-gallery-content:not(:hover) .elementor-control-gallery-edit { opacity: 0; } .elementor-control-type-gallery .elementor-control-gallery-thumbnails { display: grid; grid-template-columns: repeat(auto-fill, minmax(48px, 1fr)); grid-gap: 10px; cursor: pointer; padding: 10px; } .elementor-control-type-gallery .elementor-control-gallery-thumbnail { width: 48px; height: 48px; background-size: cover; background-position: 50% 50%; } .elementor-control-type-gallery .elementor-control-gallery-edit { position: absolute; top: 0; bottom: 0; left: 0; right: 0; background-color: rgba(109, 120, 130, 0.3); padding: 10px; font-size: 11px; -webkit-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; pointer-events: none; cursor: pointer; opacity: 1; } .elementor-control-type-gallery .elementor-control-gallery-edit span { position: absolute; top: 10px; right: 10px; width: 21px; height: 21px; background-color: rgba(255, 255, 255, 0.9); color: #a4afb7; -webkit-box-shadow: 0 0 7px 0 rgba(0, 0, 0, 0.2); box-shadow: 0 0 7px 0 rgba(0, 0, 0, 0.2); border-radius: 3px; } .elementor-control-type-gallery .elementor-control-gallery-edit span i { font-size: 11px; padding: 5px; } .elementor-control-type-gallery .elementor-control-gallery-add { width: 48px; height: 48px; color: #fff; background-color: #d5dadf; font-size: 14px; border-radius: 0; } .elementor-control-type-gallery .elementor-control-gallery-add:hover { background-color: #c2cbd2; } .elementor-control-type-gallery .elementor-control-gallery-add i { margin: 0; color: #a4afb7; } .elementor-control-type-gallery.elementor-gallery-empty .elementor-control-gallery-clear, .elementor-control-type-gallery.elementor-gallery-empty .elementor-control-gallery-thumbnails, .elementor-control-type-gallery.elementor-gallery-empty .elementor-control-gallery-edit { display: none; } .elementor-control-type-gallery.elementor-gallery-empty .elementor-control-gallery-content { padding: 10px; } .elementor-control-type-gallery.elementor-gallery-has-images .elementor-control-gallery-add { display: none; } .elementor-control-type-gallery.elementor-control-dynamic .elementor-control-gallery-clear { border-left: 1px solid #d5dadf; } .elementor-control-type-gallery .elementor-control-gallery-clear { cursor: pointer; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-control-type-gallery .elementor-control-gallery-clear:hover { color: #b01b1b; } .elementor-control-type-gallery .elementor-control-dynamic-switcher { border: none; border-bottom: 1px solid #d5dadf; border-left: 1px solid #d5dadf; border-radius: 0 3px 0 0; } .e-global__popover { width: 288px; z-index: 1; font-size: 12px; padding-left: 10px; } .e-global__popover-toggle { border: 1px solid #d5dadf; border-right: 0; border-radius: 3px 0 0 3px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; cursor: pointer; } .e-global__popover-toggle--active i { color: #71d7f7; } .e-global__popover-container { -webkit-box-shadow: 0 2px 15px rgba(0, 0, 0, 0.3); box-shadow: 0 2px 15px rgba(0, 0, 0, 0.3); border-radius: 3px; background-color: #fff; padding-bottom: 5px; } .e-global__popover-title { padding: 15px 20px; font-weight: 500; color: #6d7882; border-bottom: 1px solid #e6e9ec; display: -webkit-box; display: -ms-flexbox; display: flex; } .e-global__popover-title > i { margin-right: 5px; color: #d5dadf; } .e-global__popover-title-text { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; } .e-global__popover-info { margin-right: 5px; display: inline-block; } .e-global__popover-info-tooltip { width: 270px; z-index: 1; background-color: rgba(0, 0, 0, 0.9); color: #fff; padding: 20px; border-radius: 3px; } .e-global__popover-info-tooltip:after { content: ""; position: absolute; bottom: -17px; left: 16px; border: 10px solid transparent; border-top-color: rgba(0, 0, 0, 0.9); } .e-global__popover-info i { color: #d5dadf; font-size: 13px; } .e-global__preview-items-container { max-height: 260px; overflow-y: auto; margin-top: 5px; } .e-global__preview-items-container::-webkit-scrollbar { width: 7px; } .e-global__preview-items-container::-webkit-scrollbar-thumb { background-color: #c2cbd2; border-radius: 10px; } .e-global__manage-button { font-weight: 500; cursor: pointer; } .e-global__manage-button:hover i { color: #4ab7f4; } .e-global__manage-button i { color: #6d7882; } .e-global__typography { padding: 5px 10px 5px 35px; white-space: nowrap; -o-text-overflow: ellipsis; text-overflow: ellipsis; overflow: hidden; } .e-global__typography.e-global__preview-item--selected:before { font-family: "eicons"; font-size: 13px; content: "\e90e"; position: absolute; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); top: 50%; left: 12px; } .e-global__color { margin: 5px auto; padding: 5px 20px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .e-global__color:first-child { margin-top: 5px; } .e-global__color:last-child { margin-bottom: 10px; } .e-global__color-preview-container { height: 20px; width: 20px; border-radius: 3px; border: 1px solid rgba(0, 0, 0, 0.1); margin-right: 10px; -ms-flex-negative: 0; flex-shrink: 0; position: relative; } .e-global__color-preview-color, .e-global__color-preview-transparent-bg { border-radius: 3px; height: 100%; width: 100%; position: absolute; top: 0; left: 0; } .e-global__color-preview-transparent-bg { background-image: -o-linear-gradient(45deg, #ddd 25%, transparent 0, transparent 75%, #ddd 0, #ddd), -o-linear-gradient(45deg, #ddd 25%, transparent 0, transparent 75%, #ddd 0, #ddd); background-image: linear-gradient(45deg, #ddd 25%, transparent 0, transparent 75%, #ddd 0, #ddd), linear-gradient(45deg, #ddd 25%, transparent 0, transparent 75%, #ddd 0, #ddd); background-size: 12px 12px; background-position: 0 0, 6px 6px; } .e-global__color-title { font-weight: 500; color: #6d7882; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; white-space: nowrap; -o-text-overflow: ellipsis; text-overflow: ellipsis; overflow: hidden; padding-right: 10px; } .e-global__color-hex { font-size: 10px; font-weight: 500; color: #c2cbd2; } .e-global__color .pcr-button { background-color: #fff; } .e-global__color.e-global__preview-item--selected .e-global__color-preview-container { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; color: #ffffff; } .e-global__color.e-global__preview-item--selected .e-global__color-preview-container:before { font-family: "eicons"; font-size: 13px; content: "\e90e"; text-shadow: 0px 0px 1px #000; z-index: 1; } .e-global__preview-item { cursor: pointer; position: relative; } .e-global__preview-item:hover { background-color: #f1f3f5; } .e-global__preview-item:hover .e-global__color-hex { color: #a4afb7; } .e-global__confirm-add .dialog-buttons-wrapper > .dialog-button.dialog-confirm-ok { color: #39b54a; } .e-global__confirm-delete i { color: #b01b1b; } .e-global__confirm-message-text i { color: #fcb92c; } .e-global__confirm-input-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; border: 1px solid #a4afb7; border-radius: 3px; margin-top: 10px; padding: 2px; } .e-global__confirm-input-wrapper input { font-family: Roboto, Arial, sans-serif; font-weight: 500; font-size: 12px; padding: 2px; border: 0; } .e-control-global .elementor-control-input-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; max-width: 135px; width: 100%; } .e-control-global.elementor-control .elementor-control-input-wrapper { direction: ltr; } .e-control-global .elementor-control-spinner { margin-right: 4px; } .elementor-control-type-hidden { display: none !important; } .elementor-control-type-icon .select2-selection__rendered .eicon { margin-right: 3px; } .elementor-control-type-image_dimensions .elementor-control-field-description { margin: 0 0 15px; line-height: 1.4; } .elementor-control-type-image_dimensions .elementor-control-input-wrapper { overflow: hidden; } .elementor-control-type-image_dimensions .elementor-image-dimensions-field { width: 65px; float: left; } .elementor-control-type-image_dimensions .elementor-image-dimensions-field input:focus + .elementor-image-dimensions-field-description { color: #a4afb7; } .elementor-control-type-image_dimensions .elementor-image-dimensions-separator { width: 20px; text-align: center; float: left; padding-top: 4px; } .elementor-control-type-image_dimensions .elementor-image-dimensions-field-description { display: block; text-transform: uppercase; margin-top: 5px; color: #d5dadf; font-size: 9px; text-align: center; } .elementor-control-type-image_dimensions .elementor-image-dimensions-apply-button { float: right; height: 27px; width: 65px; } .elementor-control-media.elementor-media-empty .elementor-control-media-area .elementor-control-media__remove, .elementor-control-media.elementor-media-empty .elementor-control-media-area .elementor-control-media__content__remove { display: none; } .elementor-control-media:not(.elementor-media-empty) .elementor-control-media__content__upload-button { display: none; } .elementor-control-media .elementor-control-input-wrapper { border: 1px solid #d5dadf; } .elementor-control-media .eicon-plus-circle { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); color: #fff; font-size: 20px; } .elementor-control-media__content__upload-button { background-color: #d5dadf; } .elementor-control-media__preview { height: 100%; background-size: cover; background-position: center; } .elementor-control-media-area { background-image: -o-linear-gradient(45deg, #ddd 25%, transparent 0, transparent 75%, #ddd 0, #ddd), -o-linear-gradient(45deg, #ddd 25%, transparent 0, transparent 75%, #ddd 0, #ddd); background-image: linear-gradient(45deg, #ddd 25%, transparent 0, transparent 75%, #ddd 0, #ddd), linear-gradient(45deg, #ddd 25%, transparent 0, transparent 75%, #ddd 0, #ddd); background-size: 16px 16px; background-position: 0 0, 8px 8px; background-color: #f6f6f6; } .elementor-control-media-area:not(:hover) .elementor-control-media__remove { display: none; } .elementor-control-media-area .eicon-video-camera { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); color: rgba(255, 255, 255, 0.7); font-size: 21px; } .elementor-control-media .elementor-control-media__content { cursor: pointer; overflow: hidden; } .elementor-control-media .elementor-control-media__content:hover:after { content: ""; position: absolute; top: 0; bottom: 0; left: 0; right: 0; background-color: rgba(0, 0, 0, 0.2); pointer-events: none; } .elementor-control-media .elementor-control-media__content:not(:hover) .elementor-control-media__tools { bottom: -30px; } .elementor-control-media__content { -webkit-transition: all 0.2s ease-in-out; -o-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out; } .elementor-control-media__tools { position: absolute; bottom: 0; left: 0; right: 0; height: 27px; -webkit-transition: all 0.2s ease-in-out; -o-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out; } .elementor-control-media__tools > *:not(:first-child) { margin-left: 1px; } .elementor-control-media__tool { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; color: #fff; background-color: rgba(109, 120, 130, 0.85); font-size: 11px; -webkit-transition: background 0.3s; -o-transition: background 0.3s; transition: background 0.3s; } .elementor-control-media__tool:hover { background-color: rgba(109, 120, 130, 0.95); } .elementor-control-media__remove { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; } .elementor-control-media__content__remove { position: absolute; z-index: 1; top: 10px; right: 10px; width: 20px; height: 20px; font-size: 11px; color: #a4afb7; background-color: rgba(255, 255, 255, 0.9); border-radius: 3px; -webkit-box-shadow: 0 0 7px 0 rgba(0, 0, 0, 0.1); box-shadow: 0 0 7px 0 rgba(0, 0, 0, 0.1); } .elementor-control-media__content__remove:hover { background-color: white; -webkit-box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.4); box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.4); } .elementor-control-media.elementor-media-empty .elementor-control-file-area { display: none; } .elementor-control-media__file { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; width: 100%; margin-top: 10px; border: 1px solid #d5dadf; } .elementor-control-media__file__content { padding-left: 5px; font-size: 12px; } .elementor-control-media__file__content__label { color: #a4afb7; } .elementor-control-media__file__content__info { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; font-weight: 500; } .elementor-control-media__file__content__info__icon { margin-right: 5px; } .elementor-control-media__file__controls { display: -webkit-box; display: -ms-flexbox; display: flex; border-left: 1px solid #d5dadf; } .elementor-control-media__file__controls__upload-button, .elementor-control-media__file__controls__remove { width: 27px; height: 27px; cursor: pointer; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .elementor-control-media__file__controls__upload-button { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-control-media__file__controls__remove { border-right: 1px solid #d5dadf; } .elementor-control-media:not(.elementor-media-empty) .elementor-control-media__file__content__label { display: none; } .elementor-control-media.elementor-media-empty .elementor-control-media__file__content__info { display: none; } .elementor-control-media.elementor-media-empty .elementor-control-media__file__controls__remove { display: none; } .elementor-control-media .elementor-control-dynamic-switcher { border: none; border-radius: 0; background-color: rgba(109, 120, 130, 0.85); color: #fff; } .elementor-control-media .elementor-control-dynamic-switcher:hover { background-color: rgba(109, 120, 130, 0.95); } .elementor-control-type-media.elementor-control-dynamic-value .elementor-control-input-wrapper { border: none; } .elementor-control:not(.elementor-control-type-icons) .elementor-control-media__preview { background-color: #d5dadf; } .elementor-control-type-number.elementor-control-dynamic input { border-radius: 3px 0 0 3px; border-right: none; } .elementor-control-type-number.elementor-control-dynamic .elementor-control-dynamic-switcher { border-radius: 0 3px 3px 0; } .elementor-control-type-order .elementor-control-oreder-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; } .elementor-control-type-order input { display: none; } .elementor-control-type-order input:checked + .elementor-control-order-label { -webkit-transform: scale(1, -1); -ms-transform: scale(1, -1); transform: scale(1, -1); } .elementor-control-type-order select { border-radius: 3px 0 0 3px; } .elementor-control-type-order select:not(:focus) ~ .elementor-control-order-label { border-color: #d5dadf; } .elementor-control-type-order select:focus ~ .elementor-control-order-label { border-color: #a4afb7; } .elementor-control-type-order .elementor-control-order-label { position: relative; padding: 0; width: 40px; border: 1px solid; font-size: 10px; border-radius: 0 3px 3px 0; margin-left: -3px; background-color: #fff; cursor: pointer; } .elementor-control-type-order .elementor-control-order-label i { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); } .elementor-control-type-popover_toggle input { display: none; } .elementor-control-type-popover_toggle label { cursor: pointer; } .elementor-control-type-popover_toggle .elementor-control-input-wrapper { direction: rtl; } .elementor-control-type-popover_toggle .elementor-control-popover-toggle-toggle:checked + .elementor-control-popover-toggle-toggle-label { color: #71d7f7; } .elementor-control-type-popover_toggle .elementor-control-popover-toggle-toggle:not(:checked) ~ .elementor-control-popover-toggle-reset-label { display: none; } .elementor-control-type-popover_toggle .elementor-control-popover-toggle-reset-label { color: #c2cbd2; margin-right: 5px; } .elementor-control-type-popover_toggle .elementor-control-popover-toggle-toggle-label { height: 27px; display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; border-radius: 3px; border: 1px solid #d5dadf; } .elementor-controls-popover.e-controls-popover--typography { padding-top: 0; } .e-control-global .elementor-control-popover-toggle-toggle-label { border-radius: 0 3px 3px 0; -ms-flex-negative: 0; flex-shrink: 0; } .elementor-control-type-repeater .elementor-control:not(.elementor-control-type-tab) { padding-right: 10px; padding-left: 10px; padding-bottom: 10px; } .elementor-control-type-repeater.elementor-repeater-has-minimum-rows .elementor-repeater-tool-remove { display: none; } .elementor-control-type-repeater .elementor-repeater-fields { margin: 10px 0; } .elementor-control-type-repeater .elementor-repeater-row-controls { border: 1px solid #d5dadf; border-top-width: 0; padding-top: 15px; } .elementor-control-type-repeater .elementor-repeater-row-controls:not(.editable) { display: none; } .elementor-control-type-repeater .elementor-repeater-row-tools { display: table; table-layout: fixed; width: 100%; color: #556068; background-color: #d5dadf; height: 40px; border-spacing: 1px; -webkit-transition: all 0.5s; -o-transition: all 0.5s; transition: all 0.5s; } .elementor-control-type-repeater .elementor-repeater-row-tools:hover { background-color: #a4afb7; } .elementor-control-type-repeater .elementor-repeater-row-tools > div { display: table-cell; text-align: center; vertical-align: middle; cursor: pointer; } .elementor-control-type-repeater .elementor-repeater-row-tools > div:not(.elementor-repeater-row-handle-sortable) { background-color: #fff; } .elementor-control-type-repeater .elementor-repeater-row-tools > div:hover { opacity: 0.95; } .elementor-control-type-repeater .elementor-repeater-row-tools .elementor-repeater-row-item-title { text-align: left; padding: 0 10px; font-size: 12px; white-space: nowrap; -o-text-overflow: ellipsis; text-overflow: ellipsis; overflow: hidden; } .elementor-control-type-repeater .elementor-repeater-row-tools .elementor-repeater-row-item-title .eicon, .elementor-control-type-repeater .elementor-repeater-row-tools .elementor-repeater-row-item-title i, .elementor-control-type-repeater .elementor-repeater-row-tools .elementor-repeater-row-item-title svg { margin-right: 5px; } .elementor-control-type-repeater .elementor-repeater-row-tools .elementor-repeater-row-item-title img[src$=svg] { width: 1em; } .elementor-control-type-repeater .elementor-repeater-row-tools .elementor-repeater-row-tool { width: 40px; } .elementor-control-type-repeater .elementor-repeater-row-tools .elementor-repeater-row-handle-sortable { cursor: move; width: 10px; color: #fff; } .elementor-control-type-repeater .elementor-button-wrapper { text-align: center; padding-top: 5px; } .elementor-control-type-section { margin-top: 10px; padding: 0; } .elementor-control-type-section.elementor-open { padding-bottom: 15px; } .elementor-control-type-section + .elementor-control:not(.elementor-control-type-section):before { display: none; } .elementor-shadow-box .elementor-shadow-slider { margin-top: 10px; } .elementor-shadow-box .elementor-color-picker-wrapper .elementor-control-title { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; } .elementor-control-type-slider.elementor-control-dynamic input { border-radius: 3px 0 0 3px; } .elementor-control-type-slider .elementor-control-unit-2 { width: 21%; } .elementor-control-type-slider.elementor-control-type-slider--multiple .elementor-control-input-wrapper { display: block; } .elementor-control-type-slider--multiple { padding-bottom: 40px; } .elementor-control-type-slider--multiple .elementor-slider { margin-top: 12px; width: 98%; } .elementor-control-type-slider--handles-range .elementor-slider .noUi-handle { border-radius: 0; width: 10px; -webkit-transform: translateY(calc(50% - 14px)) translateX(4px); -ms-transform: translateY(calc(50% - 14px)) translateX(4px); transform: translateY(calc(50% - 14px)) translateX(4px); } .elementor-control-type-slider--handles-range .elementor-slider .noUi-handle:after { content: ""; position: absolute; top: 2px; height: 12px; width: 11px; -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); background-color: #fff; border-radius: 3px; } .elementor-control-type-slider--handles-range .elementor-slider .noUi-handle-lower:after { left: 5px; -webkit-box-shadow: 2px -2px 3px 0px rgba(0, 0, 0, 0.1); box-shadow: 2px -2px 3px 0px rgba(0, 0, 0, 0.1); } .elementor-control-type-slider--handles-range .elementor-slider .noUi-handle-upper:after { right: 5px; -webkit-box-shadow: -2px 2px 3px 0px rgba(0, 0, 0, 0.1); box-shadow: -2px 2px 3px 0px rgba(0, 0, 0, 0.1); } .elementor-control-type-slider .elementor-control-dynamic-switcher { border-left-width: 0; border-radius: 0 3px 3px 0; } .elementor-control-type-slider .elementor-control-input-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .elementor-control-type-slider .elementor-dynamic-cover { margin-top: 10px; } .elementor-slider { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; height: 4px; background-color: #d5dadf; border-radius: 5px; position: relative; cursor: pointer; } .elementor-slider-input { width: 21%; min-width: 54px; margin-left: 12px; } .elementor-slider__extra { position: relative; } .elementor-slider__labels { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; } .elementor-slider__label { font-size: 9px; color: #c2cbd2; } .elementor-slider__scales { position: absolute; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: space-evenly; -ms-flex-pack: space-evenly; justify-content: space-evenly; width: 100%; margin-top: 4px; } .elementor-slider__scale { width: 1px; height: 21px; background-color: #a4afb7; } .elementor-slider .noUi-handle { height: 16px; width: 16px; background-color: #fff; right: 0; -webkit-transform: translateY(calc(50% - 14px)) translateX(8px); -ms-transform: translateY(calc(50% - 14px)) translateX(8px); transform: translateY(calc(50% - 14px)) translateX(8px); position: absolute; -webkit-box-shadow: 0 1px 5px rgba(0, 0, 0, 0.3); box-shadow: 0 1px 5px rgba(0, 0, 0, 0.3); border-radius: 50%; } .elementor-slider .noUi-connects { position: absolute; width: 100%; height: 4px; } .elementor-slider .noUi-connect { position: absolute; z-index: 0; top: 0; left: 0; height: 100%; width: 100%; will-change: transform; -webkit-transform-origin: 0 0; -ms-transform-origin: 0 0; transform-origin: 0 0; background-color: #a4afb7; } .elementor-slider .noUi-tooltip { position: absolute; top: calc(100% + 5px); left: calc(50% - 4px); -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); font-size: 10px; } .elementor-control-type-structure .elementor-control-field { display: initial; } .elementor-control-type-structure .elementor-control-structure-preset { padding: 3px; border-radius: 3px; display: inline-block; cursor: pointer; height: 50px; } .elementor-control-type-structure .elementor-control-structure-preset svg { height: 100%; } .elementor-control-type-structure .elementor-control-structure-preset path { fill: #e6e9ec; } .elementor-control-type-structure .elementor-control-structure-reset { padding: 15px 20px 0; font-size: 11px; cursor: pointer; color: #a4afb7; border-top: 1px solid #e6e9ec; margin: 0 -20px; } .elementor-control-type-structure .elementor-control-structure-title { margin: 10px -20px 0; } .elementor-control-type-structure .elementor-control-structure-title:before { height: 10px; -webkit-box-shadow: inset 0 2px 4px rgba(127, 127, 127, 0.1); box-shadow: inset 0 2px 4px rgba(127, 127, 127, 0.1); } .elementor-control-type-structure .elementor-control-structure-presets { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; } .elementor-control-type-structure .elementor-control-structure-presets input { display: none; } .elementor-control-type-structure .elementor-control-structure-presets input:checked + .elementor-control-structure-preset path { fill: #a4afb7; } .elementor-control-type-structure .elementor-control-structure-preset-wrapper { margin-bottom: 15px; } .elementor-control-type-structure .elementor-control-structure-preset-title { text-align: center; padding-top: 5px; font-style: italic; font-size: 11px; color: #a4afb7; } .elementor-control-type-switcher .elementor-control-input-wrapper { text-align: right; } .elementor-control-type-switcher .elementor-switch { position: relative; display: inline-block; vertical-align: top; height: 20px; background-color: white; border-radius: 18px; cursor: pointer; } .elementor-control-type-switcher .elementor-switch-input { display: none; } .elementor-control-type-switcher .elementor-switch-label { position: relative; display: block; height: inherit; font-size: 7px; text-transform: uppercase; background: #eceeef; border-radius: inherit; -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.12), inset 0 0 2px rgba(0, 0, 0, 0.15); box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.12), inset 0 0 2px rgba(0, 0, 0, 0.15); -webkit-transition: 0.15s ease-out; -o-transition: 0.15s ease-out; transition: 0.15s ease-out; -webkit-transition-property: opacity, background; -o-transition-property: opacity, background; transition-property: opacity, background; } .elementor-control-type-switcher .elementor-switch-label:before, .elementor-control-type-switcher .elementor-switch-label:after { position: absolute; top: 0; width: 50%; text-align: center; line-height: 20px; -webkit-transition: inherit; -o-transition: inherit; transition: inherit; } .elementor-control-type-switcher .elementor-switch-label:before { content: attr(data-off); right: 3px; color: #a4afb7; text-shadow: 0 1px rgba(255, 255, 255, 0.5); } .elementor-control-type-switcher .elementor-switch-label:after { content: attr(data-on); left: 3px; color: white; text-shadow: 0 1px rgba(0, 0, 0, 0.2); opacity: 0; } .elementor-control-type-switcher .elementor-switch-input:checked ~ .elementor-switch-label { background: #71d7f7; -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.15), inset 0 0 3px rgba(0, 0, 0, 0.2); box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.15), inset 0 0 3px rgba(0, 0, 0, 0.2); } .elementor-control-type-switcher .elementor-switch-input:checked ~ .elementor-switch-label:before { opacity: 0; } .elementor-control-type-switcher .elementor-switch-input:checked ~ .elementor-switch-label:after { opacity: 1; } .elementor-control-type-switcher .elementor-switch-handle { position: absolute; top: 1px; left: 1px; width: 18px; height: 18px; background: white; border-radius: 10px; -webkit-transition: left 0.15s ease-out; -o-transition: left 0.15s ease-out; transition: left 0.15s ease-out; } .elementor-control-type-switcher .elementor-switch-input:checked ~ .elementor-switch-handle { left: initial; right: 1px; -webkit-box-shadow: -1px 1px 5px rgba(0, 0, 0, 0.2); box-shadow: -1px 1px 5px rgba(0, 0, 0, 0.2); } .elementor-control-type-tabs { font-size: 0.8em; text-transform: uppercase; display: -webkit-box; display: -ms-flexbox; display: flex; } .elementor-control-type-tab { text-align: center; width: 100%; padding: 0; line-height: 25px; border-top: 1px solid #d5dadf; border-bottom: 1px solid #d5dadf; border-right: 1px solid #d5dadf; cursor: pointer; } .elementor-control-type-tab:first-child { border-left: 1px solid #d5dadf; border-top-left-radius: 3px; border-bottom-left-radius: 3px; } .elementor-control-type-tab:last-child { border-top-right-radius: 3px; border-bottom-right-radius: 3px; } .elementor-control-type-tab.elementor-tab-active { background-color: #a4afb7; border-color: #a4afb7; color: #ffffff; } .elementor-tab-close { display: none !important; } .elementor-control-type-textarea.elementor-control-dynamic-value .elementor-control-dynamic-switcher, .elementor-control-type-code.elementor-control-dynamic-value .elementor-control-dynamic-switcher { border-radius: 0 3px 3px 0; border-left-width: 0; } .elementor-control-type-textarea .elementor-control-dynamic-switcher, .elementor-control-type-code .elementor-control-dynamic-switcher { border-radius: 0 3px; } .elementor-control-type-textarea:not(.elementor-control-dynamic-value) .elementor-control-dynamic-switcher, .elementor-control-type-code:not(.elementor-control-dynamic-value) .elementor-control-dynamic-switcher { position: absolute; top: 0; z-index: 1; right: 0; } .elementor-control-type-textarea .elementor-control-input-wrapper, .elementor-control-type-code .elementor-control-input-wrapper { position: relative; } .elementor-control-type-textarea textarea, .elementor-control-type-code textarea { display: block; font-family: inherit; } .elementor-control-type-textarea textarea:focus + .elementor-control-dynamic-switcher, .elementor-control-type-code textarea:focus + .elementor-control-dynamic-switcher { display: none; } .elementor-control-type-textarea pre:focus-within + .elementor-control-dynamic-switcher, .elementor-control-type-code pre:focus-within + .elementor-control-dynamic-switcher { display: none; } .elementor-control-type-url.elementor-control-dynamic .elementor-input { border-radius: 3px 0 0 3px; } .elementor-control-type-url .elementor-control-field { position: relative; } .elementor-control-type-url:not(.elementor-control-dynamic) .elementor-control-url-more, .elementor-control-type-url.elementor-control-dynamic-value .elementor-control-url-more { border-radius: 0 3px 3px 0; } .elementor-control-type-url .elementor-control-input-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; } .elementor-control-type-url .elementor-control-url-more { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -ms-flex-negative: 0; flex-shrink: 0; border: 1px solid #d5dadf; border-left: none; cursor: pointer; } .elementor-control-type-url .elementor-control-url-more i { font-size: 12px; } .elementor-control-type-url .elementor-control-url-more-options { display: none; padding-top: 10px; } .elementor-control-type-url .elementor-control-url-more-options .elementor-control-field-description { margin-top: 10px; } .elementor-control-type-url .elementor-control-url-option { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .elementor-control-type-url .elementor-control-url-option:not(:last-child) { padding-bottom: 10px; } .elementor-control-type-url .elementor-control-url-option input, .elementor-control-type-url .elementor-control-url-option label { cursor: pointer; } .elementor-control-type-url .elementor-control-url-option-input { margin: 0; padding: 0; border-radius: 2px; margin-right: 5px; -webkit-appearance: none; -moz-appearance: none; outline: none; content: none; height: 15px; width: 15px; border: 1px solid #d5dadf; display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-control-type-url .elementor-control-url-option-input:checked { background: #71d7f7; border: none; } .elementor-control-type-url .elementor-control-url-option-input:checked:before { display: block; content: ""; width: 4px; height: 7px; border: solid white; border-width: 0 2px 2px 0; -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); } .elementor-control-type-url .elementor-control-url-option label { font-size: 12px; } .elementor-control-type-url .elementor-control-url-external-hide .elementor-control-url-more { display: none; } .elementor-control-type-url .elementor-control-url-external-show .elementor-input, .elementor-control-type-url .elementor-control-url-external-show .elementor-dynamic-cover { border-radius: 3px 0 0 3px; } .elementor-control-type-url .elementor-control-url-autocomplete-spinner { display: none; position: absolute; top: 5px; right: 0px; width: 10px; height: 10px; font-size: 10px; color: #D4D4D4; } .elementor-control-type-url .elementor-control-url__custom-attributes { margin-top: 5px; } .elementor-control-type-url .elementor-control-url__custom-attributes label { font-size: 12px; } .elementor-control-type-url .elementor-control-url__custom-attributes input { width: 100%; margin-top: 10px; } .elementor-control-type-url .elementor-input { direction: ltr; } .elementor-control-type-url .elementor-input:not(:focus) + .elementor-control-url-more { border-color: #d5dadf; } .elementor-control-type-url .elementor-input:focus ~ div { border-color: #a4afb7; } .elementor-control-type-url .elementor-control-dynamic-switcher { border-left: none; border-radius: 0 3px 3px 0; } .elementor-autocomplete-menu { position: absolute; background: #fff; color: #495157; border: 1px solid #a4afb7; margin: 0; list-style: none; padding: 4px 0; height: auto; width: 100%; min-width: 260px; max-width: 300px; max-height: 200px; overflow-y: auto; border-radius: 3px; -webkit-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; cursor: default; z-index: 1; } .elementor-autocomplete-menu .ui-menu-item { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-item-align: baseline; align-self: baseline; padding: 5px 8px; font-size: 12px; width: 100%; line-height: 1.2; cursor: pointer; } .elementor-autocomplete-menu .ui-menu-item.ui-state-hover, .elementor-autocomplete-menu .ui-menu-item.ui-state-active, .elementor-autocomplete-menu .ui-menu-item.ui-state-focus { background: #e6e9ec; } .elementor-autocomplete-menu .elementor-autocomplete-item-info { font-size: 10px; padding-top: 2px; } .elementor-control-type-wp_widget .widget-inside { display: block; } .elementor-control-type-wp_widget .quicktags-toolbar input { width: auto; } .elementor-control-type-wysiwyg * { -webkit-box-sizing: content-box; box-sizing: content-box; } .elementor-control-type-wysiwyg .wp-editor-container { border: 1px solid #e6e9ec; } .elementor-control-type-wysiwyg .wp-editor-tabs { border: 1px solid #d5dadf; border-bottom: none; border-radius: 3px 3px 0 0; } .elementor-control-type-wysiwyg #insert-media-button { height: initial; line-height: 24px; font-size: 10px; color: #6d7882; border-color: #d5dadf; background-color: #e6e9ec; min-height: initial; } .elementor-control-type-wysiwyg .ed_button { height: 22px; width: initial; } .elementor-control-type-wysiwyg .wp-media-buttons-icon { height: 14px; margin: 0; } .elementor-control-type-wysiwyg .wp-media-buttons-icon:before { font-size: 14px; } .elementor-control-type-wysiwyg .wp-switch-editor { position: static; border: none; margin: 0; color: #6d7882; font-size: 10px; padding: 3px 9px 4px; } .elementor-control-type-wysiwyg .switch-html { border: solid #d5dadf; border-width: 0 1px; } .elementor-control-type-wysiwyg .html-active .switch-tmce { background-color: transparent; } .elementor-control-type-wysiwyg .html-active .switch-html { background-color: #e6e9ec; } .elementor-control-type-wysiwyg .tmce-active .switch-tmce { background-color: #e6e9ec; } .elementor-control-type-wysiwyg .tmce-active .switch-html { background-color: transparent; } .elementor-control-type-wysiwyg .mce-toolbar-grp, .elementor-control-type-wysiwyg .quicktags-toolbar { background-color: #e6e9ec; } .elementor-control-type-wysiwyg .mce-toolbar-grp > div { padding: 0 3px; } .elementor-control-type-wysiwyg .elementor-wp-editor { -webkit-box-sizing: border-box; box-sizing: border-box; } .elementor-control-type-wysiwyg .mce-ico { color: #6d7882; font-size: 16px; } .elementor-control-type-wysiwyg .mce-btn { margin-right: 0; margin-left: 0; } .elementor-control-type-wysiwyg .mce-btn:hover, .elementor-control-type-wysiwyg .mce-btn:active, .elementor-control-type-wysiwyg .mce-btn.mce-active { border-color: #d5dadf; } .elementor-control-type-wysiwyg .mce-path { padding: 5px 10px; } .elementor-control-type-wysiwyg .mce-path-item { font-size: 12px; color: #6d7882; } .elementor-control-type-wysiwyg .elementor-control-dynamic-switcher { border: none; } .elementor-control-type-text .elementor-control-dynamic-switcher { border-left-width: 0; border-radius: 0 3px 3px 0; } .elementor-control-type-text.elementor-control-dynamic input { border-radius: 3px 0 0 3px; } #elementor-mode-switcher { position: absolute; left: 100%; top: 50%; width: 15px; height: 50px; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); background-color: #e6e9ec; font-size: 15px; -webkit-box-shadow: 3px 1px 5px rgba(0, 0, 0, 0.1); box-shadow: 3px 1px 5px rgba(0, 0, 0, 0.1); cursor: pointer; } #elementor-mode-switcher:hover { background-color: #93003c; color: #FFFFFF; } #elementor-mode-switcher-inner, #elementor-mode-switcher-preview { width: 100%; height: 100%; position: absolute; top: 0; left: 0; } #elementor-mode-switcher-preview { cursor: pointer; } #elementor-mode-switcher-preview .eicon { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); } #elementor-mode-switcher-preview-input { display: none; } :root { --e-is-device-mode: 0; } .e-is-device-mode { --e-is-device-mode: 1; } #elementor-responsive-bar { position: sticky; height: calc(40px * var(--e-is-device-mode)); -ms-flex-item-align: stretch; align-self: stretch; -ms-flex-negative: 0; flex-shrink: 0; -webkit-transition: height 0.2s ease-in-out, opacity 0.1s; -o-transition: height 0.2s ease-in-out, opacity 0.1s; transition: height 0.2s ease-in-out, opacity 0.1s; left: 0; top: 0; z-index: 100; opacity: var(--e-is-device-mode); -webkit-box-shadow: 0 0 10px 2px rgba(0, 0, 0, 0.33), 0 0 2px 1px rgba(0, 0, 0, 0.25), 0 0 6px -3px rgba(255, 255, 255, 0.5); box-shadow: 0 0 10px 2px rgba(0, 0, 0, 0.33), 0 0 2px 1px rgba(0, 0, 0, 0.25), 0 0 6px -3px rgba(255, 255, 255, 0.5); } #elementor-responsive-bar:before { content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 100%; z-index: -1; -webkit-transform: scaleX(var(--e-preview-scale, 1)); -ms-transform: scaleX(var(--e-preview-scale, 1)); transform: scaleX(var(--e-preview-scale, 1)); } .e-responsive-bar-switcher__option { cursor: pointer; text-align: center; width: 22px; height: 22px; margin: 0 4px; line-height: 22px; border-radius: 3px; font-size: 16px; -webkit-transition: background-color 0.3s ease-out; -o-transition: background-color 0.3s ease-out; transition: background-color 0.3s ease-out; } .e-responsive-bar-switcher__option:hover, .e-responsive-bar-switcher__option[aria-selected=true] { color: #c2cbd2; background-color: rgba(255, 255, 255, 0.1); } .e-responsive-bar-switcher__option input { display: none; } .e-responsive-bar-switcher__option input:checked + i { color: #71d7f7; } .e-responsive-bar-switcher__option:not(:last-child) { -webkit-margin-end: 6px; margin-inline-end: 6px; } .e-responsive-bar__button { -webkit-appearance: none; -moz-appearance: none; appearance: none; background: none; border: 0 none; cursor: pointer; color: inherit; } .e-responsive-bar__button:focus:not(:focus-visible) { outline: none; } .e-responsive-bar__button:hover { color: #c2cbd2; background-color: rgba(255, 255, 255, 0.1); } .e-responsive-bar--pipe { position: relative; } .e-responsive-bar--pipe::before { content: ""; display: block; height: 20px; width: 1px; background-color: #6d7882; position: absolute; right: -5px; top: calc(50% - 10px); } .e-responsive-bar__input-size { background-color: transparent; color: #a4afb7; border: 1px solid #6d7882 !important; padding: 0 3px; width: 60px; font-size: 12px; line-height: 16px; height: 18px; margin: auto 8px auto 4px; } .e-responsive-bar__input-size-separator { color: #6d7882; } .e-responsive-bar__input-size[disabled] { background-color: transparent; color: #6d7882; cursor: default; } #e-responsive-bar { width: 100%; margin-top: calc(-40px + 40px * var(--e-is-device-mode)); z-index: 1; -webkit-transition: margin-top 0.2s ease-in-out; -o-transition: margin-top 0.2s ease-in-out; transition: margin-top 0.2s ease-in-out; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; color: #a4afb7; background-color: #495157; } #e-responsive-bar__center, #e-responsive-bar__end, #e-responsive-bar-scale, #e-responsive-bar-switcher { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; font-size: 13px; background-color: #495157; padding: 2px 0; } @media (min-width: 1400px) { #e-responsive-bar__center { margin-left: 50%; -webkit-transform: translate(-50%, 0); -ms-transform: translate(-50%, 0); transform: translate(-50%, 0); } } #e-responsive-bar__close-button, #e-responsive-bar__settings-button { width: 22px; height: 22px; border-radius: 3px; margin: 7px 5px; font-size: 16px; } #e-responsive-bar__size-inputs-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-margin-end: 8px; margin-inline-end: 8px; color: #6d7882; } #e-responsive-bar-switcher { padding: 0 20px; } #e-responsive-bar-scale { padding: 0 20px; } #e-responsive-bar-scale__value-wrapper { margin: 0 14px; min-width: 32px; text-align: center; } #e-responsive-bar-scale__plus, #e-responsive-bar-scale__minus, #e-responsive-bar-scale__reset { cursor: pointer; width: 20px; height: 20px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } #e-responsive-bar-scale__minus:before { content: ""; display: block; width: 13px; height: 2px; background: #a4afb7; border-radius: 3px; } #e-responsive-bar-scale__reset { margin: 0px 8px; } .elementor-revision-item__wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; border: 1px solid #d5dadf; padding: 10px 15px; margin-bottom: 10px; font-size: 11px; -webkit-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; } .elementor-revision-item__wrapper.current { font-weight: bold; } .elementor-revision-item__wrapper .elementor-revision-item__tools-current { color: #71d7f7; } .elementor-revision-item:hover:not(.elementor-revision-current-preview) { background-color: rgba(230, 233, 236, 0.3); } .elementor-revision-item-loading .elementor-revision-item__tools-current { display: none; } .elementor-revision-item:not(.elementor-revision-item-loading) .elementor-revision-item__tools-spinner { display: none; } .elementor-revision-item__gravatar { border-radius: 50%; overflow: hidden; } .elementor-revision-item__gravatar img { display: block; } .elementor-revision-item__details { padding-left: 15px; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; cursor: pointer; } .elementor-revision-meta { padding-top: 5px; font-size: 10px; font-weight: bold; } .elementor-revision-current-preview { background-color: #e6e9ec; } #elementor-restore-autosave-dialog.dialog-widget { background-color: rgba(0, 0, 0, 0.3); } #elementor-panel-revisions-loading { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); } #elementor-panel-revisions-loading .eicon-loading { font-size: 50px; color: #a4afb7; } .elementor-history-item { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; border: 1px solid #d5dadf; padding: 10px 15px; margin-bottom: 10px; font-size: 11px; line-height: 1.4; cursor: pointer; -webkit-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; } .elementor-history-item:hover { background-color: rgba(230, 233, 236, 0.3); } .elementor-history-item:hover .elementor-history-item__icon .eicon:before { content: "\e924"; } .elementor-history-item-applied { color: #a4afb7; } .elementor-history-item-current { background: #e6e9ec; cursor: default; } .elementor-history-item-current .elementor-history-item__icon .eicon:before, .elementor-history-item-current:hover .elementor-history-item__icon .eicon:before { content: "\e90e"; } .elementor-history-item__details { width: 95%; } .elementor-history-item__title { font-weight: bold; } .elementor-history-item__subtitle, .elementor-history-item__action { font-weight: lighter; } .elementor-history-item__action { font-style: italic; text-decoration: underline; } .elementor-history-item .__icon { float: right; } .elementor-history-revisions-message { font-size: 11px; text-align: center; padding-top: 5px; } #elementor-panel-history { padding: 20px 20px 15px; } #elementor-panel-history.elementor-empty .elementor-history-revisions-message { padding-top: 20px; } #elementor-panel-history:not(.elementor-empty) { background-color: #fff; margin-top: 10px; } #elementor-panel-history-no-items, #elementor-panel-revisions-no-revisions { text-align: center; } #elementor-panel-history-no-items .elementor-nerd-box-icon, #elementor-panel-revisions-no-revisions .elementor-nerd-box-icon { margin-top: 20px; } .elementor-panel #elementor-panel-header #elementor-panel-header-kit-close, .elementor-panel #elementor-panel-header #elementor-panel-header-kit-back { display: none; } .elementor-editor-kit .elementor-panel #elementor-panel-header { background-color: #4ab7f4; } .elementor-editor-kit .elementor-panel #elementor-panel-header #elementor-panel-header-kit-close, .elementor-editor-kit .elementor-panel #elementor-panel-header #elementor-panel-header-kit-back { display: table-cell; } body:not(.e-routes-has-history) #elementor-panel-header-kit-back { pointer-events: none; opacity: 0.4; } body:not(.e-routes-has-history) #elementor-panel-header-kit-back:hover .elementor-icon { cursor: inherit; color: inherit; } .elementor-editor-kit .elementor-panel .elementor-panel-navigation .elementor-panel-navigation-tab.elementor-active { border-bottom-color: #4ab7f4; } .elementor-editor-kit .elementor-panel #elementor-panel-page-settings .elementor-panel-navigation { display: none; } .elementor-editor-kit .elementor-panel #elementor-panel-saver-button-publish.elementor-button.elementor-button-success:not(.elementor-disabled), .elementor-editor-kit .elementor-panel #elementor-panel-saver-button-save-options.elementor-button.elementor-button-success:not(.elementor-disabled) { background-color: #4ab7f4; } .elementor-editor-kit .elementor-panel #elementor-panel-page-menu { padding: 25px 15px 0; } .elementor-editor-kit #elementor-panel-header-add-button, .elementor-editor-kit #elementor-panel-header-menu-button, .elementor-editor-kit #elementor-panel-footer-sub-menu-item-save-template, .elementor-editor-kit #elementor-panel-footer-navigator { display: none; } .elementor-control-type-global-style-repeater .elementor-repeater-fields { margin-bottom: 15px; position: relative; } .elementor-control-type-global-style-repeater .elementor-repeater-fields.ui-sortable-helper { background-color: #ffffff; } .elementor-control-type-global-style-repeater .elementor-repeater-row-controls { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .elementor-control-type-global-style-repeater .elementor-repeater-row-tool { cursor: pointer; color: #d5dadf; padding: 5px; } .elementor-control-type-global-style-repeater .elementor-control { padding: 0; } .elementor-control-type-global-style-repeater .elementor-control-title { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; } .elementor-control-type-global-style-repeater .elementor-control-title input { max-width: 135px; } .elementor-control-type-global-style-repeater .elementor-control-title input:not(:focus) { background: none; border: none; } .elementor-control-type-global-style-repeater .elementor-control-input-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; min-width: 81px; } .elementor-control-type-global-style-repeater .elementor-control-input-wrapper:hover .e-global-colors__color-value { display: none; } .elementor-control-type-global-style-repeater .elementor-control-input-wrapper:not(:hover) .elementor-repeater-tool-remove, .elementor-control-type-global-style-repeater .elementor-control-input-wrapper:not(:hover) .elementor-repeater-tool-remove--disabled, .elementor-control-type-global-style-repeater .elementor-control-input-wrapper:not(:hover) .elementor-repeater-tool-sort { display: none; } .elementor-control-type-global-style-repeater .elementor-control-content > .elementor-control-field > .elementor-control-input-wrapper { margin-top: 0; } .elementor-control-type-global-style-repeater .elementor-controls-popover { -ms-flex-item-align: end; align-self: end; margin-top: 35px; top: 0; width: 100%; } .elementor-control-type-global-style-repeater .elementor-controls-popover:before { right: 5px; } .elementor-control-type-global-style-repeater .elementor-controls-popover .elementor-control { padding: 0 20px 15px; } .elementor-control-type-global-style-repeater .elementor-controls-popover .elementor-control-title { -webkit-box-flex: initial; -ms-flex-positive: initial; flex-grow: initial; } .elementor-control-type-global-style-repeater .elementor-button-wrapper { text-align: center; border-top: 1px solid #e6e9ec; max-width: 260px; padding-top: 15px; } .elementor-control-type-global-style-repeater .pickr, .elementor-control-type-global-style-repeater .elementor-control-popover-toggle-toggle-label { margin-left: 5px; } .elementor-control-type-global-style-repeater .e-sortable-placeholder { background-color: #71d7f7; opacity: 0.9; width: 100%; margin: 8px 0; height: 2px; } .elementor-control-system_colors, .elementor-control-system_typography { padding-bottom: 0; } .e-global-colors__color-value { color: #d5dadf; font-size: 10px; padding: 0 5px; text-align: right; white-space: nowrap; -o-text-overflow: ellipsis; text-overflow: ellipsis; overflow: hidden; } @-webkit-keyframes load { 0% { opacity: 0.3; } 50% { opacity: 1; } 100% { opacity: 0.3; } } @keyframes load { 0% { opacity: 0.3; } 50% { opacity: 1; } 100% { opacity: 0.3; } } @-webkit-keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } @-webkit-keyframes mover { 0% { -webkit-transform: translateY(0); transform: translateY(0); } 100% { -webkit-transform: translateY(-5px); transform: translateY(-5px); } } @keyframes mover { 0% { -webkit-transform: translateY(0); transform: translateY(0); } 100% { -webkit-transform: translateY(-5px); transform: translateY(-5px); } } @-webkit-keyframes slideDown { 0% { -webkit-transform: translateY(-30px); transform: translateY(-30px); } 100% { -webkit-transform: translateY(0); transform: translateY(0); } } @keyframes slideDown { 0% { -webkit-transform: translateY(-30px); transform: translateY(-30px); } 100% { -webkit-transform: translateY(0); transform: translateY(0); } } body { --e-preview-width: calc(100% - var(--e-editor-panel-width, 300px)); } body.elementor-navigator-docked { --e-preview-width: calc(100% - var(--e-editor-panel-width, 300px) - var(--e-editor-navigator-width, 0px)); } body.elementor-device-desktop #elementor-preview { overflow-y: hidden; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; } body:not(.elementor-device-desktop) body { overflow-y: auto; } #elementor-preview { overflow: auto; background-color: #333; height: 100%; border: 0; width: var(--e-preview-width); display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; -webkit-box-align: center; -ms-flex-align: center; align-items: center; position: relative; } #elementor-preview-responsive-wrapper { -webkit-transform-origin: top center; -ms-transform-origin: top center; transform-origin: top center; padding: 20px; -webkit-transform: scale(var(--e-preview-scale, 1)); -ms-transform: scale(var(--e-preview-scale, 1)); transform: scale(var(--e-preview-scale, 1)); } .elementor-device-desktop #elementor-preview-responsive-wrapper { min-width: 1025px; width: 100%; height: 100%; padding: 0; position: relative; } body.e-is-device-mode:not(.elementor-device-desktop) #elementor-preview-responsive-wrapper { width: var(--e-editor-preview-width); height: var(--e-editor-preview-height); margin: 0 max((100vw - var(--e-editor-panel-width) - var(--e-editor-preview-width)) / 2, 20px); -webkit-box-sizing: content-box; box-sizing: content-box; position: relative; max-height: calc(100vh - 80px); } body.e-is-device-mode:not(.elementor-device-desktop) #elementor-preview-responsive-wrapper .ui-resizable-handle { display: -webkit-box !important; display: -ms-flexbox !important; display: flex !important; } #elementor-preview-responsive-wrapper:not(.ui-resizable-resizing) { -webkit-transition: 0.3s ease-in-out; -o-transition: 0.3s ease-in-out; transition: 0.3s ease-in-out; } #elementor-preview-responsive-wrapper .ui-resizable-handle { top: 0; } #elementor-preview-responsive-wrapper .ui-resizable-handle.ui-resizable-s { top: auto; bottom: 0; } #elementor-preview-responsive-wrapper .ui-resizable-n, #elementor-preview-responsive-wrapper .ui-resizable-s { -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; height: 20px; } #elementor-preview-responsive-wrapper .ui-resizable-n:before, #elementor-preview-responsive-wrapper .ui-resizable-s:before { content: ""; display: block; background-color: rgba(255, 255, 255, 0.2); width: 50px; height: 4px; border-radius: 3px; -webkit-transition: all 0.2s ease-in-out; -o-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out; } #elementor-preview-responsive-wrapper .ui-resizable-n:hover:before, #elementor-preview-responsive-wrapper .ui-resizable-s:hover:before { background-color: rgba(255, 255, 255, 0.6); width: 100px; } #elementor-preview-responsive-wrapper .ui-resizable-e, #elementor-preview-responsive-wrapper .ui-resizable-w { -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; width: 20px; } #elementor-preview-responsive-wrapper .ui-resizable-e:before, #elementor-preview-responsive-wrapper .ui-resizable-w:before { content: ""; display: block; background-color: rgba(255, 255, 255, 0.2); width: 4px; height: 50px; border-radius: 3px; -webkit-transition: all 0.2s ease-in-out; -o-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out; } #elementor-preview-responsive-wrapper .ui-resizable-e:hover:before, #elementor-preview-responsive-wrapper .ui-resizable-w:hover:before { background-color: rgba(255, 255, 255, 0.6); height: 100px; } #elementor-preview-responsive-wrapper.ui-resizable-resizing .ui-resizable-handle:before { background-color: rgba(255, 255, 255, 0.9); } #elementor-preview-responsive-wrapper .ui-resizable-s { bottom: 0; } #elementor-preview-responsive-wrapper .ui-resizable-e { right: 0; } #elementor-preview-responsive-wrapper .ui-resizable-w { left: 0; } #elementor-preview-iframe { width: 100%; height: 100%; background-color: #fff; -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.3), 0 0 20px rgba(0, 0, 0, 0.15); box-shadow: 0 0 3px rgba(0, 0, 0, 0.3), 0 0 20px rgba(0, 0, 0, 0.15); } #elementor-template-library-modal a.elementor-template-library-blank-footer-link { font-style: normal; text-decoration: underline; color: #39b54a; } #elementor-template-library-modal a.elementor-template-library-blank-footer-link:hover { color: #2d8e3a; } #elementor-template-library-modal .dialog-buttons-wrapper { display: none; } #elementor-template-library-modal .select2-container { z-index: 0; } #elementor-template-library-header-menu { text-align: center; color: #6d7882; font-size: 13px; } .elementor-template-library-menu-item { display: inline-block; padding: 17px 0; width: 115px; cursor: pointer; } .elementor-template-library-menu-item.elementor-active { background-image: -webkit-gradient(linear, left top, left bottom, from(#f1f3f5), to(#fff)); background-image: -o-linear-gradient(top, #f1f3f5, #fff); background-image: linear-gradient(to bottom, #f1f3f5, #fff); border-bottom: 3px solid #93003c; } #elementor-template-library-header-actions { display: -webkit-box; display: -ms-flexbox; display: flex; } #elementor-template-library-header-actions > div { padding-right: 16px; } #elementor-template-library-header-preview-insert-wrapper { cursor: default; padding: 0 10px; } #elementor-template-library-header-preview-insert-wrapper .elementor-button { padding: 8px 14px; font-size: 11px; } #elementor-template-library-header-preview-insert-wrapper .elementor-template-library-template-insert { color: #fff; background-color: #39b54a; } #elementor-template-library-header-preview-insert-wrapper .elementor-go-pro { background-color: #93003c; color: #fff; } #elementor-template-library-header-preview-back { padding: 16.5px 16.5px 15px 0; border-right: 1px solid #e6e9ec; cursor: pointer; -webkit-transition: color 0.5s; -o-transition: color 0.5s; transition: color 0.5s; } #elementor-template-library-header-preview-back:not(:hover) { color: #a4afb7; } #elementor-template-library-header-preview-back i { padding-right: 10px; font-size: 18px; } #elementor-template-library-header-preview-back i:before { content: "\e87e"; } #elementor-template-library-templates { padding: 0 15px; } #elementor-template-library-templates[data-template-source=local] #elementor-template-library-templates-container { -webkit-box-shadow: 1px 1px 20px 0 rgba(0, 0, 0, 0.03); box-shadow: 1px 1px 20px 0 rgba(0, 0, 0, 0.03); margin-top: 10px; margin-bottom: 45px; } #elementor-template-library-templates[data-template-source=local] .elementor-template-library-order-input:checked + .elementor-template-library-order-label { color: #6d7882; } #elementor-template-library-templates[data-template-source=remote] #elementor-template-library-templates-container { margin: 10px -15px 0; } #elementor-template-library-templates[data-template-source=remote] .elementor-template-library-order-input:checked + .elementor-template-library-order-label { color: #495157; } #elementor-template-library-templates[data-template-source=empty] #elementor-template-library-order-toolbar-local, #elementor-template-library-templates[data-template-source=empty] #elementor-template-library-footer-banner { display: none; } #elementor-template-library-templates.elementor-templates-filter-active #elementor-template-library-footer-banner { display: none; } #elementor-template-library-templates .elementor-template-library-order-input { display: none; } #elementor-template-library-templates .elementor-template-library-order-input:checked + .elementor-template-library-order-label { padding-right: 8px; } #elementor-template-library-templates .elementor-template-library-order-input:checked + .elementor-template-library-order-label:after { font-family: eicons; content: "\e8ae"; margin-left: 3px; } #elementor-template-library-templates .elementor-template-library-order-input:checked.elementor-template-library-order-reverse + .elementor-template-library-order-label:after { content: "\e8ad"; } #elementor-template-library-templates-container { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; } #elementor-template-library-templates-container .elementor-template-library-template-local .elementor-template-library-template-insert { text-transform: none; font-size: 12px; } #elementor-template-library-toolbar { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .elementor-template-library-filter-toolbar { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } #elementor-template-library-filter-toolbar-remote { font-size: 11px; } #elementor-template-library-order { display: -webkit-box; display: -ms-flexbox; display: flex; border-right: 1px solid #d5dadf; } .elementor-template-library-order-label { text-transform: uppercase; padding-right: 22px; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } label.elementor-template-library-order-label { cursor: pointer; } label.elementor-template-library-order-label:hover { color: #556068; } #elementor-template-library-filter .select2 { text-align: left; width: calc(27px * 5) !important; } #elementor-template-library-filter .select2-selection__rendered { text-transform: capitalize; } #select2-elementor-template-library-filter-subtype-results .select2-results__option { text-transform: capitalize; text-align: left; padding-left: 5px; } #elementor-template-library-my-favorites { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; text-align: left; padding-left: 20px; } #elementor-template-library-filter-my-favorites { display: none; } #elementor-template-library-filter-my-favorites:checked + #elementor-template-library-filter-my-favorites-label { color: #495157; } #elementor-template-library-filter-my-favorites:checked + #elementor-template-library-filter-my-favorites-label i:after { color: #93003c; content: "\e93f"; } #elementor-template-library-filter-my-favorites-label { cursor: pointer; text-transform: uppercase; } #elementor-template-library-filter-my-favorites-label:hover { color: #556068; } #elementor-template-library-filter-my-favorites-label:hover i:after { color: #93003c; } #elementor-template-library-filter-my-favorites-label i { padding-right: 5px; } #elementor-template-library-filter-my-favorites-label i:after { color: #a4afb7; content: "\e923"; } #elementor-template-library-filter-text-wrapper { width: 200px; position: relative; } #elementor-template-library-filter-text-wrapper i { position: absolute; top: 50%; right: 0; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); } #elementor-template-library-filter-text { border: none; border-bottom: 1px solid #d5dadf; border-radius: 0; font-size: 11px; padding: 8px 15px 8px 0; -webkit-transition: border 0.5s; -o-transition: border 0.5s; transition: border 0.5s; } #elementor-template-library-filter-text:focus { border-color: #c2cbd2; } #elementor-template-library-filter-text::-webkit-input-placeholder { font-weight: 300; text-transform: uppercase; } #elementor-template-library-filter-text::-moz-placeholder { font-weight: 300; text-transform: uppercase; } #elementor-template-library-filter-text::-ms-input-placeholder { font-weight: 300; text-transform: uppercase; } #elementor-template-library-filter-text::placeholder { font-weight: 300; text-transform: uppercase; } #elementor-template-library-filter-text:focus { border-color: #c2cbd2; } .elementor-template-library-template-remote { margin: 15px; padding: 8px; background-color: #fff; -webkit-box-shadow: 0 1px 20px 0 rgba(0, 0, 0, 0.07); box-shadow: 0 1px 20px 0 rgba(0, 0, 0, 0.07); border-radius: 3px; } .elementor-template-library-template-remote:hover .elementor-template-library-template-name { display: none; } .elementor-template-library-template-remote:not(:hover) .elementor-template-library-template-preview { opacity: 0; } .elementor-template-library-template-remote:not(:hover) .elementor-template-library-favorite, .elementor-template-library-template-remote:not(:hover) .elementor-template-library-template-action { display: none; } .elementor-template-library-template-remote.elementor-template-library-pro-template .elementor-template-library-template-body:before { content: var(--elementor-template-library-subscription-plan-label); background-color: var(--elementor-template-library-subscription-plan-color); color: #d5dadf; position: absolute; text-transform: uppercase; top: 5px; right: 5px; padding: 2px 4px 0; font-size: 9px; border-radius: 2px; } .elementor-template-library-template-remote:not(.elementor-template-library-template-page):not(.elementor-template-library-template-lp) { position: relative; width: calc(33.333% - 30px); overflow: hidden; } .elementor-template-library-template-remote:not(.elementor-template-library-template-page):not(.elementor-template-library-template-lp) img { display: block; width: 100%; } .elementor-template-library-template-remote:not(.elementor-template-library-template-page):not(.elementor-template-library-template-lp) .elementor-template-library-template-footer { position: absolute; width: 100%; bottom: 0; left: 0; padding: 10px; background-color: #fff; -webkit-transition: -webkit-transform 0.5s; transition: -webkit-transform 0.5s; -o-transition: transform 0.5s; transition: transform 0.5s; transition: transform 0.5s, -webkit-transform 0.5s; } .elementor-template-library-template-remote:not(.elementor-template-library-template-page):not(.elementor-template-library-template-lp) .elementor-template-library-template-name { display: none; } .elementor-template-library-template-remote:not(.elementor-template-library-template-page):not(.elementor-template-library-template-lp):not(:hover) .elementor-template-library-template-footer { -webkit-transform: translateY(100%); -ms-transform: translateY(100%); transform: translateY(100%); } .elementor-template-library-template-remote .elementor-template-library-template-body { position: relative; } @media (max-width: 1025px) { .elementor-template-library-template-remote .elementor-template-library-template-body { height: 300px; } } .elementor-template-library-template-remote .elementor-template-library-template-screenshot { height: 100%; background-size: cover; background-position-x: 50%; -webkit-box-shadow: inset 0px -2px 15px -6px rgba(0, 0, 0, 0.07); box-shadow: inset 0px -2px 15px -6px rgba(0, 0, 0, 0.07); } .elementor-template-library-template-remote .elementor-template-library-template-preview { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.5); -webkit-transition: opacity 0.5s; -o-transition: opacity 0.5s; transition: opacity 0.5s; cursor: pointer; } .elementor-template-library-template-remote .elementor-template-library-template-preview i { font-size: 20px; color: #d5dadf; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); } .elementor-template-library-template-remote .elementor-template-library-template-insert { color: #39b54a; } .elementor-template-library-template-remote .elementor-go-pro { color: #93003c; } .elementor-template-library-template-remote .elementor-template-library-template-footer { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; margin-top: 10px; font-size: 11px; line-height: 1; } .elementor-template-library-template-remote .elementor-template-library-template-name { text-align: left; color: #6d7882; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; white-space: nowrap; -o-text-overflow: ellipsis; text-overflow: ellipsis; overflow: hidden; padding-right: 5px; } .elementor-template-library-template-remote .elementor-template-library-template-favorite-input { display: none; } .elementor-template-library-template-remote .elementor-template-library-template-favorite-input:checked + .elementor-template-library-template-favorite-label i:before { content: "\e93f"; color: #93003c; } .elementor-template-library-template-remote .elementor-template-library-template-favorite-label { cursor: pointer; } .elementor-template-library-template-remote .elementor-template-library-template-favorite-label:hover i { color: #93003c; } @media (max-width: 1439px) { .elementor-template-library-template-page, .elementor-template-library-template-lp { width: calc(25% - 30px); } } @media (min-width: 1440px) { .elementor-template-library-template-page, .elementor-template-library-template-lp { width: calc(20% - 30px); } } @media (max-width: 1025px) { .elementor-template-library-template-page, .elementor-template-library-template-lp { width: calc(33.333% - 30px); } } .elementor-template-library-template-page .elementor-template-library-template-body, .elementor-template-library-template-lp .elementor-template-library-template-body { height: 200px; } #elementor-template-library-order-toolbar-local, .elementor-template-library-template-local { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; padding: 0 25px; text-align: left; } #elementor-template-library-order-toolbar-local { margin-top: 30px; } #elementor-template-library-order-toolbar-local .elementor-template-library-order-label { line-height: 1; font-size: 10px; font-weight: 500; } #elementor-template-library-order-toolbar-local .elementor-template-library-order-label:not(:hover) { color: #a4afb7; } .elementor-template-library-template-local { height: 50px; width: 100%; margin-top: 1px; background-color: #fff; -webkit-transition: background-color 0.3s linear; -o-transition: background-color 0.3s linear; transition: background-color 0.3s linear; } .elementor-template-library-template-local:hover { background-color: #fafbfb; } .elementor-template-library-template-local:not(:hover) .elementor-template-library-template-insert { background: none; color: #a4afb7; } .elementor-template-library-template-local:first-child { border-radius: 3px 3px 0 0; } .elementor-template-library-template-local:last-child { border-radius: 0 0 3px 3px; } .elementor-template-library-template-local .elementor-template-library-template-name { font-weight: 500; } .elementor-template-library-template-local .elementor-template-library-template-name, .elementor-template-library-template-local .elementor-template-library-template-meta { padding-right: 20px; } .elementor-template-library-template-local .elementor-template-library-template-meta { color: #a4afb7; } .elementor-template-library-template-local .elementor-template-library-template-name, .elementor-template-library-template-local .elementor-template-library-template-meta, .elementor-template-library-template-local .elementor-template-library-template-preview, .elementor-template-library-template-local .elementor-template-library-template-action { white-space: nowrap; -o-text-overflow: ellipsis; text-overflow: ellipsis; overflow: hidden; } .elementor-template-library-template-local .elementor-template-library-template-controls { position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .elementor-template-library-template-local .elementor-template-library-template-controls, .elementor-template-library-template-local .elementor-template-library-template-controls a { color: #a4afb7; } .elementor-template-library-template-local .elementor-template-library-template-controls > div { cursor: pointer; -webkit-transition: color 0.5s; -o-transition: color 0.5s; transition: color 0.5s; } .elementor-template-library-template-local .elementor-template-library-template-insert i { margin-right: 3px; } .elementor-template-library-template-local .elementor-template-library-template-control-title { margin-left: 6px; } .elementor-template-library-template-local .elementor-template-library-template-more:hover, .elementor-template-library-template-local .elementor-template-library-template-more a:hover { color: #556068; } .elementor-template-library-template-local .elementor-template-library-template-more .elementor-template-library-template-delete:hover { color: #d72b3f; } .elementor-template-library-template-local .elementor-template-library-template-action { padding: 8px 18px; margin: 0 5%; } .elementor-template-library-template-local .elementor-template-library-template-more { display: none; position: absolute; background-color: #fff; padding: 3px 20px; border-radius: 3px; -webkit-box-shadow: 1px 3px 11px rgba(0, 0, 0, 0.3); box-shadow: 1px 3px 11px rgba(0, 0, 0, 0.3); top: 100%; right: 0; -webkit-transform: translateX(65%) translateY(-7px); -ms-transform: translateX(65%) translateY(-7px); transform: translateX(65%) translateY(-7px); z-index: 1; } .elementor-template-library-template-local .elementor-template-library-template-more:before { content: ""; position: absolute; border: solid transparent; border-width: 8px 4px; border-bottom-color: #fff; -webkit-transform: translateY(-100%); -ms-transform: translateY(-100%); transform: translateY(-100%); } .elementor-template-library-template-local .elementor-template-library-template-more > div { margin: 10px 0; font-size: 11px; } .elementor-template-library-template-local .elementor-template-library-template-more-toggle { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; text-align: right; } .elementor-template-library-template-local .elementor-template-library-template-more-toggle i { font-size: 16px; } #elementor-template-library-preview { height: 100%; overflow: hidden; } #elementor-template-library-preview iframe { height: 150%; -webkit-transform: scale(0.666) translateX(-25%) translateY(-25%); -ms-transform: scale(0.666) translateX(-25%) translateY(-25%); transform: scale(0.666) translateX(-25%) translateY(-25%); } @media (max-width: 1439px) { #elementor-template-library-preview iframe { width: 1440px; } } @media (min-width: 1440px) { #elementor-template-library-preview iframe { width: 1710px; } } .elementor-template-library-blank-icon { font-size: 65px; margin-top: 45px; color: #c2cbd2; line-height: 1; } .elementor-template-library-blank-icon img { width: 70px; } .elementor-template-library-blank-icon .elementor-template-library-no-results { width: 200px; } .elementor-template-library-blank-title { font-size: 30px; margin-top: 40px; } @media (max-width: 1439px) { .elementor-template-library-blank-title { font-size: 25px; } } .elementor-template-library-blank-message { font-size: 18px; color: #a4afb7; margin-top: 15px; font-weight: 300; } @media (max-width: 1439px) { .elementor-template-library-blank-message { font-size: 16px; margin-top: 10px; } } #elementor-template-library-save-template-form { margin-top: 40px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } #elementor-template-library-save-template-form > * { height: 55px; font-size: 16px; } #elementor-template-library-save-template-name { width: 500px; background-color: #fff; font-weight: 300; color: #a4afb7; padding-left: 25px; border-radius: 3px 0 0 3px; border: none; } #elementor-template-library-save-template-submit { width: 150px; border-radius: 0 3px 3px 0; } #elementor-template-library-save-template-submit:hover { -webkit-box-shadow: none; box-shadow: none; } #elementor-template-library-import-form { width: 95%; background-color: rgba(255, 255, 255, 0.5); padding: 60px; border: 2px dashed #d5dadf; margin: 35px auto; -webkit-transition: background-color 0.5s; -o-transition: background-color 0.5s; transition: background-color 0.5s; } #elementor-template-library-import-form:hover { background-color: rgba(255, 255, 255, 0.9); } #elementor-template-library-import-form-or { margin-top: 15px; font-size: 18px; } #elementor-template-library-import-form-label { margin-top: 20px; padding: 15px 35px; display: inline-block; } #elementor-template-library-import-form-input { display: none; } #elementor-template-library-import-form.elementor-drag-over { border: 3px dashed #71d7f7; } #elementor-template-library-import .elementor-template-library-blank-icon { margin-top: 0; } #elementor-template-library-import .elementor-template-library-blank-message { margin-top: 20px; } .e-route-library-connect #elementor-template-library-modal .dialog-message { max-height: 95vh; padding: 100px 0 0; min-height: 550px; } #elementor-template-library-connect-logo { font-size: 20px; } #elementor-template-library-connect__button { display: inline-block; position: relative; z-index: 1; margin-top: 25px; padding: 12px 24px; font-size: 14px; } #elementor-template-library-connect__background-image-left-1 { right: 22.4%; bottom: -29%; -webkit-animation: 1.5s fadeIn, 1.5s slideDown, 3.5s mover 1.5s infinite alternate; animation: 1.5s fadeIn, 1.5s slideDown, 3.5s mover 1.5s infinite alternate; } #elementor-template-library-connect__background-image-left-2 { right: 46.25%; bottom: -15.5%; -webkit-animation: 3s fadeIn, 3s slideDown, 2s mover 3s infinite alternate; animation: 3s fadeIn, 3s slideDown, 2s mover 3s infinite alternate; } #elementor-template-library-connect__background-image-right-1 { left: 37%; bottom: -41%; -webkit-animation: 2.5s fadeIn, 2.5s slideDown, 2s mover 2.5s infinite alternate; animation: 2.5s fadeIn, 2.5s slideDown, 2s mover 2.5s infinite alternate; } #elementor-template-library-connect__background-image-right-2 { left: 48%; bottom: -12.5%; -webkit-animation: 1.5s fadeIn, 1.5s slideDown, 1.5s mover 1.5s infinite alternate; animation: 1.5s fadeIn, 1.5s slideDown, 1.5s mover 1.5s infinite alternate; } .elementor-template-library-connect__background-image { position: absolute; } .elementor-template-library-blank-footer { position: absolute; bottom: 70px; left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); color: #a4afb7; font-style: italic; } @media (max-height: 700px) { .elementor-template-library-blank-footer { display: none; } } #elementor-template-library-footer-banner { padding-bottom: 45px; } #elementor-template-library-footer-banner i { color: #c2cbd2; font-size: 56px; margin-top: 40px; } #elementor-template-library-footer-banner .elementor-nerd-box-icon { margin-top: 70px; } #elementor-template-library-footer-banner .elementor-excerpt { color: #a4afb7; font-size: 15px; font-weight: 500; margin-top: 20px; } #elementor-template-library-templates-empty { width: 100%; margin-top: 40px; } #elementor-template-library-error-dialog .dialog-message { text-align: start; } #elementor-template-library-error-info { margin-top: 10px; } @media (max-width: 1439px) { .elementor-template-library-local-column-1 { width: 33%; } .elementor-template-library-local-column-2 { width: 10%; } .elementor-template-library-local-column-3 { width: 15%; } .elementor-template-library-local-column-4 { width: 15%; } .elementor-template-library-local-column-5 { width: 27%; } } @media (min-width: 1440px) { .elementor-template-library-local-column-1 { width: 25%; } .elementor-template-library-local-column-2 { width: 17%; } .elementor-template-library-local-column-3 { width: 17%; } .elementor-template-library-local-column-4 { width: 17%; } .elementor-template-library-local-column-5 { width: 24%; } } @media (max-width: 1024px) { .elementor-template-library-local-column-3 { display: none; } .elementor-template-library-local-column-5 { width: 41%; } } .elementor-tags-list { display: none; position: absolute; width: 260px; max-height: 300px; overflow: auto; padding-bottom: 5px; background-color: #fff; border: 1px solid #a4afb7; border-radius: 3px; z-index: 10000; } .elementor-tags-list__group-title { color: #495157; font-weight: bold; font-size: 12px; padding: 10px 15px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .elementor-tags-list__group-title .eicon-info-circle { padding-right: 5px; color: #71d7f7; font-size: 14px; } .elementor-tags-list__item { font-size: 10px; padding: 6px 15px; cursor: pointer; } .elementor-tags-list__item:before { content: ">"; font-size: 8px; padding-right: 5px; } .elementor-tags-list__item:hover { background-color: #e6e9ec; } .elementor-tags-list__teaser { border-top: 2px solid #d5dadf; padding-top: 4px; margin-top: 4px; } .elementor-tags-list__teaser-title { color: #6d7882; } .elementor-tags-list__teaser-text { padding: 2px 15px 8px; line-height: 1.5; font-size: 12px; } .elementor-tags-list__teaser-link { color: #93003c; text-decoration: underline; font-style: italic; font-weight: bold; } .elementor-dynamic-cover { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; width: 100%; height: 27px; -webkit-box-sizing: border-box; box-sizing: border-box; } .elementor-dynamic-cover__title { padding: 0 8px; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; white-space: nowrap; -o-text-overflow: ellipsis; text-overflow: ellipsis; overflow: hidden; } .elementor-dynamic-cover__settings, .elementor-dynamic-cover__remove { color: #c2cbd2; cursor: pointer; -webkit-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; } .elementor-dynamic-cover__settings:hover, .elementor-dynamic-cover__remove:hover { color: #a4afb7; } .elementor-control-type-wysiwyg .elementor-dynamic-cover { margin-top: 10px; } .elementor-tag-settings-popup { position: absolute; width: 260px; background-color: #e6e9ec; -webkit-box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.3); box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.3); z-index: 1; } .elementor-tag-settings-popup:before { content: ""; position: absolute; top: -20px; left: 5px; border: 10px solid transparent; border-bottom-color: #fff; } .elementor-tag-settings-popup .elementor-control-type-section:first-child { margin: 0; } .elementor-tag-controls-stack-empty { background-color: #fff; padding: 10px; font-size: 13px; text-align: center; } .elementor-control-dynamic-switcher { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -ms-flex-negative: 0; flex-shrink: 0; height: 27px; cursor: pointer; border: 1px solid #d5dadf; border-radius: 3px; background: #fff; } .elementor-control-dynamic-switcher.e-control-tool { height: 20px; border: 0; } .elementor-control-dynamic-switcher-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; } .elementor-control-dynamic-switcher .eicon-database { font-size: 12px; } .elementor-control-dynamic-value .elementor-control-tag-area, .elementor-control-dynamic-value .elementor-control-dynamic-switcher, .elementor-control-dynamic-value .e-global__popover-toggle { display: none; } #elementor-toast { position: absolute; width: 280px; padding: 20px; border-radius: 5px; color: #d5dadf; background-color: rgba(0, 0, 0, 0.8); z-index: 10000; } #elementor-toast .dialog-message { font-size: 13px; } #elementor-toast .dialog-buttons-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; margin-top: 15px; } #elementor-toast .dialog-button { color: #fcb92c; margin: 0 5px; text-transform: uppercase; cursor: pointer; } #elementor-toast .dialog-button:last-child { margin-right: 0; } .elementor-context-menu { position: absolute; width: 200px; background-color: #fff; border: 1px solid #e6e9ec; border-radius: 3px; -webkit-box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.09); box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.09); -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; z-index: 101; } .elementor-context-menu-list__group { padding: 5px 0; } .elementor-context-menu-list__group:not(:last-child) { border-bottom: 1px solid #e6e9ec; } .elementor-context-menu-list__item { padding: 5px 10px; padding-right: 20px; display: -webkit-box; display: -ms-flexbox; display: flex; cursor: pointer; } .elementor-context-menu-list__item--disabled { cursor: default; color: #d5dadf; } .elementor-context-menu-list__item:not(.elementor-context-menu-list__item--disabled):hover { background-color: #71d7f7; } .elementor-context-menu-list__item:not(.elementor-context-menu-list__item--disabled):hover > * { color: #fff; } .elementor-context-menu-list__item__icon { width: 20px; color: #c2cbd2; } .elementor-context-menu-list__item__title { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; white-space: nowrap; -o-text-overflow: ellipsis; text-overflow: ellipsis; overflow: hidden; } .elementor-context-menu-list__item__shortcut { color: #d5dadf; } .elementor-context-menu-list__item.elementor-context-menu-list__item-delete:not(.elementor-context-menu-list__item--disabled):hover { background-color: #d72b3f; } .elementor-context-menu .eicon-pro-icon { color: #fcb92c; } #elementor-hotkeys { text-align: left; } #elementor-hotkeys__content { display: -webkit-box; display: -ms-flexbox; display: flex; width: 100%; overflow: hidden; margin-bottom: 30px; } @media (max-width: 1024px) { #elementor-hotkeys__content { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; } } #elementor-hotkeys__actions .elementor-hotkeys__list { border-radius: 3px 0 0 3px; } @media (max-width: 1024px) { #elementor-hotkeys__actions .elementor-hotkeys__list { border-radius: 3px; } } @media (min-width: 1025px) { #elementor-hotkeys__actions .elementor-hotkeys__header, #elementor-hotkeys__actions .elementor-hotkeys__list { padding-right: 25px; } } @media (min-width: 1440px) { #elementor-hotkeys__actions .elementor-hotkeys__header, #elementor-hotkeys__actions .elementor-hotkeys__list { padding-right: 50px; } } #elementor-hotkeys__navigation .elementor-hotkeys__list { border-radius: 0 3px 3px 0; } @media (max-width: 1024px) { #elementor-hotkeys__navigation .elementor-hotkeys__list { border-radius: 3px; } } @media (min-width: 1025px) { #elementor-hotkeys__navigation .elementor-hotkeys__header { padding-left: 25px; } } @media (min-width: 1440px) { #elementor-hotkeys__navigation .elementor-hotkeys__header { padding-left: 50px; } } @media (min-width: 1025px) { #elementor-hotkeys__navigation .elementor-hotkeys__list { padding-left: 15px; } } @media (min-width: 1440px) { #elementor-hotkeys__navigation .elementor-hotkeys__list { padding-left: 40px; } } .elementor-hotkeys__col { width: 50%; } @media (max-width: 1024px) { .elementor-hotkeys__col { width: 100%; } } .elementor-hotkeys__header, .elementor-hotkeys__list { width: 100%; } .elementor-hotkeys__header { padding: 10px 30px; font-weight: 500; } @media (max-width: 479px) { .elementor-hotkeys__header { padding-right: 10px; padding-left: 10px; } } .elementor-hotkeys__list { background-color: #ffffff; height: calc(100% - 42px); padding: 10px 20px; } @media (max-width: 479px) { .elementor-hotkeys__list { padding: 0; } } @media (max-width: 1024px) { .elementor-hotkeys__list { margin-bottom: 30px; } } @media (max-width: 1024px) { .elementor-hotkeys__list { height: auto; } } .elementor-hotkeys__item { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; padding: 20px 10px; border-bottom: 1px solid #eceeef; } .elementor-hotkeys__item:last-child { margin-bottom: 30px; } @media (max-width: 479px) { .elementor-hotkeys__item:last-child { margin-bottom: 0; } } .elementor-hotkeys__item--label { font-size: 13px; font-weight: 400; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; } .elementor-hotkeys__item--shortcut { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; display: -webkit-box; display: -ms-flexbox; display: flex; } .elementor-hotkeys__item--shortcut span { position: relative; background-color: #eceeef; padding: 5px 12px; margin-right: 27px; border-radius: 3px; } @media (max-width: 479px) { .elementor-hotkeys__item--shortcut span { padding: 4px 9px; margin-right: 23px; } } .elementor-hotkeys__item--shortcut span:after { content: "+"; position: absolute; right: -18px; width: 9px; text-align: center; } @media (max-width: 479px) { .elementor-hotkeys__item--shortcut span:after { right: -16px; } } .elementor-hotkeys__item--shortcut span:last-child { margin-right: 0; } .elementor-hotkeys__item--shortcut span:last-child:after { display: none; } .ui-resizable-n { top: -5px; } .ui-resizable-e { right: -5px; } .ui-resizable-s { bottom: -5px; } .ui-resizable-w { left: -5px; } .ui-resizable-ne { top: -5px; right: -5px; } .ui-resizable-nw { top: -5px; left: -5px; } .ui-resizable-se { bottom: -5px; right: -5px; } .ui-resizable-sw { bottom: -5px; left: -5px; } .ui-resizable-n, .ui-resizable-s { left: 0; height: 10px; width: 100%; cursor: ns-resize; } .ui-resizable-e, .ui-resizable-w { top: 0; height: 100%; width: 10px; cursor: ew-resize; } .ui-resizable-ne, .ui-resizable-nw, .ui-resizable-se, .ui-resizable-sw { height: 15px; width: 15px; } .ui-resizable-nw, .ui-resizable-se { cursor: nwse-resize; } .ui-resizable-ne, .ui-resizable-sw { cursor: nesw-resize; } .ui-resizable-handle { position: absolute; } .ui-resizable-resizing { pointer-events: none; } body { --e-editor-navigator-width: 240px; } #elementor-navigator { position: fixed; top: 100px; width: var(--e-editor-navigator-width); height: 50vh; right: 30px; background-color: #fff; -webkit-box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.1); box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.1); -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; overflow: hidden; z-index: 100; display: none; } body.elementor-navigator-docked #elementor-navigator { top: 0; right: 0; height: 100%; } body:not(.elementor-navigator-docked) #elementor-navigator { border-radius: 5px; } #elementor-navigator__inner { height: 100%; background-color: #e6e9ec; } #elementor-navigator__header { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; padding: 12px 10px; background-color: #fff; border-bottom: 1px solid #e6e9ec; cursor: move; } #elementor-navigator__close, #elementor-navigator__toggle-all { -webkit-transition: color 0.5s; -o-transition: color 0.5s; transition: color 0.5s; cursor: pointer; } #elementor-navigator__close:not(:hover), #elementor-navigator__toggle-all:not(:hover) { color: #a4afb7; } #elementor-navigator__toggle-all { font-size: 13px; } #elementor-navigator__close { font-size: 11px; } #elementor-navigator__elements { height: calc(100% - 49px); overflow: auto; position: relative; } .elementor-navigator-docked #elementor-navigator__elements { height: calc(100% - 35px); } #elementor-navigator__elements .elementor-nerd-box { padding: 25px; } #elementor-navigator__footer { position: absolute; width: 100%; left: 0; bottom: 0; text-align: center; background-color: #fff; border-top: 1px solid #e6e9ec; color: #a4afb7; } .elementor-navigator-docked #elementor-navigator__footer { display: none; } .elementor-navigator__item { position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; height: 30px; font-size: 11px; border-bottom: 1px solid #e6e9ec; cursor: pointer; -webkit-transition: padding 0.5s linear; -o-transition: padding 0.5s linear; transition: padding 0.5s linear; overflow: hidden; } .elementor-navigator__item:not(.elementor-active) .elementor-navigator__element__list-toggle i { -webkit-transform: rotate(-90deg); -ms-transform: rotate(-90deg); transform: rotate(-90deg); } .elementor-navigator__item > * { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .elementor-navigator__item + .elementor-navigator__elements { display: none; } .elementor-navigator__elements .elementor-empty-view { padding: 10px; border-bottom: 1px solid #e6e9ec; } .elementor-navigator__elements .elementor-empty-view__title { margin-left: 23px; color: #c2cbd2; font-size: 10px; font-style: italic; } .elementor-navigator__elements .ui-sortable-helper { background-color: #fff; -webkit-box-shadow: 1px 2px 5px 0 rgba(0, 0, 0, 0.1); box-shadow: 1px 2px 5px 0 rgba(0, 0, 0, 0.1); -webkit-transform: rotate(4deg); -ms-transform: rotate(4deg); transform: rotate(4deg); border: 1px solid #e6e9ec; pointer-events: none; } .elementor-navigator__elements .ui-sortable-placeholder { background-color: #f1f3f5; } .elementor-navigator__element.elementor-dragging-on-child > .elementor-navigator__elements > .elementor-empty-view { border-top: 2px solid #71d7f7; } .elementor-navigator__element.elementor-dragging-on-child > .elementor-navigator__elements > .elementor-empty-view .elementor-empty-view__title { display: none; } .elementor-navigator__element.elementor-dragging-on-child > .elementor-navigator__elements > .elementor-empty-view + .ui-sortable-placeholder { display: none; } .elementor-navigator__element:not(.elementor-navigator__element--has-children) .elementor-navigator__element__list-toggle { visibility: hidden; } .elementor-navigator__element:not(.elementor-navigator__element--hidden) > .elementor-navigator__item .elementor-navigator__element__toggle { color: #71d7f7; } .elementor-navigator__element:not(.elementor-navigator__element--hidden) > .elementor-navigator__item:not(:hover) .elementor-navigator__element__toggle { display: none; } .elementor-navigator__element:not(.elementor-navigator__element--hidden) > .elementor-navigator__item.elementor-editing { background-color: #71d7f7; } .elementor-navigator__element:not(.elementor-navigator__element--hidden) > .elementor-navigator__item.elementor-editing > * { color: #fff; } .elementor-navigator__element__list-toggle { margin-right: 7px; -webkit-transition: -webkit-transform 0.3s; transition: -webkit-transform 0.3s; -o-transition: transform 0.3s; transition: transform 0.3s; transition: transform 0.3s, -webkit-transform 0.3s; color: #a4afb7; } .elementor-navigator__element__element-type { margin-right: 8px; } .elementor-navigator__element__title { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; overflow: hidden; } .elementor-navigator__element__title__text { white-space: nowrap; -webkit-user-select: text; } .elementor-navigator__element__title__text[contenteditable=true] { outline: none; color: #6d7882; background-color: #fff; padding: 2px 3px; -webkit-box-shadow: 0 0 4px rgba(0, 0, 0, 0.2); box-shadow: 0 0 4px rgba(0, 0, 0, 0.2); } .elementor-navigator__element__title__text:not([contenteditable=true]) { white-space: nowrap; -o-text-overflow: ellipsis; text-overflow: ellipsis; overflow: hidden; } .elementor-navigator__element__toggle { position: absolute; right: 15px; height: 100%; z-index: 0; font-size: 13px; } .elementor-navigator__element__indicators { position: relative; -webkit-transition: -webkit-transform 0.5s; transition: -webkit-transform 0.5s; -o-transition: transform 0.5s; transition: transform 0.5s; transition: transform 0.5s, -webkit-transform 0.5s; padding-left: 5px; z-index: 91; } .elementor-navigator__element__indicators:not(:hover) { -webkit-transform: translateX(calc(100% - 8px)); -ms-transform: translateX(calc(100% - 8px)); transform: translateX(calc(100% - 8px)); } .elementor-navigator__element__indicator { height: 100%; width: 31px; display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; color: #6d7882; background-color: #fff; border-left: 1px solid #e6e9ec; } .elementor-navigator__element__indicator:first-child { border-left: 3px solid #71d7f7; } .elementor-editing .elementor-navigator__element__indicator:first-child { border-color: #41c9f4; } .elementor-navigator__element__indicator:hover { color: #495157; } .elementor-navigator__element--hidden .elementor-navigator__element__title, .elementor-navigator__element--hidden .elementor-navigator__element__toggle { opacity: 0.5; } .elementor-navigator__element-column { background-color: #fafbfb; } .elementor-navigator__element-column > .elementor-navigator__item .elementor-navigator__element__element-type { color: #a4afb7; } .elementor-navigator__element-section, .elementor-navigator__element-container { background-color: #ffffff; } #e-notice-bar { position: absolute; width: 100%; bottom: 0; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; height: 40px; color: #fff; background-color: #93003c; padding: 0 25px; } #e-notice-bar__message { padding-left: 15px; } #e-notice-bar__message a { text-decoration: underline; color: #fff; } #e-notice-bar__message a:hover { color: #d5dadf; } #e-notice-bar__action { padding-left: 25px; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; text-transform: uppercase; } #e-notice-bar__action a { background: white; border-radius: 3px; color: #93003c; padding: 4px 10px; font-size: 11px; } #e-notice-bar__action a:hover { color: #47001d; background: #f1f3f5; } #e-notice-bar__close { cursor: pointer; } #e-notice-bar i { font-size: 16px; opacity: 0.9; } #e-notice-bar i:hover { color: #d5dadf; } #e-notice-bar a, #e-notice-bar i { -webkit-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; } body:not(.elementor-device-desktop) #e-notice-bar { display: none; } #elementor-fatal-error-dialog.elementor-preview-loading-error .dialog-header { color: #495157; } #elementor-fatal-error-dialog.elementor-preview-loading-error .dialog-message a { color: #6d7882; text-decoration: underline; font-style: italic; } #elementor-preview-debug-link-text { display: inline-block; } #elementor-icons-manager-modal .dialog-message { padding: 0; height: 700px; } #elementor-icons-manager-modal .dialog-content { display: -webkit-box; display: -ms-flexbox; display: flex; } #elementor-icons-manager-modal .dialog-buttons-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; } #elementor-icons-manager__wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; } @media (max-width: 479px) { #elementor-icons-manager__sidebar { display: none; } } #elementor-icons-manager__tab-links { margin-top: 30px; } #elementor-icons-manager__upload { margin: 20px 45px; padding-top: 35px; border-top: 1px solid #e6e9ec; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; } @media (max-width: 1439px) { #elementor-icons-manager__upload { margin: 20px 25px; } } #elementor-icons-manager__upload__title { color: #a4afb7; font-size: 11px; text-transform: uppercase; } #elementor-icons-manager__main { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; padding: 30px 80px 0; } @media (max-width: 1439px) { #elementor-icons-manager__main { padding: 30px 50px 0; } } @media (max-width: 479px) { #elementor-icons-manager__main { width: 100%; } } #elementor-icons-manager__search { position: relative; } #elementor-icons-manager__search input { padding: 8px 15px; background-color: #fff; border: none; } #elementor-icons-manager__search input::-webkit-input-placeholder { font-style: italic; } #elementor-icons-manager__search input::-moz-placeholder { font-style: italic; } #elementor-icons-manager__search input::-ms-input-placeholder { font-style: italic; } #elementor-icons-manager__search input::placeholder { font-style: italic; } #elementor-icons-manager__search i { position: absolute; top: 50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); right: 15px; } #elementor-icons-manager__tab__wrapper { overflow: auto; margin: 25px -15px 0; padding: 0 15px 15px; } #elementor-icons-manager__tab__title { color: #556068; font-size: 16px; font-weight: 500; text-align: left; } @media (max-width: 479px) { #elementor-icons-manager__tab__title { display: none; } } #elementor-icons-manager__tab__content { display: grid; grid-template-columns: repeat(7, 1fr); grid-gap: 20px; margin: 20px 0; } @media (max-width: 1439px) { #elementor-icons-manager__tab__content { grid-template-columns: repeat(6, 1fr); } } @media (max-width: 1024px) { #elementor-icons-manager__tab__content { grid-template-columns: repeat(5, 1fr); } } @media (max-width: 767px) { #elementor-icons-manager__tab__content { grid-template-columns: repeat(4, 1fr); } } @media (max-width: 479px) { #elementor-icons-manager__tab__content { grid-template-columns: repeat(3, 1fr); } } #elementor-icons-manager__promotion { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; padding-top: 70px; } #elementor-icons-manager__promotion__icon { font-size: 60px; color: #c2cbd2; } #elementor-icons-manager__promotion__text { width: 300px; font-size: 16px; padding-top: 25px; } #elementor-icons-manager__promotion__link { margin-top: 20px; } .elementor-icons-manager__tab-link { padding: 15px 0 15px 45px; font-size: 14px; color: #6d7882; text-align: left; cursor: pointer; position: relative; } .elementor-icons-manager__tab-link i { font-size: 20px; padding-right: 15px; color: #a4afb7; } @media (max-width: 1439px) { .elementor-icons-manager__tab-link { padding: 15px 15px 15px 25px; font-size: 11px; } .elementor-icons-manager__tab-link i { font-size: 15px; } } @media (max-width: 1024px) { .elementor-icons-manager__tab-link i { display: none; } } .elementor-icons-manager__tab-link.elementor-active { background-color: #fff; -webkit-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.1); box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.1); } .elementor-icons-manager__tab-link.elementor-active:after { content: ""; position: absolute; height: 100%; width: 5px; top: 0; left: 0; background-color: #71d7f7; } .elementor-icons-manager__tab-link.elementor-active i { color: #71d7f7; } .elementor-icons-manager__tab__item { position: relative; height: 0; padding-bottom: 100%; background-color: #fff; -webkit-box-shadow: 0 1px 12px rgba(0, 0, 0, 0.05); box-shadow: 0 1px 12px rgba(0, 0, 0, 0.05); border-radius: 3px; cursor: pointer; -webkit-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; overflow: hidden; } .elementor-icons-manager__tab__item:hover { -webkit-box-shadow: 0 1px 14px rgba(0, 0, 0, 0.16); box-shadow: 0 1px 14px rgba(0, 0, 0, 0.16); } .elementor-icons-manager__tab__item.elementor-selected { -webkit-box-shadow: 0 1px 12px rgba(0, 0, 0, 0.05), 0 0 0 3px #71d7f7; box-shadow: 0 1px 12px rgba(0, 0, 0, 0.05), 0 0 0 3px #71d7f7; } .elementor-icons-manager__tab__item__content { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-align: center; -ms-flex-align: center; align-items: center; width: 100%; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); padding: 1px; } .elementor-icons-manager__tab__item__icon { font-size: 25px; color: #6d7882; } .elementor-icons-manager__tab__item__name { color: #c2cbd2; font-size: 11px; padding: 13px 20px 0; max-width: 100%; white-space: nowrap; -o-text-overflow: ellipsis; text-overflow: ellipsis; overflow: hidden; } #elementor-enable-fa5-dialog a { font-style: italic; text-decoration: underline; } #elementor-enable-fa5-dialog .dialog-confirm-ok { color: #39b54a; } .elementor-color-picker__header { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; font-weight: bold; padding: 10px; -webkit-box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); } .e-color-picker__tools { display: -webkit-box; display: -ms-flexbox; display: flex; } .e-control-color--no-value .pcr-button { background-image: -o-linear-gradient(315deg, transparent 46%, #ff3030 50%, transparent 54%); background-image: linear-gradient(135deg, transparent 46%, #ff3030 50%, transparent 54%); background-size: cover; background-color: transparent; border: 1px solid #d5dadf; } .pcr-app[data-theme=monolith] { padding: 0; } .pcr-result { border-right-width: 1px; border-radius: 3px; } .pcr-selection, .pcr-interaction { padding: 0 20px; } .pcr-interaction { padding-bottom: 20px; } .pcr .elementor-control-dynamic-switcher { height: 20px; border: 0; } .select2-container { width: 100% !important; outline: none; z-index: 9999; font-size: 12px; } .select2-container .e-select2-placeholder { color: #a4afb7; } .select2-container.select2-container--default .select2-selection--single { height: 27px; } .select2-container.select2-container--default .select2-selection--single .select2-selection__rendered { color: #6d7882; line-height: 27px; } .select2-container.select2-container--default .select2-selection--multiple { min-height: 27px; line-height: 0; } .select2-container.select2-container--default .select2-selection--multiple .select2-selection__clear { display: none; } .select2-container.select2-container--default .select2-selection--multiple .select2-selection__choice { background-color: #f1f3f5; line-height: 1.2; font-size: 10px; border: none; border-radius: 0; padding: 2px 3px; } .select2-container.select2-container--default .select2-selection--multiple .select2-selection__choice.select2-selection__e-plus-button { cursor: pointer; width: 16.67px; text-indent: -9999px; position: relative; } .select2-container.select2-container--default .select2-selection--multiple .select2-selection__choice.select2-selection__e-plus-button:after { content: "\e815"; font-family: "eicons"; color: #a4afb7; text-indent: 0; position: absolute; left: 0; top: 0; width: 100%; height: 100%; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .select2-container.select2-container--default .select2-selection--multiple .select2-selection__rendered { padding-bottom: 5px; } .select2-container.select2-container--default .select2-selection--multiple .select2-selection__choice__remove { color: #a4afb7; margin-right: 3px; } .select2-container:not(.select2-container--open):not(.select2-container--focus) .select2-selection--single, .select2-container:not(.select2-container--open):not(.select2-container--focus) .select2-selection--multiple { border-color: #d5dadf; } .select2-container.select2-container--open .select2-selection--single, .select2-container.select2-container--open .select2-selection--multiple, .select2-container.select2-container--focus .select2-selection--single, .select2-container.select2-container--focus .select2-selection--multiple { border-color: #a4afb7; } .select2-selection { outline: none; } .select2-selection--single { height: 27px; } .select2-selection__arrow { height: 27px; top: 0; } .select2-results__option[aria-selected=true] { color: #495157; } .select2-results__option[aria-selected=true]:not(.select2-results__option--highlighted) { background-color: initial; } .select2-dropdown { border-color: #a4afb7; } .select2-dropdown .select2-search__field { outline: none; } [class^=eicon-flex], [class*=" eicon-flex"] { -webkit-transition: 0.3s all; -o-transition: 0.3s all; transition: 0.3s all; --is-ltr: 1; --is-rtl: 0; --rotation-direction: calc( var( --is-ltr ) - var( --is-rtl ) ); } [class^=eicon-flex].eicon-inline, [class*=" eicon-flex"].eicon-inline { max-height: 1em; max-width: 1em; } :is(.e-ui-state--document-direction-mode__column, .e-ui-state--document-direction-mode__column-reverse) [class^=eicon-flex]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow), :is(.e-ui-state--document-direction-mode__column, .e-ui-state--document-direction-mode__column-reverse) [class*=" eicon-flex"]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow) { -webkit-transform: rotate(calc(var(--rotation-direction) * 90deg)); -ms-transform: rotate(calc(var(--rotation-direction) * 90deg)); transform: rotate(calc(var(--rotation-direction) * 90deg)); } :is(.e-ui-state--document-direction-mode__column, .e-ui-state--document-direction-mode__column-reverse) [class^=eicon-flex]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow):is(.eicon-align-start-v, .eicon-align-end-v), :is(.e-ui-state--document-direction-mode__column, .e-ui-state--document-direction-mode__column-reverse) [class*=" eicon-flex"]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow):is(.eicon-align-start-v, .eicon-align-end-v) { -webkit-transform: rotate(calc(var(--rotation-direction) * -90deg)); -ms-transform: rotate(calc(var(--rotation-direction) * -90deg)); transform: rotate(calc(var(--rotation-direction) * -90deg)); } .e-ui-state--document-direction-mode__column-reverse [class^=eicon-flex]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow):is(.eicon-justify-start-h, .eicon-justify-end-h, .eicon-order-start, .eicon-order-end), .e-ui-state--document-direction-mode__column-reverse [class*=" eicon-flex"]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow):is(.eicon-justify-start-h, .eicon-justify-end-h, .eicon-order-start, .eicon-order-end) { -webkit-transform: rotate(calc(var(--rotation-direction) * -90deg)); -ms-transform: rotate(calc(var(--rotation-direction) * -90deg)); transform: rotate(calc(var(--rotation-direction) * -90deg)); } .e-ui-state--document-direction-mode__row [class^=eicon-flex]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow):is(.eicon-justify-start-h, .eicon-justify-end-h, .eicon-order-start, .eicon-order-end), .e-ui-state--document-direction-mode__row [class*=" eicon-flex"]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow):is(.eicon-justify-start-h, .eicon-justify-end-h, .eicon-order-start, .eicon-order-end) { -webkit-transform: rotate(calc(var(--is-rtl) * 180deg)); -ms-transform: rotate(calc(var(--is-rtl) * 180deg)); transform: rotate(calc(var(--is-rtl) * 180deg)); } .e-ui-state--document-direction-mode__row-reverse [class^=eicon-flex]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow):is(.eicon-justify-start-h, .eicon-justify-end-h, .eicon-order-start, .eicon-order-end), .e-ui-state--document-direction-mode__row-reverse [class*=" eicon-flex"]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow):is(.eicon-justify-start-h, .eicon-justify-end-h, .eicon-order-start, .eicon-order-end) { -webkit-transform: rotate(calc(var(--is-ltr) * 180deg)); -ms-transform: rotate(calc(var(--is-ltr) * 180deg)); transform: rotate(calc(var(--is-ltr) * 180deg)); } /*# sourceMappingURL=editor.css.map */assets/css/widget-spacer-rtl.min.css000064400000000363152377341010013474 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ .e-container.e-container--row .elementor-spacer-inner{width:var(--spacer-size)}.e-container.e-container--column .elementor-spacer-inner,.elementor-column .elementor-spacer-inner{height:var(--spacer-size)}assets/css/editor-preview-rtl.css000064400000342441152377341010013127 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ .elementor-control-unit-1 { width: 27px; } .elementor-control-unit-2 { width: 54px; } .elementor-control-unit-3 { width: 81px; } .elementor-control-unit-4 { width: 108px; } .elementor-control-unit-5 { max-width: 400px; width: 52%; } .elementor-tags-list { display: none; position: absolute; width: 260px; max-height: 300px; overflow: auto; padding-bottom: 5px; background-color: #fff; border: 1px solid #a4afb7; border-radius: 3px; z-index: 10000; } .elementor-tags-list__group-title { color: #495157; font-weight: bold; font-size: 12px; padding: 10px 15px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .elementor-tags-list__group-title .eicon-info-circle { padding-left: 5px; color: #71d7f7; font-size: 14px; } .elementor-tags-list__item { font-size: 10px; padding: 6px 15px; cursor: pointer; } .elementor-tags-list__item:before { content: ">"; font-size: 8px; padding-left: 5px; } .elementor-tags-list__item:hover { background-color: #e6e9ec; } .elementor-tags-list__teaser { border-top: 2px solid #d5dadf; padding-top: 4px; margin-top: 4px; } .elementor-tags-list__teaser-title { color: #6d7882; } .elementor-tags-list__teaser-text { padding: 2px 15px 8px; line-height: 1.5; font-size: 12px; } .elementor-tags-list__teaser-link { color: #93003c; text-decoration: underline; font-style: italic; font-weight: bold; } .elementor-dynamic-cover { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; width: 100%; height: 27px; -webkit-box-sizing: border-box; box-sizing: border-box; } .elementor-dynamic-cover__title { padding: 0 8px; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; white-space: nowrap; -o-text-overflow: ellipsis; text-overflow: ellipsis; overflow: hidden; } .elementor-dynamic-cover__settings, .elementor-dynamic-cover__remove { color: #c2cbd2; cursor: pointer; -webkit-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; } .elementor-dynamic-cover__settings:hover, .elementor-dynamic-cover__remove:hover { color: #a4afb7; } .elementor-control-type-wysiwyg .elementor-dynamic-cover { margin-top: 10px; } .elementor-tag-settings-popup { position: absolute; width: 260px; background-color: #e6e9ec; -webkit-box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.3); box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.3); z-index: 1; } .elementor-tag-settings-popup:before { content: ""; position: absolute; top: -20px; right: 5px; border: 10px solid transparent; border-bottom-color: #fff; } .elementor-tag-settings-popup .elementor-control-type-section:first-child { margin: 0; } .elementor-tag-controls-stack-empty { background-color: #fff; padding: 10px; font-size: 13px; text-align: center; } .elementor-control-dynamic-switcher { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -ms-flex-negative: 0; flex-shrink: 0; height: 27px; cursor: pointer; border: 1px solid #d5dadf; border-radius: 3px; background: #fff; } .elementor-control-dynamic-switcher.e-control-tool { height: 20px; border: 0; } .elementor-control-dynamic-switcher-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; } .elementor-control-dynamic-switcher .eicon-database { font-size: 12px; } .elementor-control-dynamic-value .elementor-control-tag-area, .elementor-control-dynamic-value .elementor-control-dynamic-switcher, .elementor-control-dynamic-value .e-global__popover-toggle { display: none; } .elementor-panel-box { margin-top: 10px; background-color: #fff; } .elementor-panel-box-content { padding: 20px 20px 10px; } .elementor-button { display: inline-block; } .elementor-panel-alert { background-color: #fcfcfc; padding: 15px; border-right: 3px solid transparent; position: relative; font-size: 12px; font-weight: 300; font-style: italic; line-height: 1.5; text-align: right; border-radius: 3px 0 0 3px; -webkit-box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.07); box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.07); } .elementor-panel-alert a { color: inherit; } .elementor-panel-alert.elementor-panel-alert-info { border-color: #71d7f7; background-color: #f3fcff; } .elementor-panel-alert.elementor-panel-alert-success { border-color: #39b54a; } .elementor-panel-alert.elementor-panel-alert-warning { border-color: #fcb92c; } .elementor-panel-alert.elementor-panel-alert-danger { border-color: #d72b3f; } .elementor-label { display: inline; padding: 0.2em 0.6em 0.3em; font-size: 75%; font-weight: 700; line-height: 1; color: #fff; text-align: center; white-space: nowrap; vertical-align: baseline; border-radius: 0.25em; text-transform: capitalize; } .elementor-label.elementor-label-default { background-color: #a4afb7; } .elementor-label.elementor-label-info { background-color: #5bc0de; } .elementor-label.elementor-label-success { background-color: #5cb85c; } .elementor-label.elementor-label-warning { background-color: #f0ad4e; } .elementor-label.elementor-label-danger { background-color: #d9534f; } .elementor-descriptor, .elementor-control-field-description { font-size: 11px; font-style: italic; line-height: 1.4; color: #a4afb7; } .elementor-controls-popover { display: none; position: absolute; -webkit-box-shadow: 0 2px 15px rgba(0, 0, 0, 0.3); box-shadow: 0 2px 15px rgba(0, 0, 0, 0.3); border-radius: 3px; left: 0; right: 0; margin: -4px auto 5px; padding-top: 15px; width: 90%; z-index: 10000; background-color: #fff; } .elementor-controls-popover:before { content: ""; position: absolute; top: -16px; left: 22px; border: 8px solid transparent; border-bottom-color: #fff; } .elementor-controls-popover div.elementor-control { background-color: transparent; } .elementor-controls-popover div.elementor-control:before { content: none; } #elementor-controls .pojo-widget-button-collapse { display: none; } #elementor-panel-global .elementor-nerd-box .elementor-nerd-box-icon { margin-top: 20px; } .elementor-control { --control-title-size: 12px; background-color: #fff; position: relative; padding: 0 20px 15px; } .elementor-control a { font-weight: 500; text-decoration: none; border-bottom: 1px dotted transparent; -webkit-transition: all ease-in-out 0.3s; -o-transition: all ease-in-out 0.3s; transition: all ease-in-out 0.3s; } .elementor-control a:hover { border-bottom-color: inherit; } .elementor-control a.elementor-responsive-switcher { border-bottom: 0; } .elementor-control .elementor-control-content { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; } .elementor-control .elementor-control-title { font-size: var(--control-title-size); line-height: 1; margin-left: 5px; } .elementor-control .elementor-control-spinner { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .elementor-control.elementor-control-type-divider { padding: 0; background-color: transparent; } .elementor-control.elementor-control-type-divider .elementor-control-content { border-width: 0; border-color: #e6e9ec; border-style: solid; border-top-width: 1px; background-color: #ffffff; height: 15px; } .elementor-control.elementor-control-separator-default:not(.elementor-control-type-divider).elementor-control-wp { margin-top: 15px; } .elementor-control.elementor-control-separator-default:not(.elementor-control-type-divider).elementor-control-wp:before { content: ""; height: 1px; display: block; margin-bottom: 15px; background-color: transparent; } .elementor-control.elementor-control-separator-before { padding-top: 15px; } .elementor-control.elementor-control-separator-before:before { content: ""; position: absolute; height: 1px; width: 100%; top: 0; left: 0; background-color: #e6e9ec; } .elementor-control.elementor-control-separator-after:after { content: ""; position: absolute; height: 1px; width: 100%; bottom: 0; left: 0; background-color: #e6e9ec; } .elementor-control.elementor-control-separator-after + .elementor-control-type-tabs + .elementor-control-separator-default, .elementor-control.elementor-control-separator-after:not(.elementor-hidden-control) + .elementor-control-separator-default { padding-top: 15px; } .elementor-control.elementor-control-deprecated { color: #b01b1b; } .elementor-control.elementor-control-deprecated .elementor-control-field-description { color: #b01b1b; } .elementor-control.elementor-control-hidden-label > * > .elementor-control-title, .elementor-control.elementor-control-hidden-label > * > * > .elementor-control-title { display: none; } .elementor-control.elementor-hidden-control { display: none; } .elementor-control.elementor-control-type-heading .elementor-control-title { font-weight: bold; margin: 0; } body:not(.elementor-device-widescreen) .elementor-control.elementor-control-responsive-widescreen { display: none; } body:not(.elementor-device-desktop) .elementor-control.elementor-control-responsive-desktop { display: none; } body:not(.elementor-device-laptop) .elementor-control.elementor-control-responsive-laptop { display: none; } body:not(.elementor-device-tablet_extra) .elementor-control.elementor-control-responsive-tablet_extra { display: none; } body:not(.elementor-device-tablet) .elementor-control.elementor-control-responsive-tablet { display: none; } body:not(.elementor-device-mobile_extra) .elementor-control.elementor-control-responsive-mobile_extra { display: none; } body:not(.elementor-device-mobile) .elementor-control.elementor-control-responsive-mobile { display: none; } .elementor-control.elementor-control-type-select .elementor-control-input-wrapper { position: relative; } .elementor-control.elementor-control-type-select .elementor-control-input-wrapper select { appearance: none; -webkit-appearance: none; -moz-appearance: none; font-size: 12px; font-family: inherit; font-weight: inherit; font-style: inherit; text-transform: inherit; letter-spacing: inherit; line-height: inherit; -ms-flex-preferred-size: 100%; flex-basis: 100%; padding-right: 5px; padding-left: 20px; cursor: pointer; } .elementor-control.elementor-control-type-select .elementor-control-input-wrapper select.e-select-placeholder { color: #a4afb7; } .elementor-control.elementor-control-type-select .elementor-control-input-wrapper option.e-option-placeholder { display: none; } .elementor-control.elementor-control-type-select .elementor-control-input-wrapper:after { font-family: eicons; content: "\e8ad"; font-size: 12px; position: absolute; top: 50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); left: 5px; pointer-events: none; } .elementor-control-custom_css_pro .elementor-nerd-box-message, .elementor-control-custom_attributes_pro .elementor-nerd-box-message { margin-top: 5px; } .elementor-control.elementor-control-custom_css_title { font-size: 12px; } .elementor-control.elementor-open .elementor-panel-heading-toggle .eicon:before, .elementor-panel-scheme-item.elementor-open .elementor-panel-heading-toggle .eicon:before { content: "\e92a"; } .elementor-control:not(.elementor-open) .elementor-panel-heading-toggle .eicon:before, .elementor-panel-scheme-item:not(.elementor-open) .elementor-panel-heading-toggle .eicon:before { content: "\e909"; } .elementor-panel-heading { display: table; table-layout: fixed; height: 40px; padding: 0 20px; width: 100%; border-bottom: 1px solid #e6e9ec; cursor: pointer; } .elementor-panel-heading > * { display: table-cell; vertical-align: middle; } .elementor-panel-heading-toggle { width: 20px; color: #495157; } .elementor-panel-heading-title { color: #495157; font-weight: bold; } .elementor-control-wp { line-height: 1.5; } .elementor-control-wp p { margin: 15px 0; } .elementor-control-field { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .elementor-label-block > .elementor-control-content > .elementor-control-field { -ms-flex-wrap: wrap; flex-wrap: wrap; } .elementor-label-block > .elementor-control-content > .elementor-control-field > .elementor-control-input-wrapper { width: 100%; margin-top: 10px; } .elementor-label-block > .elementor-control-content > .elementor-control-field > .elementor-control-input-wrapper > .elementor-choices label { width: auto; -webkit-box-flex: 1; -ms-flex: 1 1 27px; flex: 1 1 27px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-label-block.elementor-control-hidden-label:not(.elementor-control-dynamic) > .elementor-control-content > .elementor-control-field > .elementor-control-input-wrapper { margin-top: 0; } .elementor-label-block.elementor-control-hidden-label.elementor-label-block > .elementor-control-content > .elementor-control-field > .elementor-control-input-wrapper { margin-top: 0; } .elementor-label-inline > .elementor-control-content > .elementor-control-field > .elementor-control-title { -ms-flex-negative: 0; flex-shrink: 0; } .elementor-label-inline > .elementor-control-content > .elementor-control-field > .elementor-control-input-wrapper { margin-right: auto; } .elementor-control-field-description { margin-top: 10px; } .elementor-group-control-attachment_alert .elementor-control-field-description { margin-top: 0; } .elementor-required { color: #b01b1b; } .elementor-units-choices { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; text-align: left; } .elementor-units-choices input { display: none; } .elementor-units-choices input:not(:checked) + label { color: #a4afb7; } .elementor-units-choices input.e-units-placeholder + label { color: #c2cbd2; text-decoration: underline; } .elementor-units-choices input:checked + label { text-decoration: underline; } .elementor-units-choices label { cursor: pointer; padding: 0 2px; text-transform: uppercase; font-size: 9px; } .elementor-control-start-end .eicon-h-align-left, .elementor-control-start-end .eicon-h-align-right { -webkit-transform: rotate(180deg); -ms-transform: rotate(180deg); transform: rotate(180deg); } .elementor-control-responsive-switchers { --selected-option: 0; --pointer-position: var(--selected-option); position: relative; width: 2em; height: 2em; margin: calc( -2em + var(--control-title-size)) 0; margin-left: 5px; } .elementor-control-responsive-switchers__holder { position: absolute; width: 100%; top: 0; background-color: #fff; border-radius: 3px; -webkit-transition: 0.15s; -o-transition: 0.15s; transition: 0.15s; border: 1px transparent solid; } .elementor-control-responsive-switchers.elementor-responsive-switchers-open { z-index: 11000; } .elementor-control-responsive-switchers.elementor-responsive-switchers-open .elementor-responsive-switcher { height: 2em; -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1); opacity: 1; } .elementor-control-responsive-switchers.elementor-responsive-switchers-open .elementor-responsive-switcher:hover { color: #71d7f7; } .elementor-control-responsive-switchers.elementor-responsive-switchers-open .elementor-control-responsive-switchers__holder { top: calc(-1 * var(--selected-option) * 2em); -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.2); box-shadow: 0 0 3px rgba(0, 0, 0, 0.2); } .elementor-responsive-switcher { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; position: relative; z-index: 2; cursor: pointer; height: 0; -webkit-transform: scale(0); -ms-transform: scale(0); transform: scale(0); opacity: 0; -webkit-transition: 0.15s; -o-transition: 0.15s; transition: 0.15s; font-size: 12px; } a.elementor-responsive-switcher { color: #a4afb7; } a.elementor-responsive-switcher:hover { color: #71d7f7; } .elementor-device-widescreen .elementor-responsive-switcher.elementor-responsive-switcher-widescreen { height: 2em; -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1); opacity: 1; } .elementor-device-widescreen .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-widescreen { color: #71d7f7; } .elementor-device-desktop .elementor-responsive-switcher.elementor-responsive-switcher-desktop { height: 2em; -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1); opacity: 1; } .elementor-device-desktop .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-desktop { color: #71d7f7; } .elementor-device-laptop .elementor-responsive-switcher.elementor-responsive-switcher-laptop { height: 2em; -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1); opacity: 1; } .elementor-device-laptop .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-laptop { color: #71d7f7; } .elementor-device-tablet_extra .elementor-responsive-switcher.elementor-responsive-switcher-tablet_extra { height: 2em; -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1); opacity: 1; } .elementor-device-tablet_extra .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-tablet_extra { color: #71d7f7; } .elementor-device-tablet .elementor-responsive-switcher.elementor-responsive-switcher-tablet { height: 2em; -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1); opacity: 1; } .elementor-device-tablet .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-tablet { color: #71d7f7; } .elementor-device-mobile_extra .elementor-responsive-switcher.elementor-responsive-switcher-mobile_extra { height: 2em; -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1); opacity: 1; } .elementor-device-mobile_extra .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-mobile_extra { color: #71d7f7; } .elementor-device-mobile .elementor-responsive-switcher.elementor-responsive-switcher-mobile { height: 2em; -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1); opacity: 1; } .elementor-device-mobile .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-mobile { color: #71d7f7; } .elementor-update-preview { margin: 15px 15px 0; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .elementor-update-preview-button-wrapper { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; text-align: left; } .elementor-update-preview-button { padding: 8px 15px; text-transform: uppercase; } .elementor-control-direction-ltr input, .elementor-control-direction-ltr textarea { direction: ltr; } .elementor-control-direction-rtl input, .elementor-control-direction-rtl textarea { direction: rtl; } .elementor-control-type-button .elementor-control-input-wrapper { text-align: left; } .elementor-control-type-button .elementor-button { width: auto; height: 26px; } .elementor-control-type-choose.elementor-label-block .elementor-choices { width: 100%; } .elementor-choices { display: -webkit-box; display: -ms-flexbox; display: flex; height: 27px; line-height: 27px; text-align: center; border-spacing: 1px; border-radius: 3px; overflow: hidden; } .elementor-choices .elementor-choices-label { border-top: 1px solid #d5dadf; border-bottom: 1px solid #d5dadf; border-right: 1px solid #d5dadf; border-left: none; font-size: 12px; -webkit-transition: all 0.5s; -o-transition: all 0.5s; transition: all 0.5s; cursor: pointer; overflow: hidden; } .elementor-choices .elementor-choices-label:nth-child(2) { border-top-right-radius: 3px; border-bottom-right-radius: 3px; } .elementor-choices .elementor-choices-label:last-child { border-left: 1px solid #d5dadf; border-top-left-radius: 3px; border-bottom-left-radius: 3px; } .elementor-choices input { display: none; } .elementor-choices input.e-choose-placeholder + .elementor-choices-label { color: #ffffff; background-color: #c2cbd2; border-color: #c2cbd2; } .elementor-choices input:checked + .elementor-choices-label { color: #fff; background-color: #a4afb7; border-color: #a4afb7; } .elementor-label-inline .elementor-choices { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; } .rtl .elementor-control-type-choose[class*=elementor-control-text_align] .elementor-choices, .rtl .elementor-control-type-choose[class*=elementor-control-align] .elementor-choices, .rtl .elementor-control-type-choose[class*=elementor-control-position] .elementor-choices { -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; } .rtl .elementor-control-type-choose[class*=elementor-control-text_align] .elementor-choices .elementor-choices-label:nth-child(2), .rtl .elementor-control-type-choose[class*=elementor-control-align] .elementor-choices .elementor-choices-label:nth-child(2), .rtl .elementor-control-type-choose[class*=elementor-control-position] .elementor-choices .elementor-choices-label:nth-child(2) { border-left: 1px solid #d5dadf; border-radius: 3px 0 0 3px; } .rtl .elementor-control-type-choose[class*=elementor-control-text_align] .elementor-choices .elementor-choices-label:last-child, .rtl .elementor-control-type-choose[class*=elementor-control-align] .elementor-choices .elementor-choices-label:last-child, .rtl .elementor-control-type-choose[class*=elementor-control-position] .elementor-choices .elementor-choices-label:last-child { border-left: none; border-radius: 0 3px 3px 0; } .elementor-control-type-color.e-control-global .e-global__popover-toggle ~ .pickr { border-radius: 3px 0 0 3px; -ms-flex-negative: 0; flex-shrink: 0; } .elementor-control-type-color .elementor-control-title { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; } .elementor-control-type-color .elementor-control-input-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; } .elementor-control-type-color .elementor-control-dynamic-switcher { border-right-width: 0; border-radius: 3px 0 0 3px; } .elementor-control-type-color.elementor-control-dynamic .pickr { border-radius: 0 3px 3px 0; } .elementor-group-control-css-filter .elementor-slider { height: 6px; -webkit-box-shadow: 0 0 1px 1px inset rgba(0, 0, 0, 0.2); box-shadow: 0 0 1px 1px inset rgba(0, 0, 0, 0.2); } .elementor-group-control-css-filter .elementor-control-content > .elementor-control-field > .elementor-control-input-wrapper { margin-top: 0; margin-bottom: 5px; } .elementor-group-control-blur .elementor-slider { background: url("../images/blur.png"); background-size: cover; background-position: center; } .elementor-group-control-contrast .elementor-slider { background: url("../images/contrast.png"); background-size: 100% 100%; } .elementor-group-control-hue .elementor-slider { background-image: -webkit-gradient(linear, left top, right top, from(red), color-stop(orange), color-stop(yellow), color-stop(greenyellow), color-stop(limegreen), color-stop(deepskyblue), color-stop(blue), color-stop(95%, darkviolet)); background-image: -o-linear-gradient(left, red, orange, yellow, greenyellow, limegreen, deepskyblue, blue, darkviolet 95%); background-image: linear-gradient(to right, red, orange, yellow, greenyellow, limegreen, deepskyblue, blue, darkviolet 95%); } .elementor-group-control-saturate .elementor-slider { background-image: -webkit-gradient(linear, left top, right top, from(gray), to(red)); background-image: -o-linear-gradient(left, gray, red); background-image: linear-gradient(to right, gray, red); } .elementor-group-control-brightness .elementor-slider { background-image: -webkit-gradient(linear, left top, right top, from(black), to(white)); background-image: -o-linear-gradient(left, black, white); background-image: linear-gradient(to right, black, white); } .elementor-control-type-dimensions .elementor-control-dimensions { overflow: hidden; } .elementor-control-type-dimensions li { float: left; width: 20%; } .elementor-control-type-dimensions li input, .elementor-control-type-dimensions li .elementor-link-dimensions { display: block; text-align: center; width: 100%; border-color: #d5dadf; height: 27px; } .elementor-control-type-dimensions li input { border-left: none; border-radius: 0; padding: 4px 0; } .elementor-control-type-dimensions li input:focus { border-left: solid 1px; border-color: #a4afb7; margin-left: -1px; width: calc(100% + 1px); } .elementor-control-type-dimensions li input:focus + .elementor-control-dimension-label { color: #a4afb7; } .elementor-control-type-dimensions li .elementor-link-dimensions { border: 1px solid #d5dadf; border-left: none; background-color: #fff; padding: 0; outline: none; border-radius: 0 3px 3px 0; cursor: pointer; } .elementor-control-type-dimensions li:first-child input { border-left: 1px solid #d5dadf; border-radius: 3px 0 0 3px; } .elementor-control-type-dimensions li:first-child input:focus { border-color: #a4afb7; margin-left: 0; width: 100%; } .elementor-control-type-dimensions .elementor-control-dimension-label { display: block; text-align: center; color: #d5dadf; font-size: 9px; text-transform: uppercase; padding-top: 5px; } .elementor-control-type-dimensions .elementor-link-dimensions.unlinked { background-color: #fff; } .elementor-control-type-dimensions .elementor-link-dimensions.unlinked .elementor-linked { display: none; } .elementor-control-type-dimensions .elementor-link-dimensions:not(.unlinked) { background-color: #a4afb7; border-color: #a4afb7; } .elementor-control-type-dimensions .elementor-link-dimensions:not(.unlinked) .elementor-unlinked { display: none; } .elementor-control-type-dimensions .elementor-link-dimensions .elementor-linked { color: #fff; } .elementor-control-type-icons .elementor-control-media__preview > * { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); } .elementor-control-type-icons .elementor-control-media__preview i { font-size: 70px; color: #6d7882; } .elementor-control-type-icons .elementor-control-media__preview svg { height: 75%; } .elementor-control-type-icons .elementor-control-icons--inline__svg i.eicon-upload { font-size: 15px; } .elementor-control-type-gallery .elementor-control-media__content { border: 1px solid #d5dadf; border-radius: 3px; } .elementor-control-type-gallery .elementor-control-gallery-status { font-size: 12px; height: 27px; padding-right: 10px; border-bottom: 1px solid #d5dadf; display: -webkit-box; display: -ms-flexbox; display: flex; } .elementor-control-type-gallery .elementor-control-gallery-status > * { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .elementor-control-type-gallery .elementor-control-gallery-status-title { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; } .elementor-control-type-gallery .elementor-control-gallery-content { position: relative; overflow: hidden; } .elementor-control-type-gallery .elementor-control-gallery-content:not(:hover) .elementor-control-gallery-edit { opacity: 0; } .elementor-control-type-gallery .elementor-control-gallery-thumbnails { display: grid; grid-template-columns: repeat(auto-fill, minmax(48px, 1fr)); grid-gap: 10px; cursor: pointer; padding: 10px; } .elementor-control-type-gallery .elementor-control-gallery-thumbnail { width: 48px; height: 48px; background-size: cover; background-position: 50% 50%; } .elementor-control-type-gallery .elementor-control-gallery-edit { position: absolute; top: 0; bottom: 0; left: 0; right: 0; background-color: rgba(109, 120, 130, 0.3); padding: 10px; font-size: 11px; -webkit-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; pointer-events: none; cursor: pointer; opacity: 1; } .elementor-control-type-gallery .elementor-control-gallery-edit span { position: absolute; top: 10px; left: 10px; width: 21px; height: 21px; background-color: rgba(255, 255, 255, 0.9); color: #a4afb7; -webkit-box-shadow: 0 0 7px 0 rgba(0, 0, 0, 0.2); box-shadow: 0 0 7px 0 rgba(0, 0, 0, 0.2); border-radius: 3px; } .elementor-control-type-gallery .elementor-control-gallery-edit span i { font-size: 11px; padding: 5px; } .elementor-control-type-gallery .elementor-control-gallery-add { width: 48px; height: 48px; color: #fff; background-color: #d5dadf; font-size: 14px; border-radius: 0; } .elementor-control-type-gallery .elementor-control-gallery-add:hover { background-color: #c2cbd2; } .elementor-control-type-gallery .elementor-control-gallery-add i { margin: 0; color: #a4afb7; } .elementor-control-type-gallery.elementor-gallery-empty .elementor-control-gallery-clear, .elementor-control-type-gallery.elementor-gallery-empty .elementor-control-gallery-thumbnails, .elementor-control-type-gallery.elementor-gallery-empty .elementor-control-gallery-edit { display: none; } .elementor-control-type-gallery.elementor-gallery-empty .elementor-control-gallery-content { padding: 10px; } .elementor-control-type-gallery.elementor-gallery-has-images .elementor-control-gallery-add { display: none; } .elementor-control-type-gallery.elementor-control-dynamic .elementor-control-gallery-clear { border-right: 1px solid #d5dadf; } .elementor-control-type-gallery .elementor-control-gallery-clear { cursor: pointer; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-control-type-gallery .elementor-control-gallery-clear:hover { color: #b01b1b; } .elementor-control-type-gallery .elementor-control-dynamic-switcher { border: none; border-bottom: 1px solid #d5dadf; border-right: 1px solid #d5dadf; border-radius: 3px 0 0 0; } .e-global__popover { width: 288px; z-index: 1; font-size: 12px; padding-right: 10px; } .e-global__popover-toggle { border: 1px solid #d5dadf; border-left: 0; border-radius: 0 3px 3px 0; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; cursor: pointer; } .e-global__popover-toggle--active i { color: #71d7f7; } .e-global__popover-container { -webkit-box-shadow: 0 2px 15px rgba(0, 0, 0, 0.3); box-shadow: 0 2px 15px rgba(0, 0, 0, 0.3); border-radius: 3px; background-color: #fff; padding-bottom: 5px; } .e-global__popover-title { padding: 15px 20px; font-weight: 500; color: #6d7882; border-bottom: 1px solid #e6e9ec; display: -webkit-box; display: -ms-flexbox; display: flex; } .e-global__popover-title > i { margin-left: 5px; color: #d5dadf; } .e-global__popover-title-text { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; } .e-global__popover-info { margin-left: 5px; display: inline-block; } .e-global__popover-info-tooltip { width: 270px; z-index: 1; background-color: rgba(0, 0, 0, 0.9); color: #fff; padding: 20px; border-radius: 3px; } .e-global__popover-info-tooltip:after { content: ""; position: absolute; bottom: -17px; right: 16px; border: 10px solid transparent; border-top-color: rgba(0, 0, 0, 0.9); } .e-global__popover-info i { color: #d5dadf; font-size: 13px; } .e-global__preview-items-container { max-height: 260px; overflow-y: auto; margin-top: 5px; } .e-global__preview-items-container::-webkit-scrollbar { width: 7px; } .e-global__preview-items-container::-webkit-scrollbar-thumb { background-color: #c2cbd2; border-radius: 10px; } .e-global__manage-button { font-weight: 500; cursor: pointer; } .e-global__manage-button:hover i { color: #4ab7f4; } .e-global__manage-button i { color: #6d7882; } .e-global__typography { padding: 5px 35px 5px 10px; white-space: nowrap; -o-text-overflow: ellipsis; text-overflow: ellipsis; overflow: hidden; } .e-global__typography.e-global__preview-item--selected:before { font-family: "eicons"; font-size: 13px; content: "\e90e"; position: absolute; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); top: 50%; left: 12px; } .e-global__color { margin: 5px auto; padding: 5px 20px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .e-global__color:first-child { margin-top: 5px; } .e-global__color:last-child { margin-bottom: 10px; } .e-global__color-preview-container { height: 20px; width: 20px; border-radius: 3px; border: 1px solid rgba(0, 0, 0, 0.1); margin-left: 10px; -ms-flex-negative: 0; flex-shrink: 0; position: relative; } .e-global__color-preview-color, .e-global__color-preview-transparent-bg { border-radius: 3px; height: 100%; width: 100%; position: absolute; top: 0; left: 0; } .e-global__color-preview-transparent-bg { background-image: -o-linear-gradient(45deg, #ddd 25%, transparent 0, transparent 75%, #ddd 0, #ddd), -o-linear-gradient(45deg, #ddd 25%, transparent 0, transparent 75%, #ddd 0, #ddd); background-image: linear-gradient(45deg, #ddd 25%, transparent 0, transparent 75%, #ddd 0, #ddd), linear-gradient(45deg, #ddd 25%, transparent 0, transparent 75%, #ddd 0, #ddd); background-size: 12px 12px; background-position: 0 0, 6px 6px; } .e-global__color-title { font-weight: 500; color: #6d7882; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; white-space: nowrap; -o-text-overflow: ellipsis; text-overflow: ellipsis; overflow: hidden; padding-left: 10px; } .e-global__color-hex { font-size: 10px; font-weight: 500; color: #c2cbd2; } .e-global__color .pcr-button { background-color: #fff; } .e-global__color.e-global__preview-item--selected .e-global__color-preview-container { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; color: #ffffff; } .e-global__color.e-global__preview-item--selected .e-global__color-preview-container:before { font-family: "eicons"; font-size: 13px; content: "\e90e"; text-shadow: 0px 0px 1px #000; z-index: 1; } .e-global__preview-item { cursor: pointer; position: relative; } .e-global__preview-item:hover { background-color: #f1f3f5; } .e-global__preview-item:hover .e-global__color-hex { color: #a4afb7; } .e-global__confirm-add .dialog-buttons-wrapper > .dialog-button.dialog-confirm-ok { color: #39b54a; } .e-global__confirm-delete i { color: #b01b1b; } .e-global__confirm-message-text i { color: #fcb92c; } .e-global__confirm-input-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; border: 1px solid #a4afb7; border-radius: 3px; margin-top: 10px; padding: 2px; } .e-global__confirm-input-wrapper input { font-family: Roboto, Arial, sans-serif; font-weight: 500; font-size: 12px; padding: 2px; border: 0; } .e-control-global .elementor-control-input-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; max-width: 135px; width: 100%; } .e-control-global.elementor-control .elementor-control-input-wrapper { direction: rtl; } .e-control-global .elementor-control-spinner { margin-left: 4px; } .elementor-control-type-hidden { display: none !important; } .elementor-control-type-icon .select2-selection__rendered .eicon { margin-right: 3px; } .elementor-control-type-image_dimensions .elementor-control-field-description { margin: 0 0 15px; line-height: 1.4; } .elementor-control-type-image_dimensions .elementor-control-input-wrapper { overflow: hidden; } .elementor-control-type-image_dimensions .elementor-image-dimensions-field { width: 65px; float: right; } .elementor-control-type-image_dimensions .elementor-image-dimensions-field input:focus + .elementor-image-dimensions-field-description { color: #a4afb7; } .elementor-control-type-image_dimensions .elementor-image-dimensions-separator { width: 20px; text-align: center; float: right; padding-top: 4px; } .elementor-control-type-image_dimensions .elementor-image-dimensions-field-description { display: block; text-transform: uppercase; margin-top: 5px; color: #d5dadf; font-size: 9px; text-align: center; } .elementor-control-type-image_dimensions .elementor-image-dimensions-apply-button { float: left; height: 27px; width: 65px; } .elementor-control-media.elementor-media-empty .elementor-control-media-area .elementor-control-media__remove, .elementor-control-media.elementor-media-empty .elementor-control-media-area .elementor-control-media__content__remove { display: none; } .elementor-control-media:not(.elementor-media-empty) .elementor-control-media__content__upload-button { display: none; } .elementor-control-media .elementor-control-input-wrapper { border: 1px solid #d5dadf; } .elementor-control-media .eicon-plus-circle { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); color: #fff; font-size: 20px; } .elementor-control-media__content__upload-button { background-color: #d5dadf; } .elementor-control-media__preview { height: 100%; background-size: cover; background-position: center; } .elementor-control-media-area { background-image: -o-linear-gradient(45deg, #ddd 25%, transparent 0, transparent 75%, #ddd 0, #ddd), -o-linear-gradient(45deg, #ddd 25%, transparent 0, transparent 75%, #ddd 0, #ddd); background-image: linear-gradient(45deg, #ddd 25%, transparent 0, transparent 75%, #ddd 0, #ddd), linear-gradient(45deg, #ddd 25%, transparent 0, transparent 75%, #ddd 0, #ddd); background-size: 16px 16px; background-position: 0 0, 8px 8px; background-color: #f6f6f6; } .elementor-control-media-area:not(:hover) .elementor-control-media__remove { display: none; } .elementor-control-media-area .eicon-video-camera { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); color: rgba(255, 255, 255, 0.7); font-size: 21px; } .elementor-control-media .elementor-control-media__content { cursor: pointer; overflow: hidden; } .elementor-control-media .elementor-control-media__content:hover:after { content: ""; position: absolute; top: 0; bottom: 0; left: 0; right: 0; background-color: rgba(0, 0, 0, 0.2); pointer-events: none; } .elementor-control-media .elementor-control-media__content:not(:hover) .elementor-control-media__tools { bottom: -30px; } .elementor-control-media__content { -webkit-transition: all 0.2s ease-in-out; -o-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out; } .elementor-control-media__tools { position: absolute; bottom: 0; left: 0; right: 0; height: 27px; -webkit-transition: all 0.2s ease-in-out; -o-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out; } .elementor-control-media__tools > *:not(:first-child) { margin-right: 1px; } .elementor-control-media__tool { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; color: #fff; background-color: rgba(109, 120, 130, 0.85); font-size: 11px; -webkit-transition: background 0.3s; -o-transition: background 0.3s; transition: background 0.3s; } .elementor-control-media__tool:hover { background-color: rgba(109, 120, 130, 0.95); } .elementor-control-media__remove { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; } .elementor-control-media__content__remove { position: absolute; z-index: 1; top: 10px; left: 10px; width: 20px; height: 20px; font-size: 11px; color: #a4afb7; background-color: rgba(255, 255, 255, 0.9); border-radius: 3px; -webkit-box-shadow: 0 0 7px 0 rgba(0, 0, 0, 0.1); box-shadow: 0 0 7px 0 rgba(0, 0, 0, 0.1); } .elementor-control-media__content__remove:hover { background-color: white; -webkit-box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.4); box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.4); } .elementor-control-media.elementor-media-empty .elementor-control-file-area { display: none; } .elementor-control-media__file { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; width: 100%; margin-top: 10px; border: 1px solid #d5dadf; } .elementor-control-media__file__content { padding-right: 5px; font-size: 12px; } .elementor-control-media__file__content__label { color: #a4afb7; } .elementor-control-media__file__content__info { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; font-weight: 500; } .elementor-control-media__file__content__info__icon { margin-left: 5px; } .elementor-control-media__file__controls { display: -webkit-box; display: -ms-flexbox; display: flex; border-right: 1px solid #d5dadf; } .elementor-control-media__file__controls__upload-button, .elementor-control-media__file__controls__remove { width: 27px; height: 27px; cursor: pointer; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .elementor-control-media__file__controls__upload-button { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-control-media__file__controls__remove { border-left: 1px solid #d5dadf; } .elementor-control-media:not(.elementor-media-empty) .elementor-control-media__file__content__label { display: none; } .elementor-control-media.elementor-media-empty .elementor-control-media__file__content__info { display: none; } .elementor-control-media.elementor-media-empty .elementor-control-media__file__controls__remove { display: none; } .elementor-control-media .elementor-control-dynamic-switcher { border: none; border-radius: 0; background-color: rgba(109, 120, 130, 0.85); color: #fff; } .elementor-control-media .elementor-control-dynamic-switcher:hover { background-color: rgba(109, 120, 130, 0.95); } .elementor-control-type-media.elementor-control-dynamic-value .elementor-control-input-wrapper { border: none; } .elementor-control:not(.elementor-control-type-icons) .elementor-control-media__preview { background-color: #d5dadf; } .elementor-control-type-number.elementor-control-dynamic input { border-radius: 0 3px 3px 0; border-left: none; } .elementor-control-type-number.elementor-control-dynamic .elementor-control-dynamic-switcher { border-radius: 3px 0 0 3px; } .elementor-control-type-order .elementor-control-oreder-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; } .elementor-control-type-order input { display: none; } .elementor-control-type-order input:checked + .elementor-control-order-label { -webkit-transform: scale(1, -1); -ms-transform: scale(1, -1); transform: scale(1, -1); } .elementor-control-type-order select { border-radius: 3px 0 0 3px; } .elementor-control-type-order select:not(:focus) ~ .elementor-control-order-label { border-color: #d5dadf; } .elementor-control-type-order select:focus ~ .elementor-control-order-label { border-color: #a4afb7; } .elementor-control-type-order .elementor-control-order-label { position: relative; padding: 0; width: 40px; border: 1px solid; font-size: 10px; border-radius: 0 3px 3px 0; margin-left: -3px; background-color: #fff; cursor: pointer; } .elementor-control-type-order .elementor-control-order-label i { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); } .elementor-control-type-popover_toggle input { display: none; } .elementor-control-type-popover_toggle label { cursor: pointer; } .elementor-control-type-popover_toggle .elementor-control-input-wrapper { direction: ltr; } .elementor-control-type-popover_toggle .elementor-control-popover-toggle-toggle:checked + .elementor-control-popover-toggle-toggle-label { color: #71d7f7; } .elementor-control-type-popover_toggle .elementor-control-popover-toggle-toggle:not(:checked) ~ .elementor-control-popover-toggle-reset-label { display: none; } .elementor-control-type-popover_toggle .elementor-control-popover-toggle-reset-label { color: #c2cbd2; margin-left: 5px; } .elementor-control-type-popover_toggle .elementor-control-popover-toggle-toggle-label { height: 27px; display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; border-radius: 3px; border: 1px solid #d5dadf; } .elementor-controls-popover.e-controls-popover--typography { padding-top: 0; } .e-control-global .elementor-control-popover-toggle-toggle-label { border-radius: 3px 0 0 3px; -ms-flex-negative: 0; flex-shrink: 0; } .elementor-control-type-repeater .elementor-control:not(.elementor-control-type-tab) { padding-right: 10px; padding-left: 10px; padding-bottom: 10px; } .elementor-control-type-repeater.elementor-repeater-has-minimum-rows .elementor-repeater-tool-remove { display: none; } .elementor-control-type-repeater .elementor-repeater-fields { margin: 10px 0; } .elementor-control-type-repeater .elementor-repeater-row-controls { border: 1px solid #d5dadf; border-top-width: 0; padding-top: 15px; } .elementor-control-type-repeater .elementor-repeater-row-controls:not(.editable) { display: none; } .elementor-control-type-repeater .elementor-repeater-row-tools { display: table; table-layout: fixed; width: 100%; color: #556068; background-color: #d5dadf; height: 40px; border-spacing: 1px; -webkit-transition: all 0.5s; -o-transition: all 0.5s; transition: all 0.5s; } .elementor-control-type-repeater .elementor-repeater-row-tools:hover { background-color: #a4afb7; } .elementor-control-type-repeater .elementor-repeater-row-tools > div { display: table-cell; text-align: center; vertical-align: middle; cursor: pointer; } .elementor-control-type-repeater .elementor-repeater-row-tools > div:not(.elementor-repeater-row-handle-sortable) { background-color: #fff; } .elementor-control-type-repeater .elementor-repeater-row-tools > div:hover { opacity: 0.95; } .elementor-control-type-repeater .elementor-repeater-row-tools .elementor-repeater-row-item-title { text-align: right; padding: 0 10px; font-size: 12px; white-space: nowrap; -o-text-overflow: ellipsis; text-overflow: ellipsis; overflow: hidden; } .elementor-control-type-repeater .elementor-repeater-row-tools .elementor-repeater-row-item-title .eicon, .elementor-control-type-repeater .elementor-repeater-row-tools .elementor-repeater-row-item-title i, .elementor-control-type-repeater .elementor-repeater-row-tools .elementor-repeater-row-item-title svg { margin-left: 5px; } .elementor-control-type-repeater .elementor-repeater-row-tools .elementor-repeater-row-item-title img[src$=svg] { width: 1em; } .elementor-control-type-repeater .elementor-repeater-row-tools .elementor-repeater-row-tool { width: 40px; } .elementor-control-type-repeater .elementor-repeater-row-tools .elementor-repeater-row-handle-sortable { cursor: move; width: 10px; color: #fff; } .elementor-control-type-repeater .elementor-button-wrapper { text-align: center; padding-top: 5px; } .elementor-control-type-section { margin-top: 10px; padding: 0; } .elementor-control-type-section.elementor-open { padding-bottom: 15px; } .elementor-control-type-section + .elementor-control:not(.elementor-control-type-section):before { display: none; } .elementor-shadow-box .elementor-shadow-slider { margin-top: 10px; } .elementor-shadow-box .elementor-color-picker-wrapper .elementor-control-title { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; } .elementor-control-type-slider.elementor-control-dynamic input { border-radius: 0 3px 3px 0; } .elementor-control-type-slider .elementor-control-unit-2 { width: 21%; } .elementor-control-type-slider.elementor-control-type-slider--multiple .elementor-control-input-wrapper { display: block; } .elementor-control-type-slider--multiple { padding-bottom: 40px; } .elementor-control-type-slider--multiple .elementor-slider { margin-top: 12px; width: 98%; } .elementor-control-type-slider--handles-range .elementor-slider .noUi-handle { border-radius: 0; width: 10px; -webkit-transform: translateY(calc(50% - 14px)) translateX(-4px); -ms-transform: translateY(calc(50% - 14px)) translateX(-4px); transform: translateY(calc(50% - 14px)) translateX(-4px); } .elementor-control-type-slider--handles-range .elementor-slider .noUi-handle:after { content: ""; position: absolute; top: 2px; height: 12px; width: 11px; -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); background-color: #fff; border-radius: 3px; } .elementor-control-type-slider--handles-range .elementor-slider .noUi-handle-lower:after { left: 5px; -webkit-box-shadow: 2px -2px 3px 0px rgba(0, 0, 0, 0.1); box-shadow: 2px -2px 3px 0px rgba(0, 0, 0, 0.1); } .elementor-control-type-slider--handles-range .elementor-slider .noUi-handle-upper:after { right: 5px; -webkit-box-shadow: -2px 2px 3px 0px rgba(0, 0, 0, 0.1); box-shadow: -2px 2px 3px 0px rgba(0, 0, 0, 0.1); } .elementor-control-type-slider .elementor-control-dynamic-switcher { border-right-width: 0; border-radius: 3px 0 0 3px; } .elementor-control-type-slider .elementor-control-input-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .elementor-control-type-slider .elementor-dynamic-cover { margin-top: 10px; } .elementor-slider { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; height: 4px; background-color: #d5dadf; border-radius: 5px; position: relative; cursor: pointer; } .elementor-slider-input { width: 21%; min-width: 54px; margin-right: 12px; } .elementor-slider__extra { position: relative; } .elementor-slider__labels { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; } .elementor-slider__label { font-size: 9px; color: #c2cbd2; } .elementor-slider__scales { position: absolute; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: space-evenly; -ms-flex-pack: space-evenly; justify-content: space-evenly; width: 100%; margin-top: 4px; } .elementor-slider__scale { width: 1px; height: 21px; background-color: #a4afb7; } .elementor-slider .noUi-handle { height: 16px; width: 16px; background-color: #fff; left: 0; -webkit-transform: translateY(calc(50% - 14px)) translateX(-8px); -ms-transform: translateY(calc(50% - 14px)) translateX(-8px); transform: translateY(calc(50% - 14px)) translateX(-8px); position: absolute; -webkit-box-shadow: 0 1px 5px rgba(0, 0, 0, 0.3); box-shadow: 0 1px 5px rgba(0, 0, 0, 0.3); border-radius: 50%; } .elementor-slider .noUi-connects { position: absolute; width: 100%; height: 4px; } .elementor-slider .noUi-connect { position: absolute; z-index: 0; top: 0; left: 0; height: 100%; width: 100%; will-change: transform; -webkit-transform-origin: 0 0; -ms-transform-origin: 0 0; transform-origin: 0 0; background-color: #a4afb7; } .elementor-slider .noUi-tooltip { position: absolute; top: calc(100% + 5px); left: calc(50% - 4px); -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); font-size: 10px; } .elementor-control-type-structure .elementor-control-field { display: initial; } .elementor-control-type-structure .elementor-control-structure-preset { padding: 3px; border-radius: 3px; display: inline-block; cursor: pointer; height: 50px; } .elementor-control-type-structure .elementor-control-structure-preset svg { height: 100%; } .elementor-control-type-structure .elementor-control-structure-preset path { fill: #e6e9ec; } .elementor-control-type-structure .elementor-control-structure-reset { padding: 15px 20px 0; font-size: 11px; cursor: pointer; color: #a4afb7; border-top: 1px solid #e6e9ec; margin: 0 -20px; } .elementor-control-type-structure .elementor-control-structure-title { margin: 10px -20px 0; } .elementor-control-type-structure .elementor-control-structure-title:before { height: 10px; -webkit-box-shadow: inset 0 2px 4px rgba(127, 127, 127, 0.1); box-shadow: inset 0 2px 4px rgba(127, 127, 127, 0.1); } .elementor-control-type-structure .elementor-control-structure-presets { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; } .elementor-control-type-structure .elementor-control-structure-presets input { display: none; } .elementor-control-type-structure .elementor-control-structure-presets input:checked + .elementor-control-structure-preset path { fill: #a4afb7; } .elementor-control-type-structure .elementor-control-structure-preset-wrapper { margin-bottom: 15px; } .elementor-control-type-structure .elementor-control-structure-preset-title { text-align: center; padding-top: 5px; font-style: italic; font-size: 11px; color: #a4afb7; } .elementor-control-type-switcher .elementor-control-input-wrapper { text-align: left; } .elementor-control-type-switcher .elementor-switch { position: relative; display: inline-block; vertical-align: top; height: 20px; background-color: white; border-radius: 18px; cursor: pointer; } .elementor-control-type-switcher .elementor-switch-input { display: none; } .elementor-control-type-switcher .elementor-switch-label { position: relative; display: block; height: inherit; font-size: 7px; text-transform: uppercase; background: #eceeef; border-radius: inherit; -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.12), inset 0 0 2px rgba(0, 0, 0, 0.15); box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.12), inset 0 0 2px rgba(0, 0, 0, 0.15); -webkit-transition: 0.15s ease-out; -o-transition: 0.15s ease-out; transition: 0.15s ease-out; -webkit-transition-property: opacity, background; -o-transition-property: opacity, background; transition-property: opacity, background; } .elementor-control-type-switcher .elementor-switch-label:before, .elementor-control-type-switcher .elementor-switch-label:after { position: absolute; top: 0; width: 50%; text-align: center; line-height: 20px; -webkit-transition: inherit; -o-transition: inherit; transition: inherit; } .elementor-control-type-switcher .elementor-switch-label:before { content: attr(data-off); right: 3px; color: #a4afb7; text-shadow: 0 1px rgba(255, 255, 255, 0.5); } .elementor-control-type-switcher .elementor-switch-label:after { content: attr(data-on); left: 3px; color: white; text-shadow: 0 1px rgba(0, 0, 0, 0.2); opacity: 0; } .elementor-control-type-switcher .elementor-switch-input:checked ~ .elementor-switch-label { background: #71d7f7; -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.15), inset 0 0 3px rgba(0, 0, 0, 0.2); box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.15), inset 0 0 3px rgba(0, 0, 0, 0.2); } .elementor-control-type-switcher .elementor-switch-input:checked ~ .elementor-switch-label:before { opacity: 0; } .elementor-control-type-switcher .elementor-switch-input:checked ~ .elementor-switch-label:after { opacity: 1; } .elementor-control-type-switcher .elementor-switch-handle { position: absolute; top: 1px; left: 1px; width: 18px; height: 18px; background: white; border-radius: 10px; -webkit-transition: left 0.15s ease-out; -o-transition: left 0.15s ease-out; transition: left 0.15s ease-out; } .elementor-control-type-switcher .elementor-switch-input:checked ~ .elementor-switch-handle { left: initial; right: 1px; -webkit-box-shadow: -1px 1px 5px rgba(0, 0, 0, 0.2); box-shadow: -1px 1px 5px rgba(0, 0, 0, 0.2); } .elementor-control-type-tabs { font-size: 0.8em; text-transform: uppercase; display: -webkit-box; display: -ms-flexbox; display: flex; } .elementor-control-type-tab { text-align: center; width: 100%; padding: 0; line-height: 25px; border-top: 1px solid #d5dadf; border-bottom: 1px solid #d5dadf; border-left: 1px solid #d5dadf; cursor: pointer; } .elementor-control-type-tab:first-child { border-right: 1px solid #d5dadf; border-top-right-radius: 3px; border-bottom-right-radius: 3px; } .elementor-control-type-tab:last-child { border-top-left-radius: 3px; border-bottom-left-radius: 3px; } .elementor-control-type-tab.elementor-tab-active { background-color: #a4afb7; border-color: #a4afb7; color: #ffffff; } .elementor-tab-close { display: none !important; } .elementor-control-type-textarea.elementor-control-dynamic-value .elementor-control-dynamic-switcher, .elementor-control-type-code.elementor-control-dynamic-value .elementor-control-dynamic-switcher { border-radius: 3px 0 0 3px; border-right-width: 0; } .elementor-control-type-textarea .elementor-control-dynamic-switcher, .elementor-control-type-code .elementor-control-dynamic-switcher { border-radius: 0 3px; } .elementor-control-type-textarea:not(.elementor-control-dynamic-value) .elementor-control-dynamic-switcher, .elementor-control-type-code:not(.elementor-control-dynamic-value) .elementor-control-dynamic-switcher { position: absolute; top: 0; z-index: 1; right: 0; } .elementor-control-type-textarea .elementor-control-input-wrapper, .elementor-control-type-code .elementor-control-input-wrapper { position: relative; } .elementor-control-type-textarea textarea, .elementor-control-type-code textarea { display: block; font-family: inherit; } .elementor-control-type-textarea textarea:focus + .elementor-control-dynamic-switcher, .elementor-control-type-code textarea:focus + .elementor-control-dynamic-switcher { display: none; } .elementor-control-type-textarea pre:focus-within + .elementor-control-dynamic-switcher, .elementor-control-type-code pre:focus-within + .elementor-control-dynamic-switcher { display: none; } .elementor-control-type-url.elementor-control-dynamic .elementor-input { border-radius: 3px 0 0 3px; } .elementor-control-type-url .elementor-control-field { position: relative; } .elementor-control-type-url:not(.elementor-control-dynamic) .elementor-control-url-more, .elementor-control-type-url.elementor-control-dynamic-value .elementor-control-url-more { border-radius: 0 3px 3px 0; } .elementor-control-type-url .elementor-control-input-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; } .elementor-control-type-url .elementor-control-url-more { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -ms-flex-negative: 0; flex-shrink: 0; border: 1px solid #d5dadf; border-left: none; cursor: pointer; } .elementor-control-type-url .elementor-control-url-more i { font-size: 12px; } .elementor-control-type-url .elementor-control-url-more-options { display: none; padding-top: 10px; } .elementor-control-type-url .elementor-control-url-more-options .elementor-control-field-description { margin-top: 10px; } .elementor-control-type-url .elementor-control-url-option { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .elementor-control-type-url .elementor-control-url-option:not(:last-child) { padding-bottom: 10px; } .elementor-control-type-url .elementor-control-url-option input, .elementor-control-type-url .elementor-control-url-option label { cursor: pointer; } .elementor-control-type-url .elementor-control-url-option-input { margin: 0; padding: 0; border-radius: 2px; margin-left: 5px; -webkit-appearance: none; -moz-appearance: none; outline: none; content: none; height: 15px; width: 15px; border: 1px solid #d5dadf; display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-control-type-url .elementor-control-url-option-input:checked { background: #71d7f7; border: none; } .elementor-control-type-url .elementor-control-url-option-input:checked:before { display: block; content: ""; width: 4px; height: 7px; border: solid white; border-width: 0 2px 2px 0; -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); } .elementor-control-type-url .elementor-control-url-option label { font-size: 12px; } .elementor-control-type-url .elementor-control-url-external-hide .elementor-control-url-more { display: none; } .elementor-control-type-url .elementor-control-url-external-show .elementor-input, .elementor-control-type-url .elementor-control-url-external-show .elementor-dynamic-cover { border-radius: 3px 0 0 3px; } .elementor-control-type-url .elementor-control-url-autocomplete-spinner { display: none; position: absolute; top: 5px; right: 0px; width: 10px; height: 10px; font-size: 10px; color: #D4D4D4; } .elementor-control-type-url .elementor-control-url__custom-attributes { margin-top: 5px; } .elementor-control-type-url .elementor-control-url__custom-attributes label { font-size: 12px; } .elementor-control-type-url .elementor-control-url__custom-attributes input { width: 100%; margin-top: 10px; } .elementor-control-type-url .elementor-input { direction: ltr; } .elementor-control-type-url .elementor-input:not(:focus) + .elementor-control-url-more { border-color: #d5dadf; } .elementor-control-type-url .elementor-input:focus ~ div { border-color: #a4afb7; } .elementor-control-type-url .elementor-control-dynamic-switcher { border-left: none; border-radius: 0 3px 3px 0; } .elementor-autocomplete-menu { position: absolute; background: #fff; color: #495157; border: 1px solid #a4afb7; margin: 0; list-style: none; padding: 4px 0; height: auto; width: 100%; min-width: 260px; max-width: 300px; max-height: 200px; overflow-y: auto; border-radius: 3px; -webkit-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; cursor: default; z-index: 1; } .elementor-autocomplete-menu .ui-menu-item { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-item-align: baseline; align-self: baseline; padding: 5px 8px; font-size: 12px; width: 100%; line-height: 1.2; cursor: pointer; } .elementor-autocomplete-menu .ui-menu-item.ui-state-hover, .elementor-autocomplete-menu .ui-menu-item.ui-state-active, .elementor-autocomplete-menu .ui-menu-item.ui-state-focus { background: #e6e9ec; } .elementor-autocomplete-menu .elementor-autocomplete-item-info { font-size: 10px; padding-top: 2px; } .elementor-control-type-wp_widget .widget-inside { display: block; } .elementor-control-type-wp_widget .quicktags-toolbar input { width: auto; } .elementor-control-type-wysiwyg * { -webkit-box-sizing: content-box; box-sizing: content-box; } .elementor-control-type-wysiwyg .wp-editor-container { border: 1px solid #e6e9ec; } .elementor-control-type-wysiwyg .wp-editor-tabs { border: 1px solid #d5dadf; border-bottom: none; border-radius: 3px 3px 0 0; } .elementor-control-type-wysiwyg #insert-media-button { height: initial; line-height: 24px; font-size: 10px; color: #6d7882; border-color: #d5dadf; background-color: #e6e9ec; min-height: initial; } .elementor-control-type-wysiwyg .ed_button { height: 22px; width: initial; } .elementor-control-type-wysiwyg .wp-media-buttons-icon { height: 14px; margin: 0; } .elementor-control-type-wysiwyg .wp-media-buttons-icon:before { font-size: 14px; } .elementor-control-type-wysiwyg .wp-switch-editor { position: static; border: none; margin: 0; color: #6d7882; font-size: 10px; padding: 3px 9px 4px; } .elementor-control-type-wysiwyg .switch-html { border: solid #d5dadf; border-width: 0 1px; } .elementor-control-type-wysiwyg .html-active .switch-tmce { background-color: transparent; } .elementor-control-type-wysiwyg .html-active .switch-html { background-color: #e6e9ec; } .elementor-control-type-wysiwyg .tmce-active .switch-tmce { background-color: #e6e9ec; } .elementor-control-type-wysiwyg .tmce-active .switch-html { background-color: transparent; } .elementor-control-type-wysiwyg .mce-toolbar-grp, .elementor-control-type-wysiwyg .quicktags-toolbar { background-color: #e6e9ec; } .elementor-control-type-wysiwyg .mce-toolbar-grp > div { padding: 0 3px; } .elementor-control-type-wysiwyg .elementor-wp-editor { -webkit-box-sizing: border-box; box-sizing: border-box; } .elementor-control-type-wysiwyg .mce-ico { color: #6d7882; font-size: 16px; } .elementor-control-type-wysiwyg .mce-btn { margin-right: 0; margin-left: 0; } .elementor-control-type-wysiwyg .mce-btn:hover, .elementor-control-type-wysiwyg .mce-btn:active, .elementor-control-type-wysiwyg .mce-btn.mce-active { border-color: #d5dadf; } .elementor-control-type-wysiwyg .mce-path { padding: 5px 10px; } .elementor-control-type-wysiwyg .mce-path-item { font-size: 12px; color: #6d7882; } .elementor-control-type-wysiwyg .elementor-control-dynamic-switcher { border: none; } .elementor-control-type-text .elementor-control-dynamic-switcher { border-right-width: 0; border-radius: 3px 0 0 3px; } .elementor-control-type-text.elementor-control-dynamic input { border-radius: 0 3px 3px 0; } .ui-resizable-n { top: -5px; } .ui-resizable-e { right: -5px; } .ui-resizable-s { bottom: -5px; } .ui-resizable-w { left: -5px; } .ui-resizable-ne { top: -5px; right: -5px; } .ui-resizable-nw { top: -5px; left: -5px; } .ui-resizable-se { bottom: -5px; right: -5px; } .ui-resizable-sw { bottom: -5px; left: -5px; } .ui-resizable-n, .ui-resizable-s { left: 0; height: 10px; width: 100%; cursor: ns-resize; } .ui-resizable-e, .ui-resizable-w { top: 0; height: 100%; width: 10px; cursor: ew-resize; } .ui-resizable-ne, .ui-resizable-nw, .ui-resizable-se, .ui-resizable-sw { height: 15px; width: 15px; } .ui-resizable-nw, .ui-resizable-se { cursor: nwse-resize; } .ui-resizable-ne, .ui-resizable-sw { cursor: nesw-resize; } .ui-resizable-handle { position: absolute; } .ui-resizable-resizing { pointer-events: none; } @-webkit-keyframes placeholder-section { 0% { height: 0; opacity: 0; } 100% { height: 40px; opacity: 0.9; } } @keyframes placeholder-section { 0% { height: 0; opacity: 0; } 100% { height: 40px; opacity: 0.9; } } @-webkit-keyframes placeholder-widget { 0% { height: 0; opacity: 0; } 100% { height: 10px; opacity: 0.9; } } @keyframes placeholder-widget { 0% { height: 0; opacity: 0; } 100% { height: 10px; opacity: 0.9; } } @-webkit-keyframes section-outline { 0% { opacity: 0; } 100% { opacity: 1; } } @keyframes section-outline { 0% { opacity: 0; } 100% { opacity: 1; } } body.elementor-editor-active .elementor.elementor-edit-mode.layout-section .entry-content { overflow: visible; } body.elementor-editor-active .elementor.elementor-edit-mode .article { overflow: visible; } body.elementor-editor-active .elementor.elementor-edit-mode .elementor-element-overlay .elementor-editor-element-settings { clear: unset; } body.elementor-editor-active .elementor.elementor-edit-mode .elementor-element.elementor-section { overflow: visible; } .elementor-edit-area .animated { -webkit-animation-fill-mode: none !important; animation-fill-mode: none !important; } .elementor-edit-area ul.elementor-editor-element-settings { word-break: normal; padding: 0; } .elementor-edit-area .gallery { opacity: 1; } .pen { position: relative; outline: none; } .pen:not([data-elementor-inline-editing-toolbar=advanced]) { white-space: pre-wrap; } .pen-menu { -webkit-box-shadow: 1px 2px 3px -2px #222; box-shadow: 1px 2px 3px -2px #222; background-color: #6d7882; position: fixed; overflow: hidden; border-radius: 3px; z-index: 9999; } .pen-menu:after { top: 100%; content: ""; position: absolute; border: 6px solid transparent; border-top-color: #6d7882; left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); } .pen-menu-below:after { top: 0; -webkit-transform: translateX(-50%) translateY(-100%) rotate(180deg); -ms-transform: translateX(-50%) translateY(-100%) rotate(180deg); transform: translateX(-50%) translateY(-100%) rotate(180deg); } .pen-icon { position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; height: 35px; padding: 0 10px; font-size: 21px; color: #d5dadf; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .pen-icon:hover { background: #556068; } .pen-icon[data-group], .pen-icon[data-action=closeGroup] { display: none; } .pen-icon[data-action=close]:before { content: ""; position: absolute; right: 0; height: 60%; width: 1px; background-color: #556068; } .pen-icon.active { background-color: #556068; -webkit-box-shadow: inset 2px 2px 4px #556068; box-shadow: inset 2px 2px 4px #556068; } .pen-group-icon:after { font-family: eicons; font-size: 12px; content: "\e92a"; padding-left: 4px; color: #71d7f7; } .pen-input-wrapper { -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .pen-input-wrapper .pen-url-input { font-size: 12px; line-height: 1.5; padding: 0; padding-right: 10px; padding-left: 10px; width: 250px; direction: ltr; } .pen-input-wrapper .pen-url-input, .pen-input-wrapper .pen-url-input:focus { background-color: transparent; border: none; outline: none; -webkit-box-shadow: none; box-shadow: none; color: #fff; } .pen-input-wrapper .pen-url-input::-webkit-input-placeholder { color: #d5dadf; } .pen-input-wrapper .pen-url-input::-moz-placeholder { color: #d5dadf; } .pen-input-wrapper .pen-url-input::-ms-input-placeholder { color: #d5dadf; } .pen-input-wrapper .pen-url-input::placeholder { color: #d5dadf; } .pen-input-label { margin: 0; margin-left: -1px; } .pen-placeholder:before { content: attr(data-pen-placeholder); position: absolute; font-weight: normal; color: #757575; opacity: 0.6; } .pen-external-url-checkbox { display: none; } .pen-external-url-checkbox:checked + i { color: #fff; } .elementor-inline-editing i:not([class]) { font-style: italic; } .elementor-inline-editing b { font-weight: bold; } .elementor-inline-editing u { text-decoration: underline; } .e-element-color-picker { --primary-color: #71d7f7; --swatch-size: 25px; cursor: default; display: -webkit-box; display: -ms-flexbox; display: flex; position: absolute; width: calc((var(--count) + 1) * var(--swatch-size)); height: var(--swatch-size); top: var(--top); left: var(--left); right: var(--right, unset); border-radius: 3px; opacity: 0; pointer-events: none; z-index: 9998; background-color: var(--primary-color); padding: 1px; -webkit-box-sizing: content-box; box-sizing: content-box; -webkit-transition: opacity 0.3s, width 0.3s; -o-transition: opacity 0.3s, width 0.3s; transition: opacity 0.3s, width 0.3s; } .e-element-color-picker.e-picker-hidden { opacity: 0; pointer-events: none; } .e-element-color-picker::before { content: ""; -webkit-box-flex: 0; -ms-flex: 0 1 var(--swatch-size); flex: 0 1 var(--swatch-size); max-width: 100%; height: 100%; -webkit-box-sizing: border-box; box-sizing: border-box; text-align: center; } .e-element-color-picker::after { content: "\e91e"; font-family: "eicons"; color: #FFF; font-size: 1rem; line-height: var(--swatch-size); position: absolute; left: 0.3rem; z-index: -1; } .e-element-color-picker__swatch { -webkit-box-flex: 1; -ms-flex: 1 0 var(--swatch-size); flex: 1 0 var(--swatch-size); max-width: 100%; height: 100%; cursor: pointer; -webkit-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; position: relative; overflow: hidden; border-radius: inherit; /* Hack to fix transparent `--color` on hover */ background: -webkit-gradient(linear, left top, left bottom, from(var(--color)), to(var(--color))), -webkit-gradient(linear, left top, left bottom, from(var(--primary-color)), to(var(--primary-color))); background: -o-linear-gradient(var(--color), var(--color)), -o-linear-gradient(var(--primary-color), var(--primary-color)); background: linear-gradient(var(--color), var(--color)), linear-gradient(var(--primary-color), var(--primary-color)); } .e-element-color-picker__swatch:not(:first-child) { border-left: 1px solid var(--primary-color); } .e-element-color-picker__swatch::before { content: attr(data-text); position: absolute; left: 50%; top: 50%; opacity: 0; color: var(--color); font-size: 10px; font-weight: 300; font-family: Roboto, Arial, Helvetica, Verdana, sans-serif; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); -webkit-filter: hue-rotate(180deg) grayscale(1) contrast(999) invert(1); filter: hue-rotate(180deg) grayscale(1) contrast(999) invert(1); -webkit-transition: inherit; -o-transition: inherit; transition: inherit; } .e-element-color-picker__swatch:hover { -ms-flex-preferred-size: calc(2 * var(--swatch-size)); flex-basis: calc(2 * var(--swatch-size)); -ms-flex-negative: 0; flex-shrink: 0; } .e-element-color-picker__swatch:hover::before { opacity: 1; } .e-ui-state--elements-color-picker-color-picking__on *:not(.e-element-color-picker__swatch) { cursor: url("../images/eyedropper.svg") 0 20, pointer; } .e-ui-state--elements-color-picker-color-picking__on .e-element-color-picker:not(.e-picker-hidden):hover, .e-ui-state--elements-color-picker-color-picking__on .elementor-element:hover > .e-element-color-picker:not(.e-picker-hidden), .e-ui-state--elements-color-picker-color-picking__on .elementor-widget-container:hover + .e-element-color-picker:not(.e-picker-hidden) { opacity: 1; pointer-events: all; } .e-ui-state--elements-color-picker-color-picking__on .elementor-section:hover { outline: 1px solid #71d7f7; } [class^=eicon-flex], [class*=" eicon-flex"] { -webkit-transition: 0.3s all; -o-transition: 0.3s all; transition: 0.3s all; --is-ltr: 1; --is-rtl: 0; --rotation-direction: calc( var( --is-ltr ) - var( --is-rtl ) ); --is-ltr: 0; --is-rtl: 1; } [class^=eicon-flex].eicon-inline, [class*=" eicon-flex"].eicon-inline { max-height: 1em; max-width: 1em; } :is(.e-ui-state--document-direction-mode__column, .e-ui-state--document-direction-mode__column-reverse) [class^=eicon-flex]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow), :is(.e-ui-state--document-direction-mode__column, .e-ui-state--document-direction-mode__column-reverse) [class*=" eicon-flex"]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow) { -webkit-transform: rotate(calc(var(--rotation-direction) * 90deg)); -ms-transform: rotate(calc(var(--rotation-direction) * 90deg)); transform: rotate(calc(var(--rotation-direction) * 90deg)); } :is(.e-ui-state--document-direction-mode__column, .e-ui-state--document-direction-mode__column-reverse) [class^=eicon-flex]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow):is(.eicon-align-start-v, .eicon-align-end-v), :is(.e-ui-state--document-direction-mode__column, .e-ui-state--document-direction-mode__column-reverse) [class*=" eicon-flex"]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow):is(.eicon-align-start-v, .eicon-align-end-v) { -webkit-transform: rotate(calc(var(--rotation-direction) * -90deg)); -ms-transform: rotate(calc(var(--rotation-direction) * -90deg)); transform: rotate(calc(var(--rotation-direction) * -90deg)); } .e-ui-state--document-direction-mode__column-reverse [class^=eicon-flex]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow):is(.eicon-justify-start-h, .eicon-justify-end-h, .eicon-order-start, .eicon-order-end), .e-ui-state--document-direction-mode__column-reverse [class*=" eicon-flex"]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow):is(.eicon-justify-start-h, .eicon-justify-end-h, .eicon-order-start, .eicon-order-end) { -webkit-transform: rotate(calc(var(--rotation-direction) * -90deg)); -ms-transform: rotate(calc(var(--rotation-direction) * -90deg)); transform: rotate(calc(var(--rotation-direction) * -90deg)); } .e-ui-state--document-direction-mode__row [class^=eicon-flex]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow):is(.eicon-justify-start-h, .eicon-justify-end-h, .eicon-order-start, .eicon-order-end), .e-ui-state--document-direction-mode__row [class*=" eicon-flex"]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow):is(.eicon-justify-start-h, .eicon-justify-end-h, .eicon-order-start, .eicon-order-end) { -webkit-transform: rotate(calc(var(--is-rtl) * 180deg)); -ms-transform: rotate(calc(var(--is-rtl) * 180deg)); transform: rotate(calc(var(--is-rtl) * 180deg)); } .e-ui-state--document-direction-mode__row-reverse [class^=eicon-flex]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow):is(.eicon-justify-start-h, .eicon-justify-end-h, .eicon-order-start, .eicon-order-end), .e-ui-state--document-direction-mode__row-reverse [class*=" eicon-flex"]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow):is(.eicon-justify-start-h, .eicon-justify-end-h, .eicon-order-start, .eicon-order-end) { -webkit-transform: rotate(calc(var(--is-ltr) * 180deg)); -ms-transform: rotate(calc(var(--is-ltr) * 180deg)); transform: rotate(calc(var(--is-ltr) * 180deg)); } html.elementor-html { margin-top: 0 !important; } .elementor-edit-area { position: relative; } .elementor.loading { opacity: 0.5; } .elementor-edit-area-active { --primary-color: #71d7f7; --secondary-color: #10bcf2; --outline-color: var( --primary-color ); } .elementor-edit-area-active .e-container { --primary-color: #0098c7; --secondary-color: #007194; --outline-color: var( --primary-color ); } .elementor-edit-area-active .e-container.e-dragging-over, .elementor-edit-area-active .e-container.elementor-dragging-on-child { outline: 1px solid var(--outline-color); } .elementor-edit-area-active .elementor-inner-section:first-child { margin-top: 15px; } .elementor-edit-area-active .elementor-widget-wrap.elementor-element-empty { min-height: 30px; } @media (min-width: 768px) { .elementor-edit-area-active .elementor-widget-wrap.elementor-element-empty { margin: 10px; } } .elementor-edit-area-active .elementor-column { min-width: 25px; } .elementor-edit-area-active .elementor-widget.elementor-loading { opacity: 0.3; } .elementor-edit-area-active .elementor-widget.elementor-element-editable, .elementor-edit-area-active .elementor-widget.elementor-element-edit-mode:hover { -webkit-box-shadow: 0 0 0 1px #71d7f7; box-shadow: 0 0 0 1px #71d7f7; } .elementor-edit-area-active .elementor-widget:not(:hover) .elementor-editor-element-settings { display: none; } .elementor-edit-area-active .elementor-widget.ui-draggable-dragging { pointer-events: none; } .elementor-edit-area-active .elementor-editor-element-setting { cursor: pointer; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; padding: 0; margin: 0; font-size: 11px; color: #fff; width: 25px; -webkit-transition: margin 0.3s, width 0.3s, font 0.3s; -o-transition: margin 0.3s, width 0.3s, font 0.3s; transition: margin 0.3s, width 0.3s, font 0.3s; } .elementor-edit-area-active .elementor-inline-editing { min-height: 15px; } .elementor-edit-area-active .elementor-edit-hidden { display: none; } .elementor-section-wrap:empty { min-height: 25px; } .elementor-section-wrap > :first-child > .elementor-element-overlay { z-index: 9999; } .elementor-element > .elementor-element-overlay { position: absolute; top: 0; left: 0; letter-spacing: 0; z-index: 9998; pointer-events: none; } .elementor-element-empty .elementor-sortable-placeholder { display: none; } .elementor-element.elementor-widget-empty { background-color: rgba(213, 218, 223, 0.8); } .elementor-element.elementor-widget-empty .elementor-widget-empty-icon { color: #c2cbd2; font-size: 22px; display: block; text-align: center; padding: 10px 0; } .elementor-element:not(:hover):not(.elementor-element-editable) > .elementor-element-overlay .elementor-editor-element-settings { display: none; } .elementor-element--toggle-edit-tools > .elementor-element-overlay .elementor-editor-element-edit:not(.elementor-active) ~ * { width: 0; font-size: 0; } .elementor-element[data-side=top]:before, .elementor-element[data-side=bottom] + .elementor-element:before { content: ""; background-color: #71d7f7; -webkit-transition-timing-function: ease-out; -o-transition-timing-function: ease-out; transition-timing-function: ease-out; opacity: 0.9; height: 10px; -webkit-animation: placeholder-widget 500ms; animation: placeholder-widget 500ms; display: block; } .elementor-element[data-side=bottom]:last-child:after { content: ""; background-color: #71d7f7; -webkit-transition-timing-function: ease-out; -o-transition-timing-function: ease-out; transition-timing-function: ease-out; opacity: 0.9; height: 10px; -webkit-animation: placeholder-widget 500ms; animation: placeholder-widget 500ms; display: block; } .elementor-element.elementor-absolute, .elementor-element.elementor-fixed { cursor: -webkit-grab; cursor: grab; } .elementor-element.elementor-absolute:active, .elementor-element.elementor-fixed:active { cursor: -webkit-grabbing; cursor: grabbing; } .elementor-element.elementor-absolute .eicon-edit:before, .elementor-element.elementor-fixed .eicon-edit:before { content: "\e902"; } .elementor-section > .elementor-element-overlay, .e-container > .elementor-element-overlay { right: 0; bottom: 0; } .elementor-section > .elementor-element-overlay:after, .e-container > .elementor-element-overlay:after { position: absolute; left: 2px; right: 2px; top: 2px; bottom: 2px; outline: 2px solid var(--outline-color); -webkit-animation: section-outline 0.75s; animation: section-outline 0.75s; } .elementor-section:hover > .elementor-element-overlay:after, .elementor-section.elementor-element-editable > .elementor-element-overlay:after, .e-container:hover > .elementor-element-overlay:after, .e-container.elementor-element-editable > .elementor-element-overlay:after { content: ""; } .elementor-section-filled .elementor-sortable-placeholder.elementor-column, .e-container-filled .elementor-sortable-placeholder.elementor-column { display: none; } .elementor-section-filled .elementor-row.elementor-draggable-over, .e-container-filled .elementor-row.elementor-draggable-over { border: 1px solid #d72b3f; } .elementor-column > .elementor-element-overlay { right: 0; bottom: 0; } .elementor-column > .elementor-element-overlay:after { position: absolute; left: 0; right: 0; top: 0; bottom: 0; outline: 1px dashed #6d7882; } .elementor-column:hover > .elementor-element-overlay, .elementor-column.elementor-element-editable > .elementor-element-overlay { border: 1px solid #ffffff; } .elementor-column:hover > .elementor-element-overlay:after, .elementor-column.elementor-element-editable > .elementor-element-overlay:after { content: ""; } .elementor-column.elementor-dragging-on-child > .elementor-element-overlay { border: 1px solid #71d7f7; } .elementor-column.elementor-dragging-on-child > .elementor-element-overlay:after { display: none; } .elementor-column > .ui-resizable-e, .elementor-column > .ui-resizable-w { cursor: col-resize; width: 7px; position: absolute; left: -5px; top: 0; height: 100%; } .elementor-column:last-of-type > .ui-resizable-e, .elementor-column:last-of-type > .ui-resizable-w { display: none !important; } @media (max-width: 1024px) { .elementor-column > .ui-resizable-e, .elementor-column > .ui-resizable-w { display: none !important; } } .elementor-editor-element-settings { position: absolute; display: -webkit-box; display: -ms-flexbox; display: flex; height: 26px; list-style: none; margin: 0; padding: 0; font-family: Arial, Helvetica, sans-serif; font-size: 13px; font-weight: normal; font-style: normal; line-height: 1; z-index: 1; pointer-events: all; } @media (min-width: 1025px) { .elementor-editor-element-edit { cursor: move; } } .elementor-editor-section-settings, .elementor-editor-container-settings { height: 24px; top: 1px; right: 50%; -webkit-transform: translateX(50%) translateY(-100%); -ms-transform: translateX(50%) translateY(-100%); transform: translateX(50%) translateY(-100%); background-color: var(--primary-color); border-radius: 5px 5px 0 0; -webkit-box-shadow: 0px -2px 8px rgba(0, 0, 0, 0.05); box-shadow: 0px -2px 8px rgba(0, 0, 0, 0.05); } .elementor-editor-section-settings i.eicon-handle, .elementor-editor-container-settings i.eicon-handle { font-size: 16px; } .elementor-editor-section-settings .elementor-editor-element-setting:hover, .elementor-editor-container-settings .elementor-editor-element-setting:hover { background-color: var(--secondary-color); } .elementor-editor-section-settings .elementor-editor-element-setting:first-child, .elementor-editor-container-settings .elementor-editor-element-setting:first-child { border-radius: 0 5px 0 0; } .elementor-editor-section-settings .elementor-editor-element-setting:first-child:before, .elementor-editor-container-settings .elementor-editor-element-setting:first-child:before { content: ""; position: absolute; border: solid transparent; top: 2px; border-left-color: var(--primary-color); border-width: 22px 0 0 12px; left: calc(100% - 1px); } .elementor-editor-section-settings .elementor-editor-element-setting:first-child:hover:before, .elementor-editor-container-settings .elementor-editor-element-setting:first-child:hover:before { border-left-color: var(--secondary-color); } .elementor-editor-section-settings .elementor-editor-element-setting:last-child, .elementor-editor-container-settings .elementor-editor-element-setting:last-child { border-radius: 5px 0 0 0; } .elementor-editor-section-settings .elementor-editor-element-setting:last-child:after, .elementor-editor-container-settings .elementor-editor-element-setting:last-child:after { content: ""; position: absolute; border: solid transparent; top: 2px; border-right-color: var(--primary-color); border-width: 22px 12px 0 0; right: calc(100% - 1px); } .elementor-editor-section-settings .elementor-editor-element-setting:last-child:hover:after, .elementor-editor-container-settings .elementor-editor-element-setting:last-child:hover:after { border-right-color: var(--secondary-color); } .e-handles-inside > .elementor-element-overlay > .elementor-editor-element-settings, .elementor-section--handles-inside > .elementor-element-overlay > .elementor-editor-element-settings { -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); border-radius: 0 0 5px 5px; } .e-handles-inside > .elementor-element-overlay > .elementor-editor-element-settings .elementor-editor-element-setting:first-child, .elementor-section--handles-inside > .elementor-element-overlay > .elementor-editor-element-settings .elementor-editor-element-setting:first-child { border-radius: 0 0 5px 0; } .e-handles-inside > .elementor-element-overlay > .elementor-editor-element-settings .elementor-editor-element-setting:first-child:before, .elementor-section--handles-inside > .elementor-element-overlay > .elementor-editor-element-settings .elementor-editor-element-setting:first-child:before { top: 0; border-width: 0 0 22px 12px; } .e-handles-inside > .elementor-element-overlay > .elementor-editor-element-settings .elementor-editor-element-setting:last-child, .elementor-section--handles-inside > .elementor-element-overlay > .elementor-editor-element-settings .elementor-editor-element-setting:last-child { border-radius: 0 0 0 5px; } .e-handles-inside > .elementor-element-overlay > .elementor-editor-element-settings .elementor-editor-element-setting:last-child:after, .elementor-section--handles-inside > .elementor-element-overlay > .elementor-editor-element-settings .elementor-editor-element-setting:last-child:after { top: 0; border-width: 0 12px 22px 0; } .elementor-editor-column-settings { top: -1px; right: -1px; border-radius: 0 0 0 3px; overflow: hidden; } .elementor-editor-column-settings .elementor-editor-element-setting { background-color: #495157; } .elementor-editor-column-settings .elementor-editor-element-setting:not(:hover) { background-image: -webkit-gradient(linear, left top, left bottom, from(#6d7882), to(#556068)); background-image: -o-linear-gradient(top, #6d7882, #556068); background-image: linear-gradient(to bottom, #6d7882, #556068); } .elementor-editor-widget-settings { z-index: 2; top: -1px; left: -1px; -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; border-radius: 0 0 3px 0; overflow: hidden; } .elementor-editor-widget-settings .elementor-editor-element-setting { background-color: #10bcf2; } .elementor-editor-widget-settings .elementor-editor-element-setting:not(:hover) { background-image: -webkit-gradient(linear, left bottom, left top, from(#41c9f4), to(#71d7f7)); background-image: -o-linear-gradient(bottom, #41c9f4, #71d7f7); background-image: linear-gradient(to top, #41c9f4, #71d7f7); } .elementor-empty-view { position: absolute; top: 0; bottom: 0; left: 0; right: 0; z-index: 1; } .elementor-first-add { text-align: center; border: 1px dashed #d5dadf; display: -webkit-box; display: -ms-flexbox; display: flex; height: 100%; width: 100%; position: absolute; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-first-add .elementor-icon { font-size: 19px; color: #a4afb7; cursor: pointer; } .elementor-sortable-helper { position: absolute; border-radius: 3px; background-color: #fff; text-align: center; color: #556068; -webkit-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2); box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2); cursor: move; } .elementor-sortable-helper .icon { font-size: 28px; padding-top: 15px; line-height: 1; } .elementor-sortable-helper .elementor-element-title-wrapper { display: table; width: 100%; } .elementor-sortable-helper .title { font-size: 11px; font-family: Arial, Helvetica, sans-serif; font-weight: normal; font-style: normal; display: table-cell; vertical-align: middle; height: 40px; } .elementor-editor-content-only .elementor-first-add { display: none; } .elementor-editor-content-only .elementor-section > .elementor-element-overlay { display: none; } .elementor-editor-content-only .elementor-section > .elementor-element-overlay:after { display: none; } .elementor-editor-content-only .elementor-section:hover > .elementor-element-overlay:after, .elementor-editor-content-only .elementor-section.elementor-element-editable > .elementor-element-overlay:after { display: none; } .elementor-editor-content-only .elementor-column > .elementor-element-overlay { display: none; } .elementor-editor-content-only .elementor-column > .elementor-element-overlay:after { display: none; } .elementor-editor-content-only .elementor-column:hover > .elementor-element-overlay:after, .elementor-editor-content-only .elementor-column.elementor-element-editable > .elementor-element-overlay:after { display: none; } @media (min-width: 1025px) { .elementor-editor-content-only .elementor-editor-element-edit { cursor: pointer; } } .elementor-sortable-placeholder:not(.elementor-column-placeholder) { background-color: #71d7f7; -webkit-animation-duration: 250ms; animation-duration: 250ms; opacity: 0.9; width: 100%; -ms-flex-item-align: stretch; align-self: stretch; } .e-container .elementor-first-add .elementor-sortable-placeholder:not(.elementor-column-placeholder) { -ms-flex-item-align: center; align-self: center; } .e-swappable--active > .elementor-sortable-placeholder:not(.elementor-column-placeholder) { display: none; } .elementor-section-placeholder { height: 40px; -webkit-animation-name: placeholder-section; animation-name: placeholder-section; } .elementor-column-placeholder { position: relative; } .elementor-column-placeholder:before, .elementor-column-placeholder:after { content: ""; position: absolute; top: 10px; bottom: 10px; right: 10px; left: 10px; } .elementor-column-placeholder:before { border: 1px solid #6d7882; } .elementor-column-placeholder:after { border: 1px dashed #fff; } .elementor-widget-placeholder { height: 10px; -webkit-animation-name: placeholder-widget; animation-name: placeholder-widget; } .elementor-draggable-over:not([data-dragged-element=section]):not([data-dragged-is-inner=true]) > .elementor-empty-view > .elementor-first-add:after, .elementor-first-add.elementor-html5dnd-current-element:after { content: ""; background-color: #71d7f7; -webkit-transition-timing-function: ease-out; -o-transition-timing-function: ease-out; transition-timing-function: ease-out; opacity: 0.9; height: 10px; -webkit-animation: placeholder-widget 500ms; animation: placeholder-widget 500ms; width: 100%; } .e-container .elementor-draggable-over:not([data-dragged-element=section]):not([data-dragged-is-inner=true]) > .elementor-empty-view > .elementor-first-add:after, .e-container .elementor-first-add.elementor-html5dnd-current-element:after { display: none; } .elementor-draggable-over:not([data-dragged-element=section]):not([data-dragged-is-inner=true]) > .elementor-empty-view > .elementor-first-add .elementor-icon, .elementor-first-add.elementor-html5dnd-current-element .elementor-icon { display: none; } .elementor-draggable-over[data-dragged-element=section][data-dragged-is-inner=true] .elementor-inner-column .elementor-sortable-placeholder { display: none; } .elementor-add-section { all: initial; display: -webkit-box; display: -ms-flexbox; display: flex; max-width: 1160px; position: relative; margin-inline: auto; } .elementor-add-section:not(.elementor-dragging-on-child) .elementor-add-section-inner { border: 2px dashed #d5dadf; background-color: rgba(255, 255, 255, 0.5); } .elementor-add-section.elementor-dragging-on-child .elementor-add-section-inner { border: 3px dashed #71d7f7; } .elementor-add-section[data-view=choose-action] .e-view:not(.elementor-add-new-section) { display: none; } .elementor-add-section[data-view=select-preset] .e-view:not(.elementor-select-preset) { display: none; } .elementor-add-section[data-view=select-container-preset] .e-view:not(.e-container-select-preset) { display: none; } .elementor-add-section-inner { text-align: center; margin: 20px; padding: 40px 0; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; } .elementor-add-new-section { display: inline-block; } .elementor-add-new-section .elementor-add-section-area-button { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; height: 40px; width: 40px; color: #fff; font-size: 16px; border-radius: 50%; -webkit-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; cursor: pointer; } .elementor-add-new-section .elementor-add-section-area-button:hover { opacity: 0.85; -webkit-box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2); box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2); } .elementor-add-new-section .elementor-add-section-area-button:active { -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.1); box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.1); } .elementor-add-new-section .elementor-add-section-button { background-color: #93003c; -webkit-margin-start: 5px; margin-inline-start: 5px; } .elementor-add-new-section .elementor-add-template-button { background-color: #6d7882; margin-right: 5px; } .elementor-add-section-drag-title { font-family: Arial, Helvetica, sans-serif; font-size: 13px; font-weight: normal; font-style: italic; line-height: 1; color: #556068; margin-top: 15px; } .elementor-add-section-close { position: absolute; right: 40px; top: 40px; font-size: 20px; cursor: pointer; line-height: 1; color: #d5dadf; } .elementor-add-section-close:hover { color: #6d7882; } .elementor-select-preset-title { font-family: Arial, Helvetica, sans-serif; font-size: 13px; font-weight: 500; font-style: normal; text-transform: uppercase; color: #556068; } .elementor-select-preset-list { list-style: none; padding: 0 25px; margin: 20px auto 0; overflow: hidden; max-width: 700px; } .elementor-select-preset-list .elementor-preset { cursor: pointer; margin: 0; padding: 10px; float: right; max-width: 33.333%; } .elementor-select-preset-list .elementor-preset:hover path, .elementor-select-preset-list .elementor-preset:hover rect { fill: #6d7882; } .elementor-select-preset-list .elementor-preset:not(:hover) path, .elementor-select-preset-list .elementor-preset:not(:hover) rect { fill: #d5dadf; } .elementor-select-preset-list .elementor-preset .e-preset--container { position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; } .elementor-select-preset-list .elementor-preset .e-preset--container::before { content: var(--text); font-family: Roboto, Arial, Helvetica, Verdana, sans-serif; font-size: 13px; font-weight: 500; position: absolute; left: 50%; top: 50%; color: #ffffff; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); } .elementor-select-preset-list .elementor-preset svg { height: 50px; width: 100%; -webkit-transform: rotate(180deg); -ms-transform: rotate(180deg); transform: rotate(180deg); } #elementor-add-new-section { margin: 60px auto; } #elementor-add-new-section[data-view=choose-action] .elementor-add-section-close { display: none; } .elementor-add-section-inline { margin: 10px auto; width: 100%; } .elementor-column-percents-tooltip { position: absolute; display: none; pointer-events: none; top: 50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); color: #fff; font-size: 10px; background-color: #556068; width: 40px; padding: 3.5px 0; text-align: center; z-index: 1; line-height: 1; } .elementor-column-percents-tooltip:after { content: ""; position: absolute; width: 0; height: 0; border: 8.5px solid transparent; top: 0; } .elementor-column-percents-tooltip[data-side=left] { border-radius: 3px 0 0 3px; right: 15px; } .elementor-column-percents-tooltip[data-side=left]:after { left: 100%; border-left-color: #556068; border-right-width: 0; } .elementor-column-percents-tooltip[data-side=right] { border-radius: 0 3px 3px 0; left: 15px; } .elementor-column-percents-tooltip[data-side=right]:after { right: 100%; border-right-color: #556068; border-left-width: 0; } .elementor-editor-preview .elementor-element-overlay, .elementor-editor-preview .elementor-empty, .elementor-editor-preview .elementor-add-section, .elementor-editor-preview .elementor-add-section-inline, .elementor-editor-preview .elementor-empty-view, .elementor-editor-preview .elementor-widget-empty { display: none; } .e-preview--show-hidden-elements[data-elementor-device-mode=widescreen] .elementor-edit-area-active .elementor-hidden-widescreen, .e-preview--show-hidden-elements[data-elementor-device-mode=desktop] .elementor-edit-area-active .elementor-hidden-desktop, .e-preview--show-hidden-elements[data-elementor-device-mode=laptop] .elementor-edit-area-active .elementor-hidden-laptop, .e-preview--show-hidden-elements[data-elementor-device-mode=tablet_extra] .elementor-edit-area-active .elementor-hidden-tablet_extra, .e-preview--show-hidden-elements[data-elementor-device-mode=tablet] .elementor-edit-area-active .elementor-hidden-tablet, .e-preview--show-hidden-elements[data-elementor-device-mode=mobile_extra] .elementor-edit-area-active .elementor-hidden-mobile_extra, .e-preview--show-hidden-elements[data-elementor-device-mode=mobile] .elementor-edit-area-active .elementor-hidden-mobile { display: inherit; background: -o-repeating-linear-gradient(325deg, rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 1px, transparent 2px, transparent 9px); background: repeating-linear-gradient(125deg, rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 1px, transparent 2px, transparent 9px); border: 1px solid rgba(0, 0, 0, 0.02); } .e-preview--show-hidden-elements[data-elementor-device-mode=widescreen] .elementor-edit-area-active .elementor-hidden-widescreen.elementor-section > .elementor-element-overlay, .e-preview--show-hidden-elements[data-elementor-device-mode=desktop] .elementor-edit-area-active .elementor-hidden-desktop.elementor-section > .elementor-element-overlay, .e-preview--show-hidden-elements[data-elementor-device-mode=laptop] .elementor-edit-area-active .elementor-hidden-laptop.elementor-section > .elementor-element-overlay, .e-preview--show-hidden-elements[data-elementor-device-mode=tablet_extra] .elementor-edit-area-active .elementor-hidden-tablet_extra.elementor-section > .elementor-element-overlay, .e-preview--show-hidden-elements[data-elementor-device-mode=tablet] .elementor-edit-area-active .elementor-hidden-tablet.elementor-section > .elementor-element-overlay, .e-preview--show-hidden-elements[data-elementor-device-mode=mobile_extra] .elementor-edit-area-active .elementor-hidden-mobile_extra.elementor-section > .elementor-element-overlay, .e-preview--show-hidden-elements[data-elementor-device-mode=mobile] .elementor-edit-area-active .elementor-hidden-mobile.elementor-section > .elementor-element-overlay { background-color: #d5dadf; mix-blend-mode: color; } .e-preview--show-hidden-elements[data-elementor-device-mode=widescreen] .elementor-edit-area-active .elementor-hidden-widescreen.elementor-section:before, .e-preview--show-hidden-elements[data-elementor-device-mode=desktop] .elementor-edit-area-active .elementor-hidden-desktop.elementor-section:before, .e-preview--show-hidden-elements[data-elementor-device-mode=laptop] .elementor-edit-area-active .elementor-hidden-laptop.elementor-section:before, .e-preview--show-hidden-elements[data-elementor-device-mode=tablet_extra] .elementor-edit-area-active .elementor-hidden-tablet_extra.elementor-section:before, .e-preview--show-hidden-elements[data-elementor-device-mode=tablet] .elementor-edit-area-active .elementor-hidden-tablet.elementor-section:before, .e-preview--show-hidden-elements[data-elementor-device-mode=mobile_extra] .elementor-edit-area-active .elementor-hidden-mobile_extra.elementor-section:before, .e-preview--show-hidden-elements[data-elementor-device-mode=mobile] .elementor-edit-area-active .elementor-hidden-mobile.elementor-section:before { content: ""; display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(255, 255, 255, 0.6); z-index: 9997; } .e-preview--show-hidden-elements[data-elementor-device-mode=widescreen] .elementor-edit-area-active .elementor-hidden-widescreen.elementor-inner-section .elementor-container, .e-preview--show-hidden-elements[data-elementor-device-mode=desktop] .elementor-edit-area-active .elementor-hidden-desktop.elementor-inner-section .elementor-container, .e-preview--show-hidden-elements[data-elementor-device-mode=laptop] .elementor-edit-area-active .elementor-hidden-laptop.elementor-inner-section .elementor-container, .e-preview--show-hidden-elements[data-elementor-device-mode=tablet_extra] .elementor-edit-area-active .elementor-hidden-tablet_extra.elementor-inner-section .elementor-container, .e-preview--show-hidden-elements[data-elementor-device-mode=tablet] .elementor-edit-area-active .elementor-hidden-tablet.elementor-inner-section .elementor-container, .e-preview--show-hidden-elements[data-elementor-device-mode=mobile_extra] .elementor-edit-area-active .elementor-hidden-mobile_extra.elementor-inner-section .elementor-container, .e-preview--show-hidden-elements[data-elementor-device-mode=mobile] .elementor-edit-area-active .elementor-hidden-mobile.elementor-inner-section .elementor-container { width: 100%; } .e-preview--show-hidden-elements[data-elementor-device-mode=widescreen] .elementor-edit-area-active .elementor-hidden-widescreen > .elementor-widget-container, .e-preview--show-hidden-elements[data-elementor-device-mode=widescreen] .elementor-edit-area-active .elementor-hidden-widescreen > .elementor-widget-wrap, .e-preview--show-hidden-elements[data-elementor-device-mode=desktop] .elementor-edit-area-active .elementor-hidden-desktop > .elementor-widget-container, .e-preview--show-hidden-elements[data-elementor-device-mode=desktop] .elementor-edit-area-active .elementor-hidden-desktop > .elementor-widget-wrap, .e-preview--show-hidden-elements[data-elementor-device-mode=laptop] .elementor-edit-area-active .elementor-hidden-laptop > .elementor-widget-container, .e-preview--show-hidden-elements[data-elementor-device-mode=laptop] .elementor-edit-area-active .elementor-hidden-laptop > .elementor-widget-wrap, .e-preview--show-hidden-elements[data-elementor-device-mode=tablet_extra] .elementor-edit-area-active .elementor-hidden-tablet_extra > .elementor-widget-container, .e-preview--show-hidden-elements[data-elementor-device-mode=tablet_extra] .elementor-edit-area-active .elementor-hidden-tablet_extra > .elementor-widget-wrap, .e-preview--show-hidden-elements[data-elementor-device-mode=tablet] .elementor-edit-area-active .elementor-hidden-tablet > .elementor-widget-container, .e-preview--show-hidden-elements[data-elementor-device-mode=tablet] .elementor-edit-area-active .elementor-hidden-tablet > .elementor-widget-wrap, .e-preview--show-hidden-elements[data-elementor-device-mode=mobile_extra] .elementor-edit-area-active .elementor-hidden-mobile_extra > .elementor-widget-container, .e-preview--show-hidden-elements[data-elementor-device-mode=mobile_extra] .elementor-edit-area-active .elementor-hidden-mobile_extra > .elementor-widget-wrap, .e-preview--show-hidden-elements[data-elementor-device-mode=mobile] .elementor-edit-area-active .elementor-hidden-mobile > .elementor-widget-container, .e-preview--show-hidden-elements[data-elementor-device-mode=mobile] .elementor-edit-area-active .elementor-hidden-mobile > .elementor-widget-wrap { -webkit-filter: opacity(0.4) saturate(0); filter: opacity(0.4) saturate(0); } .e-preview--show-hidden-elements[data-elementor-device-mode=widescreen] .elementor-edit-area-active .elementor-hidden-widescreen.elementor-edit-hidden, .e-preview--show-hidden-elements[data-elementor-device-mode=desktop] .elementor-edit-area-active .elementor-hidden-desktop.elementor-edit-hidden, .e-preview--show-hidden-elements[data-elementor-device-mode=laptop] .elementor-edit-area-active .elementor-hidden-laptop.elementor-edit-hidden, .e-preview--show-hidden-elements[data-elementor-device-mode=tablet_extra] .elementor-edit-area-active .elementor-hidden-tablet_extra.elementor-edit-hidden, .e-preview--show-hidden-elements[data-elementor-device-mode=tablet] .elementor-edit-area-active .elementor-hidden-tablet.elementor-edit-hidden, .e-preview--show-hidden-elements[data-elementor-device-mode=mobile_extra] .elementor-edit-area-active .elementor-hidden-mobile_extra.elementor-edit-hidden, .e-preview--show-hidden-elements[data-elementor-device-mode=mobile] .elementor-edit-area-active .elementor-hidden-mobile.elementor-edit-hidden { display: none; } .e-container-select-preset { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; gap: 25px; } .e-container-select-preset[data-view=choose-preset] > *:not(.e-container-select-preset__inner) { display: none; } .e-container-select-preset[data-view=drop-area] > *:not(.elementor-first-add) { display: none; } .e-container-select-preset__title { font-family: Roboto, Arial, Helvetica, Verdana, sans-serif; font-size: 13px; font-weight: 500; text-transform: uppercase; color: #556068; } .e-container-select-preset__list { display: -webkit-box; display: -ms-flexbox; display: flex; gap: 20px; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -ms-flex-wrap: wrap; flex-wrap: wrap; max-width: 650px; } .e-container-select-preset__list .e-container-preset { cursor: pointer; -ms-flex-preferred-size: 90px; flex-basis: 90px; } .e-container-select-preset__list .e-container-preset svg { width: 100%; height: auto; } .e-container-select-preset__list .e-container-preset path { fill: #ffffff; } .e-container-select-preset__list .e-container-preset rect { fill: #d5dadf; -webkit-transition: 0.3s all; -o-transition: 0.3s all; transition: 0.3s all; } .e-container-select-preset__list .e-container-preset:hover rect { fill: #6d7882; } /*# sourceMappingURL=editor-preview-rtl.css.map */assets/css/admin-top-bar-rtl.css000064400000013176152377341010012614 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ #e-dashboard-widget-admin-top-bar { position: absolute; opacity: 0; pointer-events: none; } #e-admin-top-bar-root { left: 0; background: #ffffff; -webkit-box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.0394871); box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.0394871); display: none; position: absolute; top: 0; width: calc(100% - 160px); z-index: 1; } #e-admin-top-bar-root .e-admin-top-bar { display: -webkit-box; display: -ms-flexbox; display: flex; height: 50px; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; padding: 0 16px; } #e-admin-top-bar-root .page-title-action { background: #f7f7f7; border: 1px solid #0275d8; border-radius: 3px; -webkit-box-sizing: border-box; box-sizing: border-box; color: #0275d8; cursor: pointer; display: inline-block; line-height: 30px; margin: 0 4px; min-height: 30px; padding: 0 10px; text-decoration: none; } #e-admin-top-bar-root .page-title-action:hover { background: #eceeef; border-color: #1b607f; color: #1b607f; } #e-admin-top-bar-root .e-admin-top-bar__heading { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-margin-end: 40px; margin-inline-end: 40px; } #e-admin-top-bar-root .e-admin-top-bar__main-area { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } #e-admin-top-bar-root .e-admin-top-bar__main-area button { margin: 0 4px; } #e-admin-top-bar-root .e-admin-top-bar__secondary-area { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } #e-admin-top-bar-root .e-admin-top-bar__heading-logo { width: 30px; } #e-admin-top-bar-root .e-admin-top-bar__heading-logo { background: #93003c; border-radius: 15px; color: #ffffff; display: inline-block; font-size: 0.875rem; height: 1.875rem; line-height: 1.875rem; text-align: center; width: 1.875rem; } #e-admin-top-bar-root .e-admin-top-bar__heading-title { color: #495157; font-size: 15px; font-weight: 700; font-family: "Roboto", Arial, Helvetica, Verdana, sans-serif; padding: 0 8px; line-height: normal; text-transform: uppercase; } #e-admin-top-bar-root.e-admin-top-bar--active { display: block; } #e-admin-top-bar-root.e-admin-top-bar--active ~ #wpbody #wpbody-content { margin-top: 50px; } #e-admin-top-bar-root.e-admin-top-bar--active ~ #wpbody .wrap { clear: both; padding-top: 10px; } #e-admin-top-bar-root.e-admin-top-bar--active ~ #wpbody .wrap h1 { display: none; } #e-admin-top-bar-root:not(.e-admin-top-bar--active) ~ #wpbody .wrap h1, #e-admin-top-bar-root:not(.e-admin-top-bar--active) ~ #wpbody .wrap .page-title-action { display: inline-block; } #e-admin-top-bar-root .e-admin-top-bar__bar-button { -webkit-box-align: center; -ms-flex-align: center; align-items: center; cursor: pointer; display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; margin: 0 10px; text-decoration: none; color: #6d7882; } #e-admin-top-bar-root .e-admin-top-bar__bar-button .e-admin-top-bar__bar-button-title { color: #6d7882; } #e-admin-top-bar-root .e-admin-top-bar__bar-button .e-admin-top-bar__bar-button-icon { margin: 0 4px; } #e-admin-top-bar-root .e-admin-top-bar__bar-button:hover .e-admin-top-bar__bar-button-title, #e-admin-top-bar-root .e-admin-top-bar__bar-button:hover .e-admin-top-bar__bar-button-icon { color: #93003c; } #e-admin-top-bar-root .e-admin-top-bar__bar-button-title { font-size: 13px; font-weight: 500; font-family: Roboto, Arial, Helvetica, Verdana, sans-serif; margin: 0 4px; line-height: normal; } #e-admin-top-bar-root ~ #wpbody .wrap h1, #e-admin-top-bar-root ~ #wpbody .wrap .page-title-action { display: none; } @media screen and (max-width: 960px) { #e-admin-top-bar-root { width: calc(100% - 36px); } } @media screen and (max-width: 782px) { #e-admin-top-bar-root { width: 100%; } } @media screen and (max-width: 600px) { #e-admin-top-bar-root { top: 46px; } } @media (max-width: 768px) { #e-admin-top-bar-root { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } #e-admin-top-bar-root .e-admin-top-bar__main-area-buttons { position: absolute; top: calc(100% + 10px); } #e-admin-top-bar-root .e-admin-top-bar__secondary-area .e-admin-top-bar__secondary-area-buttons { display: none; } #e-admin-top-bar-root .e-admin-top-bar__secondary-area > .e-admin-top-bar__bar-button .e-admin-top-bar__bar-button-title { display: none; } } @media (min-width: 768px) { #e-admin-top-bar-root .e-admin-top-bar__secondary-area .e-admin-top-bar__secondary-area-buttons { display: -webkit-box; display: -ms-flexbox; display: flex; } } /*# sourceMappingURL=admin-top-bar-rtl.css.map */assets/css/admin-top-bar.min.css000064400000010700152377341010012565 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ #e-dashboard-widget-admin-top-bar{position:absolute;opacity:0;pointer-events:none}#e-admin-top-bar-root{right:0;background:#fff;-webkit-box-shadow:0 4px 6px rgba(0,0,0,.0394871);box-shadow:0 4px 6px rgba(0,0,0,.0394871);display:none;position:absolute;top:0;width:calc(100% - 160px);z-index:1}#e-admin-top-bar-root .e-admin-top-bar{display:-webkit-box;display:-ms-flexbox;display:flex;height:50px;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:0 16px}#e-admin-top-bar-root .page-title-action{background:#f7f7f7;border:1px solid #0275d8;border-radius:3px;-webkit-box-sizing:border-box;box-sizing:border-box;color:#0275d8;cursor:pointer;display:inline-block;line-height:30px;margin:0 4px;min-height:30px;padding:0 10px;text-decoration:none}#e-admin-top-bar-root .page-title-action:hover{background:#eceeef;border-color:#1b607f;color:#1b607f}#e-admin-top-bar-root .e-admin-top-bar__heading{-webkit-margin-end:40px;margin-inline-end:40px}#e-admin-top-bar-root .e-admin-top-bar__heading,#e-admin-top-bar-root .e-admin-top-bar__main-area{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}#e-admin-top-bar-root .e-admin-top-bar__main-area button{margin:0 4px}#e-admin-top-bar-root .e-admin-top-bar__secondary-area{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}#e-admin-top-bar-root .e-admin-top-bar__heading-logo{width:30px;background:#93003c;border-radius:15px;color:#fff;display:inline-block;font-size:.875rem;height:1.875rem;line-height:1.875rem;text-align:center;width:1.875rem}#e-admin-top-bar-root .e-admin-top-bar__heading-title{color:#495157;font-size:15px;font-weight:700;font-family:Roboto,Arial,Helvetica,Verdana,sans-serif;padding:0 8px;line-height:normal;text-transform:uppercase}#e-admin-top-bar-root.e-admin-top-bar--active{display:block}#e-admin-top-bar-root.e-admin-top-bar--active~#wpbody #wpbody-content{margin-top:50px}#e-admin-top-bar-root.e-admin-top-bar--active~#wpbody .wrap{clear:both;padding-top:10px}#e-admin-top-bar-root.e-admin-top-bar--active~#wpbody .wrap h1{display:none}#e-admin-top-bar-root:not(.e-admin-top-bar--active)~#wpbody .wrap .page-title-action,#e-admin-top-bar-root:not(.e-admin-top-bar--active)~#wpbody .wrap h1{display:inline-block}#e-admin-top-bar-root .e-admin-top-bar__bar-button{-webkit-box-align:center;-ms-flex-align:center;align-items:center;cursor:pointer;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin:0 10px;text-decoration:none;color:#6d7882}#e-admin-top-bar-root .e-admin-top-bar__bar-button .e-admin-top-bar__bar-button-title{color:#6d7882}#e-admin-top-bar-root .e-admin-top-bar__bar-button .e-admin-top-bar__bar-button-icon{margin:0 4px}#e-admin-top-bar-root .e-admin-top-bar__bar-button:hover .e-admin-top-bar__bar-button-icon,#e-admin-top-bar-root .e-admin-top-bar__bar-button:hover .e-admin-top-bar__bar-button-title{color:#93003c}#e-admin-top-bar-root .e-admin-top-bar__bar-button-title{font-size:13px;font-weight:500;font-family:Roboto,Arial,Helvetica,Verdana,sans-serif;margin:0 4px;line-height:normal}#e-admin-top-bar-root~#wpbody .wrap .page-title-action,#e-admin-top-bar-root~#wpbody .wrap h1{display:none}@media screen and (max-width:960px){#e-admin-top-bar-root{width:calc(100% - 36px)}}@media screen and (max-width:782px){#e-admin-top-bar-root{width:100%}}@media screen and (max-width:600px){#e-admin-top-bar-root{top:46px}}@media (max-width:768px){#e-admin-top-bar-root{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}#e-admin-top-bar-root .e-admin-top-bar__main-area-buttons{position:absolute;top:calc(100% + 10px)}#e-admin-top-bar-root .e-admin-top-bar__secondary-area .e-admin-top-bar__secondary-area-buttons,#e-admin-top-bar-root .e-admin-top-bar__secondary-area>.e-admin-top-bar__bar-button .e-admin-top-bar__bar-button-title{display:none}}@media (min-width:768px){#e-admin-top-bar-root .e-admin-top-bar__secondary-area .e-admin-top-bar__secondary-area-buttons{display:-webkit-box;display:-ms-flexbox;display:flex}}assets/css/widget-image.min.css000064400000000375152377341010012505 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ .elementor-widget-image{text-align:center}.elementor-widget-image a{display:inline-block}.elementor-widget-image a img[src$=".svg"]{width:48px}.elementor-widget-image img{vertical-align:middle;display:inline-block}assets/css/widget-icon-list-rtl.min.css000064400000026777152377341010014141 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ .elementor-widget.elementor-icon-list--layout-inline .elementor-widget-container{overflow:hidden}.elementor-widget .elementor-icon-list-items.elementor-inline-items{margin-right:-8px;margin-left:-8px}.elementor-widget .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-right:8px;margin-left:8px}.elementor-widget .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{width:auto;left:auto;right:auto;position:relative;height:100%;border-top:0;border-bottom:0;border-right:0;border-left-width:1px;border-style:solid;left:-8px}.elementor-widget .elementor-icon-list-items{list-style-type:none;margin:0;padding:0}.elementor-widget .elementor-icon-list-item{margin:0;padding:0;position:relative}.elementor-widget .elementor-icon-list-item:after{position:absolute;bottom:0;width:100%}.elementor-widget .elementor-icon-list-item,.elementor-widget .elementor-icon-list-item a{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:inherit}.elementor-widget .elementor-icon-list-icon+.elementor-icon-list-text{-ms-flex-item-align:center;align-self:center;padding-right:5px}.elementor-widget .elementor-icon-list-icon{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget .elementor-icon-list-icon svg{width:var(--e-icon-list-icon-size,1em);height:var(--e-icon-list-icon-size,1em)}.elementor-widget .elementor-icon-list-icon i{width:1.25em;font-size:var(--e-icon-list-icon-size)}.elementor-widget.elementor-widget-icon-list .elementor-icon-list-icon{text-align:var(--e-icon-list-icon-align)}.elementor-widget.elementor-widget-icon-list .elementor-icon-list-icon svg{margin:var(--e-icon-list-icon-margin,0 calc(var(--e-icon-list-icon-size, 1em) * .25) 0 0)}.elementor-widget.elementor-list-item-link-full_width a{width:100%}.elementor-widget.elementor-align-center .elementor-icon-list-item,.elementor-widget.elementor-align-center .elementor-icon-list-item a{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-align-center .elementor-icon-list-item:after{margin:auto}.elementor-widget.elementor-align-center .elementor-inline-items{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-align-left .elementor-icon-list-item,.elementor-widget.elementor-align-left .elementor-icon-list-item a{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:left}.elementor-widget.elementor-align-left .elementor-inline-items{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-widget.elementor-align-right .elementor-icon-list-item,.elementor-widget.elementor-align-right .elementor-icon-list-item a{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:right}.elementor-widget.elementor-align-right .elementor-icon-list-items{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-widget:not(.elementor-align-right) .elementor-icon-list-item:after{right:0}.elementor-widget:not(.elementor-align-left) .elementor-icon-list-item:after{left:0}@media (min-width:-1px){.elementor-widget.elementor-widescreen-align-center .elementor-icon-list-item,.elementor-widget.elementor-widescreen-align-center .elementor-icon-list-item a{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-widescreen-align-center .elementor-icon-list-item:after{margin:auto}.elementor-widget.elementor-widescreen-align-center .elementor-inline-items{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-widescreen-align-left .elementor-icon-list-item,.elementor-widget.elementor-widescreen-align-left .elementor-icon-list-item a{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:left}.elementor-widget.elementor-widescreen-align-left .elementor-inline-items{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-widget.elementor-widescreen-align-right .elementor-icon-list-item,.elementor-widget.elementor-widescreen-align-right .elementor-icon-list-item a{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:right}.elementor-widget.elementor-widescreen-align-right .elementor-icon-list-items{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-widget:not(.elementor-widescreen-align-right) .elementor-icon-list-item:after{right:0}.elementor-widget:not(.elementor-widescreen-align-left) .elementor-icon-list-item:after{left:0}}@media (max-width:-1px){.elementor-widget.elementor-laptop-align-center .elementor-icon-list-item,.elementor-widget.elementor-laptop-align-center .elementor-icon-list-item a{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-laptop-align-center .elementor-icon-list-item:after{margin:auto}.elementor-widget.elementor-laptop-align-center .elementor-inline-items{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-laptop-align-left .elementor-icon-list-item,.elementor-widget.elementor-laptop-align-left .elementor-icon-list-item a{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:left}.elementor-widget.elementor-laptop-align-left .elementor-inline-items{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-widget.elementor-laptop-align-right .elementor-icon-list-item,.elementor-widget.elementor-laptop-align-right .elementor-icon-list-item a{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:right}.elementor-widget.elementor-laptop-align-right .elementor-icon-list-items{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-widget:not(.elementor-laptop-align-right) .elementor-icon-list-item:after{right:0}.elementor-widget:not(.elementor-laptop-align-left) .elementor-icon-list-item:after{left:0}}@media (max-width:-1px){.elementor-widget.elementor-tablet_extra-align-center .elementor-icon-list-item,.elementor-widget.elementor-tablet_extra-align-center .elementor-icon-list-item a{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-tablet_extra-align-center .elementor-icon-list-item:after{margin:auto}.elementor-widget.elementor-tablet_extra-align-center .elementor-inline-items{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-tablet_extra-align-left .elementor-icon-list-item,.elementor-widget.elementor-tablet_extra-align-left .elementor-icon-list-item a{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:left}.elementor-widget.elementor-tablet_extra-align-left .elementor-inline-items{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-widget.elementor-tablet_extra-align-right .elementor-icon-list-item,.elementor-widget.elementor-tablet_extra-align-right .elementor-icon-list-item a{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:right}.elementor-widget.elementor-tablet_extra-align-right .elementor-icon-list-items{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-widget:not(.elementor-tablet_extra-align-right) .elementor-icon-list-item:after{right:0}.elementor-widget:not(.elementor-tablet_extra-align-left) .elementor-icon-list-item:after{left:0}}@media (max-width:1024px){.elementor-widget.elementor-tablet-align-center .elementor-icon-list-item,.elementor-widget.elementor-tablet-align-center .elementor-icon-list-item a{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-tablet-align-center .elementor-icon-list-item:after{margin:auto}.elementor-widget.elementor-tablet-align-center .elementor-inline-items{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-tablet-align-left .elementor-icon-list-item,.elementor-widget.elementor-tablet-align-left .elementor-icon-list-item a{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:left}.elementor-widget.elementor-tablet-align-left .elementor-inline-items{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-widget.elementor-tablet-align-right .elementor-icon-list-item,.elementor-widget.elementor-tablet-align-right .elementor-icon-list-item a{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:right}.elementor-widget.elementor-tablet-align-right .elementor-icon-list-items{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-widget:not(.elementor-tablet-align-right) .elementor-icon-list-item:after{right:0}.elementor-widget:not(.elementor-tablet-align-left) .elementor-icon-list-item:after{left:0}}@media (max-width:-1px){.elementor-widget.elementor-mobile_extra-align-center .elementor-icon-list-item,.elementor-widget.elementor-mobile_extra-align-center .elementor-icon-list-item a{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-mobile_extra-align-center .elementor-icon-list-item:after{margin:auto}.elementor-widget.elementor-mobile_extra-align-center .elementor-inline-items{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-mobile_extra-align-left .elementor-icon-list-item,.elementor-widget.elementor-mobile_extra-align-left .elementor-icon-list-item a{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:left}.elementor-widget.elementor-mobile_extra-align-left .elementor-inline-items{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-widget.elementor-mobile_extra-align-right .elementor-icon-list-item,.elementor-widget.elementor-mobile_extra-align-right .elementor-icon-list-item a{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:right}.elementor-widget.elementor-mobile_extra-align-right .elementor-icon-list-items{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-widget:not(.elementor-mobile_extra-align-right) .elementor-icon-list-item:after{right:0}.elementor-widget:not(.elementor-mobile_extra-align-left) .elementor-icon-list-item:after{left:0}}@media (max-width:767px){.elementor-widget.elementor-mobile-align-center .elementor-icon-list-item,.elementor-widget.elementor-mobile-align-center .elementor-icon-list-item a{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-mobile-align-center .elementor-icon-list-item:after{margin:auto}.elementor-widget.elementor-mobile-align-center .elementor-inline-items{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-mobile-align-left .elementor-icon-list-item,.elementor-widget.elementor-mobile-align-left .elementor-icon-list-item a{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:left}.elementor-widget.elementor-mobile-align-left .elementor-inline-items{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-widget.elementor-mobile-align-right .elementor-icon-list-item,.elementor-widget.elementor-mobile-align-right .elementor-icon-list-item a{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:right}.elementor-widget.elementor-mobile-align-right .elementor-icon-list-items{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-widget:not(.elementor-mobile-align-right) .elementor-icon-list-item:after{right:0}.elementor-widget:not(.elementor-mobile-align-left) .elementor-icon-list-item:after{left:0}}assets/css/widget-alert.min.css000064400000001725152377341010012532 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ .elementor-alert{padding:15px;border-left:5px solid transparent;position:relative;text-align:left}.elementor-alert .elementor-alert-title{display:block;font-weight:700}.elementor-alert .elementor-alert-description{font-size:13px}.elementor-alert button.elementor-alert-dismiss{position:absolute;right:10px;top:10px;padding:3px;font-size:20px;line-height:1;background:transparent;color:inherit;border:none;cursor:pointer}.elementor-alert.elementor-alert-info{color:#31708f;background-color:#d9edf7;border-color:#bcdff1}.elementor-alert.elementor-alert-success{color:#3c763d;background-color:#dff0d8;border-color:#cae6be}.elementor-alert.elementor-alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#f9f0c3}.elementor-alert.elementor-alert-danger{color:#a94442;background-color:#f2dede;border-color:#e8c4c4}@media (max-width:767px){.elementor-alert{padding:10px}.elementor-alert button.elementor-alert-dismiss{right:7px;top:7px}}assets/css/widget-progress.min.css000064400000002422152377341010013262 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ .elementor-widget-progress{text-align:left}.elementor-progress-wrapper{position:relative;background-color:#eee;color:#fff;height:100%;border-radius:2px}.elementor-progress-bar{display:-webkit-box;display:-ms-flexbox;display:flex;background-color:#818a91;width:0;font-size:11px;height:30px;line-height:30px;border-radius:2px;-webkit-transition:width 1s ease-in-out;-o-transition:width 1s ease-in-out;transition:width 1s ease-in-out}.elementor-progress-text{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden;padding-left:15px}.elementor-progress-percentage{padding-right:15px}.elementor-widget-progress .elementor-progress-wrapper.progress-info .elementor-progress-bar{background-color:#5bc0de}.elementor-widget-progress .elementor-progress-wrapper.progress-success .elementor-progress-bar{background-color:#5cb85c}.elementor-widget-progress .elementor-progress-wrapper.progress-warning .elementor-progress-bar{background-color:#f0ad4e}.elementor-widget-progress .elementor-progress-wrapper.progress-danger .elementor-progress-bar{background-color:#d9534f}.elementor-progress .elementor-title{display:block}@media (max-width:767px){.elementor-progress-text{padding-left:10px}}assets/css/frontend-lite.min.css000064400000322622152377341010012716 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ .dialog-widget-content{background-color:#fff;position:absolute;border-radius:3px;-webkit-box-shadow:2px 8px 23px 3px rgba(0,0,0,.2);box-shadow:2px 8px 23px 3px rgba(0,0,0,.2);overflow:hidden}.dialog-message{font-size:12px;line-height:1.5;-webkit-box-sizing:border-box;box-sizing:border-box}.dialog-type-lightbox{position:fixed;height:100%;width:100%;bottom:0;left:0;background-color:rgba(0,0,0,.8);z-index:9999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dialog-type-lightbox .dialog-widget-content{margin:auto;width:375px}.dialog-type-lightbox .dialog-header{font-size:15px;color:#495157;padding:30px 0 10px;font-weight:500}.dialog-type-lightbox .dialog-message{padding:0 30px 30px;min-height:50px}.dialog-type-lightbox:not(.elementor-popup-modal) .dialog-header,.dialog-type-lightbox:not(.elementor-popup-modal) .dialog-message{text-align:center}.dialog-type-lightbox .dialog-buttons-wrapper{border-top:1px solid #e6e9ec;text-align:center}.dialog-type-lightbox .dialog-buttons-wrapper>.dialog-button{font-family:Roboto,Arial,Helvetica,Verdana,sans-serif;width:50%;border:none;background:none;color:#6d7882;font-size:15px;cursor:pointer;padding:13px 0;outline:0}.dialog-type-lightbox .dialog-buttons-wrapper>.dialog-button:hover{background-color:#f4f6f7}.dialog-type-lightbox .dialog-buttons-wrapper>.dialog-button.dialog-ok{color:#b01b1b}.dialog-type-lightbox .dialog-buttons-wrapper>.dialog-button.dialog-take_over{color:#39b54a}.dialog-type-lightbox .dialog-buttons-wrapper>.dialog-button:active{background-color:rgba(230,233,236,.5)}.dialog-type-lightbox .dialog-buttons-wrapper>.dialog-button::-moz-focus-inner{border:0}.dialog-close-button{cursor:pointer;position:absolute;margin-top:15px;right:15px;font-size:15px;line-height:1}.dialog-close-button:not(:hover){opacity:.4}.dialog-alert-widget .dialog-buttons-wrapper>button{width:100%}.dialog-confirm-widget .dialog-button:first-child{border-right:1px solid #e6e9ec}.dialog-prevent-scroll{overflow:hidden;max-height:100vh}@media (min-width:1024px){body.admin-bar .dialog-lightbox-widget{height:calc(100vh - 32px)}}@media (max-width:1024px){body.admin-bar .dialog-type-lightbox{position:sticky;height:100vh}}.elementor-aspect-ratio-219 .elementor-fit-aspect-ratio{padding-bottom:42.8571%}.elementor-aspect-ratio-169 .elementor-fit-aspect-ratio{padding-bottom:56.25%}.elementor-aspect-ratio-43 .elementor-fit-aspect-ratio{padding-bottom:75%}.elementor-aspect-ratio-32 .elementor-fit-aspect-ratio{padding-bottom:66.6666%}.elementor-aspect-ratio-11 .elementor-fit-aspect-ratio{padding-bottom:100%}.elementor-aspect-ratio-916 .elementor-fit-aspect-ratio{padding-bottom:177.8%}.elementor-fit-aspect-ratio{position:relative;height:0}.elementor-fit-aspect-ratio iframe{position:absolute;top:0;left:0;height:100%;width:100%;border:0;background-color:#000}.elementor-fit-aspect-ratio video{width:100%}.flatpickr-calendar{width:280px}.flatpickr-calendar .flatpickr-current-month span.cur-month{font-weight:300}.flatpickr-calendar .dayContainer{width:280px;min-width:280px;max-width:280px}.flatpickr-calendar .flatpickr-days{width:280px}.flatpickr-calendar .flatpickr-day{max-width:37px;height:37px;line-height:37px}.elementor-templates-modal .dialog-widget-content{font-family:Roboto,Arial,Helvetica,Verdana,sans-serif;background-color:#f1f3f5;width:100%}@media (max-width:1439px){.elementor-templates-modal .dialog-widget-content{max-width:990px}}@media (min-width:1440px){.elementor-templates-modal .dialog-widget-content{max-width:1200px}}.elementor-templates-modal .dialog-header{padding:0;z-index:1}.elementor-templates-modal .dialog-buttons-wrapper,.elementor-templates-modal .dialog-header{background-color:#fff;-webkit-box-shadow:0 0 8px rgba(0,0,0,.1);box-shadow:0 0 8px rgba(0,0,0,.1);position:relative}.elementor-templates-modal .dialog-buttons-wrapper{border:none;display:none;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;padding:5px}.elementor-templates-modal .dialog-buttons-wrapper .elementor-button{height:40px;margin-left:5px}.elementor-templates-modal .dialog-buttons-wrapper .elementor-button-success{padding:12px 36px;color:#fff;width:auto;font-size:15px}.elementor-templates-modal .dialog-buttons-wrapper .elementor-button-success:hover{background-color:#39b54a}.elementor-templates-modal .dialog-message{height:750px;max-height:85vh;overflow:auto;padding-top:25px}.elementor-templates-modal .dialog-content{height:100%}.elementor-templates-modal .dialog-loading{display:none}.elementor-templates-modal__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;height:50px}.elementor-templates-modal__header__logo{line-height:1;text-transform:uppercase;font-weight:700;cursor:pointer}.elementor-templates-modal__header__logo-area{text-align:left;padding-left:15px}.elementor-templates-modal__header__logo-area>*{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-templates-modal__header__logo__icon-wrapper{margin-right:10px;font-size:12px}.elementor-templates-modal__header__logo__title{padding-top:2px}.elementor-templates-modal__header__items-area{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-templates-modal__header__item{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-sizing:content-box;box-sizing:content-box}.elementor-templates-modal__header__item>i{font-size:20px;-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s;cursor:pointer}.elementor-templates-modal__header__item>i:not(:hover){color:#a4afb7}.elementor-templates-modal__header__close--normal{width:47px;border-left:1px solid #e6e9ec}.elementor-templates-modal__header__close--normal i{font-size:18px}.elementor-templates-modal__header__close--skip{padding:10px 10px 10px 20px;margin-right:10px;color:#fff;background-color:#a4afb7;font-size:11px;font-weight:400;line-height:1;text-transform:uppercase;border-radius:2px;cursor:pointer}.elementor-templates-modal__header__close--skip>i{font-size:inherit;padding-left:10px;margin-left:15px;border-left:1px solid}.elementor-templates-modal__header__close--skip>i:not(:hover){color:#fff}.elementor-templates-modal__sidebar{-ms-flex-negative:0;flex-shrink:0;width:25%;background-color:hsla(0,0%,100%,.3)}.elementor-templates-modal__content{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-webkit-box-shadow:0 0 13px inset rgba(0,0,0,.05);box-shadow:inset 0 0 13px rgba(0,0,0,.05)}#wpadminbar #wp-admin-bar-elementor_edit_page .elementor-general-section+.elementor-second-section{border-top:1px solid #464b50;margin-top:6px}.elementor-hidden{display:none}.elementor-screen-only,.screen-reader-text,.screen-reader-text span,.ui-helper-hidden-accessible{position:absolute;top:-10000em;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0}.elementor-clearfix:after{content:"";display:block;clear:both;width:0;height:0}.e-logo-wrapper{background:#93003c;display:inline-block;padding:.75em;border-radius:50%;line-height:1}.e-logo-wrapper i{color:#fff;font-size:1em}#e-enable-unfiltered-files-dialog-import-template .dialog-confirm-ok{color:#39b54a}#e-enable-unfiltered-files-dialog-import-template .dialog-confirm-cancel{color:#b01b1b}.elementor{-webkit-hyphens:manual;-ms-hyphens:manual;hyphens:manual}.elementor *,.elementor :after,.elementor :before{-webkit-box-sizing:border-box;box-sizing:border-box}.elementor a{-webkit-box-shadow:none;box-shadow:none;text-decoration:none}.elementor hr{margin:0;background-color:transparent}.elementor img{height:auto;max-width:100%;border:none;border-radius:0;-webkit-box-shadow:none;box-shadow:none}.elementor .elementor-widget:not(.elementor-widget-text-editor):not(.elementor-widget-theme-post-content) figure{margin:0}.elementor embed,.elementor iframe,.elementor object,.elementor video{max-width:100%;width:100%;margin:0;line-height:1;border:none}.elementor .elementor-custom-embed{line-height:0}.elementor .elementor-background,.elementor .elementor-background-holder,.elementor .elementor-background-video-container{height:100%;width:100%;top:0;left:0;position:absolute;overflow:hidden;z-index:0;direction:ltr}.elementor .elementor-background-video-container{-webkit-transition:opacity 1s;-o-transition:opacity 1s;transition:opacity 1s;pointer-events:none}.elementor .elementor-background-video-container.elementor-loading{opacity:0}.elementor .elementor-background-video-embed{max-width:none}.elementor .elementor-background-video,.elementor .elementor-background-video-embed,.elementor .elementor-background-video-hosted{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.elementor .elementor-background-video{max-width:none}.elementor .elementor-html5-video{-o-object-fit:cover;object-fit:cover}.elementor .elementor-background-overlay,.elementor .elementor-background-slideshow{height:100%;width:100%;top:0;left:0;position:absolute}.elementor .elementor-background-slideshow{z-index:0}.elementor .elementor-background-slideshow__slide__image{width:100%;height:100%;background-position:50%;background-size:cover}.e-container>.elementor-element.elementor-absolute,.elementor-widget-wrap>.elementor-element.elementor-absolute{position:absolute}.e-container>.elementor-element.elementor-fixed,.elementor-widget-wrap>.elementor-element.elementor-fixed{position:fixed}.elementor-widget-wrap .elementor-element.elementor-widget__width-auto,.elementor-widget-wrap .elementor-element.elementor-widget__width-initial{max-width:100%}@media (max-width:1024px){.elementor-widget-wrap .elementor-element.elementor-widget-tablet__width-auto,.elementor-widget-wrap .elementor-element.elementor-widget-tablet__width-initial{max-width:100%}}@media (max-width:767px){.elementor-widget-wrap .elementor-element.elementor-widget-mobile__width-auto,.elementor-widget-wrap .elementor-element.elementor-widget-mobile__width-initial{max-width:100%}}.elementor-element{--flex-direction:initial;--flex-wrap:initial;--justify-content:initial;--align-items:initial;--align-content:initial;--gap:initial;--flex-basis:initial;--flex-grow:initial;--flex-shrink:initial;--order:initial;--align-self:initial;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:var(--flex-direction);flex-direction:var(--flex-direction);-ms-flex-wrap:var(--flex-wrap);flex-wrap:var(--flex-wrap);-webkit-box-pack:var(--justify-content);-ms-flex-pack:var(--justify-content);justify-content:var(--justify-content);-webkit-box-align:var(--align-items);-ms-flex-align:var(--align-items);align-items:var(--align-items);-ms-flex-line-pack:var(--align-content);align-content:var(--align-content);gap:var(--gap);-ms-flex-preferred-size:var(--flex-basis);flex-basis:var(--flex-basis);-webkit-box-flex:var(--flex-grow);-ms-flex-positive:var(--flex-grow);flex-grow:var(--flex-grow);-ms-flex-negative:var(--flex-shrink);flex-shrink:var(--flex-shrink);-webkit-box-ordinal-group:var(--order);-ms-flex-order:var(--order);order:var(--order);-ms-flex-item-align:var(--align-self);align-self:var(--align-self)}.elementor-element.elementor-absolute,.elementor-element.elementor-fixed{z-index:1}.elementor-invisible{visibility:hidden}.elementor-align-center{text-align:center}.elementor-align-center .elementor-button{width:auto}.elementor-align-right{text-align:right}.elementor-align-right .elementor-button{width:auto}.elementor-align-left{text-align:left}.elementor-align-left .elementor-button{width:auto}.elementor-align-justify .elementor-button{width:100%}.elementor-custom-embed-play{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.elementor-custom-embed-play i{font-size:100px;color:#fff;text-shadow:1px 0 6px rgba(0,0,0,.3)}.elementor-custom-embed-play svg{height:100px;width:100px;fill:#fff;-webkit-filter:drop-shadow(1px 0 6px rgba(0,0,0,.3));filter:drop-shadow(1px 0 6px rgba(0,0,0,.3))}.elementor-custom-embed-play i,.elementor-custom-embed-play svg{opacity:.8;-webkit-transition:all .5s;-o-transition:all .5s;transition:all .5s}.elementor-custom-embed-play.elementor-playing i{font-family:eicons}.elementor-custom-embed-play.elementor-playing i:before{content:"\e8fb"}.elementor-custom-embed-play.elementor-playing i,.elementor-custom-embed-play.elementor-playing svg{-webkit-animation:eicon-spin 2s linear infinite;animation:eicon-spin 2s linear infinite}.elementor-tag{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}.elementor-ken-burns{-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;-o-transition-property:transform;transition-property:transform;transition-property:transform,-webkit-transform;-webkit-transition-duration:10s;-o-transition-duration:10s;transition-duration:10s;-webkit-transition-timing-function:linear;-o-transition-timing-function:linear;transition-timing-function:linear}.elementor-ken-burns--out{-webkit-transform:scale(1.3);-ms-transform:scale(1.3);transform:scale(1.3)}.elementor-ken-burns--active{-webkit-transition-duration:20s;-o-transition-duration:20s;transition-duration:20s}.elementor-ken-burns--active.elementor-ken-burns--out{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.elementor-ken-burns--active.elementor-ken-burns--in{-webkit-transform:scale(1.3);-ms-transform:scale(1.3);transform:scale(1.3)}@media (min-width:-1px){.elementor-widescreen-align-center{text-align:center}.elementor-widescreen-align-center .elementor-button{width:auto}.elementor-widescreen-align-right{text-align:right}.elementor-widescreen-align-right .elementor-button{width:auto}.elementor-widescreen-align-left{text-align:left}.elementor-widescreen-align-left .elementor-button{width:auto}.elementor-widescreen-align-justify .elementor-button{width:100%}}@media (max-width:-1px){.elementor-laptop-align-center{text-align:center}.elementor-laptop-align-center .elementor-button{width:auto}.elementor-laptop-align-right{text-align:right}.elementor-laptop-align-right .elementor-button{width:auto}.elementor-laptop-align-left{text-align:left}.elementor-laptop-align-left .elementor-button{width:auto}.elementor-laptop-align-justify .elementor-button{width:100%}}@media (max-width:-1px){.elementor-tablet_extra-align-center{text-align:center}.elementor-tablet_extra-align-center .elementor-button{width:auto}.elementor-tablet_extra-align-right{text-align:right}.elementor-tablet_extra-align-right .elementor-button{width:auto}.elementor-tablet_extra-align-left{text-align:left}.elementor-tablet_extra-align-left .elementor-button{width:auto}.elementor-tablet_extra-align-justify .elementor-button{width:100%}}@media (max-width:1024px){.elementor-tablet-align-center{text-align:center}.elementor-tablet-align-center .elementor-button{width:auto}.elementor-tablet-align-right{text-align:right}.elementor-tablet-align-right .elementor-button{width:auto}.elementor-tablet-align-left{text-align:left}.elementor-tablet-align-left .elementor-button{width:auto}.elementor-tablet-align-justify .elementor-button{width:100%}}@media (max-width:-1px){.elementor-mobile_extra-align-center{text-align:center}.elementor-mobile_extra-align-center .elementor-button{width:auto}.elementor-mobile_extra-align-right{text-align:right}.elementor-mobile_extra-align-right .elementor-button{width:auto}.elementor-mobile_extra-align-left{text-align:left}.elementor-mobile_extra-align-left .elementor-button{width:auto}.elementor-mobile_extra-align-justify .elementor-button{width:100%}}@media (max-width:767px){.elementor-mobile-align-center{text-align:center}.elementor-mobile-align-center .elementor-button{width:auto}.elementor-mobile-align-right{text-align:right}.elementor-mobile-align-right .elementor-button{width:auto}.elementor-mobile-align-left{text-align:left}.elementor-mobile-align-left .elementor-button{width:auto}.elementor-mobile-align-justify .elementor-button{width:100%}}:root{--page-title-display:block}.elementor-page-title,h1.entry-title{display:var(--page-title-display)}@-webkit-keyframes eicon-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes eicon-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.eicon-animation-spin{-webkit-animation:eicon-spin 2s linear infinite;animation:eicon-spin 2s linear infinite}.elementor-section{position:relative}.elementor-section .elementor-container{display:-webkit-box;display:-ms-flexbox;display:flex;margin-right:auto;margin-left:auto;position:relative}@media (max-width:1024px){.elementor-section .elementor-container{-ms-flex-wrap:wrap;flex-wrap:wrap}}.elementor-section.elementor-section-boxed>.elementor-container{max-width:1140px}.elementor-section.elementor-section-stretched{position:relative;width:100%}.elementor-section.elementor-section-items-top>.elementor-container{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.elementor-section.elementor-section-items-middle>.elementor-container{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-section.elementor-section-items-bottom>.elementor-container{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}@media (min-width:768px){.elementor-section.elementor-section-height-full{height:100vh}.elementor-section.elementor-section-height-full>.elementor-container{height:100%}}.elementor-bc-flex-widget .elementor-section-content-top>.elementor-container>.elementor-column>.elementor-widget-wrap{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.elementor-bc-flex-widget .elementor-section-content-middle>.elementor-container>.elementor-column>.elementor-widget-wrap{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-bc-flex-widget .elementor-section-content-bottom>.elementor-container>.elementor-column>.elementor-widget-wrap{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.elementor-row{width:100%;display:-webkit-box;display:-ms-flexbox;display:flex}@media (max-width:1024px){.elementor-row{-ms-flex-wrap:wrap;flex-wrap:wrap}}.elementor-widget-wrap{position:relative;width:100%;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-line-pack:start;align-content:flex-start}.elementor:not(.elementor-bc-flex-widget) .elementor-widget-wrap{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-wrap>.elementor-element{width:100%}.elementor-widget-wrap.e-swiper-container{width:calc(100% - (var(--e-column-margin-left, 0px) + var(--e-column-margin-right, 0px)))}.elementor-widget{position:relative}.elementor-widget:not(:last-child){margin-bottom:20px}.elementor-widget:not(:last-child).elementor-absolute,.elementor-widget:not(:last-child).elementor-widget__width-auto,.elementor-widget:not(:last-child).elementor-widget__width-initial{margin-bottom:0}.elementor-column{min-height:1px}.elementor-column,.elementor-column-wrap{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-column-wrap{width:100%}.elementor-column-gap-narrow>.elementor-column>.elementor-element-populated{padding:5px}.elementor-column-gap-default>.elementor-column>.elementor-element-populated{padding:10px}.elementor-column-gap-extended>.elementor-column>.elementor-element-populated{padding:15px}.elementor-column-gap-wide>.elementor-column>.elementor-element-populated{padding:20px}.elementor-column-gap-wider>.elementor-column>.elementor-element-populated{padding:30px}.elementor-inner-section .elementor-column-gap-no .elementor-element-populated{padding:0}@media (min-width:768px){.elementor-column.elementor-col-10,.elementor-column[data-col="10"]{width:10%}.elementor-column.elementor-col-11,.elementor-column[data-col="11"]{width:11.111%}.elementor-column.elementor-col-12,.elementor-column[data-col="12"]{width:12.5%}.elementor-column.elementor-col-14,.elementor-column[data-col="14"]{width:14.285%}.elementor-column.elementor-col-16,.elementor-column[data-col="16"]{width:16.666%}.elementor-column.elementor-col-20,.elementor-column[data-col="20"]{width:20%}.elementor-column.elementor-col-25,.elementor-column[data-col="25"]{width:25%}.elementor-column.elementor-col-30,.elementor-column[data-col="30"]{width:30%}.elementor-column.elementor-col-33,.elementor-column[data-col="33"]{width:33.333%}.elementor-column.elementor-col-40,.elementor-column[data-col="40"]{width:40%}.elementor-column.elementor-col-50,.elementor-column[data-col="50"]{width:50%}.elementor-column.elementor-col-60,.elementor-column[data-col="60"]{width:60%}.elementor-column.elementor-col-66,.elementor-column[data-col="66"]{width:66.666%}.elementor-column.elementor-col-70,.elementor-column[data-col="70"]{width:70%}.elementor-column.elementor-col-75,.elementor-column[data-col="75"]{width:75%}.elementor-column.elementor-col-80,.elementor-column[data-col="80"]{width:80%}.elementor-column.elementor-col-83,.elementor-column[data-col="83"]{width:83.333%}.elementor-column.elementor-col-90,.elementor-column[data-col="90"]{width:90%}.elementor-column.elementor-col-100,.elementor-column[data-col="100"]{width:100%}}@media (max-width:479px){.elementor-column.elementor-xs-10{width:10%}.elementor-column.elementor-xs-11{width:11.111%}.elementor-column.elementor-xs-12{width:12.5%}.elementor-column.elementor-xs-14{width:14.285%}.elementor-column.elementor-xs-16{width:16.666%}.elementor-column.elementor-xs-20{width:20%}.elementor-column.elementor-xs-25{width:25%}.elementor-column.elementor-xs-30{width:30%}.elementor-column.elementor-xs-33{width:33.333%}.elementor-column.elementor-xs-40{width:40%}.elementor-column.elementor-xs-50{width:50%}.elementor-column.elementor-xs-60{width:60%}.elementor-column.elementor-xs-66{width:66.666%}.elementor-column.elementor-xs-70{width:70%}.elementor-column.elementor-xs-75{width:75%}.elementor-column.elementor-xs-80{width:80%}.elementor-column.elementor-xs-83{width:83.333%}.elementor-column.elementor-xs-90{width:90%}.elementor-column.elementor-xs-100{width:100%}}@media (max-width:767px){.elementor-column.elementor-sm-10{width:10%}.elementor-column.elementor-sm-11{width:11.111%}.elementor-column.elementor-sm-12{width:12.5%}.elementor-column.elementor-sm-14{width:14.285%}.elementor-column.elementor-sm-16{width:16.666%}.elementor-column.elementor-sm-20{width:20%}.elementor-column.elementor-sm-25{width:25%}.elementor-column.elementor-sm-30{width:30%}.elementor-column.elementor-sm-33{width:33.333%}.elementor-column.elementor-sm-40{width:40%}.elementor-column.elementor-sm-50{width:50%}.elementor-column.elementor-sm-60{width:60%}.elementor-column.elementor-sm-66{width:66.666%}.elementor-column.elementor-sm-70{width:70%}.elementor-column.elementor-sm-75{width:75%}.elementor-column.elementor-sm-80{width:80%}.elementor-column.elementor-sm-83{width:83.333%}.elementor-column.elementor-sm-90{width:90%}.elementor-column.elementor-sm-100{width:100%}}@media (min-width:768px) and (max-width:1024px){.elementor-column.elementor-md-10{width:10%}.elementor-column.elementor-md-11{width:11.111%}.elementor-column.elementor-md-12{width:12.5%}.elementor-column.elementor-md-14{width:14.285%}.elementor-column.elementor-md-16{width:16.666%}.elementor-column.elementor-md-20{width:20%}.elementor-column.elementor-md-25{width:25%}.elementor-column.elementor-md-30{width:30%}.elementor-column.elementor-md-33{width:33.333%}.elementor-column.elementor-md-40{width:40%}.elementor-column.elementor-md-50{width:50%}.elementor-column.elementor-md-60{width:60%}.elementor-column.elementor-md-66{width:66.666%}.elementor-column.elementor-md-70{width:70%}.elementor-column.elementor-md-75{width:75%}.elementor-column.elementor-md-80{width:80%}.elementor-column.elementor-md-83{width:83.333%}.elementor-column.elementor-md-90{width:90%}.elementor-column.elementor-md-100{width:100%}}@media (min-width:-1px){.elementor-reverse-widescreen>.elementor-container>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-widescreen>.elementor-container>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-widescreen>.elementor-container>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-widescreen>.elementor-container>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-widescreen>.elementor-container>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-widescreen>.elementor-container>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-widescreen>.elementor-container>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-widescreen>.elementor-container>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-widescreen>.elementor-container>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-widescreen>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:1025px) and (max-width:-1px){.elementor-reverse-laptop>.elementor-container>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-laptop>.elementor-container>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-laptop>.elementor-container>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-laptop>.elementor-container>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-laptop>.elementor-container>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-laptop>.elementor-container>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-laptop>.elementor-container>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-laptop>.elementor-container>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-laptop>.elementor-container>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-laptop>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:-1px) and (max-width:-1px){.elementor-reverse-laptop>.elementor-container>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-laptop>.elementor-container>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-laptop>.elementor-container>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-laptop>.elementor-container>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-laptop>.elementor-container>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-laptop>.elementor-container>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-laptop>.elementor-container>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-laptop>.elementor-container>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-laptop>.elementor-container>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-laptop>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:1025px) and (max-width:-1px){.elementor-reverse-laptop>.elementor-container>:first-child,.elementor-reverse-laptop>.elementor-container>:nth-child(2),.elementor-reverse-laptop>.elementor-container>:nth-child(3),.elementor-reverse-laptop>.elementor-container>:nth-child(4),.elementor-reverse-laptop>.elementor-container>:nth-child(5),.elementor-reverse-laptop>.elementor-container>:nth-child(6),.elementor-reverse-laptop>.elementor-container>:nth-child(7),.elementor-reverse-laptop>.elementor-container>:nth-child(8),.elementor-reverse-laptop>.elementor-container>:nth-child(9),.elementor-reverse-laptop>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:initial;-ms-flex-order:initial;order:0}.elementor-reverse-tablet_extra>.elementor-container>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:768px) and (max-width:1024px){.elementor-reverse-tablet>.elementor-container>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-tablet>.elementor-container>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-tablet>.elementor-container>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-tablet>.elementor-container>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-tablet>.elementor-container>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-tablet>.elementor-container>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-tablet>.elementor-container>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-tablet>.elementor-container>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-tablet>.elementor-container>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-tablet>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:-1px) and (max-width:1024px){.elementor-reverse-tablet>.elementor-container>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-tablet>.elementor-container>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-tablet>.elementor-container>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-tablet>.elementor-container>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-tablet>.elementor-container>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-tablet>.elementor-container>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-tablet>.elementor-container>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-tablet>.elementor-container>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-tablet>.elementor-container>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-tablet>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:768px) and (max-width:-1px){.elementor-reverse-tablet>.elementor-container>:first-child,.elementor-reverse-tablet>.elementor-container>:nth-child(2),.elementor-reverse-tablet>.elementor-container>:nth-child(3),.elementor-reverse-tablet>.elementor-container>:nth-child(4),.elementor-reverse-tablet>.elementor-container>:nth-child(5),.elementor-reverse-tablet>.elementor-container>:nth-child(6),.elementor-reverse-tablet>.elementor-container>:nth-child(7),.elementor-reverse-tablet>.elementor-container>:nth-child(8),.elementor-reverse-tablet>.elementor-container>:nth-child(9),.elementor-reverse-tablet>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:initial;-ms-flex-order:initial;order:0}.elementor-reverse-mobile_extra>.elementor-container>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (max-width:767px){.elementor-reverse-mobile>.elementor-container>:first-child{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.elementor-reverse-mobile>.elementor-container>:nth-child(2){-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.elementor-reverse-mobile>.elementor-container>:nth-child(3){-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.elementor-reverse-mobile>.elementor-container>:nth-child(4){-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.elementor-reverse-mobile>.elementor-container>:nth-child(5){-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.elementor-reverse-mobile>.elementor-container>:nth-child(6){-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-reverse-mobile>.elementor-container>:nth-child(7){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.elementor-reverse-mobile>.elementor-container>:nth-child(8){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.elementor-reverse-mobile>.elementor-container>:nth-child(9){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.elementor-reverse-mobile>.elementor-container>:nth-child(10){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.elementor-column{width:100%}}ul.elementor-icon-list-items.elementor-inline-items{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}ul.elementor-icon-list-items.elementor-inline-items .elementor-inline-item{word-break:break-word}.elementor-grid{display:grid;grid-column-gap:var(--grid-column-gap);grid-row-gap:var(--grid-row-gap)}.elementor-grid .elementor-grid-item{min-width:0}.elementor-grid-0 .elementor-grid{display:inline-block;width:100%;word-spacing:var(--grid-column-gap);margin-bottom:calc(-1 * var(--grid-row-gap))}.elementor-grid-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-bottom:var(--grid-row-gap);word-break:break-word}.elementor-grid-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}@media (min-width:-1px){.elementor-grid-widescreen-0 .elementor-grid{display:inline-block;width:100%;word-spacing:var(--grid-column-gap);margin-bottom:calc(-1 * var(--grid-row-gap))}.elementor-grid-widescreen-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-bottom:var(--grid-row-gap);word-break:break-word}.elementor-grid-widescreen-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-widescreen-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-widescreen-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-widescreen-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-widescreen-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-widescreen-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-widescreen-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-widescreen-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-widescreen-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-widescreen-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-widescreen-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-widescreen-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}}@media (max-width:-1px){.elementor-grid-laptop-0 .elementor-grid{display:inline-block;width:100%;word-spacing:var(--grid-column-gap);margin-bottom:calc(-1 * var(--grid-row-gap))}.elementor-grid-laptop-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-bottom:var(--grid-row-gap);word-break:break-word}.elementor-grid-laptop-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-laptop-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-laptop-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-laptop-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-laptop-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-laptop-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-laptop-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-laptop-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-laptop-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-laptop-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-laptop-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-laptop-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}}@media (max-width:-1px){.elementor-grid-tablet_extra-0 .elementor-grid{display:inline-block;width:100%;word-spacing:var(--grid-column-gap);margin-bottom:calc(-1 * var(--grid-row-gap))}.elementor-grid-tablet_extra-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-bottom:var(--grid-row-gap);word-break:break-word}.elementor-grid-tablet_extra-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-tablet_extra-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-tablet_extra-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-tablet_extra-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-tablet_extra-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-tablet_extra-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-tablet_extra-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-tablet_extra-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-tablet_extra-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-tablet_extra-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-tablet_extra-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-tablet_extra-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}}@media (max-width:1024px){.elementor-grid-tablet-0 .elementor-grid{display:inline-block;width:100%;word-spacing:var(--grid-column-gap);margin-bottom:calc(-1 * var(--grid-row-gap))}.elementor-grid-tablet-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-bottom:var(--grid-row-gap);word-break:break-word}.elementor-grid-tablet-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-tablet-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-tablet-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-tablet-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-tablet-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-tablet-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-tablet-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-tablet-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-tablet-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-tablet-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-tablet-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-tablet-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}}@media (max-width:-1px){.elementor-grid-mobile_extra-0 .elementor-grid{display:inline-block;width:100%;word-spacing:var(--grid-column-gap);margin-bottom:calc(-1 * var(--grid-row-gap))}.elementor-grid-mobile_extra-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-bottom:var(--grid-row-gap);word-break:break-word}.elementor-grid-mobile_extra-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-mobile_extra-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-mobile_extra-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-mobile_extra-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-mobile_extra-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-mobile_extra-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-mobile_extra-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-mobile_extra-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-mobile_extra-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-mobile_extra-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-mobile_extra-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-mobile_extra-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}}@media (max-width:767px){.elementor-grid-mobile-0 .elementor-grid{display:inline-block;width:100%;word-spacing:var(--grid-column-gap);margin-bottom:calc(-1 * var(--grid-row-gap))}.elementor-grid-mobile-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-bottom:var(--grid-row-gap);word-break:break-word}.elementor-grid-mobile-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-mobile-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-mobile-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-mobile-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-mobile-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-mobile-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-mobile-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-mobile-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-mobile-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-mobile-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-mobile-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-mobile-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}}@media (min-width:1025px){#elementor-device-mode:after{content:"desktop"}}@media (min-width:-1px){#elementor-device-mode:after{content:"widescreen"}}@media (max-width:-1px){#elementor-device-mode:after{content:"laptop";content:"tablet_extra"}}@media (max-width:1024px){#elementor-device-mode:after{content:"tablet"}}@media (max-width:-1px){#elementor-device-mode:after{content:"mobile_extra"}}@media (max-width:767px){#elementor-device-mode:after{content:"mobile"}}.e-container{--border-radius:0;--display:flex;--flex-direction:column;--flex-basis:auto;--flex-grow:0;--flex-shrink:1;--content-width:Min(100%,var(--container-max-width,1140px));--width:100%;--min-height:initial;--height:auto;--text-align:initial;--margin-top:0;--margin-right:0;--margin-bottom:0;--margin-left:0;--padding-top:var(--container-default-padding,0px);--padding-right:var(--container-default-padding,0px);--padding-bottom:var(--container-default-padding,0px);--padding-left:var(--container-default-padding,0px);--position:relative;--z-index:revert;--overflow:visible;--transition:0;--gap:var(--widgets-spacing,20px);--overlay-mix-blend-mode:initial;--overlay-opacity:1;--overlay-transition:0;position:var(--position);display:var(--display);text-align:var(--text-align);-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:var(--flex-direction);flex-direction:var(--flex-direction);-webkit-box-flex:var(--flex-grow);-ms-flex:var(--flex-grow) var(--flex-shrink) var(--flex-basis);flex:var(--flex-grow) var(--flex-shrink) var(--flex-basis);width:var(--width);min-width:0;max-width:min(100%,var(--width));min-height:var(--min-height);height:var(--height);border-radius:var(--border-radius);margin:var(--margin-top) var(--margin-right) var(--margin-bottom) var(--margin-left);padding:var(--padding-top) calc((100% - var(--content-width)) / 2 + var(--padding-right)) var(--padding-bottom) calc((100% - var(--content-width)) / 2 + var(--padding-left));z-index:var(--z-index);overflow:var(--overflow);-webkit-transition:var(--transition);-o-transition:var(--transition);transition:var(--transition)}:is(.elementor-section-wrap,[data-elementor-id])>.e-container{--margin-right:auto;--margin-left:auto}.e-container .elementor-empty-view{position:relative;width:100%;height:100%;min-height:var(--min-height,100px)}.e-container .elementor-empty-view .elementor-first-add{width:auto;height:auto;inset:10px}.e-container .elementor-widget-placeholder{--size:10px;--margin-start:calc(-1 * var(--size));--margin-end:calc(-2 * var(--size));-ms-flex-negative:0;flex-shrink:0;-ms-flex-item-align:stretch;align-self:stretch;z-index:1;pointer-events:none}.e-container.e-container--row>.elementor-widget-placeholder{position:relative;z-index:9999;width:var(--size);-webkit-margin-start:var(--margin-start);margin-inline-start:var(--margin-start);height:auto;min-height:100%;-webkit-animation-name:dnd-placeholder-widget-vertical;animation-name:dnd-placeholder-widget-vertical;-webkit-animation-fill-mode:both;animation-fill-mode:both}.e-container.e-container--row[data-nesting-level]:not([data-nesting-level="0"])>.elementor-widget-placeholder{-webkit-margin-end:0;margin-inline-end:0;-webkit-margin-start:calc(var(--margin-start) + var(--margin-end));margin-inline-start:calc(var(--margin-start) + var(--margin-end))}.e-container.e-container--row[data-nesting-level]:not([data-nesting-level="0"])>:not(.elementor-element)+.elementor-widget-placeholder{-webkit-margin-end:var(--margin-end);margin-inline-end:var(--margin-end);-webkit-margin-start:var(--margin-start);margin-inline-start:var(--margin-start)}.e-container.e-container--column>.elementor-widget-placeholder{height:var(--size);-webkit-margin-before:var(--margin-start);margin-block-start:var(--margin-start);-webkit-margin-after:var(--margin-end);margin-block-end:var(--margin-end);-webkit-animation-name:dnd-placeholder-widget-horizontal;animation-name:dnd-placeholder-widget-horizontal}.e-container.e-container--column>.elementor-widget-placeholder:nth-last-child(2){-webkit-margin-before:calc(2 * var(--margin-start));margin-block-start:calc(2 * var(--margin-start));--margin-end:0}.e-container .elementor-sortable-helper{height:84px;width:125px;z-index:-1}.e-container .elementor-widget.elementor-widget{margin-bottom:0}.e-container:before{content:var(--background-overlay);display:block;position:absolute;z-index:0;width:100%;height:100%;left:0;top:0;mix-blend-mode:var(--overlay-mix-blend-mode);opacity:var(--overlay-opacity);-webkit-transition:var(--overlay-transition);-o-transition:var(--overlay-transition);transition:var(--overlay-transition);border-radius:var(--border-radius)}.e-container .elementor-widget{min-width:0}.e-container .elementor-widget-google_maps,.e-container .elementor-widget-video{-ms-flex-preferred-size:100%;flex-basis:100%}.e-container .elementor-widget.e-widget-swiper{max-width:100%;-ms-flex-preferred-size:100%;flex-basis:100%}.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-setting,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-setting{position:relative;background-color:#556068}.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-setting:hover,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-setting:hover{background-color:#495157}.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-setting.elementor-editor-element-add,.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-setting.elementor-editor-element-edit+.elementor-editor-element-remove,.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-setting:first-child:before,.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-setting:last-child:after,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-setting.elementor-editor-element-add,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-setting.elementor-editor-element-edit+.elementor-editor-element-remove,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-setting:first-child:before,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-setting:last-child:after{display:none}.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-setting:not(.elementor-editor-element-edit),.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-setting:not(.elementor-editor-element-edit){-webkit-margin-start:-25px;margin-inline-start:-25px;z-index:-1;-webkit-transition:all .3s;-o-transition:.3s all;transition:all .3s;will-change:margin-inline-start}.e-container>.e-container>.elementor-element-overlay>.elementor-editor-element-settings:hover>:is(.elementor-editor-element-duplicate,.elementor-editor-element-remove),.elementor-widget .e-container>.elementor-element-overlay>.elementor-editor-element-settings:hover>:is(.elementor-editor-element-duplicate,.elementor-editor-element-remove){-webkit-margin-start:0;margin-inline-start:0}.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-settings,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-settings{inset:auto;-webkit-transform:none;-ms-transform:none;transform:none;inset-inline-start:0;top:0;border-radius:0;border-end-end-radius:3px;height:auto;background-color:#556068}.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-settings:hover,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-settings:hover{background-color:#495157}.e-container>.e-container>.elementor-element-overlay .elementor-editor-element-settings i.eicon-handle:before,.elementor-widget .e-container>.elementor-element-overlay .elementor-editor-element-settings i.eicon-handle:before{content:"\e9b4";font-size:20px;display:block;padding:2px}@media (max-width:767px){.e-container{--width:100%;--flex-wrap:wrap}}@-webkit-keyframes dnd-placeholder-widget-vertical{0%{-webkit-transform-origin:0 50%;transform-origin:0 50%;-webkit-transform:translateX(50%) scaleX(0);transform:translateX(50%) scaleX(0);opacity:0}to{-webkit-transform-origin:0 50%;transform-origin:0 50%;-webkit-transform:translateX(50%) scaleX(1);transform:translateX(50%) scaleX(1);opacity:.9}}@keyframes dnd-placeholder-widget-vertical{0%{-webkit-transform-origin:0 50%;transform-origin:0 50%;-webkit-transform:translateX(50%) scaleX(0);transform:translateX(50%) scaleX(0);opacity:0}to{-webkit-transform-origin:0 50%;transform-origin:0 50%;-webkit-transform:translateX(50%) scaleX(1);transform:translateX(50%) scaleX(1);opacity:.9}}@-webkit-keyframes dnd-placeholder-widget-horizontal{0%{-webkit-transform-origin:50% 0;transform-origin:50% 0;-webkit-transform:scaleY(0);transform:scaleY(0);opacity:0}to{-webkit-transform-origin:50% 0;transform-origin:50% 0;-webkit-transform:scaleY(1);transform:scaleY(1);opacity:.9}}@keyframes dnd-placeholder-widget-horizontal{0%{-webkit-transform-origin:50% 0;transform-origin:50% 0;-webkit-transform:scaleY(0);transform:scaleY(0);opacity:0}to{-webkit-transform-origin:50% 0;transform-origin:50% 0;-webkit-transform:scaleY(1);transform:scaleY(1);opacity:.9}}.elementor-form-fields-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group .elementor-field-subgroup,.elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group>.elementor-select-wrapper,.elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group>input,.elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group>textarea{-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.elementor-form-fields-wrapper.elementor-labels-inline>.elementor-field-group .elementor-select-wrapper,.elementor-form-fields-wrapper.elementor-labels-inline>.elementor-field-group>input{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-field-group{-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-field-group.elementor-field-type-submit{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.elementor-field-group .elementor-field-textual{width:100%;max-width:100%;border:1px solid #818a91;background-color:transparent;color:#373a3c;vertical-align:middle;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-field-group .elementor-field-textual:focus{-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.1) inset;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);outline:0}.elementor-field-group .elementor-field-textual::-webkit-input-placeholder{color:inherit;font-family:inherit;opacity:.6}.elementor-field-group .elementor-field-textual:-ms-input-placeholder{color:inherit;font-family:inherit;opacity:.6}.elementor-field-group .elementor-field-textual:-moz-placeholder,.elementor-field-group .elementor-field-textual::-moz-placeholder{color:inherit;font-family:inherit;opacity:.6}.elementor-field-group .elementor-field-textual::-ms-input-placeholder{color:inherit;font-family:inherit;opacity:.6}.elementor-field-group .elementor-field-textual::placeholder{color:inherit;font-family:inherit;opacity:.6}.elementor-field-group .elementor-select-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;position:relative;width:100%}.elementor-field-group .elementor-select-wrapper select{appearance:none;-webkit-appearance:none;-moz-appearance:none;color:inherit;font-size:inherit;font-family:inherit;font-weight:inherit;font-style:inherit;text-transform:inherit;letter-spacing:inherit;line-height:inherit;-ms-flex-preferred-size:100%;flex-basis:100%;padding-right:20px}.elementor-field-group .elementor-select-wrapper:before{content:"\e92a";font-family:eicons;font-size:15px;position:absolute;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);right:10px;pointer-events:none;text-shadow:0 0 3px rgba(0,0,0,.3)}.elementor-field-group.elementor-field-type-select-multiple .elementor-select-wrapper:before{content:""}.elementor-field-subgroup{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.elementor-field-subgroup .elementor-field-option label{display:inline-block}.elementor-field-subgroup.elementor-subgroup-inline .elementor-field-option{padding-right:10px}.elementor-field-subgroup:not(.elementor-subgroup-inline) .elementor-field-option{-ms-flex-preferred-size:100%;flex-basis:100%}.elementor-field-type-acceptance .elementor-field-subgroup .elementor-field-option input,.elementor-field-type-acceptance .elementor-field-subgroup .elementor-field-option label,.elementor-field-type-checkbox .elementor-field-subgroup .elementor-field-option input,.elementor-field-type-checkbox .elementor-field-subgroup .elementor-field-option label,.elementor-field-type-radio .elementor-field-subgroup .elementor-field-option input,.elementor-field-type-radio .elementor-field-subgroup .elementor-field-option label{display:inline}.elementor-field-label{cursor:pointer}.elementor-mark-required .elementor-field-label:after{content:"*";color:red;padding-left:.2em}.elementor-field-textual{line-height:1.4;font-size:15px;min-height:40px;padding:5px 14px;border-radius:3px}.elementor-field-textual.elementor-size-xs{font-size:13px;min-height:33px;padding:4px 12px;border-radius:2px}.elementor-field-textual.elementor-size-md{font-size:16px;min-height:47px;padding:6px 16px;border-radius:4px}.elementor-field-textual.elementor-size-lg{font-size:18px;min-height:59px;padding:7px 20px;border-radius:5px}.elementor-field-textual.elementor-size-xl{font-size:20px;min-height:72px;padding:8px 24px;border-radius:6px}.elementor-button-align-stretch .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button{-ms-flex-preferred-size:100%;flex-basis:100%}.elementor-button-align-stretch .e-form__buttons__wrapper{-ms-flex-preferred-size:50%;flex-basis:50%;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-button-align-stretch .e-form__buttons__wrapper__button{-ms-flex-preferred-size:100%;flex-basis:100%}.elementor-button-align-center .e-form__buttons,.elementor-button-align-center .elementor-field-type-submit{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-button-align-start .e-form__buttons,.elementor-button-align-start .elementor-field-type-submit{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-button-align-end .e-form__buttons,.elementor-button-align-end .elementor-field-type-submit{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-button-align-center .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button,.elementor-button-align-end .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button,.elementor-button-align-start .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button{-ms-flex-preferred-size:initial;flex-basis:auto}.elementor-button-align-center .e-form__buttons__wrapper,.elementor-button-align-end .e-form__buttons__wrapper,.elementor-button-align-start .e-form__buttons__wrapper{-webkit-box-flex:initial;-ms-flex-positive:initial;flex-grow:0}.elementor-button-align-center .e-form__buttons__wrapper,.elementor-button-align-center .e-form__buttons__wrapper__button,.elementor-button-align-end .e-form__buttons__wrapper,.elementor-button-align-end .e-form__buttons__wrapper__button,.elementor-button-align-start .e-form__buttons__wrapper,.elementor-button-align-start .e-form__buttons__wrapper__button{-ms-flex-preferred-size:initial;flex-basis:auto}@media screen and (max-width:1024px){.elementor-tablet-button-align-stretch .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button{-ms-flex-preferred-size:100%;flex-basis:100%}.elementor-tablet-button-align-stretch .e-form__buttons__wrapper{-ms-flex-preferred-size:50%;flex-basis:50%;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-tablet-button-align-stretch .e-form__buttons__wrapper__button{-ms-flex-preferred-size:100%;flex-basis:100%}.elementor-tablet-button-align-center .e-form__buttons,.elementor-tablet-button-align-center .elementor-field-type-submit{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-tablet-button-align-start .e-form__buttons,.elementor-tablet-button-align-start .elementor-field-type-submit{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-tablet-button-align-end .e-form__buttons,.elementor-tablet-button-align-end .elementor-field-type-submit{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-tablet-button-align-center .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button,.elementor-tablet-button-align-end .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button,.elementor-tablet-button-align-start .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button{-ms-flex-preferred-size:initial;flex-basis:auto}.elementor-tablet-button-align-center .e-form__buttons__wrapper,.elementor-tablet-button-align-end .e-form__buttons__wrapper,.elementor-tablet-button-align-start .e-form__buttons__wrapper{-webkit-box-flex:initial;-ms-flex-positive:initial;flex-grow:0}.elementor-tablet-button-align-center .e-form__buttons__wrapper,.elementor-tablet-button-align-center .e-form__buttons__wrapper__button,.elementor-tablet-button-align-end .e-form__buttons__wrapper,.elementor-tablet-button-align-end .e-form__buttons__wrapper__button,.elementor-tablet-button-align-start .e-form__buttons__wrapper,.elementor-tablet-button-align-start .e-form__buttons__wrapper__button{-ms-flex-preferred-size:initial;flex-basis:auto}}@media screen and (max-width:767px){.elementor-mobile-button-align-stretch .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button{-ms-flex-preferred-size:100%;flex-basis:100%}.elementor-mobile-button-align-stretch .e-form__buttons__wrapper{-ms-flex-preferred-size:50%;flex-basis:50%;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-mobile-button-align-stretch .e-form__buttons__wrapper__button{-ms-flex-preferred-size:100%;flex-basis:100%}.elementor-mobile-button-align-center .e-form__buttons,.elementor-mobile-button-align-center .elementor-field-type-submit{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-mobile-button-align-start .e-form__buttons,.elementor-mobile-button-align-start .elementor-field-type-submit{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-mobile-button-align-end .e-form__buttons,.elementor-mobile-button-align-end .elementor-field-type-submit{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-mobile-button-align-center .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button,.elementor-mobile-button-align-end .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button,.elementor-mobile-button-align-start .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button{-ms-flex-preferred-size:initial;flex-basis:auto}.elementor-mobile-button-align-center .e-form__buttons__wrapper,.elementor-mobile-button-align-end .e-form__buttons__wrapper,.elementor-mobile-button-align-start .e-form__buttons__wrapper{-webkit-box-flex:initial;-ms-flex-positive:initial;flex-grow:0}.elementor-mobile-button-align-center .e-form__buttons__wrapper,.elementor-mobile-button-align-center .e-form__buttons__wrapper__button,.elementor-mobile-button-align-end .e-form__buttons__wrapper,.elementor-mobile-button-align-end .e-form__buttons__wrapper__button,.elementor-mobile-button-align-start .e-form__buttons__wrapper,.elementor-mobile-button-align-start .e-form__buttons__wrapper__button{-ms-flex-preferred-size:initial;flex-basis:auto}}.elementor-error .elementor-field{border-color:#d9534f}.elementor-error .help-inline{color:#d9534f;font-size:.9em}.elementor-message{margin:10px 0;font-size:1em;line-height:1}.elementor-message:before{content:"\e90e";display:inline-block;font-family:eicons;font-weight:400;font-style:normal;vertical-align:middle;margin-right:5px}.elementor-message.elementor-message-danger{color:#d9534f}.elementor-message.elementor-message-danger:before{content:"\e87f"}.elementor-message.form-message-success{color:#5cb85c}.elementor-form .elementor-button{padding-top:0;padding-bottom:0;border:none}.elementor-form .elementor-button>span{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-form .elementor-button.elementor-size-xs{min-height:33px}.elementor-form .elementor-button.elementor-size-sm{min-height:40px}.elementor-form .elementor-button.elementor-size-md{min-height:47px}.elementor-form .elementor-button.elementor-size-lg{min-height:59px}.elementor-form .elementor-button.elementor-size-xl{min-height:72px}.elementor-element .elementor-widget-container{-webkit-transition:background .3s,border .3s,border-radius .3s,-webkit-box-shadow .3s;transition:background .3s,border .3s,border-radius .3s,-webkit-box-shadow .3s;-o-transition:background .3s,border .3s,border-radius .3s,box-shadow .3s;transition:background .3s,border .3s,border-radius .3s,box-shadow .3s;transition:background .3s,border .3s,border-radius .3s,box-shadow .3s,-webkit-box-shadow .3s}.elementor-button{display:inline-block;line-height:1;background-color:#818a91;font-size:15px;padding:12px 24px;border-radius:3px;color:#fff;fill:#fff;text-align:center;-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s}.elementor-button:focus,.elementor-button:hover,.elementor-button:visited{color:#fff}.elementor-button-content-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-button-icon{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-button-icon svg{width:1em;height:auto}.elementor-button-icon .e-font-icon-svg{height:1em}.elementor-button-text{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10;display:inline-block}.elementor-button.elementor-size-xs{font-size:13px;padding:10px 20px;border-radius:2px}.elementor-button.elementor-size-md{font-size:16px;padding:15px 30px;border-radius:4px}.elementor-button.elementor-size-lg{font-size:18px;padding:20px 40px;border-radius:5px}.elementor-button.elementor-size-xl{font-size:20px;padding:25px 50px;border-radius:6px}.elementor-button .elementor-align-icon-right{margin-left:5px;-webkit-box-ordinal-group:16;-ms-flex-order:15;order:15}.elementor-button .elementor-align-icon-left{margin-right:5px;-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.elementor-button span{text-decoration:inherit}.elementor-element.elementor-button-info .elementor-button{background-color:#5bc0de}.elementor-element.elementor-button-success .elementor-button{background-color:#5cb85c}.elementor-element.elementor-button-warning .elementor-button{background-color:#f0ad4e}.elementor-element.elementor-button-danger .elementor-button{background-color:#d9534f}.elementor-widget-button .elementor-button .elementor-button-info{background-color:#5bc0de}.elementor-widget-button .elementor-button .elementor-button-success{background-color:#5cb85c}.elementor-widget-button .elementor-button .elementor-button-warning{background-color:#f0ad4e}.elementor-widget-button .elementor-button .elementor-button-danger{background-color:#d9534f}.elementor-tab-title a{color:inherit}.elementor-view-stacked .elementor-icon{padding:.5em;background-color:#818a91;color:#fff;fill:#fff}.elementor-view-framed .elementor-icon{padding:.5em;color:#818a91;border:3px solid #818a91;background-color:transparent}.elementor-icon{display:inline-block;line-height:1;-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s;color:#818a91;font-size:50px;text-align:center}.elementor-icon:hover{color:#818a91}.elementor-icon i,.elementor-icon svg{width:1em;height:1em;position:relative;display:block}.elementor-icon i:before,.elementor-icon svg:before{position:absolute;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.elementor-icon i.fad{width:auto}.elementor-shape-circle .elementor-icon{border-radius:50%}.e-transform .elementor-widget-container{-webkit-transform:perspective(var(--e-transform-perspective,0)) rotate(var(--e-transform-rotateZ,0)) rotateX(var(--e-transform-rotateX,0)) rotateY(var(--e-transform-rotateY,0)) translate(var(--e-transform-translate,0)) translateX(var(--e-transform-translateX,0)) translateY(var(--e-transform-translateY,0)) scaleX(calc(var(--e-transform-flipX, 1) * var(--e-transform-scaleX, var(--e-transform-scale, 1)))) scaleY(calc(var(--e-transform-flipY, 1) * var(--e-transform-scaleY, var(--e-transform-scale, 1)))) skewX(var(--e-transform-skewX,0)) skewY(var(--e-transform-skewY,0));transform:perspective(var(--e-transform-perspective,0)) rotate(var(--e-transform-rotateZ,0)) rotateX(var(--e-transform-rotateX,0)) rotateY(var(--e-transform-rotateY,0)) translate(var(--e-transform-translate,0)) translateX(var(--e-transform-translateX,0)) translateY(var(--e-transform-translateY,0)) scaleX(calc(var(--e-transform-flipX, 1) * var(--e-transform-scaleX, var(--e-transform-scale, 1)))) scaleY(calc(var(--e-transform-flipY, 1) * var(--e-transform-scaleY, var(--e-transform-scale, 1)))) skewX(var(--e-transform-skewX,0)) skewY(var(--e-transform-skewY,0));-webkit-transform-origin:var(--e-transform-origin-y) var(--e-transform-origin-x);-ms-transform-origin:var(--e-transform-origin-y) var(--e-transform-origin-x);transform-origin:var(--e-transform-origin-y) var(--e-transform-origin-x);-webkit-transition:-webkit-transform var(--e-transform-transition-duration,.4s);transition:-webkit-transform var(--e-transform-transition-duration,.4s);-o-transition:transform var(--e-transform-transition-duration,.4s);transition:transform var(--e-transform-transition-duration,.4s);transition:transform var(--e-transform-transition-duration,.4s),-webkit-transform var(--e-transform-transition-duration,.4s)}.swiper-container{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;z-index:1}.swiper-container .swiper-slide figure{line-height:0}.swiper-container .elementor-lightbox-content-source{display:none}.swiper-container-no-flexbox .swiper-slide{float:left}.swiper-container-vertical>.swiper-wrapper{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;-o-transition-property:transform;transition-property:transform;transition-property:transform,-webkit-transform;-webkit-box-sizing:content-box;box-sizing:content-box}.swiper-container-android .swiper-slide,.swiper-wrapper{-webkit-transform:translateZ(0);transform:translateZ(0)}.swiper-container-multirow>.swiper-wrapper{-ms-flex-wrap:wrap;flex-wrap:wrap}.swiper-container-free-mode>.swiper-wrapper{-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;margin:0 auto}.swiper-slide{-ms-flex-negative:0;flex-shrink:0;width:100%;height:100%;position:relative}.swiper-container-autoheight,.swiper-container-autoheight .swiper-slide{height:auto}.swiper-container-autoheight .swiper-wrapper{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-transition-property:height,-webkit-transform;transition-property:height,-webkit-transform;-o-transition-property:transform,height;transition-property:transform,height;transition-property:transform,height,-webkit-transform}.swiper-container .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-wp8-horizontal{-ms-touch-action:pan-y;touch-action:pan-y}.swiper-wp8-vertical{-ms-touch-action:pan-x;touch-action:pan-x}.swiper-button-next,.swiper-button-prev{position:absolute;top:50%;width:27px;height:44px;margin-top:-22px;z-index:10;cursor:pointer;background-size:27px 44px;background:no-repeat 50%}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-prev,.swiper-container-rtl .swiper-button-next{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 44'%3E%3Cpath d='M0 22L22 0l2.1 2.1L4.2 22l19.9 19.9L22 44 0 22z' fill='%23007aff'/%3E%3C/svg%3E");left:10px;right:auto}.swiper-button-prev.swiper-button-black,.swiper-container-rtl .swiper-button-next.swiper-button-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 44'%3E%3Cpath d='M0 22L22 0l2.1 2.1L4.2 22l19.9 19.9L22 44 0 22z'/%3E%3C/svg%3E")}.swiper-button-prev.swiper-button-white,.swiper-container-rtl .swiper-button-next.swiper-button-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 44'%3E%3Cpath d='M0 22L22 0l2.1 2.1L4.2 22l19.9 19.9L22 44 0 22z' fill='%23fff'/%3E%3C/svg%3E")}.swiper-button-next,.swiper-container-rtl .swiper-button-prev{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 44'%3E%3Cpath d='M27 22L5 44l-2.1-2.1L22.8 22 2.9 2.1 5 0l22 22z' fill='%23007aff'/%3E%3C/svg%3E");right:10px;left:auto}.swiper-button-next.swiper-button-black,.swiper-container-rtl .swiper-button-prev.swiper-button-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 44'%3E%3Cpath d='M27 22L5 44l-2.1-2.1L22.8 22 2.9 2.1 5 0l22 22z'/%3E%3C/svg%3E")}.swiper-button-next.swiper-button-white,.swiper-container-rtl .swiper-button-prev.swiper-button-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 44'%3E%3Cpath d='M27 22L5 44l-2.1-2.1L22.8 22 2.9 2.1 5 0l22 22z' fill='%23fff'/%3E%3C/svg%3E")}.swiper-pagination{position:absolute;text-align:center;-webkit-transition:.3s;-o-transition:.3s;transition:.3s;-webkit-transform:translateZ(0);transform:translateZ(0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-container-horizontal>.swiper-pagination-bullets,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:5px;left:0;width:100%}.swiper-pagination-bullet{width:6px;height:6px;display:inline-block;border-radius:50%;background:#000;opacity:.2}.swiper-pagination-fraction{color:#000}button.swiper-pagination-bullet{border:none;margin:0;padding:0;-webkit-box-shadow:none;box-shadow:none;appearance:none;-webkit-appearance:none;-moz-appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-white .swiper-pagination-bullet{background:#fff}.swiper-pagination-bullet-active{opacity:1}.swiper-pagination-white .swiper-pagination-bullet-active{background:#fff}.swiper-pagination-black .swiper-pagination-bullet-active{background:#000}.swiper-container-vertical>.swiper-pagination-bullets{right:10px;top:50%;-webkit-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0)}.swiper-container-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:5px 0;display:block}.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 6px}.swiper-pagination-progressbar{background:rgba(0,0,0,.25);position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:#000;position:absolute;left:0;top:0;width:100%;height:100%;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);-webkit-transform-origin:left top;-ms-transform-origin:left top;transform-origin:left top}.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{-webkit-transform-origin:right top;-ms-transform-origin:right top;transform-origin:right top}.swiper-container-horizontal>.swiper-pagination-progressbar{width:100%;height:4px;left:0;top:0}.swiper-container-vertical>.swiper-pagination-progressbar{width:4px;height:100%;left:0;top:0}.swiper-pagination-progressbar.swiper-pagination-white{background:hsla(0,0%,100%,.5)}.swiper-pagination-progressbar.swiper-pagination-white .swiper-pagination-progressbar-fill{background:#fff}.swiper-pagination-progressbar.swiper-pagination-black .swiper-pagination-progressbar-fill{background:#000}.swiper-container-3d{-webkit-perspective:1200px;perspective:1200px}.swiper-container-3d .swiper-cube-shadow,.swiper-container-3d .swiper-slide,.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top,.swiper-container-3d .swiper-wrapper{-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-container-3d .swiper-slide-shadow-left{background-image:-o-linear-gradient(right,rgba(0,0,0,.5),transparent);background-image:-webkit-gradient(linear,right top,left top,from(rgba(0,0,0,.5)),to(transparent));background-image:linear-gradient(270deg,rgba(0,0,0,.5),transparent)}.swiper-container-3d .swiper-slide-shadow-right{background-image:-o-linear-gradient(left,rgba(0,0,0,.5),transparent);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(transparent));background-image:linear-gradient(90deg,rgba(0,0,0,.5),transparent)}.swiper-container-3d .swiper-slide-shadow-top{background-image:-o-linear-gradient(bottom,rgba(0,0,0,.5),transparent);background-image:-webkit-gradient(linear,left bottom,left top,from(rgba(0,0,0,.5)),to(transparent));background-image:linear-gradient(0deg,rgba(0,0,0,.5),transparent)}.swiper-container-3d .swiper-slide-shadow-bottom{background-image:-o-linear-gradient(top,rgba(0,0,0,.5),transparent);background-image:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.5)),to(transparent));background-image:linear-gradient(180deg,rgba(0,0,0,.5),transparent)}.swiper-container-coverflow .swiper-wrapper,.swiper-container-flip .swiper-wrapper{-ms-perspective:1200px}.swiper-container-cube,.swiper-container-flip{overflow:visible}.swiper-container-cube .swiper-slide,.swiper-container-flip .swiper-slide{pointer-events:none;z-index:1}.swiper-container-cube .swiper-slide .swiper-slide,.swiper-container-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-active .swiper-slide-active,.swiper-container-flip .swiper-slide-active,.swiper-container-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-cube .swiper-slide-shadow-bottom,.swiper-container-cube .swiper-slide-shadow-left,.swiper-container-cube .swiper-slide-shadow-right,.swiper-container-cube .swiper-slide-shadow-top,.swiper-container-flip .swiper-slide-shadow-bottom,.swiper-container-flip .swiper-slide-shadow-left,.swiper-container-flip .swiper-slide-shadow-right,.swiper-container-flip .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-container-cube .swiper-slide{visibility:hidden;-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0;width:100%;height:100%}.swiper-container-cube.swiper-container-rtl .swiper-slide{-webkit-transform-origin:100% 0;-ms-transform-origin:100% 0;transform-origin:100% 0}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-next,.swiper-container-cube .swiper-slide-next+.swiper-slide,.swiper-container-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-container-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0;width:100%;height:100%;background:#000;opacity:.6;-webkit-filter:blur(50px);filter:blur(50px);z-index:0}.swiper-container-fade.swiper-container-free-mode .swiper-slide{-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out}.swiper-container-fade .swiper-slide{pointer-events:none;-webkit-transition-property:opacity;-o-transition-property:opacity;transition-property:opacity}.swiper-container-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-fade .swiper-slide-active,.swiper-container-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-zoom-container{width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain}.swiper-scrollbar{border-radius:10px;position:relative;-ms-touch-action:none;background:rgba(0,0,0,.1)}.swiper-container-horizontal>.swiper-scrollbar{position:absolute;left:1%;bottom:3px;z-index:50;height:5px;width:98%}.swiper-container-vertical>.swiper-scrollbar{position:absolute;right:3px;top:1%;z-index:50;width:5px;height:98%}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:rgba(0,0,0,.5);border-radius:10px;left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.elementor-pagination-position-outside .swiper-container{padding-bottom:30px}.elementor-pagination-position-outside .elementor-swiper-button{top:calc(50% - 30px / 2)}.elementor-swiper{position:relative}.elementor-main-swiper{position:static}.elementor-arrows-position-outside .swiper-container{width:calc(100% - 60px)}.elementor-arrows-position-outside .elementor-swiper-button-prev{left:0}.elementor-arrows-position-outside .elementor-swiper-button-next{right:0}.swiper-image-stretch .swiper-slide .swiper-slide-image{width:100%}.elementor-swiper-button{position:absolute;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;z-index:1;cursor:pointer;font-size:25px;color:hsla(0,0%,93.3%,.9);top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.elementor-swiper-button svg{fill:hsla(0,0%,93.3%,.9);height:1em;width:1em}.elementor-swiper-button-prev{left:10px}.elementor-swiper-button-next{right:10px}.elementor-swiper-button.swiper-button-disabled{opacity:.3}.swiper-container-cube .elementor-swiper-button{-webkit-transform:translate3d(0,-50%,1px);transform:translate3d(0,-50%,1px)}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;-webkit-transform-origin:50%;-ms-transform-origin:50%;transform-origin:50%;-webkit-animation:swiper-preloader-spin 1s steps(12) infinite;animation:swiper-preloader-spin 1s steps(12) infinite}.swiper-lazy-preloader:after{display:block;content:"";width:100%;height:100%;background-size:100%;background:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 120 120' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath id='a' stroke='%236c6c6c' stroke-width='11' stroke-linecap='round' d='M60 7v20'/%3E%3C/defs%3E%3Cuse xlink:href='%23a' opacity='.27'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(30 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(60 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(90 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(120 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(150 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.37' transform='rotate(180 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.46' transform='rotate(210 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.56' transform='rotate(240 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.66' transform='rotate(270 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.75' transform='rotate(300 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.85' transform='rotate(330 60 60)'/%3E%3C/svg%3E") no-repeat 50%}.swiper-lazy-preloader-white:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 120 120' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath id='a' stroke='%23fff' stroke-width='11' stroke-linecap='round' d='M60 7v20'/%3E%3C/defs%3E%3Cuse xlink:href='%23a' opacity='.27'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(30 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(60 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(90 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(120 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(150 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.37' transform='rotate(180 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.46' transform='rotate(210 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.56' transform='rotate(240 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.66' transform='rotate(270 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.75' transform='rotate(300 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.85' transform='rotate(330 60 60)'/%3E%3C/svg%3E")}@-webkit-keyframes swiper-preloader-spin{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes swiper-preloader-spin{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.elementor-lightbox{--lightbox-ui-color:hsla(0,0%,93.3%,0.9);--lightbox-ui-color-hover:#fff;--lightbox-text-color:var(--lightbox-ui-color);--lightbox-header-icons-size:20px;--lightbox-navigation-icons-size:25px}.elementor-lightbox .dialog-header{display:none}.elementor-lightbox .dialog-widget-content{background:none;-webkit-box-shadow:none;box-shadow:none;width:100%;height:100%}.elementor-lightbox .dialog-message{-webkit-animation-duration:.3s;animation-duration:.3s}.elementor-lightbox .dialog-message:not(.elementor-fit-aspect-ratio){height:100%}.elementor-lightbox .dialog-message.dialog-lightbox-message{padding:0}.elementor-lightbox .dialog-lightbox-close-button{cursor:pointer;position:absolute;font-size:var(--lightbox-header-icons-size);right:.75em;margin-top:13px;padding:.25em;z-index:2;line-height:1;display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-lightbox .dialog-lightbox-close-button svg{height:1em;width:1em}.elementor-lightbox .dialog-lightbox-close-button,.elementor-lightbox .elementor-swiper-button{color:var(--lightbox-ui-color);-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s;opacity:1}.elementor-lightbox .dialog-lightbox-close-button svg,.elementor-lightbox .elementor-swiper-button svg{fill:var(--lightbox-ui-color)}.elementor-lightbox .dialog-lightbox-close-button:hover,.elementor-lightbox .elementor-swiper-button:hover{color:var(--lightbox-ui-color-hover)}.elementor-lightbox .dialog-lightbox-close-button:hover svg,.elementor-lightbox .elementor-swiper-button:hover svg{fill:var(--lightbox-ui-color-hover)}.elementor-lightbox .swiper-container{height:100%}.elementor-lightbox .elementor-lightbox-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;position:relative;padding:70px;-webkit-box-sizing:border-box;box-sizing:border-box;height:100%;margin:auto}@media (max-width:767px){.elementor-lightbox .elementor-lightbox-item{padding:70px 0}}.elementor-lightbox .elementor-lightbox-image{max-height:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.elementor-lightbox .elementor-lightbox-image,.elementor-lightbox .elementor-lightbox-image:hover{opacity:1;-webkit-filter:none;filter:none;border:none}.elementor-lightbox .elementor-lightbox-image,.elementor-lightbox .elementor-video-container{-webkit-box-shadow:0 0 30px rgba(0,0,0,.3),0 0 8px -5px rgba(0,0,0,.3);box-shadow:0 0 30px rgba(0,0,0,.3),0 0 8px -5px rgba(0,0,0,.3);border-radius:2px}.elementor-lightbox .elementor-video-container{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}@media (min-width:1025px){.elementor-lightbox .elementor-video-container{width:75%}}@media (max-width:1024px){.elementor-lightbox .elementor-video-container{width:100%}}@media (min-width:768px) and (max-width:1024px){.elementor-lightbox .elementor-aspect-ratio-916 .elementor-video-container{width:70%}}.elementor-lightbox .elementor-swiper-button:focus{outline-width:1px}.elementor-lightbox .elementor-swiper-button-next,.elementor-lightbox .elementor-swiper-button-prev{height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:15%;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:var(--lightbox-navigation-icons-size)}.elementor-lightbox .elementor-swiper-button-prev{left:0}.elementor-lightbox .elementor-swiper-button-next{right:0}@media (max-width:767px){.elementor-lightbox .elementor-swiper-button:focus{outline:none}.elementor-lightbox .elementor-swiper-button-next,.elementor-lightbox .elementor-swiper-button-prev{width:20%}.elementor-lightbox .elementor-swiper-button-next i,.elementor-lightbox .elementor-swiper-button-prev i{padding:10px;background-color:rgba(0,0,0,.5)}.elementor-lightbox .elementor-swiper-button-prev{left:0;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-lightbox .elementor-swiper-button-next{right:0;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}}.elementor-slideshow__counter{color:currentColor;font-size:.75em;width:-webkit-max-content;width:-moz-max-content;width:max-content}.elementor-slideshow__footer,.elementor-slideshow__header{position:absolute;left:0;width:100%;padding:15px 20px;-webkit-transition:.3s;-o-transition:.3s;transition:.3s}.elementor-slideshow__footer{color:var(--lightbox-text-color)}.elementor-slideshow__header{color:var(--lightbox-ui-color);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;font-size:var(--lightbox-header-icons-size);padding-left:1em;padding-right:2.6em;top:0;-webkit-box-align:center;-ms-flex-align:center;align-items:center;z-index:10}.elementor-slideshow__header>i,.elementor-slideshow__header>svg{cursor:pointer;padding:.25em;margin:0 .35em}.elementor-slideshow__header>i{font-size:inherit}.elementor-slideshow__header>i:hover{color:var(--lightbox-ui-color-hover)}.elementor-slideshow__header>svg{-webkit-box-sizing:content-box;box-sizing:content-box;fill:var(--lightbox-ui-color);height:1em;width:1em}.elementor-slideshow__header>svg:hover{fill:var(--lightbox-ui-color-hover)}.elementor-slideshow__header .elementor-slideshow__counter{margin-right:auto}.elementor-slideshow__header .elementor-icon-share{z-index:5}.elementor-slideshow__share-menu{background-color:transparent;width:0;height:0;position:absolute;overflow:hidden;-webkit-transition:background-color .4s;-o-transition:background-color .4s;transition:background-color .4s}.elementor-slideshow__share-menu .elementor-slideshow__share-links a{color:#2c2c2c}.elementor-slideshow__share-links{display:block;position:absolute;min-width:200px;right:2.8em;top:3em;background-color:#fff;border-radius:3px;padding:14px 20px;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);opacity:0;-webkit-transform-origin:90% 10%;-ms-transform-origin:90% 10%;transform-origin:90% 10%;-webkit-transition:all .25s .1s;-o-transition:all .25s .1s;transition:all .25s .1s;-webkit-box-shadow:0 4px 15px rgba(0,0,0,.3);box-shadow:0 4px 15px rgba(0,0,0,.3)}.elementor-slideshow__share-links a{text-align:left;color:#55595c;font-size:12px;line-height:2.5;display:block;opacity:0;-webkit-transition:opacity .5s .1s;-o-transition:opacity .5s .1s;transition:opacity .5s .1s}.elementor-slideshow__share-links a:hover{color:#000}.elementor-slideshow__share-links a i,.elementor-slideshow__share-links a svg{margin-right:.75em}.elementor-slideshow__share-links a i{font-size:1.25em}.elementor-slideshow__share-links a svg{height:1.25em;width:1.25em}.elementor-slideshow__share-links:before{content:"";display:block;position:absolute;top:1px;right:.5em;border:.45em solid transparent;border-bottom-color:#fff;-webkit-transform:translateY(-100%) scaleX(.7);-ms-transform:translateY(-100%) scaleX(.7);transform:translateY(-100%) scaleX(.7)}.elementor-slideshow__footer{bottom:0;z-index:5;position:fixed}.elementor-slideshow__description,.elementor-slideshow__title{margin:0}.elementor-slideshow__title{font-size:16px;font-weight:700}.elementor-slideshow__description{font-size:14px}.elementor-slideshow--ui-hidden .elementor-slideshow__footer,.elementor-slideshow--ui-hidden .elementor-slideshow__header{opacity:0;pointer-events:none}.elementor-slideshow--ui-hidden .elementor-swiper-button-next,.elementor-slideshow--ui-hidden .elementor-swiper-button-prev{opacity:0}.elementor-slideshow--fullscreen-mode .elementor-video-container{width:100%}.elementor-slideshow--zoom-mode .elementor-slideshow__footer,.elementor-slideshow--zoom-mode .elementor-slideshow__header{background-color:rgba(0,0,0,.5)}.elementor-slideshow--zoom-mode .elementor-swiper-button-next,.elementor-slideshow--zoom-mode .elementor-swiper-button-prev{opacity:0;pointer-events:none}.elementor-slideshow--share-mode .elementor-slideshow__share-menu{top:0;left:0;width:100vw;height:100vh;opacity:1;cursor:default;background-color:rgba(0,0,0,.5)}.elementor-slideshow--share-mode .elementor-slideshow__share-links{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.elementor-slideshow--share-mode .elementor-slideshow__share-links,.elementor-slideshow--share-mode .elementor-slideshow__share-links a{opacity:1}.elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-twitter{color:#1da1f2}.elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-facebook{color:#3b5998}.elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-pinterest{color:#bd081c}.elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-download-bold{color:#a4afb7}.elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-twitter{fill:#1da1f2}.elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-facebook{fill:#3b5998}.elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-pinterest{fill:#bd081c}.elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-download-bold{fill:#a4afb7}.elementor-slideshow--share-mode .eicon-share-arrow{z-index:2}.animated{-webkit-animation-duration:1.25s;animation-duration:1.25s}.animated.animated-slow{-webkit-animation-duration:2s;animation-duration:2s}.animated.animated-fast{-webkit-animation-duration:.75s;animation-duration:.75s}.animated.infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.animated.reverse{animation-direction:reverse;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}@media (prefers-reduced-motion:reduce){.animated{-webkit-animation:none;animation:none}}.elementor-shape{overflow:hidden;position:absolute;left:0;width:100%;line-height:0;direction:ltr}.elementor-shape-top{top:-1px}.elementor-shape-top:not([data-negative=false]) svg{z-index:-1}.elementor-shape-bottom{bottom:-1px}.elementor-shape-bottom:not([data-negative=true]) svg{z-index:-1}.elementor-shape[data-negative=false].elementor-shape-bottom,.elementor-shape[data-negative=true].elementor-shape-top{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.elementor-shape svg{display:block;width:calc(100% + 1.3px);position:relative;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.elementor-shape .elementor-shape-fill{fill:#fff;-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center;-webkit-transform:rotateY(0deg);transform:rotateY(0deg)}#wp-admin-bar-elementor_edit_page>.ab-item:before{content:"\e813";font-family:eicons;top:3px;font-size:18px}#wp-admin-bar-elementor_edit_page .ab-submenu .ab-item{display:-webkit-box;display:-ms-flexbox;display:flex;width:200px}#wp-admin-bar-elementor_edit_page .elementor-edit-link-title{white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden;width:100%}#wp-admin-bar-elementor_edit_page .elementor-edit-link-type{background:#55595c;font-size:11px;line-height:9px;margin-top:6px;padding:4px 8px;border-radius:3px}#wp-admin-bar-elementor_inspector>.ab-item:before{content:"\f348";top:2px}#wpadminbar *{font-style:normal}.page-template-elementor_canvas.elementor-page:before{display:none}.elementor-post__thumbnail__link{-webkit-transition:none;-o-transition:none;transition:none}#left-area ul.elementor-icon-list-items,.elementor-edit-area .elementor-element ul.elementor-icon-list-items,.elementor .elementor-element ul.elementor-icon-list-items{padding:0}.e--ua-appleWebkit.rtl{--flex-right:flex-start}.e--ua-appleWebkit .elementor-share-buttons--align-right,.e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-right{--justify-content:var(--flex-right,flex-end)}.e--ua-appleWebkit .elementor-share-buttons--align-center,.e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-center{--justify-content:center}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-center .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-justify .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-right .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-center .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-right .elementor-grid{width:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:var(--justify-content,space-between);-ms-flex-pack:var(--justify-content,space-between);justify-content:var(--justify-content,space-between);margin-left:calc(-.5 * var(--grid-column-gap));margin-right:calc(-.5 * var(--grid-column-gap))}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-center .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-justify .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-right .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-center .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-right .elementor-grid-item{margin-left:calc(.5 * var(--grid-column-gap));margin-right:calc(.5 * var(--grid-column-gap))}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-left .elementor-grid{display:inline-block}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-left .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-left .elementor-grid-item{margin-left:0;margin-right:0}@media (max-width:1024px){.e--ua-appleWebkit .elementor-share-buttons-tablet--align-right,.e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-tablet-right{--justify-content:var(--flex-right,flex-end)}.e--ua-appleWebkit .elementor-share-buttons-tablet--align-center,.e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-tablet-center{--justify-content:center}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-center .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-justify .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-right .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-center .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-right .elementor-grid{width:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:var(--justify-content,space-between);-ms-flex-pack:var(--justify-content,space-between);justify-content:var(--justify-content,space-between);margin-left:calc(-.5 * var(--grid-column-gap));margin-right:calc(-.5 * var(--grid-column-gap))}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-center .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-justify .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-right .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-center .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-right .elementor-grid-item{margin-left:calc(.5 * var(--grid-column-gap));margin-right:calc(.5 * var(--grid-column-gap))}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-tablet--align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-left .elementor-grid{display:inline-block}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-tablet--align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-tablet--align-left .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-left .elementor-grid-item{margin-left:0;margin-right:0}}@media (max-width:767px){.e--ua-appleWebkit .elementor-share-buttons-mobile--align-right,.e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-mobile-right{--justify-content:var(--flex-right,flex-end)}.e--ua-appleWebkit .elementor-share-buttons-mobile--align-center,.e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-mobile-center{--justify-content:center}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-center .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-justify .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-right .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-center .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-right .elementor-grid{width:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:var(--justify-content,space-between);-ms-flex-pack:var(--justify-content,space-between);justify-content:var(--justify-content,space-between);margin-left:calc(-.5 * var(--grid-column-gap));margin-right:calc(-.5 * var(--grid-column-gap))}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-center .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-justify .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-right .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-center .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-right .elementor-grid-item{margin-left:calc(.5 * var(--grid-column-gap));margin-right:calc(.5 * var(--grid-column-gap))}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-mobile--align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-left .elementor-grid{display:inline-block}.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-mobile--align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-mobile--align-left .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-left .elementor-grid-item{margin-left:0;margin-right:0}}@media (max-width:767px){.elementor .elementor-hidden-mobile,.elementor .elementor-hidden-phone{display:none}}@media (min-width:-1px) and (max-width:-1px){.elementor .elementor-hidden-mobile_extra{display:none}}@media (min-width:768px) and (max-width:1024px){.elementor .elementor-hidden-tablet{display:none}}@media (min-width:-1px) and (max-width:-1px){.elementor .elementor-hidden-laptop,.elementor .elementor-hidden-tablet_extra{display:none}}@media (min-width:1025px) and (max-width:99999px){.elementor .elementor-hidden-desktop{display:none}}@media (min-width:-1px){.elementor .elementor-hidden-widescreen{display:none}}.elementor-widget-text-path{font-size:20px;text-align:var(--alignment,left)}.elementor-widget-text-path svg{width:var(--width);max-width:100%;height:auto;overflow:visible;word-spacing:var(--word-spacing);-webkit-transform:rotate(var(--rotate,0)) scaleX(var(--scale-x,1)) scaleY(var(--scale-y,1));-ms-transform:rotate(var(--rotate,0)) scaleX(var(--scale-x,1)) scaleY(var(--scale-y,1));transform:rotate(var(--rotate,0)) scaleX(var(--scale-x,1)) scaleY(var(--scale-y,1))}.elementor-widget-text-path svg path{vector-effect:non-scaling-stroke;fill:var(--path-fill,transparent);stroke:var(--stroke-color,transparent);stroke-width:var(--stroke-width,1px);-webkit-transition:var(--stroke-transition) stroke,var(--stroke-transition) fill;-o-transition:var(--stroke-transition) stroke,var(--stroke-transition) fill;transition:var(--stroke-transition) stroke,var(--stroke-transition) fill}.elementor-widget-text-path svg:hover path{--path-fill:var(--path-fill-hover);--stroke-color:var(--stroke-color-hover);--stroke-width:var(--stroke-width-hover)}.elementor-widget-text-path svg text{--fill:var(--text-color);fill:var(--fill);direction:var(--direction,ltr);-webkit-transition:var(--transition) stroke,var(--transition) stroke-width,var(--transition) fill;-o-transition:var(--transition) stroke,var(--transition) stroke-width,var(--transition) fill;transition:var(--transition) stroke,var(--transition) stroke-width,var(--transition) fill}.elementor-widget-text-path svg text:hover{--color:var(--text-color-hover,var(--text-color));--fill:var(--color);color:var(--color)}assets/css/editor-preview.min.css000064400000303020152377341010013100 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ .elementor-control-unit-1{width:27px}.elementor-control-unit-2{width:54px}.elementor-control-unit-3{width:81px}.elementor-control-unit-4{width:108px}.elementor-control-unit-5{max-width:400px;width:52%}.elementor-tags-list{display:none;position:absolute;width:260px;max-height:300px;overflow:auto;padding-bottom:5px;background-color:#fff;border:1px solid #a4afb7;border-radius:3px;z-index:10000}.elementor-tags-list__group-title{color:#495157;font-weight:700;font-size:12px;padding:10px 15px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-tags-list__group-title .eicon-info-circle{padding-right:5px;color:#71d7f7;font-size:14px}.elementor-tags-list__item{font-size:10px;padding:6px 15px;cursor:pointer}.elementor-tags-list__item:before{content:">";font-size:8px;padding-right:5px}.elementor-tags-list__item:hover{background-color:#e6e9ec}.elementor-tags-list__teaser{border-top:2px solid #d5dadf;padding-top:4px;margin-top:4px}.elementor-tags-list__teaser-title{color:#6d7882}.elementor-tags-list__teaser-text{padding:2px 15px 8px;line-height:1.5;font-size:12px}.elementor-tags-list__teaser-link{color:#93003c;text-decoration:underline;font-style:italic;font-weight:700}.elementor-dynamic-cover{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;height:27px;-webkit-box-sizing:border-box;box-sizing:border-box}.elementor-dynamic-cover__title{padding:0 8px;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden}.elementor-dynamic-cover__remove,.elementor-dynamic-cover__settings{color:#c2cbd2;cursor:pointer;-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s}.elementor-dynamic-cover__remove:hover,.elementor-dynamic-cover__settings:hover{color:#a4afb7}.elementor-control-type-wysiwyg .elementor-dynamic-cover{margin-top:10px}.elementor-tag-settings-popup{position:absolute;width:260px;background-color:#e6e9ec;-webkit-box-shadow:1px 1px 10px rgba(0,0,0,.3);box-shadow:1px 1px 10px rgba(0,0,0,.3);z-index:1}.elementor-tag-settings-popup:before{content:"";position:absolute;top:-20px;left:5px;border:10px solid transparent;border-bottom-color:#fff}.elementor-tag-settings-popup .elementor-control-type-section:first-child{margin:0}.elementor-tag-controls-stack-empty{background-color:#fff;padding:10px;font-size:13px;text-align:center}.elementor-control-dynamic-switcher{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-ms-flex-negative:0;flex-shrink:0;height:27px;cursor:pointer;border:1px solid #d5dadf;border-radius:3px;background:#fff}.elementor-control-dynamic-switcher.e-control-tool{height:20px;border:0}.elementor-control-dynamic-switcher-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-control-dynamic-switcher .eicon-database{font-size:12px}.elementor-control-dynamic-value .e-global__popover-toggle,.elementor-control-dynamic-value .elementor-control-dynamic-switcher,.elementor-control-dynamic-value .elementor-control-tag-area{display:none}.elementor-panel-box{margin-top:10px;background-color:#fff}.elementor-panel-box-content{padding:20px 20px 10px}.elementor-button{display:inline-block}.elementor-panel-alert{background-color:#fcfcfc;padding:15px;border-left:3px solid transparent;position:relative;font-size:12px;font-weight:300;font-style:italic;line-height:1.5;text-align:left;border-radius:0 3px 3px 0;-webkit-box-shadow:0 1px 4px 0 rgba(0,0,0,.07);box-shadow:0 1px 4px 0 rgba(0,0,0,.07)}.elementor-panel-alert a{color:inherit}.elementor-panel-alert.elementor-panel-alert-info{border-color:#71d7f7;background-color:#f3fcff}.elementor-panel-alert.elementor-panel-alert-success{border-color:#39b54a}.elementor-panel-alert.elementor-panel-alert-warning{border-color:#fcb92c}.elementor-panel-alert.elementor-panel-alert-danger{border-color:#d72b3f}.elementor-label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em;text-transform:capitalize}.elementor-label.elementor-label-default{background-color:#a4afb7}.elementor-label.elementor-label-info{background-color:#5bc0de}.elementor-label.elementor-label-success{background-color:#5cb85c}.elementor-label.elementor-label-warning{background-color:#f0ad4e}.elementor-label.elementor-label-danger{background-color:#d9534f}.elementor-control-field-description,.elementor-descriptor{font-size:11px;font-style:italic;line-height:1.4;color:#a4afb7}.elementor-controls-popover{display:none;position:absolute;-webkit-box-shadow:0 2px 15px rgba(0,0,0,.3);box-shadow:0 2px 15px rgba(0,0,0,.3);border-radius:3px;left:0;right:0;margin:-4px auto 5px;padding-top:15px;width:90%;z-index:10000;background-color:#fff}.elementor-controls-popover:before{content:"";position:absolute;top:-16px;right:22px;border:8px solid transparent;border-bottom-color:#fff}.elementor-controls-popover div.elementor-control{background-color:transparent}.elementor-controls-popover div.elementor-control:before{content:none}#elementor-controls .pojo-widget-button-collapse{display:none}#elementor-panel-global .elementor-nerd-box .elementor-nerd-box-icon{margin-top:20px}.elementor-control{--control-title-size:12px;background-color:#fff;position:relative;padding:0 20px 15px}.elementor-control a{font-weight:500;text-decoration:none;border-bottom:1px dotted transparent;-webkit-transition:all .3s ease-in-out;-o-transition:all ease-in-out .3s;transition:all .3s ease-in-out}.elementor-control a:hover{border-bottom-color:inherit}.elementor-control a.elementor-responsive-switcher{border-bottom:0}.elementor-control .elementor-control-content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.elementor-control .elementor-control-title{font-size:var(--control-title-size);line-height:1;margin-right:5px}.elementor-control .elementor-control-spinner{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-control.elementor-control-type-divider{padding:0;background-color:transparent}.elementor-control.elementor-control-type-divider .elementor-control-content{border:solid #e6e9ec;border-width:1px 0 0;background-color:#fff;height:15px}.elementor-control.elementor-control-separator-default:not(.elementor-control-type-divider).elementor-control-wp{margin-top:15px}.elementor-control.elementor-control-separator-default:not(.elementor-control-type-divider).elementor-control-wp:before{content:"";height:1px;display:block;margin-bottom:15px;background-color:transparent}.elementor-control.elementor-control-separator-before{padding-top:15px}.elementor-control.elementor-control-separator-before:before{content:"";position:absolute;height:1px;width:100%;top:0;left:0;background-color:#e6e9ec}.elementor-control.elementor-control-separator-after:after{content:"";position:absolute;height:1px;width:100%;bottom:0;left:0;background-color:#e6e9ec}.elementor-control.elementor-control-separator-after+.elementor-control-type-tabs+.elementor-control-separator-default,.elementor-control.elementor-control-separator-after:not(.elementor-hidden-control)+.elementor-control-separator-default{padding-top:15px}.elementor-control.elementor-control-deprecated,.elementor-control.elementor-control-deprecated .elementor-control-field-description{color:#b01b1b}.elementor-control.elementor-control-hidden-label>*>*>.elementor-control-title,.elementor-control.elementor-control-hidden-label>*>.elementor-control-title,.elementor-control.elementor-hidden-control{display:none}.elementor-control.elementor-control-type-heading .elementor-control-title{font-weight:700;margin:0}body:not(.elementor-device-desktop) .elementor-control.elementor-control-responsive-desktop,body:not(.elementor-device-laptop) .elementor-control.elementor-control-responsive-laptop,body:not(.elementor-device-mobile) .elementor-control.elementor-control-responsive-mobile,body:not(.elementor-device-mobile_extra) .elementor-control.elementor-control-responsive-mobile_extra,body:not(.elementor-device-tablet) .elementor-control.elementor-control-responsive-tablet,body:not(.elementor-device-tablet_extra) .elementor-control.elementor-control-responsive-tablet_extra,body:not(.elementor-device-widescreen) .elementor-control.elementor-control-responsive-widescreen{display:none}.elementor-control.elementor-control-type-select .elementor-control-input-wrapper{position:relative}.elementor-control.elementor-control-type-select .elementor-control-input-wrapper select{appearance:none;-webkit-appearance:none;-moz-appearance:none;font-size:12px;font-family:inherit;font-weight:inherit;font-style:inherit;text-transform:inherit;letter-spacing:inherit;line-height:inherit;-ms-flex-preferred-size:100%;flex-basis:100%;padding-left:5px;padding-right:20px;cursor:pointer}.elementor-control.elementor-control-type-select .elementor-control-input-wrapper select.e-select-placeholder{color:#a4afb7}.elementor-control.elementor-control-type-select .elementor-control-input-wrapper option.e-option-placeholder{display:none}.elementor-control.elementor-control-type-select .elementor-control-input-wrapper:after{font-family:eicons;content:"\e8ad";font-size:12px;position:absolute;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);right:5px;pointer-events:none}.elementor-control-custom_attributes_pro .elementor-nerd-box-message,.elementor-control-custom_css_pro .elementor-nerd-box-message{margin-top:5px}.elementor-control.elementor-control-custom_css_title{font-size:12px}.elementor-control.elementor-open .elementor-panel-heading-toggle .eicon:before,.elementor-panel-scheme-item.elementor-open .elementor-panel-heading-toggle .eicon:before{content:"\e92a"}.elementor-control:not(.elementor-open) .elementor-panel-heading-toggle .eicon:before,.elementor-panel-scheme-item:not(.elementor-open) .elementor-panel-heading-toggle .eicon:before{content:"\e90a"}.elementor-panel-heading{display:table;table-layout:fixed;height:40px;padding:0 20px;width:100%;border-bottom:1px solid #e6e9ec;cursor:pointer}.elementor-panel-heading>*{display:table-cell;vertical-align:middle}.elementor-panel-heading-toggle{width:20px;color:#495157}.elementor-panel-heading-title{color:#495157;font-weight:700}.elementor-control-wp{line-height:1.5}.elementor-control-wp p{margin:15px 0}.elementor-control-field{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-label-block>.elementor-control-content>.elementor-control-field{-ms-flex-wrap:wrap;flex-wrap:wrap}.elementor-label-block>.elementor-control-content>.elementor-control-field>.elementor-control-input-wrapper{width:100%;margin-top:10px}.elementor-label-block>.elementor-control-content>.elementor-control-field>.elementor-control-input-wrapper>.elementor-choices label{width:auto;-webkit-box-flex:1;-ms-flex:1 1 27px;flex:1 1 27px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-label-block.elementor-control-hidden-label.elementor-label-block>.elementor-control-content>.elementor-control-field>.elementor-control-input-wrapper,.elementor-label-block.elementor-control-hidden-label:not(.elementor-control-dynamic)>.elementor-control-content>.elementor-control-field>.elementor-control-input-wrapper{margin-top:0}.elementor-label-inline>.elementor-control-content>.elementor-control-field>.elementor-control-title{-ms-flex-negative:0;flex-shrink:0}.elementor-label-inline>.elementor-control-content>.elementor-control-field>.elementor-control-input-wrapper{margin-left:auto}.elementor-control-field-description{margin-top:10px}.elementor-group-control-attachment_alert .elementor-control-field-description{margin-top:0}.elementor-required{color:#b01b1b}.elementor-units-choices{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;text-align:right}.elementor-units-choices input{display:none}.elementor-units-choices input:not(:checked)+label{color:#a4afb7}.elementor-units-choices input.e-units-placeholder+label{color:#c2cbd2;text-decoration:underline}.elementor-units-choices input:checked+label{text-decoration:underline}.elementor-units-choices label{cursor:pointer;padding:0 2px;text-transform:uppercase;font-size:9px}.elementor-control-responsive-switchers{--selected-option:0;--pointer-position:var(--selected-option);position:relative;width:2em;height:2em;margin:calc(-2em + var(--control-title-size)) 0;margin-right:5px}.elementor-control-responsive-switchers__holder{position:absolute;width:100%;top:0;background-color:#fff;border-radius:3px;-webkit-transition:.15s;-o-transition:.15s;transition:.15s;border:1px solid transparent}.elementor-control-responsive-switchers.elementor-responsive-switchers-open{z-index:11000}.elementor-control-responsive-switchers.elementor-responsive-switchers-open .elementor-responsive-switcher{height:2em;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);opacity:1}.elementor-control-responsive-switchers.elementor-responsive-switchers-open .elementor-responsive-switcher:hover{color:#71d7f7}.elementor-control-responsive-switchers.elementor-responsive-switchers-open .elementor-control-responsive-switchers__holder{top:calc(-1 * var(--selected-option) * 2em);-webkit-box-shadow:0 0 3px rgba(0,0,0,.2);box-shadow:0 0 3px rgba(0,0,0,.2)}.elementor-responsive-switcher{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;position:relative;z-index:2;cursor:pointer;height:0;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);opacity:0;-webkit-transition:.15s;-o-transition:.15s;transition:.15s;font-size:12px}a.elementor-responsive-switcher{color:#a4afb7}a.elementor-responsive-switcher:hover{color:#71d7f7}.elementor-device-widescreen .elementor-responsive-switcher.elementor-responsive-switcher-widescreen{height:2em;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);opacity:1}.elementor-device-widescreen .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-widescreen{color:#71d7f7}.elementor-device-desktop .elementor-responsive-switcher.elementor-responsive-switcher-desktop{height:2em;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);opacity:1}.elementor-device-desktop .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-desktop{color:#71d7f7}.elementor-device-laptop .elementor-responsive-switcher.elementor-responsive-switcher-laptop{height:2em;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);opacity:1}.elementor-device-laptop .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-laptop{color:#71d7f7}.elementor-device-tablet_extra .elementor-responsive-switcher.elementor-responsive-switcher-tablet_extra{height:2em;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);opacity:1}.elementor-device-tablet_extra .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-tablet_extra{color:#71d7f7}.elementor-device-tablet .elementor-responsive-switcher.elementor-responsive-switcher-tablet{height:2em;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);opacity:1}.elementor-device-tablet .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-tablet{color:#71d7f7}.elementor-device-mobile_extra .elementor-responsive-switcher.elementor-responsive-switcher-mobile_extra{height:2em;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);opacity:1}.elementor-device-mobile_extra .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-mobile_extra{color:#71d7f7}.elementor-device-mobile .elementor-responsive-switcher.elementor-responsive-switcher-mobile{height:2em;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);opacity:1}.elementor-device-mobile .elementor-responsive-switchers-open:not(:hover) .elementor-responsive-switcher.elementor-responsive-switcher-mobile{color:#71d7f7}.elementor-update-preview{margin:15px 15px 0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-update-preview-button-wrapper{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;text-align:right}.elementor-update-preview-button{padding:8px 15px;text-transform:uppercase}.elementor-control-direction-ltr input,.elementor-control-direction-ltr textarea{direction:ltr}.elementor-control-direction-rtl input,.elementor-control-direction-rtl textarea{direction:rtl}.elementor-control-type-button .elementor-control-input-wrapper{text-align:right}.elementor-control-type-button .elementor-button{width:auto;height:26px}.elementor-control-type-choose.elementor-label-block .elementor-choices{width:100%}.elementor-choices{display:-webkit-box;display:-ms-flexbox;display:flex;height:27px;line-height:27px;text-align:center;border-spacing:1px;border-radius:3px;overflow:hidden}.elementor-choices .elementor-choices-label{border:1px solid #d5dadf;border-right:none;font-size:12px;-webkit-transition:all .5s;-o-transition:all .5s;transition:all .5s;cursor:pointer;overflow:hidden}.elementor-choices .elementor-choices-label:nth-child(2){border-top-left-radius:3px;border-bottom-left-radius:3px}.elementor-choices .elementor-choices-label:last-child{border-right:1px solid #d5dadf;border-top-right-radius:3px;border-bottom-right-radius:3px}.elementor-choices input{display:none}.elementor-choices input.e-choose-placeholder+.elementor-choices-label{color:#fff;background-color:#c2cbd2;border-color:#c2cbd2}.elementor-choices input:checked+.elementor-choices-label{color:#fff;background-color:#a4afb7;border-color:#a4afb7}.elementor-label-inline .elementor-choices{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.rtl .elementor-control-type-choose[class*=elementor-control-align] .elementor-choices,.rtl .elementor-control-type-choose[class*=elementor-control-position] .elementor-choices,.rtl .elementor-control-type-choose[class*=elementor-control-text_align] .elementor-choices{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.rtl .elementor-control-type-choose[class*=elementor-control-align] .elementor-choices .elementor-choices-label:nth-child(2),.rtl .elementor-control-type-choose[class*=elementor-control-position] .elementor-choices .elementor-choices-label:nth-child(2),.rtl .elementor-control-type-choose[class*=elementor-control-text_align] .elementor-choices .elementor-choices-label:nth-child(2){border-right:1px solid #d5dadf;border-radius:3px 0 0 3px}.rtl .elementor-control-type-choose[class*=elementor-control-align] .elementor-choices .elementor-choices-label:last-child,.rtl .elementor-control-type-choose[class*=elementor-control-position] .elementor-choices .elementor-choices-label:last-child,.rtl .elementor-control-type-choose[class*=elementor-control-text_align] .elementor-choices .elementor-choices-label:last-child{border-right:none;border-radius:0 3px 3px 0}.elementor-control-type-color.e-control-global .e-global__popover-toggle~.pickr{border-radius:0 3px 3px 0;-ms-flex-negative:0;flex-shrink:0}.elementor-control-type-color .elementor-control-title{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-control-type-color .elementor-control-input-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-control-type-color .elementor-control-dynamic-switcher{border-left-width:0;border-radius:0 3px 3px 0}.elementor-control-type-color.elementor-control-dynamic .pickr{border-radius:3px 0 0 3px}.elementor-group-control-css-filter .elementor-slider{height:6px;-webkit-box-shadow:0 0 1px 1px inset rgba(0,0,0,.2);box-shadow:inset 0 0 1px 1px rgba(0,0,0,.2)}.elementor-group-control-css-filter .elementor-control-content>.elementor-control-field>.elementor-control-input-wrapper{margin-top:0;margin-bottom:5px}.elementor-group-control-blur .elementor-slider{background:url(../images/blur.png);background-size:cover;background-position:50%}.elementor-group-control-contrast .elementor-slider{background:url(../images/contrast.png);background-size:100% 100%}.elementor-group-control-hue .elementor-slider{background-image:-o-linear-gradient(left,red,orange,#ff0,#adff2f,#32cd32,#00bfff,#00f,#9400d3 95%);background-image:-webkit-gradient(linear,left top,right top,from(red),color-stop(orange),color-stop(#ff0),color-stop(#adff2f),color-stop(#32cd32),color-stop(#00bfff),color-stop(#00f),color-stop(95%,#9400d3));background-image:linear-gradient(90deg,red,orange,#ff0,#adff2f,#32cd32,#00bfff,#00f,#9400d3 95%)}.elementor-group-control-saturate .elementor-slider{background-image:-o-linear-gradient(left,grey,red);background-image:-webkit-gradient(linear,left top,right top,from(grey),to(red));background-image:linear-gradient(90deg,grey,red)}.elementor-group-control-brightness .elementor-slider{background-image:-o-linear-gradient(left,#000,#fff);background-image:-webkit-gradient(linear,left top,right top,from(#000),to(#fff));background-image:linear-gradient(90deg,#000,#fff)}.elementor-control-type-dimensions .elementor-control-dimensions{overflow:hidden}.elementor-control-type-dimensions li{float:left;width:20%}.elementor-control-type-dimensions li .elementor-link-dimensions,.elementor-control-type-dimensions li input{display:block;text-align:center;width:100%;border-color:#d5dadf;height:27px}.elementor-control-type-dimensions li input{border-left:none;border-radius:0;padding:4px 0}.elementor-control-type-dimensions li input:focus{border-left:1px solid;border-color:#a4afb7;margin-left:-1px;width:calc(100% + 1px)}.elementor-control-type-dimensions li input:focus+.elementor-control-dimension-label{color:#a4afb7}.elementor-control-type-dimensions li .elementor-link-dimensions{border:1px solid #d5dadf;border-left:none;background-color:#fff;padding:0;outline:none;border-radius:0 3px 3px 0;cursor:pointer}.elementor-control-type-dimensions li:first-child input{border-left:1px solid #d5dadf;border-radius:3px 0 0 3px}.elementor-control-type-dimensions li:first-child input:focus{border-color:#a4afb7;margin-left:0;width:100%}.elementor-control-type-dimensions .elementor-control-dimension-label{display:block;text-align:center;color:#d5dadf;font-size:9px;text-transform:uppercase;padding-top:5px}.elementor-control-type-dimensions .elementor-link-dimensions.unlinked{background-color:#fff}.elementor-control-type-dimensions .elementor-link-dimensions.unlinked .elementor-linked{display:none}.elementor-control-type-dimensions .elementor-link-dimensions:not(.unlinked){background-color:#a4afb7;border-color:#a4afb7}.elementor-control-type-dimensions .elementor-link-dimensions:not(.unlinked) .elementor-unlinked{display:none}.elementor-control-type-dimensions .elementor-link-dimensions .elementor-linked{color:#fff}.elementor-control-type-icons .elementor-control-media__preview>*{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.elementor-control-type-icons .elementor-control-media__preview i{font-size:70px;color:#6d7882}.elementor-control-type-icons .elementor-control-media__preview svg{height:75%}.elementor-control-type-icons .elementor-control-icons--inline__svg i.eicon-upload{font-size:15px}.elementor-control-type-gallery .elementor-control-media__content{border:1px solid #d5dadf;border-radius:3px}.elementor-control-type-gallery .elementor-control-gallery-status{font-size:12px;height:27px;padding-left:10px;border-bottom:1px solid #d5dadf;display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-control-type-gallery .elementor-control-gallery-status>*{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-control-type-gallery .elementor-control-gallery-status-title{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-control-type-gallery .elementor-control-gallery-content{position:relative;overflow:hidden}.elementor-control-type-gallery .elementor-control-gallery-content:not(:hover) .elementor-control-gallery-edit{opacity:0}.elementor-control-type-gallery .elementor-control-gallery-thumbnails{display:grid;grid-template-columns:repeat(auto-fill,minmax(48px,1fr));grid-gap:10px;cursor:pointer;padding:10px}.elementor-control-type-gallery .elementor-control-gallery-thumbnail{width:48px;height:48px;background-size:cover;background-position:50% 50%}.elementor-control-type-gallery .elementor-control-gallery-edit{position:absolute;top:0;bottom:0;left:0;right:0;background-color:rgba(109,120,130,.3);padding:10px;font-size:11px;-webkit-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out;transition:all .3s ease-in-out;pointer-events:none;cursor:pointer;opacity:1}.elementor-control-type-gallery .elementor-control-gallery-edit span{position:absolute;top:10px;right:10px;width:21px;height:21px;background-color:hsla(0,0%,100%,.9);color:#a4afb7;-webkit-box-shadow:0 0 7px 0 rgba(0,0,0,.2);box-shadow:0 0 7px 0 rgba(0,0,0,.2);border-radius:3px}.elementor-control-type-gallery .elementor-control-gallery-edit span i{font-size:11px;padding:5px}.elementor-control-type-gallery .elementor-control-gallery-add{width:48px;height:48px;color:#fff;background-color:#d5dadf;font-size:14px;border-radius:0}.elementor-control-type-gallery .elementor-control-gallery-add:hover{background-color:#c2cbd2}.elementor-control-type-gallery .elementor-control-gallery-add i{margin:0;color:#a4afb7}.elementor-control-type-gallery.elementor-gallery-empty .elementor-control-gallery-clear,.elementor-control-type-gallery.elementor-gallery-empty .elementor-control-gallery-edit,.elementor-control-type-gallery.elementor-gallery-empty .elementor-control-gallery-thumbnails{display:none}.elementor-control-type-gallery.elementor-gallery-empty .elementor-control-gallery-content{padding:10px}.elementor-control-type-gallery.elementor-gallery-has-images .elementor-control-gallery-add{display:none}.elementor-control-type-gallery.elementor-control-dynamic .elementor-control-gallery-clear{border-left:1px solid #d5dadf}.elementor-control-type-gallery .elementor-control-gallery-clear{cursor:pointer;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-control-type-gallery .elementor-control-gallery-clear:hover{color:#b01b1b}.elementor-control-type-gallery .elementor-control-dynamic-switcher{border:1px solid #d5dadf;border-top:none;border-right:none;border-radius:0 3px 0 0}.e-global__popover{width:288px;z-index:1;font-size:12px;padding-left:10px}.e-global__popover-toggle{border:1px solid #d5dadf;border-right:0;border-radius:3px 0 0 3px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;cursor:pointer}.e-global__popover-toggle--active i{color:#71d7f7}.e-global__popover-container{-webkit-box-shadow:0 2px 15px rgba(0,0,0,.3);box-shadow:0 2px 15px rgba(0,0,0,.3);border-radius:3px;background-color:#fff;padding-bottom:5px}.e-global__popover-title{padding:15px 20px;font-weight:500;color:#6d7882;border-bottom:1px solid #e6e9ec;display:-webkit-box;display:-ms-flexbox;display:flex}.e-global__popover-title>i{margin-right:5px;color:#d5dadf}.e-global__popover-title-text{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.e-global__popover-info{margin-right:5px;display:inline-block}.e-global__popover-info-tooltip{width:270px;z-index:1;background-color:rgba(0,0,0,.9);color:#fff;padding:20px;border-radius:3px}.e-global__popover-info-tooltip:after{content:"";position:absolute;bottom:-17px;left:16px;border:10px solid transparent;border-top-color:rgba(0,0,0,.9)}.e-global__popover-info i{color:#d5dadf;font-size:13px}.e-global__preview-items-container{max-height:260px;overflow-y:auto;margin-top:5px}.e-global__preview-items-container::-webkit-scrollbar{width:7px}.e-global__preview-items-container::-webkit-scrollbar-thumb{background-color:#c2cbd2;border-radius:10px}.e-global__manage-button{font-weight:500;cursor:pointer}.e-global__manage-button:hover i{color:#4ab7f4}.e-global__manage-button i{color:#6d7882}.e-global__typography{padding:5px 10px 5px 35px;white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden}.e-global__typography.e-global__preview-item--selected:before{font-family:eicons;font-size:13px;content:"\e90e";position:absolute;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);top:50%;left:12px}.e-global__color{margin:5px auto;padding:5px 20px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.e-global__color:first-child{margin-top:5px}.e-global__color:last-child{margin-bottom:10px}.e-global__color-preview-container{height:20px;width:20px;border-radius:3px;border:1px solid rgba(0,0,0,.1);margin-right:10px;-ms-flex-negative:0;flex-shrink:0;position:relative}.e-global__color-preview-color,.e-global__color-preview-transparent-bg{border-radius:3px;height:100%;width:100%;position:absolute;top:0;left:0}.e-global__color-preview-transparent-bg{background-image:-o-linear-gradient(45deg,#ddd 25%,transparent 0,transparent 75%,#ddd 0,#ddd),-o-linear-gradient(45deg,#ddd 25%,transparent 0,transparent 75%,#ddd 0,#ddd);background-image:linear-gradient(45deg,#ddd 25%,transparent 0,transparent 75%,#ddd 0,#ddd),linear-gradient(45deg,#ddd 25%,transparent 0,transparent 75%,#ddd 0,#ddd);background-size:12px 12px;background-position:0 0,6px 6px}.e-global__color-title{font-weight:500;color:#6d7882;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden;padding-right:10px}.e-global__color-hex{font-size:10px;font-weight:500;color:#c2cbd2}.e-global__color .pcr-button{background-color:#fff}.e-global__color.e-global__preview-item--selected .e-global__color-preview-container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#fff}.e-global__color.e-global__preview-item--selected .e-global__color-preview-container:before{font-family:eicons;font-size:13px;content:"\e90e";text-shadow:0 0 1px #000;z-index:1}.e-global__preview-item{cursor:pointer;position:relative}.e-global__preview-item:hover{background-color:#f1f3f5}.e-global__preview-item:hover .e-global__color-hex{color:#a4afb7}.e-global__confirm-add .dialog-buttons-wrapper>.dialog-button.dialog-confirm-ok{color:#39b54a}.e-global__confirm-delete i{color:#b01b1b}.e-global__confirm-message-text i{color:#fcb92c}.e-global__confirm-input-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:1px solid #a4afb7;border-radius:3px;margin-top:10px;padding:2px}.e-global__confirm-input-wrapper input{font-family:Roboto,Arial,sans-serif;font-weight:500;font-size:12px;padding:2px;border:0}.e-control-global .elementor-control-input-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;max-width:135px;width:100%}.e-control-global.elementor-control .elementor-control-input-wrapper{direction:ltr}.e-control-global .elementor-control-spinner{margin-right:4px}.elementor-control-type-hidden{display:none!important}.elementor-control-type-icon .select2-selection__rendered .eicon{margin-right:3px}.elementor-control-type-image_dimensions .elementor-control-field-description{margin:0 0 15px;line-height:1.4}.elementor-control-type-image_dimensions .elementor-control-input-wrapper{overflow:hidden}.elementor-control-type-image_dimensions .elementor-image-dimensions-field{width:65px;float:left}.elementor-control-type-image_dimensions .elementor-image-dimensions-field input:focus+.elementor-image-dimensions-field-description{color:#a4afb7}.elementor-control-type-image_dimensions .elementor-image-dimensions-separator{width:20px;text-align:center;float:left;padding-top:4px}.elementor-control-type-image_dimensions .elementor-image-dimensions-field-description{display:block;text-transform:uppercase;margin-top:5px;color:#d5dadf;font-size:9px;text-align:center}.elementor-control-type-image_dimensions .elementor-image-dimensions-apply-button{float:right;height:27px;width:65px}.elementor-control-media.elementor-media-empty .elementor-control-media-area .elementor-control-media__content__remove,.elementor-control-media.elementor-media-empty .elementor-control-media-area .elementor-control-media__remove,.elementor-control-media:not(.elementor-media-empty) .elementor-control-media__content__upload-button{display:none}.elementor-control-media .elementor-control-input-wrapper{border:1px solid #d5dadf}.elementor-control-media .eicon-plus-circle{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);color:#fff;font-size:20px}.elementor-control-media__content__upload-button{background-color:#d5dadf}.elementor-control-media__preview{height:100%;background-size:cover;background-position:50%}.elementor-control-media-area{background-image:-o-linear-gradient(45deg,#ddd 25%,transparent 0,transparent 75%,#ddd 0,#ddd),-o-linear-gradient(45deg,#ddd 25%,transparent 0,transparent 75%,#ddd 0,#ddd);background-image:linear-gradient(45deg,#ddd 25%,transparent 0,transparent 75%,#ddd 0,#ddd),linear-gradient(45deg,#ddd 25%,transparent 0,transparent 75%,#ddd 0,#ddd);background-size:16px 16px;background-position:0 0,8px 8px;background-color:#f6f6f6}.elementor-control-media-area:not(:hover) .elementor-control-media__remove{display:none}.elementor-control-media-area .eicon-video-camera{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);color:hsla(0,0%,100%,.7);font-size:21px}.elementor-control-media .elementor-control-media__content{cursor:pointer;overflow:hidden}.elementor-control-media .elementor-control-media__content:hover:after{content:"";position:absolute;top:0;bottom:0;left:0;right:0;background-color:rgba(0,0,0,.2);pointer-events:none}.elementor-control-media .elementor-control-media__content:not(:hover) .elementor-control-media__tools{bottom:-30px}.elementor-control-media__content,.elementor-control-media__tools{-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.elementor-control-media__tools{position:absolute;bottom:0;left:0;right:0;height:27px}.elementor-control-media__tools>:not(:first-child){margin-left:1px}.elementor-control-media__tool{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;color:#fff;background-color:rgba(109,120,130,.85);font-size:11px;-webkit-transition:background .3s;-o-transition:background .3s;transition:background .3s}.elementor-control-media__tool:hover{background-color:rgba(109,120,130,.95)}.elementor-control-media__remove{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.elementor-control-media__content__remove{position:absolute;z-index:1;top:10px;right:10px;width:20px;height:20px;font-size:11px;color:#a4afb7;background-color:hsla(0,0%,100%,.9);border-radius:3px;-webkit-box-shadow:0 0 7px 0 rgba(0,0,0,.1);box-shadow:0 0 7px 0 rgba(0,0,0,.1)}.elementor-control-media__content__remove:hover{background-color:#fff;-webkit-box-shadow:0 0 5px 0 rgba(0,0,0,.4);box-shadow:0 0 5px 0 rgba(0,0,0,.4)}.elementor-control-media.elementor-media-empty .elementor-control-file-area{display:none}.elementor-control-media__file{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;margin-top:10px;border:1px solid #d5dadf}.elementor-control-media__file__content{padding-left:5px;font-size:12px}.elementor-control-media__file__content__label{color:#a4afb7}.elementor-control-media__file__content__info{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-weight:500}.elementor-control-media__file__content__info__icon{margin-right:5px}.elementor-control-media__file__controls{display:-webkit-box;display:-ms-flexbox;display:flex;border-left:1px solid #d5dadf}.elementor-control-media__file__controls__remove,.elementor-control-media__file__controls__upload-button{width:27px;height:27px;cursor:pointer;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-control-media__file__controls__upload-button{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-control-media__file__controls__remove{border-right:1px solid #d5dadf}.elementor-control-media.elementor-media-empty .elementor-control-media__file__content__info,.elementor-control-media.elementor-media-empty .elementor-control-media__file__controls__remove,.elementor-control-media:not(.elementor-media-empty) .elementor-control-media__file__content__label{display:none}.elementor-control-media .elementor-control-dynamic-switcher{border:none;border-radius:0;background-color:rgba(109,120,130,.85);color:#fff}.elementor-control-media .elementor-control-dynamic-switcher:hover{background-color:rgba(109,120,130,.95)}.elementor-control-type-media.elementor-control-dynamic-value .elementor-control-input-wrapper{border:none}.elementor-control:not(.elementor-control-type-icons) .elementor-control-media__preview{background-color:#d5dadf}.elementor-control-type-number.elementor-control-dynamic input{border-radius:3px 0 0 3px;border-right:none}.elementor-control-type-number.elementor-control-dynamic .elementor-control-dynamic-switcher{border-radius:0 3px 3px 0}.elementor-control-type-order .elementor-control-oreder-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-control-type-order input{display:none}.elementor-control-type-order input:checked+.elementor-control-order-label{-webkit-transform:scaleY(-1);-ms-transform:scaleY(-1);transform:scaleY(-1)}.elementor-control-type-order select{border-radius:3px 0 0 3px}.elementor-control-type-order select:not(:focus)~.elementor-control-order-label{border-color:#d5dadf}.elementor-control-type-order select:focus~.elementor-control-order-label{border-color:#a4afb7}.elementor-control-type-order .elementor-control-order-label{position:relative;padding:0;width:40px;border:1px solid;font-size:10px;border-radius:0 3px 3px 0;margin-left:-3px;background-color:#fff;cursor:pointer}.elementor-control-type-order .elementor-control-order-label i{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.elementor-control-type-popover_toggle input{display:none}.elementor-control-type-popover_toggle label{cursor:pointer}.elementor-control-type-popover_toggle .elementor-control-input-wrapper{direction:rtl}.elementor-control-type-popover_toggle .elementor-control-popover-toggle-toggle:checked+.elementor-control-popover-toggle-toggle-label{color:#71d7f7}.elementor-control-type-popover_toggle .elementor-control-popover-toggle-toggle:not(:checked)~.elementor-control-popover-toggle-reset-label{display:none}.elementor-control-type-popover_toggle .elementor-control-popover-toggle-reset-label{color:#c2cbd2;margin-right:5px}.elementor-control-type-popover_toggle .elementor-control-popover-toggle-toggle-label{height:27px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border-radius:3px;border:1px solid #d5dadf}.elementor-controls-popover.e-controls-popover--typography{padding-top:0}.e-control-global .elementor-control-popover-toggle-toggle-label{border-radius:0 3px 3px 0;-ms-flex-negative:0;flex-shrink:0}.elementor-control-type-repeater .elementor-control:not(.elementor-control-type-tab){padding-right:10px;padding-left:10px;padding-bottom:10px}.elementor-control-type-repeater.elementor-repeater-has-minimum-rows .elementor-repeater-tool-remove{display:none}.elementor-control-type-repeater .elementor-repeater-fields{margin:10px 0}.elementor-control-type-repeater .elementor-repeater-row-controls{border:1px solid #d5dadf;border-top:0 solid #d5dadf;padding-top:15px}.elementor-control-type-repeater .elementor-repeater-row-controls:not(.editable){display:none}.elementor-control-type-repeater .elementor-repeater-row-tools{display:table;table-layout:fixed;width:100%;color:#556068;background-color:#d5dadf;height:40px;border-spacing:1px;-webkit-transition:all .5s;-o-transition:all .5s;transition:all .5s}.elementor-control-type-repeater .elementor-repeater-row-tools:hover{background-color:#a4afb7}.elementor-control-type-repeater .elementor-repeater-row-tools>div{display:table-cell;text-align:center;vertical-align:middle;cursor:pointer}.elementor-control-type-repeater .elementor-repeater-row-tools>div:not(.elementor-repeater-row-handle-sortable){background-color:#fff}.elementor-control-type-repeater .elementor-repeater-row-tools>div:hover{opacity:.95}.elementor-control-type-repeater .elementor-repeater-row-tools .elementor-repeater-row-item-title{text-align:left;padding:0 10px;font-size:12px;white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden}.elementor-control-type-repeater .elementor-repeater-row-tools .elementor-repeater-row-item-title .eicon,.elementor-control-type-repeater .elementor-repeater-row-tools .elementor-repeater-row-item-title i,.elementor-control-type-repeater .elementor-repeater-row-tools .elementor-repeater-row-item-title svg{margin-right:5px}.elementor-control-type-repeater .elementor-repeater-row-tools .elementor-repeater-row-item-title img[src$=svg]{width:1em}.elementor-control-type-repeater .elementor-repeater-row-tools .elementor-repeater-row-tool{width:40px}.elementor-control-type-repeater .elementor-repeater-row-tools .elementor-repeater-row-handle-sortable{cursor:move;width:10px;color:#fff}.elementor-control-type-repeater .elementor-button-wrapper{text-align:center;padding-top:5px}.elementor-control-type-section{margin-top:10px;padding:0}.elementor-control-type-section.elementor-open{padding-bottom:15px}.elementor-control-type-section+.elementor-control:not(.elementor-control-type-section):before{display:none}.elementor-shadow-box .elementor-shadow-slider{margin-top:10px}.elementor-shadow-box .elementor-color-picker-wrapper .elementor-control-title{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-control-type-slider.elementor-control-dynamic input{border-radius:3px 0 0 3px}.elementor-control-type-slider .elementor-control-unit-2{width:21%}.elementor-control-type-slider.elementor-control-type-slider--multiple .elementor-control-input-wrapper{display:block}.elementor-control-type-slider--multiple{padding-bottom:40px}.elementor-control-type-slider--multiple .elementor-slider{margin-top:12px;width:98%}.elementor-control-type-slider--handles-range .elementor-slider .noUi-handle{border-radius:0;width:10px;-webkit-transform:translateY(calc(50% - 14px)) translateX(4px);-ms-transform:translateY(calc(50% - 14px)) translateX(4px);transform:translateY(calc(50% - 14px)) translateX(4px)}.elementor-control-type-slider--handles-range .elementor-slider .noUi-handle:after{content:"";position:absolute;top:2px;height:12px;width:11px;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);background-color:#fff;border-radius:3px}.elementor-control-type-slider--handles-range .elementor-slider .noUi-handle-lower:after{left:5px;-webkit-box-shadow:2px -2px 3px 0 rgba(0,0,0,.1);box-shadow:2px -2px 3px 0 rgba(0,0,0,.1)}.elementor-control-type-slider--handles-range .elementor-slider .noUi-handle-upper:after{right:5px;-webkit-box-shadow:-2px 2px 3px 0 rgba(0,0,0,.1);box-shadow:-2px 2px 3px 0 rgba(0,0,0,.1)}.elementor-control-type-slider .elementor-control-dynamic-switcher{border-left-width:0;border-radius:0 3px 3px 0}.elementor-control-type-slider .elementor-control-input-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-control-type-slider .elementor-dynamic-cover{margin-top:10px}.elementor-slider{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;height:4px;background-color:#d5dadf;border-radius:5px;position:relative;cursor:pointer}.elementor-slider-input{width:21%;min-width:54px;margin-left:12px}.elementor-slider__extra{position:relative}.elementor-slider__labels{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.elementor-slider__label{font-size:9px;color:#c2cbd2}.elementor-slider__scales{position:absolute;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:space-evenly;-ms-flex-pack:space-evenly;justify-content:space-evenly;width:100%;margin-top:4px}.elementor-slider__scale{width:1px;height:21px;background-color:#a4afb7}.elementor-slider .noUi-handle{height:16px;width:16px;background-color:#fff;right:0;-webkit-transform:translateY(calc(50% - 14px)) translateX(8px);-ms-transform:translateY(calc(50% - 14px)) translateX(8px);transform:translateY(calc(50% - 14px)) translateX(8px);position:absolute;-webkit-box-shadow:0 1px 5px rgba(0,0,0,.3);box-shadow:0 1px 5px rgba(0,0,0,.3);border-radius:50%}.elementor-slider .noUi-connects{position:absolute;width:100%;height:4px}.elementor-slider .noUi-connect{position:absolute;z-index:0;top:0;left:0;height:100%;width:100%;will-change:transform;-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0;background-color:#a4afb7}.elementor-slider .noUi-tooltip{position:absolute;top:calc(100% + 5px);left:calc(50% - 4px);-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);font-size:10px}.elementor-control-type-structure .elementor-control-field{display:initial}.elementor-control-type-structure .elementor-control-structure-preset{padding:3px;border-radius:3px;display:inline-block;cursor:pointer;height:50px}.elementor-control-type-structure .elementor-control-structure-preset svg{height:100%}.elementor-control-type-structure .elementor-control-structure-preset path{fill:#e6e9ec}.elementor-control-type-structure .elementor-control-structure-reset{padding:15px 20px 0;font-size:11px;cursor:pointer;color:#a4afb7;border-top:1px solid #e6e9ec;margin:0 -20px}.elementor-control-type-structure .elementor-control-structure-title{margin:10px -20px 0}.elementor-control-type-structure .elementor-control-structure-title:before{height:10px;-webkit-box-shadow:inset 0 2px 4px hsla(0,0%,49.8%,.1);box-shadow:inset 0 2px 4px hsla(0,0%,49.8%,.1)}.elementor-control-type-structure .elementor-control-structure-presets{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.elementor-control-type-structure .elementor-control-structure-presets input{display:none}.elementor-control-type-structure .elementor-control-structure-presets input:checked+.elementor-control-structure-preset path{fill:#a4afb7}.elementor-control-type-structure .elementor-control-structure-preset-wrapper{margin-bottom:15px}.elementor-control-type-structure .elementor-control-structure-preset-title{text-align:center;padding-top:5px;font-style:italic;font-size:11px;color:#a4afb7}.elementor-control-type-switcher .elementor-control-input-wrapper{text-align:right}.elementor-control-type-switcher .elementor-switch{position:relative;display:inline-block;vertical-align:top;height:20px;background-color:#fff;border-radius:18px;cursor:pointer}.elementor-control-type-switcher .elementor-switch-input{display:none}.elementor-control-type-switcher .elementor-switch-label{position:relative;display:block;height:inherit;font-size:7px;text-transform:uppercase;background:#eceeef;border-radius:inherit;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.12),inset 0 0 2px rgba(0,0,0,.15);box-shadow:inset 0 1px 2px rgba(0,0,0,.12),inset 0 0 2px rgba(0,0,0,.15);-webkit-transition:.15s ease-out;-o-transition:.15s ease-out;transition:.15s ease-out;-webkit-transition-property:opacity,background;-o-transition-property:opacity,background;transition-property:opacity,background}.elementor-control-type-switcher .elementor-switch-label:after,.elementor-control-type-switcher .elementor-switch-label:before{position:absolute;top:0;width:50%;text-align:center;line-height:20px;-webkit-transition:inherit;-o-transition:inherit;transition:inherit}.elementor-control-type-switcher .elementor-switch-label:before{content:attr(data-off);right:3px;color:#a4afb7;text-shadow:0 1px hsla(0,0%,100%,.5)}.elementor-control-type-switcher .elementor-switch-label:after{content:attr(data-on);left:3px;color:#fff;text-shadow:0 1px rgba(0,0,0,.2);opacity:0}.elementor-control-type-switcher .elementor-switch-input:checked~.elementor-switch-label{background:#71d7f7;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.15),inset 0 0 3px rgba(0,0,0,.2);box-shadow:inset 0 1px 2px rgba(0,0,0,.15),inset 0 0 3px rgba(0,0,0,.2)}.elementor-control-type-switcher .elementor-switch-input:checked~.elementor-switch-label:before{opacity:0}.elementor-control-type-switcher .elementor-switch-input:checked~.elementor-switch-label:after{opacity:1}.elementor-control-type-switcher .elementor-switch-handle{position:absolute;top:1px;left:1px;width:18px;height:18px;background:#fff;border-radius:10px;-webkit-transition:left .15s ease-out;-o-transition:left .15s ease-out;transition:left .15s ease-out}.elementor-control-type-switcher .elementor-switch-input:checked~.elementor-switch-handle{left:auto;right:1px;-webkit-box-shadow:-1px 1px 5px rgba(0,0,0,.2);box-shadow:-1px 1px 5px rgba(0,0,0,.2)}.elementor-control-type-tabs{font-size:.8em;text-transform:uppercase;display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-control-type-tab{text-align:center;width:100%;padding:0;line-height:25px;border-top:1px solid #d5dadf;border-bottom:1px solid #d5dadf;border-right:1px solid #d5dadf;cursor:pointer}.elementor-control-type-tab:first-child{border-left:1px solid #d5dadf;border-top-left-radius:3px;border-bottom-left-radius:3px}.elementor-control-type-tab:last-child{border-top-right-radius:3px;border-bottom-right-radius:3px}.elementor-control-type-tab.elementor-tab-active{background-color:#a4afb7;border-color:#a4afb7;color:#fff}.elementor-tab-close{display:none!important}.elementor-control-type-code.elementor-control-dynamic-value .elementor-control-dynamic-switcher,.elementor-control-type-textarea.elementor-control-dynamic-value .elementor-control-dynamic-switcher{border-radius:0 3px 3px 0;border-left-width:0}.elementor-control-type-code .elementor-control-dynamic-switcher,.elementor-control-type-textarea .elementor-control-dynamic-switcher{border-radius:0 3px}.elementor-control-type-code:not(.elementor-control-dynamic-value) .elementor-control-dynamic-switcher,.elementor-control-type-textarea:not(.elementor-control-dynamic-value) .elementor-control-dynamic-switcher{position:absolute;top:0;z-index:1;right:0}.elementor-control-type-code .elementor-control-input-wrapper,.elementor-control-type-textarea .elementor-control-input-wrapper{position:relative}.elementor-control-type-code textarea,.elementor-control-type-textarea textarea{display:block;font-family:inherit}.elementor-control-type-code textarea:focus+.elementor-control-dynamic-switcher,.elementor-control-type-textarea textarea:focus+.elementor-control-dynamic-switcher{display:none}.elementor-control-type-code pre:focus-within+.elementor-control-dynamic-switcher,.elementor-control-type-textarea pre:focus-within+.elementor-control-dynamic-switcher{display:none}.elementor-control-type-url.elementor-control-dynamic .elementor-input{border-radius:3px 0 0 3px}.elementor-control-type-url .elementor-control-field{position:relative}.elementor-control-type-url.elementor-control-dynamic-value .elementor-control-url-more,.elementor-control-type-url:not(.elementor-control-dynamic) .elementor-control-url-more{border-radius:0 3px 3px 0}.elementor-control-type-url .elementor-control-input-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.elementor-control-type-url .elementor-control-url-more{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-ms-flex-negative:0;flex-shrink:0;border:1px solid #d5dadf;border-left:none;cursor:pointer}.elementor-control-type-url .elementor-control-url-more i{font-size:12px}.elementor-control-type-url .elementor-control-url-more-options{display:none;padding-top:10px}.elementor-control-type-url .elementor-control-url-more-options .elementor-control-field-description{margin-top:10px}.elementor-control-type-url .elementor-control-url-option{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-control-type-url .elementor-control-url-option:not(:last-child){padding-bottom:10px}.elementor-control-type-url .elementor-control-url-option input,.elementor-control-type-url .elementor-control-url-option label{cursor:pointer}.elementor-control-type-url .elementor-control-url-option-input{padding:0;border-radius:2px;margin:0 5px 0 0;-webkit-appearance:none;-moz-appearance:none;outline:none;content:none;height:15px;width:15px;border:1px solid #d5dadf;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-control-type-url .elementor-control-url-option-input:checked{background:#71d7f7;border:none}.elementor-control-type-url .elementor-control-url-option-input:checked:before{display:block;content:"";width:4px;height:7px;border:solid #fff;border-width:0 2px 2px 0;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.elementor-control-type-url .elementor-control-url-option label{font-size:12px}.elementor-control-type-url .elementor-control-url-external-hide .elementor-control-url-more{display:none}.elementor-control-type-url .elementor-control-url-external-show .elementor-dynamic-cover,.elementor-control-type-url .elementor-control-url-external-show .elementor-input{border-radius:3px 0 0 3px}.elementor-control-type-url .elementor-control-url-autocomplete-spinner{display:none;position:absolute;top:5px;right:0;width:10px;height:10px;font-size:10px;color:#d4d4d4}.elementor-control-type-url .elementor-control-url__custom-attributes{margin-top:5px}.elementor-control-type-url .elementor-control-url__custom-attributes label{font-size:12px}.elementor-control-type-url .elementor-control-url__custom-attributes input{width:100%;margin-top:10px}.elementor-control-type-url .elementor-input{direction:ltr}.elementor-control-type-url .elementor-input:not(:focus)+.elementor-control-url-more{border-color:#d5dadf}.elementor-control-type-url .elementor-input:focus~div{border-color:#a4afb7}.elementor-control-type-url .elementor-control-dynamic-switcher{border-left:none;border-radius:0 3px 3px 0}.elementor-autocomplete-menu{position:absolute;background:#fff;color:#495157;border:1px solid #a4afb7;margin:0;list-style:none;padding:4px 0;height:auto;width:100%;min-width:260px;max-width:300px;max-height:200px;overflow-y:auto;border-radius:3px;-webkit-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out;transition:all .3s ease-in-out;cursor:default;z-index:1}.elementor-autocomplete-menu .ui-menu-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-item-align:baseline;align-self:baseline;padding:5px 8px;font-size:12px;width:100%;line-height:1.2;cursor:pointer}.elementor-autocomplete-menu .ui-menu-item.ui-state-active,.elementor-autocomplete-menu .ui-menu-item.ui-state-focus,.elementor-autocomplete-menu .ui-menu-item.ui-state-hover{background:#e6e9ec}.elementor-autocomplete-menu .elementor-autocomplete-item-info{font-size:10px;padding-top:2px}.elementor-control-type-wp_widget .widget-inside{display:block}.elementor-control-type-wp_widget .quicktags-toolbar input{width:auto}.elementor-control-type-wysiwyg *{-webkit-box-sizing:content-box;box-sizing:content-box}.elementor-control-type-wysiwyg .wp-editor-container{border:1px solid #e6e9ec}.elementor-control-type-wysiwyg .wp-editor-tabs{border:1px solid #d5dadf;border-bottom:none;border-radius:3px 3px 0 0}.elementor-control-type-wysiwyg #insert-media-button{height:auto;line-height:24px;font-size:10px;color:#6d7882;border-color:#d5dadf;background-color:#e6e9ec;min-height:0}.elementor-control-type-wysiwyg .ed_button{height:22px;width:auto}.elementor-control-type-wysiwyg .wp-media-buttons-icon{height:14px;margin:0}.elementor-control-type-wysiwyg .wp-media-buttons-icon:before{font-size:14px}.elementor-control-type-wysiwyg .wp-switch-editor{position:static;border:none;margin:0;color:#6d7882;font-size:10px;padding:3px 9px 4px}.elementor-control-type-wysiwyg .switch-html{border:solid #d5dadf;border-width:0 1px}.elementor-control-type-wysiwyg .html-active .switch-tmce{background-color:transparent}.elementor-control-type-wysiwyg .html-active .switch-html,.elementor-control-type-wysiwyg .tmce-active .switch-tmce{background-color:#e6e9ec}.elementor-control-type-wysiwyg .tmce-active .switch-html{background-color:transparent}.elementor-control-type-wysiwyg .mce-toolbar-grp,.elementor-control-type-wysiwyg .quicktags-toolbar{background-color:#e6e9ec}.elementor-control-type-wysiwyg .mce-toolbar-grp>div{padding:0 3px}.elementor-control-type-wysiwyg .elementor-wp-editor{-webkit-box-sizing:border-box;box-sizing:border-box}.elementor-control-type-wysiwyg .mce-ico{color:#6d7882;font-size:16px}.elementor-control-type-wysiwyg .mce-btn{margin-right:0;margin-left:0}.elementor-control-type-wysiwyg .mce-btn.mce-active,.elementor-control-type-wysiwyg .mce-btn:active,.elementor-control-type-wysiwyg .mce-btn:hover{border-color:#d5dadf}.elementor-control-type-wysiwyg .mce-path{padding:5px 10px}.elementor-control-type-wysiwyg .mce-path-item{font-size:12px;color:#6d7882}.elementor-control-type-wysiwyg .elementor-control-dynamic-switcher{border:none}.elementor-control-type-text .elementor-control-dynamic-switcher{border-left-width:0;border-radius:0 3px 3px 0}.elementor-control-type-text.elementor-control-dynamic input{border-radius:3px 0 0 3px}.ui-resizable-n{top:-5px}.ui-resizable-e{right:-5px}.ui-resizable-s{bottom:-5px}.ui-resizable-w{left:-5px}.ui-resizable-ne{top:-5px;right:-5px}.ui-resizable-nw{top:-5px;left:-5px}.ui-resizable-se{bottom:-5px;right:-5px}.ui-resizable-sw{bottom:-5px;left:-5px}.ui-resizable-n,.ui-resizable-s{left:0;height:10px;width:100%;cursor:ns-resize}.ui-resizable-e,.ui-resizable-w{top:0;height:100%;width:10px;cursor:ew-resize}.ui-resizable-ne,.ui-resizable-nw,.ui-resizable-se,.ui-resizable-sw{height:15px;width:15px}.ui-resizable-nw,.ui-resizable-se{cursor:nwse-resize}.ui-resizable-ne,.ui-resizable-sw{cursor:nesw-resize}.ui-resizable-handle{position:absolute}.ui-resizable-resizing{pointer-events:none}@-webkit-keyframes placeholder-section{0%{height:0;opacity:0}to{height:40px;opacity:.9}}@keyframes placeholder-section{0%{height:0;opacity:0}to{height:40px;opacity:.9}}@-webkit-keyframes placeholder-widget{0%{height:0;opacity:0}to{height:10px;opacity:.9}}@keyframes placeholder-widget{0%{height:0;opacity:0}to{height:10px;opacity:.9}}@-webkit-keyframes section-outline{0%{opacity:0}to{opacity:1}}@keyframes section-outline{0%{opacity:0}to{opacity:1}}body.elementor-editor-active .elementor.elementor-edit-mode .article,body.elementor-editor-active .elementor.elementor-edit-mode.layout-section .entry-content{overflow:visible}body.elementor-editor-active .elementor.elementor-edit-mode .elementor-element-overlay .elementor-editor-element-settings{clear:unset}body.elementor-editor-active .elementor.elementor-edit-mode .elementor-element.elementor-section{overflow:visible}.elementor-edit-area .animated{-webkit-animation-fill-mode:none!important;animation-fill-mode:none!important}.elementor-edit-area ul.elementor-editor-element-settings{word-break:normal;padding:0}.elementor-edit-area .gallery{opacity:1}.pen{position:relative;outline:none}.pen:not([data-elementor-inline-editing-toolbar=advanced]){white-space:pre-wrap}.pen-menu{-webkit-box-shadow:1px 2px 3px -2px #222;box-shadow:1px 2px 3px -2px #222;background-color:#6d7882;position:fixed;overflow:hidden;border-radius:3px;z-index:9999}.pen-menu:after{top:100%;content:"";position:absolute;border:6px solid transparent;border-top-color:#6d7882;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.pen-menu-below:after{top:0;-webkit-transform:translateX(-50%) translateY(-100%) rotate(180deg);-ms-transform:translateX(-50%) translateY(-100%) rotate(180deg);transform:translateX(-50%) translateY(-100%) rotate(180deg)}.pen-icon{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;height:35px;padding:0 10px;font-size:21px;color:#d5dadf;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.pen-icon:hover{background:#556068}.pen-icon[data-action=closeGroup],.pen-icon[data-group]{display:none}.pen-icon[data-action=close]:before{content:"";position:absolute;left:0;height:60%;width:1px;background-color:#556068}.pen-icon.active{background-color:#556068;-webkit-box-shadow:inset 2px 2px 4px #556068;box-shadow:inset 2px 2px 4px #556068}.pen-group-icon:after{font-family:eicons;font-size:12px;content:"\e92a";padding-left:4px;color:#71d7f7}.pen-input-wrapper{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.pen-input-wrapper .pen-url-input{font-size:12px;line-height:1.5;padding:0 10px;width:250px;direction:ltr}.pen-input-wrapper .pen-url-input,.pen-input-wrapper .pen-url-input:focus{background-color:transparent;border:none;outline:none;-webkit-box-shadow:none;box-shadow:none;color:#fff}.pen-input-wrapper .pen-url-input::-webkit-input-placeholder{color:#d5dadf}.pen-input-wrapper .pen-url-input::-moz-placeholder{color:#d5dadf}.pen-input-wrapper .pen-url-input::-ms-input-placeholder{color:#d5dadf}.pen-input-wrapper .pen-url-input::placeholder{color:#d5dadf}.pen-input-label{margin:0 -1px 0 0}.pen-placeholder:before{content:attr(data-pen-placeholder);position:absolute;font-weight:400;color:#757575;opacity:.6}.pen-external-url-checkbox{display:none}.pen-external-url-checkbox:checked+i{color:#fff}.elementor-inline-editing i:not([class]){font-style:italic}.elementor-inline-editing b{font-weight:700}.elementor-inline-editing u{text-decoration:underline}.e-element-color-picker{--primary-color:#71d7f7;--swatch-size:25px;cursor:default;display:-webkit-box;display:-ms-flexbox;display:flex;position:absolute;width:calc((var(--count) + 1) * var(--swatch-size));height:var(--swatch-size);top:var(--top);left:var(--left);right:var(--right,unset);border-radius:3px;z-index:9998;background-color:var(--primary-color);padding:1px;-webkit-box-sizing:content-box;box-sizing:content-box;-webkit-transition:opacity .3s,width .3s;-o-transition:opacity .3s,width .3s;transition:opacity .3s,width .3s}.e-element-color-picker,.e-element-color-picker.e-picker-hidden{opacity:0;pointer-events:none}.e-element-color-picker:before{content:"";-webkit-box-flex:0;-ms-flex:0 1 var(--swatch-size);flex:0 1 var(--swatch-size);max-width:100%;height:100%;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center}.e-element-color-picker:after{content:"\e91e";font-family:eicons;color:#fff;font-size:1rem;line-height:var(--swatch-size);position:absolute;left:.3rem;z-index:-1}.e-element-color-picker__swatch{-webkit-box-flex:1;-ms-flex:1 0 var(--swatch-size);flex:1 0 var(--swatch-size);max-width:100%;height:100%;cursor:pointer;-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s;position:relative;overflow:hidden;border-radius:inherit;background:-o-linear-gradient(var(--color),var(--color)),-o-linear-gradient(var(--primary-color),var(--primary-color));background:-webkit-gradient(linear,left top,left bottom,from(var(--color)),to(var(--color))),-webkit-gradient(linear,left top,left bottom,from(var(--primary-color)),to(var(--primary-color)));background:linear-gradient(var(--color),var(--color)),linear-gradient(var(--primary-color),var(--primary-color))}.e-element-color-picker__swatch:not(:first-child){border-left:1px solid var(--primary-color)}.e-element-color-picker__swatch:before{content:attr(data-text);position:absolute;left:50%;top:50%;opacity:0;color:var(--color);font-size:10px;font-weight:300;font-family:Roboto,Arial,Helvetica,Verdana,sans-serif;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);-webkit-filter:hue-rotate(180deg) grayscale(1) contrast(999) invert(1);filter:hue-rotate(180deg) grayscale(1) contrast(999) invert(1);-webkit-transition:inherit;-o-transition:inherit;transition:inherit}.e-element-color-picker__swatch:hover{-ms-flex-preferred-size:calc(2 * var(--swatch-size));flex-basis:calc(2 * var(--swatch-size));-ms-flex-negative:0;flex-shrink:0}.e-element-color-picker__swatch:hover:before{opacity:1}.e-ui-state--elements-color-picker-color-picking__on :not(.e-element-color-picker__swatch){cursor:url(../images/eyedropper.svg) 0 20,pointer}.e-ui-state--elements-color-picker-color-picking__on .e-element-color-picker:not(.e-picker-hidden):hover,.e-ui-state--elements-color-picker-color-picking__on .elementor-element:hover>.e-element-color-picker:not(.e-picker-hidden),.e-ui-state--elements-color-picker-color-picking__on .elementor-widget-container:hover+.e-element-color-picker:not(.e-picker-hidden){opacity:1;pointer-events:all}.e-ui-state--elements-color-picker-color-picking__on .elementor-section:hover{outline:1px solid #71d7f7}[class*=" eicon-flex"],[class^=eicon-flex]{-webkit-transition:all .3s;-o-transition:.3s all;transition:all .3s;--is-ltr:1;--is-rtl:0;--rotation-direction:calc(var(--is-ltr) - var(--is-rtl))}[class*=" eicon-flex"].eicon-inline,[class^=eicon-flex].eicon-inline{max-height:1em;max-width:1em}:is(.e-ui-state--document-direction-mode__column,.e-ui-state--document-direction-mode__column-reverse) [class*=" eicon-flex"]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow),:is(.e-ui-state--document-direction-mode__column,.e-ui-state--document-direction-mode__column-reverse) [class^=eicon-flex]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow){-webkit-transform:rotate(calc(var(--rotation-direction) * 90deg));-ms-transform:rotate(calc(var(--rotation-direction) * 90deg));transform:rotate(calc(var(--rotation-direction) * 90deg))}.e-ui-state--document-direction-mode__column-reverse [class*=" eicon-flex"]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow):is(.eicon-justify-start-h,.eicon-justify-end-h,.eicon-order-start,.eicon-order-end),.e-ui-state--document-direction-mode__column-reverse [class^=eicon-flex]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow):is(.eicon-justify-start-h,.eicon-justify-end-h,.eicon-order-start,.eicon-order-end),:is(.e-ui-state--document-direction-mode__column,.e-ui-state--document-direction-mode__column-reverse) [class*=" eicon-flex"]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow):is(.eicon-align-start-v,.eicon-align-end-v),:is(.e-ui-state--document-direction-mode__column,.e-ui-state--document-direction-mode__column-reverse) [class^=eicon-flex]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow):is(.eicon-align-start-v,.eicon-align-end-v){-webkit-transform:rotate(calc(var(--rotation-direction) * -90deg));-ms-transform:rotate(calc(var(--rotation-direction) * -90deg));transform:rotate(calc(var(--rotation-direction) * -90deg))}.e-ui-state--document-direction-mode__row [class*=" eicon-flex"]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow):is(.eicon-justify-start-h,.eicon-justify-end-h,.eicon-order-start,.eicon-order-end),.e-ui-state--document-direction-mode__row [class^=eicon-flex]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow):is(.eicon-justify-start-h,.eicon-justify-end-h,.eicon-order-start,.eicon-order-end){-webkit-transform:rotate(calc(var(--is-rtl) * 180deg));-ms-transform:rotate(calc(var(--is-rtl) * 180deg));transform:rotate(calc(var(--is-rtl) * 180deg))}.e-ui-state--document-direction-mode__row-reverse [class*=" eicon-flex"]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow):is(.eicon-justify-start-h,.eicon-justify-end-h,.eicon-order-start,.eicon-order-end),.e-ui-state--document-direction-mode__row-reverse [class^=eicon-flex]:not(.eicon-wrap):not(.eicon-nowrap):not(.eicon-grow):is(.eicon-justify-start-h,.eicon-justify-end-h,.eicon-order-start,.eicon-order-end){-webkit-transform:rotate(calc(var(--is-ltr) * 180deg));-ms-transform:rotate(calc(var(--is-ltr) * 180deg));transform:rotate(calc(var(--is-ltr) * 180deg))}html.elementor-html{margin-top:0!important}.elementor-edit-area{position:relative}.elementor.loading{opacity:.5}.elementor-edit-area-active{--primary-color:#71d7f7;--secondary-color:#10bcf2;--outline-color:var(--primary-color)}.elementor-edit-area-active .e-container{--primary-color:#0098c7;--secondary-color:#007194;--outline-color:var(--primary-color)}.elementor-edit-area-active .e-container.e-dragging-over,.elementor-edit-area-active .e-container.elementor-dragging-on-child{outline:1px solid var(--outline-color)}.elementor-edit-area-active .elementor-inner-section:first-child{margin-top:15px}.elementor-edit-area-active .elementor-widget-wrap.elementor-element-empty{min-height:30px}@media (min-width:768px){.elementor-edit-area-active .elementor-widget-wrap.elementor-element-empty{margin:10px}}.elementor-edit-area-active .elementor-column{min-width:25px}.elementor-edit-area-active .elementor-widget.elementor-loading{opacity:.3}.elementor-edit-area-active .elementor-widget.elementor-element-edit-mode:hover,.elementor-edit-area-active .elementor-widget.elementor-element-editable{-webkit-box-shadow:0 0 0 1px #71d7f7;box-shadow:0 0 0 1px #71d7f7}.elementor-edit-area-active .elementor-widget:not(:hover) .elementor-editor-element-settings{display:none}.elementor-edit-area-active .elementor-widget.ui-draggable-dragging{pointer-events:none}.elementor-edit-area-active .elementor-editor-element-setting{cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:0;margin:0;font-size:11px;color:#fff;width:25px;-webkit-transition:margin .3s,width .3s,font .3s;-o-transition:margin .3s,width .3s,font .3s;transition:margin .3s,width .3s,font .3s}.elementor-edit-area-active .elementor-inline-editing{min-height:15px}.elementor-edit-area-active .elementor-edit-hidden{display:none}.elementor-section-wrap:empty{min-height:25px}.elementor-section-wrap>:first-child>.elementor-element-overlay{z-index:9999}.elementor-element>.elementor-element-overlay{position:absolute;top:0;right:0;letter-spacing:0;z-index:9998;pointer-events:none}.elementor-element-empty .elementor-sortable-placeholder{display:none}.elementor-element.elementor-widget-empty{background-color:rgba(213,218,223,.8)}.elementor-element.elementor-widget-empty .elementor-widget-empty-icon{color:#c2cbd2;font-size:22px;display:block;text-align:center;padding:10px 0}.elementor-element:not(:hover):not(.elementor-element-editable)>.elementor-element-overlay .elementor-editor-element-settings{display:none}.elementor-element--toggle-edit-tools>.elementor-element-overlay .elementor-editor-element-edit:not(.elementor-active)~*{width:0;font-size:0}.elementor-element[data-side=bottom]+.elementor-element:before,.elementor-element[data-side=bottom]:last-child:after,.elementor-element[data-side=top]:before{content:"";background-color:#71d7f7;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;opacity:.9;height:10px;-webkit-animation:placeholder-widget .5s;animation:placeholder-widget .5s;display:block}.elementor-element.elementor-absolute,.elementor-element.elementor-fixed{cursor:-webkit-grab;cursor:grab}.elementor-element.elementor-absolute:active,.elementor-element.elementor-fixed:active{cursor:-webkit-grabbing;cursor:grabbing}.elementor-element.elementor-absolute .eicon-edit:before,.elementor-element.elementor-fixed .eicon-edit:before{content:"\e902"}.e-container>.elementor-element-overlay,.elementor-section>.elementor-element-overlay{left:0;bottom:0}.e-container>.elementor-element-overlay:after,.elementor-section>.elementor-element-overlay:after{position:absolute;left:2px;right:2px;top:2px;bottom:2px;outline:2px solid var(--outline-color);-webkit-animation:section-outline .75s;animation:section-outline .75s}.e-container.elementor-element-editable>.elementor-element-overlay:after,.e-container:hover>.elementor-element-overlay:after,.elementor-section.elementor-element-editable>.elementor-element-overlay:after,.elementor-section:hover>.elementor-element-overlay:after{content:""}.e-container-filled .elementor-sortable-placeholder.elementor-column,.elementor-section-filled .elementor-sortable-placeholder.elementor-column{display:none}.e-container-filled .elementor-row.elementor-draggable-over,.elementor-section-filled .elementor-row.elementor-draggable-over{border:1px solid #d72b3f}.elementor-column>.elementor-element-overlay{left:0;bottom:0}.elementor-column>.elementor-element-overlay:after{position:absolute;left:0;right:0;top:0;bottom:0;outline:1px dashed #6d7882}.elementor-column.elementor-element-editable>.elementor-element-overlay,.elementor-column:hover>.elementor-element-overlay{border:1px solid #fff}.elementor-column.elementor-element-editable>.elementor-element-overlay:after,.elementor-column:hover>.elementor-element-overlay:after{content:""}.elementor-column.elementor-dragging-on-child>.elementor-element-overlay{border:1px solid #71d7f7}.elementor-column.elementor-dragging-on-child>.elementor-element-overlay:after{display:none}.elementor-column>.ui-resizable-e,.elementor-column>.ui-resizable-w{cursor:col-resize;width:7px;position:absolute;right:-5px;top:0;height:100%}.elementor-column:last-of-type>.ui-resizable-e,.elementor-column:last-of-type>.ui-resizable-w{display:none!important}@media (max-width:1024px){.elementor-column>.ui-resizable-e,.elementor-column>.ui-resizable-w{display:none!important}}.elementor-editor-element-settings{position:absolute;display:-webkit-box;display:-ms-flexbox;display:flex;height:26px;list-style:none;margin:0;padding:0;font-family:Arial,Helvetica,sans-serif;font-size:13px;font-weight:400;font-style:normal;line-height:1;z-index:1;pointer-events:all}@media (min-width:1025px){.elementor-editor-element-edit{cursor:move}}.elementor-editor-container-settings,.elementor-editor-section-settings{height:24px;top:1px;left:50%;-webkit-transform:translateX(-50%) translateY(-100%);-ms-transform:translateX(-50%) translateY(-100%);transform:translateX(-50%) translateY(-100%);background-color:var(--primary-color);border-radius:5px 5px 0 0;-webkit-box-shadow:0 -2px 8px rgba(0,0,0,.05);box-shadow:0 -2px 8px rgba(0,0,0,.05)}.elementor-editor-container-settings i.eicon-handle,.elementor-editor-section-settings i.eicon-handle{font-size:16px}.elementor-editor-container-settings .elementor-editor-element-setting:hover,.elementor-editor-section-settings .elementor-editor-element-setting:hover{background-color:var(--secondary-color)}.elementor-editor-container-settings .elementor-editor-element-setting:first-child,.elementor-editor-section-settings .elementor-editor-element-setting:first-child{border-radius:5px 0 0 0}.elementor-editor-container-settings .elementor-editor-element-setting:first-child:before,.elementor-editor-section-settings .elementor-editor-element-setting:first-child:before{content:"";position:absolute;border-width:medium;top:2px;border-left:0 solid transparent;border-bottom:0 solid transparent;border-right:12px solid transparent;border-right-color:var(--primary-color);border-top:22px solid transparent;right:calc(100% - 1px)}.elementor-editor-container-settings .elementor-editor-element-setting:first-child:hover:before,.elementor-editor-section-settings .elementor-editor-element-setting:first-child:hover:before{border-right-color:var(--secondary-color)}.elementor-editor-container-settings .elementor-editor-element-setting:last-child,.elementor-editor-section-settings .elementor-editor-element-setting:last-child{border-radius:0 5px 0 0}.elementor-editor-container-settings .elementor-editor-element-setting:last-child:after,.elementor-editor-section-settings .elementor-editor-element-setting:last-child:after{content:"";position:absolute;border-width:medium;top:2px;border-left:12px solid transparent;border-left-color:var(--primary-color);border-bottom:0 solid transparent;border-right:0 solid transparent;border-top:22px solid transparent;left:calc(100% - 1px)}.elementor-editor-container-settings .elementor-editor-element-setting:last-child:hover:after,.elementor-editor-section-settings .elementor-editor-element-setting:last-child:hover:after{border-left-color:var(--secondary-color)}.e-handles-inside>.elementor-element-overlay>.elementor-editor-element-settings,.elementor-section--handles-inside>.elementor-element-overlay>.elementor-editor-element-settings{-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);border-radius:0 0 5px 5px}.e-handles-inside>.elementor-element-overlay>.elementor-editor-element-settings .elementor-editor-element-setting:first-child,.elementor-section--handles-inside>.elementor-element-overlay>.elementor-editor-element-settings .elementor-editor-element-setting:first-child{border-radius:0 0 0 5px}.e-handles-inside>.elementor-element-overlay>.elementor-editor-element-settings .elementor-editor-element-setting:first-child:before,.elementor-section--handles-inside>.elementor-element-overlay>.elementor-editor-element-settings .elementor-editor-element-setting:first-child:before{top:0;border-width:0 12px 22px 0}.e-handles-inside>.elementor-element-overlay>.elementor-editor-element-settings .elementor-editor-element-setting:last-child,.elementor-section--handles-inside>.elementor-element-overlay>.elementor-editor-element-settings .elementor-editor-element-setting:last-child{border-radius:0 0 5px 0}.e-handles-inside>.elementor-element-overlay>.elementor-editor-element-settings .elementor-editor-element-setting:last-child:after,.elementor-section--handles-inside>.elementor-element-overlay>.elementor-editor-element-settings .elementor-editor-element-setting:last-child:after{top:0;border-width:0 0 22px 12px}.elementor-editor-column-settings{top:-1px;left:-1px;border-radius:0 0 3px 0;overflow:hidden}.elementor-editor-column-settings .elementor-editor-element-setting{background-color:#495157}.elementor-editor-column-settings .elementor-editor-element-setting:not(:hover){background-image:-o-linear-gradient(top,#6d7882,#556068);background-image:-webkit-gradient(linear,left top,left bottom,from(#6d7882),to(#556068));background-image:linear-gradient(180deg,#6d7882,#556068)}.elementor-editor-widget-settings{z-index:2;top:-1px;right:-1px;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;border-radius:0 0 0 3px;overflow:hidden}.elementor-editor-widget-settings .elementor-editor-element-setting{background-color:#10bcf2}.elementor-editor-widget-settings .elementor-editor-element-setting:not(:hover){background-image:-o-linear-gradient(bottom,#41c9f4,#71d7f7);background-image:-webkit-gradient(linear,left bottom,left top,from(#41c9f4),to(#71d7f7));background-image:linear-gradient(0deg,#41c9f4,#71d7f7)}.elementor-empty-view{position:absolute;top:0;bottom:0;left:0;right:0;z-index:1}.elementor-first-add{text-align:center;border:1px dashed #d5dadf;display:-webkit-box;display:-ms-flexbox;display:flex;height:100%;width:100%;position:absolute;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-first-add .elementor-icon{font-size:19px;color:#a4afb7;cursor:pointer}.elementor-sortable-helper{position:absolute;border-radius:3px;background-color:#fff;text-align:center;color:#556068;-webkit-box-shadow:0 2px 6px rgba(0,0,0,.2);box-shadow:0 2px 6px rgba(0,0,0,.2);cursor:move}.elementor-sortable-helper .icon{font-size:28px;padding-top:15px;line-height:1}.elementor-sortable-helper .elementor-element-title-wrapper{display:table;width:100%}.elementor-sortable-helper .title{font-size:11px;font-family:Arial,Helvetica,sans-serif;font-weight:400;font-style:normal;display:table-cell;vertical-align:middle;height:40px}.elementor-editor-content-only .elementor-column.elementor-element-editable>.elementor-element-overlay:after,.elementor-editor-content-only .elementor-column:hover>.elementor-element-overlay:after,.elementor-editor-content-only .elementor-column>.elementor-element-overlay,.elementor-editor-content-only .elementor-column>.elementor-element-overlay:after,.elementor-editor-content-only .elementor-first-add,.elementor-editor-content-only .elementor-section.elementor-element-editable>.elementor-element-overlay:after,.elementor-editor-content-only .elementor-section:hover>.elementor-element-overlay:after,.elementor-editor-content-only .elementor-section>.elementor-element-overlay,.elementor-editor-content-only .elementor-section>.elementor-element-overlay:after{display:none}@media (min-width:1025px){.elementor-editor-content-only .elementor-editor-element-edit{cursor:pointer}}.elementor-sortable-placeholder:not(.elementor-column-placeholder){background-color:#71d7f7;-webkit-animation-duration:.25s;animation-duration:.25s;opacity:.9;width:100%;-ms-flex-item-align:stretch;align-self:stretch}.e-container .elementor-first-add .elementor-sortable-placeholder:not(.elementor-column-placeholder){-ms-flex-item-align:center;align-self:center}.e-swappable--active>.elementor-sortable-placeholder:not(.elementor-column-placeholder){display:none}.elementor-section-placeholder{height:40px;-webkit-animation-name:placeholder-section;animation-name:placeholder-section}.elementor-column-placeholder{position:relative}.elementor-column-placeholder:after,.elementor-column-placeholder:before{content:"";position:absolute;top:10px;bottom:10px;right:10px;left:10px}.elementor-column-placeholder:before{border:1px solid #6d7882}.elementor-column-placeholder:after{border:1px dashed #fff}.elementor-widget-placeholder{height:10px;-webkit-animation-name:placeholder-widget;animation-name:placeholder-widget}.elementor-draggable-over:not([data-dragged-element=section]):not([data-dragged-is-inner=true])>.elementor-empty-view>.elementor-first-add:after,.elementor-first-add.elementor-html5dnd-current-element:after{content:"";background-color:#71d7f7;-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;opacity:.9;height:10px;-webkit-animation:placeholder-widget .5s;animation:placeholder-widget .5s;width:100%}.e-container .elementor-draggable-over:not([data-dragged-element=section]):not([data-dragged-is-inner=true])>.elementor-empty-view>.elementor-first-add:after,.e-container .elementor-first-add.elementor-html5dnd-current-element:after,.elementor-draggable-over:not([data-dragged-element=section]):not([data-dragged-is-inner=true])>.elementor-empty-view>.elementor-first-add .elementor-icon,.elementor-draggable-over[data-dragged-element=section][data-dragged-is-inner=true] .elementor-inner-column .elementor-sortable-placeholder,.elementor-first-add.elementor-html5dnd-current-element .elementor-icon{display:none}.elementor-add-section{all:initial;display:-webkit-box;display:-ms-flexbox;display:flex;max-width:1160px;position:relative;margin-inline:auto}.elementor-add-section:not(.elementor-dragging-on-child) .elementor-add-section-inner{border:2px dashed #d5dadf;background-color:hsla(0,0%,100%,.5)}.elementor-add-section.elementor-dragging-on-child .elementor-add-section-inner{border:3px dashed #71d7f7}.elementor-add-section[data-view=choose-action] .e-view:not(.elementor-add-new-section),.elementor-add-section[data-view=select-container-preset] .e-view:not(.e-container-select-preset),.elementor-add-section[data-view=select-preset] .e-view:not(.elementor-select-preset){display:none}.elementor-add-section-inner{text-align:center;margin:20px;padding:40px 0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-add-new-section{display:inline-block}.elementor-add-new-section .elementor-add-section-area-button{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;height:40px;width:40px;color:#fff;font-size:16px;border-radius:50%;-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s;cursor:pointer}.elementor-add-new-section .elementor-add-section-area-button:hover{opacity:.85;-webkit-box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2);box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}.elementor-add-new-section .elementor-add-section-area-button:active{-webkit-box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.1);box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.1)}.elementor-add-new-section .elementor-add-section-button{background-color:#93003c;-webkit-margin-start:5px;margin-inline-start:5px}.elementor-add-new-section .elementor-add-template-button{background-color:#6d7882;margin-left:5px}.elementor-add-section-drag-title{font-family:Arial,Helvetica,sans-serif;font-size:13px;font-weight:400;font-style:italic;line-height:1;color:#556068;margin-top:15px}.elementor-add-section-close{position:absolute;right:40px;top:40px;font-size:20px;cursor:pointer;line-height:1;color:#d5dadf}.elementor-add-section-close:hover{color:#6d7882}.elementor-select-preset-title{font-family:Arial,Helvetica,sans-serif;font-size:13px;font-weight:500;font-style:normal;text-transform:uppercase;color:#556068}.elementor-select-preset-list{list-style:none;padding:0 25px;margin:20px auto 0;overflow:hidden;max-width:700px}.elementor-select-preset-list .elementor-preset{cursor:pointer;margin:0;padding:10px;float:left;max-width:33.333%}.elementor-select-preset-list .elementor-preset:hover path,.elementor-select-preset-list .elementor-preset:hover rect{fill:#6d7882}.elementor-select-preset-list .elementor-preset:not(:hover) path,.elementor-select-preset-list .elementor-preset:not(:hover) rect{fill:#d5dadf}.elementor-select-preset-list .elementor-preset .e-preset--container{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-select-preset-list .elementor-preset .e-preset--container:before{content:var(--text);font-family:Roboto,Arial,Helvetica,Verdana,sans-serif;font-size:13px;font-weight:500;position:absolute;left:50%;top:50%;color:#fff;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.elementor-select-preset-list .elementor-preset svg{height:50px;width:100%}#elementor-add-new-section{margin:60px auto}#elementor-add-new-section[data-view=choose-action] .elementor-add-section-close{display:none}.elementor-add-section-inline{margin:10px auto;width:100%}.elementor-column-percents-tooltip{position:absolute;display:none;pointer-events:none;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);color:#fff;font-size:10px;background-color:#556068;width:40px;padding:3.5px 0;text-align:center;z-index:1;line-height:1}.elementor-column-percents-tooltip:after{content:"";position:absolute;width:0;height:0;border:8.5px solid transparent;top:0}.elementor-column-percents-tooltip[data-side=left]{border-radius:3px 0 0 3px;right:15px}.elementor-column-percents-tooltip[data-side=left]:after{left:100%;border-left-color:#556068;border-right-width:0}.elementor-column-percents-tooltip[data-side=right]{border-radius:0 3px 3px 0;left:15px}.elementor-column-percents-tooltip[data-side=right]:after{right:100%;border-right-color:#556068;border-left-width:0}.elementor-editor-preview .elementor-add-section,.elementor-editor-preview .elementor-add-section-inline,.elementor-editor-preview .elementor-element-overlay,.elementor-editor-preview .elementor-empty,.elementor-editor-preview .elementor-empty-view,.elementor-editor-preview .elementor-widget-empty{display:none}.e-preview--show-hidden-elements[data-elementor-device-mode=desktop] .elementor-edit-area-active .elementor-hidden-desktop,.e-preview--show-hidden-elements[data-elementor-device-mode=laptop] .elementor-edit-area-active .elementor-hidden-laptop,.e-preview--show-hidden-elements[data-elementor-device-mode=mobile] .elementor-edit-area-active .elementor-hidden-mobile,.e-preview--show-hidden-elements[data-elementor-device-mode=mobile_extra] .elementor-edit-area-active .elementor-hidden-mobile_extra,.e-preview--show-hidden-elements[data-elementor-device-mode=tablet] .elementor-edit-area-active .elementor-hidden-tablet,.e-preview--show-hidden-elements[data-elementor-device-mode=tablet_extra] .elementor-edit-area-active .elementor-hidden-tablet_extra,.e-preview--show-hidden-elements[data-elementor-device-mode=widescreen] .elementor-edit-area-active .elementor-hidden-widescreen{display:inherit;background:-o-repeating-linear-gradient(325deg,rgba(0,0,0,.05),rgba(0,0,0,.05) 1px,transparent 2px,transparent 9px);background:repeating-linear-gradient(125deg,rgba(0,0,0,.05),rgba(0,0,0,.05) 1px,transparent 2px,transparent 9px);border:1px solid rgba(0,0,0,.02)}.e-preview--show-hidden-elements[data-elementor-device-mode=desktop] .elementor-edit-area-active .elementor-hidden-desktop.elementor-section>.elementor-element-overlay,.e-preview--show-hidden-elements[data-elementor-device-mode=laptop] .elementor-edit-area-active .elementor-hidden-laptop.elementor-section>.elementor-element-overlay,.e-preview--show-hidden-elements[data-elementor-device-mode=mobile] .elementor-edit-area-active .elementor-hidden-mobile.elementor-section>.elementor-element-overlay,.e-preview--show-hidden-elements[data-elementor-device-mode=mobile_extra] .elementor-edit-area-active .elementor-hidden-mobile_extra.elementor-section>.elementor-element-overlay,.e-preview--show-hidden-elements[data-elementor-device-mode=tablet] .elementor-edit-area-active .elementor-hidden-tablet.elementor-section>.elementor-element-overlay,.e-preview--show-hidden-elements[data-elementor-device-mode=tablet_extra] .elementor-edit-area-active .elementor-hidden-tablet_extra.elementor-section>.elementor-element-overlay,.e-preview--show-hidden-elements[data-elementor-device-mode=widescreen] .elementor-edit-area-active .elementor-hidden-widescreen.elementor-section>.elementor-element-overlay{background-color:#d5dadf;mix-blend-mode:color}.e-preview--show-hidden-elements[data-elementor-device-mode=desktop] .elementor-edit-area-active .elementor-hidden-desktop.elementor-section:before,.e-preview--show-hidden-elements[data-elementor-device-mode=laptop] .elementor-edit-area-active .elementor-hidden-laptop.elementor-section:before,.e-preview--show-hidden-elements[data-elementor-device-mode=mobile] .elementor-edit-area-active .elementor-hidden-mobile.elementor-section:before,.e-preview--show-hidden-elements[data-elementor-device-mode=mobile_extra] .elementor-edit-area-active .elementor-hidden-mobile_extra.elementor-section:before,.e-preview--show-hidden-elements[data-elementor-device-mode=tablet] .elementor-edit-area-active .elementor-hidden-tablet.elementor-section:before,.e-preview--show-hidden-elements[data-elementor-device-mode=tablet_extra] .elementor-edit-area-active .elementor-hidden-tablet_extra.elementor-section:before,.e-preview--show-hidden-elements[data-elementor-device-mode=widescreen] .elementor-edit-area-active .elementor-hidden-widescreen.elementor-section:before{content:"";display:block;position:absolute;top:0;left:0;width:100%;height:100%;background-color:hsla(0,0%,100%,.6);z-index:9997}.e-preview--show-hidden-elements[data-elementor-device-mode=desktop] .elementor-edit-area-active .elementor-hidden-desktop.elementor-inner-section .elementor-container,.e-preview--show-hidden-elements[data-elementor-device-mode=laptop] .elementor-edit-area-active .elementor-hidden-laptop.elementor-inner-section .elementor-container,.e-preview--show-hidden-elements[data-elementor-device-mode=mobile] .elementor-edit-area-active .elementor-hidden-mobile.elementor-inner-section .elementor-container,.e-preview--show-hidden-elements[data-elementor-device-mode=mobile_extra] .elementor-edit-area-active .elementor-hidden-mobile_extra.elementor-inner-section .elementor-container,.e-preview--show-hidden-elements[data-elementor-device-mode=tablet] .elementor-edit-area-active .elementor-hidden-tablet.elementor-inner-section .elementor-container,.e-preview--show-hidden-elements[data-elementor-device-mode=tablet_extra] .elementor-edit-area-active .elementor-hidden-tablet_extra.elementor-inner-section .elementor-container,.e-preview--show-hidden-elements[data-elementor-device-mode=widescreen] .elementor-edit-area-active .elementor-hidden-widescreen.elementor-inner-section .elementor-container{width:100%}.e-preview--show-hidden-elements[data-elementor-device-mode=desktop] .elementor-edit-area-active .elementor-hidden-desktop>.elementor-widget-container,.e-preview--show-hidden-elements[data-elementor-device-mode=desktop] .elementor-edit-area-active .elementor-hidden-desktop>.elementor-widget-wrap,.e-preview--show-hidden-elements[data-elementor-device-mode=laptop] .elementor-edit-area-active .elementor-hidden-laptop>.elementor-widget-container,.e-preview--show-hidden-elements[data-elementor-device-mode=laptop] .elementor-edit-area-active .elementor-hidden-laptop>.elementor-widget-wrap,.e-preview--show-hidden-elements[data-elementor-device-mode=mobile] .elementor-edit-area-active .elementor-hidden-mobile>.elementor-widget-container,.e-preview--show-hidden-elements[data-elementor-device-mode=mobile] .elementor-edit-area-active .elementor-hidden-mobile>.elementor-widget-wrap,.e-preview--show-hidden-elements[data-elementor-device-mode=mobile_extra] .elementor-edit-area-active .elementor-hidden-mobile_extra>.elementor-widget-container,.e-preview--show-hidden-elements[data-elementor-device-mode=mobile_extra] .elementor-edit-area-active .elementor-hidden-mobile_extra>.elementor-widget-wrap,.e-preview--show-hidden-elements[data-elementor-device-mode=tablet] .elementor-edit-area-active .elementor-hidden-tablet>.elementor-widget-container,.e-preview--show-hidden-elements[data-elementor-device-mode=tablet] .elementor-edit-area-active .elementor-hidden-tablet>.elementor-widget-wrap,.e-preview--show-hidden-elements[data-elementor-device-mode=tablet_extra] .elementor-edit-area-active .elementor-hidden-tablet_extra>.elementor-widget-container,.e-preview--show-hidden-elements[data-elementor-device-mode=tablet_extra] .elementor-edit-area-active .elementor-hidden-tablet_extra>.elementor-widget-wrap,.e-preview--show-hidden-elements[data-elementor-device-mode=widescreen] .elementor-edit-area-active .elementor-hidden-widescreen>.elementor-widget-container,.e-preview--show-hidden-elements[data-elementor-device-mode=widescreen] .elementor-edit-area-active .elementor-hidden-widescreen>.elementor-widget-wrap{-webkit-filter:opacity(.4) saturate(0);filter:opacity(.4) saturate(0)}.e-preview--show-hidden-elements[data-elementor-device-mode=desktop] .elementor-edit-area-active .elementor-hidden-desktop.elementor-edit-hidden,.e-preview--show-hidden-elements[data-elementor-device-mode=laptop] .elementor-edit-area-active .elementor-hidden-laptop.elementor-edit-hidden,.e-preview--show-hidden-elements[data-elementor-device-mode=mobile] .elementor-edit-area-active .elementor-hidden-mobile.elementor-edit-hidden,.e-preview--show-hidden-elements[data-elementor-device-mode=mobile_extra] .elementor-edit-area-active .elementor-hidden-mobile_extra.elementor-edit-hidden,.e-preview--show-hidden-elements[data-elementor-device-mode=tablet] .elementor-edit-area-active .elementor-hidden-tablet.elementor-edit-hidden,.e-preview--show-hidden-elements[data-elementor-device-mode=tablet_extra] .elementor-edit-area-active .elementor-hidden-tablet_extra.elementor-edit-hidden,.e-preview--show-hidden-elements[data-elementor-device-mode=widescreen] .elementor-edit-area-active .elementor-hidden-widescreen.elementor-edit-hidden{display:none}.e-container-select-preset{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:25px}.e-container-select-preset[data-view=choose-preset]>:not(.e-container-select-preset__inner),.e-container-select-preset[data-view=drop-area]>:not(.elementor-first-add){display:none}.e-container-select-preset__title{font-family:Roboto,Arial,Helvetica,Verdana,sans-serif;font-size:13px;font-weight:500;text-transform:uppercase;color:#556068}.e-container-select-preset__list{display:-webkit-box;display:-ms-flexbox;display:flex;gap:20px;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-ms-flex-wrap:wrap;flex-wrap:wrap;max-width:650px}.e-container-select-preset__list .e-container-preset{cursor:pointer;-ms-flex-preferred-size:90px;flex-basis:90px}.e-container-select-preset__list .e-container-preset svg{width:100%;height:auto}.e-container-select-preset__list .e-container-preset path{fill:#fff}.e-container-select-preset__list .e-container-preset rect{fill:#d5dadf;-webkit-transition:all .3s;-o-transition:.3s all;transition:all .3s}.e-container-select-preset__list .e-container-preset:hover rect{fill:#6d7882}assets/css/widget-divider.min.css000064400000007217152377341010013053 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ .elementor-widget-divider{--divider-border-style:none;--divider-border-width:1px;--divider-color:#2c2c2c;--divider-icon-size:20px;--divider-element-spacing:10px;--divider-pattern-height:24px;--divider-pattern-size:20px;--divider-pattern-url:none;--divider-pattern-repeat:repeat-x}.elementor-widget-divider .elementor-divider{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-divider .elementor-divider__text{font-size:15px;line-height:1;max-width:95%}.elementor-widget-divider .elementor-divider__element{margin:0 var(--divider-element-spacing);-ms-flex-negative:0;flex-shrink:0}.elementor-widget-divider .elementor-icon{font-size:var(--divider-icon-size)}.elementor-widget-divider .elementor-divider-separator{display:-webkit-box;display:-ms-flexbox;display:flex;margin:0;direction:ltr}.elementor-widget-divider--view-line_icon .elementor-divider-separator,.elementor-widget-divider--view-line_text .elementor-divider-separator{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-widget-divider--view-line_icon .elementor-divider-separator:after,.elementor-widget-divider--view-line_icon .elementor-divider-separator:before,.elementor-widget-divider--view-line_text .elementor-divider-separator:after,.elementor-widget-divider--view-line_text .elementor-divider-separator:before{display:block;content:"";border-bottom:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;border-top:var(--divider-border-width) var(--divider-border-style) var(--divider-color)}.elementor-widget-divider--element-align-left .elementor-divider .elementor-divider-separator>.elementor-divider__svg:first-of-type{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;-ms-flex-negative:100;flex-shrink:100}.elementor-widget-divider--element-align-left .elementor-divider-separator:before{content:none}.elementor-widget-divider--element-align-left .elementor-divider__element{margin-left:0}.elementor-widget-divider--element-align-right .elementor-divider .elementor-divider-separator>.elementor-divider__svg:last-of-type{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;-ms-flex-negative:100;flex-shrink:100}.elementor-widget-divider--element-align-right .elementor-divider-separator:after{content:none}.elementor-widget-divider--element-align-right .elementor-divider__element{margin-right:0}.elementor-widget-divider:not(.elementor-widget-divider--view-line_text):not(.elementor-widget-divider--view-line_icon) .elementor-divider-separator{border-top:var(--divider-border-width) var(--divider-border-style) var(--divider-color)}.elementor-widget-divider--separator-type-pattern{--divider-border-style:none}.elementor-widget-divider--separator-type-pattern.elementor-widget-divider--view-line .elementor-divider-separator,.elementor-widget-divider--separator-type-pattern:not(.elementor-widget-divider--view-line) .elementor-divider-separator:after,.elementor-widget-divider--separator-type-pattern:not(.elementor-widget-divider--view-line) .elementor-divider-separator:before,.elementor-widget-divider--separator-type-pattern:not([class*=elementor-widget-divider--view]) .elementor-divider-separator{width:100%;min-height:var(--divider-pattern-height);-webkit-mask-size:var(--divider-pattern-size) 100%;mask-size:var(--divider-pattern-size) 100%;-webkit-mask-repeat:var(--divider-pattern-repeat);mask-repeat:var(--divider-pattern-repeat);background-color:var(--divider-color);-webkit-mask-image:var(--divider-pattern-url);mask-image:var(--divider-pattern-url)}.elementor-widget-divider--no-spacing{--divider-pattern-size:auto}.elementor-widget-divider--bg-round{--divider-pattern-repeat:round}.rtl .elementor-widget-divider .elementor-divider__text{direction:rtl}assets/css/widget-tabs-rtl.min.css000064400000010520152377341010013144 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ .elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tabs-wrapper{width:25%;-ms-flex-negative:0;flex-shrink:0}.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tab-desktop-title.elementor-active{border-left-style:none}.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tab-desktop-title.elementor-active:after,.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tab-desktop-title.elementor-active:before{height:999em;width:0;left:0;border-left-style:solid}.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tab-desktop-title.elementor-active:before{top:0;-webkit-transform:translateY(-100%);-ms-transform:translateY(-100%);transform:translateY(-100%)}.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tab-desktop-title.elementor-active:after{top:100%}.elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title{display:table-cell}.elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title.elementor-active{border-bottom-style:none}.elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title.elementor-active:after,.elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title.elementor-active:before{bottom:0;height:0;width:999em;border-bottom-style:solid}.elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title.elementor-active:before{right:100%}.elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title.elementor-active:after{left:100%}.elementor-widget-tabs .elementor-tab-content,.elementor-widget-tabs .elementor-tab-title,.elementor-widget-tabs .elementor-tab-title:after,.elementor-widget-tabs .elementor-tab-title:before,.elementor-widget-tabs .elementor-tabs-content-wrapper{border:1px #d4d4d4}.elementor-widget-tabs .elementor-tabs{text-align:right}.elementor-widget-tabs .elementor-tabs-wrapper{overflow:hidden}.elementor-widget-tabs .elementor-tab-title{cursor:pointer;outline:var(--focus-outline,none)}.elementor-widget-tabs .elementor-tab-desktop-title{position:relative;padding:20px 25px;font-weight:700;line-height:1;border:solid transparent}.elementor-widget-tabs .elementor-tab-desktop-title.elementor-active{border-color:#d4d4d4}.elementor-widget-tabs .elementor-tab-desktop-title.elementor-active:after,.elementor-widget-tabs .elementor-tab-desktop-title.elementor-active:before{display:block;content:"";position:absolute}.elementor-widget-tabs .elementor-tab-mobile-title{padding:10px;cursor:pointer}.elementor-widget-tabs .elementor-tab-content{padding:20px;display:none}@media (max-width:767px){.elementor-tabs .elementor-tab-content,.elementor-tabs .elementor-tab-title{border-style:solid solid none}.elementor-tabs .elementor-tabs-wrapper{display:none}.elementor-tabs .elementor-tabs-content-wrapper{border-bottom-style:solid}.elementor-tabs .elementor-tab-content{padding:10px}}@media (min-width:768px){.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tabs{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tabs-wrapper{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tabs-content-wrapper{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;border-style:solid none solid solid}.elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-content{border-style:none solid solid}.elementor-widget-tabs.elementor-tabs-alignment-center .elementor-tabs-wrapper,.elementor-widget-tabs.elementor-tabs-alignment-end .elementor-tabs-wrapper,.elementor-widget-tabs.elementor-tabs-alignment-stretch .elementor-tabs-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-tabs.elementor-tabs-alignment-center .elementor-tabs-wrapper{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget-tabs.elementor-tabs-alignment-end .elementor-tabs-wrapper{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-widget-tabs.elementor-tabs-alignment-stretch.elementor-tabs-view-horizontal .elementor-tab-title{width:100%}.elementor-widget-tabs.elementor-tabs-alignment-stretch.elementor-tabs-view-vertical .elementor-tab-title{height:100%}.elementor-tabs .elementor-tab-mobile-title{display:none}}assets/css/widget-spacer.min.css000064400000000363152377341010012675 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ .e-container.e-container--row .elementor-spacer-inner{width:var(--spacer-size)}.e-container.e-container--column .elementor-spacer-inner,.elementor-column .elementor-spacer-inner{height:var(--spacer-size)}assets/css/editor-preview-legacy.min.css000064400000001022152377341010014337 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ .elementor-edit-area-active .elementor-inner-section>.elementor-container>.elementor-row,.elementor-edit-area-active .elementor-top-section>.elementor-container>.elementor-row{min-height:40px}.elementor-edit-area-active .elementor-column-wrap.elementor-element-empty .elementor-widget-wrap{min-height:30px}@media (min-width:768px){.elementor-edit-area-active .elementor-column-wrap.elementor-element-empty .elementor-widget-wrap{margin:10px}}.elementor-edit-area-active .handle{display:none}assets/css/app-base.min.css000064400000003132152377341010011624 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ :root{--color-box-shadow-color:rgba(0,0,0,0.05)}.eps-theme-dark{--color-box-shadow-color:rgba(0,0,0,0.1)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media screen and (min-width:480px){.text-start-sm{text-align:start}}@media screen and (min-width:480px){.text-center-sm{text-align:center}}@media screen and (min-width:480px){.text-end-sm{text-align:end}}@media screen and (min-width:768px){.text-start-md{text-align:start}}@media screen and (min-width:768px){.text-center-md{text-align:center}}@media screen and (min-width:768px){.text-end-md{text-align:end}}@media screen and (min-width:1025px){.text-start-lg{text-align:start}}@media screen and (min-width:1025px){.text-center-lg{text-align:center}}@media screen and (min-width:1025px){.text-end-lg{text-align:end}}@media screen and (min-width:1440px){.text-start-xl{text-align:start}}@media screen and (min-width:1440px){.text-center-xl{text-align:center}}@media screen and (min-width:1440px){.text-end-xl{text-align:end}}@media screen and (min-width:1600px){.text-start-xxl{text-align:start}}@media screen and (min-width:1600px){.text-center-xxl{text-align:center}}@media screen and (min-width:1600px){.text-end-xxl{text-align:end}}@-webkit-keyframes eps-animation-pop{0%{-webkit-transform:scale(.75);transform:scale(.75);opacity:0}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes eps-animation-pop{0%{-webkit-transform:scale(.75);transform:scale(.75);opacity:0}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}assets/css/frontend-lite-rtl.css000064400000402053152377341010012730 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ .dialog-widget-content { background-color: #fff; position: absolute; border-radius: 3px; -webkit-box-shadow: 2px 8px 23px 3px rgba(0, 0, 0, 0.2); box-shadow: 2px 8px 23px 3px rgba(0, 0, 0, 0.2); overflow: hidden; } .dialog-message { font-size: 12px; line-height: 1.5; -webkit-box-sizing: border-box; box-sizing: border-box; } .dialog-type-lightbox { position: fixed; height: 100%; width: 100%; bottom: 0; left: 0; background-color: rgba(0, 0, 0, 0.8); z-index: 9999; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .dialog-type-lightbox .dialog-widget-content { margin: auto; width: 375px; } .dialog-type-lightbox .dialog-header { font-size: 15px; color: #495157; padding: 30px 0 10px; font-weight: 500; } .dialog-type-lightbox .dialog-message { padding: 0 30px 30px; min-height: 50px; } .dialog-type-lightbox:not(.elementor-popup-modal) .dialog-header, .dialog-type-lightbox:not(.elementor-popup-modal) .dialog-message { text-align: center; } .dialog-type-lightbox .dialog-buttons-wrapper { border-top: 1px solid #e6e9ec; text-align: center; } .dialog-type-lightbox .dialog-buttons-wrapper > .dialog-button { font-family: Roboto, Arial, Helvetica, Verdana, sans-serif; width: 50%; border: none; background: none; color: #6d7882; font-size: 15px; cursor: pointer; padding: 13px 0; outline: 0; } .dialog-type-lightbox .dialog-buttons-wrapper > .dialog-button:hover { background-color: #f4f6f7; } .dialog-type-lightbox .dialog-buttons-wrapper > .dialog-button.dialog-ok { color: #b01b1b; } .dialog-type-lightbox .dialog-buttons-wrapper > .dialog-button.dialog-take_over { color: #39b54a; } .dialog-type-lightbox .dialog-buttons-wrapper > .dialog-button:active { background-color: rgba(230, 233, 236, 0.5); } .dialog-type-lightbox .dialog-buttons-wrapper > .dialog-button::-moz-focus-inner { border: 0; } .dialog-close-button { cursor: pointer; position: absolute; margin-top: 15px; left: 15px; font-size: 15px; line-height: 1; } .dialog-close-button:not(:hover) { opacity: 0.4; } .dialog-alert-widget .dialog-buttons-wrapper > button { width: 100%; } .dialog-confirm-widget .dialog-button:first-child { border-left: 1px solid #e6e9ec; } .dialog-prevent-scroll { overflow: hidden; max-height: 100vh; } @media (min-width: 1024px) { body.admin-bar .dialog-lightbox-widget { height: calc(100vh - 32px); } } @media (max-width: 1024px) { body.admin-bar .dialog-type-lightbox { position: sticky; height: 100vh; } } .elementor-aspect-ratio-219 .elementor-fit-aspect-ratio { padding-bottom: 42.8571%; } .elementor-aspect-ratio-169 .elementor-fit-aspect-ratio { padding-bottom: 56.25%; } .elementor-aspect-ratio-43 .elementor-fit-aspect-ratio { padding-bottom: 75%; } .elementor-aspect-ratio-32 .elementor-fit-aspect-ratio { padding-bottom: 66.6666%; } .elementor-aspect-ratio-11 .elementor-fit-aspect-ratio { padding-bottom: 100%; } .elementor-aspect-ratio-916 .elementor-fit-aspect-ratio { padding-bottom: 177.8%; } .elementor-fit-aspect-ratio { position: relative; height: 0; } .elementor-fit-aspect-ratio iframe { position: absolute; top: 0; left: 0; height: 100%; width: 100%; border: 0; background-color: #000; } .elementor-fit-aspect-ratio video { width: 100%; } .flatpickr-calendar { width: 280px; } .flatpickr-calendar .flatpickr-current-month span.cur-month { font-weight: 300; } .flatpickr-calendar .dayContainer { width: 280px; min-width: 280px; max-width: 280px; } .flatpickr-calendar .flatpickr-days { width: 280px; } .flatpickr-calendar .flatpickr-day { max-width: 37px; height: 37px; line-height: 37px; } .elementor-templates-modal .dialog-widget-content { font-family: Roboto, Arial, Helvetica, Verdana, sans-serif; background-color: #f1f3f5; width: 100%; } @media (max-width: 1439px) { .elementor-templates-modal .dialog-widget-content { max-width: 990px; } } @media (min-width: 1440px) { .elementor-templates-modal .dialog-widget-content { max-width: 1200px; } } .elementor-templates-modal .dialog-header { padding: 0; background-color: #fff; -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.1); box-shadow: 0 0 8px rgba(0, 0, 0, 0.1); position: relative; z-index: 1; } .elementor-templates-modal .dialog-buttons-wrapper { background-color: #fff; border: none; display: none; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; padding: 5px; -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.1); box-shadow: 0 0 8px rgba(0, 0, 0, 0.1); position: relative; } .elementor-templates-modal .dialog-buttons-wrapper .elementor-button { height: 40px; margin-right: 5px; } .elementor-templates-modal .dialog-buttons-wrapper .elementor-button-success { padding: 12px 36px; color: #fff; width: initial; font-size: 15px; } .elementor-templates-modal .dialog-buttons-wrapper .elementor-button-success:hover { background-color: #39b54a; } .elementor-templates-modal .dialog-message { height: 750px; max-height: 85vh; overflow: auto; padding-top: 25px; } .elementor-templates-modal .dialog-content { height: 100%; } .elementor-templates-modal .dialog-loading { display: none; } .elementor-templates-modal__header { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; height: 50px; } .elementor-templates-modal__header__logo { line-height: 1; text-transform: uppercase; font-weight: bold; cursor: pointer; } .elementor-templates-modal__header__logo-area { text-align: right; padding-right: 15px; } .elementor-templates-modal__header__logo-area > * { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .elementor-templates-modal__header__logo__icon-wrapper { margin-left: 10px; font-size: 12px; } .elementor-templates-modal__header__logo__title { padding-top: 2px; } .elementor-templates-modal__header__items-area { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; } .elementor-templates-modal__header__item { position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-sizing: content-box; box-sizing: content-box; } .elementor-templates-modal__header__item > i { font-size: 20px; -webkit-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; cursor: pointer; } .elementor-templates-modal__header__item > i:not(:hover) { color: #a4afb7; } .elementor-templates-modal__header__close--normal { width: 47px; border-right: 1px solid #e6e9ec; } .elementor-templates-modal__header__close--normal i { font-size: 18px; } .elementor-templates-modal__header__close--skip { padding: 10px; padding-right: 20px; margin-left: 10px; color: #fff; background-color: #a4afb7; font-size: 11px; font-weight: normal; line-height: 1; text-transform: uppercase; border-radius: 2px; cursor: pointer; } .elementor-templates-modal__header__close--skip > i { font-size: inherit; padding-right: 10px; margin-right: 15px; border-right: 1px solid; } .elementor-templates-modal__header__close--skip > i:not(:hover) { color: #fff; } .elementor-templates-modal__sidebar { -ms-flex-negative: 0; flex-shrink: 0; width: 25%; background-color: rgba(255, 255, 255, 0.3); } .elementor-templates-modal__content { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; -webkit-box-shadow: 0 0 13px inset rgba(0, 0, 0, 0.05); box-shadow: 0 0 13px inset rgba(0, 0, 0, 0.05); } /* Will select next element after last '.elementor-general-section' */ #wpadminbar #wp-admin-bar-elementor_edit_page .elementor-general-section + .elementor-second-section { border-top: 1px solid #464b50; margin-top: 6px; } .elementor-hidden { display: none; } .elementor-screen-only, .screen-reader-text, .screen-reader-text span, .ui-helper-hidden-accessible { position: absolute; top: -10000em; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0; } .elementor-clearfix:after { content: ""; display: block; clear: both; width: 0; height: 0; } .e-logo-wrapper { background: #93003c; display: inline-block; padding: 0.75em; border-radius: 50%; line-height: 1; } .e-logo-wrapper i { color: #fff; font-size: 1em; } #e-enable-unfiltered-files-dialog-import-template .dialog-confirm-ok { color: #39b54a; } #e-enable-unfiltered-files-dialog-import-template .dialog-confirm-cancel { color: #b01b1b; } .elementor { -webkit-hyphens: manual; -ms-hyphens: manual; hyphens: manual; } .elementor *, .elementor *:before, .elementor *:after { -webkit-box-sizing: border-box; box-sizing: border-box; } .elementor a { -webkit-box-shadow: none; box-shadow: none; text-decoration: none; } .elementor hr { margin: 0; background-color: transparent; } .elementor img { height: auto; max-width: 100%; border: none; border-radius: 0; -webkit-box-shadow: none; box-shadow: none; } .elementor .elementor-widget:not(.elementor-widget-text-editor):not(.elementor-widget-theme-post-content) figure { margin: 0; } .elementor embed, .elementor iframe, .elementor object, .elementor video { max-width: 100%; width: 100%; margin: 0; line-height: 1; border: none; } .elementor .elementor-custom-embed { line-height: 0; } .elementor .elementor-background-video-container, .elementor .elementor-background-holder, .elementor .elementor-background { height: 100%; width: 100%; top: 0; left: 0; position: absolute; overflow: hidden; z-index: 0; direction: ltr; } .elementor .elementor-background-video-container { -webkit-transition: opacity 1s; -o-transition: opacity 1s; transition: opacity 1s; pointer-events: none; } .elementor .elementor-background-video-container.elementor-loading { opacity: 0; } .elementor .elementor-background-video-embed { max-width: none; } .elementor .elementor-background-video-embed, .elementor .elementor-background-video-hosted { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); } .elementor .elementor-background-video { max-width: none; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); } .elementor .elementor-html5-video { -o-object-fit: cover; object-fit: cover; } .elementor .elementor-background-overlay { height: 100%; width: 100%; top: 0; left: 0; position: absolute; } .elementor .elementor-background-slideshow { position: absolute; width: 100%; height: 100%; z-index: 0; top: 0; right: 0; } .elementor .elementor-background-slideshow__slide__image { width: 100%; height: 100%; background-position: center center; background-size: cover; } .elementor-widget-wrap > .elementor-element.elementor-absolute, .e-container > .elementor-element.elementor-absolute { position: absolute; } .elementor-widget-wrap > .elementor-element.elementor-fixed, .e-container > .elementor-element.elementor-fixed { position: fixed; } .elementor-widget-wrap .elementor-element.elementor-widget__width-auto, .elementor-widget-wrap .elementor-element.elementor-widget__width-initial { max-width: 100%; } @media (max-width: 1024px) { .elementor-widget-wrap .elementor-element.elementor-widget-tablet__width-auto, .elementor-widget-wrap .elementor-element.elementor-widget-tablet__width-initial { max-width: 100%; } } @media (max-width: 767px) { .elementor-widget-wrap .elementor-element.elementor-widget-mobile__width-auto, .elementor-widget-wrap .elementor-element.elementor-widget-mobile__width-initial { max-width: 100%; } } .elementor-element { --flex-direction: initial; --flex-wrap: initial; --justify-content: initial; --align-items: initial; --align-content: initial; --gap: initial; --flex-basis: initial; --flex-grow: initial; --flex-shrink: initial; --order: initial; --align-self: initial; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: var(--flex-direction); flex-direction: var(--flex-direction); -ms-flex-wrap: var(--flex-wrap); flex-wrap: var(--flex-wrap); -webkit-box-pack: var(--justify-content); -ms-flex-pack: var(--justify-content); justify-content: var(--justify-content); -webkit-box-align: var(--align-items); -ms-flex-align: var(--align-items); align-items: var(--align-items); -ms-flex-line-pack: var(--align-content); align-content: var(--align-content); gap: var(--gap); -ms-flex-preferred-size: var(--flex-basis); flex-basis: var(--flex-basis); -webkit-box-flex: var(--flex-grow); -ms-flex-positive: var(--flex-grow); flex-grow: var(--flex-grow); -ms-flex-negative: var(--flex-shrink); flex-shrink: var(--flex-shrink); -webkit-box-ordinal-group: var(--order); -ms-flex-order: var(--order); order: var(--order); -ms-flex-item-align: var(--align-self); align-self: var(--align-self); } .elementor-element.elementor-absolute, .elementor-element.elementor-fixed { z-index: 1; } .elementor-invisible { visibility: hidden; } .elementor-align-center { text-align: center; } .elementor-align-center .elementor-button { width: auto; } .elementor-align-right { text-align: right; } .elementor-align-right .elementor-button { width: auto; } .elementor-align-left { text-align: left; } .elementor-align-left .elementor-button { width: auto; } .elementor-align-justify .elementor-button { width: 100%; } .elementor-custom-embed-play { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); } .elementor-custom-embed-play i { font-size: 100px; color: #fff; text-shadow: 1px 0 6px rgba(0, 0, 0, 0.3); } .elementor-custom-embed-play svg { height: 100px; width: 100px; fill: #fff; -webkit-filter: drop-shadow(1px 0 6px rgba(0, 0, 0, 0.3)); filter: drop-shadow(1px 0 6px rgba(0, 0, 0, 0.3)); } .elementor-custom-embed-play i, .elementor-custom-embed-play svg { opacity: 0.8; -webkit-transition: all 0.5s; -o-transition: all 0.5s; transition: all 0.5s; } .elementor-custom-embed-play.elementor-playing i { font-family: eicons; } .elementor-custom-embed-play.elementor-playing i:before { content: "\e8fb"; } .elementor-custom-embed-play.elementor-playing i, .elementor-custom-embed-play.elementor-playing svg { -webkit-animation: eicon-spin 2s infinite linear; animation: eicon-spin 2s infinite linear; } .elementor-tag { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; } .elementor-ken-burns { -webkit-transition-property: -webkit-transform; transition-property: -webkit-transform; -o-transition-property: transform; transition-property: transform; transition-property: transform, -webkit-transform; -webkit-transition-duration: 10s; -o-transition-duration: 10s; transition-duration: 10s; -webkit-transition-timing-function: linear; -o-transition-timing-function: linear; transition-timing-function: linear; } .elementor-ken-burns--out { -webkit-transform: scale(1.3); -ms-transform: scale(1.3); transform: scale(1.3); } .elementor-ken-burns--active { -webkit-transition-duration: 20s; -o-transition-duration: 20s; transition-duration: 20s; } .elementor-ken-burns--active.elementor-ken-burns--out { -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1); } .elementor-ken-burns--active.elementor-ken-burns--in { -webkit-transform: scale(1.3); -ms-transform: scale(1.3); transform: scale(1.3); } @media (min-width: -1px) { .elementor-widescreen-align-center { text-align: center; } .elementor-widescreen-align-center .elementor-button { width: auto; } .elementor-widescreen-align-right { text-align: right; } .elementor-widescreen-align-right .elementor-button { width: auto; } .elementor-widescreen-align-left { text-align: left; } .elementor-widescreen-align-left .elementor-button { width: auto; } .elementor-widescreen-align-justify .elementor-button { width: 100%; } } @media (max-width: -1px) { .elementor-laptop-align-center { text-align: center; } .elementor-laptop-align-center .elementor-button { width: auto; } .elementor-laptop-align-right { text-align: right; } .elementor-laptop-align-right .elementor-button { width: auto; } .elementor-laptop-align-left { text-align: left; } .elementor-laptop-align-left .elementor-button { width: auto; } .elementor-laptop-align-justify .elementor-button { width: 100%; } } @media (max-width: -1px) { .elementor-tablet_extra-align-center { text-align: center; } .elementor-tablet_extra-align-center .elementor-button { width: auto; } .elementor-tablet_extra-align-right { text-align: right; } .elementor-tablet_extra-align-right .elementor-button { width: auto; } .elementor-tablet_extra-align-left { text-align: left; } .elementor-tablet_extra-align-left .elementor-button { width: auto; } .elementor-tablet_extra-align-justify .elementor-button { width: 100%; } } @media (max-width: 1024px) { .elementor-tablet-align-center { text-align: center; } .elementor-tablet-align-center .elementor-button { width: auto; } .elementor-tablet-align-right { text-align: right; } .elementor-tablet-align-right .elementor-button { width: auto; } .elementor-tablet-align-left { text-align: left; } .elementor-tablet-align-left .elementor-button { width: auto; } .elementor-tablet-align-justify .elementor-button { width: 100%; } } @media (max-width: -1px) { .elementor-mobile_extra-align-center { text-align: center; } .elementor-mobile_extra-align-center .elementor-button { width: auto; } .elementor-mobile_extra-align-right { text-align: right; } .elementor-mobile_extra-align-right .elementor-button { width: auto; } .elementor-mobile_extra-align-left { text-align: left; } .elementor-mobile_extra-align-left .elementor-button { width: auto; } .elementor-mobile_extra-align-justify .elementor-button { width: 100%; } } @media (max-width: 767px) { .elementor-mobile-align-center { text-align: center; } .elementor-mobile-align-center .elementor-button { width: auto; } .elementor-mobile-align-right { text-align: right; } .elementor-mobile-align-right .elementor-button { width: auto; } .elementor-mobile-align-left { text-align: left; } .elementor-mobile-align-left .elementor-button { width: auto; } .elementor-mobile-align-justify .elementor-button { width: 100%; } } :root { --page-title-display: block; } .elementor-page-title, h1.entry-title { display: var(--page-title-display); } @-webkit-keyframes eicon-spin { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(359deg); transform: rotate(359deg); } } @keyframes eicon-spin { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(359deg); transform: rotate(359deg); } } .eicon-animation-spin { -webkit-animation: eicon-spin 2s infinite linear; animation: eicon-spin 2s infinite linear; } .elementor-section { position: relative; } .elementor-section .elementor-container { display: -webkit-box; display: -ms-flexbox; display: flex; margin-right: auto; margin-left: auto; position: relative; } @media (max-width: 1024px) { .elementor-section .elementor-container { -ms-flex-wrap: wrap; flex-wrap: wrap; } } .elementor-section.elementor-section-boxed > .elementor-container { max-width: 1140px; } .elementor-section.elementor-section-stretched { position: relative; width: 100%; } .elementor-section.elementor-section-items-top > .elementor-container { -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; } .elementor-section.elementor-section-items-middle > .elementor-container { -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .elementor-section.elementor-section-items-bottom > .elementor-container { -webkit-box-align: end; -ms-flex-align: end; align-items: flex-end; } @media (min-width: 768px) { .elementor-section.elementor-section-height-full { height: 100vh; } .elementor-section.elementor-section-height-full > .elementor-container { height: 100%; } } .elementor-bc-flex-widget .elementor-section-content-top > .elementor-container > .elementor-column > .elementor-widget-wrap { -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; } .elementor-bc-flex-widget .elementor-section-content-middle > .elementor-container > .elementor-column > .elementor-widget-wrap { -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .elementor-bc-flex-widget .elementor-section-content-bottom > .elementor-container > .elementor-column > .elementor-widget-wrap { -webkit-box-align: end; -ms-flex-align: end; align-items: flex-end; } .elementor-row { width: 100%; display: -webkit-box; display: -ms-flexbox; display: flex; } @media (max-width: 1024px) { .elementor-row { -ms-flex-wrap: wrap; flex-wrap: wrap; } } .elementor-widget-wrap { position: relative; width: 100%; -ms-flex-wrap: wrap; flex-wrap: wrap; -ms-flex-line-pack: start; align-content: flex-start; } .elementor:not(.elementor-bc-flex-widget) .elementor-widget-wrap { display: -webkit-box; display: -ms-flexbox; display: flex; } .elementor-widget-wrap > .elementor-element { width: 100%; } .elementor-widget-wrap.e-swiper-container { width: calc(100% - (var(--e-column-margin-left, 0px) + var(--e-column-margin-right, 0px))); } .elementor-widget { position: relative; } .elementor-widget:not(:last-child) { margin-bottom: 20px; } .elementor-widget:not(:last-child).elementor-widget__width-auto, .elementor-widget:not(:last-child).elementor-widget__width-initial, .elementor-widget:not(:last-child).elementor-absolute { margin-bottom: 0; } .elementor-column { position: relative; min-height: 1px; display: -webkit-box; display: -ms-flexbox; display: flex; } .elementor-column-wrap { width: 100%; position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; } .elementor-column-gap-narrow > .elementor-column > .elementor-element-populated { padding: 5px; } .elementor-column-gap-default > .elementor-column > .elementor-element-populated { padding: 10px; } .elementor-column-gap-extended > .elementor-column > .elementor-element-populated { padding: 15px; } .elementor-column-gap-wide > .elementor-column > .elementor-element-populated { padding: 20px; } .elementor-column-gap-wider > .elementor-column > .elementor-element-populated { padding: 30px; } .elementor-inner-section .elementor-column-gap-no .elementor-element-populated { padding: 0; } @media (min-width: 768px) { .elementor-column.elementor-col-10, .elementor-column[data-col="10"] { width: 10%; } .elementor-column.elementor-col-11, .elementor-column[data-col="11"] { width: 11.111%; } .elementor-column.elementor-col-12, .elementor-column[data-col="12"] { width: 12.5%; } .elementor-column.elementor-col-14, .elementor-column[data-col="14"] { width: 14.285%; } .elementor-column.elementor-col-16, .elementor-column[data-col="16"] { width: 16.666%; } .elementor-column.elementor-col-20, .elementor-column[data-col="20"] { width: 20%; } .elementor-column.elementor-col-25, .elementor-column[data-col="25"] { width: 25%; } .elementor-column.elementor-col-30, .elementor-column[data-col="30"] { width: 30%; } .elementor-column.elementor-col-33, .elementor-column[data-col="33"] { width: 33.333%; } .elementor-column.elementor-col-40, .elementor-column[data-col="40"] { width: 40%; } .elementor-column.elementor-col-50, .elementor-column[data-col="50"] { width: 50%; } .elementor-column.elementor-col-60, .elementor-column[data-col="60"] { width: 60%; } .elementor-column.elementor-col-66, .elementor-column[data-col="66"] { width: 66.666%; } .elementor-column.elementor-col-70, .elementor-column[data-col="70"] { width: 70%; } .elementor-column.elementor-col-75, .elementor-column[data-col="75"] { width: 75%; } .elementor-column.elementor-col-80, .elementor-column[data-col="80"] { width: 80%; } .elementor-column.elementor-col-83, .elementor-column[data-col="83"] { width: 83.333%; } .elementor-column.elementor-col-90, .elementor-column[data-col="90"] { width: 90%; } .elementor-column.elementor-col-100, .elementor-column[data-col="100"] { width: 100%; } } @media (max-width: 479px) { .elementor-column.elementor-xs-10 { width: 10%; } .elementor-column.elementor-xs-11 { width: 11.111%; } .elementor-column.elementor-xs-12 { width: 12.5%; } .elementor-column.elementor-xs-14 { width: 14.285%; } .elementor-column.elementor-xs-16 { width: 16.666%; } .elementor-column.elementor-xs-20 { width: 20%; } .elementor-column.elementor-xs-25 { width: 25%; } .elementor-column.elementor-xs-30 { width: 30%; } .elementor-column.elementor-xs-33 { width: 33.333%; } .elementor-column.elementor-xs-40 { width: 40%; } .elementor-column.elementor-xs-50 { width: 50%; } .elementor-column.elementor-xs-60 { width: 60%; } .elementor-column.elementor-xs-66 { width: 66.666%; } .elementor-column.elementor-xs-70 { width: 70%; } .elementor-column.elementor-xs-75 { width: 75%; } .elementor-column.elementor-xs-80 { width: 80%; } .elementor-column.elementor-xs-83 { width: 83.333%; } .elementor-column.elementor-xs-90 { width: 90%; } .elementor-column.elementor-xs-100 { width: 100%; } } @media (max-width: 767px) { .elementor-column.elementor-sm-10 { width: 10%; } .elementor-column.elementor-sm-11 { width: 11.111%; } .elementor-column.elementor-sm-12 { width: 12.5%; } .elementor-column.elementor-sm-14 { width: 14.285%; } .elementor-column.elementor-sm-16 { width: 16.666%; } .elementor-column.elementor-sm-20 { width: 20%; } .elementor-column.elementor-sm-25 { width: 25%; } .elementor-column.elementor-sm-30 { width: 30%; } .elementor-column.elementor-sm-33 { width: 33.333%; } .elementor-column.elementor-sm-40 { width: 40%; } .elementor-column.elementor-sm-50 { width: 50%; } .elementor-column.elementor-sm-60 { width: 60%; } .elementor-column.elementor-sm-66 { width: 66.666%; } .elementor-column.elementor-sm-70 { width: 70%; } .elementor-column.elementor-sm-75 { width: 75%; } .elementor-column.elementor-sm-80 { width: 80%; } .elementor-column.elementor-sm-83 { width: 83.333%; } .elementor-column.elementor-sm-90 { width: 90%; } .elementor-column.elementor-sm-100 { width: 100%; } } @media (min-width: 768px) and (max-width: 1024px) { .elementor-column.elementor-md-10 { width: 10%; } .elementor-column.elementor-md-11 { width: 11.111%; } .elementor-column.elementor-md-12 { width: 12.5%; } .elementor-column.elementor-md-14 { width: 14.285%; } .elementor-column.elementor-md-16 { width: 16.666%; } .elementor-column.elementor-md-20 { width: 20%; } .elementor-column.elementor-md-25 { width: 25%; } .elementor-column.elementor-md-30 { width: 30%; } .elementor-column.elementor-md-33 { width: 33.333%; } .elementor-column.elementor-md-40 { width: 40%; } .elementor-column.elementor-md-50 { width: 50%; } .elementor-column.elementor-md-60 { width: 60%; } .elementor-column.elementor-md-66 { width: 66.666%; } .elementor-column.elementor-md-70 { width: 70%; } .elementor-column.elementor-md-75 { width: 75%; } .elementor-column.elementor-md-80 { width: 80%; } .elementor-column.elementor-md-83 { width: 83.333%; } .elementor-column.elementor-md-90 { width: 90%; } .elementor-column.elementor-md-100 { width: 100%; } } @media (min-width: -1px) { .elementor-reverse-widescreen > .elementor-container > :nth-child(1) { -webkit-box-ordinal-group: 11; -ms-flex-order: 10; order: 10; } .elementor-reverse-widescreen > .elementor-container > :nth-child(2) { -webkit-box-ordinal-group: 10; -ms-flex-order: 9; order: 9; } .elementor-reverse-widescreen > .elementor-container > :nth-child(3) { -webkit-box-ordinal-group: 9; -ms-flex-order: 8; order: 8; } .elementor-reverse-widescreen > .elementor-container > :nth-child(4) { -webkit-box-ordinal-group: 8; -ms-flex-order: 7; order: 7; } .elementor-reverse-widescreen > .elementor-container > :nth-child(5) { -webkit-box-ordinal-group: 7; -ms-flex-order: 6; order: 6; } .elementor-reverse-widescreen > .elementor-container > :nth-child(6) { -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; } .elementor-reverse-widescreen > .elementor-container > :nth-child(7) { -webkit-box-ordinal-group: 5; -ms-flex-order: 4; order: 4; } .elementor-reverse-widescreen > .elementor-container > :nth-child(8) { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; } .elementor-reverse-widescreen > .elementor-container > :nth-child(9) { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; } .elementor-reverse-widescreen > .elementor-container > :nth-child(10) { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; } } @media (min-width: 1025px) and (max-width: -1px) { .elementor-reverse-laptop > .elementor-container > :nth-child(1) { -webkit-box-ordinal-group: 11; -ms-flex-order: 10; order: 10; } .elementor-reverse-laptop > .elementor-container > :nth-child(2) { -webkit-box-ordinal-group: 10; -ms-flex-order: 9; order: 9; } .elementor-reverse-laptop > .elementor-container > :nth-child(3) { -webkit-box-ordinal-group: 9; -ms-flex-order: 8; order: 8; } .elementor-reverse-laptop > .elementor-container > :nth-child(4) { -webkit-box-ordinal-group: 8; -ms-flex-order: 7; order: 7; } .elementor-reverse-laptop > .elementor-container > :nth-child(5) { -webkit-box-ordinal-group: 7; -ms-flex-order: 6; order: 6; } .elementor-reverse-laptop > .elementor-container > :nth-child(6) { -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; } .elementor-reverse-laptop > .elementor-container > :nth-child(7) { -webkit-box-ordinal-group: 5; -ms-flex-order: 4; order: 4; } .elementor-reverse-laptop > .elementor-container > :nth-child(8) { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; } .elementor-reverse-laptop > .elementor-container > :nth-child(9) { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; } .elementor-reverse-laptop > .elementor-container > :nth-child(10) { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; } } @media (min-width: -1px) and (max-width: -1px) { .elementor-reverse-laptop > .elementor-container > :nth-child(1) { -webkit-box-ordinal-group: 11; -ms-flex-order: 10; order: 10; } .elementor-reverse-laptop > .elementor-container > :nth-child(2) { -webkit-box-ordinal-group: 10; -ms-flex-order: 9; order: 9; } .elementor-reverse-laptop > .elementor-container > :nth-child(3) { -webkit-box-ordinal-group: 9; -ms-flex-order: 8; order: 8; } .elementor-reverse-laptop > .elementor-container > :nth-child(4) { -webkit-box-ordinal-group: 8; -ms-flex-order: 7; order: 7; } .elementor-reverse-laptop > .elementor-container > :nth-child(5) { -webkit-box-ordinal-group: 7; -ms-flex-order: 6; order: 6; } .elementor-reverse-laptop > .elementor-container > :nth-child(6) { -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; } .elementor-reverse-laptop > .elementor-container > :nth-child(7) { -webkit-box-ordinal-group: 5; -ms-flex-order: 4; order: 4; } .elementor-reverse-laptop > .elementor-container > :nth-child(8) { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; } .elementor-reverse-laptop > .elementor-container > :nth-child(9) { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; } .elementor-reverse-laptop > .elementor-container > :nth-child(10) { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; } } @media (min-width: 1025px) and (max-width: -1px) { .elementor-reverse-laptop > .elementor-container > :nth-child(1) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(2) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(3) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(4) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(5) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(6) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(7) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(8) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(9) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-laptop > .elementor-container > :nth-child(10) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(1) { -webkit-box-ordinal-group: 11; -ms-flex-order: 10; order: 10; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(2) { -webkit-box-ordinal-group: 10; -ms-flex-order: 9; order: 9; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(3) { -webkit-box-ordinal-group: 9; -ms-flex-order: 8; order: 8; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(4) { -webkit-box-ordinal-group: 8; -ms-flex-order: 7; order: 7; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(5) { -webkit-box-ordinal-group: 7; -ms-flex-order: 6; order: 6; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(6) { -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(7) { -webkit-box-ordinal-group: 5; -ms-flex-order: 4; order: 4; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(8) { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(9) { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; } .elementor-reverse-tablet_extra > .elementor-container > :nth-child(10) { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; } } @media (min-width: 768px) and (max-width: 1024px) { .elementor-reverse-tablet > .elementor-container > :nth-child(1) { -webkit-box-ordinal-group: 11; -ms-flex-order: 10; order: 10; } .elementor-reverse-tablet > .elementor-container > :nth-child(2) { -webkit-box-ordinal-group: 10; -ms-flex-order: 9; order: 9; } .elementor-reverse-tablet > .elementor-container > :nth-child(3) { -webkit-box-ordinal-group: 9; -ms-flex-order: 8; order: 8; } .elementor-reverse-tablet > .elementor-container > :nth-child(4) { -webkit-box-ordinal-group: 8; -ms-flex-order: 7; order: 7; } .elementor-reverse-tablet > .elementor-container > :nth-child(5) { -webkit-box-ordinal-group: 7; -ms-flex-order: 6; order: 6; } .elementor-reverse-tablet > .elementor-container > :nth-child(6) { -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; } .elementor-reverse-tablet > .elementor-container > :nth-child(7) { -webkit-box-ordinal-group: 5; -ms-flex-order: 4; order: 4; } .elementor-reverse-tablet > .elementor-container > :nth-child(8) { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; } .elementor-reverse-tablet > .elementor-container > :nth-child(9) { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; } .elementor-reverse-tablet > .elementor-container > :nth-child(10) { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; } } @media (min-width: -1px) and (max-width: 1024px) { .elementor-reverse-tablet > .elementor-container > :nth-child(1) { -webkit-box-ordinal-group: 11; -ms-flex-order: 10; order: 10; } .elementor-reverse-tablet > .elementor-container > :nth-child(2) { -webkit-box-ordinal-group: 10; -ms-flex-order: 9; order: 9; } .elementor-reverse-tablet > .elementor-container > :nth-child(3) { -webkit-box-ordinal-group: 9; -ms-flex-order: 8; order: 8; } .elementor-reverse-tablet > .elementor-container > :nth-child(4) { -webkit-box-ordinal-group: 8; -ms-flex-order: 7; order: 7; } .elementor-reverse-tablet > .elementor-container > :nth-child(5) { -webkit-box-ordinal-group: 7; -ms-flex-order: 6; order: 6; } .elementor-reverse-tablet > .elementor-container > :nth-child(6) { -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; } .elementor-reverse-tablet > .elementor-container > :nth-child(7) { -webkit-box-ordinal-group: 5; -ms-flex-order: 4; order: 4; } .elementor-reverse-tablet > .elementor-container > :nth-child(8) { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; } .elementor-reverse-tablet > .elementor-container > :nth-child(9) { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; } .elementor-reverse-tablet > .elementor-container > :nth-child(10) { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; } } @media (min-width: 768px) and (max-width: -1px) { .elementor-reverse-tablet > .elementor-container > :nth-child(1) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(2) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(3) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(4) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(5) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(6) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(7) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(8) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(9) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-tablet > .elementor-container > :nth-child(10) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(1) { -webkit-box-ordinal-group: 11; -ms-flex-order: 10; order: 10; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(2) { -webkit-box-ordinal-group: 10; -ms-flex-order: 9; order: 9; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(3) { -webkit-box-ordinal-group: 9; -ms-flex-order: 8; order: 8; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(4) { -webkit-box-ordinal-group: 8; -ms-flex-order: 7; order: 7; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(5) { -webkit-box-ordinal-group: 7; -ms-flex-order: 6; order: 6; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(6) { -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(7) { -webkit-box-ordinal-group: 5; -ms-flex-order: 4; order: 4; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(8) { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(9) { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; } .elementor-reverse-mobile_extra > .elementor-container > :nth-child(10) { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; } } @media (max-width: 767px) { .elementor-reverse-mobile > .elementor-container > :nth-child(1) { -webkit-box-ordinal-group: 11; -ms-flex-order: 10; order: 10; } .elementor-reverse-mobile > .elementor-container > :nth-child(2) { -webkit-box-ordinal-group: 10; -ms-flex-order: 9; order: 9; } .elementor-reverse-mobile > .elementor-container > :nth-child(3) { -webkit-box-ordinal-group: 9; -ms-flex-order: 8; order: 8; } .elementor-reverse-mobile > .elementor-container > :nth-child(4) { -webkit-box-ordinal-group: 8; -ms-flex-order: 7; order: 7; } .elementor-reverse-mobile > .elementor-container > :nth-child(5) { -webkit-box-ordinal-group: 7; -ms-flex-order: 6; order: 6; } .elementor-reverse-mobile > .elementor-container > :nth-child(6) { -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; } .elementor-reverse-mobile > .elementor-container > :nth-child(7) { -webkit-box-ordinal-group: 5; -ms-flex-order: 4; order: 4; } .elementor-reverse-mobile > .elementor-container > :nth-child(8) { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; } .elementor-reverse-mobile > .elementor-container > :nth-child(9) { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; } .elementor-reverse-mobile > .elementor-container > :nth-child(10) { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; } .elementor-column { width: 100%; } } ul.elementor-icon-list-items.elementor-inline-items { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; } ul.elementor-icon-list-items.elementor-inline-items .elementor-inline-item { word-break: break-word; } .elementor-grid { display: grid; grid-column-gap: var(--grid-column-gap); grid-row-gap: var(--grid-row-gap); } .elementor-grid .elementor-grid-item { min-width: 0; } .elementor-grid-0 .elementor-grid { display: inline-block; width: 100%; word-spacing: var(--grid-column-gap); margin-bottom: calc(-1 * var(--grid-row-gap)); } .elementor-grid-0 .elementor-grid .elementor-grid-item { display: inline-block; margin-bottom: var(--grid-row-gap); word-break: break-word; } .elementor-grid-1 .elementor-grid { grid-template-columns: repeat(1, 1fr); } .elementor-grid-2 .elementor-grid { grid-template-columns: repeat(2, 1fr); } .elementor-grid-3 .elementor-grid { grid-template-columns: repeat(3, 1fr); } .elementor-grid-4 .elementor-grid { grid-template-columns: repeat(4, 1fr); } .elementor-grid-5 .elementor-grid { grid-template-columns: repeat(5, 1fr); } .elementor-grid-6 .elementor-grid { grid-template-columns: repeat(6, 1fr); } .elementor-grid-7 .elementor-grid { grid-template-columns: repeat(7, 1fr); } .elementor-grid-8 .elementor-grid { grid-template-columns: repeat(8, 1fr); } .elementor-grid-9 .elementor-grid { grid-template-columns: repeat(9, 1fr); } .elementor-grid-10 .elementor-grid { grid-template-columns: repeat(10, 1fr); } .elementor-grid-11 .elementor-grid { grid-template-columns: repeat(11, 1fr); } .elementor-grid-12 .elementor-grid { grid-template-columns: repeat(12, 1fr); } @media (min-width: -1px) { .elementor-grid-widescreen-0 .elementor-grid { display: inline-block; width: 100%; word-spacing: var(--grid-column-gap); margin-bottom: calc(-1 * var(--grid-row-gap)); } .elementor-grid-widescreen-0 .elementor-grid .elementor-grid-item { display: inline-block; margin-bottom: var(--grid-row-gap); word-break: break-word; } .elementor-grid-widescreen-1 .elementor-grid { grid-template-columns: repeat(1, 1fr); } .elementor-grid-widescreen-2 .elementor-grid { grid-template-columns: repeat(2, 1fr); } .elementor-grid-widescreen-3 .elementor-grid { grid-template-columns: repeat(3, 1fr); } .elementor-grid-widescreen-4 .elementor-grid { grid-template-columns: repeat(4, 1fr); } .elementor-grid-widescreen-5 .elementor-grid { grid-template-columns: repeat(5, 1fr); } .elementor-grid-widescreen-6 .elementor-grid { grid-template-columns: repeat(6, 1fr); } .elementor-grid-widescreen-7 .elementor-grid { grid-template-columns: repeat(7, 1fr); } .elementor-grid-widescreen-8 .elementor-grid { grid-template-columns: repeat(8, 1fr); } .elementor-grid-widescreen-9 .elementor-grid { grid-template-columns: repeat(9, 1fr); } .elementor-grid-widescreen-10 .elementor-grid { grid-template-columns: repeat(10, 1fr); } .elementor-grid-widescreen-11 .elementor-grid { grid-template-columns: repeat(11, 1fr); } .elementor-grid-widescreen-12 .elementor-grid { grid-template-columns: repeat(12, 1fr); } } @media (max-width: -1px) { .elementor-grid-laptop-0 .elementor-grid { display: inline-block; width: 100%; word-spacing: var(--grid-column-gap); margin-bottom: calc(-1 * var(--grid-row-gap)); } .elementor-grid-laptop-0 .elementor-grid .elementor-grid-item { display: inline-block; margin-bottom: var(--grid-row-gap); word-break: break-word; } .elementor-grid-laptop-1 .elementor-grid { grid-template-columns: repeat(1, 1fr); } .elementor-grid-laptop-2 .elementor-grid { grid-template-columns: repeat(2, 1fr); } .elementor-grid-laptop-3 .elementor-grid { grid-template-columns: repeat(3, 1fr); } .elementor-grid-laptop-4 .elementor-grid { grid-template-columns: repeat(4, 1fr); } .elementor-grid-laptop-5 .elementor-grid { grid-template-columns: repeat(5, 1fr); } .elementor-grid-laptop-6 .elementor-grid { grid-template-columns: repeat(6, 1fr); } .elementor-grid-laptop-7 .elementor-grid { grid-template-columns: repeat(7, 1fr); } .elementor-grid-laptop-8 .elementor-grid { grid-template-columns: repeat(8, 1fr); } .elementor-grid-laptop-9 .elementor-grid { grid-template-columns: repeat(9, 1fr); } .elementor-grid-laptop-10 .elementor-grid { grid-template-columns: repeat(10, 1fr); } .elementor-grid-laptop-11 .elementor-grid { grid-template-columns: repeat(11, 1fr); } .elementor-grid-laptop-12 .elementor-grid { grid-template-columns: repeat(12, 1fr); } } @media (max-width: -1px) { .elementor-grid-tablet_extra-0 .elementor-grid { display: inline-block; width: 100%; word-spacing: var(--grid-column-gap); margin-bottom: calc(-1 * var(--grid-row-gap)); } .elementor-grid-tablet_extra-0 .elementor-grid .elementor-grid-item { display: inline-block; margin-bottom: var(--grid-row-gap); word-break: break-word; } .elementor-grid-tablet_extra-1 .elementor-grid { grid-template-columns: repeat(1, 1fr); } .elementor-grid-tablet_extra-2 .elementor-grid { grid-template-columns: repeat(2, 1fr); } .elementor-grid-tablet_extra-3 .elementor-grid { grid-template-columns: repeat(3, 1fr); } .elementor-grid-tablet_extra-4 .elementor-grid { grid-template-columns: repeat(4, 1fr); } .elementor-grid-tablet_extra-5 .elementor-grid { grid-template-columns: repeat(5, 1fr); } .elementor-grid-tablet_extra-6 .elementor-grid { grid-template-columns: repeat(6, 1fr); } .elementor-grid-tablet_extra-7 .elementor-grid { grid-template-columns: repeat(7, 1fr); } .elementor-grid-tablet_extra-8 .elementor-grid { grid-template-columns: repeat(8, 1fr); } .elementor-grid-tablet_extra-9 .elementor-grid { grid-template-columns: repeat(9, 1fr); } .elementor-grid-tablet_extra-10 .elementor-grid { grid-template-columns: repeat(10, 1fr); } .elementor-grid-tablet_extra-11 .elementor-grid { grid-template-columns: repeat(11, 1fr); } .elementor-grid-tablet_extra-12 .elementor-grid { grid-template-columns: repeat(12, 1fr); } } @media (max-width: 1024px) { .elementor-grid-tablet-0 .elementor-grid { display: inline-block; width: 100%; word-spacing: var(--grid-column-gap); margin-bottom: calc(-1 * var(--grid-row-gap)); } .elementor-grid-tablet-0 .elementor-grid .elementor-grid-item { display: inline-block; margin-bottom: var(--grid-row-gap); word-break: break-word; } .elementor-grid-tablet-1 .elementor-grid { grid-template-columns: repeat(1, 1fr); } .elementor-grid-tablet-2 .elementor-grid { grid-template-columns: repeat(2, 1fr); } .elementor-grid-tablet-3 .elementor-grid { grid-template-columns: repeat(3, 1fr); } .elementor-grid-tablet-4 .elementor-grid { grid-template-columns: repeat(4, 1fr); } .elementor-grid-tablet-5 .elementor-grid { grid-template-columns: repeat(5, 1fr); } .elementor-grid-tablet-6 .elementor-grid { grid-template-columns: repeat(6, 1fr); } .elementor-grid-tablet-7 .elementor-grid { grid-template-columns: repeat(7, 1fr); } .elementor-grid-tablet-8 .elementor-grid { grid-template-columns: repeat(8, 1fr); } .elementor-grid-tablet-9 .elementor-grid { grid-template-columns: repeat(9, 1fr); } .elementor-grid-tablet-10 .elementor-grid { grid-template-columns: repeat(10, 1fr); } .elementor-grid-tablet-11 .elementor-grid { grid-template-columns: repeat(11, 1fr); } .elementor-grid-tablet-12 .elementor-grid { grid-template-columns: repeat(12, 1fr); } } @media (max-width: -1px) { .elementor-grid-mobile_extra-0 .elementor-grid { display: inline-block; width: 100%; word-spacing: var(--grid-column-gap); margin-bottom: calc(-1 * var(--grid-row-gap)); } .elementor-grid-mobile_extra-0 .elementor-grid .elementor-grid-item { display: inline-block; margin-bottom: var(--grid-row-gap); word-break: break-word; } .elementor-grid-mobile_extra-1 .elementor-grid { grid-template-columns: repeat(1, 1fr); } .elementor-grid-mobile_extra-2 .elementor-grid { grid-template-columns: repeat(2, 1fr); } .elementor-grid-mobile_extra-3 .elementor-grid { grid-template-columns: repeat(3, 1fr); } .elementor-grid-mobile_extra-4 .elementor-grid { grid-template-columns: repeat(4, 1fr); } .elementor-grid-mobile_extra-5 .elementor-grid { grid-template-columns: repeat(5, 1fr); } .elementor-grid-mobile_extra-6 .elementor-grid { grid-template-columns: repeat(6, 1fr); } .elementor-grid-mobile_extra-7 .elementor-grid { grid-template-columns: repeat(7, 1fr); } .elementor-grid-mobile_extra-8 .elementor-grid { grid-template-columns: repeat(8, 1fr); } .elementor-grid-mobile_extra-9 .elementor-grid { grid-template-columns: repeat(9, 1fr); } .elementor-grid-mobile_extra-10 .elementor-grid { grid-template-columns: repeat(10, 1fr); } .elementor-grid-mobile_extra-11 .elementor-grid { grid-template-columns: repeat(11, 1fr); } .elementor-grid-mobile_extra-12 .elementor-grid { grid-template-columns: repeat(12, 1fr); } } @media (max-width: 767px) { .elementor-grid-mobile-0 .elementor-grid { display: inline-block; width: 100%; word-spacing: var(--grid-column-gap); margin-bottom: calc(-1 * var(--grid-row-gap)); } .elementor-grid-mobile-0 .elementor-grid .elementor-grid-item { display: inline-block; margin-bottom: var(--grid-row-gap); word-break: break-word; } .elementor-grid-mobile-1 .elementor-grid { grid-template-columns: repeat(1, 1fr); } .elementor-grid-mobile-2 .elementor-grid { grid-template-columns: repeat(2, 1fr); } .elementor-grid-mobile-3 .elementor-grid { grid-template-columns: repeat(3, 1fr); } .elementor-grid-mobile-4 .elementor-grid { grid-template-columns: repeat(4, 1fr); } .elementor-grid-mobile-5 .elementor-grid { grid-template-columns: repeat(5, 1fr); } .elementor-grid-mobile-6 .elementor-grid { grid-template-columns: repeat(6, 1fr); } .elementor-grid-mobile-7 .elementor-grid { grid-template-columns: repeat(7, 1fr); } .elementor-grid-mobile-8 .elementor-grid { grid-template-columns: repeat(8, 1fr); } .elementor-grid-mobile-9 .elementor-grid { grid-template-columns: repeat(9, 1fr); } .elementor-grid-mobile-10 .elementor-grid { grid-template-columns: repeat(10, 1fr); } .elementor-grid-mobile-11 .elementor-grid { grid-template-columns: repeat(11, 1fr); } .elementor-grid-mobile-12 .elementor-grid { grid-template-columns: repeat(12, 1fr); } } @media (min-width: 1025px) { #elementor-device-mode:after { content: "desktop"; } } @media (min-width: -1px) { #elementor-device-mode:after { content: "widescreen"; } } @media (max-width: -1px) { #elementor-device-mode:after { content: "laptop"; } } @media (max-width: -1px) { #elementor-device-mode:after { content: "tablet_extra"; } } @media (max-width: 1024px) { #elementor-device-mode:after { content: "tablet"; } } @media (max-width: -1px) { #elementor-device-mode:after { content: "mobile_extra"; } } @media (max-width: 767px) { #elementor-device-mode:after { content: "mobile"; } } .e-container { --border-radius: 0; --display: flex; --flex-direction: column; --flex-basis: auto; --flex-grow: 0; --flex-shrink: 1; --content-width: Min( 100%, var( --container-max-width, 1140px ) ); --width: 100%; --min-height: initial; --height: auto; --text-align: initial; --margin-top: 0; --margin-right: 0; --margin-bottom: 0; --margin-left: 0; --padding-top: var( --container-default-padding, 0px ); --padding-right: var( --container-default-padding, 0px ); --padding-bottom: var( --container-default-padding, 0px ); --padding-left: var( --container-default-padding, 0px ); --position: relative; --z-index: revert; --overflow: visible; --transition: 0; --gap: var( --widgets-spacing, 20px ); --overlay-mix-blend-mode: initial; --overlay-opacity: 1; --overlay-transition: 0; position: var(--position); display: var(--display); text-align: var(--text-align); -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: var(--flex-direction); flex-direction: var(--flex-direction); -webkit-box-flex: var(--flex-grow); -ms-flex: var(--flex-grow) var(--flex-shrink) var(--flex-basis); flex: var(--flex-grow) var(--flex-shrink) var(--flex-basis); width: var(--width); min-width: 0; max-width: min(100%, var(--width)); min-height: var(--min-height); height: var(--height); border-radius: var(--border-radius); margin: var(--margin-top) var(--margin-right) var(--margin-bottom) var(--margin-left); padding-left: calc((100% - var(--content-width)) / 2 + var(--padding-left)); padding-right: calc((100% - var(--content-width)) / 2 + var(--padding-right)); padding-top: var(--padding-top); padding-bottom: var(--padding-bottom); z-index: var(--z-index); overflow: var(--overflow); -webkit-transition: var(--transition); -o-transition: var(--transition); transition: var(--transition); } :is(.elementor-section-wrap, [data-elementor-id]) > .e-container { --margin-right: auto; --margin-left: auto; } .e-container .elementor-empty-view { position: relative; width: 100%; height: 100%; min-height: var(--min-height, 100px); } .e-container .elementor-empty-view .elementor-first-add { width: auto; height: auto; inset: 10px; } .e-container .elementor-widget-placeholder { --size: 10px; --margin-start: calc( -1 * var( --size ) ); --margin-end: calc( -2 * var( --size ) ); -ms-flex-negative: 0; flex-shrink: 0; -ms-flex-item-align: stretch; align-self: stretch; z-index: 1; pointer-events: none; } .e-container.e-container--row > .elementor-widget-placeholder { position: relative; z-index: 9999; width: var(--size); -webkit-margin-start: var(--margin-start); margin-inline-start: var(--margin-start); height: auto; min-height: 100%; -webkit-animation-name: dnd-placeholder-widget-vertical; animation-name: dnd-placeholder-widget-vertical; -webkit-animation-fill-mode: both; animation-fill-mode: both; } .e-container.e-container--row[data-nesting-level]:not([data-nesting-level="0"]) > .elementor-widget-placeholder { -webkit-margin-end: 0; margin-inline-end: 0; -webkit-margin-start: calc(var(--margin-start) + var(--margin-end)); margin-inline-start: calc(var(--margin-start) + var(--margin-end)); } .e-container.e-container--row[data-nesting-level]:not([data-nesting-level="0"]) > :not(.elementor-element) + .elementor-widget-placeholder { -webkit-margin-end: var(--margin-end); margin-inline-end: var(--margin-end); -webkit-margin-start: var(--margin-start); margin-inline-start: var(--margin-start); } .e-container.e-container--column > .elementor-widget-placeholder { height: var(--size); -webkit-margin-before: var(--margin-start); margin-block-start: var(--margin-start); -webkit-margin-after: var(--margin-end); margin-block-end: var(--margin-end); -webkit-animation-name: dnd-placeholder-widget-horizontal; animation-name: dnd-placeholder-widget-horizontal; } .e-container.e-container--column > .elementor-widget-placeholder:nth-last-child(2) { -webkit-margin-before: calc(2 * var(--margin-start)); margin-block-start: calc(2 * var(--margin-start)); --margin-end: 0; } .e-container .elementor-sortable-helper { height: 84px; width: 125px; z-index: -1; } .e-container .elementor-widget.elementor-widget { margin-bottom: 0; } .e-container::before { content: var(--background-overlay); display: block; position: absolute; z-index: 0; width: 100%; height: 100%; left: 0; top: 0; mix-blend-mode: var(--overlay-mix-blend-mode); opacity: var(--overlay-opacity); -webkit-transition: var(--overlay-transition); -o-transition: var(--overlay-transition); transition: var(--overlay-transition); border-radius: var(--border-radius); } .e-container .elementor-widget { min-width: 0; } .e-container .elementor-widget-video, .e-container .elementor-widget-google_maps { -ms-flex-preferred-size: 100%; flex-basis: 100%; } .e-container .elementor-widget.e-widget-swiper { max-width: 100%; -ms-flex-preferred-size: 100%; flex-basis: 100%; } .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-setting, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-setting { position: relative; background-color: #556068; } .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-setting:hover, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-setting:hover { background-color: #495157; } .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-setting.elementor-editor-element-add, .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-setting.elementor-editor-element-edit + .elementor-editor-element-remove, .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-setting:first-child::before, .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-setting:last-child::after, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-setting.elementor-editor-element-add, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-setting.elementor-editor-element-edit + .elementor-editor-element-remove, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-setting:first-child::before, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-setting:last-child::after { display: none; } .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-setting:not(.elementor-editor-element-edit), .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-setting:not(.elementor-editor-element-edit) { -webkit-margin-start: -25px; margin-inline-start: -25px; z-index: -1; -webkit-transition: 0.3s all; -o-transition: 0.3s all; transition: 0.3s all; will-change: margin-inline-start; } .e-container > .e-container > .elementor-element-overlay > .elementor-editor-element-settings:hover > :is(.elementor-editor-element-duplicate, .elementor-editor-element-remove), .elementor-widget .e-container > .elementor-element-overlay > .elementor-editor-element-settings:hover > :is(.elementor-editor-element-duplicate, .elementor-editor-element-remove) { -webkit-margin-start: 0; margin-inline-start: 0; } .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-settings, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-settings { inset: initial; -webkit-transform: none; -ms-transform: none; transform: none; inset-inline-start: 0; top: 0; border-radius: 0; border-end-end-radius: 3px; height: auto; background-color: #556068; } .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-settings:hover, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-settings:hover { background-color: #495157; } .e-container > .e-container > .elementor-element-overlay .elementor-editor-element-settings i.eicon-handle::before, .elementor-widget .e-container > .elementor-element-overlay .elementor-editor-element-settings i.eicon-handle::before { content: "\e9b4"; font-size: 20px; display: block; padding: 2px; } @media (max-width: 767px) { .e-container { --width: 100%; --flex-wrap: wrap; } } @-webkit-keyframes dnd-placeholder-widget-vertical { 0% { -webkit-transform-origin: 0 50%; transform-origin: 0 50%; -webkit-transform: translateX(50%) scaleX(0); transform: translateX(50%) scaleX(0); opacity: 0; } 100% { -webkit-transform-origin: 0 50%; transform-origin: 0 50%; -webkit-transform: translateX(50%) scaleX(1); transform: translateX(50%) scaleX(1); opacity: 0.9; } } @keyframes dnd-placeholder-widget-vertical { 0% { -webkit-transform-origin: 0 50%; transform-origin: 0 50%; -webkit-transform: translateX(50%) scaleX(0); transform: translateX(50%) scaleX(0); opacity: 0; } 100% { -webkit-transform-origin: 0 50%; transform-origin: 0 50%; -webkit-transform: translateX(50%) scaleX(1); transform: translateX(50%) scaleX(1); opacity: 0.9; } } @-webkit-keyframes dnd-placeholder-widget-horizontal { 0% { -webkit-transform-origin: 50% 0; transform-origin: 50% 0; -webkit-transform: scaleY(0); transform: scaleY(0); opacity: 0; } 100% { -webkit-transform-origin: 50% 0; transform-origin: 50% 0; -webkit-transform: scaleY(1); transform: scaleY(1); opacity: 0.9; } } @keyframes dnd-placeholder-widget-horizontal { 0% { -webkit-transform-origin: 50% 0; transform-origin: 50% 0; -webkit-transform: scaleY(0); transform: scaleY(0); opacity: 0; } 100% { -webkit-transform-origin: 50% 0; transform-origin: 50% 0; -webkit-transform: scaleY(1); transform: scaleY(1); opacity: 0.9; } } .elementor-form-fields-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; } .elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group > input, .elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group > textarea, .elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group > .elementor-select-wrapper, .elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group .elementor-field-subgroup { -ms-flex-preferred-size: 100%; flex-basis: 100%; max-width: 100%; } .elementor-form-fields-wrapper.elementor-labels-inline > .elementor-field-group > input, .elementor-form-fields-wrapper.elementor-labels-inline > .elementor-field-group .elementor-select-wrapper { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; } .elementor-field-group { -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .elementor-field-group.elementor-field-type-submit { -webkit-box-align: end; -ms-flex-align: end; align-items: flex-end; } .elementor-field-group .elementor-field-textual { width: 100%; max-width: 100%; border: 1px solid #818a91; background-color: transparent; color: #373a3c; vertical-align: middle; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; } .elementor-field-group .elementor-field-textual:focus { -webkit-box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1) inset; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1) inset; outline: 0; } .elementor-field-group .elementor-field-textual::-webkit-input-placeholder { color: inherit; font-family: inherit; opacity: 0.6; } .elementor-field-group .elementor-field-textual:-ms-input-placeholder { color: inherit; font-family: inherit; opacity: 0.6; } .elementor-field-group .elementor-field-textual::-moz-placeholder { color: inherit; font-family: inherit; opacity: 0.6; } .elementor-field-group .elementor-field-textual:-moz-placeholder { color: inherit; font-family: inherit; opacity: 0.6; } .elementor-field-group .elementor-field-textual::-ms-input-placeholder { color: inherit; font-family: inherit; opacity: 0.6; } .elementor-field-group .elementor-field-textual::placeholder { color: inherit; font-family: inherit; opacity: 0.6; } .elementor-field-group .elementor-select-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; position: relative; width: 100%; } .elementor-field-group .elementor-select-wrapper select { appearance: none; -webkit-appearance: none; -moz-appearance: none; color: inherit; font-size: inherit; font-family: inherit; font-weight: inherit; font-style: inherit; text-transform: inherit; letter-spacing: inherit; line-height: inherit; -ms-flex-preferred-size: 100%; flex-basis: 100%; padding-left: 20px; } .elementor-field-group .elementor-select-wrapper:before { content: "\e92a"; font-family: "eicons"; font-size: 15px; position: absolute; top: 50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); left: 10px; pointer-events: none; text-shadow: 0 0 3px rgba(0, 0, 0, 0.3); } .elementor-field-group.elementor-field-type-select-multiple .elementor-select-wrapper:before { content: ""; } .elementor-field-subgroup { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; } .elementor-field-subgroup .elementor-field-option label { display: inline-block; } .elementor-field-subgroup.elementor-subgroup-inline .elementor-field-option { padding-left: 10px; } .elementor-field-subgroup:not(.elementor-subgroup-inline) .elementor-field-option { -ms-flex-preferred-size: 100%; flex-basis: 100%; } .elementor-field-type-checkbox .elementor-field-subgroup .elementor-field-option input, .elementor-field-type-checkbox .elementor-field-subgroup .elementor-field-option label, .elementor-field-type-radio .elementor-field-subgroup .elementor-field-option input, .elementor-field-type-radio .elementor-field-subgroup .elementor-field-option label, .elementor-field-type-acceptance .elementor-field-subgroup .elementor-field-option input, .elementor-field-type-acceptance .elementor-field-subgroup .elementor-field-option label { display: inline; } .elementor-field-label { cursor: pointer; } .elementor-mark-required .elementor-field-label:after { content: "*"; color: red; padding-right: 0.2em; } .elementor-field-textual { line-height: 1.4; font-size: 15px; min-height: 40px; padding: 5px 14px; border-radius: 3px; } .elementor-field-textual.elementor-size-xs { font-size: 13px; min-height: 33px; padding: 4px 12px; border-radius: 2px; } .elementor-field-textual.elementor-size-md { font-size: 16px; min-height: 47px; padding: 6px 16px; border-radius: 4px; } .elementor-field-textual.elementor-size-lg { font-size: 18px; min-height: 59px; padding: 7px 20px; border-radius: 5px; } .elementor-field-textual.elementor-size-xl { font-size: 20px; min-height: 72px; padding: 8px 24px; border-radius: 6px; } .elementor-button-align-stretch .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button { -ms-flex-preferred-size: 100%; flex-basis: 100%; } .elementor-button-align-stretch .e-form__buttons__wrapper { -ms-flex-preferred-size: 50%; flex-basis: 50%; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; } .elementor-button-align-stretch .e-form__buttons__wrapper__button { -ms-flex-preferred-size: 100%; flex-basis: 100%; } .elementor-button-align-center .elementor-field-type-submit, .elementor-button-align-center .e-form__buttons { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-button-align-start .elementor-field-type-submit, .elementor-button-align-start .e-form__buttons { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; } .elementor-button-align-end .elementor-field-type-submit, .elementor-button-align-end .e-form__buttons { -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; } .elementor-button-align-center .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button, .elementor-button-align-start .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button, .elementor-button-align-end .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button { -ms-flex-preferred-size: initial; flex-basis: initial; } .elementor-button-align-center .e-form__buttons__wrapper, .elementor-button-align-start .e-form__buttons__wrapper, .elementor-button-align-end .e-form__buttons__wrapper { -webkit-box-flex: initial; -ms-flex-positive: initial; flex-grow: initial; } .elementor-button-align-center .e-form__buttons__wrapper, .elementor-button-align-center .e-form__buttons__wrapper__button, .elementor-button-align-start .e-form__buttons__wrapper, .elementor-button-align-start .e-form__buttons__wrapper__button, .elementor-button-align-end .e-form__buttons__wrapper, .elementor-button-align-end .e-form__buttons__wrapper__button { -ms-flex-preferred-size: initial; flex-basis: initial; } @media screen and (max-width: 1024px) { .elementor-tablet-button-align-stretch .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button { -ms-flex-preferred-size: 100%; flex-basis: 100%; } .elementor-tablet-button-align-stretch .e-form__buttons__wrapper { -ms-flex-preferred-size: 50%; flex-basis: 50%; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; } .elementor-tablet-button-align-stretch .e-form__buttons__wrapper__button { -ms-flex-preferred-size: 100%; flex-basis: 100%; } .elementor-tablet-button-align-center .elementor-field-type-submit, .elementor-tablet-button-align-center .e-form__buttons { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-tablet-button-align-start .elementor-field-type-submit, .elementor-tablet-button-align-start .e-form__buttons { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; } .elementor-tablet-button-align-end .elementor-field-type-submit, .elementor-tablet-button-align-end .e-form__buttons { -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; } .elementor-tablet-button-align-center .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button, .elementor-tablet-button-align-start .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button, .elementor-tablet-button-align-end .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button { -ms-flex-preferred-size: initial; flex-basis: initial; } .elementor-tablet-button-align-center .e-form__buttons__wrapper, .elementor-tablet-button-align-start .e-form__buttons__wrapper, .elementor-tablet-button-align-end .e-form__buttons__wrapper { -webkit-box-flex: initial; -ms-flex-positive: initial; flex-grow: initial; } .elementor-tablet-button-align-center .e-form__buttons__wrapper, .elementor-tablet-button-align-center .e-form__buttons__wrapper__button, .elementor-tablet-button-align-start .e-form__buttons__wrapper, .elementor-tablet-button-align-start .e-form__buttons__wrapper__button, .elementor-tablet-button-align-end .e-form__buttons__wrapper, .elementor-tablet-button-align-end .e-form__buttons__wrapper__button { -ms-flex-preferred-size: initial; flex-basis: initial; } } @media screen and (max-width: 767px) { .elementor-mobile-button-align-stretch .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button { -ms-flex-preferred-size: 100%; flex-basis: 100%; } .elementor-mobile-button-align-stretch .e-form__buttons__wrapper { -ms-flex-preferred-size: 50%; flex-basis: 50%; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; } .elementor-mobile-button-align-stretch .e-form__buttons__wrapper__button { -ms-flex-preferred-size: 100%; flex-basis: 100%; } .elementor-mobile-button-align-center .elementor-field-type-submit, .elementor-mobile-button-align-center .e-form__buttons { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-mobile-button-align-start .elementor-field-type-submit, .elementor-mobile-button-align-start .e-form__buttons { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; } .elementor-mobile-button-align-end .elementor-field-type-submit, .elementor-mobile-button-align-end .e-form__buttons { -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; } .elementor-mobile-button-align-center .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button, .elementor-mobile-button-align-start .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button, .elementor-mobile-button-align-end .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button { -ms-flex-preferred-size: initial; flex-basis: initial; } .elementor-mobile-button-align-center .e-form__buttons__wrapper, .elementor-mobile-button-align-start .e-form__buttons__wrapper, .elementor-mobile-button-align-end .e-form__buttons__wrapper { -webkit-box-flex: initial; -ms-flex-positive: initial; flex-grow: initial; } .elementor-mobile-button-align-center .e-form__buttons__wrapper, .elementor-mobile-button-align-center .e-form__buttons__wrapper__button, .elementor-mobile-button-align-start .e-form__buttons__wrapper, .elementor-mobile-button-align-start .e-form__buttons__wrapper__button, .elementor-mobile-button-align-end .e-form__buttons__wrapper, .elementor-mobile-button-align-end .e-form__buttons__wrapper__button { -ms-flex-preferred-size: initial; flex-basis: initial; } } .elementor-error .elementor-field { border-color: #d9534f; } .elementor-error .help-inline { color: #d9534f; font-size: 0.9em; } .elementor-message { margin: 10px 0; font-size: 1em; line-height: 1; } .elementor-message:before { content: "\e90e"; display: inline-block; font-family: eicons; font-weight: normal; font-style: normal; vertical-align: middle; margin-left: 5px; } .elementor-message.elementor-message-danger { color: #d9534f; } .elementor-message.elementor-message-danger:before { content: "\e87f"; } .elementor-message.form-message-success { color: #5cb85c; } .elementor-form .elementor-button { padding-top: 0; padding-bottom: 0; border: none; } .elementor-form .elementor-button > span { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-form .elementor-button.elementor-size-xs { min-height: 33px; } .elementor-form .elementor-button.elementor-size-sm { min-height: 40px; } .elementor-form .elementor-button.elementor-size-md { min-height: 47px; } .elementor-form .elementor-button.elementor-size-lg { min-height: 59px; } .elementor-form .elementor-button.elementor-size-xl { min-height: 72px; } .elementor-element .elementor-widget-container { -webkit-transition: background 0.3s, border 0.3s, border-radius 0.3s, -webkit-box-shadow 0.3s; transition: background 0.3s, border 0.3s, border-radius 0.3s, -webkit-box-shadow 0.3s; -o-transition: background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s; transition: background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s; transition: background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s, -webkit-box-shadow 0.3s; } .elementor-button { display: inline-block; line-height: 1; background-color: #818a91; font-size: 15px; padding: 12px 24px; border-radius: 3px; color: #fff; fill: #fff; text-align: center; -webkit-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; } .elementor-button:hover, .elementor-button:focus, .elementor-button:visited { color: #fff; } .elementor-button-content-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .elementor-button-icon { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; } .elementor-button-icon svg { width: 1em; height: auto; } .elementor-button-icon .e-font-icon-svg { height: 1em; } .elementor-button-text { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; -webkit-box-ordinal-group: 11; -ms-flex-order: 10; order: 10; display: inline-block; } .elementor-button.elementor-size-xs { font-size: 13px; padding: 10px 20px; border-radius: 2px; } .elementor-button.elementor-size-md { font-size: 16px; padding: 15px 30px; border-radius: 4px; } .elementor-button.elementor-size-lg { font-size: 18px; padding: 20px 40px; border-radius: 5px; } .elementor-button.elementor-size-xl { font-size: 20px; padding: 25px 50px; border-radius: 6px; } .elementor-button .elementor-align-icon-right { margin-left: 5px; -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; } .elementor-button .elementor-align-icon-left { margin-right: 5px; -webkit-box-ordinal-group: 16; -ms-flex-order: 15; order: 15; } .elementor-button span { text-decoration: inherit; } .elementor-element.elementor-button-info .elementor-button { background-color: #5bc0de; } .elementor-element.elementor-button-success .elementor-button { background-color: #5cb85c; } .elementor-element.elementor-button-warning .elementor-button { background-color: #f0ad4e; } .elementor-element.elementor-button-danger .elementor-button { background-color: #d9534f; } .elementor-widget-button .elementor-button .elementor-button-info { background-color: #5bc0de; } .elementor-widget-button .elementor-button .elementor-button-success { background-color: #5cb85c; } .elementor-widget-button .elementor-button .elementor-button-warning { background-color: #f0ad4e; } .elementor-widget-button .elementor-button .elementor-button-danger { background-color: #d9534f; } .elementor-tab-title a { color: inherit; } .elementor-view-stacked .elementor-icon { padding: 0.5em; background-color: #818a91; color: #fff; fill: #fff; } .elementor-view-framed .elementor-icon { padding: 0.5em; color: #818a91; border: 3px solid #818a91; background-color: transparent; } .elementor-icon { display: inline-block; line-height: 1; -webkit-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; color: #818a91; font-size: 50px; text-align: center; } .elementor-icon:hover { color: #818a91; } .elementor-icon i, .elementor-icon svg { width: 1em; height: 1em; position: relative; display: block; } .elementor-icon i:before, .elementor-icon svg:before { position: absolute; left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); } .elementor-icon i.fad { width: initial; } .elementor-shape-circle .elementor-icon { border-radius: 50%; } .e-transform .elementor-widget-container { -webkit-transform: perspective(var(--e-transform-perspective, 0)) rotateZ(var(--e-transform-rotateZ, 0)) rotateX(var(--e-transform-rotateX, 0)) rotateY(var(--e-transform-rotateY, 0)) translate(var(--e-transform-translate, 0)) translateX(var(--e-transform-translateX, 0)) translateY(var(--e-transform-translateY, 0)) scaleX(calc(var(--e-transform-flipX, 1) * var(--e-transform-scaleX, var(--e-transform-scale, 1)))) scaleY(calc(var(--e-transform-flipY, 1) * var(--e-transform-scaleY, var(--e-transform-scale, 1)))) skewX(var(--e-transform-skewX, 0)) skewY(var(--e-transform-skewY, 0)); transform: perspective(var(--e-transform-perspective, 0)) rotateZ(var(--e-transform-rotateZ, 0)) rotateX(var(--e-transform-rotateX, 0)) rotateY(var(--e-transform-rotateY, 0)) translate(var(--e-transform-translate, 0)) translateX(var(--e-transform-translateX, 0)) translateY(var(--e-transform-translateY, 0)) scaleX(calc(var(--e-transform-flipX, 1) * var(--e-transform-scaleX, var(--e-transform-scale, 1)))) scaleY(calc(var(--e-transform-flipY, 1) * var(--e-transform-scaleY, var(--e-transform-scale, 1)))) skewX(var(--e-transform-skewX, 0)) skewY(var(--e-transform-skewY, 0)); -webkit-transform-origin: var(--e-transform-origin-y) var(--e-transform-origin-x); -ms-transform-origin: var(--e-transform-origin-y) var(--e-transform-origin-x); transform-origin: var(--e-transform-origin-y) var(--e-transform-origin-x); -webkit-transition: -webkit-transform var(--e-transform-transition-duration, 400ms); transition: -webkit-transform var(--e-transform-transition-duration, 400ms); -o-transition: transform var(--e-transform-transition-duration, 400ms); transition: transform var(--e-transform-transition-duration, 400ms); transition: transform var(--e-transform-transition-duration, 400ms), -webkit-transform var(--e-transform-transition-duration, 400ms); } /** * Swiper 3.4.2 * Customized by Elementor team */ .swiper-container { margin-left: auto; margin-right: auto; position: relative; overflow: hidden; /* Fix of Webkit flickering */ z-index: 1; } .swiper-container .swiper-slide figure { line-height: 0; } .swiper-container .elementor-lightbox-content-source { display: none; } .swiper-container-no-flexbox .swiper-slide { float: left; } .swiper-container-vertical > .swiper-wrapper { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; } .swiper-wrapper { position: relative; width: 100%; height: 100%; z-index: 1; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-transition-property: -webkit-transform; transition-property: -webkit-transform; -o-transition-property: transform; transition-property: transform; transition-property: transform, -webkit-transform; -webkit-box-sizing: content-box; box-sizing: content-box; } .swiper-container-android .swiper-slide, .swiper-wrapper { -webkit-transform: translate3d(0px, 0, 0); transform: translate3d(0px, 0, 0); } .swiper-container-multirow > .swiper-wrapper { -ms-flex-wrap: wrap; flex-wrap: wrap; } .swiper-container-free-mode > .swiper-wrapper { -webkit-transition-timing-function: ease-out; -o-transition-timing-function: ease-out; transition-timing-function: ease-out; margin: 0 auto; } .swiper-slide { -ms-flex-negative: 0; flex-shrink: 0; width: 100%; height: 100%; position: relative; } /* Auto Height */ .swiper-container-autoheight { height: auto; } .swiper-container-autoheight .swiper-slide { height: auto; } .swiper-container-autoheight .swiper-wrapper { -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; -webkit-transition-property: height, -webkit-transform; transition-property: height, -webkit-transform; -o-transition-property: transform, height; transition-property: transform, height; transition-property: transform, height, -webkit-transform; } /* a11y */ .swiper-container .swiper-notification { position: absolute; left: 0; top: 0; pointer-events: none; opacity: 0; z-index: -1000; } /* IE10 Windows Phone 8 Fixes */ .swiper-wp8-horizontal { -ms-touch-action: pan-y; touch-action: pan-y; } .swiper-wp8-vertical { -ms-touch-action: pan-x; touch-action: pan-x; } /* Arrows */ .swiper-button-prev, .swiper-button-next { position: absolute; top: 50%; width: 27px; height: 44px; margin-top: -22px; z-index: 10; cursor: pointer; background-size: 27px 44px; background: no-repeat center; } .swiper-button-prev.swiper-button-disabled, .swiper-button-next.swiper-button-disabled { opacity: 0.35; cursor: auto; pointer-events: none; } .swiper-button-prev, .swiper-container-rtl .swiper-button-next { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E"); left: 10px; right: auto; } .swiper-button-prev.swiper-button-black, .swiper-container-rtl .swiper-button-next.swiper-button-black { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); } .swiper-button-prev.swiper-button-white, .swiper-container-rtl .swiper-button-next.swiper-button-white { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); } .swiper-button-next, .swiper-container-rtl .swiper-button-prev { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E"); right: 10px; left: auto; } .swiper-button-next.swiper-button-black, .swiper-container-rtl .swiper-button-prev.swiper-button-black { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); } .swiper-button-next.swiper-button-white, .swiper-container-rtl .swiper-button-prev.swiper-button-white { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); } /* Pagination Styles */ .swiper-pagination { position: absolute; text-align: center; -webkit-transition: 300ms; -o-transition: 300ms; transition: 300ms; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); z-index: 10; } .swiper-pagination.swiper-pagination-hidden { opacity: 0; } /* Common Styles */ .swiper-pagination-fraction, .swiper-pagination-custom, .swiper-container-horizontal > .swiper-pagination-bullets { bottom: 5px; left: 0; width: 100%; } /* Bullets */ .swiper-pagination-bullet { width: 6px; height: 6px; display: inline-block; border-radius: 50%; background: #000; opacity: 0.2; } .swiper-pagination-fraction { color: #000; } button.swiper-pagination-bullet { border: none; margin: 0; padding: 0; -webkit-box-shadow: none; box-shadow: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; } .swiper-pagination-clickable .swiper-pagination-bullet { cursor: pointer; } .swiper-pagination-white .swiper-pagination-bullet { background: #fff; } .swiper-pagination-bullet-active { opacity: 1; } .swiper-pagination-white .swiper-pagination-bullet-active { background: #fff; } .swiper-pagination-black .swiper-pagination-bullet-active { background: #000; } .swiper-container-vertical > .swiper-pagination-bullets { right: 10px; top: 50%; -webkit-transform: translate3d(0px, -50%, 0); transform: translate3d(0px, -50%, 0); } .swiper-container-vertical > .swiper-pagination-bullets .swiper-pagination-bullet { margin: 5px 0; display: block; } .swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet { margin: 0 6px; } /* Progressbar */ .swiper-pagination-progressbar { background: rgba(0, 0, 0, 0.25); position: absolute; } .swiper-pagination-progressbar .swiper-pagination-progressbar-fill { background: #000; position: absolute; left: 0; top: 0; width: 100%; height: 100%; -webkit-transform: scale(0); -ms-transform: scale(0); transform: scale(0); -webkit-transform-origin: left top; -ms-transform-origin: left top; transform-origin: left top; } .swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill { -webkit-transform-origin: right top; -ms-transform-origin: right top; transform-origin: right top; } .swiper-container-horizontal > .swiper-pagination-progressbar { width: 100%; height: 4px; left: 0; top: 0; } .swiper-container-vertical > .swiper-pagination-progressbar { width: 4px; height: 100%; left: 0; top: 0; } .swiper-pagination-progressbar.swiper-pagination-white { background: rgba(255, 255, 255, 0.5); } .swiper-pagination-progressbar.swiper-pagination-white .swiper-pagination-progressbar-fill { background: #fff; } .swiper-pagination-progressbar.swiper-pagination-black .swiper-pagination-progressbar-fill { background: #000; } /* 3D Container */ .swiper-container-3d { -webkit-perspective: 1200px; perspective: 1200px; } .swiper-container-3d .swiper-wrapper, .swiper-container-3d .swiper-slide, .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top, .swiper-container-3d .swiper-slide-shadow-bottom, .swiper-container-3d .swiper-cube-shadow { -webkit-transform-style: preserve-3d; transform-style: preserve-3d; } .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top, .swiper-container-3d .swiper-slide-shadow-bottom { position: absolute; left: 0; top: 0; width: 100%; height: 100%; pointer-events: none; z-index: 10; } .swiper-container-3d .swiper-slide-shadow-left { background-image: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0))); background-image: -o-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); } .swiper-container-3d .swiper-slide-shadow-right { background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0))); background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); } .swiper-container-3d .swiper-slide-shadow-top { background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0))); background-image: -o-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); } .swiper-container-3d .swiper-slide-shadow-bottom { background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0))); background-image: -o-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); } /* Coverflow */ .swiper-container-coverflow .swiper-wrapper, .swiper-container-flip .swiper-wrapper { /* Windows 8 IE 10 fix */ -ms-perspective: 1200px; } /* Cube + Flip */ .swiper-container-cube, .swiper-container-flip { overflow: visible; } .swiper-container-cube .swiper-slide, .swiper-container-flip .swiper-slide { pointer-events: none; z-index: 1; } .swiper-container-cube .swiper-slide .swiper-slide, .swiper-container-flip .swiper-slide .swiper-slide { pointer-events: none; } .swiper-container-cube .swiper-slide-active, .swiper-container-flip .swiper-slide-active, .swiper-container-cube .swiper-slide-active .swiper-slide-active, .swiper-container-flip .swiper-slide-active .swiper-slide-active { pointer-events: auto; } .swiper-container-cube .swiper-slide-shadow-top, .swiper-container-flip .swiper-slide-shadow-top, .swiper-container-cube .swiper-slide-shadow-bottom, .swiper-container-flip .swiper-slide-shadow-bottom, .swiper-container-cube .swiper-slide-shadow-left, .swiper-container-flip .swiper-slide-shadow-left, .swiper-container-cube .swiper-slide-shadow-right, .swiper-container-flip .swiper-slide-shadow-right { z-index: 0; -webkit-backface-visibility: hidden; backface-visibility: hidden; } /* Cube */ .swiper-container-cube .swiper-slide { visibility: hidden; -webkit-transform-origin: 0 0; -ms-transform-origin: 0 0; transform-origin: 0 0; width: 100%; height: 100%; } .swiper-container-cube.swiper-container-rtl .swiper-slide { -webkit-transform-origin: 100% 0; -ms-transform-origin: 100% 0; transform-origin: 100% 0; } .swiper-container-cube .swiper-slide-active, .swiper-container-cube .swiper-slide-next, .swiper-container-cube .swiper-slide-prev, .swiper-container-cube .swiper-slide-next + .swiper-slide { pointer-events: auto; visibility: visible; } .swiper-container-cube .swiper-cube-shadow { position: absolute; left: 0; bottom: 0; width: 100%; height: 100%; background: #000; opacity: 0.6; -webkit-filter: blur(50px); filter: blur(50px); z-index: 0; } /* Fade */ .swiper-container-fade.swiper-container-free-mode .swiper-slide { -webkit-transition-timing-function: ease-out; -o-transition-timing-function: ease-out; transition-timing-function: ease-out; } .swiper-container-fade .swiper-slide { pointer-events: none; -webkit-transition-property: opacity; -o-transition-property: opacity; transition-property: opacity; } .swiper-container-fade .swiper-slide .swiper-slide { pointer-events: none; } .swiper-container-fade .swiper-slide-active { pointer-events: auto; } .swiper-container-fade .swiper-slide-active .swiper-slide-active { pointer-events: auto; } .swiper-zoom-container { width: 100%; height: 100%; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; text-align: center; } .swiper-zoom-container > img, .swiper-zoom-container > svg, .swiper-zoom-container > canvas { max-width: 100%; max-height: 100%; -o-object-fit: contain; object-fit: contain; } /* Scrollbar */ .swiper-scrollbar { border-radius: 10px; position: relative; -ms-touch-action: none; background: rgba(0, 0, 0, 0.1); } .swiper-container-horizontal > .swiper-scrollbar { position: absolute; left: 1%; bottom: 3px; z-index: 50; height: 5px; width: 98%; } .swiper-container-vertical > .swiper-scrollbar { position: absolute; right: 3px; top: 1%; z-index: 50; width: 5px; height: 98%; } .swiper-scrollbar-drag { height: 100%; width: 100%; position: relative; background: rgba(0, 0, 0, 0.5); border-radius: 10px; left: 0; top: 0; } .swiper-scrollbar-cursor-drag { cursor: move; } .elementor-pagination-position-outside .swiper-container { padding-bottom: 30px; } .elementor-pagination-position-outside .elementor-swiper-button { top: calc(50% - 30px / 2); } .elementor-swiper { position: relative; } .elementor-main-swiper { position: static; } .elementor-arrows-position-outside .swiper-container { width: calc(100% - 60px); } .elementor-arrows-position-outside .elementor-swiper-button-prev { left: 0; } .elementor-arrows-position-outside .elementor-swiper-button-next { right: 0; } .swiper-image-stretch .swiper-slide .swiper-slide-image { width: 100%; } .elementor-swiper-button { position: absolute; display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; z-index: 1; cursor: pointer; font-size: 25px; color: rgba(238, 238, 238, 0.9); top: 50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); } .elementor-swiper-button svg { fill: rgba(238, 238, 238, 0.9); height: 1em; width: 1em; } .elementor-swiper-button-prev { left: 10px; } .elementor-swiper-button-next { right: 10px; } .elementor-swiper-button.swiper-button-disabled { opacity: 0.3; } .swiper-container-cube .elementor-swiper-button { -webkit-transform: translate3d(0, -50%, 1px); transform: translate3d(0, -50%, 1px); } /* Preloader */ .swiper-lazy-preloader { width: 42px; height: 42px; position: absolute; left: 50%; top: 50%; margin-left: -21px; margin-top: -21px; z-index: 10; -webkit-transform-origin: 50%; -ms-transform-origin: 50%; transform-origin: 50%; -webkit-animation: swiper-preloader-spin 1s steps(12, end) infinite; animation: swiper-preloader-spin 1s steps(12, end) infinite; } .swiper-lazy-preloader:after { display: block; content: ""; width: 100%; height: 100%; background-size: 100%; background: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat 50%; } .swiper-lazy-preloader-white:after { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); } @-webkit-keyframes swiper-preloader-spin { 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } @keyframes swiper-preloader-spin { 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } .elementor-lightbox { --lightbox-ui-color: rgba(238, 238, 238, 0.9); --lightbox-ui-color-hover: #fff; --lightbox-text-color: var(--lightbox-ui-color); --lightbox-header-icons-size: 20px; --lightbox-navigation-icons-size: 25px; } .elementor-lightbox .dialog-header { display: none; } .elementor-lightbox .dialog-widget-content { background: none; -webkit-box-shadow: none; box-shadow: none; width: 100%; height: 100%; } .elementor-lightbox .dialog-message { -webkit-animation-duration: 0.3s; animation-duration: 0.3s; } .elementor-lightbox .dialog-message:not(.elementor-fit-aspect-ratio) { height: 100%; } .elementor-lightbox .dialog-message.dialog-lightbox-message { padding: 0; } .elementor-lightbox .dialog-lightbox-close-button { cursor: pointer; position: absolute; font-size: var(--lightbox-header-icons-size); left: 0.75em; margin-top: 13px; padding: 0.25em; z-index: 2; line-height: 1; display: -webkit-box; display: -ms-flexbox; display: flex; } .elementor-lightbox .dialog-lightbox-close-button svg { height: 1em; width: 1em; } .elementor-lightbox .dialog-lightbox-close-button, .elementor-lightbox .elementor-swiper-button { color: var(--lightbox-ui-color); -webkit-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; opacity: 1; } .elementor-lightbox .dialog-lightbox-close-button svg, .elementor-lightbox .elementor-swiper-button svg { fill: var(--lightbox-ui-color); } .elementor-lightbox .dialog-lightbox-close-button:hover, .elementor-lightbox .elementor-swiper-button:hover { color: var(--lightbox-ui-color-hover); } .elementor-lightbox .dialog-lightbox-close-button:hover svg, .elementor-lightbox .elementor-swiper-button:hover svg { fill: var(--lightbox-ui-color-hover); } .elementor-lightbox .swiper-container { height: 100%; } .elementor-lightbox .elementor-lightbox-item { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; position: relative; padding: 70px; -webkit-box-sizing: border-box; box-sizing: border-box; height: 100%; margin: auto; } @media (max-width: 767px) { .elementor-lightbox .elementor-lightbox-item { padding: 70px 0; } } .elementor-lightbox .elementor-lightbox-image { max-height: 100%; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .elementor-lightbox .elementor-lightbox-image, .elementor-lightbox .elementor-lightbox-image:hover { opacity: 1; -webkit-filter: none; filter: none; border: none; } .elementor-lightbox .elementor-lightbox-image, .elementor-lightbox .elementor-video-container { -webkit-box-shadow: 0 0 30px rgba(0, 0, 0, 0.3), 0 0 8px -5px rgba(0, 0, 0, 0.3); box-shadow: 0 0 30px rgba(0, 0, 0, 0.3), 0 0 8px -5px rgba(0, 0, 0, 0.3); border-radius: 2px; } .elementor-lightbox .elementor-video-container { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); } @media (min-width: 1025px) { .elementor-lightbox .elementor-video-container { width: 75%; } } @media (max-width: 1024px) { .elementor-lightbox .elementor-video-container { width: 100%; } } @media (min-width: 768px) and (max-width: 1024px) { .elementor-lightbox .elementor-aspect-ratio-916 .elementor-video-container { width: 70%; } } .elementor-lightbox .elementor-swiper-button:focus { outline-width: 1px; } .elementor-lightbox .elementor-swiper-button-prev, .elementor-lightbox .elementor-swiper-button-next { height: 100%; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; width: 15%; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; font-size: var(--lightbox-navigation-icons-size); } .elementor-lightbox .elementor-swiper-button-prev { left: 0; } .elementor-lightbox .elementor-swiper-button-next { right: 0; } @media (max-width: 767px) { .elementor-lightbox .elementor-swiper-button:focus { outline: none; } .elementor-lightbox .elementor-swiper-button-prev, .elementor-lightbox .elementor-swiper-button-next { width: 20%; } .elementor-lightbox .elementor-swiper-button-prev i, .elementor-lightbox .elementor-swiper-button-next i { padding: 10px; background-color: rgba(0, 0, 0, 0.5); } .elementor-lightbox .elementor-swiper-button-prev { left: 0; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; } .elementor-lightbox .elementor-swiper-button-next { right: 0; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; } } .elementor-slideshow__counter { color: currentColor; font-size: 0.75em; width: -webkit-max-content; width: -moz-max-content; width: max-content; } .elementor-slideshow__header, .elementor-slideshow__footer { position: absolute; left: 0; width: 100%; padding: 15px 20px; -webkit-transition: 0.3s; -o-transition: 0.3s; transition: 0.3s; } .elementor-slideshow__footer { color: var(--lightbox-text-color); } .elementor-slideshow__header { color: var(--lightbox-ui-color); display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; font-size: var(--lightbox-header-icons-size); padding-right: 1em; padding-left: 2.6em; top: 0; -webkit-box-align: center; -ms-flex-align: center; align-items: center; z-index: 10; } .elementor-slideshow__header > i, .elementor-slideshow__header > svg { cursor: pointer; padding: 0.25em; margin: 0 0.35em; } .elementor-slideshow__header > i { font-size: inherit; } .elementor-slideshow__header > i:hover { color: var(--lightbox-ui-color-hover); } .elementor-slideshow__header > svg { -webkit-box-sizing: content-box; box-sizing: content-box; fill: var(--lightbox-ui-color); height: 1em; width: 1em; } .elementor-slideshow__header > svg:hover { fill: var(--lightbox-ui-color-hover); } .elementor-slideshow__header .elementor-slideshow__counter { margin-left: auto; } .elementor-slideshow__header .elementor-icon-share { z-index: 5; } .elementor-slideshow__share-menu { background-color: rgba(0, 0, 0, 0); width: 0; height: 0; position: absolute; overflow: hidden; -webkit-transition: background-color 400ms; -o-transition: background-color 400ms; transition: background-color 400ms; } .elementor-slideshow__share-menu .elementor-slideshow__share-links a { color: #2C2C2C; } .elementor-slideshow__share-links { display: block; position: absolute; min-width: 200px; left: 2.8em; top: 3em; background-color: #fff; border-radius: 3px; padding: 14px 20px; -webkit-transform: scale(0); -ms-transform: scale(0); transform: scale(0); opacity: 0; -webkit-transform-origin: 90% 10%; -ms-transform-origin: 90% 10%; transform-origin: 90% 10%; -webkit-transition: all 250ms 100ms; -o-transition: all 250ms 100ms; transition: all 250ms 100ms; -webkit-box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3); box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3); } .elementor-slideshow__share-links a { text-align: right; color: #55595c; font-size: 12px; line-height: 2.5; display: block; opacity: 0; -webkit-transition: opacity 500ms 100ms; -o-transition: opacity 500ms 100ms; transition: opacity 500ms 100ms; } .elementor-slideshow__share-links a:hover { color: #000; } .elementor-slideshow__share-links a i, .elementor-slideshow__share-links a svg { margin-left: 0.75em; } .elementor-slideshow__share-links a i { font-size: 1.25em; } .elementor-slideshow__share-links a svg { height: 1.25em; width: 1.25em; } .elementor-slideshow__share-links:before { content: ""; display: block; position: absolute; top: 1px; left: 0.5em; border: 0.45em solid; border-color: transparent transparent #fff transparent; -webkit-transform: translateY(-100%) scaleX(0.7); -ms-transform: translateY(-100%) scaleX(0.7); transform: translateY(-100%) scaleX(0.7); } .elementor-slideshow__footer { bottom: 0; z-index: 5; position: fixed; } .elementor-slideshow__title, .elementor-slideshow__description { margin: 0; } .elementor-slideshow__title { font-size: 16px; font-weight: bold; } .elementor-slideshow__description { font-size: 14px; } .elementor-slideshow--ui-hidden .elementor-slideshow__header, .elementor-slideshow--ui-hidden .elementor-slideshow__footer { opacity: 0; pointer-events: none; } .elementor-slideshow--ui-hidden .elementor-swiper-button-prev, .elementor-slideshow--ui-hidden .elementor-swiper-button-next { opacity: 0; } .elementor-slideshow--fullscreen-mode .elementor-video-container { width: 100%; } .elementor-slideshow--zoom-mode .elementor-slideshow__header, .elementor-slideshow--zoom-mode .elementor-slideshow__footer { background-color: rgba(0, 0, 0, 0.5); } .elementor-slideshow--zoom-mode .elementor-swiper-button-prev, .elementor-slideshow--zoom-mode .elementor-swiper-button-next { opacity: 0; pointer-events: none; } .elementor-slideshow--share-mode .elementor-slideshow__share-menu { top: 0; left: 0; width: 100vw; height: 100vh; opacity: 1; cursor: default; background-color: rgba(0, 0, 0, 0.5); } .elementor-slideshow--share-mode .elementor-slideshow__share-links { -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1); } .elementor-slideshow--share-mode .elementor-slideshow__share-links, .elementor-slideshow--share-mode .elementor-slideshow__share-links a { opacity: 1; } .elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-twitter { color: #1DA1F2; } .elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-facebook { color: #3b5998; } .elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-pinterest { color: #bd081c; } .elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-download-bold { color: #a4afb7; } .elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-twitter { fill: #1DA1F2; } .elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-facebook { fill: #3b5998; } .elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-pinterest { fill: #bd081c; } .elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-download-bold { fill: #a4afb7; } .elementor-slideshow--share-mode .eicon-share-arrow { z-index: 2; } .animated { -webkit-animation-duration: 1.25s; animation-duration: 1.25s; } .animated.animated-slow { -webkit-animation-duration: 2s; animation-duration: 2s; } .animated.animated-fast { -webkit-animation-duration: 0.75s; animation-duration: 0.75s; } .animated.infinite { -webkit-animation-iteration-count: infinite; animation-iteration-count: infinite; } .animated.reverse { animation-direction: reverse; -webkit-animation-fill-mode: forwards; animation-fill-mode: forwards; } @media (prefers-reduced-motion: reduce) { .animated { -webkit-animation: none; animation: none; } } .elementor-shape { overflow: hidden; position: absolute; left: 0; width: 100%; line-height: 0; direction: ltr; /* * @TODO: The `z-index: -1` rules below are temporary fixes for Chrome 85 issue. * It will be removed in a future version of Chrome. */ } .elementor-shape-top { top: -1px; } .elementor-shape-top:not([data-negative=false]) svg { z-index: -1; } .elementor-shape-bottom { bottom: -1px; } .elementor-shape-bottom:not([data-negative=true]) svg { z-index: -1; } .elementor-shape[data-negative=false].elementor-shape-bottom { -webkit-transform: rotate(180deg); -ms-transform: rotate(180deg); transform: rotate(180deg); } .elementor-shape[data-negative=true].elementor-shape-top { -webkit-transform: rotate(180deg); -ms-transform: rotate(180deg); transform: rotate(180deg); } .elementor-shape svg { display: block; width: calc(100% + 1.3px); position: relative; left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); } .elementor-shape .elementor-shape-fill { fill: #fff; -webkit-transform-origin: center; -ms-transform-origin: center; transform-origin: center; -webkit-transform: rotateY(0deg); transform: rotateY(0deg); } #wp-admin-bar-elementor_edit_page > .ab-item::before { content: "\e813"; font-family: eicons; top: 3px; font-size: 18px; } #wp-admin-bar-elementor_edit_page .ab-submenu .ab-item { display: -webkit-box; display: -ms-flexbox; display: flex; width: 200px; } #wp-admin-bar-elementor_edit_page .elementor-edit-link-title { white-space: nowrap; -o-text-overflow: ellipsis; text-overflow: ellipsis; overflow: hidden; width: 100%; } #wp-admin-bar-elementor_edit_page .elementor-edit-link-type { background: #55595c; font-size: 11px; line-height: 9px; margin-top: 6px; padding: 4px 8px; border-radius: 3px; } #wp-admin-bar-elementor_inspector > .ab-item::before { content: "\f348"; top: 2px; } #wpadminbar * { font-style: normal; } .page-template-elementor_canvas.elementor-page:before { display: none; } .elementor-post__thumbnail__link { -webkit-transition: none; -o-transition: none; transition: none; } #left-area ul.elementor-icon-list-items, .elementor .elementor-element ul.elementor-icon-list-items, .elementor-edit-area .elementor-element ul.elementor-icon-list-items { padding: 0; } .e--ua-appleWebkit.rtl { --flex-right: flex-start; } .e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-right, .e--ua-appleWebkit .elementor-share-buttons--align-right { --justify-content: var(--flex-right, flex-end); } .e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-center, .e--ua-appleWebkit .elementor-share-buttons--align-center { --justify-content: center; } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-right .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-center .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-right .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-center .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-justify .elementor-grid { width: auto; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: var(--justify-content, space-between); -ms-flex-pack: var(--justify-content, space-between); justify-content: var(--justify-content, space-between); margin-left: calc(-0.5 * var(--grid-column-gap)); margin-right: calc(-0.5 * var(--grid-column-gap)); } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-right .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-center .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-right .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-center .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-justify .elementor-grid-item { margin-left: calc(0.5 * var(--grid-column-gap)); margin-right: calc(0.5 * var(--grid-column-gap)); } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-left .elementor-grid { display: inline-block; } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-left .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-left .elementor-grid-item { margin-left: 0; margin-right: 0; } @media (max-width: 1024px) { .e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-tablet-right, .e--ua-appleWebkit .elementor-share-buttons-tablet--align-right { --justify-content: var(--flex-right, flex-end); } .e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-tablet-center, .e--ua-appleWebkit .elementor-share-buttons-tablet--align-center { --justify-content: center; } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-right .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-center .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-right .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-center .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-justify .elementor-grid { width: auto; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: var(--justify-content, space-between); -ms-flex-pack: var(--justify-content, space-between); justify-content: var(--justify-content, space-between); margin-left: calc(-0.5 * var(--grid-column-gap)); margin-right: calc(-0.5 * var(--grid-column-gap)); } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-right .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-center .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-right .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-center .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-justify .elementor-grid-item { margin-left: calc(0.5 * var(--grid-column-gap)); margin-right: calc(0.5 * var(--grid-column-gap)); } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-tablet--align-left .elementor-grid { display: inline-block; } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-left .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-tablet--align-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-tablet--align-left .elementor-grid-item { margin-left: 0; margin-right: 0; } } @media (max-width: 767px) { .e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-mobile-right, .e--ua-appleWebkit .elementor-share-buttons-mobile--align-right { --justify-content: var(--flex-right, flex-end); } .e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-mobile-center, .e--ua-appleWebkit .elementor-share-buttons-mobile--align-center { --justify-content: center; } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-right .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-center .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-right .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-center .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-justify .elementor-grid { width: auto; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: var(--justify-content, space-between); -ms-flex-pack: var(--justify-content, space-between); justify-content: var(--justify-content, space-between); margin-left: calc(-0.5 * var(--grid-column-gap)); margin-right: calc(-0.5 * var(--grid-column-gap)); } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-right .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-center .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-right .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-center .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-justify .elementor-grid-item { margin-left: calc(0.5 * var(--grid-column-gap)); margin-right: calc(0.5 * var(--grid-column-gap)); } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-mobile--align-left .elementor-grid { display: inline-block; } .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-left .elementor-grid-item, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-mobile--align-left .elementor-grid, .e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-mobile--align-left .elementor-grid-item { margin-left: 0; margin-right: 0; } } @media (max-width: 767px) { .elementor .elementor-hidden-mobile { display: none; } .elementor .elementor-hidden-phone { display: none; } } @media (min-width: -1px) and (max-width: -1px) { .elementor .elementor-hidden-mobile_extra { display: none; } } @media (min-width: 768px) and (max-width: 1024px) { .elementor .elementor-hidden-tablet { display: none; } } @media (min-width: -1px) and (max-width: -1px) { .elementor .elementor-hidden-tablet_extra { display: none; } } @media (min-width: -1px) and (max-width: -1px) { .elementor .elementor-hidden-laptop { display: none; } } @media (min-width: 1025px) and (max-width: 99999px) { .elementor .elementor-hidden-desktop { display: none; } } @media (min-width: -1px) { .elementor .elementor-hidden-widescreen { display: none; } } .elementor-widget-text-path { font-size: 20px; text-align: var(--alignment, right); } .elementor-widget-text-path svg { width: var(--width); max-width: 100%; height: auto; overflow: visible; word-spacing: var(--word-spacing); -webkit-transform: rotate(var(--rotate, 0)) scaleX(var(--scale-x, 1)) scaleY(var(--scale-y, 1)); -ms-transform: rotate(var(--rotate, 0)) scaleX(var(--scale-x, 1)) scaleY(var(--scale-y, 1)); transform: rotate(var(--rotate, 0)) scaleX(var(--scale-x, 1)) scaleY(var(--scale-y, 1)); } .elementor-widget-text-path svg path { vector-effect: non-scaling-stroke; /* Prevent stroke size scaling when resizing the SVG. */ fill: var(--path-fill, transparent); stroke: var(--stroke-color, transparent); stroke-width: var(--stroke-width, 1px); -webkit-transition: var(--stroke-transition) stroke, var(--stroke-transition) fill; -o-transition: var(--stroke-transition) stroke, var(--stroke-transition) fill; transition: var(--stroke-transition) stroke, var(--stroke-transition) fill; } .elementor-widget-text-path svg:hover path { --path-fill: var( --path-fill-hover ); --stroke-color: var( --stroke-color-hover ); --stroke-width: var( --stroke-width-hover ); } .elementor-widget-text-path svg text { --fill: var( --text-color ); fill: var(--fill); direction: var(--direction, rtl); -webkit-transition: var(--transition) stroke, var(--transition) stroke-width, var(--transition) fill; -o-transition: var(--transition) stroke, var(--transition) stroke-width, var(--transition) fill; transition: var(--transition) stroke, var(--transition) stroke-width, var(--transition) fill; } .elementor-widget-text-path svg text:hover { --color: var( --text-color-hover, var( --text-color ) ); --fill: var( --color ); color: var(--color); } /*# sourceMappingURL=frontend-lite-rtl.css.map */assets/css/common.min.css000064400000027760152377341010011441 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ .dialog-widget-content{background-color:#fff;position:absolute;border-radius:3px;-webkit-box-shadow:2px 8px 23px 3px rgba(0,0,0,.2);box-shadow:2px 8px 23px 3px rgba(0,0,0,.2);overflow:hidden}.dialog-message{font-size:12px;line-height:1.5;-webkit-box-sizing:border-box;box-sizing:border-box}.dialog-type-lightbox{position:fixed;height:100%;width:100%;bottom:0;left:0;background-color:rgba(0,0,0,.8);z-index:9999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dialog-type-lightbox .dialog-widget-content{margin:auto;width:375px}.dialog-type-lightbox .dialog-header{font-size:15px;color:#495157;padding:30px 0 10px;font-weight:500}.dialog-type-lightbox .dialog-message{padding:0 30px 30px;min-height:50px}.dialog-type-lightbox:not(.elementor-popup-modal) .dialog-header,.dialog-type-lightbox:not(.elementor-popup-modal) .dialog-message{text-align:center}.dialog-type-lightbox .dialog-buttons-wrapper{border-top:1px solid #e6e9ec;text-align:center}.dialog-type-lightbox .dialog-buttons-wrapper>.dialog-button{font-family:Roboto,Arial,Helvetica,Verdana,sans-serif;width:50%;border:none;background:none;color:#6d7882;font-size:15px;cursor:pointer;padding:13px 0;outline:0}.dialog-type-lightbox .dialog-buttons-wrapper>.dialog-button:hover{background-color:#f4f6f7}.dialog-type-lightbox .dialog-buttons-wrapper>.dialog-button.dialog-ok{color:#b01b1b}.dialog-type-lightbox .dialog-buttons-wrapper>.dialog-button.dialog-take_over{color:#39b54a}.dialog-type-lightbox .dialog-buttons-wrapper>.dialog-button:active{background-color:rgba(230,233,236,.5)}.dialog-type-lightbox .dialog-buttons-wrapper>.dialog-button::-moz-focus-inner{border:0}.dialog-close-button{cursor:pointer;position:absolute;margin-top:15px;right:15px;font-size:15px;line-height:1}.dialog-close-button:not(:hover){opacity:.4}.dialog-alert-widget .dialog-buttons-wrapper>button{width:100%}.dialog-confirm-widget .dialog-button:first-child{border-right:1px solid #e6e9ec}.dialog-prevent-scroll{overflow:hidden;max-height:100vh}@media (min-width:1024px){body.admin-bar .dialog-lightbox-widget{height:calc(100vh - 32px)}}@media (max-width:1024px){body.admin-bar .dialog-type-lightbox{position:sticky;height:100vh}}.elementor-aspect-ratio-219 .elementor-fit-aspect-ratio{padding-bottom:42.8571%}.elementor-aspect-ratio-169 .elementor-fit-aspect-ratio{padding-bottom:56.25%}.elementor-aspect-ratio-43 .elementor-fit-aspect-ratio{padding-bottom:75%}.elementor-aspect-ratio-32 .elementor-fit-aspect-ratio{padding-bottom:66.6666%}.elementor-aspect-ratio-11 .elementor-fit-aspect-ratio{padding-bottom:100%}.elementor-aspect-ratio-916 .elementor-fit-aspect-ratio{padding-bottom:177.8%}.elementor-fit-aspect-ratio{position:relative;height:0}.elementor-fit-aspect-ratio iframe{position:absolute;top:0;left:0;height:100%;width:100%;border:0;background-color:#000}.elementor-fit-aspect-ratio video{width:100%}.flatpickr-calendar{width:280px}.flatpickr-calendar .flatpickr-current-month span.cur-month{font-weight:300}.flatpickr-calendar .dayContainer{width:280px;min-width:280px;max-width:280px}.flatpickr-calendar .flatpickr-days{width:280px}.flatpickr-calendar .flatpickr-day{max-width:37px;height:37px;line-height:37px}.elementor-templates-modal .dialog-widget-content{font-family:Roboto,Arial,Helvetica,Verdana,sans-serif;background-color:#f1f3f5;width:100%}@media (max-width:1439px){.elementor-templates-modal .dialog-widget-content{max-width:990px}}@media (min-width:1440px){.elementor-templates-modal .dialog-widget-content{max-width:1200px}}.elementor-templates-modal .dialog-header{padding:0;z-index:1}.elementor-templates-modal .dialog-buttons-wrapper,.elementor-templates-modal .dialog-header{background-color:#fff;-webkit-box-shadow:0 0 8px rgba(0,0,0,.1);box-shadow:0 0 8px rgba(0,0,0,.1);position:relative}.elementor-templates-modal .dialog-buttons-wrapper{border:none;display:none;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;padding:5px}.elementor-templates-modal .dialog-buttons-wrapper .elementor-button{height:40px;margin-left:5px}.elementor-templates-modal .dialog-buttons-wrapper .elementor-button-success{padding:12px 36px;color:#fff;width:auto;font-size:15px}.elementor-templates-modal .dialog-buttons-wrapper .elementor-button-success:hover{background-color:#39b54a}.elementor-templates-modal .dialog-message{height:750px;max-height:85vh;overflow:auto;padding-top:25px}.elementor-templates-modal .dialog-content{height:100%}.elementor-templates-modal .dialog-loading{display:none}.elementor-templates-modal__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;height:50px}.elementor-templates-modal__header__logo{line-height:1;text-transform:uppercase;font-weight:700;cursor:pointer}.elementor-templates-modal__header__logo-area{text-align:left;padding-left:15px}.elementor-templates-modal__header__logo-area>*{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-templates-modal__header__logo__icon-wrapper{margin-right:10px;font-size:12px}.elementor-templates-modal__header__logo__title{padding-top:2px}.elementor-templates-modal__header__items-area{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-templates-modal__header__item{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-sizing:content-box;box-sizing:content-box}.elementor-templates-modal__header__item>i{font-size:20px;-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s;cursor:pointer}.elementor-templates-modal__header__item>i:not(:hover){color:#a4afb7}.elementor-templates-modal__header__close--normal{width:47px;border-left:1px solid #e6e9ec}.elementor-templates-modal__header__close--normal i{font-size:18px}.elementor-templates-modal__header__close--skip{padding:10px 10px 10px 20px;margin-right:10px;color:#fff;background-color:#a4afb7;font-size:11px;font-weight:400;line-height:1;text-transform:uppercase;border-radius:2px;cursor:pointer}.elementor-templates-modal__header__close--skip>i{font-size:inherit;padding-left:10px;margin-left:15px;border-left:1px solid}.elementor-templates-modal__header__close--skip>i:not(:hover){color:#fff}.elementor-templates-modal__sidebar{-ms-flex-negative:0;flex-shrink:0;width:25%;background-color:hsla(0,0%,100%,.3)}.elementor-templates-modal__content{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-webkit-box-shadow:0 0 13px inset rgba(0,0,0,.05);box-shadow:inset 0 0 13px rgba(0,0,0,.05)}#wpadminbar #wp-admin-bar-elementor_edit_page .elementor-general-section+.elementor-second-section{border-top:1px solid #464b50;margin-top:6px}.elementor-hidden{display:none}.elementor-screen-only,.screen-reader-text,.screen-reader-text span,.ui-helper-hidden-accessible{position:absolute;top:-10000em;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0}.elementor-clearfix:after{content:"";display:block;clear:both;width:0;height:0}.e-logo-wrapper{background:#93003c;display:inline-block;padding:.75em;border-radius:50%;line-height:1}.e-logo-wrapper i{color:#fff;font-size:1em}#e-enable-unfiltered-files-dialog-import-template .dialog-confirm-ok{color:#39b54a}#e-enable-unfiltered-files-dialog-import-template .dialog-confirm-cancel{color:#b01b1b}#elementor-finder__modal{background:none;z-index:99999}#elementor-finder__modal .dialog-widget-content{width:650px;max-width:98%;top:18vh;left:calc(50% - 650px / 2)}#elementor-finder__modal .dialog-message{height:auto;min-height:0;padding:0;text-align:left}#elementor-finder__search{padding:14px 15px 14px 21px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-shadow:0 -3px 15px 6px rgba(0,0,0,.03);box-shadow:0 -3px 15px 6px rgba(0,0,0,.03)}#elementor-finder__search i{font-size:16px;color:#a4afb7;font-weight:700;margin-right:15px}#elementor-finder__search__input{border:none;background:none;outline:none;padding:0;margin:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;font-size:14px;color:#495157;-webkit-box-shadow:none;box-shadow:none}#elementor-finder__search__input::-webkit-input-placeholder{color:#a4afb7;font-style:italic;font-weight:300}#elementor-finder__search__input::-moz-placeholder{color:#a4afb7;font-style:italic;font-weight:300}#elementor-finder__search__input::-ms-input-placeholder{color:#a4afb7;font-style:italic;font-weight:300}#elementor-finder__search__input::placeholder{color:#a4afb7;font-style:italic;font-weight:300}#elementor-finder__results{max-height:50vh;overflow:auto}#elementor-finder__no-results{display:none;padding:20px;color:#a4afb7}.elementor-finder__results__category{position:relative}.elementor-finder__results__category__title{padding:5px 25px;color:#6d7882;background-color:#e6e9ec;font-size:9px;text-transform:uppercase}.elementor-finder__results__category--dynamic .elementor-finder__results__category__items{min-height:26px}.elementor-finder__results__category .eicon-loading{display:none;position:absolute;right:10px;top:30px;color:#71d7f7;font-size:14px}.elementor-finder__results__item{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-finder__results__item a{text-decoration:none;-webkit-box-shadow:none;box-shadow:none;outline:none}.elementor-finder__results__item.elementor-active{background-color:#71d7f7;-webkit-box-shadow:none;box-shadow:none;outline:none}.elementor-finder__results__item.elementor-active *{color:#fff}.elementor-finder__results__item:not(.elementor-active) .elementor-finder__results__item__actions{display:none}.elementor-finder__results__item__link{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:35px;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-finder__results__item__icon{width:60px;text-align:center;color:#6d7882;font-size:17px}.elementor-finder__results__item__title{color:#6d7882;font-size:13px}.elementor-finder__results__item__description{margin-left:5px;color:#a4afb7;font-style:italic}.elementor-finder__results__item__action,.elementor-finder__results__item__actions{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-finder__results__item__action{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;height:100%;width:35px}.elementor-finder__results__item__action:hover{background-color:rgba(0,0,0,.07)}.tipsy{font-size:10px;position:absolute;padding:5px;z-index:100000}.tipsy-inner{background-color:#000;color:#fff;font-weight:500;max-width:200px;padding:5px 12px;text-align:center;border-radius:3px;-webkit-box-shadow:0 0 5px 0 rgba(0,0,0,.5);box-shadow:0 0 5px 0 rgba(0,0,0,.5)}.tipsy-arrow{position:absolute;width:0;height:0;line-height:0;border:5px dashed #000}.tipsy-arrow-n{border-bottom-color:#000}.tipsy-arrow-s{border-top-color:#000}.tipsy-arrow-e{border-left-color:#000}.tipsy-arrow-w{border-right-color:#000}.tipsy-n .tipsy-arrow,.tipsy-nw .tipsy-arrow{border-left-color:transparent;border-right-color:transparent;top:0;border-bottom-style:solid;border-top:none}.tipsy-n .tipsy-arrow{left:50%;margin-left:-5px}.tipsy-nw .tipsy-arrow{left:10px}.tipsy-ne .tipsy-arrow{top:0;right:10px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.tipsy-s .tipsy-arrow,.tipsy-se .tipsy-arrow,.tipsy-sw .tipsy-arrow{bottom:0;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.tipsy-s .tipsy-arrow{left:50%;margin-left:-5px}.tipsy-sw .tipsy-arrow{left:10px}.tipsy-se .tipsy-arrow{right:10px}.tipsy-e .tipsy-arrow,.tipsy-w .tipsy-arrow{top:50%;margin-top:-5px;border-top-color:transparent;border-bottom-color:transparent}.tipsy-e .tipsy-arrow{right:0;border-left-style:solid;border-right:none}.tipsy-w .tipsy-arrow{left:0;border-right-style:solid;border-left:none}assets/css/common-rtl.css000064400000035101152377341010011442 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ .dialog-widget-content { background-color: #fff; position: absolute; border-radius: 3px; -webkit-box-shadow: 2px 8px 23px 3px rgba(0, 0, 0, 0.2); box-shadow: 2px 8px 23px 3px rgba(0, 0, 0, 0.2); overflow: hidden; } .dialog-message { font-size: 12px; line-height: 1.5; -webkit-box-sizing: border-box; box-sizing: border-box; } .dialog-type-lightbox { position: fixed; height: 100%; width: 100%; bottom: 0; left: 0; background-color: rgba(0, 0, 0, 0.8); z-index: 9999; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .dialog-type-lightbox .dialog-widget-content { margin: auto; width: 375px; } .dialog-type-lightbox .dialog-header { font-size: 15px; color: #495157; padding: 30px 0 10px; font-weight: 500; } .dialog-type-lightbox .dialog-message { padding: 0 30px 30px; min-height: 50px; } .dialog-type-lightbox:not(.elementor-popup-modal) .dialog-header, .dialog-type-lightbox:not(.elementor-popup-modal) .dialog-message { text-align: center; } .dialog-type-lightbox .dialog-buttons-wrapper { border-top: 1px solid #e6e9ec; text-align: center; } .dialog-type-lightbox .dialog-buttons-wrapper > .dialog-button { font-family: Roboto, Arial, Helvetica, Verdana, sans-serif; width: 50%; border: none; background: none; color: #6d7882; font-size: 15px; cursor: pointer; padding: 13px 0; outline: 0; } .dialog-type-lightbox .dialog-buttons-wrapper > .dialog-button:hover { background-color: #f4f6f7; } .dialog-type-lightbox .dialog-buttons-wrapper > .dialog-button.dialog-ok { color: #b01b1b; } .dialog-type-lightbox .dialog-buttons-wrapper > .dialog-button.dialog-take_over { color: #39b54a; } .dialog-type-lightbox .dialog-buttons-wrapper > .dialog-button:active { background-color: rgba(230, 233, 236, 0.5); } .dialog-type-lightbox .dialog-buttons-wrapper > .dialog-button::-moz-focus-inner { border: 0; } .dialog-close-button { cursor: pointer; position: absolute; margin-top: 15px; left: 15px; font-size: 15px; line-height: 1; } .dialog-close-button:not(:hover) { opacity: 0.4; } .dialog-alert-widget .dialog-buttons-wrapper > button { width: 100%; } .dialog-confirm-widget .dialog-button:first-child { border-left: 1px solid #e6e9ec; } .dialog-prevent-scroll { overflow: hidden; max-height: 100vh; } @media (min-width: 1024px) { body.admin-bar .dialog-lightbox-widget { height: calc(100vh - 32px); } } @media (max-width: 1024px) { body.admin-bar .dialog-type-lightbox { position: sticky; height: 100vh; } } .elementor-aspect-ratio-219 .elementor-fit-aspect-ratio { padding-bottom: 42.8571%; } .elementor-aspect-ratio-169 .elementor-fit-aspect-ratio { padding-bottom: 56.25%; } .elementor-aspect-ratio-43 .elementor-fit-aspect-ratio { padding-bottom: 75%; } .elementor-aspect-ratio-32 .elementor-fit-aspect-ratio { padding-bottom: 66.6666%; } .elementor-aspect-ratio-11 .elementor-fit-aspect-ratio { padding-bottom: 100%; } .elementor-aspect-ratio-916 .elementor-fit-aspect-ratio { padding-bottom: 177.8%; } .elementor-fit-aspect-ratio { position: relative; height: 0; } .elementor-fit-aspect-ratio iframe { position: absolute; top: 0; left: 0; height: 100%; width: 100%; border: 0; background-color: #000; } .elementor-fit-aspect-ratio video { width: 100%; } .flatpickr-calendar { width: 280px; } .flatpickr-calendar .flatpickr-current-month span.cur-month { font-weight: 300; } .flatpickr-calendar .dayContainer { width: 280px; min-width: 280px; max-width: 280px; } .flatpickr-calendar .flatpickr-days { width: 280px; } .flatpickr-calendar .flatpickr-day { max-width: 37px; height: 37px; line-height: 37px; } .elementor-templates-modal .dialog-widget-content { font-family: Roboto, Arial, Helvetica, Verdana, sans-serif; background-color: #f1f3f5; width: 100%; } @media (max-width: 1439px) { .elementor-templates-modal .dialog-widget-content { max-width: 990px; } } @media (min-width: 1440px) { .elementor-templates-modal .dialog-widget-content { max-width: 1200px; } } .elementor-templates-modal .dialog-header { padding: 0; background-color: #fff; -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.1); box-shadow: 0 0 8px rgba(0, 0, 0, 0.1); position: relative; z-index: 1; } .elementor-templates-modal .dialog-buttons-wrapper { background-color: #fff; border: none; display: none; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; padding: 5px; -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.1); box-shadow: 0 0 8px rgba(0, 0, 0, 0.1); position: relative; } .elementor-templates-modal .dialog-buttons-wrapper .elementor-button { height: 40px; margin-right: 5px; } .elementor-templates-modal .dialog-buttons-wrapper .elementor-button-success { padding: 12px 36px; color: #fff; width: initial; font-size: 15px; } .elementor-templates-modal .dialog-buttons-wrapper .elementor-button-success:hover { background-color: #39b54a; } .elementor-templates-modal .dialog-message { height: 750px; max-height: 85vh; overflow: auto; padding-top: 25px; } .elementor-templates-modal .dialog-content { height: 100%; } .elementor-templates-modal .dialog-loading { display: none; } .elementor-templates-modal__header { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; height: 50px; } .elementor-templates-modal__header__logo { line-height: 1; text-transform: uppercase; font-weight: bold; cursor: pointer; } .elementor-templates-modal__header__logo-area { text-align: right; padding-right: 15px; } .elementor-templates-modal__header__logo-area > * { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .elementor-templates-modal__header__logo__icon-wrapper { margin-left: 10px; font-size: 12px; } .elementor-templates-modal__header__logo__title { padding-top: 2px; } .elementor-templates-modal__header__items-area { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; } .elementor-templates-modal__header__item { position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-sizing: content-box; box-sizing: content-box; } .elementor-templates-modal__header__item > i { font-size: 20px; -webkit-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; cursor: pointer; } .elementor-templates-modal__header__item > i:not(:hover) { color: #a4afb7; } .elementor-templates-modal__header__close--normal { width: 47px; border-right: 1px solid #e6e9ec; } .elementor-templates-modal__header__close--normal i { font-size: 18px; } .elementor-templates-modal__header__close--skip { padding: 10px; padding-right: 20px; margin-left: 10px; color: #fff; background-color: #a4afb7; font-size: 11px; font-weight: normal; line-height: 1; text-transform: uppercase; border-radius: 2px; cursor: pointer; } .elementor-templates-modal__header__close--skip > i { font-size: inherit; padding-right: 10px; margin-right: 15px; border-right: 1px solid; } .elementor-templates-modal__header__close--skip > i:not(:hover) { color: #fff; } .elementor-templates-modal__sidebar { -ms-flex-negative: 0; flex-shrink: 0; width: 25%; background-color: rgba(255, 255, 255, 0.3); } .elementor-templates-modal__content { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; -webkit-box-shadow: 0 0 13px inset rgba(0, 0, 0, 0.05); box-shadow: 0 0 13px inset rgba(0, 0, 0, 0.05); } /* Will select next element after last '.elementor-general-section' */ #wpadminbar #wp-admin-bar-elementor_edit_page .elementor-general-section + .elementor-second-section { border-top: 1px solid #464b50; margin-top: 6px; } .elementor-hidden { display: none; } .elementor-screen-only, .screen-reader-text, .screen-reader-text span, .ui-helper-hidden-accessible { position: absolute; top: -10000em; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0; } .elementor-clearfix:after { content: ""; display: block; clear: both; width: 0; height: 0; } .e-logo-wrapper { background: #93003c; display: inline-block; padding: 0.75em; border-radius: 50%; line-height: 1; } .e-logo-wrapper i { color: #fff; font-size: 1em; } #e-enable-unfiltered-files-dialog-import-template .dialog-confirm-ok { color: #39b54a; } #e-enable-unfiltered-files-dialog-import-template .dialog-confirm-cancel { color: #b01b1b; } #elementor-finder__modal { background: none; z-index: 99999; } #elementor-finder__modal .dialog-widget-content { width: 650px; max-width: 98%; top: 18vh; left: calc( 50% - 650px / 2 ); } #elementor-finder__modal .dialog-message { height: initial; min-height: 0; padding: 0; text-align: right; } #elementor-finder__search { padding: 14px 15px 14px 21px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-shadow: 0 -3px 15px 6px rgba(0, 0, 0, 0.03); box-shadow: 0 -3px 15px 6px rgba(0, 0, 0, 0.03); } #elementor-finder__search i { font-size: 16px; color: #a4afb7; font-weight: bold; margin-left: 15px; } #elementor-finder__search__input { border: none; background: none; outline: none; padding: 0; margin: 0; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; font-size: 14px; color: #495157; -webkit-box-shadow: none; box-shadow: none; } #elementor-finder__search__input::-webkit-input-placeholder { color: #a4afb7; font-style: italic; font-weight: 300; } #elementor-finder__search__input::-moz-placeholder { color: #a4afb7; font-style: italic; font-weight: 300; } #elementor-finder__search__input::-ms-input-placeholder { color: #a4afb7; font-style: italic; font-weight: 300; } #elementor-finder__search__input::placeholder { color: #a4afb7; font-style: italic; font-weight: 300; } #elementor-finder__results { max-height: 50vh; overflow: auto; } #elementor-finder__no-results { display: none; padding: 20px; color: #a4afb7; } .elementor-finder__results__category { position: relative; } .elementor-finder__results__category__title { padding: 5px 25px; color: #6d7882; background-color: #e6e9ec; font-size: 9px; text-transform: uppercase; } .elementor-finder__results__category--dynamic .elementor-finder__results__category__items { min-height: 26px; } .elementor-finder__results__category .eicon-loading { display: none; position: absolute; left: 10px; top: 30px; color: #71d7f7; font-size: 14px; } .elementor-finder__results__item { display: -webkit-box; display: -ms-flexbox; display: flex; } .elementor-finder__results__item a { text-decoration: none; -webkit-box-shadow: none; box-shadow: none; outline: none; } .elementor-finder__results__item.elementor-active { background-color: #71d7f7; -webkit-box-shadow: none; box-shadow: none; outline: none; } .elementor-finder__results__item.elementor-active * { color: #fff; } .elementor-finder__results__item:not(.elementor-active) .elementor-finder__results__item__actions { display: none; } .elementor-finder__results__item__link { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; height: 35px; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; } .elementor-finder__results__item__icon { width: 60px; text-align: center; color: #6d7882; font-size: 17px; } .elementor-finder__results__item__title { color: #6d7882; font-size: 13px; } .elementor-finder__results__item__description { margin-right: 5px; color: #a4afb7; font-style: italic; } .elementor-finder__results__item__actions { display: -webkit-box; display: -ms-flexbox; display: flex; } .elementor-finder__results__item__action { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; height: 100%; width: 35px; } .elementor-finder__results__item__action:hover { background-color: rgba(0, 0, 0, 0.07); } .tipsy { font-size: 10px; position: absolute; padding: 5px; z-index: 100000; } .tipsy-inner { background-color: #000; color: #FFF; font-weight: 500; max-width: 200px; padding: 5px 12px; text-align: center; border-radius: 3px; -webkit-box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.5); box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.5); } .tipsy-arrow { position: absolute; width: 0; height: 0; line-height: 0; border: 5px dashed #000; } .tipsy-arrow-n { border-bottom-color: #000; } .tipsy-arrow-s { border-top-color: #000; } .tipsy-arrow-e { border-left-color: #000; } .tipsy-arrow-w { border-right-color: #000; } .tipsy-n .tipsy-arrow, .tipsy-nw .tipsy-arrow { border-left-color: transparent; border-right-color: transparent; top: 0; border-bottom-style: solid; border-top: none; } .tipsy-n .tipsy-arrow { left: 50%; margin-left: -5px; } .tipsy-nw .tipsy-arrow { left: 10px; } .tipsy-ne .tipsy-arrow { top: 0; right: 10px; border-bottom-style: solid; border-top: none; border-left-color: transparent; border-right-color: transparent; } .tipsy-s .tipsy-arrow, .tipsy-se .tipsy-arrow, .tipsy-sw .tipsy-arrow { bottom: 0; border-top-style: solid; border-bottom: none; border-left-color: transparent; border-right-color: transparent; } .tipsy-s .tipsy-arrow { left: 50%; margin-left: -5px; } .tipsy-sw .tipsy-arrow { left: 10px; } .tipsy-se .tipsy-arrow { right: 10px; } .tipsy-e .tipsy-arrow, .tipsy-w .tipsy-arrow { top: 50%; margin-top: -5px; border-top-color: transparent; border-bottom-color: transparent; } .tipsy-e .tipsy-arrow { right: 0; border-left-style: solid; border-right: none; } .tipsy-w .tipsy-arrow { left: 0; border-right-style: solid; border-left: none; } /*# sourceMappingURL=common-rtl.css.map */assets/css/frontend-legacy-rtl.css000064400000046526152377341010013250 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ .elementor-bc-flex-widget .elementor-section-content-top > .elementor-container > .elementor-row > .elementor-column > .elementor-column-wrap { -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; } .elementor-bc-flex-widget .elementor-section-content-middle > .elementor-container > .elementor-row > .elementor-column > .elementor-column-wrap { -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .elementor-bc-flex-widget .elementor-section-content-bottom > .elementor-container > .elementor-row > .elementor-column > .elementor-column-wrap { -webkit-box-align: end; -ms-flex-align: end; align-items: flex-end; } .elementor-column-gap-narrow > .elementor-row > .elementor-column > .elementor-element-populated > .elementor-widget-wrap { padding: 5px; } .elementor-column-gap-default > .elementor-row > .elementor-column > .elementor-element-populated > .elementor-widget-wrap { padding: 10px; } .elementor-column-gap-extended > .elementor-row > .elementor-column > .elementor-element-populated > .elementor-widget-wrap { padding: 15px; } .elementor-column-gap-wide > .elementor-row > .elementor-column > .elementor-element-populated > .elementor-widget-wrap { padding: 20px; } .elementor-column-gap-wider > .elementor-row > .elementor-column > .elementor-element-populated > .elementor-widget-wrap { padding: 30px; } @media (min-width: -1px) { .elementor-reverse-widescreen > .elementor-container > .elementor-row > :nth-child(1) { -webkit-box-ordinal-group: 11; -ms-flex-order: 10; order: 10; } .elementor-reverse-widescreen > .elementor-container > .elementor-row > :nth-child(2) { -webkit-box-ordinal-group: 10; -ms-flex-order: 9; order: 9; } .elementor-reverse-widescreen > .elementor-container > .elementor-row > :nth-child(3) { -webkit-box-ordinal-group: 9; -ms-flex-order: 8; order: 8; } .elementor-reverse-widescreen > .elementor-container > .elementor-row > :nth-child(4) { -webkit-box-ordinal-group: 8; -ms-flex-order: 7; order: 7; } .elementor-reverse-widescreen > .elementor-container > .elementor-row > :nth-child(5) { -webkit-box-ordinal-group: 7; -ms-flex-order: 6; order: 6; } .elementor-reverse-widescreen > .elementor-container > .elementor-row > :nth-child(6) { -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; } .elementor-reverse-widescreen > .elementor-container > .elementor-row > :nth-child(7) { -webkit-box-ordinal-group: 5; -ms-flex-order: 4; order: 4; } .elementor-reverse-widescreen > .elementor-container > .elementor-row > :nth-child(8) { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; } .elementor-reverse-widescreen > .elementor-container > .elementor-row > :nth-child(9) { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; } .elementor-reverse-widescreen > .elementor-container > .elementor-row > :nth-child(10) { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; } } @media (min-width: 1025px) and (max-width: -1px) { .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(1) { -webkit-box-ordinal-group: 11; -ms-flex-order: 10; order: 10; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(2) { -webkit-box-ordinal-group: 10; -ms-flex-order: 9; order: 9; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(3) { -webkit-box-ordinal-group: 9; -ms-flex-order: 8; order: 8; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(4) { -webkit-box-ordinal-group: 8; -ms-flex-order: 7; order: 7; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(5) { -webkit-box-ordinal-group: 7; -ms-flex-order: 6; order: 6; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(6) { -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(7) { -webkit-box-ordinal-group: 5; -ms-flex-order: 4; order: 4; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(8) { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(9) { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(10) { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; } } @media (min-width: -1px) and (max-width: -1px) { .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(1) { -webkit-box-ordinal-group: 11; -ms-flex-order: 10; order: 10; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(2) { -webkit-box-ordinal-group: 10; -ms-flex-order: 9; order: 9; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(3) { -webkit-box-ordinal-group: 9; -ms-flex-order: 8; order: 8; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(4) { -webkit-box-ordinal-group: 8; -ms-flex-order: 7; order: 7; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(5) { -webkit-box-ordinal-group: 7; -ms-flex-order: 6; order: 6; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(6) { -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(7) { -webkit-box-ordinal-group: 5; -ms-flex-order: 4; order: 4; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(8) { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(9) { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(10) { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; } } @media (min-width: 1025px) and (max-width: -1px) { .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(1) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(2) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(3) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(4) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(5) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(6) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(7) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(8) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(9) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-laptop > .elementor-container > .elementor-row > :nth-child(10) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-tablet_extra > .elementor-container > .elementor-row > :nth-child(1) { -webkit-box-ordinal-group: 11; -ms-flex-order: 10; order: 10; } .elementor-reverse-tablet_extra > .elementor-container > .elementor-row > :nth-child(2) { -webkit-box-ordinal-group: 10; -ms-flex-order: 9; order: 9; } .elementor-reverse-tablet_extra > .elementor-container > .elementor-row > :nth-child(3) { -webkit-box-ordinal-group: 9; -ms-flex-order: 8; order: 8; } .elementor-reverse-tablet_extra > .elementor-container > .elementor-row > :nth-child(4) { -webkit-box-ordinal-group: 8; -ms-flex-order: 7; order: 7; } .elementor-reverse-tablet_extra > .elementor-container > .elementor-row > :nth-child(5) { -webkit-box-ordinal-group: 7; -ms-flex-order: 6; order: 6; } .elementor-reverse-tablet_extra > .elementor-container > .elementor-row > :nth-child(6) { -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; } .elementor-reverse-tablet_extra > .elementor-container > .elementor-row > :nth-child(7) { -webkit-box-ordinal-group: 5; -ms-flex-order: 4; order: 4; } .elementor-reverse-tablet_extra > .elementor-container > .elementor-row > :nth-child(8) { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; } .elementor-reverse-tablet_extra > .elementor-container > .elementor-row > :nth-child(9) { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; } .elementor-reverse-tablet_extra > .elementor-container > .elementor-row > :nth-child(10) { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; } } @media (min-width: 768px) and (max-width: 1024px) { .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(1) { -webkit-box-ordinal-group: 11; -ms-flex-order: 10; order: 10; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(2) { -webkit-box-ordinal-group: 10; -ms-flex-order: 9; order: 9; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(3) { -webkit-box-ordinal-group: 9; -ms-flex-order: 8; order: 8; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(4) { -webkit-box-ordinal-group: 8; -ms-flex-order: 7; order: 7; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(5) { -webkit-box-ordinal-group: 7; -ms-flex-order: 6; order: 6; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(6) { -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(7) { -webkit-box-ordinal-group: 5; -ms-flex-order: 4; order: 4; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(8) { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(9) { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(10) { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; } } @media (min-width: -1px) and (max-width: 1024px) { .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(1) { -webkit-box-ordinal-group: 11; -ms-flex-order: 10; order: 10; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(2) { -webkit-box-ordinal-group: 10; -ms-flex-order: 9; order: 9; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(3) { -webkit-box-ordinal-group: 9; -ms-flex-order: 8; order: 8; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(4) { -webkit-box-ordinal-group: 8; -ms-flex-order: 7; order: 7; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(5) { -webkit-box-ordinal-group: 7; -ms-flex-order: 6; order: 6; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(6) { -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(7) { -webkit-box-ordinal-group: 5; -ms-flex-order: 4; order: 4; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(8) { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(9) { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(10) { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; } } @media (min-width: 768px) and (max-width: -1px) { .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(1) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(2) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(3) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(4) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(5) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(6) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(7) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(8) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(9) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-tablet > .elementor-container > .elementor-row > :nth-child(10) { -webkit-box-ordinal-group: initial; -ms-flex-order: initial; order: initial; } .elementor-reverse-mobile_extra > .elementor-container > .elementor-row > :nth-child(1) { -webkit-box-ordinal-group: 11; -ms-flex-order: 10; order: 10; } .elementor-reverse-mobile_extra > .elementor-container > .elementor-row > :nth-child(2) { -webkit-box-ordinal-group: 10; -ms-flex-order: 9; order: 9; } .elementor-reverse-mobile_extra > .elementor-container > .elementor-row > :nth-child(3) { -webkit-box-ordinal-group: 9; -ms-flex-order: 8; order: 8; } .elementor-reverse-mobile_extra > .elementor-container > .elementor-row > :nth-child(4) { -webkit-box-ordinal-group: 8; -ms-flex-order: 7; order: 7; } .elementor-reverse-mobile_extra > .elementor-container > .elementor-row > :nth-child(5) { -webkit-box-ordinal-group: 7; -ms-flex-order: 6; order: 6; } .elementor-reverse-mobile_extra > .elementor-container > .elementor-row > :nth-child(6) { -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; } .elementor-reverse-mobile_extra > .elementor-container > .elementor-row > :nth-child(7) { -webkit-box-ordinal-group: 5; -ms-flex-order: 4; order: 4; } .elementor-reverse-mobile_extra > .elementor-container > .elementor-row > :nth-child(8) { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; } .elementor-reverse-mobile_extra > .elementor-container > .elementor-row > :nth-child(9) { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; } .elementor-reverse-mobile_extra > .elementor-container > .elementor-row > :nth-child(10) { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; } } @media (max-width: 767px) { .elementor-reverse-mobile > .elementor-container > .elementor-row > :nth-child(1) { -webkit-box-ordinal-group: 11; -ms-flex-order: 10; order: 10; } .elementor-reverse-mobile > .elementor-container > .elementor-row > :nth-child(2) { -webkit-box-ordinal-group: 10; -ms-flex-order: 9; order: 9; } .elementor-reverse-mobile > .elementor-container > .elementor-row > :nth-child(3) { -webkit-box-ordinal-group: 9; -ms-flex-order: 8; order: 8; } .elementor-reverse-mobile > .elementor-container > .elementor-row > :nth-child(4) { -webkit-box-ordinal-group: 8; -ms-flex-order: 7; order: 7; } .elementor-reverse-mobile > .elementor-container > .elementor-row > :nth-child(5) { -webkit-box-ordinal-group: 7; -ms-flex-order: 6; order: 6; } .elementor-reverse-mobile > .elementor-container > .elementor-row > :nth-child(6) { -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; } .elementor-reverse-mobile > .elementor-container > .elementor-row > :nth-child(7) { -webkit-box-ordinal-group: 5; -ms-flex-order: 4; order: 4; } .elementor-reverse-mobile > .elementor-container > .elementor-row > :nth-child(8) { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; } .elementor-reverse-mobile > .elementor-container > .elementor-row > :nth-child(9) { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; } .elementor-reverse-mobile > .elementor-container > .elementor-row > :nth-child(10) { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; } .elementor-column { width: 100%; } } /*# sourceMappingURL=frontend-legacy-rtl.css.map */assets/css/widget-icon-box.min.css000064400000031300152377341010013131 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ .elementor-widget-icon-box .elementor-icon-box-wrapper{display:block;text-align:center}.elementor-widget-icon-box .elementor-icon-box-icon{margin-bottom:var(--icon-box-icon-margin,15px);margin-right:auto;margin-left:auto}@media (min-width:768px){.elementor-widget-icon-box.elementor-vertical-align-top .elementor-icon-box-wrapper{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.elementor-widget-icon-box.elementor-vertical-align-middle .elementor-icon-box-wrapper{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-widget-icon-box.elementor-vertical-align-bottom .elementor-icon-box-wrapper{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}}.elementor-widget-icon-box.elementor-position-left .elementor-icon-box-wrapper,.elementor-widget-icon-box.elementor-position-right .elementor-icon-box-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-icon-box.elementor-position-left .elementor-icon-box-icon,.elementor-widget-icon-box.elementor-position-right .elementor-icon-box-icon{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.elementor-widget-icon-box.elementor-position-right .elementor-icon-box-wrapper{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-widget-icon-box.elementor-position-right .elementor-icon-box-icon{margin-left:var(--icon-box-icon-margin,15px);margin-right:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-position-left .elementor-icon-box-wrapper{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.elementor-widget-icon-box.elementor-position-left .elementor-icon-box-icon{margin-right:var(--icon-box-icon-margin,15px);margin-left:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-position-top .elementor-icon-box-wrapper{display:block;text-align:center;-webkit-box-orient:unset;-webkit-box-direction:unset;-ms-flex-direction:unset;flex-direction:unset}.elementor-widget-icon-box.elementor-position-top .elementor-icon-box-icon{margin-bottom:var(--icon-box-icon-margin,15px);margin-right:auto;margin-left:auto}@media (min-width:-1px){.elementor-widget-icon-box.elementor-widescreen-position-left .elementor-icon-box-wrapper,.elementor-widget-icon-box.elementor-widescreen-position-right .elementor-icon-box-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-icon-box.elementor-widescreen-position-left .elementor-icon-box-icon,.elementor-widget-icon-box.elementor-widescreen-position-right .elementor-icon-box-icon{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.elementor-widget-icon-box.elementor-widescreen-position-right .elementor-icon-box-wrapper{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-widget-icon-box.elementor-widescreen-position-right .elementor-icon-box-icon{margin-left:var(--icon-box-icon-margin,15px);margin-right:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-widescreen-position-left .elementor-icon-box-wrapper{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.elementor-widget-icon-box.elementor-widescreen-position-left .elementor-icon-box-icon{margin-right:var(--icon-box-icon-margin,15px);margin-left:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-widescreen-position-top .elementor-icon-box-wrapper{display:block;text-align:center;-webkit-box-orient:unset;-webkit-box-direction:unset;-ms-flex-direction:unset;flex-direction:unset}.elementor-widget-icon-box.elementor-widescreen-position-top .elementor-icon-box-icon{margin-bottom:var(--icon-box-icon-margin,15px);margin-right:auto;margin-left:auto}}@media (max-width:-1px){.elementor-widget-icon-box.elementor-laptop-position-left .elementor-icon-box-wrapper,.elementor-widget-icon-box.elementor-laptop-position-right .elementor-icon-box-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-icon-box.elementor-laptop-position-left .elementor-icon-box-icon,.elementor-widget-icon-box.elementor-laptop-position-right .elementor-icon-box-icon{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.elementor-widget-icon-box.elementor-laptop-position-right .elementor-icon-box-wrapper{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-widget-icon-box.elementor-laptop-position-right .elementor-icon-box-icon{margin-left:var(--icon-box-icon-margin,15px);margin-right:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-laptop-position-left .elementor-icon-box-wrapper{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.elementor-widget-icon-box.elementor-laptop-position-left .elementor-icon-box-icon{margin-right:var(--icon-box-icon-margin,15px);margin-left:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-laptop-position-top .elementor-icon-box-wrapper{display:block;text-align:center;-webkit-box-orient:unset;-webkit-box-direction:unset;-ms-flex-direction:unset;flex-direction:unset}.elementor-widget-icon-box.elementor-laptop-position-top .elementor-icon-box-icon{margin-bottom:var(--icon-box-icon-margin,15px);margin-right:auto;margin-left:auto}}@media (max-width:-1px){.elementor-widget-icon-box.elementor-tablet_extra-position-left .elementor-icon-box-wrapper,.elementor-widget-icon-box.elementor-tablet_extra-position-right .elementor-icon-box-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-icon-box.elementor-tablet_extra-position-left .elementor-icon-box-icon,.elementor-widget-icon-box.elementor-tablet_extra-position-right .elementor-icon-box-icon{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.elementor-widget-icon-box.elementor-tablet_extra-position-right .elementor-icon-box-wrapper{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-widget-icon-box.elementor-tablet_extra-position-right .elementor-icon-box-icon{margin-left:var(--icon-box-icon-margin,15px);margin-right:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-tablet_extra-position-left .elementor-icon-box-wrapper{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.elementor-widget-icon-box.elementor-tablet_extra-position-left .elementor-icon-box-icon{margin-right:var(--icon-box-icon-margin,15px);margin-left:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-tablet_extra-position-top .elementor-icon-box-wrapper{display:block;text-align:center;-webkit-box-orient:unset;-webkit-box-direction:unset;-ms-flex-direction:unset;flex-direction:unset}.elementor-widget-icon-box.elementor-tablet_extra-position-top .elementor-icon-box-icon{margin-bottom:var(--icon-box-icon-margin,15px);margin-right:auto;margin-left:auto}}@media (max-width:1024px){.elementor-widget-icon-box.elementor-tablet-position-left .elementor-icon-box-wrapper,.elementor-widget-icon-box.elementor-tablet-position-right .elementor-icon-box-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-icon-box.elementor-tablet-position-left .elementor-icon-box-icon,.elementor-widget-icon-box.elementor-tablet-position-right .elementor-icon-box-icon{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.elementor-widget-icon-box.elementor-tablet-position-right .elementor-icon-box-wrapper{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-widget-icon-box.elementor-tablet-position-right .elementor-icon-box-icon{margin-left:var(--icon-box-icon-margin,15px);margin-right:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-tablet-position-left .elementor-icon-box-wrapper{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.elementor-widget-icon-box.elementor-tablet-position-left .elementor-icon-box-icon{margin-right:var(--icon-box-icon-margin,15px);margin-left:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-tablet-position-top .elementor-icon-box-wrapper{display:block;text-align:center;-webkit-box-orient:unset;-webkit-box-direction:unset;-ms-flex-direction:unset;flex-direction:unset}.elementor-widget-icon-box.elementor-tablet-position-top .elementor-icon-box-icon{margin-bottom:var(--icon-box-icon-margin,15px);margin-right:auto;margin-left:auto}}@media (max-width:-1px){.elementor-widget-icon-box.elementor-mobile_extra-position-left .elementor-icon-box-wrapper,.elementor-widget-icon-box.elementor-mobile_extra-position-right .elementor-icon-box-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-icon-box.elementor-mobile_extra-position-left .elementor-icon-box-icon,.elementor-widget-icon-box.elementor-mobile_extra-position-right .elementor-icon-box-icon{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.elementor-widget-icon-box.elementor-mobile_extra-position-right .elementor-icon-box-wrapper{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-widget-icon-box.elementor-mobile_extra-position-right .elementor-icon-box-icon{margin-left:var(--icon-box-icon-margin,15px);margin-right:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-mobile_extra-position-left .elementor-icon-box-wrapper{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.elementor-widget-icon-box.elementor-mobile_extra-position-left .elementor-icon-box-icon{margin-right:var(--icon-box-icon-margin,15px);margin-left:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-mobile_extra-position-top .elementor-icon-box-wrapper{display:block;text-align:center;-webkit-box-orient:unset;-webkit-box-direction:unset;-ms-flex-direction:unset;flex-direction:unset}.elementor-widget-icon-box.elementor-mobile_extra-position-top .elementor-icon-box-icon{margin-bottom:var(--icon-box-icon-margin,15px);margin-right:auto;margin-left:auto}}@media (max-width:767px){.elementor-widget-icon-box.elementor-mobile-position-left .elementor-icon-box-wrapper,.elementor-widget-icon-box.elementor-mobile-position-right .elementor-icon-box-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-icon-box.elementor-mobile-position-left .elementor-icon-box-icon,.elementor-widget-icon-box.elementor-mobile-position-right .elementor-icon-box-icon{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.elementor-widget-icon-box.elementor-mobile-position-right .elementor-icon-box-wrapper{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-widget-icon-box.elementor-mobile-position-right .elementor-icon-box-icon{margin-left:var(--icon-box-icon-margin,15px);margin-right:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-mobile-position-left .elementor-icon-box-wrapper{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.elementor-widget-icon-box.elementor-mobile-position-left .elementor-icon-box-icon{margin-right:var(--icon-box-icon-margin,15px);margin-left:0;margin-bottom:unset}.elementor-widget-icon-box.elementor-mobile-position-top .elementor-icon-box-wrapper{display:block;text-align:center;-webkit-box-orient:unset;-webkit-box-direction:unset;-ms-flex-direction:unset;flex-direction:unset}.elementor-widget-icon-box.elementor-mobile-position-top .elementor-icon-box-icon{margin-bottom:var(--icon-box-icon-margin,15px);margin-right:auto;margin-left:auto}.elementor-widget-icon-box.elementor-position-left .elementor-icon-box-icon,.elementor-widget-icon-box.elementor-position-right .elementor-icon-box-icon{display:block;-webkit-box-flex:unset;-ms-flex:unset;flex:unset}}.elementor-widget-icon-box .elementor-icon-box-title a{color:inherit}.elementor-widget-icon-box .elementor-icon-box-content{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-widget-icon-box .elementor-icon-box-description{margin:0}assets/css/widget-counter.min.css000064400000001144152377341010013075 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ .elementor-counter .elementor-counter-number-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;font-size:69px;font-weight:600;line-height:1}.elementor-counter .elementor-counter-number-prefix,.elementor-counter .elementor-counter-number-suffix{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;white-space:pre-wrap}.elementor-counter .elementor-counter-number-prefix{text-align:right}.elementor-counter .elementor-counter-number-suffix{text-align:left}.elementor-counter .elementor-counter-title{text-align:center;font-size:19px;font-weight:400;line-height:2.5}assets/mask-shapes/sketch.svg000064400000002024152377341010012265 0ustar00 assets/mask-shapes/circle.svg000064400000000200152377341010012237 0ustar00 assets/mask-shapes/hexagon.svg000064400000000363152377341010012441 0ustar00 assets/mask-shapes/flower.svg000064400000000547152377341010012312 0ustar00 assets/mask-shapes/triangle.svg000064400000000264152377341010012615 0ustar00 assets/mask-shapes/blob.svg000064400000000665152377341010011733 0ustar00 assets/shapes/curve.svg000064400000000320152377341010011174 0ustar00 assets/shapes/triangle-asymmetrical.svg000064400000000252152377341010014351 0ustar00 assets/shapes/clouds-negative.svg000064400000002344152377341010013151 0ustar00 assets/shapes/waves-pattern.svg000064400000016201152377341010012655 0ustar00 assets/shapes/drops.svg000064400000004447152377341010011215 0ustar00 assets/shapes/zigzag.svg000064400000005413152377341010011353 0ustar00 assets/shapes/book-negative.svg000064400000000473152377341010012613 0ustar00 assets/shapes/split.svg000064400000000362152377341010011211 0ustar00 assets/shapes/wave-brush.svg000064400000006061152377341010012143 0ustar00 assets/shapes/curve-asymmetrical-negative.svg000064400000000327152377341010015473 0ustar00 assets/shapes/mountains.svg000064400000001414152377341010012072 0ustar00 assets/shapes/tilt.svg000064400000000240152377341010011025 0ustar00 assets/shapes/drops-negative.svg000064400000004334152377341010013010 0ustar00 assets/shapes/arrow-negative.svg000064400000000264152377341010013011 0ustar00 assets/shapes/triangle.svg000064400000000260152377341010011660 0ustar00 assets/shapes/waves-negative.svg000064400000000646152377341010013010 0ustar00 assets/shapes/opacity-tilt.svg000064400000000542152377341010012500 0ustar00 assets/shapes/arrow.svg000064400000000242152377341010011205 0ustar00 assets/shapes/waves.svg000064400000000643152377341010011205 0ustar00 assets/shapes/triangle-asymmetrical-negative.svg000064400000000262152377341010016152 0ustar00 assets/shapes/book.svg000064400000000440152377341010011005 0ustar00 assets/shapes/triangle-negative.svg000064400000000262152377341010013462 0ustar00 assets/shapes/pyramids.svg000064400000000276152377341010011712 0ustar00 assets/shapes/clouds.svg000064400000002251152377341010011346 0ustar00 assets/shapes/split-negative.svg000064400000000331152377341010013005 0ustar00 assets/shapes/curve-asymmetrical.svg000064400000000352152377341010013671 0ustar00 assets/shapes/opacity-fan.svg000064400000000750152377341010012271 0ustar00 assets/shapes/curve-negative.svg000064400000000325152377341010013001 0ustar00 assets/shapes/pyramids-negative.svg000064400000000275152377341010013511 0ustar00 assets/data/responsive-widgets.json000064400000000244152377341010013516 0ustar00{"accordion":true,"alert":true,"icon-box":true,"icon-list":true,"image-box":true,"image-gallery":true,"progress":true,"star-rating":true,"tabs":true,"toggle":true} assets/js/preloaded-modules.js000064400000235525152377341010012444 0ustar00/*! elementor - v3.6.7 - 03-07-2022 */ (self["webpackChunkelementor"] = self["webpackChunkelementor"] || []).push([["preloaded-modules"],{ /***/ "../node_modules/@babel/runtime/helpers/defineProperty.js": /*!****************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/defineProperty.js ***! \****************************************************************/ /***/ ((module) => { function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } module.exports = _defineProperty, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../assets/dev/js/frontend/handlers/accordion.js": /*!*******************************************************!*\ !*** ../assets/dev/js/frontend/handlers/accordion.js ***! \*******************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _baseTabs = _interopRequireDefault(__webpack_require__(/*! ./base-tabs */ "../assets/dev/js/frontend/handlers/base-tabs.js")); class Accordion extends _baseTabs.default { getDefaultSettings() { const defaultSettings = super.getDefaultSettings(); return { ...defaultSettings, showTabFn: 'slideDown', hideTabFn: 'slideUp' }; } } exports["default"] = Accordion; /***/ }), /***/ "../assets/dev/js/frontend/handlers/alert.js": /*!***************************************************!*\ !*** ../assets/dev/js/frontend/handlers/alert.js ***! \***************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; class Alert extends elementorModules.frontend.handlers.Base { getDefaultSettings() { return { selectors: { dismissButton: '.elementor-alert-dismiss' } }; } getDefaultElements() { const selectors = this.getSettings('selectors'); return { $dismissButton: this.$element.find(selectors.dismissButton) }; } bindEvents() { this.elements.$dismissButton.on('click', this.onDismissButtonClick.bind(this)); } onDismissButtonClick() { this.$element.fadeOut(); } } exports["default"] = Alert; /***/ }), /***/ "../assets/dev/js/frontend/handlers/base-tabs.js": /*!*******************************************************!*\ !*** ../assets/dev/js/frontend/handlers/base-tabs.js ***! \*******************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; class baseTabs extends elementorModules.frontend.handlers.Base { getDefaultSettings() { return { selectors: { tablist: '[role="tablist"]', tabTitle: '.elementor-tab-title', tabContent: '.elementor-tab-content' }, classes: { active: 'elementor-active' }, showTabFn: 'show', hideTabFn: 'hide', toggleSelf: true, hidePrevious: true, autoExpand: true, keyDirection: { ArrowLeft: elementorFrontendConfig.is_rtl ? 1 : -1, ArrowUp: -1, ArrowRight: elementorFrontendConfig.is_rtl ? -1 : 1, ArrowDown: 1 } }; } getDefaultElements() { const selectors = this.getSettings('selectors'); return { $tabTitles: this.findElement(selectors.tabTitle), $tabContents: this.findElement(selectors.tabContent) }; } activateDefaultTab() { const settings = this.getSettings(); if (!settings.autoExpand || 'editor' === settings.autoExpand && !this.isEdit) { return; } const defaultActiveTab = this.getEditSettings('activeItemIndex') || 1, originalToggleMethods = { showTabFn: settings.showTabFn, hideTabFn: settings.hideTabFn }; // Toggle tabs without animation to avoid jumping this.setSettings({ showTabFn: 'show', hideTabFn: 'hide' }); this.changeActiveTab(defaultActiveTab); // Return back original toggle effects this.setSettings(originalToggleMethods); } handleKeyboardNavigation(event) { const tab = event.currentTarget, $tabList = jQuery(tab.closest(this.getSettings('selectors').tablist)), // eslint-disable-next-line @wordpress/no-unused-vars-before-return $tabs = $tabList.find(this.getSettings('selectors').tabTitle), isVertical = 'vertical' === $tabList.attr('aria-orientation'); switch (event.key) { case 'ArrowLeft': case 'ArrowRight': if (isVertical) { return; } break; case 'ArrowUp': case 'ArrowDown': if (!isVertical) { return; } event.preventDefault(); break; case 'Home': event.preventDefault(); $tabs.first().trigger('focus'); return; case 'End': event.preventDefault(); $tabs.last().trigger('focus'); return; default: return; } const tabIndex = tab.getAttribute('data-tab') - 1, direction = this.getSettings('keyDirection')[event.key], nextTab = $tabs[tabIndex + direction]; if (nextTab) { nextTab.focus(); } else if (-1 === tabIndex + direction) { $tabs.last().trigger('focus'); } else { $tabs.first().trigger('focus'); } } deactivateActiveTab(tabIndex) { const settings = this.getSettings(), activeClass = settings.classes.active, activeFilter = tabIndex ? '[data-tab="' + tabIndex + '"]' : '.' + activeClass, $activeTitle = this.elements.$tabTitles.filter(activeFilter), $activeContent = this.elements.$tabContents.filter(activeFilter); $activeTitle.add($activeContent).removeClass(activeClass); $activeTitle.attr({ tabindex: '-1', 'aria-selected': 'false', 'aria-expanded': 'false' }); $activeContent[settings.hideTabFn](); $activeContent.attr('hidden', 'hidden'); } activateTab(tabIndex) { const settings = this.getSettings(), activeClass = settings.classes.active, $requestedTitle = this.elements.$tabTitles.filter('[data-tab="' + tabIndex + '"]'), $requestedContent = this.elements.$tabContents.filter('[data-tab="' + tabIndex + '"]'), animationDuration = 'show' === settings.showTabFn ? 0 : 400; $requestedTitle.add($requestedContent).addClass(activeClass); $requestedTitle.attr({ tabindex: '0', 'aria-selected': 'true', 'aria-expanded': 'true' }); $requestedContent[settings.showTabFn](animationDuration, () => elementorFrontend.elements.$window.trigger('elementor-pro/motion-fx/recalc')); $requestedContent.removeAttr('hidden'); } isActiveTab(tabIndex) { return this.elements.$tabTitles.filter('[data-tab="' + tabIndex + '"]').hasClass(this.getSettings('classes.active')); } bindEvents() { this.elements.$tabTitles.on({ keydown: event => { // Support for old markup that includes an `` tag in the tab if (jQuery(event.target).is('a') && `Enter` === event.key) { event.preventDefault(); } // We listen to keydowon event for these keys in order to prevent undesired page scrolling if (['End', 'Home', 'ArrowUp', 'ArrowDown'].includes(event.key)) { this.handleKeyboardNavigation(event); } }, keyup: event => { switch (event.key) { case 'ArrowLeft': case 'ArrowRight': this.handleKeyboardNavigation(event); break; case 'Enter': case 'Space': event.preventDefault(); this.changeActiveTab(event.currentTarget.getAttribute('data-tab')); break; } }, click: event => { event.preventDefault(); this.changeActiveTab(event.currentTarget.getAttribute('data-tab')); } }); } onInit() { super.onInit(...arguments); this.activateDefaultTab(); } onEditSettingsChange(propertyName) { if ('activeItemIndex' === propertyName) { this.activateDefaultTab(); } } changeActiveTab(tabIndex) { const isActiveTab = this.isActiveTab(tabIndex), settings = this.getSettings(); if ((settings.toggleSelf || !isActiveTab) && settings.hidePrevious) { this.deactivateActiveTab(); } if (!settings.hidePrevious && isActiveTab) { this.deactivateActiveTab(tabIndex); } if (!isActiveTab) { this.activateTab(tabIndex); } } } exports["default"] = baseTabs; /***/ }), /***/ "../assets/dev/js/frontend/handlers/counter.js": /*!*****************************************************!*\ !*** ../assets/dev/js/frontend/handlers/counter.js ***! \*****************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; class Counter extends elementorModules.frontend.handlers.Base { getDefaultSettings() { return { selectors: { counterNumber: '.elementor-counter-number' } }; } getDefaultElements() { const selectors = this.getSettings('selectors'); return { $counterNumber: this.$element.find(selectors.counterNumber) }; } onInit() { super.onInit(); this.intersectionObserver = elementorModules.utils.Scroll.scrollObserver({ callback: event => { if (event.isInViewport) { this.intersectionObserver.unobserve(this.elements.$counterNumber[0]); const data = this.elements.$counterNumber.data(), decimalDigits = data.toValue.toString().match(/\.(.*)/); if (decimalDigits) { data.rounding = decimalDigits[1].length; } this.elements.$counterNumber.numerator(data); } } }); this.intersectionObserver.observe(this.elements.$counterNumber[0]); } } exports["default"] = Counter; /***/ }), /***/ "../assets/dev/js/frontend/handlers/image-carousel.js": /*!************************************************************!*\ !*** ../assets/dev/js/frontend/handlers/image-carousel.js ***! \************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; class ImageCarousel extends elementorModules.frontend.handlers.SwiperBase { getDefaultSettings() { return { selectors: { carousel: '.elementor-image-carousel-wrapper', slideContent: '.swiper-slide' } }; } getDefaultElements() { const selectors = this.getSettings('selectors'); const elements = { $swiperContainer: this.$element.find(selectors.carousel) }; elements.$slides = elements.$swiperContainer.find(selectors.slideContent); return elements; } getSwiperSettings() { const elementSettings = this.getElementSettings(), slidesToShow = +elementSettings.slides_to_show || 3, isSingleSlide = 1 === slidesToShow, elementorBreakpoints = elementorFrontend.config.responsive.activeBreakpoints, defaultSlidesToShowMap = { mobile: 1, tablet: isSingleSlide ? 1 : 2 }; const swiperOptions = { slidesPerView: slidesToShow, loop: 'yes' === elementSettings.infinite, speed: elementSettings.speed, handleElementorBreakpoints: true }; swiperOptions.breakpoints = {}; let lastBreakpointSlidesToShowValue = slidesToShow; Object.keys(elementorBreakpoints).reverse().forEach(breakpointName => { // Tablet has a specific default `slides_to_show`. const defaultSlidesToShow = defaultSlidesToShowMap[breakpointName] ? defaultSlidesToShowMap[breakpointName] : lastBreakpointSlidesToShowValue; swiperOptions.breakpoints[elementorBreakpoints[breakpointName].value] = { slidesPerView: +elementSettings['slides_to_show_' + breakpointName] || defaultSlidesToShow, slidesPerGroup: +elementSettings['slides_to_scroll_' + breakpointName] || 1 }; lastBreakpointSlidesToShowValue = +elementSettings['slides_to_show_' + breakpointName] || defaultSlidesToShow; }); if ('yes' === elementSettings.autoplay) { swiperOptions.autoplay = { delay: elementSettings.autoplay_speed, disableOnInteraction: 'yes' === elementSettings.pause_on_interaction }; } if (isSingleSlide) { swiperOptions.effect = elementSettings.effect; if ('fade' === elementSettings.effect) { swiperOptions.fadeEffect = { crossFade: true }; } } else { swiperOptions.slidesPerGroup = +elementSettings.slides_to_scroll || 1; } if (elementSettings.image_spacing_custom) { swiperOptions.spaceBetween = elementSettings.image_spacing_custom.size; } const showArrows = 'arrows' === elementSettings.navigation || 'both' === elementSettings.navigation, showDots = 'dots' === elementSettings.navigation || 'both' === elementSettings.navigation; if (showArrows) { swiperOptions.navigation = { prevEl: '.elementor-swiper-button-prev', nextEl: '.elementor-swiper-button-next' }; } if (showDots) { swiperOptions.pagination = { el: '.swiper-pagination', type: 'bullets', clickable: true }; } if ('yes' === elementSettings.lazyload) { swiperOptions.lazy = { loadPrevNext: true, loadPrevNextAmount: 1 }; } return swiperOptions; } async onInit() { super.onInit(...arguments); if (!this.elements.$swiperContainer.length || 2 > this.elements.$slides.length) { return; } const Swiper = elementorFrontend.utils.swiper; this.swiper = await new Swiper(this.elements.$swiperContainer, this.getSwiperSettings()); // Expose the swiper instance in the frontend this.elements.$swiperContainer.data('swiper', this.swiper); const elementSettings = this.getElementSettings(); if ('yes' === elementSettings.pause_on_hover) { this.togglePauseOnHover(true); } } updateSwiperOption(propertyName) { const elementSettings = this.getElementSettings(), newSettingValue = elementSettings[propertyName], params = this.swiper.params; // Handle special cases where the value to update is not the value that the Swiper library accepts. switch (propertyName) { case 'image_spacing_custom': params.spaceBetween = newSettingValue.size || 0; break; case 'autoplay_speed': params.autoplay.delay = newSettingValue; break; case 'speed': params.speed = newSettingValue; break; } this.swiper.update(); } getChangeableProperties() { return { pause_on_hover: 'pauseOnHover', autoplay_speed: 'delay', speed: 'speed', image_spacing_custom: 'spaceBetween' }; } onElementChange(propertyName) { const changeableProperties = this.getChangeableProperties(); if (changeableProperties[propertyName]) { // 'pause_on_hover' is implemented by the handler with event listeners, not the Swiper library. if ('pause_on_hover' === propertyName) { const newSettingValue = this.getElementSettings('pause_on_hover'); this.togglePauseOnHover('yes' === newSettingValue); } else { this.updateSwiperOption(propertyName); } } } onEditSettingsChange(propertyName) { if ('activeItemIndex' === propertyName) { this.swiper.slideToLoop(this.getEditSettings('activeItemIndex') - 1); } } } exports["default"] = ImageCarousel; /***/ }), /***/ "../assets/dev/js/frontend/handlers/progress.js": /*!******************************************************!*\ !*** ../assets/dev/js/frontend/handlers/progress.js ***! \******************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; class Progress extends elementorModules.frontend.handlers.Base { getDefaultSettings() { return { selectors: { progressNumber: '.elementor-progress-bar' } }; } getDefaultElements() { const selectors = this.getSettings('selectors'); return { $progressNumber: this.$element.find(selectors.progressNumber) }; } onInit() { super.onInit(); elementorFrontend.waypoint(this.elements.$progressNumber, () => { const $progressbar = this.elements.$progressNumber; $progressbar.css('width', $progressbar.data('max') + '%'); }); } } exports["default"] = Progress; /***/ }), /***/ "../assets/dev/js/frontend/handlers/tabs.js": /*!**************************************************!*\ !*** ../assets/dev/js/frontend/handlers/tabs.js ***! \**************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _baseTabs = _interopRequireDefault(__webpack_require__(/*! ./base-tabs */ "../assets/dev/js/frontend/handlers/base-tabs.js")); class Tabs extends _baseTabs.default { getDefaultSettings() { const defaultSettings = super.getDefaultSettings(); return { ...defaultSettings, toggleSelf: false }; } } exports["default"] = Tabs; /***/ }), /***/ "../assets/dev/js/frontend/handlers/text-editor.js": /*!*********************************************************!*\ !*** ../assets/dev/js/frontend/handlers/text-editor.js ***! \*********************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; class TextEditor extends elementorModules.frontend.handlers.Base { getDefaultSettings() { return { selectors: { paragraph: 'p:first' }, classes: { dropCap: 'elementor-drop-cap', dropCapLetter: 'elementor-drop-cap-letter' } }; } getDefaultElements() { const selectors = this.getSettings('selectors'), classes = this.getSettings('classes'), $dropCap = jQuery('', { class: classes.dropCap }), $dropCapLetter = jQuery('', { class: classes.dropCapLetter }); $dropCap.append($dropCapLetter); return { $paragraph: this.$element.find(selectors.paragraph), $dropCap, $dropCapLetter }; } wrapDropCap() { const isDropCapEnabled = this.getElementSettings('drop_cap'); if (!isDropCapEnabled) { // If there is an old drop cap inside the paragraph if (this.dropCapLetter) { this.elements.$dropCap.remove(); this.elements.$paragraph.prepend(this.dropCapLetter); this.dropCapLetter = ''; } return; } const $paragraph = this.elements.$paragraph; if (!$paragraph.length) { return; } const paragraphContent = $paragraph.html().replace(/ /g, ' '), firstLetterMatch = paragraphContent.match(/^ *([^ ] ?)/); if (!firstLetterMatch) { return; } const firstLetter = firstLetterMatch[1], trimmedFirstLetter = firstLetter.trim(); // Don't apply drop cap when the content starting with an HTML tag if ('<' === trimmedFirstLetter) { return; } this.dropCapLetter = firstLetter; this.elements.$dropCapLetter.text(trimmedFirstLetter); const restoredParagraphContent = paragraphContent.slice(firstLetter.length).replace(/^ */, match => { return new Array(match.length + 1).join(' '); }); $paragraph.html(restoredParagraphContent).prepend(this.elements.$dropCap); } onInit() { super.onInit(...arguments); this.wrapDropCap(); } onElementChange(propertyName) { if ('drop_cap' === propertyName) { this.wrapDropCap(); } } } exports["default"] = TextEditor; /***/ }), /***/ "../assets/dev/js/frontend/handlers/toggle.js": /*!****************************************************!*\ !*** ../assets/dev/js/frontend/handlers/toggle.js ***! \****************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _baseTabs = _interopRequireDefault(__webpack_require__(/*! ./base-tabs */ "../assets/dev/js/frontend/handlers/base-tabs.js")); class Toggle extends _baseTabs.default { getDefaultSettings() { const defaultSettings = super.getDefaultSettings(); return { ...defaultSettings, showTabFn: 'slideDown', hideTabFn: 'slideUp', hidePrevious: false, autoExpand: 'editor' }; } } exports["default"] = Toggle; /***/ }), /***/ "../assets/dev/js/frontend/handlers/video.js": /*!***************************************************!*\ !*** ../assets/dev/js/frontend/handlers/video.js ***! \***************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; class Video extends elementorModules.frontend.handlers.Base { getDefaultSettings() { return { selectors: { imageOverlay: '.elementor-custom-embed-image-overlay', video: '.elementor-video', videoIframe: '.elementor-video-iframe', playIcon: '.elementor-custom-embed-play' } }; } getDefaultElements() { const selectors = this.getSettings('selectors'); return { $imageOverlay: this.$element.find(selectors.imageOverlay), $video: this.$element.find(selectors.video), $videoIframe: this.$element.find(selectors.videoIframe), $playIcon: this.$element.find(selectors.playIcon) }; } handleVideo() { if (this.getElementSettings('lightbox')) { return; } if ('youtube' === this.getElementSettings('video_type')) { this.apiProvider.onApiReady(apiObject => { this.elements.$imageOverlay.remove(); this.prepareYTVideo(apiObject, true); }); } else { this.elements.$imageOverlay.remove(); this.playVideo(); } } playVideo() { if (this.elements.$video.length) { // this.youtubePlayer exists only for YouTube videos, and its play function is different. if (this.youtubePlayer) { this.youtubePlayer.playVideo(); } else { this.elements.$video[0].play(); } return; } const $videoIframe = this.elements.$videoIframe, lazyLoad = $videoIframe.data('lazy-load'); if (lazyLoad) { $videoIframe.attr('src', lazyLoad); } $videoIframe[0].src = this.apiProvider.getAutoplayURL($videoIframe[0].src); } async animateVideo() { const lightbox = await elementorFrontend.utils.lightbox; lightbox.setEntranceAnimation(this.getCurrentDeviceSetting('lightbox_content_animation')); } async handleAspectRatio() { const lightbox = await elementorFrontend.utils.lightbox; lightbox.setVideoAspectRatio(this.getElementSettings('aspect_ratio')); } async hideLightbox() { const lightbox = await elementorFrontend.utils.lightbox; lightbox.getModal().hide(); } prepareYTVideo(YT, onOverlayClick) { const elementSettings = this.getElementSettings(), playerOptions = { videoId: this.videoID, events: { onReady: () => { if (elementSettings.mute) { this.youtubePlayer.mute(); } if (elementSettings.autoplay || onOverlayClick) { this.youtubePlayer.playVideo(); } }, onStateChange: event => { if (event.data === YT.PlayerState.ENDED && elementSettings.loop) { this.youtubePlayer.seekTo(elementSettings.start || 0); } } }, playerVars: { controls: elementSettings.controls ? 1 : 0, rel: elementSettings.rel ? 1 : 0, playsinline: elementSettings.play_on_mobile ? 1 : 0, modestbranding: elementSettings.modestbranding ? 1 : 0, autoplay: elementSettings.autoplay ? 1 : 0, start: elementSettings.start, end: elementSettings.end } }; // To handle CORS issues, when the default host is changed, the origin parameter has to be set. if (elementSettings.yt_privacy) { playerOptions.host = 'https://www.youtube-nocookie.com'; playerOptions.origin = window.location.hostname; } this.youtubePlayer = new YT.Player(this.elements.$video[0], playerOptions); } bindEvents() { this.elements.$imageOverlay.on('click', this.handleVideo.bind(this)); this.elements.$playIcon.on('keydown', event => { const playKeys = [13, // Enter key. 32 // Space bar key. ]; if (playKeys.includes(event.keyCode)) { this.handleVideo(); } }); } onInit() { super.onInit(); const elementSettings = this.getElementSettings(); if (elementorFrontend.utils[elementSettings.video_type]) { this.apiProvider = elementorFrontend.utils[elementSettings.video_type]; } else { this.apiProvider = elementorFrontend.utils.baseVideoLoader; } if ('youtube' !== elementSettings.video_type) { // Currently the only API integration in the Video widget is for the YT API return; } this.videoID = this.apiProvider.getVideoIDFromURL(elementSettings.youtube_url); // If there is an image overlay, the YouTube video prep method will be triggered on click if (!this.videoID) { return; } // If the user is using an image overlay, loading the API happens on overlay click instead of on init. if (elementSettings.show_image_overlay && elementSettings.image_overlay.url) { return; } if (elementSettings.lazy_load) { this.intersectionObserver = elementorModules.utils.Scroll.scrollObserver({ callback: event => { if (event.isInViewport) { this.intersectionObserver.unobserve(this.elements.$video.parent()[0]); this.apiProvider.onApiReady(apiObject => this.prepareYTVideo(apiObject)); } } }); // We observe the parent, since the video container has a height of 0. this.intersectionObserver.observe(this.elements.$video.parent()[0]); return; } // When Optimized asset loading is set to off, the video type is set to 'Youtube', and 'Privacy Mode' is set // to 'On', there might be a conflict with other videos that are loaded WITHOUT privacy mode, such as a // video bBackground in a section. In these cases, to avoid the conflict, a timeout is added to postpone the // initialization of the Youtube API object. if (!elementorFrontend.config.experimentalFeatures.e_optimized_assets_loading) { setTimeout(() => { this.apiProvider.onApiReady(apiObject => this.prepareYTVideo(apiObject)); }, 0); } else { this.apiProvider.onApiReady(apiObject => this.prepareYTVideo(apiObject)); } } onElementChange(propertyName) { if (0 === propertyName.indexOf('lightbox_content_animation')) { this.animateVideo(); return; } const isLightBoxEnabled = this.getElementSettings('lightbox'); if ('lightbox' === propertyName && !isLightBoxEnabled) { this.hideLightbox(); return; } if ('aspect_ratio' === propertyName && isLightBoxEnabled) { this.handleAspectRatio(); } } } exports["default"] = Video; /***/ }), /***/ "../assets/dev/js/frontend/preloaded-modules.js": /*!******************************************************!*\ !*** ../assets/dev/js/frontend/preloaded-modules.js ***! \******************************************************/ /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); var _accordion = _interopRequireDefault(__webpack_require__(/*! ./handlers/accordion */ "../assets/dev/js/frontend/handlers/accordion.js")); var _alert = _interopRequireDefault(__webpack_require__(/*! ./handlers/alert */ "../assets/dev/js/frontend/handlers/alert.js")); var _counter = _interopRequireDefault(__webpack_require__(/*! ./handlers/counter */ "../assets/dev/js/frontend/handlers/counter.js")); var _progress = _interopRequireDefault(__webpack_require__(/*! ./handlers/progress */ "../assets/dev/js/frontend/handlers/progress.js")); var _tabs = _interopRequireDefault(__webpack_require__(/*! ./handlers/tabs */ "../assets/dev/js/frontend/handlers/tabs.js")); var _toggle = _interopRequireDefault(__webpack_require__(/*! ./handlers/toggle */ "../assets/dev/js/frontend/handlers/toggle.js")); var _video = _interopRequireDefault(__webpack_require__(/*! ./handlers/video */ "../assets/dev/js/frontend/handlers/video.js")); var _imageCarousel = _interopRequireDefault(__webpack_require__(/*! ./handlers/image-carousel */ "../assets/dev/js/frontend/handlers/image-carousel.js")); var _textEditor = _interopRequireDefault(__webpack_require__(/*! ./handlers/text-editor */ "../assets/dev/js/frontend/handlers/text-editor.js")); var _lightbox = _interopRequireDefault(__webpack_require__(/*! elementor-frontend/utils/lightbox/lightbox */ "../assets/dev/js/frontend/utils/lightbox/lightbox.js")); elementorFrontend.elements.$window.on('elementor/frontend/init', () => { elementorFrontend.elementsHandler.elementsHandlers = { 'accordion.default': _accordion.default, 'alert.default': _alert.default, 'counter.default': _counter.default, 'progress.default': _progress.default, 'tabs.default': _tabs.default, 'toggle.default': _toggle.default, 'video.default': _video.default, 'image-carousel.default': _imageCarousel.default, 'text-editor.default': _textEditor.default }; elementorFrontend.on('components:init', () => { // We first need to delete the property because by default it's a getter function that cannot be overwritten. delete elementorFrontend.utils.lightbox; elementorFrontend.utils.lightbox = new _lightbox.default(); }); }); /***/ }), /***/ "../assets/dev/js/frontend/utils/icons/e-icons.js": /*!********************************************************!*\ !*** ../assets/dev/js/frontend/utils/icons/e-icons.js ***! \********************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.zoomOutBold = exports.zoomInBold = exports.twitter = exports.shareArrow = exports.pinterest = exports.loading = exports.frameMinimize = exports.frameExpand = exports.facebook = exports.downloadBold = exports.close = exports.chevronRight = exports.chevronLeft = void 0; var _manager = _interopRequireDefault(__webpack_require__(/*! ./manager */ "../assets/dev/js/frontend/utils/icons/manager.js")); // This file is automatically generated, please don't change anything in this file. const iconsManager = new _manager.default('eicon'); const chevronLeft = { get element() { const svgData = { path: 'M646 125C629 125 613 133 604 142L308 442C296 454 292 471 292 487 292 504 296 521 308 533L604 854C617 867 629 875 646 875 663 875 679 871 692 858 704 846 713 829 713 812 713 796 708 779 692 767L438 487 692 225C700 217 708 204 708 187 708 171 704 154 692 142 675 129 663 125 646 125Z', width: 1000, height: 1000 }; return iconsManager.createSvgElement('chevron-left', svgData); } }; exports.chevronLeft = chevronLeft; const chevronRight = { get element() { const svgData = { path: 'M696 533C708 521 713 504 713 487 713 471 708 454 696 446L400 146C388 133 375 125 354 125 338 125 325 129 313 142 300 154 292 171 292 187 292 204 296 221 308 233L563 492 304 771C292 783 288 800 288 817 288 833 296 850 308 863 321 871 338 875 354 875 371 875 388 867 400 854L696 533Z', width: 1000, height: 1000 }; return iconsManager.createSvgElement('chevron-right', svgData); } }; exports.chevronRight = chevronRight; const close = { get element() { const svgData = { path: 'M742 167L500 408 258 167C246 154 233 150 217 150 196 150 179 158 167 167 154 179 150 196 150 212 150 229 154 242 171 254L408 500 167 742C138 771 138 800 167 829 196 858 225 858 254 829L496 587 738 829C750 842 767 846 783 846 800 846 817 842 829 829 842 817 846 804 846 783 846 767 842 750 829 737L588 500 833 258C863 229 863 200 833 171 804 137 775 137 742 167Z', width: 1000, height: 1000 }; return iconsManager.createSvgElement('close', svgData); } }; exports.close = close; const downloadBold = { get element() { const svgData = { path: 'M572 42H428C405 42 385 61 385 85V385H228C197 385 180 424 203 447L475 719C489 732 511 732 524 719L797 447C819 424 803 385 771 385H614V85C615 61 595 42 572 42ZM958 915V715C958 691 939 672 915 672H653L565 760C529 796 471 796 435 760L347 672H85C61 672 42 691 42 715V915C42 939 61 958 85 958H915C939 958 958 939 958 915ZM736 873C736 853 720 837 700 837 681 837 665 853 665 873 665 892 681 908 700 908 720 908 736 892 736 873ZM815 837C835 837 851 853 851 873 851 892 835 908 815 908 795 908 779 892 779 873 779 853 795 837 815 837Z', width: 1000, height: 1000 }; return iconsManager.createSvgElement('download-bold', svgData); } }; exports.downloadBold = downloadBold; const facebook = { get element() { const svgData = { path: 'M858 42H142C88 42 42 87 42 142V863C42 913 88 958 142 958H421V646H292V500H421V387C421 258 496 192 613 192 667 192 725 200 725 200V325H663C600 325 579 362 579 404V500H721L700 646H583V958H863C917 958 963 913 963 858V142C958 87 913 42 858 42L858 42Z', width: 1000, height: 1000 }; return iconsManager.createSvgElement('facebook', svgData); } }; exports.facebook = facebook; const frameExpand = { get element() { const svgData = { path: 'M863 583C890 583 914 605 916 632L917 637V863L916 868C914 893 893 914 868 916L863 917H638L632 916C607 914 586 893 584 868L583 863 584 857C586 832 607 811 632 809L638 808H808V637L809 632C811 605 835 583 863 583ZM138 583C165 583 189 605 191 632L192 637V808H363C390 808 414 830 416 857L417 863C417 890 395 914 368 916L363 917H138C110 917 86 895 84 868L83 863V637C83 607 108 583 138 583ZM863 83C890 83 914 105 916 132L917 137V362C917 392 893 417 863 417 835 417 811 395 809 368L808 362V192H638C610 192 586 170 584 143L583 137C583 110 605 86 632 84L638 83H863ZM363 83L368 84C393 86 414 107 416 132L417 137 416 143C414 168 393 189 368 191L363 192H192V362L191 368C189 395 165 417 138 417S86 395 84 368L83 362V137L84 132C86 107 107 86 132 84L138 83H363Z', width: 1000, height: 1000 }; return iconsManager.createSvgElement('frame-expand', svgData); } }; exports.frameExpand = frameExpand; const frameMinimize = { get element() { const svgData = { path: 'M363 583C392 583 413 604 417 633L417 637V863C417 892 392 917 363 917 333 917 313 896 308 867L308 863V692H138C108 692 88 671 83 642L83 637C83 608 104 587 133 583L138 583H363ZM638 583C608 583 588 604 583 633L583 637V863C583 892 608 917 638 917 667 917 688 896 692 867L692 863V692H863C892 692 913 671 917 642L917 637C917 608 896 587 867 583L863 583H638ZM363 417C392 417 413 396 417 367L417 362V137C417 108 392 83 363 83 333 83 313 104 308 133L308 137V308H138C108 308 88 329 83 358L83 362C83 392 104 412 133 417L138 417H363ZM638 417C608 417 588 396 583 367L583 362V137C583 108 608 83 638 83 667 83 688 104 692 133L692 137V308H863C892 308 913 329 917 358L917 362C917 392 896 412 867 417L863 417H638Z', width: 1000, height: 1000 }; return iconsManager.createSvgElement('frame-minimize', svgData); } }; exports.frameMinimize = frameMinimize; const loading = { get element() { const svgData = { path: 'M500 975V858C696 858 858 696 858 500S696 142 500 142 142 304 142 500H25C25 237 238 25 500 25S975 237 975 500 763 975 500 975Z', width: 1000, height: 1000 }; return iconsManager.createSvgElement('loading', svgData); } }; exports.loading = loading; const pinterest = { get element() { const svgData = { path: 'M950 496C950 746 746 950 496 950 450 950 404 942 363 929 379 900 408 850 421 808 425 787 450 700 450 700 467 729 508 754 554 754 692 754 792 629 792 471 792 321 671 208 513 208 317 208 213 342 213 483 213 550 250 633 304 658 313 662 317 662 321 654 321 650 329 617 333 604 333 600 333 596 329 592 313 567 296 525 296 487 288 387 367 292 496 292 608 292 688 367 688 475 688 600 625 683 546 683 500 683 467 646 479 600 492 546 517 487 517 450 517 417 500 387 458 387 413 387 375 433 375 496 375 537 388 562 388 562S342 754 333 787C325 825 329 883 333 917 163 854 42 687 42 496 42 246 246 42 496 42S950 246 950 496Z', width: 1000, height: 1000 }; return iconsManager.createSvgElement('pinterest', svgData); } }; exports.pinterest = pinterest; const shareArrow = { get element() { const svgData = { path: 'M946 383L667 133C642 112 604 129 604 162V292C238 296 71 637 42 812 238 587 363 521 604 517V658C604 692 642 708 667 687L946 442C963 425 963 400 946 383Z', width: 1000, height: 1000 }; return iconsManager.createSvgElement('share-arrow', svgData); } }; exports.shareArrow = shareArrow; const twitter = { get element() { const svgData = { path: 'M863 312C863 321 863 329 863 337 863 587 675 871 329 871 221 871 125 842 42 787 58 787 71 792 88 792 175 792 254 762 321 712 238 712 171 658 146 583 158 583 171 587 183 587 200 587 217 583 233 579 146 562 83 487 83 396V387C108 400 138 408 167 412 117 379 83 321 83 254 83 221 92 187 108 158 200 271 342 346 496 354 492 342 492 325 492 312 492 208 575 125 679 125 733 125 783 146 817 183 858 175 900 158 938 137 925 179 896 217 854 242 892 237 929 229 963 212 933 250 900 283 863 312Z', width: 1000, height: 1000 }; return iconsManager.createSvgElement('twitter', svgData); } }; exports.twitter = twitter; const zoomInBold = { get element() { const svgData = { path: 'M388 383V312C388 283 413 258 442 258 471 258 496 283 496 312V383H567C596 383 621 408 621 437S596 492 567 492H496V562C496 592 471 617 442 617 413 617 388 592 388 562V492H317C288 492 263 467 263 437S288 383 317 383H388ZM654 733C592 779 517 804 438 804 233 804 71 642 71 437S233 71 438 71 804 233 804 437C804 521 779 596 733 654L896 817C917 837 917 871 896 892 875 913 842 913 821 892L654 733ZM438 696C579 696 696 579 696 437S579 179 438 179 179 296 179 437 296 696 438 696Z', width: 1000, height: 1000 }; return iconsManager.createSvgElement('zoom-in-bold', svgData); } }; exports.zoomInBold = zoomInBold; const zoomOutBold = { get element() { const svgData = { path: 'M750 683L946 879C963 896 963 929 946 946 929 963 896 967 879 946L683 750C617 804 533 833 438 833 221 833 42 654 42 437S221 42 438 42 833 221 833 437C833 529 800 612 750 683ZM296 392H575C600 392 621 412 621 442 621 467 600 487 575 487H296C271 487 250 467 250 442 250 412 271 392 296 392ZM438 737C604 737 738 604 738 437S604 137 438 137 138 271 138 437 271 737 438 737Z', width: 1000, height: 1000 }; return iconsManager.createSvgElement('zoom-out-bold', svgData); } }; exports.zoomOutBold = zoomOutBold; /***/ }), /***/ "../assets/dev/js/frontend/utils/icons/manager.js": /*!********************************************************!*\ !*** ../assets/dev/js/frontend/utils/icons/manager.js ***! \********************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js")); class IconsManager { constructor(elementsPrefix) { this.prefix = `${elementsPrefix}-`; this.createSvgSymbolsContainer(); } createSvgElement(name, _ref) { let { path, width, height } = _ref; const iconName = this.prefix + name, iconSelector = '#' + this.prefix + name; // Create symbol if not exist yet. if (!IconsManager.iconsUsageList.includes(iconName)) { if (!IconsManager.symbolsContainer.querySelector(iconSelector)) { const symbol = this.createSymbolElement({ id: iconName, path, width, height }); IconsManager.symbolsContainer.appendChild(symbol); } IconsManager.iconsUsageList.push(iconName); } return this.createSvgIconElement({ iconName, iconSelector }); } createSvgNode(tag, _ref2) { let { props = {}, attrs = {} } = _ref2; const node = document.createElementNS('http://www.w3.org/2000/svg', tag); Object.keys(props).map(key => node[key] = props[key]); Object.keys(attrs).map(key => node.setAttributeNS(null, key, attrs[key])); return node; } createSvgIconElement(_ref3) { let { iconName, iconSelector } = _ref3; return this.createSvgNode('svg', { props: { innerHTML: '' }, attrs: { class: 'e-font-icon-svg e-' + iconName } }); } createSvgSymbolsContainer() { if (!IconsManager.symbolsContainer) { const symbolsContainerId = 'e-font-icon-svg-symbols'; IconsManager.symbolsContainer = document.getElementById(symbolsContainerId); if (!IconsManager.symbolsContainer) { IconsManager.symbolsContainer = this.createSvgNode('svg', { attrs: { style: 'display: none;', class: symbolsContainerId } }); document.body.appendChild(IconsManager.symbolsContainer); } } } createSymbolElement(_ref4) { let { id, path, width, height } = _ref4; return this.createSvgNode('symbol', { props: { innerHTML: '', id }, attrs: { viewBox: '0 0 ' + width + ' ' + height } }); } } exports["default"] = IconsManager; (0, _defineProperty2.default)(IconsManager, "symbolsContainer", void 0); (0, _defineProperty2.default)(IconsManager, "iconsUsageList", []); /***/ }), /***/ "../assets/dev/js/frontend/utils/lightbox/lightbox.js": /*!************************************************************!*\ !*** ../assets/dev/js/frontend/utils/lightbox/lightbox.js ***! \************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); var _screenfull = _interopRequireDefault(__webpack_require__(/*! ./screenfull */ "../assets/dev/js/frontend/utils/lightbox/screenfull.js")); var _eIcons = __webpack_require__(/*! @elementor/e-icons */ "../assets/dev/js/frontend/utils/icons/e-icons.js"); module.exports = elementorModules.ViewModule.extend({ oldAspectRatio: null, oldAnimation: null, swiper: null, player: null, isFontIconSvgExperiment: elementorFrontend.config.experimentalFeatures.e_font_icon_svg, getDefaultSettings() { return { classes: { aspectRatio: 'elementor-aspect-ratio-%s', item: 'elementor-lightbox-item', image: 'elementor-lightbox-image', videoContainer: 'elementor-video-container', videoWrapper: 'elementor-fit-aspect-ratio', playButton: 'elementor-custom-embed-play', playButtonIcon: 'fa', playing: 'elementor-playing', hidden: 'elementor-hidden', invisible: 'elementor-invisible', preventClose: 'elementor-lightbox-prevent-close', slideshow: { container: 'swiper-container', slidesWrapper: 'swiper-wrapper', prevButton: 'elementor-swiper-button elementor-swiper-button-prev', nextButton: 'elementor-swiper-button elementor-swiper-button-next', prevButtonIcon: 'eicon-chevron-left', nextButtonIcon: 'eicon-chevron-right', slide: 'swiper-slide', header: 'elementor-slideshow__header', footer: 'elementor-slideshow__footer', title: 'elementor-slideshow__title', description: 'elementor-slideshow__description', counter: 'elementor-slideshow__counter', iconExpand: 'eicon-frame-expand', iconShrink: 'eicon-frame-minimize', iconZoomIn: 'eicon-zoom-in-bold', iconZoomOut: 'eicon-zoom-out-bold', iconShare: 'eicon-share-arrow', shareMenu: 'elementor-slideshow__share-menu', shareLinks: 'elementor-slideshow__share-links', hideUiVisibility: 'elementor-slideshow--ui-hidden', shareMode: 'elementor-slideshow--share-mode', fullscreenMode: 'elementor-slideshow--fullscreen-mode', zoomMode: 'elementor-slideshow--zoom-mode' } }, selectors: { image: '.elementor-lightbox-image', links: 'a, [data-elementor-lightbox]', slideshow: { activeSlide: '.swiper-slide-active', prevSlide: '.swiper-slide-prev', nextSlide: '.swiper-slide-next' } }, modalOptions: { id: 'elementor-lightbox', entranceAnimation: 'zoomIn', videoAspectRatio: 169, position: { enable: false } } }; }, getModal() { if (!module.exports.modal) { this.initModal(); } return module.exports.modal; }, initModal() { const closeIcon = {}; // If the experiment is active the closeIcon should be an entire SVG element otherwise it should pass the eicon class name. if (this.isFontIconSvgExperiment) { closeIcon.iconElement = _eIcons.close.element; } else { closeIcon.iconClass = 'eicon-close'; } const modal = module.exports.modal = elementorFrontend.getDialogsManager().createWidget('lightbox', { className: 'elementor-lightbox', closeButton: true, closeButtonOptions: { ...closeIcon, attributes: { tabindex: 0, role: 'button', 'aria-label': elementorFrontend.config.i18n.close + ' (Esc)' } }, selectors: { preventClose: '.' + this.getSettings('classes.preventClose') }, hide: { onClick: true } }); modal.on('hide', function () { modal.setMessage(''); }); }, showModal(options) { if (options.url && !options.url.startsWith('http')) { return; } this.elements.$closeButton = this.getModal().getElements('closeButton'); this.$buttons = this.elements.$closeButton; this.focusedButton = null; const self = this, defaultOptions = self.getDefaultSettings().modalOptions; self.id = options.id; self.setSettings('modalOptions', jQuery.extend(defaultOptions, options.modalOptions)); const modal = self.getModal(); modal.setID(self.getSettings('modalOptions.id')); modal.onShow = function () { DialogsManager.getWidgetType('lightbox').prototype.onShow.apply(modal, arguments); self.setEntranceAnimation(); }; modal.onHide = function () { DialogsManager.getWidgetType('lightbox').prototype.onHide.apply(modal, arguments); modal.getElements('message').removeClass('animated'); if (_screenfull.default.isFullscreen) { self.deactivateFullscreen(); } self.unbindHotKeys(); }; switch (options.type) { case 'video': self.setVideoContent(options); break; case 'image': const slides = [{ image: options.url, index: 0, title: options.title, description: options.description, hash: options.hash }]; options.slideshow = { slides, swiper: { loop: false, pagination: false } }; self.setSlideshowContent(options.slideshow); break; case 'slideshow': self.setSlideshowContent(options.slideshow); break; default: self.setHTMLContent(options.html); } modal.show(); }, createLightbox(element) { let lightboxData = {}; if (element.dataset.elementorLightbox) { lightboxData = JSON.parse(element.dataset.elementorLightbox); } if (lightboxData.type && 'slideshow' !== lightboxData.type) { this.showModal(lightboxData); return; } if (!element.dataset.elementorLightboxSlideshow) { const slideshowID = 'single-img'; this.showModal({ type: 'image', id: slideshowID, url: element.href, hash: element.getAttribute('e-action-hash'), title: element.dataset.elementorLightboxTitle, description: element.dataset.elementorLightboxDescription, modalOptions: { id: 'elementor-lightbox-slideshow-' + slideshowID } }); return; } const initialSlideURL = element.dataset.elementorLightboxVideo || element.href; this.openSlideshow(element.dataset.elementorLightboxSlideshow, initialSlideURL); }, setHTMLContent(html) { if (window.elementorCommon) { elementorCommon.helpers.hardDeprecated('elementorFrontend.utils.lightbox.setHTMLContent', '3.1.4'); } this.getModal().setMessage(html); }, setVideoContent(options) { const $ = jQuery; let $videoElement; if ('hosted' === options.videoType) { const videoParams = $.extend({ src: options.url, autoplay: '' }, options.videoParams); $videoElement = $('