includes/preview.php 0000644 00000017153 15237734101 0010556 0 ustar 00 is_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( '
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.php 0000644 00000057020 15237734101 0014600 0 ustar 00 .
*/
/** 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.php 0000644 00000000463 15237734101 0020513 0 ustar 00 [
'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 ) { #>
<# if ( iconHTML && iconHTML.rendered && ( ! settings.icon || migrated ) ) { #>
{{{ iconHTML.value }}}
{{{ iconActiveHTML.value }}}
<# } else { #>
<# } #>
<# } #>
{{{ item.tab_title }}}
{{{ titleHTMLTag }}}>
{{{ 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 );
#>
{{{ social }}}
<#
iconsHTML[ index ] = elementor.helpers.renderIcon( view, item.social_icon, {}, 'i', 'object' );
if ( ( ! item.social || migrated ) && iconsHTML[ index ] && iconsHTML[ index ].rendered ) { #>
{{{ iconsHTML[ index ].value }}}
<# } else { #>
<# }
#>
<# } ); #>
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_title }}}
{{{ 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' );
#>
{{{ settings.alert_title }}}
{{{ settings.alert_description }}}
<# if ( 'show' === settings.show_dismiss ) { #>
×
<# } #>
<# } #>
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 ) { #>
<# _.each( settings.icon_list, function( item, index ) {
var iconTextKey = view.getRepeaterSettingKey( 'text', 'icon_list', index );
view.addRenderAttribute( iconTextKey, 'class', 'elementor-icon-list-text' );
view.addInlineEditingAttributes( iconTextKey ); #>
<# if ( item.link && item.link.url ) { #>
<# } #>
<# if ( item.icon || item.selected_icon.value ) { #>
<#
iconsHTML[ index ] = elementor.helpers.renderIcon( view, item.selected_icon, { 'aria-hidden': true }, 'i', 'object' );
migrated[ index ] = elementor.helpers.isIconMigrated( item, 'selected_icon' );
if ( iconsHTML[ index ] && iconsHTML[ index ].rendered && ( ! item.icon || migrated[ index ] ) ) { #>
{{{ iconsHTML[ index ].value }}}
<# } else { #>
<# }
#>
<# } #>
{{{ item.text }}}
<# if ( item.link && item.link.url ) { #>
<# } #>
<#
} ); #>
<# } #>
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 '';
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.php 0000644 00000026625 15237734101 0011477 0 ustar 00 start_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 { #>
<# } #>
{{{ iconTag }}}>
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.php 0000644 00000005642 15237734101 0012154 0 ustar 00 $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.php 0000644 00000053561 15237734101 0013443 0 ustar 00 start_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 = ' ';
} else {
$image_html = ' ';
}
$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 = '' . $link_tag . '
' . $image_html;
if ( $lazyload ) {
$slide_html .= '
';
}
if ( ! empty( $image_caption ) ) {
$slide_html .= '' . wp_kses_post( $image_caption ) . ' ';
}
$slide_html .= ' ';
if ( $link ) {
$slide_html .= '';
}
$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.php 0000644 00000006547 15237734101 0012764 0 ustar 00 start_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' ) ) { ?>
<# 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.php 0000644 00000027561 15237734101 0013002 0 ustar 00 start_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%1$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 + '' + headerSizeTag + '>';
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.php 0000644 00000046141 15237734101 0012260 0 ustar 00 start_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 { #>
<# } #>
{{{ iconTag }}}>
<# } #>
<# var titleSizeTag = elementor.helpers.validateHTMLTag( settings.title_size ); #>
<{{{ titleSizeTag }}} class="elementor-icon-box-title">
<{{{ iconTag + ' ' + link }}} {{{ view.getRenderAttributeString( 'title_text' ) }}}>{{{ settings.title_text }}}{{{ iconTag }}}>
{{{ titleSizeTag }}}>
<# 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'] );
}
?>
get_render_attribute_string( 'shortcode' ) . ']' );
remove_filter( 'wp_get_attachment_link', [ $this, 'add_lightbox_data_to_image_link' ] );
?>
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' );
?>
'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 ) { #>
<# if ( iconHTML && iconHTML.rendered && ( ! settings.icon || migrated ) ) { #>
{{{ iconHTML.value }}}
{{{ iconActiveHTML.value }}}
<# } else { #>
<# } #>
<# } #>
{{{ item.tab_title }}}
{{{ titleHTMLTag }}}>
{{{ 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' ); ?>>
<#
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 = ' ';
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 ( '' !== 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.php 0000644 00000076315 15237734101 0012207 0 ustar 00 is_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.php 0000644 00000202667 15237734101 0012763 0 ustar 00 get_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.php 0000644 00000014364 15237734101 0011664 0 ustar 00 _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.php 0000644 00000012435 15237734101 0013542 0 ustar 00 parent = $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.php 0000644 00000053425 15237734101 0012352 0 ustar 00 depended_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.php 0000644 00000014737 15237734101 0007653 0 ustar 00 $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.php 0000644 00000007212 15237734101 0010661 0 ustar 00 $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' => ' ' . 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.php 0000644 00000143210 15237734101 0010220 0 ustar 00 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.php 0000644 00000035302 15237734101 0007456 0 ustar 00 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 )` 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.php 0000644 00000004537 15237734101 0014402 0 ustar 00 common->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.php 0000644 00000007716 15237734101 0014567 0 ustar 00 documents->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.php 0000644 00000036542 15237734101 0010533 0 ustar 00 custom_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.php 0000644 00000017606 15237734101 0010154 0 ustar 00 '/^.*(?: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( '
', $oembed_data['thumbnail_url'], esc_attr( $oembed_data['title'] ), '100%' ) . '
';
}
}
includes/plugin.php 0000644 00000040744 15237734101 0010375 0 ustar 00 add_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.php 0000644 00000020752 15237734101 0011233 0 ustar 00 '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.php 0000644 00000061172 15237734101 0012535 0 ustar 00 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.php 0000644 00000031506 15237734101 0012336 0 ustar 00 _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.php 0000644 00000020251 15237734101 0012477 0 ustar 00 require_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.php 0000644 00000005326 15237734101 0014365 0 ustar 00 = 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.php 0000644 00000007415 15237734101 0011754 0 ustar 00 get_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.php 0000644 00000004506 15237734101 0012017 0 ustar 00 get_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.php 0000644 00000044345 15237734101 0012010 0 ustar 00 $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 = '';
foreach ( self::$font_icon_svg_symbols as $symbol_id => $symbol ) {
$svg .= '';
$svg .= ' ';
$svg .= ' ';
}
$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 . '' . $tag . '>';
}
/**
* 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.php 0000644 00000005113 15237734101 0011025 0 ustar 00 editor->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.php 0000644 00000006210 15237734101 0013177 0 ustar 00 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 ) {#>
{{{ data.label }}}
<# } #>
<# var multiple = ( data.multiple ) ? 'multiple' : ''; #>
<# _.each( data.options, function( option_title, option_value ) {
var value = data.controlValue;
if ( typeof value == 'string' ) {
var selected = ( option_value === value ) ? 'selected' : '';
} else if ( null !== value ) {
var value = _.values( value );
var selected = ( -1 !== value.indexOf( option_value ) ) ? 'selected' : '';
}
#>
{{{ option_title }}}
<# } ); #>
<# 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() {
?>
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.php 0000644 00000004116 15237734101 0012563 0 ustar 00
<# if ( data.description ) { #>
{{{ data.description }}}
<# } #>
esc_html__( 'No', 'elementor' ),
'label_on' => esc_html__( 'Yes', 'elementor' ),
'return_value' => 'yes',
];
}
}
includes/controls/select.php 0000644 00000005046 15237734101 0012215 0 ustar 00 [],
];
}
/**
* 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 ) {#>
{{{ data.label }}}
<# } #>
<#
var printOptions = function( options ) {
_.each( options, function( option_title, option_value ) { #>
{{{ option_title?.title || option_title }}}
<# } );
};
if ( data.groups ) {
for ( var groupIndex in data.groups ) {
var groupArgs = data.groups[ groupIndex ];
if ( groupArgs.options ) { #>
<# printOptions( groupArgs.options ) #>
<# } else if ( _.isString( groupArgs ) ) { #>
{{{ groupArgs }}}
<# }
}
} else {
printOptions( data.options );
}
#>
<# 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.php 0000644 00000005051 15237734101 0013703 0 ustar 00 '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.php 0000644 00000010534 15237734101 0012543 0 ustar 00 [],
'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() {
?>
{{{ data.label }}}
<# 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.php 0000644 00000012623 15237734101 0014146 0 ustar 00 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.php 0000644 00000005006 15237734101 0013526 0 ustar 00 _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.php 0000644 00000033655 15237734101 0013176 0 ustar 00 options ) {
$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.php 0000644 00000004725 15237734101 0014551 0 ustar 00 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.php 0000644 00000057534 15237734101 0014405 0 ustar 00 [
'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.php 0000644 00000014242 15237734101 0015171 0 ustar 00 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.php 0000644 00000004471 15237734101 0014331 0 ustar 00 _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.php 0000644 00000006720 15237734101 0014330 0 ustar 00 _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.php 0000644 00000020454 15237734101 0014463 0 ustar 00 kits_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.php 0000644 00000025764 15237734101 0014320 0 ustar 00 frontend->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( ' ', 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.php 0000644 00000003266 15237734101 0012253 0 ustar 00 '',
'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() {
?>
{{{ data.label }}}
{{{ data.text }}}
<# 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() {
?>
{{{ data.label }}}
print_units_template(); ?>
<# 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() {
?>
'none',
];
}
}
includes/controls/number.php 0000644 00000004133 15237734101 0012222 0 ustar 00 '',
'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 }}}
<# } #>
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() {
?>
{{{ data.label }}}
$animations_group ) : ?>
$animation_title ) : ?>
<# if ( data.description ) { #>
{{{ data.description }}}
<# } #>
[ 'e-animations' ],
];
}
}
includes/controls/choose.php 0000644 00000004333 15237734101 0012214 0 ustar 00
<# if ( data.description ) { #>
{{{ data.description }}}
<# } #>
[],
'toggle' => true,
];
}
}
includes/controls/base.php 0000644 00000005453 15237734101 0011652 0 ustar 00 '',
'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 }}}
<# } #>
'image/jpeg',
];
return ( wp_image_editor_supports( $arg ) );
}
}
includes/controls/divider.php 0000644 00000002271 15237734101 0012361 0 ustar 00 '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.php 0000644 00000002437 15237734101 0011670 0 ustar 00 start_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.php 0000644 00000002562 15237734101 0011504 0 ustar 00 start_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.php 0000644 00000003255 15237734101 0012460 0 ustar 00
<# if ( data.description ) { #>
{{{ data.description }}}
<# } #>
true,
'dynamic' => [
'active' => true,
'categories' => [ TagsModule::TEXT_CATEGORY ],
],
];
}
}
includes/controls/url.php 0000644 00000011634 15237734101 0011540 0 ustar 00 '',
'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.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() {
?>
{{{ data.label }}}
<# _.each( data.options, function( option_title, option_value ) { #>
{{{ option_title }}}
<# } ); #>
<# 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.php 0000644 00000001164 15237734101 0013537 0 ustar 00 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 }}}
<# } #>
<# if ( data.description ) { #>
{{{ data.description }}}
<# } #>
'none',
'label_block' => true,
'show_label' => false,
];
}
}
includes/controls/box-shadow.php 0000644 00000006622 15237734101 0013012 0 ustar 00 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 '';
}
}
#>
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.php 0000644 00000001004 15237734101 0012251 0 ustar 00 get_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.php 0000644 00000004054 15237734101 0011720 0 ustar 00
<# if ( data.label ) {#>
{{{ data.label }}}
<# } #>
<# if ( data.description ) { #>
{{{ data.description }}}
<# } #>
'text',
'placeholder' => '',
'title' => '',
'dynamic' => [
'categories' => [
TagsModule::TEXT_CATEGORY,
],
],
];
}
}
includes/controls/dimensions.php 0000644 00000011344 15237734101 0013104 0 ustar 00 '',
'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' ),
];
?>
{{{ data.label }}}
print_units_template(); ?>
<# 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() {
?>
{{{ data.label }}}
$animation_title ) : ?>
<# 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.php 0000644 00000004430 15237734101 0014311 0 ustar 00
<# 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.php 0000644 00000004354 15237734101 0013011 0 ustar 00 '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 ) { #>
{{{ 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.php 0000644 00000004335 15237734101 0011704 0 ustar 00 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() {
?>
{{{ data.label }}}
<# _.each( data.groups, function( group_label, group_name ) {
var groupFonts = getFontsByGroups( group_name );
if ( ! _.isEmpty( groupFonts ) ) { #>
<# _.each( groupFonts, function( fontType, fontName ) { #>
{{{ fontName }}}
<# } ); #>
<# }
}); #>
<# 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(); ?>
<# } #>
<#
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.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.php 0000644 00000001664 15237734101 0012173 0 ustar 00
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.php 0000644 00000004142 15237734101 0011351 0 ustar 00 '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.php 0000644 00000020720 15237734101 0014741 0 ustar 00 register_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.php 0000644 00000013556 15237734101 0015333 0 ustar 00 prepare_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.php 0000644 00000133105 15237734101 0015123 0 ustar 00 base && 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 '' . esc_html_x( 'Filter by category', 'Template Library', 'elementor' ) . ' ';
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.php 0000644 00000013075 15237734101 0017666 0 ustar 00 _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.php 0000644 00000003215 15237734101 0017256 0 ustar 00 documents->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.php 0000644 00000001266 15237734101 0015444 0 ustar 00 register_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.php 0000644 00000040502 15237734101 0013756 0 ustar 00 data_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.php 0000644 00000033561 15237734101 0012076 0 ustar 00 add_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 = '';
foreach ( $this->get_rollback_versions() as $version ) {
$rollback_html .= "$version ";
}
$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( '%s ', 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( '%s ', 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( '%s ', 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( '%s ', 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.php 0000644 00000016107 15237734101 0012576 0 ustar 00 '',
'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 ) :
?>
/>
— —
$label ) : ?>
>
[],
];
$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.php 0000644 00000024421 15237734101 0013503 0 ustar 00 ensure_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 = ' nav-tab-active';
}
$sanitized_tab_id = esc_attr( $tab_id );
$sanitized_tab_label = esc_html( $tab['label'] );
// PHPCS - Escaped the relevant strings above.
echo "
{$sanitized_tab_label} "; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
}
?>
[
'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.php 0000644 00000053031 15237734101 0012570 0 ustar 00 $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' => '' . esc_html__( 'Use external CSS files for all generated stylesheets. Choose this setting for better performance (recommended).', 'elementor' ) . '
' . esc_html__( 'Use internal CSS that is embedded in the head of the page. For troubleshooting server configuration conflicts and managing development environments.', 'elementor' ) . '
',
],
],
'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.php 0000644 00000007151 15237734101 0015313 0 ustar 00 breakpoints->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.php 0000644 00000012417 15237734101 0014043 0 ustar 00
includes/editor-templates/repeater.php 0000644 00000002234 15237734101 0014160 0 ustar 00
includes/editor-templates/templates.php 0000644 00000042223 15237734101 0014351 0 ustar 00
includes/editor-templates/global.php 0000644 00000005335 15237734101 0013616 0 ustar 00
includes/editor-templates/library-layout.php 0000644 00000002346 15237734101 0015334 0 ustar 00
includes/editor-templates/panel.php 0000644 00000034205 15237734101 0013453 0 ustar 00 documents->get( Plugin::$instance->editor->get_post_id() );
?>
includes/editor-templates/editor-wrapper.php 0000644 00000005155 15237734101 0015322 0 ustar 00 role_manager->user_can( 'design' ) ) {
$body_classes[] = 'elementor-editor-content-only';
}
$notice = Plugin::$instance->editor->notice_bar->get_notice();
?>
>
includes/editor-templates/navigator.php 0000644 00000004265 15237734101 0014351 0 ustar 00
includes/editor-templates/panel-elements.php 0000644 00000007002 15237734101 0015260 0 ustar 00
includes/maintenance-mode.php 0000644 00000026210 15237734101 0012273 0 ustar 00 preview->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' => '' .
esc_html__( 'Choose between Coming Soon mode (returning HTTP 200 code) or Maintenance Mode (returning HTTP 503 code).', 'elementor' ) .
'
' .
'' .
esc_html__( 'Maintenance Mode returns HTTP 503 code, so search engines know to come back a short time later. It is not recommended to use this mode for more than a couple of days.', 'elementor' ) .
'
' .
'' .
esc_html__( 'Coming Soon returns HTTP 200 code, meaning the site is ready to be indexed.', 'elementor' ) .
'
',
],
],
'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.php 0000644 00000007533 15237734101 0016345 0 ustar 00 '' . 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.php 0000644 00000002040 15237734101 0011533 0 ustar 00 get_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.php 0000644 00000006323 15237734101 0012053 0 ustar 00 is_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.php 0000644 00000003007 15237734101 0011716 0 ustar 00 modules_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.php 0000644 00000023766 15237734101 0014100 0 ustar 00 documents->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.php 0000644 00000007035 15237734101 0016522 0 ustar 00
modules/history/views/history-panel-template.php 0000644 00000003535 15237734101 0016203 0 ustar 00
modules/library/module.php 0000644 00000002611 15237734101 0011661 0 ustar 00 documents
->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.php 0000644 00000002021 15237734101 0013341 0 ustar 00 get_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.php 0000644 00000003521 15237734101 0013312 0 ustar 00 get_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.php 0000644 00000003321 15237734101 0015654 0 ustar 00 true,
];
return $config;
}
}
modules/library/documents/section.php 0000644 00000001655 15237734101 0014050 0 ustar 00 user_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.php 0000644 00000003251 15237734101 0013640 0 ustar 00 merge( $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.php 0000644 00000004255 15237734101 0022564 0 ustar 00
-
get_plugin_label() ),
$new_version->__toString() // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
);
?>
get_plugin_label() ) );
?>
$plugin_data ) : ?>
get_plugin_header() ] = esc_html__( 'Unknown', 'elementor' );
}
?>
get_plugin_header() ] ); ?>
modules/compatibility-tag/compatibility-tag-report.php 0000644 00000010334 15237734101 0017306 0 ustar 00 compatibility_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.php 0000644 00000003707 15237734101 0016003 0 ustar 00 header = $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.php 0000644 00000007505 15237734101 0014556 0 ustar 00 compatibility_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.php 0000644 00000002451 15237734101 0011412 0 ustar 00 register_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.php 0000644 00000010174 15237734101 0011544 0 ustar 00 $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.php 0000644 00000013565 15237734101 0011601 0 ustar 00 $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.php 0000644 00000001154 15237734101 0012150 0 ustar 00 format( '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.php 0000644 00000005154 15237734101 0011412 0 ustar 00 $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.php 0000644 00000002521 15237734101 0011500 0 ustar 00 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.php 0000644 00000034366 15237734101 0013613 0 ustar 00 start_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.php 0000644 00000001057 15237734101 0014152 0 ustar 00 $report ) : ?>
print_html_label( ( $report['label'] ) ); ?>
print_html();
?>
$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.php 0000644 00000003312 15237734101 0015223 0 ustar 00 ID;
}
/**
* 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.php 0000644 00000003740 15237734101 0014717 0 ustar 00 plugins ) {
$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.php 0000644 00000012013 15237734101 0014331 0 ustar 00 '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.php 0000644 00000022060 15237734101 0014540 0 ustar 00 '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.php 0000644 00000012511 15237734101 0014144 0 ustar 00 get_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.php 0000644 00000012562 15237734101 0015270 0 ustar 00 '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.php 0000644 00000004201 15237734101 0015435 0 ustar 00 get_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.php 0000644 00000003660 15237734101 0015337 0 ustar 00 plugins ) {
$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.php 0000644 00000004273 15237734101 0016410 0 ustar 00 plugins ) {
$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.php 0000644 00000005577 15237734101 0012613 0 ustar 00 register_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.php 0000644 00000007026 15237734101 0014211 0 ustar 00 experiments->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.php 0000644 00000002710 15237734101 0014420 0 ustar 00 '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.php 0000644 00000001720 15237734101 0012131 0 ustar 00 deprecation = 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.php 0000644 00000022161 15237734101 0013143 0 ustar 00 current_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.php 0000644 00000026145 15237734101 0013135 0 ustar 00 documents->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.php 0000644 00000002517 15237734101 0015116 0 ustar 00 frontend->add_body_class( 'elementor-template-canvas' );
?>
>
>
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.php 0000644 00000001332 15237734101 0016361 0 ustar 00 frontend->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.php 0000644 00000012461 15237734101 0012223 0 ustar 00 register( 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.php 0000644 00000003720 15237734101 0013117 0 ustar 00 get_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.php 0000644 00000002767 15237734101 0013560 0 ustar 00 get_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.php 0000644 00000001446 15237734101 0013720 0 ustar 00 values();
}
if ( ! is_array( $favorites ) ) {
return [ $favorites ];
}
return $favorites;
}
}
modules/landing-pages/module.php 0000644 00000042714 15237734101 0012736 0 ustar 00 '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.php 0000644 00000004427 15237734101 0015777 0 ustar 00 print_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.php 0000644 00000005466 15237734101 0012662 0 ustar 00 '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.php 0000644 00000037205 15237734101 0011330 0 ustar 00 $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.php 0000644 00000005701 15237734101 0013003 0 ustar 00 '',
];
}
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.php 0000644 00000006542 15237734101 0007261 0 ustar 00 =' ) ) {
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.php 0000644 00000001300 15237734101 0016044 0 ustar 00 controls_manager->add_custom_css_controls( $this->parent, $this->get_id() );
}
}
core/kits/documents/tabs/settings-background.php 0000644 00000003036 15237734101 0016073 0 ustar 00 start_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.php 0000644 00000012141 15237734101 0016560 0 ustar 00 start_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.php 0000644 00000013104 15237734101 0016047 0 ustar 00 start_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.php 0000644 00000011576 15237734101 0016572 0 ustar 00 start_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.php 0000644 00000012015 15237734101 0015557 0 ustar 00 start_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.php 0000644 00000004267 15237734101 0013603 0 ustar 00 register_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.php 0000644 00000007714 15237734101 0016556 0 ustar 00 start_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.php 0000644 00000001363 15237734101 0017244 0 ustar 00 controls_manager->add_page_transitions_controls( $this->parent, $this->get_id() );
}
}
core/kits/documents/tabs/settings-layout.php 0000644 00000025363 15237734101 0015300 0 ustar 00 start_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.php 0000644 00000011212 15237734101 0015567 0 ustar 00 start_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.php 0000644 00000010717 15237734101 0015625 0 ustar 00 start_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.php 0000644 00000005416 15237734101 0014661 0 ustar 00 start_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.php 0000644 00000013702 15237734101 0011755 0 ustar 00 register_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.php 0000644 00000030032 15237734101 0010572 0 ustar 00 documents->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.php 0000644 00000003157 15237734101 0014721 0 ustar 00 '1' ],
get_delete_post_link( $post_id, '', $is_permanently_delete )
);
?>
core/kits/views/panel.php 0000644 00000003154 15237734101 0011421 0 ustar 00
core/kits/controls/repeater.php 0000644 00000003165 15237734101 0012641 0 ustar 00
<# if ( itemActions.add ) { #>
{{{ addButtonText }}}
<# } #>
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.php 0000644 00000001707 15237734101 0012235 0 ustar 00 '#6ec1e4',
2 => '#54595f',
3 => '#7a7a7a',
4 => '#61ce70',
5 => '#4054b2',
6 => '#23a455',
7 => '#000',
8 => '#fff',
];
}
}
core/schemes/manager.php 0000644 00000017426 15237734101 0011263 0 ustar 00 _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.php 0000644 00000015012 15237734101 0010754 0 ustar 00 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.php 0000644 00000006334 15237734101 0011172 0 ustar 00 _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.php 0000644 00000006057 15237734101 0012055 0 ustar 00 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.php 0000644 00000011552 15237734101 0013332 0 ustar 00 template_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.php 0000644 00000060312 15237734101 0010766 0 ustar 00 set_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.php 0000644 00000003160 15237734101 0014747 0 ustar 00 '[\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.php 0000644 00000003123 15237734101 0016242 0 ustar 00 kits_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.php 0000644 00000001777 15237734101 0015352 0 ustar 00 kits_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.php 0000644 00000002023 15237734101 0014212 0 ustar 00 register_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.php 0000644 00000003150 15237734101 0011520 0 ustar 00 get_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.php 0000644 00000001642 15237734101 0015212 0 ustar 00 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.php 0000644 00000003513 15237734101 0017020 0 ustar 00 index_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.php 0000644 00000011405 15237734101 0014310 0 ustar 00 wpdb->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.php 0000644 00000003711 15237734101 0016456 0 ustar 00 common
->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.php 0000644 00000015707 15237734101 0013372 0 ustar 00 ajax_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.php 0000644 00000004717 15237734101 0013715 0 ustar 00 categories_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.php 0000644 00000004054 15237734101 0015707 0 ustar 00 [
'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.php 0000644 00000004046 15237734101 0015514 0 ustar 00 [
'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.php 0000644 00000004464 15237734101 0016171 0 ustar 00 [
'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.php 0000644 00000005270 15237734101 0015475 0 ustar 00 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.php 0000644 00000002575 15237734101 0016415 0 ustar 00 [
'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.php 0000644 00000005163 15237734101 0016014 0 ustar 00 documents->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.php 0000644 00000003331 15237734101 0014232 0 ustar 00
core/common/modules/finder/categories-manager.php 0000644 00000007201 15237734101 0016154 0 ustar 00 register()` 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.php 0000644 00000003100 15237734101 0015136 0 ustar 00 modules_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.php 0000644 00000012171 15237734101 0014070 0 ustar 00 registered_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.php 0000644 00000045007 15237734101 0015242 0 ustar 00 get_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.php 0000644 00000001614 15237734101 0015614 0 ustar 00 data = & 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.php 0000644 00000006433 15237734101 0015216 0 ustar 00 is_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.php 0000644 00000000673 15237734101 0015203 0 ustar 00 get_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.php 0000644 00000004406 15237734101 0013675 0 ustar 00 common->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.php 0000644 00000004147 15237734101 0015532 0 ustar 00 post_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.php 0000644 00000000632 15237734101 0016103 0 ustar 00 $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.php 0000644 00000014447 15237734101 0013144 0 ustar 00 get_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_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.php 0000644 00000004520 15237734101 0012044 0 ustar 00 create_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.php 0000644 00000002006 15237734101 0011514 0 ustar 00 maybe_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.php 0000644 00000002364 15237734101 0014353 0 ustar 00 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.php 0000644 00000005720 15237734101 0012114 0 ustar 00 '',
];
}
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.php 0000644 00000015360 15237734101 0011106 0 ustar 00 get_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.php 0000644 00000002307 15237734101 0014265 0 ustar 00 file = 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.php 0000644 00000012275 15237734101 0011531 0 ustar 00 date = 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.php 0000644 00000001536 15237734101 0011231 0 ustar 00 column = $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.php 0000644 00000000412 15237734101 0011374 0 ustar 00 assets = [
'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.php 0000644 00000001600 15237734101 0015361 0 ustar 00 get_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.php 0000644 00000015714 15237734101 0014052 0 ustar 00 assets_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.php 0000644 00000000673 15237734101 0016541 0 ustar 00 $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.php 0000644 00000002064 15237734101 0017235 0 ustar 00 [
'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.php 0000644 00000002011 15237734101 0017150 0 ustar 00 $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.php 0000644 00000001153 15237734101 0016771 0 ustar 00 get_file_data( 'content' );
if ( $data ) {
$data = json_decode( $data, true );
}
return $data;
}
}
core/files/css/post-preview.php 0000644 00000002375 15237734101 0012555 0 ustar 00 post_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.php 0000644 00000007670 15237734101 0012142 0 ustar 00 render_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.php 0000644 00000060364 15237734101 0011025 0 ustar 00 update_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.php 0000644 00000001366 15237734101 0013226 0 ustar 00 meta_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.php 0000644 00000015341 15237734101 0011073 0 ustar 00 post_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.php 0000644 00000044142 15237734101 0012177 0 ustar 00 is_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, '' ) ) || ( false !== strpos( $string, '<%' ) ) ) {
return '';
}
return $string;
}
/**
* Strip Comments
*
* @since 3.5.0
* @access private
*
* @param $string
* @return string
*/
private function strip_comments( $string ) {
// Remove comments.
$string = preg_replace( '//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' ), '' . $date . ' ', $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' ), '' . $date . ' ', $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.php 0000644 00000005605 15237734101 0016152 0 ustar 00 identifier = $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.php 0000644 00000025474 15237734101 0017150 0 ustar 00 cron_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.php 0000644 00000013620 15237734101 0012731 0 ustar 00 query_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.php 0000644 00000013064 15237734101 0011304 0 ustar 00 ensure_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.php 0000644 00000003307 15237734101 0015305 0 ustar 00 mode = $mode;
}
public function __construct( $document ) {
$this->document = $document;
}
}
core/base/elements-iteration-actions/assets.php 0000644 00000012056 15237734101 0015676 0 ustar 00 get_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.php 0000644 00000005272 15237734101 0011276 0 ustar 00 get_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.php 0000644 00000006467 15237734101 0011321 0 ustar 00 is_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.php 0000644 00000002324 15237734101 0012531 0 ustar 00 message = 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.php 0000644 00000000766 15237734101 0014027 0 ustar 00 exists();
}
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.php 0000644 00000002727 15237734101 0014504 0 ustar 00 inspections['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.php 0000644 00000042621 15237734101 0012037 0 ustar 00 install_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.php 0000644 00000013343 15237734101 0011030 0 ustar 00 is_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' ),
],
];
?>
id, [ 'plugins', 'plugins-network' ] );
}
}
core/admin/canary-deployment.php 0000644 00000011655 15237734101 0012743 0 ustar 00 response ) ) {
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.php 0000644 00000007040 15237734101 0011157 0 ustar 00 init_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.php 0000644 00000004011 15237734101 0011164 0 ustar 00 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.php 0000644 00000057450 15237734101 0010403 0 ustar 00 =' );
} 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';
}
?>
[
'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.php 0000644 00000001003 15237734101 0013127 0 ustar 00 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.php 0000644 00000010353 15237734101 0014773 0 ustar 00 is_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.php 0000644 00000004565 15237734101 0013427 0 ustar 00 get_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 .= '' . $html_tag . '>';
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.php 0000644 00000042776 15237734101 0011641 0 ustar 00 register_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.php 0000644 00000001103 15237734101 0010153 0 ustar 00 collection = 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.php 0000644 00000020477 15237734101 0020071 0 ustar 00 loadXML( 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.php 0000644 00000002557 15237734101 0016003 0 ustar 00 parse( $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.php 0000644 00000016712 15237734101 0016577 0 ustar 00 clear();
$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.php 0000644 00000026572 15237734101 0017116 0 ustar 00 [
'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 . '>(.*?)' . $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, "$tag>" );
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>(.+?)$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.*?>(.*?)$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.php 0000644 00000127220 15237734101 0014143 0 ustar 00 output` 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.php 0000644 00000065333 15237734101 0014507 0 ustar 00 '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.php 0000644 00000001725 15237734101 0010334 0 ustar 00 request( $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.php 0000644 00000001304 15237734101 0011527 0 ustar 00 items = $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.php 0000644 00000005532 15237734101 0012446 0 ustar 00 upgrader = $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.php 0000644 00000007211 15237734101 0011036 0 ustar 00 major1 = $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.php 0000644 00000005774 15237734101 0014773 0 ustar 00 '',
];
}
/**
* 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.php 0000644 00000051256 15237734101 0012176 0 ustar 00 features[ $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() ) { ?>
Activate All Experiments
Deactivate All Experiments
states as $state_key => $state_title ) { ?>
>
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.php 0000644 00000006463 15237734101 0011757 0 ustar 00 is_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.php 0000644 00000002165 15237734101 0007411 0 ustar 00 plugins ) {
$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.php 0000644 00000000753 15237734101 0011310 0 ustar 00 manager->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.php 0000644 00000011001 15237734101 0015435 0 ustar 00 register_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.php 0000644 00000001015 15237734101 0010576 0 ustar 00 manager->get_plugin_label() . '/Tasks - ' . $item['callback'][1];
}
public function set_limit( $limit ) {
$this->manager->set_query_limit( $limit );
}
}
core/upgrade/upgrades.php 0000644 00000065462 15237734101 0011466 0 ustar 00 uploads_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.php 0000644 00000003446 15237734101 0012433 0 ustar 00 query_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.php 0000644 00000004151 15237734101 0011252 0 ustar 00 get_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.php 0000644 00000000564 15237734101 0012301 0 ustar 00 get_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.php 0000644 00000032136 15237734101 0014054 0 ustar 00 common ) {
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.php 0000644 00000034366 15237734101 0014572 0 ustar 00 app->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.php 0000644 00000007456 15237734101 0014617 0 ustar 00 temp_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.php 0000644 00000001032 15237734101 0017262 0 ustar 00 iterator->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.php 0000644 00000001303 15237734101 0022621 0 ustar 00 post_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.php 0000644 00000002503 15237734101 0017703 0 ustar 00 custom_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.php 0000644 00000002145 15237734101 0022202 0 ustar 00 custom_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.php 0000644 00000002545 15237734101 0020203 0 ustar 00 post_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.php 0000644 00000005507 15237734101 0016526 0 ustar 00 iterator = $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.php 0000644 00000004661 15237734101 0017612 0 ustar 00 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.php 0000644 00000001170 15237734101 0017256 0 ustar 00 iterator, $this, $post_type );
}
return $sub_directories;
}
}
core/app/modules/import-export/directories/post-type.php 0000644 00000006402 15237734101 0017553 0 ustar 00 post_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.php 0000644 00000007030 15237734101 0016570 0 ustar 00 kits_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.php 0000644 00000003237 15237734101 0014617 0 ustar 00 init_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.php 0000644 00000002551 15237734101 0015125 0 ustar 00 get_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.php 0000644 00000020505 15237734101 0014466 0 ustar 00 [ '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.php 0000644 00000005076 15237734101 0017446 0 ustar 00 importer->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.php 0000644 00000001317 15237734101 0020474 0 ustar 00 importer = $importer;
}
}
core/app/modules/import-export/compatibility/kit-library.php 0000644 00000001432 15237734101 0020373 0 ustar 00 add_submenu( [
'page_title' => __( 'Kit Library', 'elementor' ),
'menu_title' => '',
'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.php 0000644 00000002044 15237734101 0020561 0 ustar 00 '[\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.php 0000644 00000001545 15237734101 0021326 0 ustar 00 register_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.php 0000644 00000002766 15237734101 0016752 0 ustar 00 get_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.php 0000644 00000017161 15237734101 0016027 0 ustar 00 get_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.php 0000644 00000001715 15237734101 0016701 0 ustar 00 repository ) {
/** @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.php 0000644 00000001465 15237734101 0020161 0 ustar 00 [
'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.php 0000644 00000002034 15237734101 0016552 0 ustar 00 http_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.php 0000644 00000002061 15237734101 0014154 0 ustar 00 '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.php 0000644 00000014606 15237734101 0007557 0 ustar 00 get_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.php 0000644 00000001331 15237734101 0007740 0 ustar 00 get_elementor_ui_theme_preference() ? 'eps-theme-dark' : '';
?>
>
core/breakpoints/breakpoint.php 0000644 00000005525 15237734101 0012676 0 ustar 00 name;
}
/**
* 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.php 0000644 00000036412 15237734101 0012151 0 ustar 00 '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.php 0000644 00000007562 15237734101 0012076 0 ustar 00 post = 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.php 0000644 00000020041 15237734101 0012373 0 ustar 00 editor->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.php 0000644 00000001135 15237734101 0012062 0 ustar 00 get_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.php 0000644 00000017153 15237734101 0012403 0 ustar 00 get_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.php 0000644 00000006074 15237734101 0014744 0 ustar 00 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.php 0000644 00000002662 15237734101 0015255 0 ustar 00 get_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.php 0000644 00000001677 15237734101 0012600 0 ustar 00 kits_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.php 0000644 00000004512 15237734101 0013101 0 ustar 00 kits_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.js 0000644 00000001435 15237734101 0013725 0 ustar 00 import 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.json 0000644 00000000301 15237734101 0017262 0 ustar 00 {
"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.json 0000644 00000000103 15237734101 0017413 0 ustar 00 {
"normal": 400,
"medium": 500,
"bold": 700,
"base": 400
}
packages/elementor-ui/styles/_data/typography/typography.json 0000644 00000002070 15237734101 0020633 0 ustar 00 {
"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.json 0000644 00000001362 15237734101 0017161 0 ustar 00 {
"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.js 0000644 00000001507 15237734101 0013602 0 ustar 00 import { 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.js 0000644 00000000121 15237734101 0016754 0 ustar 00 import spacing from '../../_data/spacing/spacing.json';
export default spacing;
packages/elementor-ui/styles/_maps/font/font-weight.js 0000644 00000000130 15237734101 0017105 0 ustar 00 import fontWeight from '../../_data/font/font-weight.json';
export default fontWeight;
packages/elementor-ui/styles/_maps/typography/size.js 0000644 00000000735 15237734101 0017077 0 ustar 00 import 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.js 0000644 00000000361 15237734101 0020315 0 ustar 00 import 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.js 0000644 00000000440 15237734101 0017102 0 ustar 00 import 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.js 0000644 00000000640 15237734101 0017517 0 ustar 00 import 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.js 0000644 00000000563 15237734101 0016360 0 ustar 00 import 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.js 0000644 00000000666 15237734101 0017624 0 ustar 00 import 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.js 0000644 00000000555 15237734101 0017300 0 ustar 00 import 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.js 0000644 00000004601 15237734101 0014213 0 ustar 00 import { 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.js 0000644 00000000140 15237734101 0014557 0 ustar 00 export { default as Heading } from './ui/heading';
export { default as Text } from './ui/text';
packages/elementor-ui/components/utils.js 0000644 00000004306 15237734101 0014620 0 ustar 00 /**
* @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.js 0000644 00000001104 15237734101 0015052 0 ustar 00 import 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.js 0000644 00000001302 15237734101 0015465 0 ustar 00 import 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.php 0000644 00000021632 15237734101 0010727 0 ustar 00 >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.php 0000644 00000000674 15237734101 0011131 0 ustar 00 controller = $controller;
}
/**
* Get processor command.
*
* @return string
*/
abstract public function get_command();
}
data/base/processor/after.php 0000644 00000000724 15237734101 0012226 0 ustar 00 deprecated();
$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.php 0000644 00000001361 15237734101 0011513 0 ustar 00 parent_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.php 0000644 00000022274 15237734101 0007612 0 ustar 00 controllers;
}
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.php 0000644 00000003172 15237734101 0012364 0 ustar 00 controller->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.php 0000644 00000003570 15237734101 0014724 0 ustar 00 controller->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.php 0000644 00000002740 15237734101 0016100 0 ustar 00 controller->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.php 0000644 00000005741 15237734101 0011261 0 ustar 00 controller;
}
/**
* 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.php 0000644 00000001547 15237734101 0011460 0 ustar 00 controller = $controller;
}
}
data/v2/base/base-route.php 0000644 00000024422 15237734101 0011504 0 ustar 00 '/'
* '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.php 0000644 00000001041 15237734101 0012546 0 ustar 00 parent ) {
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.php 0000644 00000000533 15237734101 0013252 0 ustar 00 get_error_message(), $wp_error->get_error_code(), [
'status' => $wp_error->get_error_code(),
] );
}
}
data/v2/base/exceptions/data-exception.php 0000644 00000002155 15237734101 0014523 0 ustar 00 '',
'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.php 0000644 00000000556 15237734101 0013254 0 ustar 00 controllers;
}
/**
* @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.css 0000644 00000000243 15237734101 0013711 0 ustar 00 /*! 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.css 0000644 00000065712 15237734101 0013277 0 ustar 00 /*! 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.css 0000644 00000322633 15237734101 0013517 0 ustar 00 /*! 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.css 0000644 00000003333 15237734101 0013270 0 ustar 00 /*! 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.css 0000644 00000013173 15237734101 0012012 0 ustar 00 /*! 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.css 0000644 00000012060 15237734101 0014577 0 ustar 00 /*! 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.css 0000644 00000027763 15237734101 0012243 0 ustar 00 /*! 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.css 0000644 00000004152 15237734101 0011045 0 ustar 00 /*! 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.css 0000644 00000003211 15237734101 0013743 0 ustar 00 /*! 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.css 0000644 00000004632 15237734101 0014741 0 ustar 00 /*! 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.css 0000644 00000000375 15237734101 0013304 0 ustar 00 /*! 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.css 0000644 00000004156 15237734101 0011650 0 ustar 00 /*! 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.css 0000644 00000032755 15237734101 0014031 0 ustar 00 /*! 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.css 0000644 00000467542 15237734101 0012244 0 ustar 00 /*! 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.css 0000644 00000004632 15237734101 0014142 0 ustar 00 /*! 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.css 0000644 00000001146 15237734101 0016302 0 ustar 00 .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.css 0000644 00000600132 15237734101 0011174 0 ustar 00 /*! 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.css 0000644 00000303504 15237734101 0013706 0 ustar 00 /*! 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.css 0000644 00000000633 15237734101 0014315 0 ustar 00 /*! 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.css 0000644 00000402050 15237734101 0012126 0 ustar 00 /*! 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.css 0000644 00000001300 15237734101 0014457 0 ustar 00 /*! 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.css 0000644 00000477013 15237734101 0011770 0 ustar 00 /*! 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.css 0000644 00000266036 15237734101 0010732 0 ustar 00 /*! 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.css 0000644 00000124312 15237734101 0011245 0 ustar 00 /*! 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.css 0000644 00000006113 15237734101 0014451 0 ustar 00 /*! 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.css 0000644 00000002603 15237734101 0012700 0 ustar 00 /*! 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.css 0000644 00000001341 15237734101 0012523 0 ustar 00 /*! 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.css 0000644 00000477024 15237734101 0012571 0 ustar 00 /*! 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.css 0000644 00000000151 15237734101 0014426 0 ustar 00 /*! elementor - v3.6.7 - 03-07-2022 */
body.elementor-page .elementor-widget-menu-anchor{margin-bottom:0} assets/css/widget-divider-rtl.min.css 0000644 00000007217 15237734101 0013652 0 ustar 00 /*! 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.css 0000644 00000032755 15237734101 0013232 0 ustar 00 /*! 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.css 0000644 00000002424 15237734101 0014063 0 ustar 00 /*! 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.css 0000644 00000012060 15237734101 0014000 0 ustar 00 /*! 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.css 0000644 00000003211 15237734101 0014542 0 ustar 00 /*! 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.css 0000644 00000002604 15237734101 0013500 0 ustar 00 /*! 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.css 0000644 00000003041 15237734101 0013355 0 ustar 00 /*! 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.css 0000644 00000046522 15237734101 0012445 0 ustar 00 /*! 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.css 0000644 00000006116 15237734101 0013655 0 ustar 00 /*! 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.css 0000644 00000107556 15237734101 0012042 0 ustar 00 /*! 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.css 0000644 00000001221 15237734101 0013556 0 ustar 00 /*! 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.css 0000644 00000000633 15237734101 0015114 0 ustar 00 /*! 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.css 0000644 00000325664 15237734101 0015524 0 ustar 00 .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.css 0000644 00000003341 15237734101 0015265 0 ustar 00 .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.css 0000644 00000004640 15237734101 0016736 0 ustar 00 .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.css 0000644 00000033437 15237734101 0016025 0 ustar 00 .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.css 0000644 00000004640 15237734101 0016137 0 ustar 00 .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.css 0000644 00000475012 15237734101 0013201 0 ustar 00 @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.css 0000644 00000320747 15237734101 0014140 0 ustar 00 .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.css 0000644 00000503163 15237734101 0013762 0 ustar 00 @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.css 0000644 00000006117 15237734101 0016453 0 ustar 00 @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.css 0000644 00000002562 15237734101 0014702 0 ustar 00 .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.css 0000644 00000503174 15237734101 0014563 0 ustar 00 @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.css 0000644 00000033437 15237734101 0015226 0 ustar 00 .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.css 0000644 00000002403 15237734101 0016056 0 ustar 00 .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.css 0000644 00000002563 15237734101 0015502 0 ustar 00 .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.css 0000644 00000003020 15237734101 0015350 0 ustar 00 .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.css 0000644 00000030710 15237734101 0014433 0 ustar 00 .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.css 0000644 00000006122 15237734101 0015650 0 ustar 00 @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.css 0000644 00000001704 15237734101 0015324 0 ustar 00 .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.css 0000644 00000031507 15237734101 0015737 0 ustar 00 .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.css 0000644 00000475016 15237734101 0014004 0 ustar 00 @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.css 0000644 00000027157 15237734101 0015331 0 ustar 00 .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.css 0000644 00000003341 15237734101 0016064 0 ustar 00 .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.css 0000644 00000003021 15237734101 0016150 0 ustar 00 .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.css 0000644 00000010530 15237734101 0014344 0 ustar 00 .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.css 0000644 00000027157 15237734101 0016130 0 ustar 00 .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.css 0000644 00000001704 15237734101 0014525 0 ustar 00 .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.css 0000644 00000002401 15237734101 0015255 0 ustar 00 .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.css 0000644 00000325653 15237734101 0014723 0 ustar 00 .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.css 0000644 00000010526 15237734101 0015150 0 ustar 00 .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.css 0000644 00000320752 15237734101 0014733 0 ustar 00 .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.css 0000644 00000030714 15237734101 0015236 0 ustar 00 .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.css 0000644 00000031507 15237734101 0015140 0 ustar 00 .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.css 0000644 00000001277 15237734101 0013675 0 ustar 00 /*! 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.css 0000644 00000000243 15237734101 0014510 0 ustar 00 /*! 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.css 0000644 00000001225 15237734101 0014361 0 ustar 00 /*! 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.css 0000644 00000001725 15237734101 0013331 0 ustar 00 /*! 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.css 0000644 00000266051 15237734101 0011526 0 ustar 00 /*! 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.css 0000644 00000031300 15237734101 0013730 0 ustar 00 /*! 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.css 0000644 00000336610 15237734101 0010743 0 ustar 00 /*! 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.css 0000644 00000000151 15237734101 0013627 0 ustar 00 /*! elementor - v3.6.7 - 03-07-2022 */
body.elementor-page .elementor-widget-menu-anchor{margin-bottom:0} assets/css/frontend-rtl.css 0000644 00000600136 15237734101 0011777 0 ustar 00 /*! 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.css 0000644 00000336571 15237734101 0010152 0 ustar 00 /*! 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.css 0000644 00000026777 15237734101 0013342 0 ustar 00 /*! 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.css 0000644 00000010677 15237734101 0013401 0 ustar 00 /*! 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.css 0000644 00000001221 15237734101 0013610 0 ustar 00 /*! 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.css 0000644 00000003333 15237734101 0014067 0 ustar 00 /*! 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.css 0000644 00000001221 15237734101 0013011 0 ustar 00 /*! 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.css 0000644 00000556351 15237734101 0011457 0 ustar 00 /*! 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.css 0000644 00000466735 15237734101 0011450 0 ustar 00 /*! 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.css 0000644 00000107554 15237734101 0011241 0 ustar 00 /*! 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.css 0000644 00000124304 15237734101 0010447 0 ustar 00 /*! 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.css 0000644 00000341654 15237734101 0012335 0 ustar 00 /*! 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.css 0000644 00000001022 15237734101 0015136 0 ustar 00 /*! 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.css 0000644 00000074360 15237734101 0012514 0 ustar 00 /*! 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.css 0000644 00000003132 15237734101 0012423 0 ustar 00 /*! 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.css 0000644 00000001341 15237734101 0013322 0 ustar 00 /*! 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.css 0000644 00000035071 15237734101 0010651 0 ustar 00 /*! 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.css 0000644 00000003042 15237734101 0014155 0 ustar 00 /*! 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.css 0000644 00000001144 15237734101 0013674 0 ustar 00 /*! 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.css 0000644 00000010522 15237734101 0012347 0 ustar 00 /*! 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.css 0000644 00000555421 15237734101 0010655 0 ustar 00 /*! 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.css 0000644 00000000363 15237734101 0013474 0 ustar 00 /*! 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.css 0000644 00000342441 15237734101 0013127 0 ustar 00 /*! 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.css 0000644 00000013176 15237734101 0012614 0 ustar 00 /*! 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.css 0000644 00000010700 15237734101 0012565 0 ustar 00 /*! 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.css 0000644 00000000375 15237734101 0012505 0 ustar 00 /*! 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.css 0000644 00000026777 15237734101 0014141 0 ustar 00 /*! 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.css 0000644 00000001725 15237734101 0012532 0 ustar 00 /*! 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.css 0000644 00000002422 15237734101 0013262 0 ustar 00 /*! 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.css 0000644 00000322622 15237734101 0012716 0 ustar 00 /*! 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.css 0000644 00000303020 15237734101 0013100 0 ustar 00 /*! 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.css 0000644 00000007217 15237734101 0013053 0 ustar 00 /*! 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.css 0000644 00000010520 15237734101 0013144 0 ustar 00 /*! 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.css 0000644 00000000363 15237734101 0012675 0 ustar 00 /*! 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.css 0000644 00000001022 15237734101 0014337 0 ustar 00 /*! 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.css 0000644 00000003132 15237734101 0011624 0 ustar 00 /*! 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.css 0000644 00000402053 15237734101 0012730 0 ustar 00 /*! 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.css 0000644 00000027760 15237734101 0011441 0 ustar 00 /*! 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.css 0000644 00000035101 15237734101 0011442 0 ustar 00 /*! 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.css 0000644 00000046526 15237734101 0013250 0 ustar 00 /*! 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.css 0000644 00000031300 15237734101 0013131 0 ustar 00 /*! 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.css 0000644 00000001144 15237734101 0013075 0 ustar 00 /*! 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.svg 0000644 00000002024 15237734101 0012265 0 ustar 00
assets/mask-shapes/circle.svg 0000644 00000000200 15237734101 0012237 0 ustar 00
assets/mask-shapes/hexagon.svg 0000644 00000000363 15237734101 0012441 0 ustar 00
assets/mask-shapes/flower.svg 0000644 00000000547 15237734101 0012312 0 ustar 00
assets/mask-shapes/triangle.svg 0000644 00000000264 15237734101 0012615 0 ustar 00
assets/mask-shapes/blob.svg 0000644 00000000665 15237734101 0011733 0 ustar 00
assets/shapes/curve.svg 0000644 00000000320 15237734101 0011174 0 ustar 00