<?php
namespace EcafeAddons\Widgets;

use Elementor\Widget_Base;
use Elementor\Controls_Manager;
use Elementor\Group_Control_Typography;
use Elementor\Group_Control_Border;
use Elementor\Group_Control_Background;
use Elementor\Group_Control_Box_Shadow;
use Elementor\Group_Control_Text_Shadow;
use Elementor\Group_Control_Css_Filter;
use Elementor\Group_Control_Image_Size;

use EcafeAddons\EcafeElementLoad;

// Prevent direct access to files
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

class Ecafe_Image_Hover_Effect extends Widget_Base {

	public function get_name() {
		return 'ecafe-image-hover-effect';
	}

	public function get_title() {
		return esc_html__( 'Image Hover Effect', 'essential-classy-addons-for-elementor' );
	}

	public function get_icon() {
		return 'ecafe-ele-back-icon ecafe-imagehovereffect-icon';
	}
	public function get_categories() {
		return array( 'essential' );
	}
	public function get_keywords() {
		return array( 'image hover', 'advanced image hover', 'image effect', 'infobox', 'infobanner', 'button', 'box', 'skin', 'tags', 'title', 'heading', 'servicebox', 'image', 'layout', 'creative', 'html', 'animation', 'builder', 'custom', 'loop', 'social', 'card', 'hover card', 'card effect', 'hover effect' );
	}

