<?php
namespace EcafeAddons\Widgets;

use Elementor\Widget_Base;
use Elementor\Controls_Manager;
use Elementor\Group_Control_Typography;
use Elementor\Group_Control_Background;
use Elementor\Group_Control_Border;
use Elementor\Group_Control_Box_Shadow;

use EcafeAddons\EcafeElementLoad;

if ( ! defined( 'ABSPATH' ) ) {
	exit; // Exit if accessed directly.
}

class Ecafe_Button extends Widget_Base {

	public function get_name() {
		return 'ecafe-button';
	}

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

	public function get_icon() {
		return 'ecafe-ele-back-icon ecafe-button-icon';
	}

	public function get_categories() {
		return array( 'essential' );
	}


	public function get_keywords() {
		return array( 'button', 'creative button', 'cool button', 'advanced button', 'cta', 'call to action' );
	}

	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__( 'Button', 'essential-classy-addons-for-elementor' ),
				'tab'   => Controls_Manager::TAB_CONTENT,
			)
		);
		$this->add_control(
			'contentType',
			array(
				'label'   => esc_html__( 'Type', 'essential-classy-addons-for-elementor' ),
				'type'    => Controls_Manager::SELECT,
				'default' => 'normal',
				'options' => array(
					'normal' => esc_html__( 'Normal', 'essential-classy-addons-for-elementor' ),
					'dual'   => esc_html__( 'Dual', 'essential-classy-addons-for-elementor' ),
				),
			)
		);
		$this->add_control(
			'normalStyle',
			array(
				'label'     => esc_html__( 'Style', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::SELECT,
				'default'   => 'style1',
				'options'   => array(
					'style1'  => esc_html__( 'Style 1', 'essential-classy-addons-for-elementor' ),
					'style2'  => esc_html__( 'Style 2', 'essential-classy-addons-for-elementor' ),
					'style3'  => esc_html__( 'Style 3', 'essential-classy-addons-for-elementor' ),
					'style4'  => esc_html__( 'Style 4', 'essential-classy-addons-for-elementor' ),
					'style5'  => esc_html__( 'Style 5', 'essential-classy-addons-for-elementor' ),
					'style6'  => esc_html__( 'Style 6', 'essential-classy-addons-for-elementor' ),
					'style7'  => esc_html__( 'Style 7', 'essential-classy-addons-for-elementor' ),
					'style8'  => esc_html__( 'Style 8', 'essential-classy-addons-for-elementor' ),
					'style9'  => esc_html__( 'Style 9', 'essential-classy-addons-for-elementor' ),
					'style10' => esc_html__( 'Style 10', 'essential-classy-addons-for-elementor' ),
					'style11' => esc_html__( 'Style 11', 'essential-classy-addons-for-elementor' ),
					'style12' => esc_html__( 'Style 12', 'essential-classy-addons-for-elementor' ),
					'style13' => esc_html__( 'Style 13', 'essential-classy-addons-for-elementor' ),
					'style14' => esc_html__( 'Style 14', 'essential-classy-addons-for-elementor' ),
					'style15' => esc_html__( 'Style 15', 'essential-classy-addons-for-elementor' ),
					'style16' => esc_html__( 'Style 16', 'essential-classy-addons-for-elementor' ),
					'style17' => esc_html__( 'Style 17', 'essential-classy-addons-for-elementor' ),
					'style18' => esc_html__( 'Style 18', 'essential-classy-addons-for-elementor' ),
					'style19' => esc_html__( 'Style 19', 'essential-classy-addons-for-elementor' ),
					'style20' => esc_html__( 'Style 20', 'essential-classy-addons-for-elementor' ),
					'style21' => esc_html__( 'Style 21', 'essential-classy-addons-for-elementor' ),
					'style22' => esc_html__( 'Style 22', 'essential-classy-addons-for-elementor' ),
					'style23' => esc_html__( 'Style 23', 'essential-classy-addons-for-elementor' ),
				),
				'condition' => array(
					'contentType' => 'normal',
				),
			)
		);
		$this->add_control(
			'dualStyle',
			array(
				'label'     => esc_html__( 'Style', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::SELECT,
				'default'   => 'style1',
				'options'   => array(
					'style1' => esc_html__( 'Style 1', 'essential-classy-addons-for-elementor' ),
					'style2' => esc_html__( 'Style 2', 'essential-classy-addons-for-elementor' ),
				),
				'condition' => array(
					'contentType' => 'dual',
				),
			)
		);
		$this->add_control(
			'buttonText',
			array(
				'label'       => esc_html__( 'Text', 'essential-classy-addons-for-elementor' ),
				'type'        => Controls_Manager::TEXT,
				'dynamic'     => array( 'active' => true ),
				'default'     => esc_html__( 'Click Here', 'essential-classy-addons-for-elementor' ),
				'placeholder' => esc_html__( 'Enter Text', 'essential-classy-addons-for-elementor' ),
				'separator'   => 'before',
			)
		);
		$this->add_control(
			'buttonHoverText',
			array(
				'label'       => esc_html__( 'Hover Text', 'essential-classy-addons-for-elementor' ),
				'type'        => Controls_Manager::TEXT,
				'dynamic'     => array( 'active' => true ),
				'default'     => esc_html__( 'Click Here', 'essential-classy-addons-for-elementor' ),
				'placeholder' => esc_html__( 'Enter Text', 'essential-classy-addons-for-elementor' ),
				'condition'   => array(
					'contentType' => 'normal',
					'normalStyle' => 'style16',
				),
				'separator'   => 'before',
			)
		);
		$this->add_control(
			'buttonLink',
			array(
				'label'       => esc_html__( 'Link', 'essential-classy-addons-for-elementor' ),
				'type'        => Controls_Manager::URL,
				'dynamic'     => array( 'active' => true ),
				'placeholder' => esc_html__( '#', 'essential-classy-addons-for-elementor' ),
				'default'     => array(
					'url' => '#',
				),
			)
		);
		$this->add_control(
			'buttonSeprator',
			array(
				'label'       => esc_html__( 'Seprator Text', 'essential-classy-addons-for-elementor' ),
				'type'        => Controls_Manager::TEXT,
				'dynamic'     => array( 'active' => true ),
				'default'     => esc_html__( 'Or', 'essential-classy-addons-for-elementor' ),
				'placeholder' => esc_html__( 'Enter Text', 'essential-classy-addons-for-elementor' ),
				'separator'   => 'before',
				'condition'   => array(
					'contentType' => 'dual',
				),
			)
		);
		$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__( 'Click Here', 'essential-classy-addons-for-elementor' ),
				'placeholder' => esc_html__( 'Enter Text', 'essential-classy-addons-for-elementor' ),
				'separator'   => 'before',
				'condition'   => array(
					'contentType' => 'dual',
				),
			)
		);
		$this->add_control(
			'buttonLink2',
			array(
				'label'       => esc_html__( 'Second Link', 'essential-classy-addons-for-elementor' ),
				'type'        => Controls_Manager::URL,
				'dynamic'     => array( 'active' => true ),
				'placeholder' => esc_html__( '#', 'essential-classy-addons-for-elementor' ),
				'default'     => array(
					'url' => '#',
				),
				'condition'   => array(
					'contentType' => 'dual',
				),
			)
		);
		$this->add_responsive_control(
			'contentAlign',
			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',
					),
				),
				'separator' => 'before',
				'selectors' => array(
					'{{WRAPPER}} .eca-button-wrapper-main,{{WRAPPER}} .eca-button-wrapper-main.normal .eca-button-wrapper' => 'justify-content:{{VALUE}};',
				),
			)
		);
		$this->add_responsive_control(
			'bMinWidth',
			array(
				'label'      => esc_html__( 'Min. Width', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::SLIDER,
				'size_units' => array( 'px' ),
				'range'      => array(
					'px' => array(
						'min' => 1,
						'max' => 500,
					),
				),
				'selectors'  => array(
					'{{WRAPPER}} .eca-button-wrapper-main a' => 'min-width:{{SIZE}}px;',
				),
			)
		);
		$this->end_controls_section();

		/*icon start*/
		$this->start_controls_section(
			'contentIconSection',
			array(
				'label' => esc_html__( 'Icon', 'essential-classy-addons-for-elementor' ),
				'tab'   => Controls_Manager::TAB_CONTENT,
			)
		);
		$this->add_control(
			'iconSwitch',
			array(
				'label'     => esc_html__( 'Icon', '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(
			'iconPosition',
			array(
				'label'     => esc_html__( 'Position', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::SELECT,
				'default'   => 'before',
				'options'   => array(
					'before' => esc_html__( 'Before', 'essential-classy-addons-for-elementor' ),
					'after'  => esc_html__( 'After', 'essential-classy-addons-for-elementor' ),
				),
				'condition' => array(
					'iconSwitch' => 'yes',
				),
			)
		);
		$this->add_control(
			'iconLibrary',
			array(
				'label'     => esc_html__( 'Icon Library', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::ICONS,
				'default'   => array(
					'value'   => 'fas fa-star',
					'library' => 'solid',
				),
				'condition' => array(
					'iconSwitch' => 'yes',
				),
			)
		);
		$this->add_control(
			'iconLibrary2',
			array(
				'label'     => esc_html__( 'Second Icon Library', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::ICONS,
				'default'   => array(
					'value'   => 'fas fa-star',
					'library' => 'solid',
				),
				'condition' => array(
					'contentType' => 'dual',
					'iconSwitch'  => 'yes',
				),
			)
		);
		$this->add_control(
			'sepratorIcon',
			array(
				'label'     => esc_html__( 'Seprator Icon Library', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::ICONS,
				'default'   => array(
					'value'   => 'fas fa-star',
					'library' => 'solid',
				),
				'condition' => array(
					'contentType' => 'dual',
					'iconSwitch'  => 'yes',
				),
			)
		);
		$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/button/' );
		$ecwidgetdoclink  = esc_url( 'https://ecaddons.com/docs/button-widget-tutorial/' );
		include ECAFE_PATH . 'element/widgets/ecafe-widgetpanel-help.php';

		/*style start*/
		$this->start_controls_section(
			'section21Styling',
			array(
				'label'     => esc_html__( 'Button', 'essential-classy-addons-for-elementor' ),
				'tab'       => Controls_Manager::TAB_STYLE,
				'condition' => array(
					'contentType' => 'normal',
					'normalStyle' => 'style21',
				),
			)
		);
		$this->add_responsive_control(
			'section21Padding',
			array(
				'label'      => esc_html__( 'Padding', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%', 'em' ),
				'selectors'  => array(
					'{{WRAPPER}} .eca-button-wrapper-main.normal.style21 .eca-button-wrapper' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Typography::get_type(),
			array(
				'name'     => 'button21Typography',
				'selector' => '{{WRAPPER}} .eca-button-wrapper-main.normal.style21 .eca-button-wrapper',
			)
		);
		$this->add_responsive_control(
			'button21BorderSize',
			array(
				'label'      => esc_html__( 'Border Size', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::SLIDER,
				'size_units' => array( 'px' ),
				'range'      => array(
					'px' => array(
						'min' => 1,
						'max' => 100,
					),
				),
				'default'    => array(
					'unit' => 'px',
					'size' => 5,
				),
				'selectors'  => array(
					'{{WRAPPER}} .eca-button-wrapper-main.normal.style21 .eca-button-wrapper:after' => 'top: {{SIZE}}{{UNIT}};left: {{SIZE}}{{UNIT}}; width: calc(100% - 2* {{SIZE}}{{UNIT}});height: calc(100% - 2* {{SIZE}}{{UNIT}});',
				),
			)
		);
		$this->start_controls_tabs( 'tabsbutton21Style' );
		$this->start_controls_tab(
			'tabbutton21N',
			array(
				'label' => esc_html__( 'Normal', 'essential-classy-addons-for-elementor' ),
			)
		);
		$this->add_control(
			'button21Color',
			array(
				'label'     => esc_html__( 'Color', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::COLOR,
				'selectors' => array(
					'{{WRAPPER}} .eca-button-wrapper-main.normal.style21 .eca-button-wrapper' => 'color: {{VALUE}};',
				),
			)
		);
		$this->add_control(
			'button21Bg',
			array(
				'label'     => esc_html__( 'Background', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::COLOR,
				'selectors' => array(
					'{{WRAPPER}} .eca-button-wrapper-main.normal.style21 .eca-button-wrapper:after' => 'background: {{VALUE}};',
				),
			)
		);
		$this->add_responsive_control(
			'button21BgRadius',
			array(
				'label'      => esc_html__( 'Background Radius', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .eca-button-wrapper-main.normal.style21 .eca-button-wrapper:after' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_control(
			'button21Border',
			array(
				'label'     => esc_html__( 'Border', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::COLOR,
				'selectors' => array(
					'{{WRAPPER}} .eca-button-wrapper-main.normal.style21 .eca-button-wrapper:before' => 'background: {{VALUE}};',
				),
			)
		);
		$this->add_responsive_control(
			'button21BorderRadius',
			array(
				'label'      => esc_html__( 'Border Radius', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .eca-button-wrapper-main.normal.style21 .eca-button-wrapper:before' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->end_controls_tab();
		$this->start_controls_tab(
			'tabacfDateTimeHover',
			array(
				'label' => esc_html__( 'Hover', 'essential-classy-addons-for-elementor' ),
			)
		);
		$this->add_control(
			'button21ColorH',
			array(
				'label'     => esc_html__( 'Color', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::COLOR,
				'selectors' => array(
					'{{WRAPPER}} .eca-button-wrapper-main.normal.style21 .eca-button-wrapper:hover' => 'color: {{VALUE}};',
				),
			)
		);
		$this->add_control(
			'button21BgH',
			array(
				'label'     => esc_html__( 'Background', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::COLOR,
				'selectors' => array(
					'{{WRAPPER}} .eca-button-wrapper-main.normal.style21 .eca-button-wrapper:hover:after' => 'background: {{VALUE}};',
				),
			)
		);
		$this->add_responsive_control(
			'button21BgRadiusH',
			array(
				'label'      => esc_html__( 'Background Radius', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .eca-button-wrapper-main.normal.style21 .eca-button-wrapper:hover:after' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_control(
			'button21BorderH',
			array(
				'label'     => esc_html__( 'Border', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::COLOR,
				'selectors' => array(
					'{{WRAPPER}} .eca-button-wrapper-main.normal.style21 .eca-button-wrapper:hover:before' => 'background: {{VALUE}};',
				),
			)
		);
		$this->add_responsive_control(
			'button21BorderRadiusH',
			array(
				'label'      => esc_html__( 'Border Radius', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .eca-button-wrapper-main.normal.style21 .eca-button-wrapper:hover:before' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->end_controls_tab();
		$this->end_controls_tabs();
		$this->end_controls_section();

		$this->start_controls_section(
			'section2223Styling',
			array(
				'label'     => esc_html__( 'Button', 'essential-classy-addons-for-elementor' ),
				'tab'       => Controls_Manager::TAB_STYLE,
				'condition' => array(
					'contentType' => 'normal',
					'normalStyle' => array( 'style22', 'style23' ),
				),
			)
		);
		$this->add_responsive_control(
			'section2223Padding',
			array(
				'label'      => esc_html__( 'Padding', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%', 'em' ),
				'selectors'  => array(
					'{{WRAPPER}} .eca-button-wrapper-main.normal .eca-button-wrapper' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Typography::get_type(),
			array(
				'name'     => 'button2223Typography',
				'selector' => '{{WRAPPER}} .eca-button-wrapper-main.normal .eca-button-wrapper',
			)
		);
		$this->start_controls_tabs( 'tabsButton2223Style' );
		$this->start_controls_tab(
			'tabButton2223N',
			array(
				'label' => esc_html__( 'Normal', 'essential-classy-addons-for-elementor' ),
			)
		);
		$this->add_control(
			'button2223ColorN',
			array(
				'label'     => esc_html__( 'Color', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::COLOR,
				'selectors' => array(
					'{{WRAPPER}} .eca-button-wrapper-main.normal .eca-button-wrapper' => 'color: {{VALUE}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Background::get_type(),
			array(
				'name'     => 'button2223BgN',
				'types'    => array( 'classic', 'gradient' ),
				'selector' => '{{WRAPPER}} .eca-button-wrapper-main.normal .eca-button-wrapper',
			)
		);
		$this->add_group_control(
			Group_Control_Border::get_type(),
			array(
				'name'     => 'button2223BorderN',
				'label'    => esc_html__( 'Border', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .eca-button-wrapper-main.normal .eca-button-wrapper',
			)
		);
		$this->add_responsive_control(
			'button2223BrN',
			array(
				'label'      => esc_html__( 'Border Radius', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .eca-button-wrapper-main.normal .eca-button-wrapper' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			array(
				'name'     => 'button2223ShadowN',
				'selector' => '{{WRAPPER}} .eca-button-wrapper-main.normal .eca-button-wrapper',
			)
		);
		$this->end_controls_tab();
		$this->start_controls_tab(
			'tabButton2223H',
			array(
				'label' => esc_html__( 'Hover', 'essential-classy-addons-for-elementor' ),
			)
		);
		$this->add_control(
			'button2223ColorH',
			array(
				'label'     => esc_html__( 'Color', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::COLOR,
				'selectors' => array(
					'{{WRAPPER}} .eca-button-wrapper-main.normal .eca-button-wrapper:hover' => 'color: {{VALUE}};',
				),
			)
		);
		$this->add_control(
			'button2223EffectColor',
			array(
				'label'     => esc_html__( 'Effect Color', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::COLOR,
				'selectors' => array(
					'{{WRAPPER}} .eca-button-wrapper-main.normal .eca-button-wrapper:before,
					{{WRAPPER}} .eca-button-wrapper-main.normal .eca-button-wrapper:after' => 'background: {{VALUE}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Border::get_type(),
			array(
				'name'     => 'button2223BorderH',
				'label'    => esc_html__( 'Border', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .eca-button-wrapper-main.normal .eca-button-wrapper:hover',
			)
		);
		$this->add_responsive_control(
			'button2223BrH',
			array(
				'label'      => esc_html__( 'Border Radius', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .eca-button-wrapper-main.normal .eca-button-wrapper:hover' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			array(
				'name'     => 'button2223ShadowH',
				'selector' => '{{WRAPPER}} .eca-button-wrapper-main.normal .eca-button-wrapper:hover',
			)
		);
		$this->end_controls_tab();
		$this->end_controls_tabs();
		$this->end_controls_section();

		$this->start_controls_section(
			'sectionStyling',
			array(
				'label'     => esc_html__( 'Button', 'essential-classy-addons-for-elementor' ),
				'tab'       => Controls_Manager::TAB_STYLE,
				'condition' => array(
					'contentType'  => 'normal',
					'normalStyle!' => array( 'style21', 'style22', 'style23', 'style24' ),
				),
			)
		);
		$this->add_responsive_control(
			'buttonPadding',
			array(
				'label'      => esc_html__( 'Padding', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%', 'em' ),
				'selectors'  => array(
					'{{WRAPPER}} .eca-button-wrapper-main.normal .eca-button-wrapper' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_responsive_control(
			'buttonMargin',
			array(
				'label'      => esc_html__( 'Margin', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%', 'em' ),
				'selectors'  => array(
					'{{WRAPPER}} .eca-button-wrapper-main.normal .eca-button-wrapper' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_responsive_control(
			's16MaxWidth',
			array(
				'label'      => esc_html__( 'Min-Width', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::SLIDER,
				'size_units' => array( 'px' ),
				'range'      => array(
					'px' => array(
						'min' => 1,
						'max' => 500,
					),
				),
				'condition'  => array(
					'contentType' => 'normal',
					'normalStyle' => 'style16',
				),
				'selectors'  => array(
					'{{WRAPPER}} .eca-button-wrapper-main.normal.style16 .eca-button-wrapper' => 'min-width:{{SIZE}}px;',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Typography::get_type(),
			array(
				'name'     => 'buttonTypography',
				'selector' => '{{WRAPPER}} .eca-button-wrapper-main.normal .eca-button-wrapper',
			)
		);
		$this->add_responsive_control(
			'buttonSvgIcon',
			array(
				'label'      => esc_html__( 'Svg Icon', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::SLIDER,
				'size_units' => array( 'px' ),
				'range'      => array(
					'px' => array(
						'min' => 1,
						'max' => 100,
					),
				),
				'default'    => array(
					'unit' => 'px',
					'size' => 20,
				),
				'selectors'  => array(
					'{{WRAPPER}} .eca-button-wrapper-main.normal .eca-button-wrapper svg' => 'width: {{SIZE}}{{UNIT}};height: {{SIZE}}{{UNIT}};',
				),
			)
		);
		$this->start_controls_tabs( 'tabsButtontyle' );
		$this->start_controls_tab(
			'tabButtonN',
			array(
				'label' => esc_html__( 'Normal', 'essential-classy-addons-for-elementor' ),
			)
		);
		$this->add_control(
			'buttonColorN',
			array(
				'label'     => esc_html__( 'Color', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::COLOR,
				'selectors' => array(
					'{{WRAPPER}} .eca-button-wrapper-main.normal .eca-button-wrapper,
					{{WRAPPER}} .eca-button-wrapper-main.normal.style12 .eca-button-wrapper .eca-span-wrap,
					{{WRAPPER}} .eca-button-wrapper-main.normal.style16 .eca-button-wrapper .eca-span-wrap' => 'color: {{VALUE}};',
					'{{WRAPPER}} .eca-button-wrapper-main.normal .eca-button-wrapper svg,
					{{WRAPPER}} .eca-button-wrapper-main.normal.style12 .eca-button-wrapper .eca-span-wrap svg,
					{{WRAPPER}} .eca-button-wrapper-main.normal.style16 .eca-button-wrapper .eca-span-wrap svg' => 'fill: {{VALUE}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Background::get_type(),
			array(
				'name'     => 'buttonBackgroundN',
				'types'    => array( 'classic', 'gradient' ),
				'selector' => '{{WRAPPER}} .eca-button-wrapper-main.normal .eca-button-wrapper,
				{{WRAPPER}} .eca-button-wrapper-main.normal.style16 .eca-button-wrapper .eca-span-wrap',
			)
		);
		$this->add_group_control(
			Group_Control_Border::get_type(),
			array(
				'name'     => 'buttonBorderN',
				'label'    => esc_html__( 'Border', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .eca-button-wrapper-main.normal .eca-button-wrapper,
				{{WRAPPER}} .eca-button-wrapper-main.normal.style16 .eca-button-wrapper .eca-span-wrap',
			)
		);
		$this->add_responsive_control(
			'buttonBrN',
			array(
				'label'      => esc_html__( 'Border Radius', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .eca-button-wrapper-main.normal .eca-button-wrapper,
					{{WRAPPER}} .eca-button-wrapper-main.normal.style16 .eca-button-wrapper .eca-span-wrap' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			array(
				'name'     => 'buttonShadowN',
				'selector' => '{{WRAPPER}} .eca-button-wrapper-main.normal .eca-button-wrapper,
				{{WRAPPER}} .eca-button-wrapper-main.normal.style16 .eca-button-wrapper .eca-span-wrap',
			)
		);
		$this->add_control(
			'buttonTransitionN',
			array(
				'label'       => esc_html__( 'Transition css', 'essential-classy-addons-for-elementor' ),
				'type'        => Controls_Manager::TEXT,
				'placeholder' => esc_html__( 'all .3s linear', 'essential-classy-addons-for-elementor' ),
				'selectors'   => array(
					'{{WRAPPER}} .eca-button-wrapper-main.normal .eca-button-wrapper,
				{{WRAPPER}} .eca-button-wrapper-main.normal.style16 .eca-button-wrapper .eca-span-wrap' => 'transition:{{VALUE}};',
				),
			)
		);
		$this->add_control(
			'buttonTransformN',
			array(
				'label'       => esc_html__( 'Transform css', 'essential-classy-addons-for-elementor' ),
				'type'        => Controls_Manager::TEXT,
				'placeholder' => esc_html__( 'skew(-20deg)', 'essential-classy-addons-for-elementor' ),
				'selectors'   => array(
					'{{WRAPPER}} .eca-button-wrapper-main.normal .eca-button-wrapper,
				{{WRAPPER}} .eca-button-wrapper-main.normal.style16 .eca-button-wrapper .eca-span-wrap' => 'transform: {{VALUE}};-ms-transform: {{VALUE}};-moz-transform: {{VALUE}};-webkit-transform: {{VALUE}};',
				),
			)
		);
		$this->end_controls_tab();
		$this->start_controls_tab(
			'tabButtonH',
			array(
				'label' => esc_html__( 'Hover', 'essential-classy-addons-for-elementor' ),
			)
		);
		$this->add_control(
			'buttonColorH',
			array(
				'label'     => esc_html__( 'Color', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::COLOR,
				'selectors' => array(
					'{{WRAPPER}} .eca-button-wrapper-main.normal .eca-button-wrapper:hover,
					{{WRAPPER}} .eca-button-wrapper-main.normal.style12 .eca-button-wrapper:hover .eca-span-wrap,
					{{WRAPPER}} .eca-button-wrapper-main.normal.style16 .eca-button-wrapper:hover .eca-span-wrap-two' => 'color: {{VALUE}};',
					'{{WRAPPER}} .eca-button-wrapper-main.normal .eca-button-wrapper:hover svg,
					{{WRAPPER}} .eca-button-wrapper-main.normal.style16 .eca-button-wrapper:hover .eca-span-wrap-two svg' => 'fill: {{VALUE}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Background::get_type(),
			array(
				'name'     => 'buttonBackgroundH',
				'types'    => array( 'classic', 'gradient' ),
				'selector' => '{{WRAPPER}} .eca-button-wrapper-main.normal .eca-button-wrapper:hover,
				{{WRAPPER}} .eca-button-wrapper-main.normal.style16 .eca-button-wrapper:hover .eca-span-wrap-two',
			)
		);
		$this->add_group_control(
			Group_Control_Border::get_type(),
			array(
				'name'     => 'buttonBorderH',
				'label'    => esc_html__( 'Border', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .eca-button-wrapper-main.normal .eca-button-wrapper:hover,
				{{WRAPPER}} .eca-button-wrapper-main.normal.style16 .eca-button-wrapper:hover .eca-span-wrap-two',
			)
		);
		$this->add_responsive_control(
			'buttonBrH',
			array(
				'label'      => esc_html__( 'Border Radius', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .eca-button-wrapper-main.normal .eca-button-wrapper:hover,
					{{WRAPPER}} .eca-button-wrapper-main.normal.style16 .eca-button-wrapper:hover .eca-span-wrap-two' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			array(
				'name'     => 'buttonShadowH',
				'selector' => '{{WRAPPER}} .eca-button-wrapper-main.normal .eca-button-wrapper:hover,
				{{WRAPPER}} .eca-button-wrapper-main.normal.style16 .eca-button-wrapper:hover .eca-span-wrap-two',
			)
		);
		$this->add_control(
			'buttonTransitionH',
			array(
				'label'       => esc_html__( 'Transition css', 'essential-classy-addons-for-elementor' ),
				'type'        => Controls_Manager::TEXT,
				'placeholder' => esc_html__( 'all .3s linear', 'essential-classy-addons-for-elementor' ),
				'selectors'   => array(
					'{{WRAPPER}} .eca-button-wrapper-main.normal .eca-button-wrapper:hover,
					{{WRAPPER}} .eca-button-wrapper-main.normal.style16 .eca-button-wrapper:hover .eca-span-wrap-two' => 'transition:{{VALUE}};',
				),
			)
		);
		$this->add_control(
			'buttonTransformH',
			array(
				'label'       => esc_html__( 'Transform css', 'essential-classy-addons-for-elementor' ),
				'type'        => Controls_Manager::TEXT,
				'placeholder' => esc_html__( 'skew(-20deg)', 'essential-classy-addons-for-elementor' ),
				'selectors'   => array(
					'{{WRAPPER}} .eca-button-wrapper-main.normal .eca-button-wrapper:hover,
					{{WRAPPER}} .eca-button-wrapper-main.normal.style16 .eca-button-wrapper:hover .eca-span-wrap-two' => 'transform: {{VALUE}};-ms-transform: {{VALUE}};-moz-transform: {{VALUE}};-webkit-transform: {{VALUE}};',
				),
			)
		);
		$this->end_controls_tab();
		$this->end_controls_tabs();

		$this->add_control(
			'buttonOverflow',
			array(
				'label'     => esc_html__( 'Overflow', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::SELECT,
				'default'   => '',
				'options'   => array(
					''        => esc_html__( 'Default', 'essential-classy-addons-for-elementor' ),
					'visible' => esc_html__( 'Visible', 'essential-classy-addons-for-elementor' ),
					'hidden'  => esc_html__( 'Hidden', 'essential-classy-addons-for-elementor' ),
				),
				'selectors' => array(
					'{{WRAPPER}} .eca-button-wrapper' => 'overflow:{{VALUE}};',
				),
			)
		);
		$this->end_controls_section();

		/*left button start*/
		$this->start_controls_section(
			'leftButtonStyling',
			array(
				'label'     => esc_html__( 'Left Button', 'essential-classy-addons-for-elementor' ),
				'tab'       => Controls_Manager::TAB_STYLE,
				'condition' => array(
					'contentType' => 'dual',
				),
			)
		);
		$this->add_responsive_control(
			'lrcPadding',
			array(
				'label'      => esc_html__( 'Left-Right Buttons Padding', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%', 'em' ),
				'selectors'  => array(
					'{{WRAPPER}} .eca-button-wrapper-main.dual a' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Typography::get_type(),
			array(
				'name'     => 'lbTypography',
				'selector' => '{{WRAPPER}} .eca-button-wrapper-main.dual .eca-button-wrapper',
			)
		);
		$this->add_responsive_control(
			'lbSvgIcon',
			array(
				'label'      => esc_html__( 'Svg Icon', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::SLIDER,
				'size_units' => array( 'px' ),
				'range'      => array(
					'px' => array(
						'min' => 1,
						'max' => 100,
					),
				),
				'default'    => array(
					'unit' => 'px',
					'size' => 20,
				),
				'selectors'  => array(
					'{{WRAPPER}} .eca-button-wrapper-main.dual .eca-button-wrapper svg' => 'width: {{SIZE}}{{UNIT}};height: {{SIZE}}{{UNIT}};',
				),
			)
		);
		$this->start_controls_tabs( 'tabsLBButtontyle' );
		$this->start_controls_tab(
			'tabLBN',
			array(
				'label' => esc_html__( 'Normal', 'essential-classy-addons-for-elementor' ),
			)
		);
		$this->add_control(
			'lbColorN',
			array(
				'label'     => esc_html__( 'Color', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::COLOR,
				'selectors' => array(
					'{{WRAPPER}} .eca-button-wrapper-main.dual .eca-button-wrapper' => 'color: {{VALUE}};',
					'{{WRAPPER}} .eca-button-wrapper-main.dual .eca-button-wrapper svg' => 'fill: {{VALUE}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Background::get_type(),
			array(
				'name'     => 'lbBackgroundN',
				'types'    => array( 'classic', 'gradient' ),
				'selector' => '{{WRAPPER}} .eca-button-wrapper-main.dual .eca-button-wrapper',
			)
		);
		$this->add_group_control(
			Group_Control_Border::get_type(),
			array(
				'name'     => 'lbBorderN',
				'label'    => esc_html__( 'Border', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .eca-button-wrapper-main.dual .eca-button-wrapper',
			)
		);
		$this->add_responsive_control(
			'lbBrN',
			array(
				'label'      => esc_html__( 'Border Radius', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .eca-button-wrapper-main.dual .eca-button-wrapper' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			array(
				'name'     => 'lbShadowN',
				'selector' => '{{WRAPPER}} .eca-button-wrapper-main.dual .eca-button-wrapper',
			)
		);
		$this->add_control(
			'lbTransitionN',
			array(
				'label'       => esc_html__( 'Transition css', 'essential-classy-addons-for-elementor' ),
				'type'        => Controls_Manager::TEXT,
				'placeholder' => esc_html__( 'all .3s linear', 'essential-classy-addons-for-elementor' ),
				'selectors'   => array(
					'{{WRAPPER}} .eca-button-wrapper-main.dual .eca-button-wrapper' => 'transition:{{VALUE}};',
				),
			)
		);
		$this->add_control(
			'lbTransformN',
			array(
				'label'       => esc_html__( 'Transform css', 'essential-classy-addons-for-elementor' ),
				'type'        => Controls_Manager::TEXT,
				'placeholder' => esc_html__( 'skew(-20deg)', 'essential-classy-addons-for-elementor' ),
				'selectors'   => array(
					'{{WRAPPER}} .eca-button-wrapper-main.dual .eca-button-wrapper' => 'transform: {{VALUE}};-ms-transform: {{VALUE}};-moz-transform: {{VALUE}};-webkit-transform: {{VALUE}};',
				),
			)
		);
		$this->end_controls_tab();
		$this->start_controls_tab(
			'tabLBH',
			array(
				'label' => esc_html__( 'Hover', 'essential-classy-addons-for-elementor' ),
			)
		);
		$this->add_control(
			'lbColorH',
			array(
				'label'     => esc_html__( 'Color', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::COLOR,
				'selectors' => array(
					'{{WRAPPER}} .eca-button-wrapper-main.dual .eca-button-wrapper:hover' => 'color: {{VALUE}};',
					'{{WRAPPER}} .eca-button-wrapper-main.dual .eca-button-wrapper:hover svg' => 'fill: {{VALUE}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Background::get_type(),
			array(
				'name'     => 'lbBackgroundH',
				'types'    => array( 'classic', 'gradient' ),
				'selector' => '{{WRAPPER}} .eca-button-wrapper-main.dual .eca-button-wrapper:hover',
			)
		);
		$this->add_group_control(
			Group_Control_Border::get_type(),
			array(
				'name'     => 'lbBorderH',
				'label'    => esc_html__( 'Border', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .eca-button-wrapper-main.dual .eca-button-wrapper:hover',
			)
		);
		$this->add_responsive_control(
			'lbBrH',
			array(
				'label'      => esc_html__( 'Border Radius', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .eca-button-wrapper-main.dual .eca-button-wrapper:hover' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			array(
				'name'     => 'lbShadowH',
				'selector' => '{{WRAPPER}} .eca-button-wrapper-main.dual .eca-button-wrapper:hover',
			)
		);
		$this->add_control(
			'lbTransitionH',
			array(
				'label'       => esc_html__( 'Transition css', 'essential-classy-addons-for-elementor' ),
				'type'        => Controls_Manager::TEXT,
				'placeholder' => esc_html__( 'all .3s linear', 'essential-classy-addons-for-elementor' ),
				'selectors'   => array(
					'{{WRAPPER}} .eca-button-wrapper-main.dual .eca-button-wrapper:hover' => 'transition:{{VALUE}};',
				),
			)
		);
		$this->add_control(
			'lbTransformH',
			array(
				'label'       => esc_html__( 'Transform css', 'essential-classy-addons-for-elementor' ),
				'type'        => Controls_Manager::TEXT,
				'placeholder' => esc_html__( 'skew(-20deg)', 'essential-classy-addons-for-elementor' ),
				'selectors'   => array(
					'{{WRAPPER}} .eca-button-wrapper-main.dual .eca-button-wrapper:hover' => 'transform: {{VALUE}};-ms-transform: {{VALUE}};-moz-transform: {{VALUE}};-webkit-transform: {{VALUE}};',
				),
			)
		);
		$this->end_controls_tab();
		$this->end_controls_tabs();
		$this->end_controls_section();
		/*left button end*/

		/*right button start*/
		$this->start_controls_section(
			'rightButtonStyling',
			array(
				'label'     => esc_html__( 'Right Button', 'essential-classy-addons-for-elementor' ),
				'tab'       => Controls_Manager::TAB_STYLE,
				'condition' => array(
					'contentType' => 'dual',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Typography::get_type(),
			array(
				'name'     => 'rbTypography',
				'selector' => '{{WRAPPER}} .eca-button-wrapper-main.dual .eca-button-wrapper-dual',
			)
		);
		$this->add_responsive_control(
			'rbSvgIcon',
			array(
				'label'      => esc_html__( 'Svg Icon', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::SLIDER,
				'size_units' => array( 'px' ),
				'range'      => array(
					'px' => array(
						'min' => 1,
						'max' => 100,
					),
				),
				'default'    => array(
					'unit' => 'px',
					'size' => 20,
				),
				'selectors'  => array(
					'{{WRAPPER}} .eca-button-wrapper-main.dual .eca-button-wrapper-dual svg' => 'width: {{SIZE}}{{UNIT}};height: {{SIZE}}{{UNIT}};',
				),
			)
		);
		$this->start_controls_tabs( 'TabsRBButtontyle' );
		$this->start_controls_tab(
			'tabRBN',
			array(
				'label' => esc_html__( 'Normal', 'essential-classy-addons-for-elementor' ),
			)
		);
		$this->add_control(
			'rbColorN',
			array(
				'label'     => esc_html__( 'Color', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::COLOR,
				'selectors' => array(
					'{{WRAPPER}} .eca-button-wrapper-main.dual .eca-button-wrapper-dual' => 'color: {{VALUE}};',
					'{{WRAPPER}} .eca-button-wrapper-main.dual .eca-button-wrapper-dual svg' => 'fill: {{VALUE}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Background::get_type(),
			array(
				'name'     => 'rbBackgroundN',
				'types'    => array( 'classic', 'gradient' ),
				'selector' => '{{WRAPPER}} .eca-button-wrapper-main.dual .eca-button-wrapper-dual',
			)
		);
		$this->add_group_control(
			Group_Control_Border::get_type(),
			array(
				'name'     => 'rbBorderN',
				'label'    => esc_html__( 'Border', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .eca-button-wrapper-main.dual .eca-button-wrapper-dual',
			)
		);
		$this->add_responsive_control(
			'rbBrN',
			array(
				'label'      => esc_html__( 'Border Radius', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .eca-button-wrapper-main.dual .eca-button-wrapper-dual' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			array(
				'name'     => 'rbShadowN',
				'selector' => '{{WRAPPER}} .eca-button-wrapper-main.dual .eca-button-wrapper-dual',
			)
		);
		$this->add_control(
			'rbTransitionN',
			array(
				'label'       => esc_html__( 'Transition css', 'essential-classy-addons-for-elementor' ),
				'type'        => Controls_Manager::TEXT,
				'placeholder' => esc_html__( 'all .3s linear', 'essential-classy-addons-for-elementor' ),
				'selectors'   => array(
					'{{WRAPPER}} .eca-button-wrapper-main.dual .eca-button-wrapper-dual' => 'transition:{{VALUE}};',
				),
			)
		);
		$this->add_control(
			'rbTransformN',
			array(
				'label'       => esc_html__( 'Transform css', 'essential-classy-addons-for-elementor' ),
				'type'        => Controls_Manager::TEXT,
				'placeholder' => esc_html__( 'skew(-20deg)', 'essential-classy-addons-for-elementor' ),
				'selectors'   => array(
					'{{WRAPPER}} .eca-button-wrapper-main.dual .eca-button-wrapper-dual' => 'transform: {{VALUE}};-ms-transform: {{VALUE}};-moz-transform: {{VALUE}};-webkit-transform: {{VALUE}};',
				),
			)
		);
		$this->end_controls_tab();
		$this->start_controls_tab(
			'tabRBH',
			array(
				'label' => esc_html__( 'Hover', 'essential-classy-addons-for-elementor' ),
			)
		);
		$this->add_control(
			'rbColorH',
			array(
				'label'     => esc_html__( 'Color', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::COLOR,
				'selectors' => array(
					'{{WRAPPER}} .eca-button-wrapper-main.dual .eca-button-wrapper-dual:hover' => 'color: {{VALUE}};',
					'{{WRAPPER}} .eca-button-wrapper-main.dual .eca-button-wrapper-dual:hover svg' => 'fill: {{VALUE}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Background::get_type(),
			array(
				'name'     => 'rbBackgroundH',
				'types'    => array( 'classic', 'gradient' ),
				'selector' => '{{WRAPPER}} .eca-button-wrapper-main.dual .eca-button-wrapper-dual:hover',
			)
		);
		$this->add_group_control(
			Group_Control_Border::get_type(),
			array(
				'name'     => 'rbBorderH',
				'label'    => esc_html__( 'Border', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .eca-button-wrapper-main.dual .eca-button-wrapper-dual:hover',
			)
		);
		$this->add_responsive_control(
			'rbBrH',
			array(
				'label'      => esc_html__( 'Border Radius', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .eca-button-wrapper-main.dual .eca-button-wrapper-dual:hover' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			array(
				'name'     => 'rbShadowH',
				'selector' => '{{WRAPPER}} .eca-button-wrapper-main.dual .eca-button-wrapper-dual:hover',
			)
		);
		$this->add_control(
			'rbTransitionH',
			array(
				'label'       => esc_html__( 'Transition css', 'essential-classy-addons-for-elementor' ),
				'type'        => Controls_Manager::TEXT,
				'placeholder' => esc_html__( 'all .3s linear', 'essential-classy-addons-for-elementor' ),
				'selectors'   => array(
					'{{WRAPPER}} .eca-button-wrapper-main.dual .eca-button-wrapper-dual:hover' => 'transition:{{VALUE}};',
				),
			)
		);
		$this->add_control(
			'rbTransformH',
			array(
				'label'       => esc_html__( 'Transform css', 'essential-classy-addons-for-elementor' ),
				'type'        => Controls_Manager::TEXT,
				'placeholder' => esc_html__( 'skew(-20deg)', 'essential-classy-addons-for-elementor' ),
				'selectors'   => array(
					'{{WRAPPER}} .eca-button-wrapper-main.dual .eca-button-wrapper-dual:hover' => 'transform: {{VALUE}};-ms-transform: {{VALUE}};-moz-transform: {{VALUE}};-webkit-transform: {{VALUE}};',
				),
			)
		);
		$this->end_controls_tab();
		$this->end_controls_tabs();
		$this->end_controls_section();
		/*right button end*/

		/*separator start*/
		$this->start_controls_section(
			'separatorStyling',
			array(
				'label'     => esc_html__( 'Separator', 'essential-classy-addons-for-elementor' ),
				'tab'       => Controls_Manager::TAB_STYLE,
				'condition' => array(
					'contentType' => 'dual',
				),
			)
		);
		$this->add_responsive_control(
			'sepPadding',
			array(
				'label'      => esc_html__( 'Separator Padding', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%', 'em' ),
				'selectors'  => array(
					'{{WRAPPER}} .eca-button-wrapper-main.dual .eca-separator' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_responsive_control(
			'sepIconMargin',
			array(
				'label'      => esc_html__( 'Icon Margin', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%', 'em' ),
				'selectors'  => array(
					'{{WRAPPER}} .eca-button-wrapper-main .eca-separator .eca-button-icon svg' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Typography::get_type(),
			array(
				'name'     => 'sepTypography',
				'selector' => '{{WRAPPER}} .eca-button-wrapper-main.dual .eca-separator',
			)
		);
		$this->add_responsive_control(
			'sepSvgIcon',
			array(
				'label'      => esc_html__( 'Svg Icon', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::SLIDER,
				'size_units' => array( 'px' ),
				'range'      => array(
					'px' => array(
						'min' => 1,
						'max' => 100,
					),
				),
				'default'    => array(
					'unit' => 'px',
					'size' => 20,
				),
				'selectors'  => array(
					'{{WRAPPER}} .eca-button-wrapper-main.dual .eca-separator svg' => 'width: {{SIZE}}{{UNIT}};height: {{SIZE}}{{UNIT}};',
				),
			)
		);
		$this->add_control(
			'sepColorN',
			array(
				'label'     => esc_html__( 'Color', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::COLOR,
				'selectors' => array(
					'{{WRAPPER}} .eca-button-wrapper-main.dual .eca-separator' => 'color: {{VALUE}};',
					'{{WRAPPER}} .eca-button-wrapper-main.dual .eca-separator svg' => 'fill: {{VALUE}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Background::get_type(),
			array(
				'name'     => 'sepBackgroundN',
				'types'    => array( 'classic', 'gradient' ),
				'selector' => '{{WRAPPER}} .eca-button-wrapper-main.dual .eca-separator',
			)
		);
		$this->add_group_control(
			Group_Control_Border::get_type(),
			array(
				'name'     => 'sepBorderN',
				'label'    => esc_html__( 'Border', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .eca-button-wrapper-main.dual .eca-separator',
			)
		);
		$this->add_responsive_control(
			'sepBrN',
			array(
				'label'      => esc_html__( 'Border Radius', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .eca-button-wrapper-main.dual .eca-separator' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			array(
				'name'     => 'sepShadowN',
				'selector' => '{{WRAPPER}} .eca-button-wrapper-main.dual .eca-separator',
			)
		);
		$this->add_control(
			'sepTransitionN',
			array(
				'label'       => esc_html__( 'Transition css', 'essential-classy-addons-for-elementor' ),
				'type'        => Controls_Manager::TEXT,
				'placeholder' => esc_html__( 'all .3s linear', 'essential-classy-addons-for-elementor' ),
				'selectors'   => array(
					'{{WRAPPER}} .eca-button-wrapper-main.dual .eca-separator' => 'transition:{{VALUE}};',
				),
			)
		);
		$this->add_control(
			'sepTransformN',
			array(
				'label'       => esc_html__( 'Transform css', 'essential-classy-addons-for-elementor' ),
				'type'        => Controls_Manager::TEXT,
				'placeholder' => esc_html__( 'skew(-20deg)', 'essential-classy-addons-for-elementor' ),
				'selectors'   => array(
					'{{WRAPPER}} .eca-button-wrapper-main.dual .eca-separator' => 'transform: {{VALUE}};-ms-transform: {{VALUE}};-moz-transform: {{VALUE}};-webkit-transform: {{VALUE}};',
				),
			)
		);
		$this->end_controls_section();
		/*separator end*/

		/*icon style start*/
		$this->start_controls_section(
			'sectionIconStyling',
			array(
				'label'     => esc_html__( 'Icon', 'essential-classy-addons-for-elementor' ),
				'tab'       => Controls_Manager::TAB_STYLE,
				'condition' => array(
					'iconSwitch' => 'yes',
				),
			)
		);
		$this->add_responsive_control(
			'iconSpaceAfter',
			array(
				'label'      => esc_html__( 'Space', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::SLIDER,
				'size_units' => array( 'px' ),
				'range'      => array(
					'px' => array(
						'min' => 1,
						'max' => 100,
					),
				),
				'condition'  => array(
					'iconPosition' => 'after',
				),
				'selectors'  => array(
					'{{WRAPPER}} .eca-button-wrapper-main .eca-button-icon i,{{WRAPPER}} .eca-button-wrapper-main .eca-button-icon svg' => 'margin-left: {{SIZE}}{{UNIT}};',
				),
			)
		);
		$this->add_responsive_control(
			'iconSpaceBefore',
			array(
				'label'      => esc_html__( 'Space', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::SLIDER,
				'size_units' => array( 'px' ),
				'range'      => array(
					'px' => array(
						'min' => 1,
						'max' => 100,
					),
				),
				'condition'  => array(
					'iconPosition' => 'before',
				),
				'selectors'  => array(
					'{{WRAPPER}} .eca-button-wrapper-main .eca-button-icon i,{{WRAPPER}} .eca-button-wrapper-main .eca-button-icon svg' => 'margin-right: {{SIZE}}{{UNIT}};',
				),
			)
		);
		$this->add_responsive_control(
			'iconSize',
			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,
					),
				),
				'default'    => array(
					'unit' => 'px',
					'size' => 20,
				),
				'selectors'  => array(
					'{{WRAPPER}} .eca-button-wrapper-main .eca-button-icon i' => 'font-size: {{SIZE}}{{UNIT}};',
					'{{WRAPPER}} .eca-button-wrapper-main .eca-button-icon svg' => 'width: {{SIZE}}{{UNIT}};height:{{SIZE}}{{UNIT}};',
				),
			)
		);
		$this->add_responsive_control(
			'iconPadding',
			array(
				'label'      => esc_html__( 'Padding', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%', 'em' ),
				'selectors'  => array(
					'{{WRAPPER}} .eca-button-wrapper-main .eca-button-icon i,{{WRAPPER}} .eca-button-wrapper-main .eca-button-icon svg' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->start_controls_tabs( 'tabsIconStyle' );
		$this->start_controls_tab(
			'tabIconN',
			array(
				'label' => esc_html__( 'Normal', 'essential-classy-addons-for-elementor' ),
			)
		);
		$this->add_control(
			'iconColorN',
			array(
				'label'     => esc_html__( 'Color', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::COLOR,
				'selectors' => array(
					'{{WRAPPER}} .eca-button-wrapper-main .eca-button-icon i' => 'color: {{VALUE}};',
					'{{WRAPPER}} .eca-button-wrapper-main .eca-button-icon svg' => 'fill: {{VALUE}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Background::get_type(),
			array(
				'name'     => 'iconBackgroundN',
				'types'    => array( 'classic', 'gradient' ),
				'selector' => '{{WRAPPER}} .eca-button-wrapper-main .eca-button-icon',
			)
		);
		$this->add_group_control(
			Group_Control_Border::get_type(),
			array(
				'name'     => 'iconBorderN',
				'label'    => esc_html__( 'Border', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .eca-button-wrapper-main .eca-button-icon',
			)
		);
		$this->add_responsive_control(
			'iconBrN',
			array(
				'label'      => esc_html__( 'Border Radius', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .eca-button-wrapper-main .eca-button-icon' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			array(
				'name'     => 'iconShadowN',
				'selector' => '{{WRAPPER}} .eca-button-wrapper-main .eca-button-icon',
			)
		);
		$this->add_control(
			'iconTransformN',
			array(
				'label'       => esc_html__( 'Transform css', 'essential-classy-addons-for-elementor' ),
				'type'        => Controls_Manager::TEXT,
				'placeholder' => esc_html__( 'skew(-20deg)', 'essential-classy-addons-for-elementor' ),
				'selectors'   => array(
					'{{WRAPPER}} .eca-button-wrapper-main .eca-button-icon' => 'transform: {{VALUE}};-ms-transform: {{VALUE}};-moz-transform: {{VALUE}};-webkit-transform: {{VALUE}};',
				),
			)
		);
		$this->end_controls_tab();
		$this->start_controls_tab(
			'tabIconH',
			array(
				'label' => esc_html__( 'Hover', 'essential-classy-addons-for-elementor' ),
			)
		);
		$this->add_control(
			'iconColorH',
			array(
				'label'     => esc_html__( 'Color', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::COLOR,
				'selectors' => array(
					'{{WRAPPER}} .eca-button-wrapper-main a:hover .eca-button-icon i,
					{{WRAPPER}} .eca-button-wrapper-main .eca-separator:hover i' => 'color: {{VALUE}};',
					'{{WRAPPER}} .eca-button-wrapper-main a:hover .eca-button-icon svg,
					{{WRAPPER}} .eca-button-wrapper-main .eca-separator:hover svg' => 'fill: {{VALUE}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Background::get_type(),
			array(
				'name'     => 'iconBackgroundH',
				'types'    => array( 'classic', 'gradient' ),
				'selector' => '{{WRAPPER}} .eca-button-wrapper-main .eca-button-wrapper:hover .eca-button-icon',
			)
		);
		$this->add_group_control(
			Group_Control_Border::get_type(),
			array(
				'name'     => 'iconBorderH',
				'label'    => esc_html__( 'Border', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .eca-button-wrapper-main .eca-button-wrapper:hover .eca-button-icon',
			)
		);
		$this->add_responsive_control(
			'iconBrH',
			array(
				'label'      => esc_html__( 'Border Radius', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .eca-button-wrapper-main .eca-button-wrapper:hover .eca-button-icon' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			array(
				'name'     => 'iconShadowH',
				'selector' => '{{WRAPPER}} .eca-button-wrapper-main .eca-button-wrapper:hover .eca-button-icon',
			)
		);
		$this->add_control(
			'iconTransformH',
			array(
				'label'       => esc_html__( 'Transform css', 'essential-classy-addons-for-elementor' ),
				'type'        => Controls_Manager::TEXT,
				'placeholder' => esc_html__( 'skew(-20deg)', 'essential-classy-addons-for-elementor' ),
				'selectors'   => array(
					'{{WRAPPER}} .eca-button-wrapper-main .eca-button-wrapper:hover .eca-button-icon' => 'transform: {{VALUE}};-ms-transform: {{VALUE}};-moz-transform: {{VALUE}};-webkit-transform: {{VALUE}};',
				),
			)
		);
		$this->end_controls_tab();
		$this->end_controls_tabs();
		$this->end_controls_section();
		/*icon style end*/

		/*icon style start*/
		$this->start_controls_section(
			'sectionAEStyling',
			array(
				'label'     => esc_html__( 'Advanced Effect', 'essential-classy-addons-for-elementor' ),
				'tab'       => Controls_Manager::TAB_STYLE,
				'condition' => array(
					'contentType' => 'normal',
					'normalStyle' => array( 'style1', 'style2', 'style3', 'style4', 'style5', 'style6', 'style7', 'style8', 'style9', 'style10', 'style11', 'style12', 'style13', 'style17', 'style19' ),
				),
			)
		);
		$this->add_responsive_control(
			'stOneFourHeight',
			array(
				'label'      => esc_html__( 'Height For Style 1,4 and 6', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::SLIDER,
				'size_units' => array( 'px' ),
				'range'      => array(
					'px' => array(
						'min' => 1,
						'max' => 10,
					),
				),
				'selectors'  => array(
					'{{WRAPPER}} .eca-button-wrapper-main.normal .eca-button-wrapper::before,
					{{WRAPPER}} .eca-button-wrapper-main.normal .eca-button-wrapper::after' => 'height:{{SIZE}}px;',
				),
			)
		);
		$this->add_control(
			'csColor1',
			array(
				'label'     => esc_html__( 'Color 1', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::COLOR,
				'selectors' => array(
					'{{WRAPPER}} .eca-button-wrapper-main.normal.style1 .eca-button-wrapper::before,
					{{WRAPPER}} .eca-button-wrapper-main.normal.style2 .eca-button-wrapper::before,
					{{WRAPPER}} .eca-button-wrapper-main.normal.style3 .eca-button-wrapper:hover::before,
					{{WRAPPER}} .eca-button-wrapper-main.normal.style4 .eca-button-wrapper::before,
					{{WRAPPER}} .eca-button-wrapper-main.normal.style6 .eca-button-wrapper::after,
					{{WRAPPER}} .eca-button-wrapper-main.normal.style6 .eca-button-wrapper::before,
					{{WRAPPER}} .eca-button-wrapper-main.normal.style8 .eca-button-wrapper .eca-inner-wrap,
					{{WRAPPER}} .eca-button-wrapper-main.normal.style9 .eca-button-wrapper .eca-inner-wrap,
					{{WRAPPER}} .eca-button-wrapper-main.normal.style10 .eca-button-wrapper::after,
					{{WRAPPER}} .eca-button-wrapper-main.normal.style11 .eca-button-wrapper::after,
					{{WRAPPER}} .eca-button-wrapper-main.normal.style12 .eca-button-wrapper:before,
					{{WRAPPER}} .eca-button-wrapper-main.normal.style12 .eca-button-wrapper:after,
					{{WRAPPER}} .eca-button-wrapper-main.normal.style13 .eca-button-wrapper:active,
					{{WRAPPER}} .eca-button-wrapper-main.normal.style19 .eca-button-wrapper:after' => 'background: {{VALUE}};',
					'{{WRAPPER}} .eca-button-wrapper-main.normal.style6 .eca-button-wrapper:hover' => 'border-left: 1px solid {{VALUE}};border-right: 1px solid {{VALUE}};',
				),
				'condition' => array(
					'normalStyle' => array( 'style1', 'style2', 'style3', 'style4', 'style6', 'style8', 'style9', 'style10', 'style11', 'style12', 'style13', 'style19' ),
				),
			)
		);
		$this->add_control(
			'csColor21',
			array(
				'label'     => esc_html__( 'Color 2', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::COLOR,
				'selectors' => array(
					'{{WRAPPER}} .eca-button-wrapper-main.normal.style5 .eca-button-wrapper::before' => 'box-shadow: inset 0px 0px 0px {{VALUE}};',
					'{{WRAPPER}} .eca-button-wrapper-main.normal.style5 .eca-button-wrapper:hover::before' => 'box-shadow: inset 500px 0px 0px {{VALUE}};',
				),
				'condition' => array(
					'normalStyle' => 'style5',
				),
			)
		);
		$this->add_control(
			'csColor23',
			array(
				'label'     => esc_html__( 'Color 2', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::COLOR,
				'selectors' => array(
					'{{WRAPPER}} .eca-button-wrapper-main.normal.style7 .eca-button-wrapper:hover' => 'box-shadow: inset 0px 100px 0px 0px  {{VALUE}};',
				),
				'condition' => array(
					'normalStyle' => 'style7',
				),
			)
		);
		$this->add_control(
			'csColor241',
			array(
				'label'     => esc_html__( 'Color 2', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::COLOR,
				'selectors' => array(
					'{{WRAPPER}} .eca-button-wrapper-main.normal.style10 .eca-button-wrapper::before' => 'background:{{VALUE}};',
				),
				'condition' => array(
					'normalStyle' => 'style10',
				),
			)
		);
		$this->add_control(
			'csColor242',
			array(
				'label'     => esc_html__( 'Color 2', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::COLOR,
				'selectors' => array(
					'{{WRAPPER}} .eca-button-wrapper-main.normal.style11 .eca-button-wrapper::before' => 'background:{{VALUE}};',
				),
				'condition' => array(
					'normalStyle' => 'style11',
				),
			)
		);
		$this->add_control(
			'csColor25',
			array(
				'label'     => esc_html__( 'Color 2', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::COLOR,
				'selectors' => array(
					'{{WRAPPER}} .eca-button-wrapper-main.normal.style13 .eca-button-wrapper:active' => 'box-shadow: 0 5px {{VALUE}};',
				),
				'condition' => array(
					'normalStyle' => 'style13',
				),
			)
		);
		$this->add_control(
			'csColor26',
			array(
				'label'     => esc_html__( 'Color 2', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::COLOR,
				'selectors' => array(
					'{{WRAPPER}} .eca-button-wrapper-main.normal.style17 .eca-button-wrapper:hover:after,
						{{WRAPPER}} .eca-button-wrapper-main.normal.style17 .eca-button-wrapper:hover:before' => 'border-color: {{VALUE}};',
				),
				'condition' => array(
					'normalStyle' => 'style17',
				),
			)
		);
		$this->end_controls_section();
		/*
		icon style end*/
		/*style end*/
	}

	protected function render() {

		$settings        = $this->get_settings_for_display();
		$contentType     = $settings['contentType'];
		$normalStyle     = $settings['normalStyle'];
		$dualStyle       = $settings['dualStyle'];
		$buttonText      = ! empty( $settings['buttonText'] ) ? esc_attr( $settings['buttonText'] ) : '';
		$buttonHoverText = ! empty( $settings['buttonHoverText'] ) ? esc_attr( $settings['buttonHoverText'] ) : '';
		$buttonLink      = ! empty( $settings['buttonLink']['url'] ) ? esc_url( $settings['buttonLink']['url'] ) : '';
		$buttonText2     = ! empty( $settings['buttonText2'] ) ? esc_attr( $settings['buttonText2'] ) : '';
		$buttonLink2     = ! empty( $settings['buttonLink2']['url'] ) ? esc_url( $settings['buttonLink2']['url'] ) : '';
		$iconSwitch      = ! empty( $settings['iconSwitch'] ) ? $settings['iconSwitch'] : 'yes';
		$iconPosition    = ! empty( $settings['iconPosition'] ) ? $settings['iconPosition'] : 'before';
		$iconLibrary     = ! empty( $settings['iconLibrary'] ) ? $settings['iconLibrary'] : '';
		$iconLibrary2    = ! empty( $settings['iconLibrary2'] ) ? $settings['iconLibrary2'] : '';
		$buttonSeprator  = ! empty( $settings['buttonSeprator'] ) ? esc_attr( $settings['buttonSeprator'] ) : '';
		$sepratorIcon    = ! empty( $settings['sepratorIcon'] ) ? $settings['sepratorIcon'] : '';

		$Style = '';
		if ( ! empty( $contentType ) && $contentType == 'normal' ) {
			$Style = $normalStyle;
		} elseif ( ! empty( $contentType ) && $contentType == 'dual' ) {
			$Style = $dualStyle;
		}

		$Output = $firstBtn = $firstButtonOp = $secondButtonOp = $buttonLinkTarget = $buttonLinkNoFollow = $iconPosBefore = $iconPosAfter = $iconPosBefore2 = $iconPosAfter2 = $sepratorIconLib = $iconPosAfterSep2 = $iconPosBeforeSep2 = '';
		if ( ( ! empty( $contentType ) && $contentType == 'normal' ) || ( ! empty( $contentType ) && $contentType == 'dual' ) ) {
			if ( ! empty( $normalStyle ) || ! empty( $dualStyle ) ) {
				if ( ! empty( $buttonText ) ) {
					if ( ! empty( $iconSwitch ) && $iconSwitch == 'yes' ) {
						if ( ! empty( $iconLibrary ) ) {
							ob_start();
							\Elementor\Icons_Manager::render_icon( $iconLibrary, array( 'aria-hidden' => 'true' ) );
							$firstBtn = ob_get_contents();
							ob_end_clean();
						}
						if ( ! empty( $iconPosition ) ) {
							if ( $iconPosition == 'before' ) {
								$iconPosBefore = '<span class="eca-button-icon eca-button-icon-before">' . $firstBtn . '</span>';
							} elseif ( $iconPosition == 'after' ) {
								$iconPosAfter = '<span class="eca-button-icon eca-button-icon-after">' . $firstBtn . '</span>';
							}
						}
					}
					if ( ! empty( $settings['buttonLink']['url'] ) ) {
						$this->add_link_attributes( 'button', $settings['buttonLink'] );
						$this->add_render_attribute( 'button', 'class', 'eca-button-wrapper' );
					}
					$firstButtonOp .= '<a ' . $this->get_render_attribute_string( 'button' ) . '>';

					if ( $normalStyle === 'style8' || $normalStyle === 'style9' || $normalStyle === 'style10' || $normalStyle === 'style11' || $normalStyle === 'style12' || $normalStyle === 'style14' || $normalStyle === 'style16' || $normalStyle === 'style18' || $normalStyle == 'style20' || $normalStyle == 'style21' || $normalStyle == 'style22' || $normalStyle == 'style23' ) {
						$firstButtonOp .= '<span class="eca-span-wrap">' . $iconPosBefore . ' ' . $buttonText . ' ' . $iconPosAfter . '</span>';

						if ( $normalStyle === 'style16' ) {
							$firstButtonOp .= '<span class="eca-span-wrap-two">' . $buttonHoverText . '</span>';
						}
						if ( $normalStyle != 'style10' && $normalStyle != 'style12' && $normalStyle != 'style14' && $normalStyle != 'style16' && $normalStyle != 'style18' && $normalStyle != 'style20' && $normalStyle != 'style21' && $normalStyle != 'style22' && $normalStyle != 'style23' ) {
							$firstButtonOp .= '<div class="eca-inner-wrap"></div>';
						}
					} else {
						$firstButtonOp .= $iconPosBefore . $buttonText . $iconPosAfter;
					}
					$firstButtonOp .= '</a>';
				}
			}
		}

		if ( ! empty( $contentType ) && $contentType == 'dual' ) {
			if ( ! empty( $dualStyle ) ) {
				if ( ! empty( $buttonText2 ) ) {
					if ( ! empty( $iconSwitch ) && $iconSwitch == 'yes' ) {
						if ( ! empty( $iconLibrary2 ) ) {
							ob_start();
							\Elementor\Icons_Manager::render_icon( $iconLibrary2, array( 'aria-hidden' => 'true' ) );
							$SecondBtn = ob_get_contents();
							ob_end_clean();
						}
						if ( ! empty( $iconPosition ) ) {
							if ( ! empty( $sepratorIcon ) ) {
								ob_start();
								\Elementor\Icons_Manager::render_icon( $sepratorIcon, array( 'aria-hidden' => 'true' ) );
								$sepratorIconLib = ob_get_contents();
								ob_end_clean();
							}
							if ( $iconPosition == 'before' ) {
								$iconPosBefore2    = '<span class="eca-button-icon eca-button-icon-before">' . $SecondBtn . '</span>';
								$iconPosBeforeSep2 = '<span class="eca-button-icon eca-button-icon-sep-before">' . $sepratorIconLib . '</span>';
							} elseif ( $iconPosition == 'after' ) {
								$iconPosAfter2    = '<span class="eca-button-icon eca-button-icon-after">' . $SecondBtn . '</span>';
								$iconPosAfterSep2 = '<span class="eca-button-icon eca-button-icon-sep-after">' . $sepratorIconLib . '</span>';
							}
						}
					}

					if ( ! empty( $settings['buttonLink2']['url'] ) ) {
						$this->add_link_attributes( 'button2', $settings['buttonLink2'] );
						$this->add_render_attribute( 'button2', 'class', 'eca-button-wrapper-dual' );
					}
					$secondButtonOp .= '<a ' . $this->get_render_attribute_string( 'button2' ) . '>' . $iconPosBefore2 . ' ' . $buttonText2 . ' ' . $iconPosAfter2 . '</a>';
					$secondButtonOp .= '<span class="eca-separator">' . $iconPosBeforeSep2 . ' ' . $buttonSeprator . ' ' . $iconPosAfterSep2 . '</span>';
				}
			}
		}

		$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-button-wrapper-main ' . esc_attr( $contentType ) . ' ' . esc_attr( $Style ) . ' ' . esc_attr( $tiltclass ) . ' ' . esc_attr( $tippyclass ) . '" ' . $tiltrender . ' ' . $tippyrender . '>';
		if ( ! empty( $contentType ) && $contentType == 'dual' ) {
			$Output .= '<div class="eca-button-wrapper-inner">';
		}

				$Output .= $firstButtonOp;
				$Output .= $secondButtonOp;

		if ( ! empty( $contentType ) && $contentType == 'dual' ) {
			$Output .= '</div>';
		}

			$Output .= '</div>';

			echo wp_kses_normalize_entities( $Output );
	}
}
