<?php
namespace EcafeAddons\Widgets;

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

use EcafeAddons\EcafeElementLoad;

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

class Ecafe_Testimonial extends Widget_Base {

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

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

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

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

	public function get_keywords() {
		return array( 'testimonial', 'client feedback', 'customer reviews', 'success stories', 'reviews' );
	}

	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__( 'Testimonial', 'essential-classy-addons-for-elementor' ),
				'tab'   => Controls_Manager::TAB_CONTENT,
			)
		);
		$this->add_control(
			'contentLayout',
			array(
				'label'   => esc_html__( 'Layout', 'essential-classy-addons-for-elementor' ),
				'type'    => Controls_Manager::SELECT,
				'default' => 'layout1',
				'options' => array(
					'layout1' => esc_html__( 'Layout 1', 'essential-classy-addons-for-elementor' ),
					'layout2' => esc_html__( 'Layout 2', 'essential-classy-addons-for-elementor' ),
					'layout3' => esc_html__( 'Layout 3', 'essential-classy-addons-for-elementor' ),
					'layout4' => esc_html__( 'Layout 4', 'essential-classy-addons-for-elementor' ),
					'layout5' => esc_html__( 'Layout 5', 'essential-classy-addons-for-elementor' ),
					'layout6' => esc_html__( 'Layout 6', 'essential-classy-addons-for-elementor' ),
					'layout7' => esc_html__( 'Layout 7', 'essential-classy-addons-for-elementor' ),
					'layout8' => esc_html__( 'Layout 8', 'essential-classy-addons-for-elementor' ),
					'layout9' => esc_html__( 'Layout 9', 'essential-classy-addons-for-elementor' ),
				),
			)
		);
		$this->add_control(
			'forceVertical',
			array(
				'label'     => esc_html__( 'Mobile Force Vertical', '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' ),
				'condition' => array(
					'contentLayout' => array( 'layout2', 'layout3', 'layout4', 'layout5', 'layout8', 'layout9' ),
				),
			)
		);
		$this->add_control(
			'iconImage',
			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' ),
					'image' => esc_html__( 'Image', 'essential-classy-addons-for-elementor' ),
				),
			)
		);
		$this->add_control(
			'iconLibrary',
			array(
				'label'     => esc_html__( 'Icon', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::ICONS,
				'default'   => array(
					'value'   => 'fas fa-star',
					'library' => 'solid',
				),
				'condition' => array(
					'iconImage' => 'icon',
				),
			)
		);
		$this->add_control(
			'imageSelect',
			array(
				'label'      => esc_html__( 'Image', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::MEDIA,
				'default'    => array(
					'url' => '',
				),
				'media_type' => 'image',
				'dynamic'    => array(
					'active' => true,
				),
				'condition'  => array(
					'iconImage' => 'image',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Image_Size::get_type(),
			array(
				'name'      => 'imageSelectThumbnail',
				'default'   => 'full',
				'exclude'   => array( 'custom' ),
				'condition' => array(
					'iconImage' => 'image',
				),
			)
		);
		$this->add_control(
			'testimonialTitle',
			array(
				'label'       => esc_html__( 'Title', 'essential-classy-addons-for-elementor' ),
				'type'        => Controls_Manager::TEXT,
				'dynamic'     => array( 'active' => true ),
				'default'     => esc_html__( 'Title', 'essential-classy-addons-for-elementor' ),
				'placeholder' => esc_html__( 'Enter Title', 'essential-classy-addons-for-elementor' ),
				'separator'   => 'before',
			)
		);
		$this->add_control(
			'testimonialTitleTag',
			array(
				'label'   => esc_html__( 'Title Tag', 'essential-classy-addons-for-elementor' ),
				'type'    => Controls_Manager::SELECT,
				'default' => 'h1',
				'options' => \EcafeHelper::getHtmlTag(),
			)
		);
		$this->add_control(
			'infoTitleUnderlineEffect',
			array(
				'label'     => esc_html__( 'Underline Text 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(
			'gutEffectType',
			array(
				'label'     => esc_html__( 'Effect', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::SELECT,
				'default'   => 'effect1',
				'options'   => array(
					'effect1'  => esc_html__( 'Effect 1', 'essential-classy-addons-for-elementor' ),
					'effect2'  => esc_html__( 'Effect 2', 'essential-classy-addons-for-elementor' ),
					'effect3'  => esc_html__( 'Effect 3', 'essential-classy-addons-for-elementor' ),
					'effect4'  => esc_html__( 'Effect 4', 'essential-classy-addons-for-elementor' ),
					'effect5'  => esc_html__( 'Effect 5', 'essential-classy-addons-for-elementor' ),
					'effect6'  => esc_html__( 'Effect 6', 'essential-classy-addons-for-elementor' ),
					'effect7'  => esc_html__( 'Effect 7', 'essential-classy-addons-for-elementor' ),
					'effect8'  => esc_html__( 'Effect 8', 'essential-classy-addons-for-elementor' ),
					'effect9'  => esc_html__( 'Effect 9', 'essential-classy-addons-for-elementor' ),
					'effect10' => esc_html__( 'Effect 10', 'essential-classy-addons-for-elementor' ),
					'effect11' => esc_html__( 'Effect 11', 'essential-classy-addons-for-elementor' ),
					'effect12' => esc_html__( 'Effect 12', 'essential-classy-addons-for-elementor' ),
					'effect13' => esc_html__( 'Effect 13', 'essential-classy-addons-for-elementor' ),
					'effect14' => esc_html__( 'Effect 14', 'essential-classy-addons-for-elementor' ),
					'effect15' => esc_html__( 'Effect 15', 'essential-classy-addons-for-elementor' ),
					'effect16' => esc_html__( 'Effect 16', 'essential-classy-addons-for-elementor' ),
					'effect17' => esc_html__( 'Effect 17', 'essential-classy-addons-for-elementor' ),
					'effect18' => esc_html__( 'Effect 18', 'essential-classy-addons-for-elementor' ),
					'effect19' => esc_html__( 'Effect 19', 'essential-classy-addons-for-elementor' ),
					'effect20' => esc_html__( 'Effect 20', 'essential-classy-addons-for-elementor' ),
				),
				'condition' => array(
					'infoTitleUnderlineEffect' => 'yes',
				),
			)
		);
		$this->add_control(
			'testimonialSubTitle',
			array(
				'label'       => esc_html__( 'Sub Title', 'essential-classy-addons-for-elementor' ),
				'type'        => Controls_Manager::TEXT,
				'dynamic'     => array( 'active' => true ),
				'default'     => esc_html__( 'Sub Title', 'essential-classy-addons-for-elementor' ),
				'placeholder' => esc_html__( 'Enter Title', 'essential-classy-addons-for-elementor' ),
				'separator'   => 'before',
			)
		);
		$this->add_control(
			'testimonialSubTitleTag',
			array(
				'label'   => esc_html__( 'Sub Title Tag', 'essential-classy-addons-for-elementor' ),
				'type'    => Controls_Manager::SELECT,
				'default' => 'h2',
				'options' => \EcafeHelper::getHtmlTag(),
			)
		);
		$this->add_control(
			'testimonialDesc',
			array(
				'label'       => esc_html__( 'Description', 'essential-classy-addons-for-elementor' ),
				'type'        => Controls_Manager::WYSIWYG,
				'default'     => esc_html__( 'It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout.', 'essential-classy-addons-for-elementor' ),
				'placeholder' => esc_html__( 'Enter your Description', 'essential-classy-addons-for-elementor' ),
				'dynamic'     => array( 'active' => true ),
				'separator'   => 'before',
			)
		);
		$this->add_control(
			'testimonialReview',
			array(
				'label'       => esc_html__( 'Review (1 to 5)', 'essential-classy-addons-for-elementor' ),
				'type'        => Controls_Manager::TEXT,
				'dynamic'     => array( 'active' => true ),
				'default'     => '5',
				'placeholder' => esc_html__( 'Enter Review 4.5', 'essential-classy-addons-for-elementor' ),
				'separator'   => 'before',
			)
		);
		$this->add_control(
			'testimonialReviewFillColor',
			array(
				'label'   => esc_html__( 'Fill Color', 'essential-classy-addons-for-elementor' ),
				'type'    => Controls_Manager::COLOR,
				'default' => '#fc0',
			)
		);
		$this->add_control(
			'testimonialReviewEmptyColor',
			array(
				'label'     => esc_html__( 'Empty Color', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::COLOR,
				'default'   => '#fff',
				'selectors' => array(
					'{{WRAPPER}} .ec-testimonial-wrapper .ec-testimonial-review::before' => 'background: linear-gradient(90deg, {{testimonialReviewFillColor.VALUE}} calc({{testimonialReview.VALUE}} / 5 * 100%),  {{testimonialReviewEmptyColor.VALUE}} calc({{testimonialReview.VALUE}} / 5 * 100%));',
				),
			)
		);
		$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/testimonial/' );
		$ecwidgetdoclink  = esc_url( 'https://ecaddons.com/docs/testimonial-widget-tutorial/' );
		include ECAFE_PATH . 'element/widgets/ecafe-widgetpanel-help.php';

		/*layout2 extra start*/
		$this->start_controls_section(
			'ly2extStyling',
			array(
				'label'     => esc_html__( 'Extra', 'essential-classy-addons-for-elementor' ),
				'tab'       => Controls_Manager::TAB_STYLE,
				'condition' => array(
					'contentLayout' => 'layout2',
				),
			)
		);
		$this->add_control(
			'ly2TopBoxStyling',
			array(
				'label' => esc_html__( 'Top Box', 'essential-classy-addons-for-elementor' ),
				'type'  => Controls_Manager::HEADING,
			)
		);
		$this->add_responsive_control(
			'ly2TopBoxPadding',
			array(
				'label'      => esc_html__( 'Padding', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%', 'em' ),
				'selectors'  => array(
					'{{WRAPPER}} .ec-testimonial-wrapper .ec-testimonial-wrap-first' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_responsive_control(
			'ly2TopBoxMargin',
			array(
				'label'      => esc_html__( 'Margin', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%', 'em' ),
				'selectors'  => array(
					'{{WRAPPER}} .ec-testimonial-wrapper .ec-testimonial-wrap-first' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->start_controls_tabs( 'tabsly2TopBoxStyle' );
		$this->start_controls_tab(
			'tably2TopBoxN',
			array(
				'label' => esc_html__( 'Normal', 'essential-classy-addons-for-elementor' ),
			)
		);
		$this->add_group_control(
			Group_Control_Background::get_type(),
			array(
				'name'     => 'ly2TopBoxBgN',
				'types'    => array( 'classic', 'gradient' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper .ec-testimonial-wrap-first',
			)
		);
		$this->add_group_control(
			Group_Control_Border::get_type(),
			array(
				'name'     => 'ly2TopBoxBorderN',
				'label'    => esc_html__( 'Border', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper .ec-testimonial-wrap-first',
			)
		);
		$this->add_responsive_control(
			'ly2TopBoxBrN',
			array(
				'label'      => esc_html__( 'Border Radius', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .ec-testimonial-wrapper .ec-testimonial-wrap-first' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			array(
				'name'     => 'ly2TopBoxShadowN',
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper .ec-testimonial-wrap-first',
			)
		);
		$this->add_control(
			'ly2TopBoxTransitionN',
			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}} .ec-testimonial-wrapper .ec-testimonial-wrap-first' => 'transition:{{VALUE}};',
				),
			)
		);
		$this->add_control(
			'ly2TopBoxTransformN',
			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}} .ec-testimonial-wrapper .ec-testimonial-wrap-first' => 'transform: {{VALUE}};-ms-transform: {{VALUE}};-moz-transform: {{VALUE}};-webkit-transform: {{VALUE}};',
				),
			)
		);
		$this->end_controls_tab();
		$this->start_controls_tab(
			'tably2TopBoxBH',
			array(
				'label' => esc_html__( 'Box Hover', 'essential-classy-addons-for-elementor' ),
			)
		);
		$this->add_group_control(
			Group_Control_Background::get_type(),
			array(
				'name'     => 'ly2TopBoxBgBH',
				'types'    => array( 'classic', 'gradient' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper:hover .ec-testimonial-wrap-first',
			)
		);
		$this->add_group_control(
			Group_Control_Border::get_type(),
			array(
				'name'     => 'ly2TopBoxBorderBH',
				'label'    => esc_html__( 'Border', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper:hover .ec-testimonial-wrap-first',
			)
		);
		$this->add_responsive_control(
			'ly2TopBoxBrBH',
			array(
				'label'      => esc_html__( 'Border Radius', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .ec-testimonial-wrapper:hover .ec-testimonial-wrap-first' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			array(
				'name'     => 'ly2TopBoxShadowBH',
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper:hover .ec-testimonial-wrap-first',
			)
		);
		$this->end_controls_tab();
		$this->start_controls_tab(
			'tably2TopBoxH',
			array(
				'label' => esc_html__( 'Hover', 'essential-classy-addons-for-elementor' ),
			)
		);
		$this->add_group_control(
			Group_Control_Background::get_type(),
			array(
				'name'     => 'ly2TopBoxBgH',
				'types'    => array( 'classic', 'gradient' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper .ec-testimonial-wrap-first:hover',
			)
		);
		$this->add_group_control(
			Group_Control_Border::get_type(),
			array(
				'name'     => 'ly2TopBoxBorderH',
				'label'    => esc_html__( 'Border', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper .ec-testimonial-wrap-first:hover',
			)
		);
		$this->add_responsive_control(
			'ly2TopBoxBrH',
			array(
				'label'      => esc_html__( 'Border Radius', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .ec-testimonial-wrapper .ec-testimonial-wrap-first:hover' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			array(
				'name'     => 'ly2TopBoxShadowH',
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper .ec-testimonial-wrap-first:hover',
			)
		);
		$this->add_control(
			'ly2TopBoxTransitionH',
			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}} .ec-testimonial-wrapper .ec-testimonial-wrap-first:hover' => 'transition:{{VALUE}};',
				),
			)
		);
		$this->add_control(
			'ly2TopBoxTransformH',
			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}} .ec-testimonial-wrapper .ec-testimonial-wrap-first:hover' => 'transform: {{VALUE}};-ms-transform: {{VALUE}};-moz-transform: {{VALUE}};-webkit-transform: {{VALUE}};',
				),
			)
		);
		$this->end_controls_tab();
		$this->end_controls_tabs();

		$this->add_control(
			'ly2BottomBoxStyling',
			array(
				'label'     => esc_html__( 'Bottom Box', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::HEADING,
				'separator' => 'before',
			)
		);
		$this->add_responsive_control(
			'ly2BottomBoxPadding',
			array(
				'label'      => esc_html__( 'Padding', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%', 'em' ),
				'selectors'  => array(
					'{{WRAPPER}} .ec-testimonial-wrapper .ec-testimonial-wrap-second' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_responsive_control(
			'ly2BottomBoxMargin',
			array(
				'label'      => esc_html__( 'Margin', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%', 'em' ),
				'selectors'  => array(
					'{{WRAPPER}} .ec-testimonial-wrapper .ec-testimonial-wrap-second' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->start_controls_tabs( 'tabsly2BottomBoxStyle' );
		$this->start_controls_tab(
			'tably2BottomBoxN',
			array(
				'label' => esc_html__( 'Normal', 'essential-classy-addons-for-elementor' ),
			)
		);
		$this->add_group_control(
			Group_Control_Background::get_type(),
			array(
				'name'     => 'ly2BottomBoxBgN',
				'types'    => array( 'classic', 'gradient' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper .ec-testimonial-wrap-second',
			)
		);
		$this->add_group_control(
			Group_Control_Border::get_type(),
			array(
				'name'     => 'ly2BottomBoxBorderN',
				'label'    => esc_html__( 'Border', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper .ec-testimonial-wrap-second',
			)
		);
		$this->add_responsive_control(
			'ly2BottomBoxBrN',
			array(
				'label'      => esc_html__( 'Border Radius', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .ec-testimonial-wrapper .ec-testimonial-wrap-second' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			array(
				'name'     => 'ly2BottomBoxShadowN',
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper .ec-testimonial-wrap-second',
			)
		);
		$this->add_control(
			'ly2BottomBoxTransitionN',
			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}} .ec-testimonial-wrapper .ec-testimonial-wrap-second' => 'transition:{{VALUE}};',
				),
			)
		);
		$this->add_control(
			'ly2BottomBoxTransformN',
			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}} .ec-testimonial-wrapper .ec-testimonial-wrap-second' => 'transform: {{VALUE}};-ms-transform: {{VALUE}};-moz-transform: {{VALUE}};-webkit-transform: {{VALUE}};',
				),
			)
		);
		$this->end_controls_tab();
		$this->start_controls_tab(
			'tably2BottomBoxBH',
			array(
				'label' => esc_html__( 'Box Hover', 'essential-classy-addons-for-elementor' ),
			)
		);
		$this->add_group_control(
			Group_Control_Background::get_type(),
			array(
				'name'     => 'ly2BottomBoxBgBH',
				'types'    => array( 'classic', 'gradient' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper:hover .ec-testimonial-wrap-second',
			)
		);
		$this->add_group_control(
			Group_Control_Border::get_type(),
			array(
				'name'     => 'ly2BottomBoxBorderBH',
				'label'    => esc_html__( 'Border', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper:hover .ec-testimonial-wrap-second',
			)
		);
		$this->add_responsive_control(
			'ly2BottomBoxBrBH',
			array(
				'label'      => esc_html__( 'Border Radius', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .ec-testimonial-wrapper:hover .ec-testimonial-wrap-second' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			array(
				'name'     => 'ly2BottomBoxShadowBH',
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper:hover .ec-testimonial-wrap-second',
			)
		);
		$this->end_controls_tab();
		$this->start_controls_tab(
			'tably2BottomBoxH',
			array(
				'label' => esc_html__( 'Hover', 'essential-classy-addons-for-elementor' ),
			)
		);
		$this->add_group_control(
			Group_Control_Background::get_type(),
			array(
				'name'     => 'ly2BottomBoxBgH',
				'types'    => array( 'classic', 'gradient' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper .ec-testimonial-wrap-second:hover',
			)
		);
		$this->add_group_control(
			Group_Control_Border::get_type(),
			array(
				'name'     => 'ly2BottomBoxBorderH',
				'label'    => esc_html__( 'Border', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper .ec-testimonial-wrap-second:hover',
			)
		);
		$this->add_responsive_control(
			'ly2BottomBoxBrH',
			array(
				'label'      => esc_html__( 'Border Radius', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .ec-testimonial-wrapper .ec-testimonial-wrap-second:hover' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			array(
				'name'     => 'ly2BottomBoxShadowH',
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper .ec-testimonial-wrap-second:hover',
			)
		);
		$this->add_control(
			'ly2BottomBoxTransitionH',
			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}} .ec-testimonial-wrapper .ec-testimonial-wrap-second:hover' => 'transition:{{VALUE}};',
				),
			)
		);
		$this->add_control(
			'ly2BottomBoxTransformH',
			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}} .ec-testimonial-wrapper .ec-testimonial-wrap-second:hover' => 'transform: {{VALUE}};-ms-transform: {{VALUE}};-moz-transform: {{VALUE}};-webkit-transform: {{VALUE}};',
				),
			)
		);
		$this->end_controls_tab();
		$this->end_controls_tabs();
		$this->end_controls_section();
		/*layout2 extra end*/

		/*layout45 extra start*/
		$this->start_controls_section(
			'ly45extStyling',
			array(
				'label'     => esc_html__( 'Extra', 'essential-classy-addons-for-elementor' ),
				'tab'       => Controls_Manager::TAB_STYLE,
				'condition' => array(
					'contentLayout' => array( 'layout4', 'layout5' ),
				),
			)
		);
		$this->add_control(
			'ly45ContentBoxStyling',
			array(
				'label' => esc_html__( 'Content Box', 'essential-classy-addons-for-elementor' ),
				'type'  => Controls_Manager::HEADING,
			)
		);
		$this->add_responsive_control(
			'ly45CBPadding',
			array(
				'label'      => esc_html__( 'Padding', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%', 'em' ),
				'selectors'  => array(
					'{{WRAPPER}} .ec-testimonial-wrapper .ec-testimonial-wrap-second' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_responsive_control(
			'ly45CBMargin',
			array(
				'label'      => esc_html__( 'Margin', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%', 'em' ),
				'selectors'  => array(
					'{{WRAPPER}} .ec-testimonial-wrapper .ec-testimonial-wrap-second' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->start_controls_tabs( 'tabsly45CBStyle' );
		$this->start_controls_tab(
			'tably45CBN',
			array(
				'label' => esc_html__( 'Normal', 'essential-classy-addons-for-elementor' ),
			)
		);
		$this->add_group_control(
			Group_Control_Background::get_type(),
			array(
				'name'     => 'ly45CBBgN',
				'types'    => array( 'classic', 'gradient' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper .ec-testimonial-wrap-second',
			)
		);
		$this->add_group_control(
			Group_Control_Border::get_type(),
			array(
				'name'     => 'ly45CBBorderN',
				'label'    => esc_html__( 'Border', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper .ec-testimonial-wrap-second',
			)
		);
		$this->add_responsive_control(
			'ly45CBBrN',
			array(
				'label'      => esc_html__( 'Border Radius', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .ec-testimonial-wrapper .ec-testimonial-wrap-second' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			array(
				'name'     => 'ly45CBShadowN',
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper .ec-testimonial-wrap-second',
			)
		);
		$this->add_control(
			'ly45CBTransitionN',
			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}} .ec-testimonial-wrapper .ec-testimonial-wrap-second' => 'transition:{{VALUE}};',
				),
			)
		);
		$this->add_control(
			'ly45CBTransformN',
			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}} .ec-testimonial-wrapper .ec-testimonial-wrap-second' => 'transform: {{VALUE}};-ms-transform: {{VALUE}};-moz-transform: {{VALUE}};-webkit-transform: {{VALUE}};',
				),
			)
		);
		$this->end_controls_tab();
		$this->start_controls_tab(
			'tably45CBBH',
			array(
				'label' => esc_html__( 'Box Hover', 'essential-classy-addons-for-elementor' ),
			)
		);
		$this->add_group_control(
			Group_Control_Background::get_type(),
			array(
				'name'     => 'ly45CBBgBH',
				'types'    => array( 'classic', 'gradient' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper:hover .ec-testimonial-wrap-second',
			)
		);
		$this->add_group_control(
			Group_Control_Border::get_type(),
			array(
				'name'     => 'ly45CBBorderBH',
				'label'    => esc_html__( 'Border', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper:hover .ec-testimonial-wrap-second',
			)
		);
		$this->add_responsive_control(
			'ly45CBBrBH',
			array(
				'label'      => esc_html__( 'Border Radius', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .ec-testimonial-wrapper:hover .ec-testimonial-wrap-second' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			array(
				'name'     => 'ly45CBShadowBH',
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper:hover .ec-testimonial-wrap-second',
			)
		);
		$this->end_controls_tab();
		$this->start_controls_tab(
			'tably45CBH',
			array(
				'label' => esc_html__( 'Hover', 'essential-classy-addons-for-elementor' ),
			)
		);
		$this->add_group_control(
			Group_Control_Background::get_type(),
			array(
				'name'     => 'ly45CBBgH',
				'types'    => array( 'classic', 'gradient' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper .ec-testimonial-wrap-second:hover',
			)
		);
		$this->add_group_control(
			Group_Control_Border::get_type(),
			array(
				'name'     => 'ly45CBBorderH',
				'label'    => esc_html__( 'Border', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper .ec-testimonial-wrap-second:hover',
			)
		);
		$this->add_responsive_control(
			'ly45CBBrH',
			array(
				'label'      => esc_html__( 'Border Radius', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .ec-testimonial-wrapper .ec-testimonial-wrap-second:hover' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			array(
				'name'     => 'ly45CBShadowH',
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper .ec-testimonial-wrap-second:hover',
			)
		);
		$this->add_control(
			'ly45CBTransitionH',
			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}} .ec-testimonial-wrapper .ec-testimonial-wrap-second:hover' => 'transition:{{VALUE}};',
				),
			)
		);
		$this->add_control(
			'ly45CBTransformH',
			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}} .ec-testimonial-wrapper .ec-testimonial-wrap-second:hover' => 'transform: {{VALUE}};-ms-transform: {{VALUE}};-moz-transform: {{VALUE}};-webkit-transform: {{VALUE}};',
				),
			)
		);
		$this->end_controls_tab();
		$this->end_controls_tabs();
		$this->end_controls_section();
		/*layout45 extra end*/

		/*layout6 extra start*/
		$this->start_controls_section(
			'ly6extStyling',
			array(
				'label'     => esc_html__( 'Extra', 'essential-classy-addons-for-elementor' ),
				'tab'       => Controls_Manager::TAB_STYLE,
				'condition' => array(
					'contentLayout' => 'layout6',
				),
			)
		);
		$this->add_control(
			'ly6TopBoxStyling',
			array(
				'label' => esc_html__( 'Top Box', 'essential-classy-addons-for-elementor' ),
				'type'  => Controls_Manager::HEADING,
			)
		);
		$this->add_responsive_control(
			'ly6TopBoxPadding',
			array(
				'label'      => esc_html__( 'Padding', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%', 'em' ),
				'selectors'  => array(
					'{{WRAPPER}} .ec-testimonial-wrapper.layout6 .ec-testimonial-wrap-first' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_responsive_control(
			'ly6TopBoxMargin',
			array(
				'label'      => esc_html__( 'Margin', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%', 'em' ),
				'selectors'  => array(
					'{{WRAPPER}} .ec-testimonial-wrapper.layout6 .ec-testimonial-wrap-first' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->start_controls_tabs( 'tabsly6TopBoxStyle' );
		$this->start_controls_tab(
			'tably6TopBoxN',
			array(
				'label' => esc_html__( 'Normal', 'essential-classy-addons-for-elementor' ),
			)
		);
		$this->add_group_control(
			Group_Control_Background::get_type(),
			array(
				'name'     => 'ly6TopBoxBgN',
				'types'    => array( 'classic', 'gradient' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper.layout6 .ec-testimonial-wrap-first',
			)
		);
		$this->add_group_control(
			Group_Control_Border::get_type(),
			array(
				'name'     => 'ly6TopBoxBorderN',
				'label'    => esc_html__( 'Border', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper.layout6 .ec-testimonial-wrap-first',
			)
		);
		$this->add_responsive_control(
			'ly6TopBoxBrN',
			array(
				'label'      => esc_html__( 'Border Radius', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .ec-testimonial-wrapper.layout6 .ec-testimonial-wrap-first' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			array(
				'name'     => 'ly6TopBoxShadowN',
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper.layout6 .ec-testimonial-wrap-first',
			)
		);
		$this->add_control(
			'ly6TopBoxTransitionN',
			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}} .ec-testimonial-wrapper.layout6 .ec-testimonial-wrap-first' => 'transition:{{VALUE}};',
				),
			)
		);
		$this->add_control(
			'ly6TopBoxTransformN',
			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}} .ec-testimonial-wrapper.layout6 .ec-testimonial-wrap-first' => 'transform: {{VALUE}};-ms-transform: {{VALUE}};-moz-transform: {{VALUE}};-webkit-transform: {{VALUE}};',
				),
			)
		);
		$this->end_controls_tab();
		$this->start_controls_tab(
			'tably6TopBoxBH',
			array(
				'label' => esc_html__( 'Box Hover', 'essential-classy-addons-for-elementor' ),
			)
		);
		$this->add_group_control(
			Group_Control_Background::get_type(),
			array(
				'name'     => 'ly6TopBoxBgBH',
				'types'    => array( 'classic', 'gradient' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper.layout6:hover .ec-testimonial-wrap-first',
			)
		);
		$this->add_group_control(
			Group_Control_Border::get_type(),
			array(
				'name'     => 'ly6TopBoxBorderBH',
				'label'    => esc_html__( 'Border', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper.layout6:hover .ec-testimonial-wrap-first',
			)
		);
		$this->add_responsive_control(
			'ly6TopBoxBrBH',
			array(
				'label'      => esc_html__( 'Border Radius', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .ec-testimonial-wrapper.layout6:hover .ec-testimonial-wrap-first' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			array(
				'name'     => 'ly6TopBoxShadowBH',
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper.layout6:hover .ec-testimonial-wrap-first',
			)
		);
		$this->end_controls_tab();
		$this->start_controls_tab(
			'tably6TopBoxH',
			array(
				'label' => esc_html__( 'Hover', 'essential-classy-addons-for-elementor' ),
			)
		);
		$this->add_group_control(
			Group_Control_Background::get_type(),
			array(
				'name'     => 'ly6TopBoxBgH',
				'types'    => array( 'classic', 'gradient' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper.layout6 .ec-testimonial-wrap-first:hover',
			)
		);
		$this->add_group_control(
			Group_Control_Border::get_type(),
			array(
				'name'     => 'ly6TopBoxBorderH',
				'label'    => esc_html__( 'Border', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper.layout6 .ec-testimonial-wrap-first:hover',
			)
		);
		$this->add_responsive_control(
			'ly6TopBoxBrH',
			array(
				'label'      => esc_html__( 'Border Radius', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .ec-testimonial-wrapper.layout6 .ec-testimonial-wrap-first:hover' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			array(
				'name'     => 'ly6TopBoxShadowH',
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper.layout6 .ec-testimonial-wrap-first:hover',
			)
		);
		$this->add_control(
			'ly6TopBoxTransitionH',
			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}} .ec-testimonial-wrapper.layout6 .ec-testimonial-wrap-first:hover' => 'transition:{{VALUE}};',
				),
			)
		);
		$this->add_control(
			'ly6TopBoxTransformH',
			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}} .ec-testimonial-wrapper.layout6 .ec-testimonial-wrap-first:hover' => 'transform: {{VALUE}};-ms-transform: {{VALUE}};-moz-transform: {{VALUE}};-webkit-transform: {{VALUE}};',
				),
			)
		);
		$this->end_controls_tab();
		$this->end_controls_tabs();
		$this->add_control(
			'ly6BottomBoxStyling',
			array(
				'label'     => esc_html__( 'Bottom Box', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::HEADING,
				'separator' => 'before',
			)
		);
		$this->add_responsive_control(
			'ly6BottomBoxPadding',
			array(
				'label'      => esc_html__( 'Padding', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%', 'em' ),
				'selectors'  => array(
					'{{WRAPPER}} .ec-testimonial-wrapper.layout6 .ec-testimonial-wrap-second' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_responsive_control(
			'ly6BottomBoxMargin',
			array(
				'label'      => esc_html__( 'Margin', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%', 'em' ),
				'selectors'  => array(
					'{{WRAPPER}} .ec-testimonial-wrapper.layout6 .ec-testimonial-wrap-second' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->start_controls_tabs( 'tabsly6BottomBoxStyle' );
		$this->start_controls_tab(
			'tably6BottomBoxN',
			array(
				'label' => esc_html__( 'Normal', 'essential-classy-addons-for-elementor' ),
			)
		);
		$this->add_group_control(
			Group_Control_Background::get_type(),
			array(
				'name'     => 'ly6BottomBoxBgN',
				'types'    => array( 'classic', 'gradient' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper.layout6 .ec-testimonial-wrap-second',
			)
		);
		$this->add_group_control(
			Group_Control_Border::get_type(),
			array(
				'name'     => 'ly6BottomBoxBorderN',
				'label'    => esc_html__( 'Border', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper.layout6 .ec-testimonial-wrap-second',
			)
		);
		$this->add_responsive_control(
			'ly6BottomBoxBrN',
			array(
				'label'      => esc_html__( 'Border Radius', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .ec-testimonial-wrapper.layout6 .ec-testimonial-wrap-second' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			array(
				'name'     => 'ly6BottomBoxShadowN',
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper.layout6 .ec-testimonial-wrap-second',
			)
		);
		$this->add_control(
			'ly6BottomBoxTransitionN',
			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}} .ec-testimonial-wrapper.layout6 .ec-testimonial-wrap-second' => 'transition:{{VALUE}};',
				),
			)
		);
		$this->add_control(
			'ly6BottomBoxTransformN',
			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}} .ec-testimonial-wrapper.layout6 .ec-testimonial-wrap-second' => 'transform: {{VALUE}};-ms-transform: {{VALUE}};-moz-transform: {{VALUE}};-webkit-transform: {{VALUE}};',
				),
			)
		);
		$this->end_controls_tab();
		$this->start_controls_tab(
			'tably6BottomBoxBH',
			array(
				'label' => esc_html__( 'Box Hover', 'essential-classy-addons-for-elementor' ),
			)
		);
		$this->add_group_control(
			Group_Control_Background::get_type(),
			array(
				'name'     => 'ly6BottomBoxBgBH',
				'types'    => array( 'classic', 'gradient' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper.layout6:hover .ec-testimonial-wrap-second',
			)
		);
		$this->add_group_control(
			Group_Control_Border::get_type(),
			array(
				'name'     => 'ly6BottomBoxBorderBH',
				'label'    => esc_html__( 'Border', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper.layout6:hover .ec-testimonial-wrap-second',
			)
		);
		$this->add_responsive_control(
			'ly6BottomBoxBrBH',
			array(
				'label'      => esc_html__( 'Border Radius', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .ec-testimonial-wrapper.layout6:hover .ec-testimonial-wrap-second' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			array(
				'name'     => 'ly6BottomBoxShadowBH',
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper.layout6:hover .ec-testimonial-wrap-second',
			)
		);
		$this->end_controls_tab();
		$this->start_controls_tab(
			'tably6BottomBoxH',
			array(
				'label' => esc_html__( 'Hover', 'essential-classy-addons-for-elementor' ),
			)
		);
		$this->add_group_control(
			Group_Control_Background::get_type(),
			array(
				'name'     => 'ly6BottomBoxBgH',
				'types'    => array( 'classic', 'gradient' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper.layout6 .ec-testimonial-wrap-second:hover',
			)
		);
		$this->add_group_control(
			Group_Control_Border::get_type(),
			array(
				'name'     => 'ly6BottomBoxBorderH',
				'label'    => esc_html__( 'Border', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper.layout6 .ec-testimonial-wrap-second:hover',
			)
		);
		$this->add_responsive_control(
			'ly6BottomBoxBrH',
			array(
				'label'      => esc_html__( 'Border Radius', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .ec-testimonial-wrapper.layout6 .ec-testimonial-wrap-second:hover' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			array(
				'name'     => 'ly6BottomBoxShadowH',
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper.layout6 .ec-testimonial-wrap-second:hover',
			)
		);
		$this->add_control(
			'ly6BottomBoxTransitionH',
			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}} .ec-testimonial-wrapper.layout6 .ec-testimonial-wrap-second:hover' => 'transition:{{VALUE}};',
				),
			)
		);
		$this->add_control(
			'ly6BottomBoxTransformH',
			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}} .ec-testimonial-wrapper.layout6 .ec-testimonial-wrap-second:hover' => 'transform: {{VALUE}};-ms-transform: {{VALUE}};-moz-transform: {{VALUE}};-webkit-transform: {{VALUE}};',
				),
			)
		);
		$this->end_controls_tab();
		$this->end_controls_tabs();
		$this->end_controls_section();
		/*layout6 extra end*/

		/*layout89 extra start*/
		$this->start_controls_section(
			'ly89extStyling',
			array(
				'label'     => esc_html__( 'Extra', 'essential-classy-addons-for-elementor' ),
				'tab'       => Controls_Manager::TAB_STYLE,
				'condition' => array(
					'contentLayout' => array( 'layout8', 'layout9' ),
				),
			)
		);
		$this->add_control(
			'ly89TopBoxStyling',
			array(
				'label' => esc_html__( 'Top Box', 'essential-classy-addons-for-elementor' ),
				'type'  => Controls_Manager::HEADING,
			)
		);
		$this->add_responsive_control(
			'ly89TopBoxPadding',
			array(
				'label'      => esc_html__( 'Padding', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%', 'em' ),
				'selectors'  => array(
					'{{WRAPPER}} .ec-testimonial-wrapper .ec-testimonial-wrap-first' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_responsive_control(
			'ly89TopBoxMargin',
			array(
				'label'      => esc_html__( 'Margin', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%', 'em' ),
				'selectors'  => array(
					'{{WRAPPER}} .ec-testimonial-wrapper .ec-testimonial-wrap-first' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->start_controls_tabs( 'tabsly89TopBoxStyle' );
		$this->start_controls_tab(
			'tably89TopBoxN',
			array(
				'label' => esc_html__( 'Normal', 'essential-classy-addons-for-elementor' ),
			)
		);
		$this->add_group_control(
			Group_Control_Background::get_type(),
			array(
				'name'     => 'ly89TopBoxBgN',
				'types'    => array( 'classic', 'gradient' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper .ec-testimonial-wrap-first',
			)
		);
		$this->add_group_control(
			Group_Control_Border::get_type(),
			array(
				'name'     => 'ly89TopBoxBorderN',
				'label'    => esc_html__( 'Border', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper .ec-testimonial-wrap-first',
			)
		);
		$this->add_responsive_control(
			'ly89TopBoxBrN',
			array(
				'label'      => esc_html__( 'Border Radius', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .ec-testimonial-wrapper .ec-testimonial-wrap-first' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			array(
				'name'     => 'ly89TopBoxShadowN',
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper .ec-testimonial-wrap-first',
			)
		);
		$this->add_control(
			'ly89TopBoxTransitionN',
			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}} .ec-testimonial-wrapper .ec-testimonial-wrap-first' => 'transition:{{VALUE}};',
				),
			)
		);
		$this->add_control(
			'ly89TopBoxTransformN',
			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}} .ec-testimonial-wrapper .ec-testimonial-wrap-first' => 'transform: {{VALUE}};-ms-transform: {{VALUE}};-moz-transform: {{VALUE}};-webkit-transform: {{VALUE}};',
				),
			)
		);
		$this->end_controls_tab();
		$this->start_controls_tab(
			'tably89TopBoxBH',
			array(
				'label' => esc_html__( 'Box Hover', 'essential-classy-addons-for-elementor' ),
			)
		);
		$this->add_group_control(
			Group_Control_Background::get_type(),
			array(
				'name'     => 'ly89TopBoxBgBH',
				'types'    => array( 'classic', 'gradient' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper:hover .ec-testimonial-wrap-first',
			)
		);
		$this->add_group_control(
			Group_Control_Border::get_type(),
			array(
				'name'     => 'ly89TopBoxBorderBH',
				'label'    => esc_html__( 'Border', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper:hover .ec-testimonial-wrap-first',
			)
		);
		$this->add_responsive_control(
			'ly89TopBoxBrBH',
			array(
				'label'      => esc_html__( 'Border Radius', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .ec-testimonial-wrapper:hover .ec-testimonial-wrap-first' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			array(
				'name'     => 'ly89TopBoxShadowBH',
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper:hover .ec-testimonial-wrap-first',
			)
		);
		$this->end_controls_tab();
		$this->start_controls_tab(
			'tably89TopBoxH',
			array(
				'label' => esc_html__( 'Hover', 'essential-classy-addons-for-elementor' ),
			)
		);
		$this->add_group_control(
			Group_Control_Background::get_type(),
			array(
				'name'     => 'ly89TopBoxBgH',
				'types'    => array( 'classic', 'gradient' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper .ec-testimonial-wrap-first:hover',
			)
		);
		$this->add_group_control(
			Group_Control_Border::get_type(),
			array(
				'name'     => 'ly89TopBoxBorderH',
				'label'    => esc_html__( 'Border', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper .ec-testimonial-wrap-first:hover',
			)
		);
		$this->add_responsive_control(
			'ly89TopBoxBrH',
			array(
				'label'      => esc_html__( 'Border Radius', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .ec-testimonial-wrapper .ec-testimonial-wrap-first:hover' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			array(
				'name'     => 'ly89TopBoxShadowH',
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper .ec-testimonial-wrap-first:hover',
			)
		);
		$this->add_control(
			'ly89TopBoxTransitionH',
			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}} .ec-testimonial-wrapper .ec-testimonial-wrap-first:hover' => 'transition:{{VALUE}};',
				),
			)
		);
		$this->add_control(
			'ly89TopBoxTransformH',
			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}} .ec-testimonial-wrapper .ec-testimonial-wrap-first:hover' => 'transform: {{VALUE}};-ms-transform: {{VALUE}};-moz-transform: {{VALUE}};-webkit-transform: {{VALUE}};',
				),
			)
		);
		$this->end_controls_tab();
		$this->end_controls_tabs();
		$this->add_control(
			'ly89BottomBoxStyling',
			array(
				'label'     => esc_html__( 'Bottom Box', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::HEADING,
				'separator' => 'before',
			)
		);
		$this->add_responsive_control(
			'ly89BottomBoxPadding',
			array(
				'label'      => esc_html__( 'Padding', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%', 'em' ),
				'selectors'  => array(
					'{{WRAPPER}} .ec-testimonial-wrapper .ec-testimonial-wrap-second' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_responsive_control(
			'ly89BottomBoxMargin',
			array(
				'label'      => esc_html__( 'Margin', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%', 'em' ),
				'selectors'  => array(
					'{{WRAPPER}} .ec-testimonial-wrapper .ec-testimonial-wrap-second' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->start_controls_tabs( 'tabsly89BottomBoxStyle' );
		$this->start_controls_tab(
			'tably89BottomBoxN',
			array(
				'label' => esc_html__( 'Normal', 'essential-classy-addons-for-elementor' ),
			)
		);
		$this->add_group_control(
			Group_Control_Background::get_type(),
			array(
				'name'     => 'ly89BottomBoxBgN',
				'types'    => array( 'classic', 'gradient' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper .ec-testimonial-wrap-second',
			)
		);
		$this->add_group_control(
			Group_Control_Border::get_type(),
			array(
				'name'     => 'ly89BottomBoxBorderN',
				'label'    => esc_html__( 'Border', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper .ec-testimonial-wrap-second',
			)
		);
		$this->add_responsive_control(
			'ly89BottomBoxBrN',
			array(
				'label'      => esc_html__( 'Border Radius', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .ec-testimonial-wrapper .ec-testimonial-wrap-second' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			array(
				'name'     => 'ly89BottomBoxShadowN',
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper .ec-testimonial-wrap-second',
			)
		);
		$this->add_control(
			'ly89BottomBoxTransitionN',
			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}} .ec-testimonial-wrapper .ec-testimonial-wrap-second' => 'transition:{{VALUE}};',
				),
			)
		);
		$this->add_control(
			'ly89BottomBoxTransformN',
			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}} .ec-testimonial-wrapper .ec-testimonial-wrap-second' => 'transform: {{VALUE}};-ms-transform: {{VALUE}};-moz-transform: {{VALUE}};-webkit-transform: {{VALUE}};',
				),
			)
		);
		$this->end_controls_tab();
		$this->start_controls_tab(
			'tably89BottomBoxBH',
			array(
				'label' => esc_html__( 'Box Hover', 'essential-classy-addons-for-elementor' ),
			)
		);
		$this->add_group_control(
			Group_Control_Background::get_type(),
			array(
				'name'     => 'ly89BottomBoxBgBH',
				'types'    => array( 'classic', 'gradient' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper:hover .ec-testimonial-wrap-second',
			)
		);
		$this->add_group_control(
			Group_Control_Border::get_type(),
			array(
				'name'     => 'ly89BottomBoxBorderBH',
				'label'    => esc_html__( 'Border', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper:hover .ec-testimonial-wrap-second',
			)
		);
		$this->add_responsive_control(
			'ly89BottomBoxBrBH',
			array(
				'label'      => esc_html__( 'Border Radius', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .ec-testimonial-wrapper:hover .ec-testimonial-wrap-second' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			array(
				'name'     => 'ly89BottomBoxShadowBH',
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper:hover .ec-testimonial-wrap-second',
			)
		);
		$this->end_controls_tab();
		$this->start_controls_tab(
			'tably89BottomBoxH',
			array(
				'label' => esc_html__( 'Hover', 'essential-classy-addons-for-elementor' ),
			)
		);
		$this->add_group_control(
			Group_Control_Background::get_type(),
			array(
				'name'     => 'ly89BottomBoxBgH',
				'types'    => array( 'classic', 'gradient' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper .ec-testimonial-wrap-second:hover',
			)
		);
		$this->add_group_control(
			Group_Control_Border::get_type(),
			array(
				'name'     => 'ly89BottomBoxBorderH',
				'label'    => esc_html__( 'Border', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper .ec-testimonial-wrap-second:hover',
			)
		);
		$this->add_responsive_control(
			'ly89BottomBoxBrH',
			array(
				'label'      => esc_html__( 'Border Radius', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .ec-testimonial-wrapper .ec-testimonial-wrap-second:hover' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			array(
				'name'     => 'ly89BottomBoxShadowH',
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper .ec-testimonial-wrap-second:hover',
			)
		);
		$this->add_control(
			'ly89BottomBoxTransitionH',
			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}} .ec-testimonial-wrapper .ec-testimonial-wrap-second:hover' => 'transition:{{VALUE}};',
				),
			)
		);
		$this->add_control(
			'ly89BottomBoxTransformH',
			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}} .ec-testimonial-wrapper .ec-testimonial-wrap-second:hover' => 'transform: {{VALUE}};-ms-transform: {{VALUE}};-moz-transform: {{VALUE}};-webkit-transform: {{VALUE}};',
				),
			)
		);
		$this->end_controls_tab();
		$this->end_controls_tabs();
		$this->end_controls_section();
		/*layout89 extra end*/

		/*icon start*/
		$this->start_controls_section(
			'iconStyling',
			array(
				'label'     => esc_html__( 'Icon', 'essential-classy-addons-for-elementor' ),
				'tab'       => Controls_Manager::TAB_STYLE,
				'condition' => array(
					'iconImage' => 'icon',
				),
			)
		);
		$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-icon-image.eca-icon' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_responsive_control(
			'iconMargin',
			array(
				'label'      => esc_html__( 'Margin', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%', 'em' ),
				'selectors'  => array(
					'{{WRAPPER}} .eca-icon-image.eca-icon' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_responsive_control(
			'iconSize',
			array(
				'label'      => esc_html__( 'Icon Size', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::SLIDER,
				'size_units' => array( 'px' ),
				'range'      => array(
					'px' => array(
						'min' => 1,
						'max' => 200,
					),
				),
				'default'    => array(
					'unit' => 'px',
					'size' => 20,
				),
				'selectors'  => array(
					'{{WRAPPER}}  .eca-icon-image.eca-icon i:before' => 'font-size :{{SIZE}}px;',
					'{{WRAPPER}}  .eca-icon-image.eca-icon svg' => 'width:{{SIZE}}px;height:{{SIZE}}px;',
				),
			)
		);
		$this->start_controls_tabs( 'tabsIcontyle' );
		$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-icon-image.eca-icon' => 'color: {{VALUE}};',
					'{{WRAPPER}}  .eca-icon-image.eca-icon svg' => 'fill: {{VALUE}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Background::get_type(),
			array(
				'name'     => 'iconBgN',
				'types'    => array( 'classic', 'gradient' ),
				'selector' => '{{WRAPPER}} .eca-icon-image.eca-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-icon-image.eca-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-icon-image.eca-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-icon-image.eca-icon',
			)
		);
		$this->add_control(
			'iconTransitionN',
			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-icon-image.eca-icon' => 'transition:{{VALUE}};',
				),
			)
		);
		$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-icon-image.eca-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}} .ec-testimonial-wrapper .eca-icon-image.eca-icon:hover' => 'color: {{VALUE}};',
					'{{WRAPPER}} .ec-testimonial-wrapper .eca-icon-image.eca-icon:hover svg' => 'fill: {{VALUE}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Background::get_type(),
			array(
				'name'     => 'iconBgH',
				'types'    => array( 'classic', 'gradient' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper .eca-icon-image.eca-icon:hover',
			)
		);
		$this->add_group_control(
			Group_Control_Border::get_type(),
			array(
				'name'     => 'iconBorderH',
				'label'    => esc_html__( 'Border', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper .eca-icon-image.eca-icon:hover',
			)
		);
		$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}} .ec-testimonial-wrapper .eca-icon-image.eca-icon:hover' => '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}} .ec-testimonial-wrapper .eca-icon-image.eca-icon:hover',
			)
		);
		$this->add_control(
			'iconTransitionH',
			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}} .ec-testimonial-wrapper .eca-icon-image.eca-icon:hover' => 'transition:{{VALUE}};',
				),
			)
		);
		$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}} .ec-testimonial-wrapper .eca-icon-image.eca-icon:hover' => 'transform: {{VALUE}};-ms-transform: {{VALUE}};-moz-transform: {{VALUE}};-webkit-transform: {{VALUE}};',
				),
			)
		);
		$this->end_controls_tab();
		$this->start_controls_tab(
			'tabIconBH',
			array(
				'label' => esc_html__( 'Box Hover', 'essential-classy-addons-for-elementor' ),
			)
		);
		$this->add_control(
			'iconColorbh',
			array(
				'label'     => esc_html__( 'Color', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::COLOR,
				'selectors' => array(
					'{{WRAPPER}} .ec-testimonial-wrapper:hover .eca-icon' => 'color: {{VALUE}};',
					'{{WRAPPER}} .ec-testimonial-wrapper:hover .eca-icon svg' => 'fill: {{VALUE}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Background::get_type(),
			array(
				'name'     => 'iconBgBH',
				'types'    => array( 'classic', 'gradient' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper:hover .eca-icon',
			)
		);
		$this->add_group_control(
			Group_Control_Border::get_type(),
			array(
				'name'     => 'iconBorderBH',
				'label'    => esc_html__( 'Border', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper:hover .eca-icon',
			)
		);
		$this->add_responsive_control(
			'iconBrBH',
			array(
				'label'      => esc_html__( 'Border Radius', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .ec-testimonial-wrapper:hover .eca-icon' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			array(
				'name'     => 'iconShadowBH',
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper:hover .eca-icon',
			)
		);
		$this->end_controls_tab();
		$this->end_controls_tabs();

		$this->add_control(
			'maskShapeIcon',
			array(
				'label'     => esc_html__( 'Mask Image', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::MEDIA,
				'separator' => 'before',
				'selectors' => array(
					'{{WRAPPER}} .eca-icon-image.eca-icon' => 'mask-image: url({{URL}});-webkit-mask-image: url({{URL}});-webkit-mask-size: 100% 100%;-webkit-mask-repeat: no-repeat;',
				),
			)
		);
		$this->end_controls_section();
		/*icon end*/

		/*Image start*/
		$this->start_controls_section(
			'imageStyling',
			array(
				'label'     => esc_html__( 'Image', 'essential-classy-addons-for-elementor' ),
				'tab'       => Controls_Manager::TAB_STYLE,
				'condition' => array(
					'iconImage' => 'image',
				),
			)
		);
		$this->add_responsive_control(
			'imagePadding',
			array(
				'label'      => esc_html__( 'Padding', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%', 'em' ),
				'selectors'  => array(
					'{{WRAPPER}} .eca-icon-image.eca-image' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$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-icon-image.eca-image' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_responsive_control(
			'imageMaxWidth',
			array(
				'label'      => esc_html__( 'Max 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-icon-image.eca-image' => 'max-width:{{SIZE}}{{UNIT}};',
				),
			)
		);
			$this->add_responsive_control(
				'imageMaxHeight',
				array(
					'label'      => esc_html__( 'Max Height', '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-icon-image.eca-image' => 'max-height:{{SIZE}}{{UNIT}};',
					),
				)
			);
		$this->start_controls_tabs( 'tabsImagetyle' );
		$this->start_controls_tab(
			'tabImageNorm',
			array(
				'label' => esc_html__( 'Normal', 'essential-classy-addons-for-elementor' ),
			)
		);
		$this->add_group_control(
			Group_Control_Background::get_type(),
			array(
				'name'     => 'imageBgN',
				'types'    => array( 'classic', 'gradient' ),
				'selector' => '{{WRAPPER}} .eca-icon-image.eca-image',
			)
		);
		$this->add_group_control(
			Group_Control_Border::get_type(),
			array(
				'name'     => 'imageBorderN',
				'label'    => esc_html__( 'Border', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .eca-icon-image.eca-image',
			)
		);
		$this->add_responsive_control(
			'imageBrN',
			array(
				'label'      => esc_html__( 'Border Radius', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .eca-icon-image.eca-image' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			array(
				'name'     => 'imageShadowN',
				'selector' => '{{WRAPPER}} .eca-icon-image.eca-image',
			)
		);
		$this->add_control(
			'imageTransitionN',
			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-icon-image.eca-image' => 'transition:{{VALUE}};',
				),
			)
		);
		$this->add_control(
			'imageTransformN',
			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-icon-image.eca-image' => 'transform: {{VALUE}};-ms-transform: {{VALUE}};-moz-transform: {{VALUE}};-webkit-transform: {{VALUE}};',
				),
			)
		);
		$this->end_controls_tab();
		$this->start_controls_tab(
			'tabImageHover',
			array(
				'label' => esc_html__( 'Hover', 'essential-classy-addons-for-elementor' ),
			)
		);
		$this->add_group_control(
			Group_Control_Background::get_type(),
			array(
				'name'     => 'imageBgH',
				'types'    => array( 'classic', 'gradient' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper .eca-icon-image.eca-image:hover',
			)
		);
		$this->add_group_control(
			Group_Control_Border::get_type(),
			array(
				'name'     => 'imageBorderH',
				'label'    => esc_html__( 'Border', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper .eca-icon-image.eca-image:hover',
			)
		);
		$this->add_responsive_control(
			'imageBrH',
			array(
				'label'      => esc_html__( 'Border Radius', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .ec-testimonial-wrapper .eca-icon-image.eca-image:hover' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			array(
				'name'     => 'imageShadowH',
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper .eca-icon-image.eca-image:hover',
			)
		);
		$this->add_control(
			'imageTransitionH',
			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}} .ec-testimonial-wrapper .eca-icon-image.eca-image:hover' => 'transition:{{VALUE}};',
				),
			)
		);
		$this->add_control(
			'imageTransformH',
			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}} .ec-testimonial-wrapper .eca-icon-image.eca-image:hover' => 'transform: {{VALUE}};-ms-transform: {{VALUE}};-moz-transform: {{VALUE}};-webkit-transform: {{VALUE}};',
				),
			)
		);
		$this->end_controls_tab();
		$this->start_controls_tab(
			'tabImageBoxHover',
			array(
				'label' => esc_html__( 'BoxHover', 'essential-classy-addons-for-elementor' ),
			)
		);
		$this->add_group_control(
			Group_Control_Background::get_type(),
			array(
				'name'     => 'imageBgBH',
				'types'    => array( 'classic', 'gradient' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper:hover .eca-image',
			)
		);
		$this->add_group_control(
			Group_Control_Border::get_type(),
			array(
				'name'     => 'imageBorderBH',
				'label'    => esc_html__( 'Border', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper:hover .eca-image',
			)
		);
		$this->add_responsive_control(
			'imageBrBH',
			array(
				'label'      => esc_html__( 'Border Radius', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .ec-testimonial-wrapper:hover .eca-image' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			array(
				'name'     => 'imageShadowBH',
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper:hover .eca-image',
			)
		);
		$this->end_controls_tab();
		$this->end_controls_tabs();

		$this->add_control(
			'mask_shape_image',
			array(
				'label'     => esc_html__( 'Mask Image', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::MEDIA,
				'separator' => 'before',
				'selectors' => array(
					'{{WRAPPER}} .eca-image' => 'mask-image: url({{URL}});-webkit-mask-image: url({{URL}});-webkit-mask-size: 100% 100%;-webkit-mask-repeat: no-repeat;',
				),
			)
		);
		$this->end_controls_section();
		/*image end*/

		/*title 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}} .ec-testimonial-wrapper .eca-testimonial-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}} .ec-testimonial-wrapper .eca-testimonial-title' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Typography::get_type(),
			array(
				'name'     => 'titleTypo',
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper .eca-testimonial-title',
			)
		);
		$this->start_controls_tabs( 'tabsTitletyle' );
		$this->start_controls_tab(
			'tabTitleNorm',
			array(
				'label' => esc_html__( 'Normal', 'essential-classy-addons-for-elementor' ),
			)
		);
		$this->add_control(
			'titleColorN',
			array(
				'label'     => esc_html__( 'Color', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::COLOR,
				'selectors' => array(
					'{{WRAPPER}} .ec-testimonial-wrapper .eca-testimonial-title' => 'color: {{VALUE}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Background::get_type(),
			array(
				'name'     => 'titleBgN',
				'types'    => array( 'classic', 'gradient' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper .eca-testimonial-title',
			)
		);
		$this->add_group_control(
			Group_Control_Border::get_type(),
			array(
				'name'     => 'titleBorderN',
				'label'    => esc_html__( 'Border', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper .eca-testimonial-title',
			)
		);
		$this->add_responsive_control(
			'titleBrN',
			array(
				'label'      => esc_html__( 'Border Radius', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .ec-testimonial-wrapper .eca-testimonial-title' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			array(
				'name'     => 'titleShadowN',
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper .eca-testimonial-title',
			)
		);
		$this->add_group_control(
			Group_Control_Text_Shadow::get_type(),
			array(
				'name'     => 'titleTextShadowN',
				'label'    => esc_html__( 'Text Shadow', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper .eca-testimonial-title',
			)
		);
		$this->add_control(
			'titleTransitionN',
			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}} .ec-testimonial-wrapper .eca-testimonial-title' => 'transition:{{VALUE}};',
				),
			)
		);
		$this->add_control(
			'titleTransformN',
			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}} .ec-testimonial-wrapper .eca-testimonial-title' => 'transform: {{VALUE}};-ms-transform: {{VALUE}};-moz-transform: {{VALUE}};-webkit-transform: {{VALUE}};',
				),
			)
		);
		$this->end_controls_tab();
		$this->start_controls_tab(
			'tabTitleBoxHover',
			array(
				'label' => esc_html__( 'Box Hover', 'essential-classy-addons-for-elementor' ),
			)
		);
		$this->add_control(
			'titleColorBH',
			array(
				'label'     => esc_html__( 'Color', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::COLOR,
				'selectors' => array(
					'{{WRAPPER}} .ec-testimonial-wrapper:hover .eca-testimonial-title' => 'color: {{VALUE}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Background::get_type(),
			array(
				'name'     => 'titleBgBH',
				'types'    => array( 'classic', 'gradient' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper:hover .eca-testimonial-title',
			)
		);
		$this->add_group_control(
			Group_Control_Border::get_type(),
			array(
				'name'     => 'titleBorderBH',
				'label'    => esc_html__( 'Border', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper:hover .eca-testimonial-title',
			)
		);
		$this->add_responsive_control(
			'titleBrBH',
			array(
				'label'      => esc_html__( 'Border Radius', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .ec-testimonial-wrapper:hover .eca-testimonial-title' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			array(
				'name'     => 'titleShadowBH',
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper:hover .eca-testimonial-title',
			)
		);
		$this->add_group_control(
			Group_Control_Text_Shadow::get_type(),
			array(
				'name'     => 'titleTextShadowBH',
				'label'    => esc_html__( 'Text Shadow', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper:hover .eca-testimonial-title',
			)
		);
		$this->end_controls_tab();
		$this->start_controls_tab(
			'tabTitleHover',
			array(
				'label' => esc_html__( 'Hover', 'essential-classy-addons-for-elementor' ),
			)
		);
		$this->add_control(
			'titleColorH',
			array(
				'label'     => esc_html__( 'Color', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::COLOR,
				'selectors' => array(
					'{{WRAPPER}} .ec-testimonial-wrapper .eca-testimonial-title:hover' => 'color: {{VALUE}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Background::get_type(),
			array(
				'name'     => 'titleBgH',
				'types'    => array( 'classic', 'gradient' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper .eca-testimonial-title:hover',
			)
		);
		$this->add_group_control(
			Group_Control_Border::get_type(),
			array(
				'name'     => 'titleBorderH',
				'label'    => esc_html__( 'Border', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper .eca-testimonial-title:hover',
			)
		);
		$this->add_responsive_control(
			'titleBrHover',
			array(
				'label'      => esc_html__( 'Border Radius', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .ec-testimonial-wrapper .eca-testimonial-title:hover' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			array(
				'name'     => 'titleShadowH',
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper .eca-testimonial-title:hover',
			)
		);
		$this->add_group_control(
			Group_Control_Text_Shadow::get_type(),
			array(
				'name'     => 'titleTextShadowH',
				'label'    => esc_html__( 'Text Shadow', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper .eca-testimonial-title:hover',
			)
		);
		$this->add_control(
			'titleTransitionH',
			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}} .ec-testimonial-wrapper .eca-testimonial-title:hover' => 'transition:{{VALUE}};',
				),
			)
		);
		$this->add_control(
			'titleTransformH',
			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}} .ec-testimonial-wrapper .eca-testimonial-title:hover' => 'transform: {{VALUE}};-ms-transform: {{VALUE}};-moz-transform: {{VALUE}};-webkit-transform: {{VALUE}};',
				),
			)
		);
		$this->end_controls_tab();
		$this->end_controls_tabs();
		$this->end_controls_section();
		/*title end*/

		/*title underline*/
		$this->start_controls_section(
			'titleUnderlineStyling',
			array(
				'label'     => esc_html__( 'Title Underline Effect', 'essential-classy-addons-for-elementor' ),
				'tab'       => Controls_Manager::TAB_STYLE,
				'condition' => array(
					'infoTitleUnderlineEffect' => 'yes',
				),
			)
		);
		$this->add_responsive_control(
			'gut128Start',
			array(
				'label'      => esc_html__( 'Starting Visibility', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::SLIDER,
				'size_units' => array( '%' ),
				'range'      => array(
					'px' => array(
						'min' => 1,
						'max' => 100,
					),
				),
				'selectors'  => array(
					'{{WRAPPER}} .eca-testimonial-title' => 'background-size: {{SIZE}}% 100%;',
				),
				'condition'  => array(
					'gutEffectType' => array( 'effect1', 'effect2', 'effect8' ),
				),
			)
		);
		$this->add_responsive_control(
			'gut34679_14Start',
			array(
				'label'      => esc_html__( 'Starting Visibility', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::SLIDER,
				'size_units' => array( '%' ),
				'range'      => array(
					'px' => array(
						'min' => 1,
						'max' => 100,
					),
				),
				'selectors'  => array(
					'{{WRAPPER}} .eca-testimonial-title' => 'background-size: 100% {{SIZE}}%;',
				),
				'condition'  => array(
					'gutEffectType' => array( 'effect3', 'effect4', 'effect6', 'effect7', 'effect9', 'effect10', 'effect11', 'effect12', 'effect13', 'effect14' ),
				),
			)
		);
		$this->add_responsive_control(
			'gut5CenterStart',
			array(
				'label'      => esc_html__( 'Center Starting Visibility', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::SLIDER,
				'size_units' => array( '%' ),
				'range'      => array(
					'px' => array(
						'min' => 1,
						'max' => 100,
					),
				),
				'selectors'  => array(
					'{{WRAPPER}} .eca-testimonial-title' => 'background-size: {{SIZE}}% {{SIZE}}%;',
				),
				'condition'  => array(
					'gutEffectType' => 'effect5',
				),
			)
		);
		$this->add_responsive_control(
			'gut15_20Start',
			array(
				'label'      => esc_html__( 'Starting Visibility', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::SLIDER,
				'size_units' => array( '%' ),
				'range'      => array(
					'px' => array(
						'min' => 1,
						'max' => 100,
					),
				),
				'default'    => array(
					'unit' => '%',
					'size' => 10,
				),
				'selectors'  => array(
					'{{WRAPPER}} .eca-testimonial-title' => 'background-size:{{SIZE}}% {{gut15_20Height.SIZE}}px;',
					'{{WRAPPER}} .ec-testimonial-wrapper:hover .eca-testimonial-title' => 'background-size:100% {{gut15_20Height.SIZE}}px !important;',
				),
				'condition'  => array(
					'gutEffectType' => array( 'effect15', 'effect16', 'effect17', 'effect18', 'effect19', 'effect20' ),
				),
			)
		);
		$this->add_responsive_control(
			'gut15_20Height',
			array(
				'label'      => esc_html__( 'Height', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::SLIDER,
				'size_units' => array( '%' ),
				'range'      => array(
					'px' => array(
						'min' => 1,
						'max' => 100,
					),
				),
				'default'    => array(
					'unit' => '%',
					'size' => 5,
				),
				'selectors'  => array(
					'{{WRAPPER}} .eca-testimonial-title' => 'background-size:{{gut15_20Start.SIZE}}% {{SIZE}}px;',
					'{{WRAPPER}} .ec-testimonial-wrapper:hover .eca-testimonial-title' => 'background-size:100% {{SIZE}}px !important;',
				),
				'condition'  => array(
					'gutEffectType' => array( 'effect15', 'effect16', 'effect17', 'effect18', 'effect19', 'effect20' ),
				),
			)
		);
		$this->add_control(
			'gut1267Deg',
			array(
				'label'     => esc_html__( 'Deg (0 - 360)', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::NUMBER,
				'min'       => 0,
				'max'       => 360,
				'step'      => 1,
				'default'   => 120,
				'selectors' => array(
					'{{WRAPPER}} .eca-testimonial-title' => 'background-image: linear-gradient({{VALUE}}deg,{{gut1267Color1.VALUE}},{{gut1267Color2.VALUE}});',
				),
				'condition' => array(
					'gutEffectType' => array( 'effect1', 'effect2', 'effect6', 'effect7' ),
				),
			)
		);
		$this->add_control(
			'gut1267Color1',
			array(
				'label'     => esc_html__( 'Color 1', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::COLOR,
				'default'   => '#deff1380',
				'selectors' => array(
					'{{WRAPPER}} .eca-testimonial-title' => 'background-image:linear-gradient({{gut1267Deg.VALUE}}deg,{{VALUE}},{{gut1267Color2.VALUE}})',
				),
				'condition' => array(
					'gutEffectType' => array( 'effect1', 'effect2', 'effect6', 'effect7' ),
				),
			)
		);
		$this->add_control(
			'gut1267Color2',
			array(
				'label'     => esc_html__( 'Color 2', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::COLOR,
				'default'   => '#e130e480',
				'selectors' => array(
					'{{WRAPPER}} .eca-testimonial-title' => 'background-image:linear-gradient({{gut1267Deg.VALUE}}deg,{{gut1267Color1.VALUE}},{{VALUE}});',
				),
				'condition' => array(
					'gutEffectType' => array( 'effect1', 'effect2', 'effect6', 'effect7' ),
				),
			)
		);
		$this->add_control(
			'gut3Color1',
			array(
				'label'     => esc_html__( 'Color 1', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::COLOR,
				'default'   => '#deff1380',
				'selectors' => array(
					'{{WRAPPER}} .eca-testimonial-title' => 'background-image:linear-gradient(to top,{{VALUE}},{{gut3Color2.VALUE}})',
				),
				'condition' => array(
					'gutEffectType' => 'effect3',
				),
			)
		);
		$this->add_control(
			'gut3Color2',
			array(
				'label'     => esc_html__( 'Color 2', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::COLOR,
				'default'   => '#e130e480',
				'selectors' => array(
					'{{WRAPPER}} .eca-testimonial-title' => 'background-image:linear-gradient(to top,{{gut3Color1.VALUE}},{{VALUE}})',
				),
				'condition' => array(
					'gutEffectType' => 'effect3',
				),
			)
		);
		$this->add_control(
			'gut4Color1',
			array(
				'label'     => esc_html__( 'Color 1', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::COLOR,
				'default'   => '#deff1380',
				'selectors' => array(
					'{{WRAPPER}} .eca-testimonial-title' => 'background-image:linear-gradient(to bottom,{{VALUE}},{{gut4Color2.VALUE}})',
				),
				'condition' => array(
					'gutEffectType' => 'effect4',
				),
			)
		);
		$this->add_control(
			'gut4Color2',
			array(
				'label'     => esc_html__( 'Color 2', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::COLOR,
				'default'   => '#e130e480',
				'selectors' => array(
					'{{WRAPPER}} .eca-testimonial-title' => 'background-image:linear-gradient(to bottom,{{gut4Color1.VALUE}},{{VALUE}})',
				),
				'condition' => array(
					'gutEffectType' => 'effect4',
				),
			)
		);
		$this->add_control(
			'gut5Color1',
			array(
				'label'     => esc_html__( 'Color 1', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::COLOR,
				'default'   => '#deff1380',
				'selectors' => array(
					'{{WRAPPER}} .eca-testimonial-title' => 'background-image:radial-gradient(circle,{{VALUE}} 0%,{{gut5Color2.VALUE}} 100%)',
				),
				'condition' => array(
					'gutEffectType' => 'effect5',
				),
			)
		);
		$this->add_control(
			'gut5Color2',
			array(
				'label'     => esc_html__( 'Color 2', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::COLOR,
				'default'   => '#e130e480',
				'selectors' => array(
					'{{WRAPPER}} .eca-testimonial-title' => 'background-image:radial-gradient(circle,{{gut5Color1.VALUE}} 0%,{{VALUE}} 100%)',
				),
				'condition' => array(
					'gutEffectType' => 'effect5',
				),
			)
		);
		$this->add_control(
			'gut8Deg',
			array(
				'label'     => esc_html__( 'Deg (0 - 360)', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::NUMBER,
				'min'       => 0,
				'max'       => 360,
				'step'      => 1,
				'default'   => 135,
				'selectors' => array(
					'{{WRAPPER}} .eca-testimonial-title' => 'background-image: linear-gradient({{VALUE}}deg,{{gut8Color1.VALUE}},{{gut8Color2.VALUE}},{{gut8Color1.VALUE}},{{gut8Color2.VALUE}});',
				),
				'condition' => array(
					'gutEffectType' => 'effect8',
				),
			)
		);
		$this->add_control(
			'gut8Color1',
			array(
				'label'     => esc_html__( 'Color 1', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::COLOR,
				'default'   => '#deff1380',
				'selectors' => array(
					'{{WRAPPER}} .eca-testimonial-title' => 'background-image:linear-gradient({{gut8Deg.VALUE}}deg,{{VALUE}},{{gut8Color2.VALUE}},{{VALUE}},{{gut8Color2.VALUE}})',
				),
				'condition' => array(
					'gutEffectType' => 'effect8',
				),
			)
		);
		$this->add_control(
			'gut8Color2',
			array(
				'label'     => esc_html__( 'Color 2', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::COLOR,
				'default'   => '#e130e480',
				'selectors' => array(
					'{{WRAPPER}} .eca-testimonial-title' => 'background-image:linear-gradient({{gut8Deg.VALUE}}deg,{{gut8Color1.VALUE}},{{VALUE}},{{gut8Color1.VALUE}},{{VALUE}});',
				),
				'condition' => array(
					'gutEffectType' => 'effect8',
				),
			)
		);
		$this->add_control(
			'gut9Color1',
			array(
				'label'     => esc_html__( 'Color 1', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::COLOR,
				'default'   => '#deff1380',
				'selectors' => array(
					'{{WRAPPER}} .eca-testimonial-title' => 'background-image:linear-gradient(to top,{{VALUE}} 5px,{{gut9Color2.VALUE}} 5px)',
				),
				'condition' => array(
					'gutEffectType' => 'effect9',
				),
			)
		);
		$this->add_control(
			'gut9Color2',
			array(
				'label'     => esc_html__( 'Color 2', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::COLOR,
				'default'   => '#e130e480',
				'selectors' => array(
					'{{WRAPPER}} .eca-testimonial-title' => 'background-image:linear-gradient(to top,{{gut9Color1.VALUE}} 5px,{{VALUE}} 5px)',
				),
				'condition' => array(
					'gutEffectType' => 'effect9',
				),
			)
		);
		$this->add_control(
			'gut10Color1',
			array(
				'label'     => esc_html__( 'Color 1', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::COLOR,
				'default'   => '#deff1380',
				'selectors' => array(
					'{{WRAPPER}} .eca-testimonial-title' => 'background-image:linear-gradient(to bottom,{{VALUE}} 5px,{{gut10Color2.VALUE}} 5px)',
				),
				'condition' => array(
					'gutEffectType' => 'effect10',
				),
			)
		);
		$this->add_control(
			'gut10Color2',
			array(
				'label'     => esc_html__( 'Color 2', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::COLOR,
				'default'   => '#e130e480',
				'selectors' => array(
					'{{WRAPPER}} .eca-testimonial-title' => 'background-image:linear-gradient(to bottom,{{gut10Color1.VALUE}} 5px,{{VALUE}} 5px)',
				),
				'condition' => array(
					'gutEffectType' => 'effect10',
				),
			)
		);
		$this->add_control(
			'gut11Color1',
			array(
				'label'     => esc_html__( 'Color', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::COLOR,
				'default'   => '#deff1380',
				'selectors' => array(
					'{{WRAPPER}} .eca-testimonial-title' => 'background-image:linear-gradient(to right,{{VALUE}} 100%,transparent 0)',
				),
				'condition' => array(
					'gutEffectType' => 'effect11',
				),
			)
		);
		$this->add_control(
			'gut12Color1',
			array(
				'label'     => esc_html__( 'Color', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::COLOR,
				'default'   => '#deff1380',
				'selectors' => array(
					'{{WRAPPER}} .eca-testimonial-title' => 'background-image:linear-gradient(to left,{{VALUE}} 100%,transparent 0)',
				),
				'condition' => array(
					'gutEffectType' => 'effect12',
				),
			)
		);
		$this->add_control(
			'gut1314Color1',
			array(
				'label'     => esc_html__( 'Color 1', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::COLOR,
				'default'   => '#deff1380',
				'selectors' => array(
					'{{WRAPPER}} .eca-testimonial-title' => 'background-image:linear-gradient(to top,{{VALUE}},{{gut1314Color2.VALUE}})',
				),
				'condition' => array(
					'gutEffectType' => array( 'effect13', 'effect14' ),
				),
			)
		);
		$this->add_control(
			'gut1314Color2',
			array(
				'label'     => esc_html__( 'Color 2', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::COLOR,
				'default'   => '#e130e480',
				'selectors' => array(
					'{{WRAPPER}} .eca-testimonial-title' => 'background-image:linear-gradient(to top,{{gut1314Color1.VALUE}},{{VALUE}})',
				),
				'condition' => array(
					'gutEffectType' => array( 'effect13', 'effect14' ),
				),
			)
		);
		$this->add_control(
			'gut15161819Color1',
			array(
				'label'     => esc_html__( 'Color', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::COLOR,
				'default'   => '#deff1380',
				'selectors' => array(
					'{{WRAPPER}} .eca-testimonial-title' => 'background-image:linear-gradient(to right,{{VALUE}} 100%,transparent 0)',
				),
				'condition' => array(
					'gutEffectType' => array( 'effect15', 'effect16', 'effect18', 'effect19' ),
				),
			)
		);
		$this->add_control(
			'gut1720Color1',
			array(
				'label'     => esc_html__( 'Color', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::COLOR,
				'default'   => '#deff1380',
				'selectors' => array(
					'{{WRAPPER}} .eca-testimonial-title' => 'background-image:linear-gradient(to left,{{VALUE}} 100%,transparent 0)',
				),
				'condition' => array(
					'gutEffectType' => array( 'effect17', 'effect20' ),
				),
			)
		);
		$this->end_controls_section();
		/*title underline*/

		/*subtitle start*/
		$this->start_controls_section(
			'subtitleStyling',
			array(
				'label' => esc_html__( 'Sub Title', 'essential-classy-addons-for-elementor' ),
				'tab'   => Controls_Manager::TAB_STYLE,
			)
		);
		$this->add_responsive_control(
			'subtitlePadding',
			array(
				'label'      => esc_html__( 'Padding', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%', 'em' ),
				'selectors'  => array(
					'{{WRAPPER}} .ec-testimonial-wrapper .eca-testimonial-sub-title' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_responsive_control(
			'subtitleMargin',
			array(
				'label'      => esc_html__( 'Margin', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%', 'em' ),
				'selectors'  => array(
					'{{WRAPPER}} .ec-testimonial-wrapper .eca-testimonial-sub-title' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Typography::get_type(),
			array(
				'name'     => 'subtitleTypo',
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper .eca-testimonial-sub-title',
			)
		);
		$this->start_controls_tabs( 'tabsSubTitletyle' );
		$this->start_controls_tab(
			'tabSubTitleNorm',
			array(
				'label' => esc_html__( 'Normal', 'essential-classy-addons-for-elementor' ),
			)
		);
		$this->add_control(
			'subtitleColorN',
			array(
				'label'     => esc_html__( 'Color', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::COLOR,
				'selectors' => array(
					'{{WRAPPER}} .ec-testimonial-wrapper .eca-testimonial-sub-title' => 'color: {{VALUE}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Background::get_type(),
			array(
				'name'     => 'subtitleBgN',
				'types'    => array( 'classic', 'gradient' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper .eca-testimonial-sub-title',
			)
		);
		$this->add_group_control(
			Group_Control_Border::get_type(),
			array(
				'name'     => 'subtitleBorderN',
				'label'    => esc_html__( 'Border', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper .eca-testimonial-sub-title',
			)
		);
		$this->add_responsive_control(
			'subtitleBrN',
			array(
				'label'      => esc_html__( 'Border Radius', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .ec-testimonial-wrapper .eca-testimonial-sub-title' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			array(
				'name'     => 'subtitleShadowN',
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper .eca-testimonial-sub-title',
			)
		);
		$this->add_group_control(
			Group_Control_Text_Shadow::get_type(),
			array(
				'name'     => 'subtitleTextShadowN',
				'label'    => esc_html__( 'Text Shadow', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper .eca-testimonial-sub-title',
			)
		);
		$this->add_control(
			'subtitleTransitionN',
			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}} .ec-testimonial-wrapper .eca-testimonial-sub-title' => 'transition:{{VALUE}};',
				),
			)
		);
		$this->add_control(
			'subtitleTransformN',
			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}} .ec-testimonial-wrapper .eca-testimonial-sub-title' => 'transform: {{VALUE}};-ms-transform: {{VALUE}};-moz-transform: {{VALUE}};-webkit-transform: {{VALUE}};',
				),
			)
		);
		$this->end_controls_tab();
		$this->start_controls_tab(
			'tabSubTitleBoxHover',
			array(
				'label' => esc_html__( 'Box Hover', 'essential-classy-addons-for-elementor' ),
			)
		);
		$this->add_control(
			'subtitleColorBH',
			array(
				'label'     => esc_html__( 'Color', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::COLOR,
				'selectors' => array(
					'{{WRAPPER}} .ec-testimonial-wrapper:hover .eca-testimonial-sub-title' => 'color: {{VALUE}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Background::get_type(),
			array(
				'name'     => 'subtitleBgBH',
				'types'    => array( 'classic', 'gradient' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper:hover .eca-testimonial-sub-title',
			)
		);
		$this->add_group_control(
			Group_Control_Border::get_type(),
			array(
				'name'     => 'subtitleBorderBH',
				'label'    => esc_html__( 'Border', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper:hover .eca-testimonial-sub-title',
			)
		);
		$this->add_responsive_control(
			'subtitleBrBH',
			array(
				'label'      => esc_html__( 'Border Radius', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .ec-testimonial-wrapper:hover .eca-testimonial-sub-title' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			array(
				'name'     => 'subtitleShadowBH',
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper:hover .eca-testimonial-sub-title',
			)
		);
		$this->add_group_control(
			Group_Control_Text_Shadow::get_type(),
			array(
				'name'     => 'subtitleTextShadowBH',
				'label'    => esc_html__( 'Text Shadow', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper:hover .eca-testimonial-sub-title',
			)
		);
		$this->end_controls_tab();
		$this->start_controls_tab(
			'tabSubTitleHover',
			array(
				'label' => esc_html__( 'Hover', 'essential-classy-addons-for-elementor' ),
			)
		);
		$this->add_control(
			'subtitleColorH',
			array(
				'label'     => esc_html__( 'Color', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::COLOR,
				'selectors' => array(
					'{{WRAPPER}} .ec-testimonial-wrapper .eca-testimonial-sub-title:hover' => 'color: {{VALUE}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Background::get_type(),
			array(
				'name'     => 'subtitleBgH',
				'types'    => array( 'classic', 'gradient' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper .eca-testimonial-sub-title:hover',
			)
		);
		$this->add_group_control(
			Group_Control_Border::get_type(),
			array(
				'name'     => 'subtitleBorderH',
				'label'    => esc_html__( 'Border', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper .eca-testimonial-sub-title:hover',
			)
		);
		$this->add_responsive_control(
			'subtitleBrH',
			array(
				'label'      => esc_html__( 'Border Radius', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .ec-testimonial-wrapper .eca-testimonial-sub-title:hover' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			array(
				'name'     => 'subtitleShadowH',
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper .eca-testimonial-sub-title:hover',
			)
		);
		$this->add_group_control(
			Group_Control_Text_Shadow::get_type(),
			array(
				'name'     => 'subtitleTextShadowH',
				'label'    => esc_html__( 'Text Shadow', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper .eca-testimonial-sub-title:hover',
			)
		);
		$this->add_control(
			'subtitleTransitionH',
			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}} .ec-testimonial-wrapper .eca-testimonial-sub-title:hover' => 'transition:{{VALUE}};',
				),
			)
		);
		$this->add_control(
			'subtitleTransformH',
			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}} .ec-testimonial-wrapper .eca-testimonial-sub-title:hover' => 'transform: {{VALUE}};-ms-transform: {{VALUE}};-moz-transform: {{VALUE}};-webkit-transform: {{VALUE}};',
				),
			)
		);
		$this->end_controls_tab();
		$this->end_controls_tabs();
		$this->end_controls_section();
		/*subtitle end*/

		/*desc 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(
			'descPadding',
			array(
				'label'      => esc_html__( 'Padding', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%', 'em' ),
				'selectors'  => array(
					'{{WRAPPER}} .ec-testimonial-wrapper .eca-testimonial-desc' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_responsive_control(
			'descMargin',
			array(
				'label'      => esc_html__( 'Margin', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%', 'em' ),
				'selectors'  => array(
					'{{WRAPPER}} .ec-testimonial-wrapper .eca-testimonial-desc' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Typography::get_type(),
			array(
				'name'     => 'descTypo',
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper .eca-testimonial-desc,
				{{WRAPPER}} .ec-testimonial-wrapper .eca-testimonial-desc p',
			)
		);
		$this->add_responsive_control(
			'descAlign',
			array(
				'label'     => esc_html__( 'Text 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}} .ec-testimonial-wrapper .eca-testimonial-desc,
					{{WRAPPER}} .ec-testimonial-wrapper .eca-testimonial-desc p' => 'text-align:{{VALUE}};',
				),
			)
		);
		$this->add_responsive_control(
			'descConAlign',
			array(
				'label'     => esc_html__( 'Content 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}} .ec-testimonial-wrapper .eca-testimonial-desc,
					{{WRAPPER}} .ec-testimonial-wrapper .eca-testimonial-desc p' => 'justify-content:{{VALUE}};',
				),
			)
		);
		$this->start_controls_tabs( 'tabsDesctyle' );
		$this->start_controls_tab(
			'tabDescNorm',
			array(
				'label' => esc_html__( 'Normal', 'essential-classy-addons-for-elementor' ),
			)
		);
		$this->add_control(
			'descColorN',
			array(
				'label'     => esc_html__( 'Color', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::COLOR,
				'selectors' => array(
					'{{WRAPPER}} .ec-testimonial-wrapper .eca-testimonial-desc,
					{{WRAPPER}} .ec-testimonial-wrapper .eca-testimonial-desc p' => 'color: {{VALUE}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Background::get_type(),
			array(
				'name'     => 'descBgN',
				'types'    => array( 'classic', 'gradient' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper .eca-testimonial-desc',
			)
		);
		$this->add_group_control(
			Group_Control_Border::get_type(),
			array(
				'name'     => 'descBorderN',
				'label'    => esc_html__( 'Border', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper .eca-testimonial-desc',
			)
		);
		$this->add_responsive_control(
			'descBrN',
			array(
				'label'      => esc_html__( 'Border Radius', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .ec-testimonial-wrapper .eca-testimonial-desc' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			array(
				'name'     => 'descShadowN',
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper .eca-testimonial-desc',
			)
		);
		$this->add_group_control(
			Group_Control_Text_Shadow::get_type(),
			array(
				'name'     => 'descTextShadowN',
				'label'    => esc_html__( 'Text Shadow', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper .eca-testimonial-desc',
			)
		);
		$this->add_control(
			'descTransitionN',
			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}} .ec-testimonial-wrapper .eca-testimonial-desc' => 'transition:{{VALUE}};',
				),
			)
		);
		$this->add_control(
			'descTransformN',
			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}} .ec-testimonial-wrapper .eca-testimonial-desc' => 'transform: {{VALUE}};-ms-transform: {{VALUE}};-moz-transform: {{VALUE}};-webkit-transform: {{VALUE}};',
				),
			)
		);
		$this->end_controls_tab();
		$this->start_controls_tab(
			'tabDescBoxHover',
			array(
				'label' => esc_html__( 'Box Hover', 'essential-classy-addons-for-elementor' ),
			)
		);
		$this->add_control(
			'descColorBH',
			array(
				'label'     => esc_html__( 'Color', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::COLOR,
				'selectors' => array(
					'{{WRAPPER}} .ec-testimonial-wrapper:hover .eca-testimonial-desc,
					{{WRAPPER}} .ec-testimonial-wrapper:hover .eca-testimonial-desc p' => 'color: {{VALUE}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Background::get_type(),
			array(
				'name'     => 'descBgBH',
				'types'    => array( 'classic', 'gradient' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper:hover .eca-testimonial-desc',
			)
		);
		$this->add_group_control(
			Group_Control_Border::get_type(),
			array(
				'name'     => 'descBorderBH',
				'label'    => esc_html__( 'Border', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper:hover .eca-testimonial-desc',
			)
		);
		$this->add_responsive_control(
			'descBrBH',
			array(
				'label'      => esc_html__( 'Border Radius', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .ec-testimonial-wrapper:hover .eca-testimonial-desc' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			array(
				'name'     => 'descShadowBH',
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper:hover .eca-testimonial-desc',
			)
		);
		$this->add_group_control(
			Group_Control_Text_Shadow::get_type(),
			array(
				'name'     => 'descTextShadowBH',
				'label'    => esc_html__( 'Text Shadow', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper:hover .eca-testimonial-desc',
			)
		);
		$this->end_controls_tab();
		$this->start_controls_tab(
			'tabDescHover',
			array(
				'label' => esc_html__( 'Hover', 'essential-classy-addons-for-elementor' ),
			)
		);
		$this->add_control(
			'descColorH',
			array(
				'label'     => esc_html__( 'Color', 'essential-classy-addons-for-elementor' ),
				'type'      => Controls_Manager::COLOR,
				'selectors' => array(
					'{{WRAPPER}} .ec-testimonial-wrapper .eca-testimonial-desc:hover,
					{{WRAPPER}} .ec-testimonial-wrapper .eca-testimonial-desc:hover p' => 'color: {{VALUE}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Background::get_type(),
			array(
				'name'     => 'descBgH',
				'types'    => array( 'classic', 'gradient' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper .eca-testimonial-desc:hover',
			)
		);
		$this->add_group_control(
			Group_Control_Border::get_type(),
			array(
				'name'     => 'descBorderH',
				'label'    => esc_html__( 'Border', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper .eca-testimonial-desc:hover',
			)
		);
		$this->add_responsive_control(
			'descBrH',
			array(
				'label'      => esc_html__( 'Border Radius', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .ec-testimonial-wrapper .eca-testimonial-desc:hover' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			array(
				'name'     => 'descShadowH',
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper .eca-testimonial-desc:hover',
			)
		);
		$this->add_group_control(
			Group_Control_Text_Shadow::get_type(),
			array(
				'name'     => 'descTextShadowH',
				'label'    => esc_html__( 'Text Shadow', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper .eca-testimonial-desc:hover',
			)
		);
		$this->add_control(
			'descTransitionH',
			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}} .ec-testimonial-wrapper .eca-testimonial-desc:hover' => 'transition:{{VALUE}};',
				),
			)
		);
		$this->add_control(
			'descTransformH',
			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}} .ec-testimonial-wrapper .eca-testimonial-desc:hover' => 'transform: {{VALUE}};-ms-transform: {{VALUE}};-moz-transform: {{VALUE}};-webkit-transform: {{VALUE}};',
				),
			)
		);
		$this->end_controls_tab();
		$this->end_controls_tabs();
		$this->end_controls_section();
		/*desc end*/

		/*review start*/
		$this->start_controls_section(
			'reviewStyling',
			array(
				'label' => esc_html__( 'Review', 'essential-classy-addons-for-elementor' ),
				'tab'   => Controls_Manager::TAB_STYLE,
			)
		);
		$this->add_responsive_control(
			'reviewMargin',
			array(
				'label'      => esc_html__( 'Margin', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%', 'em' ),
				'selectors'  => array(
					'{{WRAPPER}} .ec-testimonial-wrapper .ec-testimonial-review' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_responsive_control(
			'reviewSize',
			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' => 200,
					),
				),
				'selectors'  => array(
					'{{WRAPPER}}  .ec-testimonial-wrapper .ec-testimonial-review::before' => 'font-size :{{SIZE}}px;',
				),
			)
		);
		$this->add_responsive_control(
			'reviewLetterSpacing',
			array(
				'label'      => esc_html__( 'Letter Spacing', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::SLIDER,
				'size_units' => array( 'px' ),
				'range'      => array(
					'px' => array(
						'min' => 1,
						'max' => 40,
					),
				),
				'selectors'  => array(
					'{{WRAPPER}}  .ec-testimonial-wrapper .ec-testimonial-review::before' => 'letter-spacing :{{SIZE}}px;',
				),
			)
		);
		$this->end_controls_section();
		/*review end*/

		/*box content*/
		$this->start_controls_section(
			'boxContentStyling',
			array(
				'label' => esc_html__( 'Box Content', 'essential-classy-addons-for-elementor' ),
				'tab'   => Controls_Manager::TAB_STYLE,
			)
		);
		$this->add_responsive_control(
			'boxContentPadding',
			array(
				'label'      => esc_html__( 'Padding', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%', 'em' ),
				'selectors'  => array(
					'{{WRAPPER}} .ec-testimonial-wrapper' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_responsive_control(
			'boxContentMargin',
			array(
				'label'      => esc_html__( 'Margin', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%', 'em' ),
				'selectors'  => array(
					'{{WRAPPER}} .ec-testimonial-wrapper' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->start_controls_tabs( 'tabsboxContentStyle' );
		$this->start_controls_tab(
			'tabboxContentNorm',
			array(
				'label' => esc_html__( 'Normal', 'essential-classy-addons-for-elementor' ),
			)
		);
		$this->add_group_control(
			Group_Control_Background::get_type(),
			array(
				'name'     => 'boxContentBgN',
				'types'    => array( 'classic', 'gradient' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper',
			)
		);
		$this->add_group_control(
			Group_Control_Border::get_type(),
			array(
				'name'     => 'boxContentBorderN',
				'label'    => esc_html__( 'Border', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper',
			)
		);
		$this->add_responsive_control(
			'boxContentBrN',
			array(
				'label'      => esc_html__( 'Border Radius', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .ec-testimonial-wrapper' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			array(
				'name'     => 'boxContentShadowN',
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper',
			)
		);
		$this->add_control(
			'boxContentTransitionN',
			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}} .ec-testimonial-wrapper' => 'transition:{{VALUE}};',
				),
			)
		);
		$this->add_control(
			'boxContentTransformN',
			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}} .ec-testimonial-wrapper' => 'transform: {{VALUE}};-ms-transform: {{VALUE}};-moz-transform: {{VALUE}};-webkit-transform: {{VALUE}};',
				),
			)
		);
		$this->end_controls_tab();
		$this->start_controls_tab(
			'tabboxContentHover',
			array(
				'label' => esc_html__( 'Hover', 'essential-classy-addons-for-elementor' ),
			)
		);
		$this->add_control(
			'boxEffect',
			array(
				'label'   => esc_html__( 'Hover Effect', 'essential-classy-addons-for-elementor' ),
				'type'    => Controls_Manager::SELECT,
				'default' => 'none',
				'options' => array(
					'none'            => esc_html__( 'None', 'essential-classy-addons-for-elementor' ),
					'boxeffectleft'   => esc_html__( 'Left', 'essential-classy-addons-for-elementor' ),
					'boxeffectright'  => esc_html__( 'Right', 'essential-classy-addons-for-elementor' ),
					'boxeffecttop'    => esc_html__( 'Top', 'essential-classy-addons-for-elementor' ),
					'boxeffectbottom' => esc_html__( 'Bottom', 'essential-classy-addons-for-elementor' ),
				),
			)
		);
		$this->add_group_control(
			Group_Control_Background::get_type(),
			array(
				'name'      => 'boxContentBgHoverEffect',
				'types'     => array( 'classic', 'gradient' ),
				'selector'  => '{{WRAPPER}} .ec-testimonial-wrapper .ec-effects',
				'condition' => array(
					'boxEffect!' => 'none',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Background::get_type(),
			array(
				'name'      => 'boxContentBgH',
				'types'     => array( 'classic', 'gradient' ),
				'selector'  => '{{WRAPPER}} .ec-testimonial-wrapper:hover,
				{{WRAPPER}} .ec-testimonial-wrapper.layout6:hover .eca-social-lists',
				'condition' => array(
					'boxEffect' => 'none',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Border::get_type(),
			array(
				'name'     => 'boxContentBorderHover',
				'label'    => esc_html__( 'Border', 'essential-classy-addons-for-elementor' ),
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper:hover,
				{{WRAPPER}} .ec-testimonial-wrapper.layout6:hover .eca-social-lists',
			)
		);
		$this->add_responsive_control(
			'boxContentBrH',
			array(
				'label'      => esc_html__( 'Border Radius', 'essential-classy-addons-for-elementor' ),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => array( 'px', '%' ),
				'selectors'  => array(
					'{{WRAPPER}} .ec-testimonial-wrapper:hover,
					{{WRAPPER}} .ec-testimonial-wrapper.layout6:hover .eca-social-lists' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				),
			)
		);
		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			array(
				'name'     => 'boxContentShadowH',
				'selector' => '{{WRAPPER}} .ec-testimonial-wrapper:hover,
				{{WRAPPER}} .ec-testimonial-wrapper.layout6:hover .eca-social-lists',
			)
		);
		$this->add_control(
			'boxContentTransitionH',
			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}} .ec-testimonial-wrapper:hover,
					{{WRAPPER}} .ec-testimonial-wrapper.layout6:hover .eca-social-lists' => 'transition:{{VALUE}};',
				),
			)
		);
		$this->add_control(
			'boxContentTransformH',
			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}} .ec-testimonial-wrapper:hover,
					{{WRAPPER}} .ec-testimonial-wrapper.layout6:hover .eca-social-lists' => 'transform: {{VALUE}};-ms-transform: {{VALUE}};-moz-transform: {{VALUE}};-webkit-transform: {{VALUE}};',
				),
			)
		);
		$this->end_controls_tab();
		$this->end_controls_tabs();
		$this->end_controls_section();
		/*box content*/
	}

	protected function render() {

		$settings           = $this->get_settings_for_display();
		$contentLayout      = ! empty( $settings['contentLayout'] ) ? $settings['contentLayout'] : 'layout1';
		$forceVerticalClass = '';
		$forceVertical      = isset( $settings['forceVertical'] ) ? $settings['forceVertical'] : '';
		if ( isset( $forceVertical ) && $forceVertical == 'yes' ) {
			$forceVerticalClass = ' ec-team-force-vertical-mobile';
		}
		$iconImage   = ! empty( $settings['iconImage'] ) ? $settings['iconImage'] : 'icon';
		$iconLibrary = ! empty( $settings['iconLibrary'] ) ? $settings['iconLibrary'] : '';
		$imageSelect = ! empty( $settings['imageSelect'] ) ? $settings['imageSelect'] : '';

		$iconImageOP = $title = $subtitle = $desc = $review = '';
		if ( ! empty( $iconImage ) ) {
			if ( $iconImage == 'icon' ) {
				if ( ! empty( $iconLibrary ) ) {
					ob_start();
					\Elementor\Icons_Manager::render_icon( $iconLibrary, array( 'aria-hidden' => 'true' ) );
					$iconImageOP = '<span class="eca-icon-image eca-icon">' . ob_get_contents() . '</span>';
					ob_end_clean();
				}
			} elseif ( $iconImage == 'image' ) {
				if ( ! empty( $settings['imageSelect']['url'] ) ) {
					$imageSelect = $settings['imageSelect']['id'];
					$img         = wp_get_attachment_image_src( $imageSelect, $settings['imageSelectThumbnail_size'] );
					$imgSrc      = $img[0];
					$imageId     = $settings['imageSelect']['id'];
					$imageAlt    = get_post_meta( $imageId, '_wp_attachment_image_alt', true );
					if ( empty( $imageAlt ) ) {
						$imageAlt = get_the_title( $imageId );
					}
					$iconImageOP = '<img class="eca-icon-image eca-image" src=' . esc_url( $imgSrc ) . ' alt="' . esc_attr( $imageAlt ) . '" />';
				}
			}
		}

		$testimonialTitle    = ! empty( $settings['testimonialTitle'] ) ? $settings['testimonialTitle'] : '';
		$testimonialTitleTag = ! empty( $settings['testimonialTitleTag'] ) ? $settings['testimonialTitleTag'] : 'h1';
		if ( ! empty( $testimonialTitle ) ) {
			$infoTitleUnderlineEffect = isset( $settings['infoTitleUnderlineEffect'] ) ? $settings['infoTitleUnderlineEffect'] : '';
			$gutEffectType            = ! empty( $settings['gutEffectType'] ) ? $settings['gutEffectType'] : '';
			$utc                      = '';
			if ( $infoTitleUnderlineEffect == 'yes' && ! empty( $gutEffectType ) ) {
				$utc = ' ec-gut-underline ec-gut-' . esc_attr( $settings['gutEffectType'] );
			}
			$title = '<' . \EcafeHelper::check_and_validate_html_tag( $testimonialTitleTag ) . ' class="eca-testimonial-title ' . esc_attr( $utc ) . '">' . esc_html( $testimonialTitle ) . '</' . \EcafeHelper::check_and_validate_html_tag( $testimonialTitleTag ) . '>';
		}

		$testimonialSubTitle    = ! empty( $settings['testimonialSubTitle'] ) ? $settings['testimonialSubTitle'] : '';
		$testimonialSubTitleTag = ! empty( $settings['testimonialSubTitleTag'] ) ? $settings['testimonialSubTitleTag'] : 'h2';
		if ( ! empty( $testimonialSubTitle ) ) {
			$subtitle = '<' . \EcafeHelper::check_and_validate_html_tag( $testimonialSubTitleTag ) . ' class="eca-testimonial-sub-title">' . esc_html( $testimonialSubTitle ) . '</' . \EcafeHelper::check_and_validate_html_tag( $testimonialSubTitleTag ) . '>';
		}

		$testimonialDesc = ! empty( $settings['testimonialDesc'] ) ? $settings['testimonialDesc'] : '';
		if ( ! empty( $testimonialDesc ) ) {
			$desc = '<div class="eca-testimonial-desc">' . wp_kses_post( $testimonialDesc ) . '</div>';
		}

		$testimonialReview = ! empty( $settings['testimonialReview'] ) ? $settings['testimonialReview'] : '';
		if ( ! empty( $testimonialReview ) ) {
			$review = '<div class="ec-testimonial-review" aria-label="' . $testimonialReview . '"></div>';
		}

		$boxEffect = ! empty( $settings['boxEffect'] ) ? $settings['boxEffect'] : '';

		$boxEffectClass = '';
		if ( ! empty( $boxEffect ) && $boxEffect != 'none' ) {
			$boxEffectClass = ' ecboxeffectenable ' . $boxEffect;
		}

		$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="ec-testimonial-wrapper ' . esc_attr( $contentLayout ) . ' ' . esc_attr( $boxEffectClass ) . ' ' . esc_attr( $forceVerticalClass ) . ' ' . esc_attr( $tiltclass ) . ' ' . esc_attr( $tippyclass ) . '" ' . $tiltrender . ' ' . $tippyrender . '>';

		if ( $contentLayout == 'layout1' ) {
			$output .= $iconImageOP . $title . $subtitle . $review . $desc;
		} elseif ( $contentLayout == 'layout2' || $contentLayout == 'layout3' ) {
			$output     .= '<div class="ec-testimonial-wrap-first">';
				$output .= '<div class="ec-testimonial-wrap-first-left">' . $iconImageOP . '</div>';
				$output .= '<div class="ec-testimonial-wrap-first-right">' . $title . $subtitle . $review . '</div>';
			$output     .= '</div>';
			$output     .= '<div class="ec-testimonial-wrap-second">' . $desc . '</div>';
		} elseif ( $contentLayout == 'layout4' || $contentLayout == 'layout5' ) {
			$output     .= '<div class="ec-testimonial-wrap-first">' . $iconImageOP . '</div>';
			$output     .= '<div class="ec-testimonial-wrap-second">';
				$output .= '<div class="ec-testimonial-wrap-second-top">' . $desc . '</div>';
				$output .= '<div class="ec-testimonial-wrap-second-middle">' . $title . $subtitle . '</div>';
				$output .= '<div class="ec-testimonial-wrap-second-bottom">' . $review . '</div>';
			$output     .= '</div>';
		} elseif ( $contentLayout == 'layout6' ) {
			$output     .= '<div class="ec-testimonial-wrap-first">';
				$output .= '<div class="ec-testimonial-wrap-first-left">' . $iconImageOP . '</div>';
				$output .= '<div class="ec-testimonial-wrap-first-center">' . $title . $subtitle . '</div>';
				$output .= '<div class="ec-testimonial-wrap-first-right">' . $review . '</div>';
			$output     .= '</div>';
			$output     .= '<div class="ec-testimonial-wrap-second">' . $desc . '</div>';
		} elseif ( $contentLayout == 'layout7' ) {
			$output .= $review . $desc . $iconImageOP . $title . $subtitle;
		} elseif ( $contentLayout == 'layout8' || $contentLayout == 'layout9' ) {
			$output     .= '<div class="ec-testimonial-wrap-first">' . $desc . '</div>';
			$output     .= '<div class="ec-testimonial-wrap-second">';
				$output .= '<div class="ec-testimonial-wrap-second-left">' . $iconImageOP . '</div>';
				$output .= '<div class="ec-testimonial-wrap-second-right">' . $title . $subtitle . $review . '</div>';
			$output     .= '</div>';
		}

		if ( ! empty( $settings['boxEffect'] ) && $settings['boxEffect'] != 'none' ) {
			$output .= '<div class="ec-effects"></div>';
		}
			$output .= '</div>';

			echo wp_kses_normalize_entities( $output );
	}
}