	public function get_custom_help_url() {
		return 'https://store.kapasias.com/helpdesk/';
	}
	public function has_widget_inner_wrapper(): bool {
		return ! \Elementor\Plugin::$instance->experiments->is_feature_active( 'e_optimized_markup' );
	}
	protected function register_controls() {
		$this->start_controls_section(
			'contentSection',
			array(
				'label' => esc_html__( 'Advanced Image Hover Effect', 'essential-classy-addons-for-elementor' ),
				'tab'   => Controls_Manager::TAB_CONTENT,
			)
		);
		$this->add_control(
			'layout',
			array(
				'label'   => esc_html__( 'Layout', 'essential-classy-addons-for-elementor' ),
				'type'    => Controls_Manager::SELECT,
				'default' => 'layout-1',
				'options' => array(
					'layout-1'  => esc_html__( 'Layout 1', 'essential-classy-addons-for-elementor' ),
					'layout-2'  => esc_html__( 'Layout 2', 'essential-classy-addons-for-elementor' ),
					'layout-3'  => esc_html__( 'Layout 3', 'essential-classy-addons-for-elementor' ),
					'layout-4'  => esc_html__( 'Layout 4', 'essential-classy-addons-for-elementor' ),
					'layout-5'  => esc_html__( 'Layout 5', 'essential-classy-addons-for-elementor' ),
					'layout-6'  => esc_html__( 'Layout 6', 'essential-classy-addons-for-elementor' ),
					'layout-7'  => esc_html__( 'Layout 7', 'essential-classy-addons-for-elementor' ),
					'layout-8'  => esc_html__( 'Layout 8', 'essential-classy-addons-for-elementor' ),
					'layout-9'  => esc_html__( 'Layout 9', 'essential-classy-addons-for-elementor' ),
					'layout-10' => esc_html__( 'Layout 10', 'essential-classy-addons-for-elementor' ),
					'layout-11' => esc_html__( 'Layout 11', 'essential-classy-addons-for-elementor' ),
					'layout-12' => esc_html__( 'Layout 12', 'essential-classy-addons-for-elementor' ),
					'layout-13' => esc_html__( 'Layout 13', 'essential-classy-addons-for-elementor' ),
					'layout-14' => esc_html__( 'Layout 14', 'essential-classy-addons-for-elementor' ),
					'layout-15' => esc_html__( 'Layout 15', 'essential-classy-addons-for-elementor' ),
					'layout-16' => esc_html__( 'Layout 16', 'essential-classy-addons-for-elementor' ),
					'layout-17' => esc_html__( 'Layout 17', 'essential-classy-addons-for-elementor' ),
					'layout-18' => esc_html__( 'Layout 18', 'essential-classy-addons-for-elementor' ),
					'layout-19' => esc_html__( 'Layout 19', 'essential-classy-addons-for-elementor' ),
					'layout-20' => esc_html__( 'Layout 20', 'essential-classy-addons-for-elementor' ),
					'layout-21' => esc_html__( 'Layout 21', 'essential-classy-addons-for-elementor' ),
					'layout-22' => esc_html__( 'Layout 22', 'essential-classy-addons-for-elementor' ),
					'layout-23' => esc_html__( 'Layout 23', 'essential-classy-addons-for-elementor' ),
					'layout-24' => esc_html__( 'Layout 24', 'essential-classy-addons-for-elementor' ),
					'layout-25' => esc_html__( 'Layout 25', 'essential-classy-addons-for-elementor' ),
					'layout-26' => esc_html__( 'Layout 26', 'essential-classy-addons-for-elementor' ),
					'layout-27' => esc_html__( 'Layout 27', 'essential-classy-addons-for-elementor' ),
					'layout-28' => esc_html__( 'Layout 28', 'essential-classy-addons-for-elementor' ),
				),
			)
		);
		$this->add_control(
			'aiheeImage',
			array(
				'label'     => esc_html__( 'Image', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::MEDIA,
				'default'   => array(
					'url' => \Elementor\Utils::get_placeholder_image_src(),
				),
				'separator' => 'before',
			)
		);
		$this->add_group_control(
			Group_Control_Image_Size::get_type(),
			array(
				'name'      => 'thumbnail',
				'default'   => 'full',
				'separator' => 'none',
			)
		);
		$this->add_responsive_control(
			'st1011Offset',
			array(
				'label'      => esc_html__( 'Offset', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::SLIDER,
				'size_units' => array( 'px' ),
				'range'      => array(
					'px' => array(
						'max'  => 500,
						'min'  => -500,
						'step' => 1,
					),
				),
				'selectors'  => array(
					'{{WRAPPER}} .eca-ihemain-wrapper.layout-10 .eca-iheimage,
					{{WRAPPER}} .eca-ihemain-wrapper.layout-11 .eca-iheimage' => 'top: {{SIZE}}{{UNIT}};',
				),
				'condition'  => array(
					'layout' => array( 'layout-10', 'layout-11' ),
				),
			)
		);
		$this->add_control(
			'aiheeImageLink',
			array(
				'label'         => esc_html__( 'Image Link', 'essential-classy-addons-for-elementor' ),
				'type'          => Controls_Manager::URL,
				'placeholder'   => esc_html__( 'https://www.demo-link.com', 'essential-classy-addons-for-elementor' ),
				'dynamic'       => array( 'active' => true ),
				'show_external' => true,
			)
		);
		$this->add_control(
			'headingTitle',
			array(
				'label'       => esc_html__( 'Title', 'essential-classy-addons-for-elementor' ),
				'type'        => Controls_Manager::TEXT,
				'dynamic'     => array( 'active' => true ),
				'default'     => esc_html__( 'Image Hover Effect', 'essential-classy-addons-for-elementor' ),
				'placeholder' => esc_html__( 'Enter Title', 'essential-classy-addons-for-elementor' ),
				'separator'   => 'before',
			)
		);
		$this->add_control(
			'headingTitleTag',
			array(
				'label'   => esc_html__( 'Title Tag', 'essential-classy-addons-for-elementor' ),
				'type'    => Controls_Manager::SELECT,
				'default' => 'h1',
				'options' => array(
					'h1' => esc_html__( 'H1', 'essential-classy-addons-for-elementor' ),
					'h2' => esc_html__( 'H2', 'essential-classy-addons-for-elementor' ),
					'h3' => esc_html__( 'H3', 'essential-classy-addons-for-elementor' ),
					'h4' => esc_html__( 'H4', 'essential-classy-addons-for-elementor' ),
					'h5' => esc_html__( 'H5', 'essential-classy-addons-for-elementor' ),
					'h6' => esc_html__( 'H6', 'essential-classy-addons-for-elementor' ),
				),
			)
		);
		$this->add_control(
			'descriptionText',
			array(
				'label'   => esc_html__( 'Description', 'essential-classy-addons-for-elementor' ),
				'type'    => Controls_Manager::WYSIWYG,
				'default' => esc_html__( 'I am text block.', 'essential-classy-addons-for-elementor' ),
				'dynamic' => array( 'active' => true ),
			)
		);
		$this->add_control(
			'buttonHeading',
			array(
				'label'     => esc_html__( 'Button', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::HEADING,
				'separator' => 'before',
			)
		);
		$this->add_control(
			'buttonType',
			array(
				'label'   => esc_html__( 'Type', 'essential-classy-addons-for-elementor' ),
				'type'    => Controls_Manager::SELECT,
				'default' => 'icon',
				'options' => array(
					'icon' => esc_html__( 'Icon', 'essential-classy-addons-for-elementor' ),
					'text' => esc_html__( 'Text', 'essential-classy-addons-for-elementor' ),
				),
			)
		);
		$this->add_control(
			'buttonIcon1',
			array(
				'label'     => esc_html__( 'First Icon', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::ICONS,
				'default'   => array(
					'value'   => 'fab fa-facebook-square',
					'library' => 'solid',
				),
				'condition' => array(
					'buttonType' => 'icon',
				),
			)
		);
		$this->add_control(
			'buttonText1',
			array(
				'label'       => esc_html__( 'First Text', 'essential-classy-addons-for-elementor' ),
				'type'        => Controls_Manager::TEXT,
				'dynamic'     => array( 'active' => true ),
				'default'     => esc_html__( 'A', 'essential-classy-addons-for-elementor' ),
				'placeholder' => esc_html__( 'Enter First Text', 'essential-classy-addons-for-elementor' ),
				'condition'   => array(
					'buttonType' => 'text',
				),
			)
		);
		$this->add_control(
			'buttonUrl1',
			array(
				'label'         => esc_html__( 'First Button URL', 'essential-classy-addons-for-elementor' ),
				'type'          => Controls_Manager::URL,
				'placeholder'   => esc_html__( 'https://www.demo-link.com', 'essential-classy-addons-for-elementor' ),
				'dynamic'       => array( 'active' => true ),
				'default'       => array( 'url' => '#' ),
				'show_external' => true,
			)
		);
		$this->add_control(
			'buttonIcon2',
			array(
				'label'     => esc_html__( 'Second Icon', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::ICONS,
				'default'   => array(
					'value'   => 'fab fa-twitter-square',
					'library' => 'solid',
				),
				'separator' => 'before',
				'condition' => array(
					'buttonType' => 'icon',
				),
			)
		);
		$this->add_control(
			'buttonText2',
			array(
				'label'       => esc_html__( 'Second Text', 'essential-classy-addons-for-elementor' ),
				'type'        => Controls_Manager::TEXT,
				'dynamic'     => array( 'active' => true ),
				'default'     => esc_html__( 'B', 'essential-classy-addons-for-elementor' ),
				'placeholder' => esc_html__( 'Enter Second Text', 'essential-classy-addons-for-elementor' ),
				'separator'   => 'before',
				'condition'   => array(
					'buttonType' => 'text',
				),
			)
		);
		$this->add_control(
			'buttonUrl2',
			array(
				'label'         => esc_html__( 'Second Button URL', 'essential-classy-addons-for-elementor' ),
				'type'          => Controls_Manager::URL,
				'placeholder'   => esc_html__( 'https://www.demo-link.com', 'essential-classy-addons-for-elementor' ),
				'dynamic'       => array( 'active' => true ),
				'default'       => array( 'url' => '#' ),
				'show_external' => true,
			)
		);
		$this->add_control(
			'buttonIcon3',
			array(
				'label'     => esc_html__( 'Third Icon', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::ICONS,
				'default'   => array(
					'value'   => 'fab fa-linkedin',
					'library' => 'solid',
				),
				'separator' => 'before',
				'condition' => array(
					'buttonType' => 'icon',
				),
			)
		);
		$this->add_control(
			'buttonText3',
			array(
				'label'       => esc_html__( 'Third Text', 'essential-classy-addons-for-elementor' ),
				'type'        => Controls_Manager::TEXT,
				'dynamic'     => array( 'active' => true ),
				'default'     => esc_html__( 'C', 'essential-classy-addons-for-elementor' ),
				'placeholder' => esc_html__( 'Enter Third Text', 'essential-classy-addons-for-elementor' ),
				'separator'   => 'before',
				'condition'   => array(
					'buttonType' => 'text',
				),
			)
		);
		$this->add_control(
			'buttonUrl3',
			array(
				'label'         => esc_html__( 'Third Button URL', 'essential-classy-addons-for-elementor' ),
				'type'          => Controls_Manager::URL,
				'placeholder'   => esc_html__( 'https://www.demo-link.com', 'essential-classy-addons-for-elementor' ),
				'dynamic'       => array( 'active' => true ),
				'default'       => array( 'url' => '#' ),
				'show_external' => true,
			)
		);
		$this->end_controls_section();

		/*Tilt Effect Options*/
		include ECAFE_PATH . 'element/widgets/ecafe-tilt-options.php';

		/*Tippy Tooltip Options*/
		include ECAFE_PATH . 'element/widgets/ecafe-tippy-options.php';

		/*Notice panel*/
		$ecwidgetdemolink = esc_url( 'https://ecaddons.com/elements/image-hover-effect/' );
		$ecwidgetdoclink  = esc_url( 'https://ecaddons.com/docs/image-hover-effect-widget-tutorial/' );
		include ECAFE_PATH . 'element/widgets/ecafe-widgetpanel-help.php';

		/*
		style start*/
		/*title style start*/
		$this->start_controls_section(
			'titleStyling',
			array(
				'label' => esc_html__( 'Title', 'essential-classy-addons-for-elementor' ),
				'tab'   => Controls_Manager::TAB_STYLE,
			)
		);
		$this->add_responsive_control(
			'titlePadding',
			array(
				'label'      => esc_html__( 'Padding', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', 'em', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .eca-ihemain-wrapper .eca-iheheading-title' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_responsive_control(
			'titleMargin',
			array(
				'label'      => esc_html__( 'Margin', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', 'em', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .eca-ihemain-wrapper .eca-iheheading-title' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_responsive_control(
			'titlecontentAlign',
			array(
				'label'     => esc_html__( 'Alignment', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::CHOOSE,
				'options'   => array(
					'left'   => array(
						'title' => esc_html__( 'Left', 'essential-classy-addons-for-elementor' ),
						'icon'  => 'eicon-text-align-left',
					),
					'center' => array(
						'title' => esc_html__( 'Center', 'essential-classy-addons-for-elementor' ),
						'icon'  => 'eicon-text-align-center',
					),
					'right'  => array(
						'title' => esc_html__( 'Right', 'essential-classy-addons-for-elementor' ),
						'icon'  => 'eicon-text-align-right',
					),
				),
				'selectors' => array(
					'{{WRAPPER}} .eca-ihemain-wrapper .eca-iheheading-title' => 'text-align:{{VALUE}};',
				),
				'condition' => array(
					'layout!' => array( 'layout-1', 'layout-2', 'layout-3', 'layout-4', 'layout-5', 'layout-6', 'layout-7', 'layout-8', 'layout-9', 'layout-10', 'layout-11' ),
				),
			)
		);
		$this->add_group_control(
			Group_Control_Typography::get_type(),
			array(
				'name'     => 'titleTypography',
				'selector' => '{{WRAPPER}} .eca-ihemain-wrapper .eca-iheheading-title',
			)
		);
		$this->start_controls_tabs( 'tabsTitleStyle' );
		$this->start_controls_tab(
			'titleNormal',
			array(
				'label' => esc_html__( 'Normal', 'essential-classy-addons-for-elementor' ),
			)
		);
		$this->add_control(
			'titleNColor',
			array(
				'label'     => esc_html__( 'Color', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::COLOR,
				'selectors' => array(
					'{{WRAPPER}} .eca-ihemain-wrapper .eca-iheheading-title' => 'color: {{VALUE}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Background::get_type(),
			array(
				'name'     => 'titleNBg',
				'types'    => array( 'classic', 'gradient' ),
				'selector' => '{{WRAPPER}} .eca-ihemain-wrapper .eca-iheheading-title',
			)
		);
		$this->add_group_control(
			Group_Control_Border::get_type(),
			array(
				'name'     => 'titleNBorder',
				'label'    => esc_html__( 'Border', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .eca-ihemain-wrapper .eca-iheheading-title',
			)
		);
		$this->add_responsive_control(
			'titleNBr',
			array(
				'label'      => esc_html__( 'Border Radius', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .eca-ihemain-wrapper .eca-iheheading-title' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			array(
				'name'     => 'titleNShadow',
				'selector' => '{{WRAPPER}} .eca-ihemain-wrapper .eca-iheheading-title',
			)
		);
		$this->add_group_control(
			Group_Control_Text_Shadow::get_type(),
			array(
				'name'     => 'titleNTextShadow',
				'label'    => esc_html__( 'Text Shadow', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .eca-ihemain-wrapper .eca-iheheading-title',
			)
		);
		$this->add_control(
			'titleNTransition',
			array(
				'label'       => esc_html__( 'Transition css', 'essential-classy-addons-for-elementor' ),
				'type'        => Controls_Manager::TEXT,
				'placeholder' => esc_html__( 'all 0.3s linear', 'essential-classy-addons-for-elementor' ),
				'selectors'   => array(
					'{{WRAPPER}} .eca-ihemain-wrapper .eca-iheheading-title' => 'transition: {{VALUE}};',
				),
				'separator'   => 'before',
			)
		);
		$this->add_control(
			'titleNTransform',
			array(
				'label'       => esc_html__( 'Transform css', 'essential-classy-addons-for-elementor' ),
				'type'        => Controls_Manager::TEXT,
				'placeholder' => esc_html__( 'rotate(25deg) scale(1.2)', 'essential-classy-addons-for-elementor' ),
				'selectors'   => array(
					'{{WRAPPER}} .eca-ihemain-wrapper .eca-iheheading-title' => 'transform: {{VALUE}};-ms-transform: {{VALUE}};-moz-transform: {{VALUE}};-webkit-transform: {{VALUE}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Css_Filter::get_type(),
			array(
				'name'     => 'titleNFilters',
				'selector' => '{{WRAPPER}} .eca-ihemain-wrapper .eca-iheheading-title',
			)
		);
		$this->end_controls_tab();
		$this->start_controls_tab(
			'titleHover',
			array(
				'label' => esc_html__( 'Hover', 'essential-classy-addons-for-elementor' ),
			)
		);
		$this->add_control(
			'titleHColor',
			array(
				'label'     => esc_html__( 'Color', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::COLOR,
				'selectors' => array(
					'{{WRAPPER}} .eca-ihemain-wrapper:hover .eca-iheheading-title' => 'color: {{VALUE}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Background::get_type(),
			array(
				'name'     => 'titleHBg',
				'types'    => array( 'classic', 'gradient' ),
				'selector' => '{{WRAPPER}} .eca-ihemain-wrapper:hover .eca-iheheading-title',
			)
		);
		$this->add_group_control(
			Group_Control_Border::get_type(),
			array(
				'name'     => 'titleHBorder',
				'label'    => esc_html__( 'Border', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .eca-ihemain-wrapper:hover .eca-iheheading-title',
			)
		);
		$this->add_responsive_control(
			'titleHBr',
			array(
				'label'      => esc_html__( 'Border Radius', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .eca-ihemain-wrapper:hover .eca-iheheading-title' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			array(
				'name'     => 'titleHShadow',
				'selector' => '{{WRAPPER}} .eca-ihemain-wrapper:hover .eca-iheheading-title',
			)
		);
		$this->add_group_control(
			Group_Control_Text_Shadow::get_type(),
			array(
				'name'     => 'titleHTextShadow',
				'label'    => esc_html__( 'Text Shadow', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .eca-ihemain-wrapper:hover .eca-iheheading-title',
			)
		);
		$this->add_control(
			'titleHTransition',
			array(
				'label'       => esc_html__( 'Transition css', 'essential-classy-addons-for-elementor' ),
				'type'        => Controls_Manager::TEXT,
				'placeholder' => esc_html__( 'all 0.3s linear', 'essential-classy-addons-for-elementor' ),
				'selectors'   => array(
					'{{WRAPPER}} .eca-ihemain-wrapper:hover .eca-iheheading-title' => 'transition: {{VALUE}};',
				),
				'separator'   => 'before',
			)
		);
		$this->add_control(
			'titleHTransform',
			array(
				'label'       => esc_html__( 'Transform css', 'essential-classy-addons-for-elementor' ),
				'type'        => Controls_Manager::TEXT,
				'placeholder' => esc_html__( 'rotate(25deg) scale(1.2)', 'essential-classy-addons-for-elementor' ),
				'selectors'   => array(
					'{{WRAPPER}} .eca-ihemain-wrapper:hover .eca-iheheading-title' => 'transform: {{VALUE}};-ms-transform: {{VALUE}};-moz-transform: {{VALUE}};-webkit-transform: {{VALUE}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Css_Filter::get_type(),
			array(
				'name'     => 'titleHFilters',
				'selector' => '{{WRAPPER}} .eca-ihemain-wrapper:hover .eca-iheheading-title',
			)
		);
		$this->end_controls_tab();
		$this->end_controls_tabs();
		$this->end_controls_section();
		/*title style end*/

		/*description style start*/
		$this->start_controls_section(
			'descriptionStyling',
			array(
				'label' => esc_html__( 'Description', 'essential-classy-addons-for-elementor' ),
				'tab'   => Controls_Manager::TAB_STYLE,
			)
		);
		$this->add_responsive_control(
			'descriptionPadding',
			array(
				'label'      => esc_html__( 'Padding', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', 'em', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .eca-ihemain-wrapper .eca-ihedescription' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_responsive_control(
			'descriptionMargin',
			array(
				'label'      => esc_html__( 'Margin', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', 'em', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .eca-ihemain-wrapper .eca-ihedescription' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_responsive_control(
			'descriptioncontentAlign',
			array(
				'label'     => esc_html__( 'Alignment', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::CHOOSE,
				'options'   => array(
					'left'    => array(
						'title' => esc_html__( 'Left', 'essential-classy-addons-for-elementor' ),
						'icon'  => 'eicon-text-align-left',
					),
					'center'  => array(
						'title' => esc_html__( 'Center', 'essential-classy-addons-for-elementor' ),
						'icon'  => 'eicon-text-align-center',
					),
					'right'   => array(
						'title' => esc_html__( 'Right', 'essential-classy-addons-for-elementor' ),
						'icon'  => 'eicon-text-align-right',
					),
					'justify' => array(
						'title' => esc_html__( 'Justify', 'essential-classy-addons-for-elementor' ),
						'icon'  => 'eicon-h-align-stretch',
					),
				),
				'selectors' => array(
					'{{WRAPPER}} .eca-ihemain-wrapper .eca-ihedescription' => 'text-align:{{VALUE}};',
				),
				'condition' => array(
					'layout!' => array( 'layout-1', 'layout-2', 'layout-3', 'layout-4', 'layout-5', 'layout-6', 'layout-7', 'layout-9', 'layout-10', 'layout-11' ),
				),
			)
		);
		$this->add_group_control(
			Group_Control_Typography::get_type(),
			array(
				'name'     => 'descriptionTypography',
				'selector' => '{{WRAPPER}} .eca-ihemain-wrapper .eca-ihedescription,{{WRAPPER}} .eca-ihemain-wrapper .eca-ihedescription p',
			)
		);
		$this->start_controls_tabs( 'tabsDescriptionStyle' );
		$this->start_controls_tab(
			'descriptionNormal',
			array(
				'label' => esc_html__( 'Normal', 'essential-classy-addons-for-elementor' ),
			)
		);
		$this->add_control(
			'descriptionNColor',
			array(
				'label'     => esc_html__( 'Color', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::COLOR,
				'selectors' => array(
					'{{WRAPPER}} .eca-ihemain-wrapper .eca-ihedescription' => 'color: {{VALUE}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Background::get_type(),
			array(
				'name'     => 'descriptionNBg',
				'types'    => array( 'classic', 'gradient' ),
				'selector' => '{{WRAPPER}} .eca-ihemain-wrapper .eca-ihedescription',
			)
		);
		$this->add_group_control(
			Group_Control_Border::get_type(),
			array(
				'name'     => 'descriptionNBorder',
				'label'    => esc_html__( 'Border', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .eca-ihemain-wrapper .eca-ihedescription',
			)
		);
		$this->add_responsive_control(
			'descriptionNBr',
			array(
				'label'      => esc_html__( 'Border Radius', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .eca-ihemain-wrapper .eca-ihedescription' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			array(
				'name'     => 'descriptionNShadow',
				'selector' => '{{WRAPPER}} .eca-ihemain-wrapper .eca-ihedescription',
			)
		);
		$this->add_group_control(
			Group_Control_Text_Shadow::get_type(),
			array(
				'name'     => 'descriptionNTextShadow',
				'label'    => esc_html__( 'Text Shadow', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .eca-ihemain-wrapper .eca-ihedescription',
			)
		);
		$this->add_control(
			'descriptionNTransition',
			array(
				'label'       => esc_html__( 'Transition css', 'essential-classy-addons-for-elementor' ),
				'type'        => Controls_Manager::TEXT,
				'placeholder' => esc_html__( 'all 0.3s linear', 'essential-classy-addons-for-elementor' ),
				'selectors'   => array(
					'{{WRAPPER}} .eca-ihemain-wrapper .eca-ihedescription' => 'transition: {{VALUE}};',
				),
				'separator'   => 'before',
			)
		);
		$this->add_control(
			'descriptionNTransform',
			array(
				'label'       => esc_html__( 'Transform css', 'essential-classy-addons-for-elementor' ),
				'type'        => Controls_Manager::TEXT,
				'placeholder' => esc_html__( 'rotate(25deg) scale(1.2)', 'essential-classy-addons-for-elementor' ),
				'selectors'   => array(
					'{{WRAPPER}} .eca-ihemain-wrapper .eca-ihedescription' => 'transform: {{VALUE}};-ms-transform: {{VALUE}};-moz-transform: {{VALUE}};-webkit-transform: {{VALUE}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Css_Filter::get_type(),
			array(
				'name'     => 'descriptionNFilters',
				'selector' => '{{WRAPPER}} .eca-ihemain-wrapper .eca-ihedescription',
			)
		);
		$this->end_controls_tab();
		$this->start_controls_tab(
			'descriptionHover',
			array(
				'label' => esc_html__( 'Hover', 'essential-classy-addons-for-elementor' ),
			)
		);
		$this->add_control(
			'descriptionHColor',
			array(
				'label'     => esc_html__( 'Color', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::COLOR,
				'selectors' => array(
					'{{WRAPPER}} .eca-ihemain-wrapper:hover .eca-ihedescription' => 'color: {{VALUE}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Background::get_type(),
			array(
				'name'     => 'descriptionHBg',
				'types'    => array( 'classic', 'gradient' ),
				'selector' => '{{WRAPPER}} .eca-ihemain-wrapper:hover .eca-ihedescription',
			)
		);
		$this->add_group_control(
			Group_Control_Border::get_type(),
			array(
				'name'     => 'descriptionHBorder',
				'label'    => esc_html__( 'Border', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .eca-ihemain-wrapper:hover .eca-ihedescription',
			)
		);
		$this->add_responsive_control(
			'descriptionHBr',
			array(
				'label'      => esc_html__( 'Border Radius', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .eca-ihemain-wrapper:hover .eca-ihedescription' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			array(
				'name'     => 'descriptionHShadow',
				'selector' => '{{WRAPPER}} .eca-ihemain-wrapper:hover .eca-ihedescription',
			)
		);
		$this->add_group_control(
			Group_Control_Text_Shadow::get_type(),
			array(
				'name'     => 'descriptionHTextShadow',
				'label'    => esc_html__( 'Text Shadow', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .eca-ihemain-wrapper:hover .eca-ihedescription',
			)
		);
		$this->add_control(
			'descriptionHTransition',
			array(
				'label'       => esc_html__( 'Transition css', 'essential-classy-addons-for-elementor' ),
				'type'        => Controls_Manager::TEXT,
				'placeholder' => esc_html__( 'all 0.3s linear', 'essential-classy-addons-for-elementor' ),
				'selectors'   => array(
					'{{WRAPPER}} .eca-ihemain-wrapper:hover .eca-ihedescription' => 'transition: {{VALUE}};',
				),
				'separator'   => 'before',
			)
		);
		$this->add_control(
			'descriptionHTransform',
			array(
				'label'       => esc_html__( 'Transform css', 'essential-classy-addons-for-elementor' ),
				'type'        => Controls_Manager::TEXT,
				'placeholder' => esc_html__( 'rotate(25deg) scale(1.2)', 'essential-classy-addons-for-elementor' ),
				'selectors'   => array(
					'{{WRAPPER}} .eca-ihemain-wrapper:hover .eca-ihedescription' => 'transform: {{VALUE}};-ms-transform: {{VALUE}};-moz-transform: {{VALUE}};-webkit-transform: {{VALUE}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Css_Filter::get_type(),
			array(
				'name'     => 'descriptionHFilters',
				'selector' => '{{WRAPPER}} .eca-ihemain-wrapper:hover .eca-ihedescription',
			)
		);
		$this->end_controls_tab();
		$this->end_controls_tabs();
		$this->end_controls_section();
		/*description style end*/

		/*button icon style start*/
		$this->start_controls_section(
			'buttonIcontextStyling',
			array(
				'label' => esc_html__( 'Button Icon/Text', 'essential-classy-addons-for-elementor' ),
				'tab'   => Controls_Manager::TAB_STYLE,
			)
		);
		$this->add_responsive_control(
			'buttonIconpadding',
			array(
				'label'      => esc_html__( 'Padding', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', 'em', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .eca-ihemain-wrapper .eca-iheicons .eca-iheicon' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_responsive_control(
			'buttonIconInnerpadding',
			array(
				'label'      => esc_html__( 'Icon Padding', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', 'em', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .eca-ihemain-wrapper .eca-iheicons .eca-iheicon i' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_responsive_control(
			'buttonIconmargin',
			array(
				'label'      => esc_html__( 'Margin', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', 'em', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .eca-ihemain-wrapper .eca-iheicons .eca-iheicon' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_responsive_control(
			'button8Align',
			array(
				'label'     => esc_html__( 'Alignment', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::CHOOSE,
				'options'   => array(
					'flex-start' => array(
						'title' => esc_html__( 'Left', 'essential-classy-addons-for-elementor' ),
						'icon'  => 'eicon-text-align-left',
					),
					'center'     => array(
						'title' => esc_html__( 'Center', 'essential-classy-addons-for-elementor' ),
						'icon'  => 'eicon-text-align-center',
					),
					'flex-end'   => array(
						'title' => esc_html__( 'Right', 'essential-classy-addons-for-elementor' ),
						'icon'  => 'eicon-text-align-right',
					),
				),
				'selectors' => array(
					'{{WRAPPER}} .eca-ihemain-wrapper .eca-iheicons' => 'justify-content:{{VALUE}};width:100%;',
				),
				'condition' => array(
					'layout' => 'layout-8',
				),
			)
		);
		$this->add_responsive_control(
			'buttonIconOffset',
			array(
				'type'        => Controls_Manager::SLIDER,
				'label'       => esc_html__( 'Bottom Offset', 'essential-classy-addons-for-elementor' ),
				'size_units'  => array( 'px' ),
				'range'       => array(
					'px' => array(
						'min'  => 0,
						'max'  => 200,
						'step' => 1,
					),
				),
				'render_type' => 'ui',
				'selectors'   => array(
					'{{WRAPPER}} .eca-ihemain-wrapper.layout-1 .eca-iheicons' => 'bottom: {{SIZE}}px;',
				),
				'condition'   => array(
					'layout' => 'layout-1',
				),
			)
		);
		$this->add_responsive_control(
			'buttonIconsize',
			array(
				'label'      => esc_html__( 'Size', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::SLIDER,
				'size_units' => array( 'px', '%' ),
				'range'      => array(
					'px' => array(
						'min'  => 1,
						'max'  => 100,
						'step' => 1,
					),
					'%'  => array(
						'min'  => 1,
						'max'  => 100,
						'step' => 1,
					),
				),
				'default'    => array(
					'unit' => 'px',
					'size' => 20,
				),
				'selectors'  => array(
					'{{WRAPPER}} .eca-ihemain-wrapper .eca-iheicons .eca-iheicon i' => 'font-size: {{SIZE}}{{UNIT}};',
					'{{WRAPPER}} .eca-ihemain-wrapper .eca-iheicons .eca-iheicon svg' => 'width: {{SIZE}}{{UNIT}};height: {{SIZE}}{{UNIT}};',
				),
				'condition'  => array(
					'buttonType' => 'icon',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Typography::get_type(),
			array(
				'name'      => 'buttonTexttypography',
				'selector'  => '{{WRAPPER}} .eca-ihemain-wrapper .eca-iheicons .eca-iheicon',
				'condition' => array(
					'buttonType' => 'text',
				),
			)
		);
		$this->start_controls_tabs( 'tabs_buttonIconstyle' );
		$this->start_controls_tab(
			'buttonIconnormal',
			array(
				'label' => esc_html__( 'Normal', 'essential-classy-addons-for-elementor' ),
			)
		);
		$this->add_control(
			'buttonIconNColor',
			array(
				'label'     => esc_html__( 'Color', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::COLOR,
				'selectors' => array(
					'{{WRAPPER}} .eca-ihemain-wrapper .eca-iheicons .eca-iheicon i,{{WRAPPER}} .eca-ihemain-wrapper .eca-iheicons .eca-iheicon' => 'color: {{VALUE}};',
					'{{WRAPPER}} .eca-ihemain-wrapper .eca-iheicons .eca-iheicon svg' => 'fill : {{VALUE}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Background::get_type(),
			array(
				'name'      => 'buttonIconNBg',
				'types'     => array( 'classic', 'gradient' ),
				'selector'  => '{{WRAPPER}} .eca-ihemain-wrapper .eca-iheicons .eca-iheicon',
				'condition' => array(
					'buttonIconEffectH!' => 'yes',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Border::get_type(),
			array(
				'name'     => 'buttonIconNBorder',
				'label'    => esc_html__( 'Border', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .eca-ihemain-wrapper .eca-iheicons .eca-iheicon',
			)
		);
		$this->add_responsive_control(
			'buttonIconNBr',
			array(
				'label'      => esc_html__( 'Border Radius', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .eca-ihemain-wrapper .eca-iheicons .eca-iheicon' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			array(
				'name'     => 'buttonIconNShadow',
				'selector' => '{{WRAPPER}} .eca-ihemain-wrapper .eca-iheicons .eca-iheicon',
			)
		);
		$this->end_controls_tab();
		$this->start_controls_tab(
			'buttonIcoNHover',
			array(
				'label' => esc_html__( 'Hover', 'essential-classy-addons-for-elementor' ),
			)
		);
		$this->add_control(
			'buttonIconEffectH',
			array(
				'label'     => esc_html__( 'Hover Effect', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::SWITCHER,
				'label_on'  => esc_html__( 'Enable', 'essential-classy-addons-for-elementor' ),
				'label_off' => esc_html__( 'Disable', 'essential-classy-addons-for-elementor' ),
				'default'   => 'no',
			)
		);
		$this->add_control(
			'buttonIconEffectPosH',
			array(
				'label'     => esc_html__( 'Position', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::SELECT,
				'default'   => '',
				'options'   => array(
					''                      => esc_html__( 'Bottom', 'essential-classy-addons-for-elementor' ),
					'eca-iheicons-he-top'   => esc_html__( 'Top', 'essential-classy-addons-for-elementor' ),
					'eca-iheicons-he-left'  => esc_html__( 'Left', 'essential-classy-addons-for-elementor' ),
					'eca-iheicons-he-right' => esc_html__( 'Right', 'essential-classy-addons-for-elementor' ),
				),
				'condition' => array(
					'buttonIconEffectH' => 'yes',
				),
			)
		);
		$this->add_control(
			'buttonIconHColor',
			array(
				'label'     => esc_html__( 'Color', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::COLOR,
				'selectors' => array(
					'{{WRAPPER}} .eca-ihemain-wrapper .eca-iheicons .eca-iheicon:hover i,{{WRAPPER}} .eca-ihemain-wrapper .eca-iheicons .eca-iheicon:hover' => 'color: {{VALUE}};',
					'{{WRAPPER}} .eca-ihemain-wrapper .eca-iheicons .eca-iheicon:hover svg' => 'fill: {{VALUE}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Background::get_type(),
			array(
				'name'      => 'buttonIconHBg',
				'types'     => array( 'classic', 'gradient' ),
				'selector'  => '{{WRAPPER}} .eca-ihemain-wrapper .eca-iheicons .eca-iheicon:hover',
				'condition' => array(
					'buttonIconEffectH!' => 'yes',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Background::get_type(),
			array(
				'name'      => 'buttonIconHEffectBg',
				'types'     => array( 'classic', 'gradient' ),
				'selector'  => '{{WRAPPER}} .eca-ihemain-wrapper .eca-iheicons.eca-iheicons-he .eca-iheicon:hover:after',
				'condition' => array(
					'buttonIconEffectH' => 'yes',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Border::get_type(),
			array(
				'name'     => 'buttonIconHBorder',
				'label'    => esc_html__( 'Border', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .eca-ihemain-wrapper .eca-iheicons .eca-iheicon:hover',
			)
		);
		$this->add_responsive_control(
			'buttonIconHBr',
			array(
				'label'      => esc_html__( 'Border Radius', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .eca-ihemain-wrapper .eca-iheicons .eca-iheicon:hover' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			array(
				'name'     => 'buttonIconHShadow',
				'selector' => '{{WRAPPER}} .eca-ihemain-wrapper .eca-iheicons .eca-iheicon:hover',
			)
		);
		$this->end_controls_tab();
		$this->end_controls_tabs();
		$this->end_controls_section();
		/*button icon/text style end*/

		/*image/background style start*/

		$this->start_controls_section(
			'image2728Styling',
			array(
				'label'     => esc_html__( 'Image', 'essential-classy-addons-for-elementor' ),
				'tab'       => Controls_Manager::TAB_STYLE,
				'condition' => array(
					'layout' => array( 'layout-27', 'layout-28' ),
				),
			)
		);
		$this->start_controls_tabs( 'tabsImage2728Style' );
		$this->start_controls_tab(
			'image2728N',
			array(
				'label' => esc_html__( 'Normal', 'essential-classy-addons-for-elementor' ),
			)
		);
		$this->add_group_control(
			Group_Control_Border::get_type(),
			array(
				'name'     => 'image2728Border',
				'label'    => esc_html__( 'Border', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .eca-ihemain-wrapper.layout-27 .eca-iheimage,{{WRAPPER}} .eca-ihemain-wrapper.layout-28 .eca-iheimage',
			)
		);
		$this->add_responsive_control(
			'image2728Br',
			array(
				'label'      => esc_html__( 'Border Radius', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .eca-ihemain-wrapper.layout-27 .eca-iheimage,{{WRAPPER}} .eca-ihemain-wrapper.layout-28 .eca-iheimage' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			array(
				'name'     => 'image2728Shadow',
				'selector' => '{{WRAPPER}} .eca-ihemain-wrapper.layout-27 .eca-iheimage,{{WRAPPER}} .eca-ihemain-wrapper.layout-28 .eca-iheimage',
			)
		);
		$this->end_controls_tab();
		$this->start_controls_tab(
			'image2728H',
			array(
				'label' => esc_html__( 'Hover', 'essential-classy-addons-for-elementor' ),
			)
		);
		$this->add_responsive_control(
			'image2728Scale',
			array(
				'label'      => esc_html__( 'Scale', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::SLIDER,
				'size_units' => array( 'px' ),
				'range'      => array(
					'px' => array(
						'min'  => 0.1,
						'max'  => 1,
						'step' => 0.1,
					),
				),
				'selectors'  => array(
					'{{WRAPPER}} .eca-ihemain-wrapper.layout-27:hover .eca-iheimage,{{WRAPPER}} .eca-ihemain-wrapper.layout-28:hover .eca-iheimage' => 'transform: scale({{SIZE}});',
				),
			)
		);
		$this->add_responsive_control(
			'image2728ConnentBottomGap',
			array(
				'label'      => esc_html__( 'Content Offset', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::SLIDER,
				'size_units' => array( '%' ),
				'range'      => array(
					'%' => array(
						'min'  => 0,
						'max'  => 100,
						'step' => 1,
					),
				),
				'selectors'  => array(
					'{{WRAPPER}} .eca-ihemain-wrapper.layout-27:hover .eca-ihehover-21-70,{{WRAPPER}} .eca-ihemain-wrapper.layout-28:hover .eca-ihehover-21-70' => 'top: {{SIZE}}%;',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Border::get_type(),
			array(
				'name'     => 'image2728BorderH',
				'label'    => esc_html__( 'Border', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .eca-ihemain-wrapper.layout-27:hover .eca-iheimage,{{WRAPPER}} .eca-ihemain-wrapper.layout-28:hover .eca-iheimage',
			)
		);
		$this->add_responsive_control(
			'image2728BrH',
			array(
				'label'      => esc_html__( 'Border Radius', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .eca-ihemain-wrapper.layout-27:hover .eca-iheimage,{{WRAPPER}} .eca-ihemain-wrapper.layout-28:hover .eca-iheimage' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			array(
				'name'     => 'image2728ShadowH',
				'selector' => '{{WRAPPER}} .eca-ihemain-wrapper.layout-27:hover .eca-iheimage,{{WRAPPER}} .eca-ihemain-wrapper.layout-28:hover .eca-iheimage',
			)
		);
		$this->end_controls_tab();
		$this->end_controls_tabs();
		$this->end_controls_section();

		$this->start_controls_section(
			'innerbox2728Styling',
			array(
				'label'     => esc_html__( 'Inner Box', 'essential-classy-addons-for-elementor' ),
				'tab'       => Controls_Manager::TAB_STYLE,
				'condition' => array(
					'layout' => array( 'layout-27', 'layout-28' ),
				),
			)
		);
		$this->add_responsive_control(
			'ib2728Padding',
			array(
				'label'      => esc_html__( 'Padding', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', 'em', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .eca-ihemain-wrapper.eca-ihe27-28 .eca-ihehover-21-70' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->start_controls_tabs( 'tabsIB2728Style' );
		$this->start_controls_tab(
			'ib2728N',
			array(
				'label' => esc_html__( 'Normal', 'essential-classy-addons-for-elementor' ),
			)
		);
		$this->add_group_control(
			Group_Control_Background::get_type(),
			array(
				'name'     => 'ibBg',
				'types'    => array( 'classic', 'gradient' ),
				'selector' => '{{WRAPPER}} .eca-ihemain-wrapper.eca-ihe27-28 .eca-ihehover-21-70',
			)
		);
		$this->add_group_control(
			Group_Control_Border::get_type(),
			array(
				'name'     => 'ib2728Border',
				'label'    => esc_html__( 'Border', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .eca-ihemain-wrapper.eca-ihe27-28 .eca-ihehover-21-70',
			)
		);
		$this->add_responsive_control(
			'ib2728Br',
			array(
				'label'      => esc_html__( 'Border Radius', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .eca-ihemain-wrapper.eca-ihe27-28 .eca-ihehover-21-70' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			array(
				'name'     => 'ib2728Shadow',
				'selector' => '{{WRAPPER}} .eca-ihemain-wrapper.eca-ihe27-28 .eca-ihehover-21-70',
			)
		);
		$this->end_controls_tab();
		$this->start_controls_tab(
			'ib2728H',
			array(
				'label' => esc_html__( 'Hover', 'essential-classy-addons-for-elementor' ),
			)
		);
		$this->add_group_control(
			Group_Control_Background::get_type(),
			array(
				'name'     => 'ib2728HBg',
				'types'    => array( 'classic', 'gradient' ),
				'selector' => '{{WRAPPER}} .eca-ihemain-wrapper.eca-ihe27-28 .eca-ihehover-21-70:hover',
			)
		);
		$this->add_group_control(
			Group_Control_Border::get_type(),
			array(
				'name'     => 'ib2728BorderH',
				'label'    => esc_html__( 'Border', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .eca-ihemain-wrapper.eca-ihe27-28 .eca-ihehover-21-70:hover',
			)
		);
		$this->add_responsive_control(
			'ib2728BrH',
			array(
				'label'      => esc_html__( 'Border Radius', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .eca-ihemain-wrapper.eca-ihe27-28 .eca-ihehover-21-70:hover' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			array(
				'name'     => 'ib2728ShadowH',
				'selector' => '{{WRAPPER}} .eca-ihemain-wrapper.eca-ihe27-28 .eca-ihehover-21-70:hover',
			)
		);
		$this->end_controls_tab();
		$this->end_controls_tabs();
		$this->end_controls_section();

		$this->start_controls_section(
			'mainbox2728Styling',
			array(
				'label'     => esc_html__( 'Box', 'essential-classy-addons-for-elementor' ),
				'tab'       => Controls_Manager::TAB_STYLE,
				'condition' => array(
					'layout' => array( 'layout-27', 'layout-28' ),
				),
			)
		);
		$this->start_controls_tabs( 'tabsmB2728Style' );
		$this->start_controls_tab(
			'mb2728N',
			array(
				'label' => esc_html__( 'Normal', 'essential-classy-addons-for-elementor' ),
			)
		);
		$this->add_group_control(
			Group_Control_Background::get_type(),
			array(
				'name'     => 'mbBg',
				'types'    => array( 'classic', 'gradient' ),
				'selector' => '{{WRAPPER}} .eca-ihemain-wrapper.eca-ihe27-28',
			)
		);
		$this->add_group_control(
			Group_Control_Border::get_type(),
			array(
				'name'     => 'mb2728Border',
				'label'    => esc_html__( 'Border', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .eca-ihemain-wrapper.eca-ihe27-28',
			)
		);
		$this->add_responsive_control(
			'mb2728Br',
			array(
				'label'      => esc_html__( 'Border Radius', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .eca-ihemain-wrapper.eca-ihe27-28' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			array(
				'name'     => 'mb2728Shadow',
				'selector' => '{{WRAPPER}} .eca-ihemain-wrapper.eca-ihe27-28',
			)
		);
		$this->end_controls_tab();
		$this->start_controls_tab(
			'mb2728H',
			array(
				'label' => esc_html__( 'Hover', 'essential-classy-addons-for-elementor' ),
			)
		);
		$this->add_group_control(
			Group_Control_Background::get_type(),
			array(
				'name'     => 'mbHBg',
				'types'    => array( 'classic', 'gradient' ),
				'selector' => '{{WRAPPER}} .eca-ihemain-wrapper.eca-ihe27-28:hover',
			)
		);
		$this->add_group_control(
			Group_Control_Border::get_type(),
			array(
				'name'     => 'mb2728BorderH',
				'label'    => esc_html__( 'Border', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .eca-ihemain-wrapper.eca-ihe27-28:hover',
			)
		);
		$this->add_responsive_control(
			'mb2728BrH',
			array(
				'label'      => esc_html__( 'Border Radius', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .eca-ihemain-wrapper.eca-ihe27-28:hover' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			array(
				'name'     => 'mb2728ShadowH',
				'selector' => '{{WRAPPER}} .eca-ihemain-wrapper.eca-ihe27-28:hover',
			)
		);
		$this->end_controls_tab();
		$this->end_controls_tabs();
		$this->end_controls_section();

		$this->start_controls_section(
			'imageBackgroundStyling',
			array(
				'label'     => esc_html__( 'Image', 'essential-classy-addons-for-elementor' ),
				'tab'       => Controls_Manager::TAB_STYLE,
				'condition' => array(
					'layout' => array( 'layout-3', 'layout-4', 'layout-5', 'layout-6', 'layout-7', 'layout-8', 'layout-9', 'layout-10', 'layout-11' ),
				),
			)
		);
		$this->add_responsive_control(
			'ibMaxWidth',
			array(
				'type'        => Controls_Manager::SLIDER,
				'label'       => esc_html__( 'Max Width', 'essential-classy-addons-for-elementor' ),
				'size_units'  => array( 'px' ),
				'range'       => array(
					'px' => array(
						'min'  => 1,
						'max'  => 500,
						'step' => 1,
					),
				),
				'render_type' => 'ui',
				'selectors'   => array(
					'{{WRAPPER}} .eca-ihemain-wrapper .eca-iheimage' => 'max-width: {{SIZE}}{{unit}};',
				),
			)
		);
		$this->add_responsive_control(
			'ibWidth',
			array(
				'type'        => Controls_Manager::SLIDER,
				'label'       => esc_html__( 'Width', 'essential-classy-addons-for-elementor' ),
				'size_units'  => array( 'px' ),
				'range'       => array(
					'px' => array(
						'min'  => 1,
						'max'  => 500,
						'step' => 1,
					),
				),
				'render_type' => 'ui',
				'selectors'   => array(
					'{{WRAPPER}} .eca-ihemain-wrapper .eca-iheimage' => 'width: {{SIZE}}{{unit}};',
				),
			)
		);
		$this->add_responsive_control(
			'ibHeight',
			array(
				'type'        => Controls_Manager::SLIDER,
				'label'       => esc_html__( 'Height', 'essential-classy-addons-for-elementor' ),
				'size_units'  => array( 'px' ),
				'range'       => array(
					'px' => array(
						'min'  => 1,
						'max'  => 500,
						'step' => 1,
					),
				),
				'render_type' => 'ui',
				'selectors'   => array(
					'{{WRAPPER}} .eca-ihemain-wrapper .eca-iheimage' => 'height: {{SIZE}}{{unit}};',
				),
			)
		);
		$this->add_responsive_control(
			'st671011TopOffset',
			array(
				'label'      => esc_html__( 'Top Offset', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::SLIDER,
				'size_units' => array( 'px' ),
				'range'      => array(
					'px' => array(
						'max'  => 200,
						'min'  => -200,
						'step' => 1,
					),
				),
				'selectors'  => array(
					'{{WRAPPER}} .eca-ihemain-wrapper .eca-iheimage' => 'top: {{SIZE}}{{UNIT}};',
				),
				'condition'  => array(
					'layout!' => array( 'layout-1', 'layout-2', 'layout-3', 'layout-4', 'layout-5', 'layout-8', 'layout-9', 'layout-12', 'layout-13', 'layout-14', 'layout-15', 'layout-16', 'layout-17', 'layout-18', 'layout-19', 'layout-20', 'layout-21', 'layout-22', 'layout-23', 'layout-24', 'layout-25', 'layout-26', 'layout-27', 'layout-28' ),
				),
			)
		);
		$this->add_responsive_control(
			'st6LeftOffset',
			array(
				'label'      => esc_html__( 'Left Offset', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::SLIDER,
				'size_units' => array( 'px' ),
				'range'      => array(
					'px' => array(
						'max'  => 200,
						'min'  => -200,
						'step' => 1,
					),
				),
				'selectors'  => array(
					'{{WRAPPER}} .eca-ihemain-wrapper .eca-iheimage' => 'left: {{SIZE}}{{UNIT}};',
				),
				'condition'  => array(
					'layout' => 'layout-6',
				),
			)
		);
		$this->add_responsive_control(
			'st7RightOffset',
			array(
				'label'      => esc_html__( 'Right Offset', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::SLIDER,
				'size_units' => array( 'px' ),
				'range'      => array(
					'px' => array(
						'max'  => 200,
						'min'  => -200,
						'step' => 1,
					),
				),
				'selectors'  => array(
					'{{WRAPPER}} .eca-ihemain-wrapper .eca-iheimage' => 'right: {{SIZE}}{{UNIT}};',
				),
				'condition'  => array(
					'layout' => 'layout-7',
				),
			)
		);
		$this->add_responsive_control(
			'image1011Padding',
			array(
				'label'      => esc_html__( 'Padding', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', 'em', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .eca-ihemain-wrapper .eca-iheimage' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
				'condition'  => array(
					'layout' => array( 'layout-3', 'layout-4', 'layout-5', 'layout-10', 'layout-11' ),
				),
			)
		);
		$this->add_responsive_control(
			'imageMargin',
			array(
				'label'      => esc_html__( 'Margin', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', 'em', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .eca-ihemain-wrapper .eca-iheimage' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
				'condition'  => array(
					'layout' => array( 'layout-3', 'layout-4', 'layout-5' ),
				),
			)
		);
		$this->start_controls_tabs( 'tabsIbStyle' );
		$this->start_controls_tab(
			'ibNormal',
			array(
				'label' => esc_html__( 'Normal', 'essential-classy-addons-for-elementor' ),
			)
		);
		$this->add_group_control(
			Group_Control_Background::get_type(),
			array(
				'name'     => 'ibNBg',
				'types'    => array( 'classic', 'gradient' ),
				'selector' => '{{WRAPPER}} .eca-ihemain-wrapper .eca-iheimage',
			)
		);
		$this->add_group_control(
			Group_Control_Border::get_type(),
			array(
				'name'     => 'ibNBorder',
				'label'    => esc_html__( 'Border', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .eca-ihemain-wrapper .eca-iheimage',
			)
		);
		$this->add_responsive_control(
			'ibNBr',
			array(
				'label'      => esc_html__( 'Border Radius', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .eca-ihemain-wrapper .eca-iheimage' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			array(
				'name'     => 'ibNShadow',
				'selector' => '{{WRAPPER}} .eca-ihemain-wrapper .eca-iheimage',
			)
		);
		$this->add_control(
			'ibNTransition',
			array(
				'label'       => esc_html__( 'Transition css', 'essential-classy-addons-for-elementor' ),
				'type'        => Controls_Manager::TEXT,
				'placeholder' => esc_html__( 'all 0.3s linear', 'essential-classy-addons-for-elementor' ),
				'selectors'   => array(
					'{{WRAPPER}} .eca-ihemain-wrapper .eca-iheimage' => 'ms-transition: {{VALUE}};',
				),
				'separator'   => 'before',
			)
		);
		$this->add_control(
			'ibNTransform',
			array(
				'label'       => esc_html__( 'Transform css', 'essential-classy-addons-for-elementor' ),
				'type'        => Controls_Manager::TEXT,
				'placeholder' => esc_html__( 'rotate(25deg) scale(1.2)', 'essential-classy-addons-for-elementor' ),
				'selectors'   => array(
					'{{WRAPPER}} .eca-ihemain-wrapper .eca-iheimage' => 'transform: {{VALUE}};-ms-transform: {{VALUE}};-moz-transform: {{VALUE}};-webkit-transform: {{VALUE}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Css_Filter::get_type(),
			array(
				'name'     => 'ibNFilters',
				'selector' => '{{WRAPPER}} .eca-ihemain-wrapper .eca-iheimage',
			)
		);
		$this->end_controls_tab();
		$this->start_controls_tab(
			'ibHover',
			array(
				'label' => esc_html__( 'Hover', 'essential-classy-addons-for-elementor' ),
			)
		);
		$this->add_group_control(
			Group_Control_Background::get_type(),
			array(
				'name'     => 'ibHBg',
				'types'    => array( 'classic', 'gradient' ),
				'selector' => '{{WRAPPER}} .eca-ihemain-wrapper:hover .eca-iheimage',
			)
		);
		$this->add_group_control(
			Group_Control_Border::get_type(),
			array(
				'name'     => 'ibHBorder',
				'label'    => esc_html__( 'Border', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .eca-ihemain-wrapper:hover .eca-iheimage',
			)
		);
		$this->add_responsive_control(
			'ibHBr',
			array(
				'label'      => esc_html__( 'Border Radius', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .eca-ihemain-wrapper:hover .eca-iheimage' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			array(
				'name'     => 'ibHShadow',
				'selector' => '{{WRAPPER}} .eca-ihemain-wrapper:hover .eca-iheimage',
			)
		);
		$this->add_control(
			'ibHTransition',
			array(
				'label'       => esc_html__( 'Transition css', 'essential-classy-addons-for-elementor' ),
				'type'        => Controls_Manager::TEXT,
				'placeholder' => esc_html__( 'all 0.3s linear', 'essential-classy-addons-for-elementor' ),
				'selectors'   => array(
					'{{WRAPPER}} .eca-ihemain-wrapper:hover .eca-iheimage' => 'transition: {{VALUE}};',
				),
				'separator'   => 'before',
			)
		);
		$this->add_control(
			'ibHTransform',
			array(
				'label'       => esc_html__( 'Transform css', 'essential-classy-addons-for-elementor' ),
				'type'        => Controls_Manager::TEXT,
				'placeholder' => esc_html__( 'rotate(25deg) scale(1.2)', 'essential-classy-addons-for-elementor' ),
				'selectors'   => array(
					'{{WRAPPER}} .eca-ihemain-wrapper:hover .eca-iheimage' => 'transform: {{VALUE}};-ms-transform: {{VALUE}};-moz-transform: {{VALUE}};-webkit-transform: {{VALUE}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Css_Filter::get_type(),
			array(
				'name'     => 'ibHFilters',
				'selector' => '{{WRAPPER}} .eca-ihemain-wrapper:hover .eca-iheimage',
			)
		);
		$this->end_controls_tab();
		$this->end_controls_tabs();
		$this->end_controls_section();
		/*image style end*/

		/*background style start*/
		$this->start_controls_section(
			'background21_26Styling',
			array(
				'label'     => esc_html__( 'Background', 'essential-classy-addons-for-elementor' ),
				'tab'       => Controls_Manager::TAB_STYLE,
				'condition' => array(
					'layout' => array( 'layout-21', 'layout-22', 'layout-23', 'layout-24', 'layout-25', 'layout-26' ),
				),
			)
		);
		$this->add_group_control(
			Group_Control_Background::get_type(),
			array(
				'name'     => 'background21_26Opt',
				'types'    => array( 'classic', 'gradient' ),
				'selector' => '{{WRAPPER}} .eca-ihemain-wrapper.eca-ihe21-70,
				{{WRAPPER}} .eca-ihemain-wrapper.layout-21 .eca-ihehover-21-70',
			)
		);
		$this->end_controls_section();
		/*
		image style end*/
		/*background style start*/
		$this->start_controls_section(
			'background13_20Styling',
			array(
				'label'     => esc_html__( 'Background Image', 'essential-classy-addons-for-elementor' ),
				'tab'       => Controls_Manager::TAB_STYLE,
				'condition' => array(
					'layout' => array( 'layout-13', 'layout-14', 'layout-15', 'layout-16', 'layout-17', 'layout-18', 'layout-19', 'layout-20' ),
				),
			)
		);
		$this->add_responsive_control(
			'bg13_20MinHeight',
			array(
				'type'        => Controls_Manager::SLIDER,
				'label'       => esc_html__( 'Min. Height', 'essential-classy-addons-for-elementor' ),
				'size_units'  => array( 'px' ),
				'range'       => array(
					'px' => array(
						'min'  => 1,
						'max'  => 1000,
						'step' => 10,
					),
				),
				'render_type' => 'ui',
				'selectors'   => array(
					'{{WRAPPER}} .eca-ihemain-wrapper .eca-ihebg-img-12' => 'min-height: {{SIZE}}{{unit}};',
				),
			)
		);
		$this->add_control(
			'bg13_20Size',
			array(
				'label'     => esc_html__( 'Background Size', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::SELECT,
				'default'   => 'cover',
				'options'   => array(
					'auto'    => esc_html__( 'Auto', 'essential-classy-addons-for-elementor' ),
					'cover'   => esc_html__( 'Cover', 'essential-classy-addons-for-elementor' ),
					'contain' => esc_html__( 'Contain', 'essential-classy-addons-for-elementor' ),
				),
				'selectors' => array(
					'{{WRAPPER}} .eca-ihemain-wrapper .eca-ihebg-img-12' => 'background-size: {{VALUE}};',
				),
			)
		);
		$this->add_control(
			'bg13_20Repeat',
			array(
				'label'     => esc_html__( 'Background Repeat', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::SELECT,
				'default'   => 'no-repeat',
				'options'   => array(
					'no-repeat' => esc_html__( 'No-repeat', 'essential-classy-addons-for-elementor' ),
					'repeat'    => esc_html__( 'Repeat', 'essential-classy-addons-for-elementor' ),
					'repeat-x'  => esc_html__( 'Repeat-x', 'essential-classy-addons-for-elementor' ),
					'repeat-y'  => esc_html__( 'Repeat-y', 'essential-classy-addons-for-elementor' ),
				),
				'selectors' => array(
					'{{WRAPPER}} .eca-ihemain-wrapper .eca-ihebg-img-12' => 'background-repeat: {{VALUE}};',
				),
			)
		);
		$this->add_control(
			'bg13_20Position',
			array(
				'label'     => esc_html__( 'Background Position', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::SELECT,
				'default'   => 'center center',
				'options'   => array(
					'center center' => esc_html__( 'Center Center', 'essential-classy-addons-for-elementor' ),
					'center left'   => esc_html__( 'Center Left', 'essential-classy-addons-for-elementor' ),
					'center right'  => esc_html__( 'Center Right', 'essential-classy-addons-for-elementor' ),
					'top center'    => esc_html__( 'Top Center', 'essential-classy-addons-for-elementor' ),
					'top left'      => esc_html__( 'Top Left', 'essential-classy-addons-for-elementor' ),
					'top right'     => esc_html__( 'Top Right', 'essential-classy-addons-for-elementor' ),
					'bottom center' => esc_html__( 'Bottom Center', 'essential-classy-addons-for-elementor' ),
					'bottom left'   => esc_html__( 'Bottom Left', 'essential-classy-addons-for-elementor' ),
					'bottom right'  => esc_html__( 'Bottom Right', 'essential-classy-addons-for-elementor' ),
				),
				'selectors' => array(
					'{{WRAPPER}} .eca-ihemain-wrapper .eca-ihebg-img-12' => 'background-position: {{VALUE}};',
				),
			)
		);
		$this->add_control(
			'imageH18Heading',
			array(
				'label'     => esc_html__( 'Hover', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::HEADING,
				'separator' => 'before',
				'condition' => array(
					'layout' => 'layout-18',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Border::get_type(),
			array(
				'name'      => 'imageH18Border',
				'label'     => esc_html__( 'Border', 'essential-classy-addons-for-elementor' ),
				'selector'  => '{{WRAPPER}} .eca-ihemain-wrapper.layout-18:hover .eca-ihebg-img-12',
				'condition' => array(
					'layout' => 'layout-18',
				),
			)
		);
		$this->add_responsive_control(
			'imageH18Br',
			array(
				'label'      => esc_html__( 'Border Radius', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .eca-ihemain-wrapper.layout-18:hover .eca-ihebg-img-12' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
				'condition'  => array(
					'layout' => 'layout-18',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			array(
				'name'      => 'imageH18Shadow',
				'selector'  => '{{WRAPPER}} .eca-ihemain-wrapper.layout-18:hover .eca-ihebg-img-12',
				'condition' => array(
					'layout' => 'layout-18',
				),
			)
		);
		$this->end_controls_section();
		/*background style end*/

		/*main box style start*/
		$this->start_controls_section(
			'mainWrapperStyling',
			array(
				'label'     => esc_html__( 'Main Wrapper', 'essential-classy-addons-for-elementor' ),
				'tab'       => Controls_Manager::TAB_STYLE,
				'condition' => array(
					'layout!' => array( 'layout-27', 'layout-28' ),
				),
			)
		);
		$this->add_responsive_control(
			'mainWrapperPadding',
			array(
				'label'      => esc_html__( 'Padding', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', 'em', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .eca-ihemain-wrapper' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_responsive_control(
			'mainWrapperMargin',
			array(
				'label'      => esc_html__( 'Margin', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', 'em', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .eca-ihemain-wrapper' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->start_controls_tabs( 'tabsMainWrapperStyle' );
		$this->start_controls_tab(
			'mainWrapperNormal',
			array(
				'label' => esc_html__( 'Normal', 'essential-classy-addons-for-elementor' ),
			)
		);
		$this->add_group_control(
			Group_Control_Background::get_type(),
			array(
				'name'     => 'mainWrapperNBg',
				'types'    => array( 'classic', 'gradient' ),
				'selector' => '{{WRAPPER}} .eca-ihemain-wrapper',
			)
		);
		$this->add_group_control(
			Group_Control_Border::get_type(),
			array(
				'name'     => 'mainWrapperNBorder',
				'label'    => esc_html__( 'Border', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .eca-ihemain-wrapper',
			)
		);
		$this->add_responsive_control(
			'mainWrapperNBr',
			array(
				'label'      => esc_html__( 'Border Radius', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .eca-ihemain-wrapper' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			array(
				'name'     => 'mainWrapperNShadow',
				'selector' => '{{WRAPPER}} .eca-ihemain-wrapper',
			)
		);
		$this->add_control(
			'mainWrapperNTransition',
			array(
				'label'       => esc_html__( 'Transition css', 'essential-classy-addons-for-elementor' ),
				'type'        => Controls_Manager::TEXT,
				'placeholder' => esc_html__( 'all 0.3s linear', 'essential-classy-addons-for-elementor' ),
				'selectors'   => array(
					'{{WRAPPER}} .eca-ihemain-wrapper' => 'transition: {{VALUE}};',
				),
				'separator'   => 'before',
			)
		);
		$this->add_control(
			'mainWrapperNTransform',
			array(
				'label'       => esc_html__( 'Transform css', 'essential-classy-addons-for-elementor' ),
				'type'        => Controls_Manager::TEXT,
				'placeholder' => esc_html__( 'rotate(25deg) scale(1.2)', 'essential-classy-addons-for-elementor' ),
				'selectors'   => array(
					'{{WRAPPER}} .eca-ihemain-wrapper' => 'transform: {{VALUE}};-ms-transform: {{VALUE}};-moz-transform: {{VALUE}};-webkit-transform: {{VALUE}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Css_Filter::get_type(),
			array(
				'name'     => 'mainWrapperNFilters',
				'selector' => '{{WRAPPER}} .eca-ihemain-wrapper',
			)
		);
		$this->end_controls_tab();
		$this->start_controls_tab(
			'mainWrapperHover',
			array(
				'label' => esc_html__( 'Hover', 'essential-classy-addons-for-elementor' ),
			)
		);
		$this->add_group_control(
			Group_Control_Background::get_type(),
			array(
				'name'     => 'mainWrapperHBg',
				'types'    => array( 'classic', 'gradient' ),
				'selector' => '{{WRAPPER}} .eca-ihemain-wrapper:hover',
			)
		);
		$this->add_group_control(
			Group_Control_Border::get_type(),
			array(
				'name'     => 'mainWrapperHBorder',
				'label'    => esc_html__( 'Border', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .eca-ihemain-wrapper:hover',
			)
		);
		$this->add_responsive_control(
			'mainWrapperHBr',
			array(
				'label'      => esc_html__( 'Border Radius', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .eca-ihemain-wrapper:hover' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			array(
				'name'     => 'mainWrapperHShadow',
				'selector' => '{{WRAPPER}} .eca-ihemain-wrapper:hover',
			)
		);
		$this->add_control(
			'mainWrapperHTransition',
			array(
				'label'       => esc_html__( 'Transition css', 'essential-classy-addons-for-elementor' ),
				'type'        => Controls_Manager::TEXT,
				'placeholder' => esc_html__( 'all 0.3s linear', 'essential-classy-addons-for-elementor' ),
				'selectors'   => array(
					'{{WRAPPER}} .eca-ihemain-wrapper:hover' => 'transition: {{VALUE}};',
				),
				'separator'   => 'before',
			)
		);
		$this->add_control(
			'mainWrapperHTransform',
			array(
				'label'       => esc_html__( 'Transform css', 'essential-classy-addons-for-elementor' ),
				'type'        => Controls_Manager::TEXT,
				'placeholder' => esc_html__( 'rotate(25deg) scale(1.2)', 'essential-classy-addons-for-elementor' ),
				'selectors'   => array(
					'{{WRAPPER}} .eca-ihemain-wrapper:hover' => 'transform: {{VALUE}};-ms-transform: {{VALUE}};-moz-transform: {{VALUE}};-webkit-transform: {{VALUE}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Css_Filter::get_type(),
			array(
				'name'     => 'mainWrapperHFilters',
				'selector' => '{{WRAPPER}} .eca-ihemain-wrapper:hover',
			)
		);
		$this->end_controls_tab();
		$this->end_controls_tabs();
		$this->add_responsive_control(
			'mwZIndex',
			array(
				'type'        => Controls_Manager::SLIDER,
				'label'       => esc_html__( 'Z-Index', 'essential-classy-addons-for-elementor' ),
				'size_units'  => array( 'px' ),
				'range'       => array(
					'px' => array(
						'min'  => 0,
						'max'  => 10000,
						'step' => 1,
					),
				),
				'render_type' => 'ui',
				'selectors'   => array(
					'{{WRAPPER}} .eca-ihemain-wrapper' => 'z-index: {{SIZE}};',
				),
				'separator'   => 'before',
			)
		);
		$this->add_control(
			'mwOverflowSwitch',
			array(
				'label'     => esc_html__( 'Overflow', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::SWITCHER,
				'default'   => 'no',
				'label_on'  => esc_html__( 'Enable', 'essential-classy-addons-for-elementor' ),
				'label_off' => esc_html__( 'Disable', 'essential-classy-addons-for-elementor' ),
				'separator' => 'before',
			)
		);
		$this->add_control(
			'mwOverflow',
			array(
				'label'     => esc_html__( 'Overflow', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::SELECT,
				'default'   => 'hidden',
				'options'   => array(
					'unset'   => esc_html__( 'Unset', 'essential-classy-addons-for-elementor' ),
					'visible' => esc_html__( 'Visible', 'essential-classy-addons-for-elementor' ),
					'hidden'  => esc_html__( 'Hidden', 'essential-classy-addons-for-elementor' ),
					'scroll'  => esc_html__( 'Scroll', 'essential-classy-addons-for-elementor' ),
					'auto'    => esc_html__( 'Auto', 'essential-classy-addons-for-elementor' ),
					'initial' => esc_html__( 'Initial', 'essential-classy-addons-for-elementor' ),
					'inherit' => esc_html__( 'Inherit', 'essential-classy-addons-for-elementor' ),
				),
				'selectors' => array(
					'{{WRAPPER}} .eca-ihemain-wrapper' => 'overflow:{{VALUE}};',
				),
				'condition' => array(
					'mwOverflowSwitch' => 'yes',
				),
			)
		);
		$this->add_responsive_control(
			'mwZCIndex',
			array(
				'type'        => Controls_Manager::SLIDER,
				'label'       => esc_html__( 'Content Z-Index', 'essential-classy-addons-for-elementor' ),
				'size_units'  => array( 'px' ),
				'range'       => array(
					'px' => array(
						'min'  => 0,
						'max'  => 10000,
						'step' => 1,
					),
				),
				'render_type' => 'ui',
				'selectors'   => array(
					'{{WRAPPER}} .eca-ihemain-wrapper.layout-1 .eca-iheinner-content,{{WRAPPER}} .eca-ihemain-wrapper.layout-2 .eca-iheinner-content' => 'z-index: {{SIZE}};',
				),
				'condition'   => array(
					'layout' => array( 'layout-1', 'layout-2' ),
				),
				'separator'   => 'before',
			)
		);

		$this->add_control(
			'imageoverlayHeading',
			array(
				'label'     => esc_html__( 'Image Overlay', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::HEADING,
				'separator' => 'before',
				'condition' => array(
					'layout'               => array( 'layout-1', 'layout-2' ),
					'aiheeImageLink[url]!' => '',
				),
			)
		);
		$this->start_controls_tabs( 'tabsImageoverlayStyle' );
		$this->start_controls_tab(
			'imageoverlayNormal',
			array(
				'label'     => esc_html__( 'Normal', 'essential-classy-addons-for-elementor' ),
				'condition' => array(
					'layout'               => array( 'layout-1', 'layout-2' ),
					'aiheeImageLink[url]!' => '',
				),
			)
		);
		$this->add_control(
			'imageoverlayColorN',
			array(
				'label'     => esc_html__( 'Background', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::COLOR,
				'selectors' => array(
					'{{WRAPPER}} .eca-ihemain-wrapper.layout-1 .eca-iheimage-link:before,{{WRAPPER}} .eca-ihemain-wrapper.layout-2 .eca-iheimage-link:before' => 'background: {{VALUE}};',
				),
				'condition' => array(
					'layout'               => array( 'layout-1', 'layout-2' ),
					'aiheeImageLink[url]!' => '',
				),
			)
		);
		$this->end_controls_tab();
		$this->start_controls_tab(
			'imageoverlayHover',
			array(
				'label'     => esc_html__( 'Hover', 'essential-classy-addons-for-elementor' ),
				'condition' => array(
					'layout'               => array( 'layout-1', 'layout-2' ),
					'aiheeImageLink[url]!' => '',
				),
			)
		);
		$this->add_control(
			'imageoverlayColorH',
			array(
				'label'     => esc_html__( 'Background', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::COLOR,
				'selectors' => array(
					'{{WRAPPER}} .eca-ihemain-wrapper.layout-1:hover .eca-iheimage-link:before,{{WRAPPER}} .eca-ihemain-wrapper.layout-2:hover .eca-iheimage-link:before' => 'background: {{VALUE}};',
				),
				'condition' => array(
					'layout'               => array( 'layout-1', 'layout-2' ),
					'aiheeImageLink[url]!' => '',
				),
			)
		);
		$this->end_controls_tab();
		$this->end_controls_tabs();
		$this->end_controls_section();
		/*main box style end*/
		$this->start_controls_section(
			'extra1316Styling',
			array(
				'label'     => esc_html__( 'Inner Hover Box', 'essential-classy-addons-for-elementor' ),
				'tab'       => Controls_Manager::TAB_STYLE,
				'condition' => array(
					'layout' => array( 'layout-13', 'layout-14', 'layout-15', 'layout-16' ),
				),
			)
		);
		$this->add_responsive_control(
			'st1316WidthHeight',
			array(
				'label'      => esc_html__( 'Hover Width-Height', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::SLIDER,
				'size_units' => array( '%' ),
				'range'      => array(
					'%' => array(
						'max'  => 100,
						'min'  => 1,
						'step' => 1,
					),
				),
				'selectors'  => array(
					'{{WRAPPER}} .eca-ihemain-wrapper.eca-ihe12-16:not(.layout-12) .eca-ihehover-12,{{WRAPPER}} .eca-ihemain-wrapper.eca-ihe12-16:not(.layout-12) .eca-ihebg-img-12:after' => 'width:{{SIZE}}%;height:{{SIZE}}%;',
				),
				'condition'  => array(
					'layout' => array( 'layout-13', 'layout-14', 'layout-15', 'layout-16' ),
				),
			)
		);
		$this->add_group_control(
			Group_Control_Border::get_type(),
			array(
				'name'      => 'st1316Border',
				'label'     => esc_html__( 'Border', 'essential-classy-addons-for-elementor' ),
				'selector'  => '{{WRAPPER}} .eca-ihemain-wrapper.eca-ihe12-16:not(.layout-12) .eca-ihehover-12,{{WRAPPER}} .eca-ihemain-wrapper.eca-ihe12-16:not(.layout-12) .eca-ihebg-img-12:after',
				'condition' => array(
					'layout' => array( 'layout-13', 'layout-14', 'layout-15', 'layout-16' ),
				),
			)
		);
		$this->add_responsive_control(
			'st1316Br',
			array(
				'label'      => esc_html__( 'Border Radius', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .eca-ihemain-wrapper.eca-ihe12-16:not(.layout-12) .eca-ihehover-12,{{WRAPPER}} .eca-ihemain-wrapper.eca-ihe12-16:not(.layout-12) .eca-ihebg-img-12:after' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
				'condition'  => array(
					'layout' => array( 'layout-13', 'layout-14', 'layout-15', 'layout-16' ),
				),
			)
		);
		$this->end_controls_section();

		/*extra styling start*/
		$this->start_controls_section(
			'extraStyling',
			array(
				'label'     => esc_html__( 'Extra', 'essential-classy-addons-for-elementor' ),
				'tab'       => Controls_Manager::TAB_STYLE,
				'condition' => array(
					'layout' => array( 'layout-1', 'layout-2', 'layout-12', 'layout-13', 'layout-14', 'layout-15', 'layout-16', 'layout-17', 'layout-20' ),
				),
			)
		);
		$this->add_control(
			'st1InnerBorder',
			array(
				'label'     => esc_html__( 'Inner Border Color', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::COLOR,
				'selectors' => array(
					'{{WRAPPER}} .eca-ihemain-wrapper.layout-1 .eca-iheinner-content:before, {{WRAPPER}} .eca-ihemain-wrapper.layout-1 .eca-iheinner-content:after' => 'border-color: {{VALUE}};',
				),
				'condition' => array(
					'layout' => 'layout-1',
				),
			)
		);
		$this->add_control(
			'st1OverlayColor',
			array(
				'label'     => esc_html__( 'Overlay Color', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::COLOR,
				'selectors' => array(
					'{{WRAPPER}} .eca-ihemain-wrapper.layout-1:after' => 'background: {{VALUE}};',
				),
				'condition' => array(
					'layout' => 'layout-1',
				),
			)
		);
		$this->add_control(
			'st2ContentBg',
			array(
				'label'     => esc_html__( 'Content Background Color', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::COLOR,
				'selectors' => array(
					'{{WRAPPER}} .eca-ihemain-wrapper.layout-2 .eca-iheinner-content' => 'background: {{VALUE}};',
				),
				'condition' => array(
					'layout' => 'layout-2',
				),
			)
		);
		$this->add_control(
			'st12_17AfterColor',
			array(
				'label'     => esc_html__( 'After Effect Color', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::COLOR,
				'selectors' => array(
					'{{WRAPPER}} .eca-ihemain-wrapper .eca-ihehover-12,
					{{WRAPPER}} .eca-ihemain-wrapper .eca-ihebg-img-12:after' => 'background: {{VALUE}};',
				),
				'condition' => array(
					'layout' => array( 'layout-12', 'layout-13', 'layout-14', 'layout-15', 'layout-16', 'layout-17' ),
				),
			)
		);
		$this->add_responsive_control(
			'st20Scale',
			array(
				'label'     => __( 'Scale', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::NUMBER,
				'min'       => 0,
				'max'       => 1,
				'step'      => 0.1,
				'condition' => array(
					'layout' => 'layout-20',
				),
			)
		);
		$this->add_responsive_control(
			'st20Rotate',
			array(
				'label'      => esc_html__( 'Rotate', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::SLIDER,
				'size_units' => array( 'px' ),
				'range'      => array(
					'px' => array(
						'max'  => 2000,
						'min'  => -2000,
						'step' => 90,
					),
				),
				'default'    => array(
					'unit' => 'px',
					'size' => 1080,
				),
				'selectors'  => array(
					'{{WRAPPER}} .eca-ihemain-wrapper.layout-20.eca-iheafc-11.eca-ihe12-16 .eca-ihehover-12' => '-webkit-transform: scale({{st20Scale.VALUE}}) rotate(-{{SIZE}}deg);
					-ms-transform: scale({{st20Scale.VALUE}}) rotate(-{{SIZE}}deg);transform: scale({{st20Scale.VALUE}}) rotate(-{{SIZE}}deg);',
					'{{WRAPPER}} .eca-ihemain-wrapper.layout-20.eca-iheafc-11.eca-ihe12-16:hover .eca-ihebg-img-12' => '-webkit-transform: scale({{st20Scale.VALUE}}) rotate({{SIZE}}deg);
					-ms-transform: scale({{st20Scale.VALUE}}) rotate({{SIZE}}deg);transform: scale({{st20Scale.VALUE}}) rotate({{SIZE}}deg);',
				),
				'condition'  => array(
					'layout' => 'layout-20',
				),
			)
		);
		$this->end_controls_section();
		/*
		extra styling end*/
		/*style end*/
	}

	protected function render() {
		$settings = $this->get_settings_for_display();

		$layout          = $settings['layout'];
		$headingTitle    = $settings['headingTitle'];
		$headingTitleTag = ! empty( $settings['headingTitleTag'] ) ? $settings['headingTitleTag'] : 'h1';
		$descriptionText = $settings['descriptionText'];

		$buttonType = $settings['buttonType'];

		$bit1 = $bit2 = $bit3 = $bu1 = $bu1_target = $bu1Nofollow = $bu2 = $bu2Target = $bu2Nofollow = $bu3 = $bu3Target = $bu3Nofollow = '';

		if ( ! empty( $buttonType ) && $buttonType == 'icon' ) {
			$buttonIcon1 = $settings['buttonIcon1'];
			$buttonIcon2 = $settings['buttonIcon2'];
			$buttonIcon3 = $settings['buttonIcon3'];

			if ( ! empty( $buttonIcon1 ) ) {
				ob_start();
				\Elementor\Icons_Manager::render_icon( $buttonIcon1, array( 'aria-hidden' => 'true' ) );
				$bit1 = ob_get_contents();
				ob_end_clean();
			}
			if ( ! empty( $buttonIcon2 ) ) {
				ob_start();
				\Elementor\Icons_Manager::render_icon( $buttonIcon2, array( 'aria-hidden' => 'true' ) );
				$bit2 = ob_get_contents();
				ob_end_clean();
			}
			if ( ! empty( $buttonIcon3 ) ) {
				ob_start();
				\Elementor\Icons_Manager::render_icon( $buttonIcon3, array( 'aria-hidden' => 'true' ) );
				$bit3 = ob_get_contents();
				ob_end_clean();
			}
		}

		if ( ! empty( $buttonType ) && $buttonType == 'text' ) {
			$buttonText1 = $settings['buttonText1'];
			$buttonText2 = $settings['buttonText2'];
			$buttonText3 = $settings['buttonText3'];

			if ( ! empty( $buttonText1 ) ) {
				$bit1 = esc_attr( $buttonText1 );
			}
			if ( ! empty( $buttonText2 ) ) {
				$bit2 = esc_attr( $buttonText2 );
			}
			if ( ! empty( $buttonText3 ) ) {
				$bit3 = esc_attr( $buttonText3 );
			}
		}

		$buttonUrl1 = $settings['buttonUrl1'];
		$buttonUrl2 = $settings['buttonUrl2'];
		$buttonUrl3 = $settings['buttonUrl3'];

		if ( ! empty( $buttonUrl1 ) ) {
			$bu1         = $settings['buttonUrl1']['url'];
			$bu1_target  = $settings['buttonUrl1']['is_external'] ? ' target="_blank"' : '';
			$bu1Nofollow = $settings['buttonUrl1']['nofollow'] ? ' rel="nofollow"' : '';
		}
		if ( ! empty( $buttonUrl2 ) ) {
			$bu2         = $settings['buttonUrl2']['url'];
			$bu2Target   = $settings['buttonUrl2']['is_external'] ? ' target="_blank"' : '';
			$bu2Nofollow = $settings['buttonUrl2']['nofollow'] ? ' rel="nofollow"' : '';
		}
		if ( ! empty( $buttonUrl3 ) ) {
			$bu3         = $settings['buttonUrl3']['url'];
			$bu3Target   = $settings['buttonUrl3']['is_external'] ? ' target="_blank"' : '';
			$bu3Nofollow = $settings['buttonUrl3']['nofollow'] ? ' rel="nofollow"' : '';
		}

		$imgAlt = $image_src = '';
		if ( ! empty( $settings['aiheeImage']['id'] ) ) {
			$image_id  = $settings['aiheeImage']['id'];
			$image_src = wp_get_attachment_image_src( $image_id, $settings['thumbnail_size'] );
			$image_alt = get_post_meta( $image_id, '_wp_attachment_image_alt', true );
			if ( ! empty( $image_src[0] ) ) {
				$image_src = $image_src[0];
				if ( $image_alt ) {
					$imgAlt = 'alt="' . esc_attr( $image_alt ) . '"';
				}
			}
		} else {
			$image_src = ECAFE_ASSETS_PATH . 'images/placeholder.png';
		}

		$finalHt = $finalDesc = $finalButton = '';
		/*title start*/
		if ( ! empty( $headingTitle ) ) {
			$finalHt = '<' . \EcafeHelper::check_and_validate_html_tag( $headingTitleTag ) . ' class="eca-iheheading-title">' . esc_html( $headingTitle ) . '</' . \EcafeHelper::check_and_validate_html_tag( $headingTitleTag ) . '>';
		}
		/*title end*/

		/*description start*/
		if ( ! empty( $descriptionText ) ) {
			$finalDesc = '<div class="eca-ihedescription">' . wp_kses_post( $descriptionText ) . '</div>';
		}
		/*description end*/

		/*button start*/
		if ( ! empty( $bit1 ) || ! empty( $bit2 ) || ! empty( $bit3 ) ) {
			$buttonIconEffectH = ( isset( $settings['buttonIconEffectH'] ) && $settings['buttonIconEffectH'] == 'yes' ) ? 'eca-iheicons-he ' . esc_attr( $settings['buttonIconEffectPosH'] ) : '';

			$finalButton .= '<div class="eca-iheicons ' . esc_attr( $buttonIconEffectH ) . '">';
			if ( ! empty( $bit1 ) ) {
				$finalButton .= '<a href="' . esc_url( $bu1 ) . '" class="eca-iheicon eca-iheicon-first">' . $bit1 . '</a>';
			}
			if ( ! empty( $bit2 ) ) {
				$finalButton .= '<a href="' . esc_url( $bu2 ) . '" class="eca-iheicon eca-iheicon-second">' . $bit2 . '</a>';
			}
			if ( ! empty( $bit3 ) ) {
				$finalButton .= '<a href="' . esc_url( $bu3 ) . '" class="eca-iheicon eca-iheicon-third">' . $bit3 . '</a>';
			}
			$finalButton .= '</div>';
		}
		/*button end*/

		if ( ! empty( $layout ) ) {
			$layoutclass = $layoutextraclass = '';
			if ( $layout == 'layout-3' || $layout == 'layout-4' || $layout == 'layout-5' || $layout == 'layout-6' || $layout == 'layout-7' || $layout == 'layout-8' || $layout == 'layout-9' || $layout == 'layout-10' || $layout == 'layout-11' ) {
				$layoutclass = ' eca-ihe3-11';
			}

			if ( $layout == 'layout-12' || $layout == 'layout-13' || $layout == 'layout-14' || $layout == 'layout-15' || $layout == 'layout-16' || $layout == 'layout-17' || $layout == 'layout-18' || $layout == 'layout-19' || $layout == 'layout-20' ) {
				$layoutclass      = ' eca-iheafc-11';
				$layoutextraclass = ' eca-ihe12-16';
			}

			if ( $layout == 'layout-21' || $layout == 'layout-22' || $layout == 'layout-23' || $layout == 'layout-24' || $layout == 'layout-25' || $layout == 'layout-26' ) {
				$layoutclass = ' eca-ihe21-70';
			}

			if ( $layout == 'layout-27' || $layout == 'layout-28' ) {
				$layoutclass = ' eca-ihe27-28';
			}

			$aiheeImageLink = $settings['aiheeImageLink'];
			$ail            = '';
			if ( ! empty( $aiheeImageLink ) && ( ! empty( $layout ) ) ) {
				$ail = esc_url( $settings['aiheeImageLink']['url'] );
			}
			$tiltclass  = '';
			$tiltrender = '';
			if ( isset( $settings['tiltEffect'] ) && $settings['tiltEffect'] === 'yes' ) {
				/*Tilt Effect Render*/
				include ECAFE_PATH . 'element/widgets/ecafe-tilt-render.php';
			}
			$tippyclass  = '';
			$tippyrender = '';
			if ( isset( $settings['tippyTooltip'] ) && $settings['tippyTooltip'] === 'yes' ) {
				/*Tippy Tooltip Render*/
				include ECAFE_PATH . 'element/widgets/ecafe-tippy-render.php';
			}
			$output = '<div class="eca-ihemain-wrapper ' . esc_attr( $layout ) . ' ' . esc_attr( $layoutclass ) . ' ' . esc_attr( $layoutextraclass ) . ' ' . esc_attr( $tiltclass ) . ' ' . esc_attr( $tippyclass ) . '" ' . $tiltrender . ' ' . $tippyrender . '>';
			if ( $layout == 'layout-1' ) {
				if ( ! empty( $settings['aiheeImageLink']['url'] ) ) {
					$output .= '<a class="eca-iheimage-link" href="' . $ail . '">';
				}
				$output .= '<img src="' . esc_url( $image_src ) . '" class="eca-iheimage" ' . $imgAlt . '>';
				if ( ! empty( $settings['aiheeImageLink']['url'] ) ) {
					$output .= '</a>';
				}
				$output     .= '<div class="eca-iheinner-content">';
					$output .= $finalHt;
					$output .= $finalDesc;
					$output .= $finalButton;
				$output     .= '</div>';
			}

			if ( $layout == 'layout-2' ) {
				if ( ! empty( $settings['aiheeImageLink']['url'] ) ) {
					$output .= '<a class="eca-iheimage-link" href="' . $ail . '">';
				}
				$output .= '<img src="' . esc_url( $image_src ) . '" class="eca-iheimage" ' . $imgAlt . '>';
				if ( ! empty( $settings['aiheeImageLink']['url'] ) ) {
					$output .= '</a>';
				}
				$output     .= '<div class="eca-iheinner-content">';
					$output .= $finalHt;
					$output .= $finalButton;
					$output .= $finalDesc;
				$output     .= '</div>';
			}

			if ( $layout == 'layout-3' || $layout == 'layout-4' || $layout == 'layout-5' || $layout == 'layout-6' || $layout == 'layout-7' || $layout == 'layout-9' || $layout == 'layout-10' || $layout == 'layout-11' ) {
				if ( ! empty( $settings['aiheeImageLink']['url'] ) ) {
					$output .= '<a class="eca-iheimage-link" href="' . $ail . '">';
				}
				$output .= '<img src="' . esc_url( $image_src ) . '" class="eca-iheimage" ' . $imgAlt . '>';
				$output .= $finalHt;
				$output .= $finalDesc;
				$output .= $finalButton;
				if ( ! empty( $settings['aiheeImageLink']['url'] ) ) {
					$output .= '</a>';
				}
			}

			if ( $layout == 'layout-8' ) {
				$output .= '<div class="eca-iheinner-content">';
				if ( ! empty( $settings['aiheeImageLink']['url'] ) ) {
					$output .= '<a class="eca-iheimage-link" href="' . $ail . '">';
				}
					$output .= '<img src="' . esc_url( $image_src ) . '" class="eca-iheimage" ' . $imgAlt . '>';
				if ( ! empty( $settings['aiheeImageLink']['url'] ) ) {
					$output .= '</a>';
				}
					$output .= $finalHt;
					$output .= '</div>';
					$output .= $finalDesc;
					$output .= $finalButton;
			}

			if ( $layout == 'layout-12' || $layout == 'layout-13' || $layout == 'layout-14' || $layout == 'layout-15' || $layout == 'layout-16' || $layout == 'layout-17' || $layout == 'layout-18' || $layout == 'layout-19' || $layout == 'layout-20' ) {
				if ( ! empty( $settings['aiheeImageLink']['url'] ) && $layout != 'layout-12' ) {
					$output .= '<a class="eca-iheimage-link" href="' . $ail . '">';
				}
				$output .= '<div class="eca-ihebg-img-12" style=" background-image:url(' . esc_url( $image_src ) . ');"></div>';
				if ( ! empty( $settings['aiheeImageLink']['url'] ) && $layout != 'layout-12' ) {
					$output .= '</a>';
				}
				$output .= '<div class="eca-ihehover-12">';
				if ( ! empty( $settings['aiheeImageLink']['url'] ) && $layout == 'layout-12' ) {
					$output .= '<a class="eca-iheimage-link" href="' . $ail . '">';
					$output .= '</a>';
				}
					$output .= $finalHt;
					$output .= $finalDesc;
					$output .= $finalButton;
					$output .= '</div>';
			}

			if ( $layout == 'layout-21' || $layout == 'layout-22' || $layout == 'layout-23' || $layout == 'layout-24' || $layout == 'layout-25' || $layout == 'layout-26' || $layout == 'layout-27' || $layout == 'layout-28' ) {
				if ( ! empty( $settings['aiheeImageLink']['url'] ) ) {
					$output .= '<a class="eca-iheimage-link" href="' . $ail . '">';
				}
				$output .= '<img src="' . esc_url( $image_src ) . '" class="eca-iheimage" ' . $imgAlt . '>';
				if ( ! empty( $settings['aiheeImageLink']['url'] ) ) {
					$output .= '</a>';
				}
				$output     .= '<div class="eca-ihehover-21-70">';
					$output .= $finalHt;
					$output .= $finalDesc;
					$output .= $finalButton;
				$output     .= '</div>';
			}

			$output .= '</div>';

			echo wp_kses_normalize_entities( $output );
		}
	}
}
