Viewing 30 results - 2,251 through 2,280 (of 142,946 total)
  • Author
    Search Results
  • #1478728
    caw67
    Participant

    I use show Breadcrum and Title. And i want to replace “Blog – Aktuelle Neuigkeiten” with the name of the actual post?

    i have always this code in the child theme function and can change the html code.

    if( ! function_exists( ‘avia_title’ ) )
    {
    /**
    * advanced title + breadcrumb function
    *
    * @param array|string|false $args
    * @param int|false $id
    * @return string
    */
    function avia_title( $args = false, $id = false )
    {
    global $avia_config;

    if( ! $id )
    {
    $id = avia_get_the_id();
    }

    $header_settings = avia_header_setting();

    if( $header_settings[‘header_title_bar’] == ‘hidden_title_bar’ )
    {
    return ”;
    }

    $defaults = array(
    ‘title’ => get_the_title( $id ),
    ‘subtitle’ => ”, //avia_post_meta($id, ‘subtitle’),
    ‘link’ => get_permalink( $id ),
    ‘html’ => “<div class='{class} ‘><div class=’container’>{heading_html}{additions}</div></div>”,
    ‘heading_html’ => “<{heading} class=’main-title entry-title {heading_class}’>{title}</{heading}>”,
    ‘class’ => ‘stretch_full container_wrap ‘ . avia_is_dark_bg( ”, true ),
    ‘breadcrumb’ => true,
    ‘additions’ => ”,
    ‘heading’ => ‘h1’, //headings are set based on this article: http://yoast.com/blog-headings-structure/
    ‘heading_class’ => ”
    );

    if( is_tax() || is_category() || is_tag() )
    {
    global $wp_query;

    $term = $wp_query->get_queried_object();
    $defaults[‘link’] = get_term_link( $term );
    }
    else if( is_archive() )
    {
    $defaults[‘link’] = ”;
    }

    // Parse incomming $args into an array and merge it with $defaults
    $args = wp_parse_args( $args, $defaults );

    /**
    * @used_by config-woocommerce\config.php avia_title_args_woopage() 10
    * @since < 4.0
    * @return array
    */
    $args = apply_filters( ‘avf_title_args’, $args, $id );

    //disable breadcrumb if requested
    if( $header_settings[‘header_title_bar’] == ‘title_bar’ )
    {
    $args[‘breadcrumb’] = false;
    }

    //disable title if requested
    if( $header_settings[‘header_title_bar’] == ‘breadcrumbs_only’ )
    {
    $args[‘title’] = ”;
    }

    // OPTIONAL: Declare each item in $args as its own variable i.e. $type, $before.
    extract( $args, EXTR_SKIP );

    if( empty( $title ) )
    {
    $class .= ‘ empty_title ‘;
    }

    $markup = avia_markup_helper( array( ‘context’ => ‘avia_title’, ‘echo’ => false ) );

    if( ! empty( $link ) && ! empty( $title ) )
    {
    $title = “” . $title . ““;
    }

    if( ! empty( $subtitle ) )
    {
    $additions .= “<div class=’title_meta meta-color’>” . wpautop( $subtitle ) . ‘</div>’;
    }

    if( $breadcrumb )
    {
    $additions .= Avia_Breadcrumb_Trail()->get_trail( array( ‘separator’ => ‘ ‘, ‘richsnippet’ => true ) );
    }

    if( ! $title )
    {
    $heading_html = ”;
    }

    $html = str_replace( ‘{heading_html}’, $heading_html, $html );

    $html = str_replace( ‘{class}’, $class, $html );
    $html = str_replace( ‘{title}’, $title, $html );
    $html = str_replace( ‘{additions}’, $additions, $html );
    $html = str_replace( ‘{heading}’, $heading, $html );
    $html = str_replace( ‘{heading_class}’, $heading_class, $html );

    // removed 4.9 avia_is_dynamic_template()
    // if( ! empty( $avia_config[‘slide_output’] ) && ! avia_is_dynamic_template( $id ) && ! avia_is_overview() )

    if( ! empty( $avia_config[‘slide_output’] ) && ! avia_is_overview() )
    {
    $avia_config[‘small_title’] = $title;
    }
    else
    {
    return $html;
    }
    }
    }

    #1478721

    In reply to: issues with Token

    Hey JW,

    Please check: https://kriesi.at/support/topic/issues-with-token/

    Best regards,
    Ismael

    #1478702

    Thanks for posting the screenshot so I can see what you see which is helpful. May you please delete the image? Thanks.

    See screenshot linked in private content below from top to bottom. The section below our clients is all color sections and look how boxed in they are vs. the stretched section at the top. Screenshot URL linked in private section

    #1478689

    In reply to: Enfold 7.0

    <?php
    
    /*..
    Plugin Name:  Abstrakt Enfold Extensions
    Plugin URI:   https://abstraktmg.com
    Description:  Plugin for Abstrakt Marketing Group Designers Only
    Author:       Nathaniel Riggins
    Author URI:   https://abstraktmg.com
    Version:      2.0.5
    License:      Private
    */
    
    if ( !defined('ABSPATH') ) { die('-1'); }
    
    if (!class_exists('AbstraktEnfoldExtensions')) {
        class AbstraktEnfoldExtensions {
    
            public string $plugin;
            private array $elements = array(
                'accordion',
                'aces',
                'badges',
                'billboard',
                'bulletin',
                'button',
                'cards',
                'carousel',
                'crawl',
                'cube',
                'deck',
                'fashion',
                'glow',
                'hero',
                'marquee',
                'material',
                'panorama',
                'paper',
                'pricing',
                'rotators',
                'tabs',
                'testimonials',
                'triple',
                'versa',
                'wall',
                'waves',
            );
            private array $deletes = array(
                'animate',
                'blocks',
                'intros',
                'navi',
                'neon',
                'podcasts',
                'posters',
                'sticky',
                'text',
                'traveler',
            );
            // Class construct
            function __construct() {
                $this->plugin = plugin_basename(__FILE__);
                add_action('wp_enqueue_scripts', array($this, 'load_scripts'));
                add_action('admin_enqueue_scripts', array($this, 'load_admin_scripts'));
                add_action('init', array($this, 'includeClasses'));
                add_action('avia_builder_mode', array($this, 'builder_set_debug'));
                add_action('admin_menu', array($this, 'amg_enfold_admin_menu'));
                add_action('admin_init', array($this, 'amg_enfold_admin_settings_init'));
                add_action('wp_footer', array($this, 'amg_enfold_popup'));
                add_action( 'init', array($this, 'add_all_image_sizes'));
            }
            function add_all_image_sizes() :void
            {
                ///// AUTO SIZES ///
                add_image_size( 'amg-auto-300', 300);
                add_image_size( 'amg-auto-500', 500);
                add_image_size( 'amg-auto-750', 750);
                add_image_size( 'amg-auto-1000', 1000);
                add_image_size( 'amg-auto-1250', 1250);
                add_image_size( 'amg-auto-1500', 1500);
                add_image_size( 'amg-auto-2000', 2000);
                add_image_size( 'amg-portrait-300', 300, 400, true );
                add_image_size( 'amg-portrait-450', 450, 600, true );
                add_image_size( 'amg-portrait-600', 600, 800, true );
                add_image_size( 'amg-portrait-750', 750, 1000, true );
                add_image_size( 'amg-landscape-320', 320, 180, true );
                add_image_size( 'amg-landscape-480', 480, 270, true );
                add_image_size( 'amg-landscape-720', 720, 405, true );
                add_image_size( 'amg-landscape-960', 960, 540, true );
                add_image_size( 'amg-landscape-1440', 1440, 810, true );
                add_image_size( 'amg-landscape-1920', 1920, 1080, true );
            }
            function builder_set_debug()
            {
                return "debug";
            }
            public static function get_image_sizes() : array
            {
                return array(
                    __( 'None', 'avia_framework' )              => '',
                    __( 'Auto 300w', 'avia_framework' )         => 'amg-auto-300',
                    __( 'Auto 500w', 'avia_framework' )         => 'amg-auto-500',
                    __( 'Auto 750w', 'avia_framework' )         => 'amg-auto-750',
                    __( 'Auto 1000w', 'avia_framework' )        => 'amg-auto-1000',
                    __( 'Auto 1250w', 'avia_framework' )        => 'amg-auto-1250',
                    __( 'Auto 1500w', 'avia_framework' )        => 'amg-auto-1500',
                    __( 'Auto 2000w', 'avia_framework' )        => 'amg-auto-2000',
    
                    __( 'Portrait 300w', 'avia_framework' )     => 'amg-portrait-300',
                    __( 'Portrait 450w', 'avia_framework' )     => 'amg-portrait-450',
                    __( 'Portrait 600w', 'avia_framework' )     => 'amg-portrait-600',
                    __( 'Portrait 750w', 'avia_framework' )     => 'amg-portrait-750',
    
                    __( 'Landscape 320w', 'avia_framework' )    => 'amg-landscape-320',
                    __( 'Landscape 480w', 'avia_framework' )    => 'amg-landscape-480',
                    __( 'Landscape 720w', 'avia_framework' )    => 'amg-landscape-720',
                    __( 'Landscape 960w', 'avia_framework' )    => 'amg-landscape-960',
                    __( 'Landscape 1440w', 'avia_framework' )   => 'amg-landscape-1440',
                    __( 'Landscape 1920w', 'avia_framework' )   => 'amg-landscape-1920',
                );
            }
    
            public static function get_plugin_version():string
            {
                $data = get_plugin_data(__FILE__);
                return $data['Version'];
            }
    
            public static function developMode():bool {
    
                return get_option('amg_enfold_developer_mode') == 'yes';
            }
            public function includeClasses():void {
    
                $count = count($this->elements);
                for ($i = 0; $i < $count; $i++) {
                    if (get_option("amg_enfold_extensions_{$this->elements[$i]}_active") == 'yes') {
                        include plugin_dir_path( __FILE__ ) . "/enfold/{$this->elements[$i]}/{$this->elements[$i]}.php";
                    }
                }
            }
            public function load_admin_scripts():void
            {
                $ver = AbstraktEnfoldExtensions::get_plugin_version();
                $developMode = AbstraktEnfoldExtensions::developMode();
                $lastmodtime = $developMode ? rand(1, 999999999) : $ver;
                wp_enqueue_style('amg-admin-enfold', plugin_dir_url(__FILE__) . 'css/style.min.css', false, $lastmodtime);
                wp_enqueue_script('amg-admin-enfold-fontawesome', 'https://kit.fontawesome.com/ececabbde4.js', false, $lastmodtime);
            }
    
            public function load_scripts():void {
                $ver = AbstraktEnfoldExtensions::get_plugin_version();
                $developMode = AbstraktEnfoldExtensions::developMode();
                $lastmodtime = $developMode ? rand(1, 999999999) : $ver;
                wp_enqueue_style('amg-enfold-icons', plugin_dir_url(__FILE__) . 'css/uicons.min.css', array('avia-layout'), $lastmodtime);
                wp_enqueue_style( 'amg-css-animate', plugin_dir_url(__FILE__) . "css/animateCSS.min.css", array( 'avia-layout' ) );
                wp_enqueue_style('amg-enfold', plugin_dir_url(__FILE__) . 'css/style.min.css', array('avia-layout'), $lastmodtime);
                wp_enqueue_style('amg-swiper', plugin_dir_url(__FILE__) . 'css/swiper.css', array('avia-layout'), $lastmodtime);
                wp_enqueue_script( 'amg-gsap', plugin_dir_url(__FILE__) . "js/gsap.min.js", array( 'amg-swiper' ), $lastmodtime, true );
                wp_enqueue_script( 'amg-enfold', plugin_dir_url(__FILE__) . "js/script.min.js", array(), $lastmodtime );
                wp_enqueue_script( 'amg-swiper', plugin_dir_url(__FILE__) . "js/swiper.js", array(), $lastmodtime );
            }
            public static function get_duration_times():array {
                return array(
                    __( 'None', 'avia_framework' )		=> '',
                    __( '0.1s', 'avia_framework' )		=> 's100',
                    __( '0.2s', 'avia_framework' )		=> 's200',
                    __( '0.3s', 'avia_framework' )		=> 's300',
                    __( '0.4s', 'avia_framework' )		=> 's400',
                    __( '0.5s', 'avia_framework' )		=> 's500',
                    __( '0.6s', 'avia_framework' )		=> 's600',
                    __( '0.7s', 'avia_framework' )		=> 's700',
                    __( '0.8s', 'avia_framework' )		=> 's800',
                    __( '0.9s', 'avia_framework' )		=> 's900',
                    __( '1s', 'avia_framework' )		=> 's1000',
                    __( '1.1s', 'avia_framework' )		=> 's1100',
                    __( '1.2s', 'avia_framework' )		=> 's1200',
                    __( '1.3s', 'avia_framework' )		=> 's1300',
                    __( '1.4s', 'avia_framework' )		=> 's1400',
                    __( '1.5s', 'avia_framework' )		=> 's1500',
                    __( '1.6s', 'avia_framework' )		=> 's1600',
                    __( '1.7s', 'avia_framework' )		=> 's1700',
                    __( '1.8s', 'avia_framework' )		=> 's1800',
                    __( '1.9s', 'avia_framework' )		=> 's1900',
                    __( '2s', 'avia_framework' )		=> 's2000',
                    __( '2.1s', 'avia_framework' )		=> 's2100',
                    __( '2.2s', 'avia_framework' )		=> 's2200',
                    __( '2.3s', 'avia_framework' )		=> 's2300',
                    __( '2.4s', 'avia_framework' )		=> 's2400',
                    __( '2.5s', 'avia_framework' )		=> 's2500',
                    __( '2.6s', 'avia_framework' )		=> 's2600',
                    __( '2.7s', 'avia_framework' )		=> 's2700',
                    __( '2.8s', 'avia_framework' )		=> 's2800',
                    __( '2.9s', 'avia_framework' )		=> 's2900',
                    __( '3s', 'avia_framework' )		=> 's3000',
                );
            }
            public static function get_delay_times():array {
                return array(
                    __( 'None', 'avia_framework' )		=> '',
                    __( '0.1s', 'avia_framework' )		=> 'd100',
                    __( '0.2s', 'avia_framework' )		=> 'd200',
                    __( '0.3s', 'avia_framework' )		=> 'd300',
                    __( '0.4s', 'avia_framework' )		=> 'd400',
                    __( '0.5s', 'avia_framework' )		=> 'd500',
                    __( '0.6s', 'avia_framework' )		=> 'd600',
                    __( '0.7s', 'avia_framework' )		=> 'd700',
                    __( '0.8s', 'avia_framework' )		=> 'd800',
                    __( '0.9s', 'avia_framework' )		=> 'd900',
                    __( '1s', 'avia_framework' )		=> 'd1000',
                    __( '1.1s', 'avia_framework' )		=> 'd1100',
                    __( '1.2s', 'avia_framework' )		=> 'd1200',
                    __( '1.3s', 'avia_framework' )		=> 'd1300',
                    __( '1.4s', 'avia_framework' )		=> 'd1400',
                    __( '1.5s', 'avia_framework' )		=> 'd1500',
                    __( '1.6s', 'avia_framework' )		=> 'd1600',
                    __( '1.7s', 'avia_framework' )		=> 'd1700',
                    __( '1.8s', 'avia_framework' )		=> 'd1800',
                    __( '1.9s', 'avia_framework' )		=> 'd1900',
                    __( '2s', 'avia_framework' )		=> 'd2000',
                    __( '2.1s', 'avia_framework' )		=> 'd2100',
                    __( '2.2s', 'avia_framework' )		=> 'd2200',
                    __( '2.3s', 'avia_framework' )		=> 'd2300',
                    __( '2.4s', 'avia_framework' )		=> 'd2400',
                    __( '2.5s', 'avia_framework' )		=> 'd2500',
                    __( '2.6s', 'avia_framework' )		=> 'd2600',
                    __( '2.7s', 'avia_framework' )		=> 'd2700',
                    __( '2.8s', 'avia_framework' )		=> 'd2800',
                    __( '2.9s', 'avia_framework' )		=> 'd2900',
                    __( '3s', 'avia_framework' )		=> 'd3000',
                );
            }
    
            public static function get_slider_speeds():array {
                return array(
                    __( '3s', 'avia_framework' )	=> '3000',
                    __( '4s', 'avia_framework' )	=> '4000',
                    __( '5s', 'avia_framework' )	=> '5000',
                    __( '6s', 'avia_framework' )	=> '6000',
                    __( '7s', 'avia_framework' )	=> '7000',
                    __( '8s', 'avia_framework' )	=> '8000',
                    __( '9s', 'avia_framework' )	=> '9000',
                    __( '10s', 'avia_framework' )	=> '10000',
                    __( '11s', 'avia_framework' )	=> '11000',
                    __( '12s', 'avia_framework' )	=> '12000',
                    __( '13s', 'avia_framework' )	=> '13000',
                    __( '14s', 'avia_framework' )	=> '14000',
                    __( '15s', 'avia_framework' )	=> '15000',
                );
            }
            public static function get_intro_animations():array {
                return array(
                    array(
                        __( 'None', 'avia_framework' )	                => '',
                        __( 'animate__bounce', 'avia_framework' )	    => 'animate__animated animate__bounce',
                        __( 'animate__flash', 'avia_framework' )	    => 'animate__animated animate__flash',
                        __( 'Back in down', 'avia_framework' )	        => 'animate__animated animate__backInDown',
                        __( 'Back in left', 'avia_framework' )	        => 'animate__animated animate__backInLeft',
                        __( 'Back in right', 'avia_framework' )	        => 'animate__animated animate__backInRight',
                        __( 'Back in up', 'avia_framework' )	        => 'animate__animated animate__backInUp',
                        __( 'Bounce in', 'avia_framework' )	            => 'animate__animated animate__bounceIn',
                        __( 'Bounce in down', 'avia_framework' )	    => 'animate__animated animate__bounceInDown',
                        __( 'Bounce in left', 'avia_framework' )	    => 'animate__animated animate__bounceInLeft',
                        __( 'Bounce in right', 'avia_framework' )	    => 'animate__animated animate__bounceInRight',
                        __( 'Bounce in up', 'avia_framework' )	        => 'animate__animated animate__bounceInUp',
                        __( 'Fade in', 'avia_framework' )	            => 'animate__animated animate__fadeIn',
                        __( 'Fade in bottom left', 'avia_framework' )	=> 'animate__animated animate__fadeInBottomLeft',
                        __( 'Fade in bottom right', 'avia_framework' )	=> 'animate__animated animate__fadeInBottomRight',
                        __( 'Fade in down', 'avia_framework' )	        => 'animate__animated animate__fadeInDown',
                        __( 'Fade down big', 'avia_framework' )	        => 'animate__animated animate__fadeInDownBig',
                        __( 'Fade in left', 'avia_framework' )	        => 'animate__animated animate__fadeInLeft',
                        __( 'Fade in left big', 'avia_framework' )	    => 'animate__animated animate__fadeInLeftBig',
                        __( 'Fade in right', 'avia_framework' )	        => 'animate__animated animate__fadeInRight',
                        __( 'Fade in right big', 'avia_framework' )	    => 'animate__animated animate__fadeInRightBig',
                        __( 'Fade in up', 'avia_framework' )	        => 'animate__animated animate__fadeInUp',
                        __( 'Fade in up big', 'avia_framework' )        => 'animate__animated animate__fadeInUpBig',
                        __( 'Fade in top left', 'avia_framework' )      => 'animate__animated animate__fadeInTopLeft',
                        __( 'Fade in top right', 'avia_framework' )     => 'animate__animated animate__fadeInTopRight',
                        __( 'Flip', 'avia_framework' )                  => 'animate__animated animate__flip',
                        __( 'Flip X', 'avia_framework' )	            => 'animate__animated animate__flipInX',
                        __( 'Flip Y', 'avia_framework' )	            => 'animate__animated animate__flipInY',
                        __( 'Head Shake', 'avia_framework' )	        => 'animate__animated animate__headShake',
                        __( 'Heartbeat', 'avia_framework' )	            => 'animate__animated animate__heartBeat',
                        __( 'Hinge', 'avia_framework' )	                => 'animate__animated animate__hinge',
                        __( 'Jack In The Box', 'avia_framework' )       => 'animate__animated animate__jackInTheBox',
                        __( 'Jello', 'avia_framework' )	                => 'animate__animated animate__jello',
                        __( 'Lightspeed in left', 'avia_framework' )    => 'animate__animated animate__lightSpeedInLeft',
                        __( 'Lightspeed in right', 'avia_framework' )   => 'animate__animated animate__lightSpeedInRight',
                        __( 'Mask', 'avia_framework' )		            => 'animate__animated animate__pulse',
                        __( 'Roll in', 'avia_framework' )	            => 'animate__animated animate__rollIn',
                        __( 'Rotate in', 'avia_framework' )	            => 'animate__animated animate__rotateIn',
                        __( 'Rotate down left', 'avia_framework' )      => 'animate__animated animate__rotateInDownLeft',
                        __( 'Rotate in down right', 'avia_framework' )  => 'animate__animated animate__rotateInDownRight',
                        __( 'Rotate in up left', 'avia_framework' )     => 'animate__animated animate__rotateInUpLeft',
                        __( 'Rotate in up right', 'avia_framework' )    => 'animate__animated animate__rotateInUpRight',
                        __( 'Rubber Band', 'avia_framework' )	        => 'animate__animated animate__rubberBand',
                        __( 'Shake X', 'avia_framework' )	            => 'animate__animated animate__shakeX',
                        __( 'Shake Y', 'avia_framework' )	            => 'animate__animated animate__shakeY',
                        __( 'Slide in', 'avia_framework' )	            => 'animate__animated animate__slideInDown',
                        __( 'Slide in left', 'avia_framework' )         => 'animate__animated animate__slideInLeft',
                        __( 'Slide in right', 'avia_framework' )        => 'animate__animated animate__slideInRight',
                        __( 'Slide in up', 'avia_framework' )           => 'animate__animated animate__slideInUp',
                        __( 'Swing', 'avia_framework' )	                => 'animate__animated animate__swing',
                        __( 'Tada', 'avia_framework' )	                => 'animate__animated animate__tada',
                        __( 'Wobble', 'avia_framework' )	            => 'animate__animated animate__wobble',
                        __( 'Zoom in', 'avia_framework' )	            => 'animate__animated animate__zoomIn',
                        __( 'Zoom in down', 'avia_framework' )          => 'animate__animated animate__zoomInDown',
                        __( 'Zoom in left', 'avia_framework' )          => 'animate__animated animate__zoomInLeft',
                        __( 'Zoom in right', 'avia_framework' )         => 'animate__animated animate__zoomInRight',
                        __( 'Zoom in up', 'avia_framework' )            => 'animate__animated animate__zoomInUp',
                    )
                );
            }
            public static function get_button_links($type):array {
                $data = match ($type) {
                    'page' => get_pages(),
                    default => get_posts(),
                };
                $links = array();
                foreach ($data as $link) {
                    $links[__( $link->post_title, 'avia_framework' )] = $link->post_name;
                }
    
                return $links;
            }
            public static function get_full_percentage():array {
                $i = 1;
                $nums = array();
                while ($i < 101) {
                    $k = $i . '%';
                    $nums[$k] = $i . '%';
                    $i++;
                }
                return $nums;
            }
            public static function get_full_360():array {
                $i = 1;
                $nums = array();
                while ($i < 361) {
                    $k = $i;
                    $nums[$k] = $i;
                    $i++;
                }
                return $nums;
            }
            public static function create_button_link($atts, $b = 'button'):string {
                $link = '';
                if (isset($atts[$b]) && $atts[$b] == 'yes') {
                    switch ($atts[$b . '_link_type']) {
                        case 'page':
                            $link = home_url() . '/' . $atts[$b . '_page_link'];
                            break;
                        case 'post':
                            $link .= home_url() . '/' . $atts[$b . '_post_link'];
                            break;
                        case 'custom':
                            $link .= $atts[$b .  '_custom_link'];
                            break;
                        default:
    
                    }
                }
                return $link;
            }
            public static function get_seconds():array {
                return array(
                    '1s' => '1s',
                    '2s' => '2s',
                    '3s' => '3s',
                    '4s' => '4s',
                    '5s' => '5s',
                    '6s' => '6s',
                    '7s' => '7s',
                    '8s' => '8s',
                    '9s' => '9s',
                    '10s' => '10s',
                    '11s' => '11s',
                    '12s' => '12s',
                    '13s' => '13s',
                    '14s' => '14s',
                    '15s' => '15s',
                    '16s' => '16s',
                    '17s' => '17s',
                    '18s' => '18s',
                    '19s' => '19s',
                    '20s' => '20s',
                );
            }
            public static function select_button_style():array {
                $arr = array (
                    __( 'Animated Gradient', 'avia_framework' )     => 'amg_1',
                    __( 'Candied Colored 1', 'avia_framework' )     => 'amg_2',
                    __( 'Candied Colored 2', 'avia_framework' )     => 'amg_3',
                    __( 'Candied Colored 3', 'avia_framework' )     => 'amg_4',
                    __( 'Candied Colored 4', 'avia_framework' )     => 'amg_5',
                    __( 'Candied Colored 5', 'avia_framework' )     => 'amg_6',
                    __( 'Candied Colored 6', 'avia_framework' )     => 'amg_7',
                    __( 'Candied Colored 7', 'avia_framework' )     => 'amg_8',
                    __( 'Candied Colored 8', 'avia_framework' )     => 'amg_9',
                    __( 'Candied Colored 9', 'avia_framework' )     => 'amg_10',
                    __( 'Candied Colored 10', 'avia_framework' )    => 'amg_11',
                    __( 'Candied Colored 11', 'avia_framework' )    => 'amg_12',
                    __( 'Candied Colored 12', 'avia_framework' )    => 'amg_13',
                    __( 'Candied Colored 13', 'avia_framework' )    => 'amg_14',
                    __( 'Candied Colored 14', 'avia_framework' )    => 'amg_15',
                    __( 'Candied Colored 15', 'avia_framework' )    => 'amg_16',
                    __( 'Candied Colored 16', 'avia_framework' )    => 'amg_17',
                    __( 'Coin', 'avia_framework' )                  => 'amg_18',
                    __( 'Cold Light', 'avia_framework' )            => 'amg_19',
                    __( 'Flip Box', 'avia_framework' )              => 'amg_20',
                    __( 'Gradient', 'avia_framework' )	            => 'amg_21',
                    __( 'Gradient Glow', 'avia_framework' )	        => 'amg_22',
                    __( 'Gradient Hole', 'avia_framework' )         => 'amg_61',
                    __( 'Hover 1', 'avia_framework' )               => 'amg_23',
                    __( 'Hover 2', 'avia_framework' )               => 'amg_24',
                    __( 'Hover 3', 'avia_framework' )               => 'amg_25',
                    __( 'Hover 4', 'avia_framework' )               => 'amg_26',
                    __( 'Label Slice', 'avia_framework' )           => 'amg_27',
                    __( 'Liquid', 'avia_framework' )                => 'amg_28',
                    __( 'Menu', 'avia_framework' )                  => 'amg_29',
                    __( 'Modern 1', 'avia_framework' )              => 'amg_30',
                    __( 'Modern 2', 'avia_framework' )              => 'amg_31',
                    __( 'Modern 3', 'avia_framework' )              => 'amg_32',
                    __( 'Modern 4', 'avia_framework' )              => 'amg_33',
                    __( 'Modern 5', 'avia_framework' )              => 'amg_34',
                    __( 'Modern 6', 'avia_framework' )              => 'amg_35',
                    __( 'Modern 7', 'avia_framework' )              => 'amg_36',
                    __( 'Modern 8', 'avia_framework' )              => 'amg_37',
                    __( 'Modern 9', 'avia_framework' )              => 'amg_38',
                    __( 'Modern 10', 'avia_framework' )             => 'amg_39',
                    __( 'Modern 11', 'avia_framework' )             => 'amg_40',
                    __( 'Modern 12', 'avia_framework' )             => 'amg_41',
                    __( 'Modern 13', 'avia_framework' )             => 'amg_42',
                    __( 'Modern 14', 'avia_framework' )             => 'amg_43',
                    __( 'Modern 15', 'avia_framework' )             => 'amg_44',
                    __( 'Modern 16', 'avia_framework' )             => 'amg_45',
                    __( 'Modern 17', 'avia_framework' )             => 'amg_46',
                    __( 'Modern 18', 'avia_framework' )             => 'amg_47',
                    __( 'Modern 19', 'avia_framework' )             => 'amg_48',
                    __( 'Modern 20', 'avia_framework' )             => 'amg_49',
                    __( 'Modern 21', 'avia_framework' )             => 'amg_50',
                    __( 'Modern 22', 'avia_framework' )             => 'amg_51',
                    __( 'Modern 23', 'avia_framework' )             => 'amg_52',
                    __( 'Modern 24', 'avia_framework' )             => 'amg_53',
                    __( 'Modern 25', 'avia_framework' )             => 'amg_54',
                    __( 'Modern 26', 'avia_framework' )             => 'amg_55',
                    __( 'Modern 27', 'avia_framework' )             => 'amg_56',
                    __( 'Modern 28', 'avia_framework' )             => 'amg_57',
                    __( 'Plastic', 'avia_framework' )               => 'amg_58',
                    __( 'Neon Lines', 'avia_framework' )            => 'amg_59',
                    __( 'Pulsating', 'avia_framework' )             => 'amg_60',
                    __( 'Hover 4', 'avia_framework' )               => 'amg_62',
                    __( 'Snake Border 2', 'avia_framework' )        => 'amg_63',
                    __( 'Hover 5', 'avia_framework' )               => 'amg_64',
                    __( 'Hover 6', 'avia_framework' )               => 'amg_65',
                    __( 'Ripple', 'avia_framework' )                => 'amg_66',
                    __( 'Snake Border 1', 'avia_framework' )        => 'amg_67',
                    __( 'Gradient Hover Border', 'avia_framework' ) => 'amg_68',
                    __( 'Pulsar', 'avia_framework' )                => 'amg_69',
                    __( 'Neon Lights', 'avia_framework' )           => 'amg_70',
                    __( 'Blend Mode', 'avia_framework' )            => 'amg_71',
                    __( 'Bubble Bursts', 'avia_framework' )         => 'amg_72',
    
                );
                ksort($arr, SORT_NATURAL);
                return $arr;
            }
            function amg_enfold_admin_menu() : void
            {
                add_options_page(
                'AMG Enfold Extensions',
                'AMG Enfold',
                'manage_options',
                'amg-enfold-options',
                    array(
                        $this,
                        'amg_enfold_admin_settings'
                    ),
                '1'
                );
            }
            function amg_enfold_admin_settings_init() : void
            {
                /// sticky banner text
                add_settings_section (
                    'enfold_extensions_developer_section' ,
                    'Developer' ,
                    '',
                    'amg-enfold-options'
                );
    
                add_settings_section (
                    'enfold_extensions_elements_section' ,
                    'Active Elements' ,
                    '',
                    'amg-enfold-options'
                );
    
                register_setting(
                    'amg-enfold-options',
                    'amg_enfold_developer_mode',
                    array(
                        'type' => 'string',
                        'sanitize_callback' => 'sanitize_text_field',
                        'default' => 'no'
                    )
                );
                add_settings_field(
                    'amg_enfold_developer_mode',
                    'Developer Mode On',
                    array($this, 'amg_enfold_developer_mode_callback'),
                    'amg-enfold-options',
                    'enfold_extensions_developer_section'
                );
    
                $count = count($this->elements);
                for ($i = 0; $i < $count; $i++) {
                    register_setting(
                        'amg-enfold-options',
                        "amg_enfold_extensions_{$this->elements[$i]}_active",
                        array(
                            'type' => 'string',
                            'default' => ''
                        )
                    );
                    add_settings_field(
                        "amg_enfold_extensions_{$this->elements[$i]}_active",
                        ucfirst($this->elements[$i]),
                        array($this, 'amg_enfold_modules_callback'),
                        'amg-enfold-options',
                        'enfold_extensions_elements_section',
                        $this->elements[$i]
    
                    );
                }
    
                $count = count($this->deletes);
                for ($k = 0; $i < $count; $k++) {
                    $option = get_option("amg_enfold_extensions_{$this->deletes[$k]}_active");
                    if (!empty($option)) {
                        delete_option("amg_enfold_extensions_{$this->deletes[$k]}_active");
                    }
                }
            }
            function amg_enfold_admin_settings(): void
            {
                require_once plugin_dir_path(__FILE__) . 'templates/admin_settings.php';
            }
            public function amg_enfold_developer_mode_callback(): void
            {
                $checked = checked( 'yes', get_option( 'amg_enfold_developer_mode' ), false );
                ?>
                <input type="checkbox" name="amg_enfold_developer_mode" value="yes" <?php echo $checked ?>/>
                <?php
            }
            public function amg_enfold_modules_callback($name): void
            {
                $field = "amg_enfold_extensions_{$name}_active";
                $checked = checked( 'yes', get_option( $field ), false );
                ?>
                <input type="checkbox" name="<?php echo $field ?>" value="yes" <?php echo $checked ?>/> &nbsp;
                <a title="view demo" href="<?php echo 'https://natesstg.wpenginepowered.com/' . $name . '/' ?>" target="_blank"><i class="fa-solid fa-arrow-up-right-from-square"></i></a>
    
                <?php
            }
            public static function amg_enfold_popup() : void
            {
                $html = "<div id='amg-enfold-popup' class=''>";
                $html .= "<div id='amg-enfold-popup-bg'></div>";
                $html .= "<div id='amg-enfold-popup-box'>";
                $html .= "<div id='amg-enfold-popup-close'><i class='fi fi-br-circle-xmark'></i></div>";
                $html .= "<div id='content'></div>";
                $html .= "</div></div>";
                echo $html;
            }
    
            public static function prepare_navigation(array $atts): array
            {
                $prev_button = '';
                $next_button = '';
                if (isset($atts['navigation']) && $atts['navigation'] == 'yes') {
                    $prev_button = "<div class='swiper-button-prev'></div>";
                    $next_button = '<div class="swiper-button-next"></div>';
                }
                if (isset($atts['pagination']) && $atts['pagination'] == 'yes') {
                    $pagination = "<div class='swiper-pagination'></div>";
                }
    
                $above = '';
                $below = '';
                $side = '';
                if (isset($atts['navigation_position']) && $atts['navigation_position'] == 'above' && $atts['nav_layout'] == 'custom') {
                    $above = "<div class='swiper-nav-wrapper above'>";
                    $above .= $prev_button;
                    $above .= $pagination;
                    $above .= $next_button;
                    $above .= '</div>';
                } else if (isset($atts['navigation_position']) && $atts['navigation_position'] == 'below' && $atts['nav_layout'] == 'custom') {
                    $below = "<div class='swiper-nav-wrapper below'>";
                    $below .= $prev_button;
                    $below .= $pagination;
                    $below .= $next_button;
                    $below .= '</div>';
                } else {
                    $below = $pagination;
                    $side = $prev_button;
                    $side .= $next_button;
                }
                return array($atts, $above, $below, $side);
            }
    
            public static function amg_enfold_section($title) : array
            {
                $c = null;
                $template = null;
                switch ($title) {
                    case 'Button':
                        $c = array(
                            array(
                                'name' 	=> __( 'Enable?', 'avia_framework' ),
                                'desc' 	=> __( 'Choosing yes enables the button for this single element.', 'avia_framework' ),
                                'id' 	=> 'button',
                                'type' 	=> 'select',
                                'std' 	=> 'no',
                                'lockable'	=> true,
                                'subtype'	=> array(
                                    __( 'No', 'avia_framework' )	=> 'no',
                                    __( 'Yes', 'avia_framework' )	=> 'yes' ,
                                )
                            ),
                            array(
                                'name' 	=> __( 'Button Label', 'avia_framework' ),
                                'desc' 	=> __( 'This is the text that appears on your button.', 'avia_framework' ),
                                'id' 	=> 'label',
                                'type' 	=> 'input',
                                'std'	=> __( 'Contact Us', 'avia_framework' ),
                                'required'	=> array( 'button', 'equals', 'yes' ),
                                'lockable'	=> true
                            ),
                           /* array(
                                'name' 	=> __( 'Show Button Icon', 'avia_framework' ),
                                'desc' 	=> __( 'Should an icon be displayed at the left or right side of the button', 'avia_framework' ),
                                'id' 	=> 'button_icon_select',
                                'type' 	=> 'select',
                                'std' 	=> 'yes',
                                'lockable'	=> true,
                                'required'	=> array( 'button', 'equals', 'yes' ),
                                'subtype'	=> array(
                                    __( 'No Icon', 'avia_framework' )					=> 'no',
                                    __( 'Display icon to the left', 'avia_framework' )	=> 'yes' ,
                                    __( 'Display icon to the right', 'avia_framework' )	=> 'yes-right-icon',
                                )
                            ),
                            array(
                                'name' 	=> __( 'Button Icon', 'avia_framework' ),
                                'desc' 	=> __( 'Select an icon for your Button below', 'avia_framework' ),
                                'id' 	=> 'button_icon',
                                'type' 	=> 'iconfont',
                                'std' 	=> '',
                                'lockable'	=> true,
                                'locked'	=> array( 'button_icon', 'font' ),
                                'required'	=> array( 'button_icon_select', 'not_empty_and', 'no' )
                            ),
                            array(
                                'name' 	=> __( 'Icon Visibility', 'avia_framework' ),
                                'desc' 	=> __( 'Check to only display icon on hover', 'avia_framework' ),
                                'id' 	=> 'button_icon_hover',
                                'type' 	=> 'checkbox',
                                'std' 	=> '',
                                'lockable'	=> true,
                                'required'	=> array( 'button_icon_select', 'not_empty_and', 'no' )
                            )*/
    
                        );
                        break;
                    case 'Link Settings':
                        $template = array(
                            array(
                                'type'			=> 'template',
                                'template_id'	=> 'linkpicker_toggle',
                                'name'			=> __( 'Button Link', 'avia_framework' ),
                                'desc'			=> __( 'Where should your button link to?', 'avia_framework' ),
                                'subtypes'		=> array( 'manually', 'single', 'taxonomy' ),
                                'target_id'		=> 'link_target',
                                'lockable'		=> true
                            ),
                        );
                        break;
                    case 'Appearance':
                        $c = array(
                            array(
                                'name' 	=> __( 'Button Size', 'avia_framework' ),
                                'desc' 	=> __( 'Choose the size of your button here.', 'avia_framework' ),
                                'id' 	=> 'size',
                                'type' 	=> 'select',
                                'std' 	=> 'small',
                                'lockable'	=> true,
                                'subtype'	=> array(
                                    __( 'Small', 'avia_framework' )		=> 'small',
                                    __( 'Medium', 'avia_framework' )	=> 'medium',
                                    __( 'Large', 'avia_framework' )		=> 'large',
                                    __( 'X Large', 'avia_framework' )	=> 'x-large'
                                )
                            ),
    
                            array(
                                'name' 	=> __( 'Button Position', 'avia_framework' ),
                                'desc' 	=> __( 'Choose the alignment of your button here', 'avia_framework' ),
                                'id' 	=> 'position',
                                'type' 	=> 'select',
                                'std' 	=> 'center',
                                'lockable'	=> true,
                                'subtype'	=> array(
                                    __( 'Align Left', 'avia_framework' )	=> 'left',
                                    __( 'Align Center', 'avia_framework' )	=> 'center',
                                    __( 'Align Right', 'avia_framework' )	=> 'right',
                                ),
                                'required'	=> array( 'size', 'not', 'fullwidth' )
                            ),
    
                            array(
                                'name' 	=> __( 'Button Label Display', 'avia_framework' ),
                                'desc' 	=> __( 'Select how to display the label', 'avia_framework' ),
                                'id' 	=> 'label_display',
                                'type' 	=> 'select',
                                'std' 	=> '',
                                'lockable'	=> true,
                                'subtype'	=> array(
                                    __( 'Always display', 'avia_framework' )	=> '',
                                    __( 'Display on hover', 'avia_framework' )	=> 'av-button-label-on-hover',
                                )
                            ),
    
                            array(
                                'name'		=> __( 'Button Title Attribute', 'avia_framework' ),
                                'desc'		=> __( 'Add a title attribute for this button.', 'avia_framework' ),
                                'id'		=> 'title_attr',
                                'type'		=> 'input',
                                'std'		=> '',
                                'required'	=> array( 'label_display', 'equals', '' )
                            ),
    
                        );
                        break;
                    case 'Font Sizes':
                        $c = array(
                            array(
                                'name'			=> __( 'Button Text Font Sizes', 'avia_framework' ),
                                'desc'			=> __( 'Select a custom font size for the button text.', 'avia_framework' ),
                                'type'			=> 'template',
                                'template_id'	=> 'font_sizes_icon_switcher',
                                'textfield'		=> true,
                                'lockable'		=> true,
                                'subtype'		=> array(
                                    'default'	=> AviaHtmlHelper::number_array( 10, 90, 1, array( __( 'Use Default', 'avia_framework' ) => '' ), 'px' ),
                                    'desktop'	=> AviaHtmlHelper::number_array( 10, 90, 1, array( __( 'Use Default', 'avia_framework' ) => '' ), 'px' ),
                                    'medium'	=> AviaHtmlHelper::number_array( 10, 90, 1, array( __( 'Use Default', 'avia_framework' ) => '', __( 'Hidden', 'avia_framework' ) => 'hidden' ), 'px' ),
                                    'small'		=> AviaHtmlHelper::number_array( 10, 90, 1, array( __( 'Use Default', 'avia_framework' ) => '', __( 'Hidden', 'avia_framework' ) => 'hidden' ), 'px' ),
                                    'mini'		=> AviaHtmlHelper::number_array( 10, 90, 1, array( __( 'Use Default', 'avia_framework' ) => '', __( 'Hidden', 'avia_framework' ) => 'hidden' ), 'px' )
                                ),
                                'id_sizes'		=> array(
                                    'default'	=> 'size-text',
                                    'desktop'	=> 'av-desktop-font-size-text',
                                    'medium'	=> 'av-medium-font-size-text',
                                    'small'		=> 'av-small-font-size-text',
                                    'mini'		=> 'av-mini-font-size-text'
                                )
                            ),
                            array(
                                'name'			=> __( 'Button Icon Font Sizes', 'avia_framework' ),
                                'desc'			=> __( 'Select a custom font size for the button text.', 'avia_framework' ),
                                'type'			=> 'template',
                                'template_id'	=> 'font_sizes_icon_switcher',
                                'textfield'		=> true,
                                'lockable'		=> true,
                                'subtype'		=> array(
                                    'default'	=> AviaHtmlHelper::number_array( 10, 90, 1, array( __( 'Use Default', 'avia_framework' ) => '' ), 'px' ),
                                    'desktop'	=> AviaHtmlHelper::number_array( 10, 90, 1, array( __( 'Use Default', 'avia_framework' ) => '' ), 'px' ),
                                    'medium'	=> AviaHtmlHelper::number_array( 10, 90, 1, array( __( 'Use Default', 'avia_framework' ) => '', __( 'Hidden', 'avia_framework' ) => 'hidden' ), 'px' ),
                                    'small'		=> AviaHtmlHelper::number_array( 10, 90, 1, array( __( 'Use Default', 'avia_framework' ) => '', __( 'Hidden', 'avia_framework' ) => 'hidden' ), 'px' ),
                                    'mini'		=> AviaHtmlHelper::number_array( 10, 90, 1, array( __( 'Use Default', 'avia_framework' ) => '', __( 'Hidden', 'avia_framework' ) => 'hidden' ), 'px' )
                                ),
                                'id_sizes'		=> array(
                                    'default'	=> 'size-button-icon',
                                    'desktop'	=> 'av-desktop-font-size-button-icon',
                                    'medium'	=> 'av-medium-font-size-button-icon',
                                    'small'		=> 'av-small-font-size-button-icon',
                                    'mini'		=> 'av-mini-font-size-button-icon'
                                )
                            )
                        );
                        break;
                    case 'Button Margin And Padding':
                        $template = array(
                            array(
                                'type'			=> 'template',
                                'template_id'	=> 'margin_padding',
                                'toggle'		=> true,
                                'name'			=> __( 'Margin And Padding', 'avia_framework' ),
                                'desc'			=> __( 'Set a responsive margin and a padding to text for the button.', 'avia_framework' ),
                                'lockable'		=> true,
                            )
                        );
                        break;
                    case 'Colors':
                        $c = array(
                            array(
                                'name' 	=> __( 'Button Colors Selection', 'avia_framework' ),
                                'desc' 	=> __( "Choose the available options for button colors. Switching to advanced options for already existing buttons you need to set all options (color settings from basic options are ignored)", 'avia_framework' ),
                                'id' 	=> 'color_options',
                                'type' 	=> 'select',
                                'std' 	=> '',
                                'lockable'	=> true,
                                'subtype'	=> array(
                                    __( 'Basic options only', 'avia_framework' )	=> '',
                                    __( 'Advanced options', 'avia_framework' )		=> 'color_options_advanced',
                                )
                            ),
                            array(
                                'type'			=> 'template',
                                'template_id'	=> 'named_colors',
                                'custom'		=> true,
                                'lockable'		=> true,
                                'required'		=> array( 'color_options', 'equals', '' )
                            ),
                            array(
                                'name' 	=> __( 'Custom Background Color', 'avia_framework' ),
                                'desc' 	=> __( 'Select a custom background color for your button here', 'avia_framework' ),
                                'id' 	=> 'custom_bg',
                                'type' 	=> 'colorpicker',
                                'std' 	=> '#444444',
                                'lockable'	=> true,
                                'required'	=> array( 'color', 'equals', 'custom' )
                            ),
                            array(
                                'name' 	=> __( 'Custom Font Color', 'avia_framework' ),
                                'desc' 	=> __( 'Select a custom font color for your button here', 'avia_framework' ),
                                'id' 	=> 'custom_font',
                                'type' 	=> 'colorpicker',
                                'std' 	=> '#ffffff',
                                'lockable'	=> true,
                                'required'	=> array( 'color', 'equals', 'custom')
                            ),
                            array(
                                'type'			=> 'template',
                                'template_id'	=> 'button_colors',
                                'color_id'		=> 'btn_color',
                                'custom_id'		=> 'btn_custom',
                                'lockable'		=> true,
                                'required'		=> array( 'color_options', 'not', '' )
                            )
                        );
                        break;
                    case 'Animation':
                        $c = array(
                            array(
                                'type'			=> 'template',
                                'template_id'	=> 'animation',
                                'lockable'		=> true,
                                'std_none'		=> '',
                                'name'			=> __( 'Button Animation', 'avia_framework' ),
                                'desc'			=> __( 'Add a small animation to the button when the user first scrolls to the button position. This is only to add some &quot;spice&quot; to the site and only works in modern browsers and only on desktop computers to keep page rendering as fast as possible.', 'avia_framework' ),
                                'groups'		=> array( 'fade', 'slide', 'rotate', 'fade-adv', 'special' )
                            )
                        );
                        break;
                    case 'Content':
                        $c = array(
                            array(
                                'name' 	=> __( 'Content Display', 'avia_framework' ),
                                'desc' 	=> __( 'Choose to display the content in a popup or below the slides.', 'avia_framework' ),
                                'id' 	=> 'content_layout',
                                'type' 	=> 'select',
                                'std' 	=> '',
                                'lockable'	=> true,
                                'subtype'	=> array(
                                    __( 'No Display', 'avia_framework' )				        => '',
                                    __( 'Display content in popup', 'avia_framework' )	        => 'popup',
                                    __( 'Display content below slides', 'avia_framework' )	    => 'inline'
                                ),
                            ),
                            array(
                                'name' 	=> __( 'Max Width', 'avia_framework' ),
                                'desc' 	=> __( 'This is the width of your content box.', 'avia_framework' ),
                                'id' 	=> 'popup_max_width',
                                'type' 	=> 'input',
                                'std' 	=> '750px',
                                'lockable'	=> true,
                                'required'		=> array( 'content_layout', 'not', '' ),
                                'container_class'	=> 'av_third av_third_first'
                            ),
                            array(
                                'name' 	=> __( 'Min Height', 'avia_framework' ),
                                'desc' 	=> __( 'This is the min-height of your content box.', 'avia_framework' ),
                                'id' 	=> 'popup_min_height',
                                'type' 	=> 'input',
                                'std' 	=> '320px',
                                'lockable'	=> true,
                                'required'		=> array( 'content_layout', 'not', '' ),
                                'container_class'	=> 'av_third'
                            ),
                            array(
                                'name' 	=> __( 'Text Align', 'avia_framework' ),
                                'desc' 	=> __( 'Figure it out.', 'avia_framework' ),
                                'id' 	=> 'popup_text_align',
                                'type' 	=> 'select',
                                'std' 	=> 'center',
                                'lockable'	=> true,
                                'required'		=> array( 'content_layout', 'not', '' ),
                                'container_class'	=> 'av_third',
                                'subtype'	=> array(
                                    __( 'Left', 'avia_framework' )		=> 'left',
                                    __( 'Center', 'avia_framework' )	=> 'center',
                                    __( 'Right', 'avia_framework' )	    => 'right'
                                ),
                            ),
                            array(
                                'name' 	=> __( 'Container BG Color', 'avia_framework' ),
                                'desc' 	=> __( 'This is the background of the content box', 'avia_framework' ),
                                'id' 	=> 'popup_background_color',
                                'type' 	=> 'colorpicker',
                                'std' 	=> '',
                                'rgba' 	=> true,
                                'lockable'	=> true,
                                'required'		=> array( 'content_layout', 'equals', 'popup' ),
                                'container_class'	=> 'av_half av_half_first'
                            ),
                            array(
                                'name' 	=> __( 'Background BG Color', 'avia_framework' ),
                                'desc' 	=> __( 'This is the full page background when the popup is visible.', 'avia_framework' ),
                                'id' 	=> 'popup_bg_color',
                                'type' 	=> 'colorpicker',
                                'std' 	=> '',
                                'rgba' 	=> true,
                                'lockable'	=> true,
                                'required'		=> array( 'content_layout', 'equals', 'popup' ),
                                'container_class'	=> 'av_half'
                            ),
                            array(
                                'name'		=> __( 'Border Radius', 'avia_framework' ),
                                'desc'		=> __( 'Set the border radius of the content box.', 'avia_framework' ),
                                'id'		=> 'popup_border_radius',
                                'type'		=> 'multi_input',
                                'sync'		=> true,
                                'std'		=> '24px',
                                'lockable'	=> true,
                                'required'		=> array( 'content_layout', 'not', '' ),
                                'multi'		=> array(
                                    'top'		=> __( 'Top-Left-Radius', 'avia_framework' ),
                                    'right'		=> __( 'Top-Right-Radius', 'avia_framework' ),
                                    'bottom'	=> __( 'Bottom-Right-Radius', 'avia_framework' ),
                                    'left'		=> __( 'Bottom-Left-Radius', 'avia_framework' )
                                ),
                            ),
                            array(
                                'type'			=> 'template',
                                'template_id'	=> 'box_shadow',
                                'id'			=> 'popup_box_shadow',
                                'names'			=> array(
                                    __( 'Box Shadow', 'avia_framework' ),
                                    __( 'Box Shadow Styling ', 'avia_framework' ),
                                    __( 'Box Shadow Color', 'avia_framework' )
                                ),
                                'default_check'	=> true,
                                'lockable'		=> true,
                                'required'		=> array( 'content_layout', 'not', '' )
                            )
                        );
                        break;
                    case 'Navigation':
                        $c = array(
                            array(
                                'name' 	=> __( 'Navigation Layout', 'avia_framework' ),
                                'desc' 	=> __( 'Either use the widget default colors or apply some custom ones', 'avia_framework' ),
                                'id' 	=> 'nav_layout',
                                'type' 	=> 'select',
                                'std' 	=> '',
                                'lockable'	=> true,
                                'subtype'	=> array(
                                    __( 'Default', 'avia_framework' )				=> '',
                                    __( 'Define Custom layout', 'avia_framework' )	=> 'custom'
                                ),
    
                            ),
                            array(
                                'name' 	=> __( 'Vertical Position', 'avia_framework' ),
                                'desc' 	=> __( 'Define the vertical position of the navigation controls', 'avia_framework' ),
                                'id' 	=> 'navigation_position',
                                'type' 	=> 'select',
                                'std' 	=> '',
                                'lockable'	=> true,
                                'required'	=> array( 'nav_layout', 'equals', 'custom' ),
                                'subtype'	=> array(
                                    __( 'Default', 'avia_framework' )	=> '',
                                    __( 'Above', 'avia_framework' )	=> 'above',
                                    __( 'Below', 'avia_framework' )	=> 'below',
                                )
                            ),
                            array(
                                'name' 	=> __( 'Controls Max Width', 'avia_framework' ),
                                'desc' 	=> __( 'Enter the max width of the navigation controls', 'avia_framework' ),
                                'id' 	=> 'nav_max_width',
                                'type' 	=> 'input',
                                'std' 	=> '100%',
                                'lockable'	=> true,
                                'required'	=> array( 'navigation_position', 'not', ''),
    
                            ),
                            array(
                                'name' 	=> __( 'Horizontal Alignment', 'avia_framework' ),
                                'desc' 	=> __( 'This only works if navigation controls are not 100% max width', 'avia_framework' ),
                                'id' 	=> 'navigation_alignment',
                                'type' 	=> 'select',
                                'std' 	=> 'center',
                                'lockable'	=> true,
                                'required'	=> array( 'navigation_position', 'not', ''),
                                'subtype'	=> array(
                                    __( 'Left', 'avia_framework' )	    => 'left',
                                    __( 'Center', 'avia_framework' )	=> 'center',
                                    __( 'Right', 'avia_framework' )	    => 'right',
                                )
                            ),
                            array(
                                'name' 	=> __( 'Horizontal Offset', 'avia_framework' ),
                                'desc' 	=> __( 'Enter a CSS value (50px) to push the controls towards center', 'avia_framework' ),
                                'id' 	=> 'nav_offset',
                                'type' 	=> 'input',
                                'std' 	=> '0',
                                'lockable'	=> true,
                                'required'	=> array( 'navigation_alignment', 'not', 'center'),
                            ),
                            array(
                                'name' 	=> __( 'Button Width', 'avia_framework' ),
                                'desc' 	=> __( 'Button width in a CSS value', 'avia_framework' ),
                                'id' 	=> 'nav_width',
                                'type' 	=> 'input',
                                'std' 	=> '50px',
                                'lockable'	=> true,
                                'required'		=> array( 'nav_layout', 'equals', 'custom' ),
                                'container_class'	=> 'av_half av_half_first'
                            ),
                            array(
                                'name' 	=> __( 'Button Height', 'avia_framework' ),
                                'desc' 	=> __( 'Button height in a CSS value', 'avia_framework' ),
                                'id' 	=> 'nav_height',
                                'type' 	=> 'input',
                                'std' 	=> '50px',
                                'lockable'	=> true,
                                'required'		=> array( 'nav_layout', 'equals', 'custom' ),
                                'container_class'	=> 'av_half'
                            ),
                            array(
                                'name'		=> __( 'Button Border Radius', 'avia_framework' ),
                                'desc'		=> __( 'Set the border radius of the button', 'avia_framework' ),
                                'id'		=> 'nav_radius',
                                'type'		=> 'multi_input',
                                'sync'		=> true,
                                'std'		=> '50%',
                                'lockable'	=> true,
                                'required'		=> array( 'nav_layout', 'equals', 'custom' ),
                                'multi'		=> array(
                                    'top'		=> __( 'Top-Left-Radius', 'avia_framework' ),
                                    'right'		=> __( 'Top-Right-Radius', 'avia_framework' ),
                                    'bottom'	=> __( 'Bottom-Right-Radius', 'avia_framework' ),
                                    'left'		=> __( 'Bottom-Left-Radius', 'avia_framework' )
                                ),
                            ),
                        );
                        break;
                    case 'Image':
                        $c =  array(
                            array(
                                'name' 	            => __( 'Image Size and Orientation', 'avia_framework' ),
                                'desc' 	            => __( 'Either use the widget default colors or apply some custom ones', 'avia_framework' ),
                                'id' 	            => 'orientation_and_size',
                                'type' 	            => 'select',
                                'std' 	            => '',
                                'lockable'	        => true,
                                'subtype'	        => AbstraktEnfoldExtensions::get_image_sizes(),
                            ),
                            array(
                                'name' 	            => __( 'Image Aspect Ratio', 'avia_framework' ),
                                'desc' 	            => __( 'Enter the CSS value as a fraction, ie 16/9', 'avia_framework' ),
                                'id' 	            => 'aspect_ratio',
                                'type' 	            => 'input',
                                'std' 	            => '',
                                'lockable'	        => true,
                                'required'		    => array( 'orientation_and_size', 'not', '' ),
                                'container_class'	=> 'av_third av_third_first'
                            ),
                            array(
                                'name' 	            => __( 'Image Object Fit', 'avia_framework' ),
                                'desc' 	            => __( 'Select one of the CSS values or choose none.', 'avia_framework' ),
                                'id' 	            => 'object_fit',
                                'type' 	            => 'select',
                                'std' 	            => 'cover',
                                'lockable'	        => true,
                                'required'		    => array( 'orientation_and_size', 'not', '' ),
                                'container_class'	=> 'av_third',
                                'subtype'	=> array(
                                    __( 'None', 'avia_framework' )          => 'none',
                                    __( 'Fill', 'avia_framework' )          => 'fill',
                                    __( 'Contain', 'avia_framework' )	    => 'contain',
                                    __( 'Cover', 'avia_framework' )	        => 'cover',
                                    __( 'Scale Down', 'avia_framework' )    => 'scale-down'
                                ),
                            ),
                            array(
                                'name' 	            => __( 'Image Object Position', 'avia_framework' ),
                                'desc' 	            => __( 'Enter a css value ie 50% 50% or left top', 'avia_framework' ),
                                'id' 	            => 'object_position',
                                'type' 	            => 'input',
                                'std' 	            => 'center center',
                                'lockable'	        => true,
                                'required'		    => array( 'orientation_and_size', 'not', '' ),
                                'container_class'	=> 'av_third',
                            ),
                        );
                        break;
                    case 'Container':
                        $c = array(
                            array(
                                'name' 	=> __( 'Slides Layout', 'avia_framework' ),
                                'desc' 	=> __( 'Either use the widget default colors or apply some custom ones', 'avia_framework' ),
                                'id' 	=> 'slides_layout',
                                'type' 	=> 'select',
                                'std' 	=> '',
                                'lockable'	=> true,
                                'subtype'	=> array(
                                    __( 'Default', 'avia_framework' )				=> '',
                                    __( 'Define Custom layout', 'avia_framework' )	=> 'custom'
                                ),
    
                            ),
                            array(
                                'name' 	=> __( 'Badge Max Width', 'avia_framework' ),
                                'desc' 	=> __( 'Enter the badges title here (Better keep it short)', 'avia_framework' ),
                                'id' 	=> 'max_width',
                                'type' 	=> 'input',
                                'std' 	=> '250px',
                                'lockable'	=> true,
                                'required'		=> array( 'slides_layout', 'equals', 'custom' ),
                                'container_class'	=> 'av_half av_half_first'
                            ),
                            array(
                                'name' 	=> __( 'Badge Min Height', 'avia_framework' ),
                                'desc' 	=> __( 'Enter the badges title here (Better keep it short)', 'avia_framework' ),
                                'id' 	=> 'min_height',
                                'type' 	=> 'input',
                                'std' 	=> '400px',
                                'lockable'	=> true,
                                'required'		=> array( 'slides_layout', 'equals', 'custom' ),
                                'container_class'	=> 'av_half'
                            ),
                            array(
                                'name'		=> __( 'Badge Border Radius', 'avia_framework' ),
                                'desc'		=> __( 'Set the border radius of the column', 'avia_framework' ),
                                'id'		=> 'border_radius',
                                'type'		=> 'multi_input',
                                'sync'		=> true,
                                'std'		=> '',
                                'lockable'	=> true,
                                'required'		=> array( 'slides_layout', 'equals', 'custom' ),
                                'multi'		=> array(
                                    'top'		=> __( 'Top-Left-Radius', 'avia_framework' ),
                                    'right'		=> __( 'Top-Right-Radius', 'avia_framework' ),
                                    'bottom'	=> __( 'Bottom-Right-Radius', 'avia_framework' ),
                                    'left'		=> __( 'Bottom-Left-Radius', 'avia_framework' )
                                ),
                            ),
                        );
                        break;
                }
                if (!is_array($template)) {
                    $template = array(
                        array(
                            'type'			=> 'template',
                            'template_id'	=> 'toggle',
                            'title'			=> __( $title, 'avia_framework' ),
                            'content'		=> $c
                        ),
                    );
                }
    
                return $template;
            }
            public static function amg_enfold_inline($atts) : string
            {
                $output = '';
                if ($atts['content_layout'] == 'inline') {
                    $output .= "<div id='amg-enfold-inline'>";
                    $output .= "<div id='amg-enfold-inline-box'>";
                    $output .= "<div id='content'></div>";
                    $output .= "</div>";
                    $output .= "</div>";
                }
                return $output;
            }
    
            public static function amg_button_append_selectors($selectors, $element_id) : array
            {
                $selectors['wrap']                      = "#top #wrap_all .accordionContainer.{$element_id} .c-accordion .c-accordion__item .avia-button-wrap.button-wrap";
                $selectors['wrap-animation']            = "#top #wrap_all .accordionContainer.{$element_id} .c-accordion .c-accordion__item .avia_transform  .avia-button-wrap.button-wrap";
                $selectors['button_container']          = "#top #wrap_all .accordionContainer.{$element_id} .c-accordion .c-accordion__item .avia-button";
                $selectors['container-hover']           = "#top #wrap_all .accordionContainer.{$element_id} .c-accordion .c-accordion__item .avia-button:hover";
                $selectors['container-hover-overlay']   = "#top #wrap_all .accordionContainer.{$element_id} .c-accordion .c-accordion__item .avia-button:hover .avia_button_background";
                $selectors['container-after']           = "#top #wrap_all .accordionContainer.{$element_id} .c-accordion .c-accordion__item .avia-button.avia-sonar-shadow:after";
                $selectors['container-after-hover']     = "#top #wrap_all .accordionContainer.{$element_id} .c-accordion .c-accordion__item .avia-button.avia-sonar-shadow:hover:after";
                $selectors['curtain']                   = "#top #wrap_all .accordionContainer.{$element_id} .c-accordion .c-accordion__item .avia-button-wrap.button-wrap .avia-curtain-reveal-overlay";
                $selectors['button_icon']               = "#top #wrap_all .accordionContainer.{$element_id} .c-accordion .c-accordion__item .amg-button-wrap .amg-tab-icon";
    
                return $selectors;
            }
    
            public static function amg_create_button(array $atts, array $meta, $container_class, $style_tag, $wrap_class, $background_hover ):string {
                $data = '';
    
               /* if( $atts['button_icon_select'] == 'yes' )
                {
                    $atts['button_icon_select'] = 'yes-left-icon';
                }
    
                $fonts = explode(',', $atts['font']);
                $font = $fonts[1] ?? $fonts[0];
                $display_char = av_icon( $atts['button_icon'], $font );*/
    
                if( ! empty( $atts['label_display'] ) && $atts['label_display'] == 'av-button-label-on-hover' )
                {
                    $data .= 'data-avia-tooltip="' . htmlspecialchars( $atts['label'] ) . '"';
                    $atts['label'] = '';
                }
    
                $blank = AviaHelper::get_link_target( $atts['link_target'] );
                $link = AviaHelper::get_url( $atts['link'] );
                $link = ( ( $link == 'http://' ) || ( $link == 'manually' ) ) ? '' : $link;
    
                $title_attr = ! empty( $atts['title_attr'] ) && empty( $atts['label_display'] ) ? 'title="' . esc_attr( $atts['title_attr'] ) . '"' : '';
    
                $content_html = '';
    
                /*if( 'yes-left-icon' == $atts['button_icon_select'] )
                {
                    $content_html .= "<span class='avia_button_icon avia_button_icon_left'></span>";
                }*/
    
                $content_html .= "<span class='avia_iconbox_title' >{$atts['label']}</span>";
    
                /*if( 'yes-right-icon' == $atts['button_icon_select'] )
                {
                    $content_html .= "<span class='avia_button_icon avia_button_icon_right' {$display_char}></span>";
                }*/
    
                $curtain_reveal_overlay = '';
    
                $html  = '';
                $html .= $style_tag;
    
                $html .=	"<a href='{$link}' {$data} class='{$container_class}' {$blank} {$title_attr}>";
                $html .=		$curtain_reveal_overlay;
                $html .=		$content_html;
                $html .=		$background_hover;
                $html .=	'</a>';
    
                $output  = "<div {$meta['custom_el_id']} class='avia-button-wrap {$wrap_class} avia-button-{$atts['position']} {$meta['el_class']}'>";
                //$output .=		$curtain_reveal_overlay;
                $output .=		$html;
                $output .= '</div>';
    
                return $output;
            }
        }
    }
    
    new AbstraktEnfoldExtensions();
    
    require 'plugin-update-checker-master/plugin-update-checker.php';
    use YahnisElsts\PluginUpdateChecker\v5\PucFactory;
    $myUpdateChecker = PucFactory::buildUpdateChecker(
        'https://nates1dev.wpengine.com/wp-content/uploads/enfold-extensions/info.json',
        __FILE__, //Full path to the main plugin file or functions.php.
        'abstrakt-enfold-extensions'
    );
    #1478688

    In reply to: Enfold 7.0

    Here is the main file. the structure is included int the image. You might need to look at the include classes function and limit it to just cards.php for demo also you won’t have any of the CSS but we don’t need that to work for testing.

    (hosted on WPengine) alt="Screenshot" />

    functions.php of the plugin

    <?php

    /*..
    Plugin Name: Abstrakt Enfold Extensions
    Plugin URI: https://abstraktmg.com
    Description: Plugin for Abstrakt Marketing Group Designers Only
    Author: Nathaniel Riggins
    Author URI: https://abstraktmg.com
    Version: 2.0.5
    License: Private
    */

    if ( !defined(‘ABSPATH’) ) { die(‘-1’); }

    if (!class_exists(‘AbstraktEnfoldExtensions’)) {
    class AbstraktEnfoldExtensions {

    public string $plugin;
    private array $elements = array(
    ‘accordion’,
    ‘aces’,
    ‘badges’,
    ‘billboard’,
    ‘bulletin’,
    ‘button’,
    ‘cards’,
    ‘carousel’,
    ‘crawl’,
    ‘cube’,
    ‘deck’,
    ‘fashion’,
    ‘glow’,
    ‘hero’,
    ‘marquee’,
    ‘material’,
    ‘panorama’,
    ‘paper’,
    ‘pricing’,
    ‘rotators’,
    ‘tabs’,
    ‘testimonials’,
    ‘triple’,
    ‘versa’,
    ‘wall’,
    ‘waves’,
    );
    private array $deletes = array(
    ‘animate’,
    ‘blocks’,
    ‘intros’,
    ‘navi’,
    ‘neon’,
    ‘podcasts’,
    ‘posters’,
    ‘sticky’,
    ‘text’,
    ‘traveler’,
    );
    // Class construct
    function __construct() {
    $this->plugin = plugin_basename(__FILE__);
    add_action(‘wp_enqueue_scripts’, array($this, ‘load_scripts’));
    add_action(‘admin_enqueue_scripts’, array($this, ‘load_admin_scripts’));
    add_action(‘init’, array($this, ‘includeClasses’));
    add_action(‘avia_builder_mode’, array($this, ‘builder_set_debug’));
    add_action(‘admin_menu’, array($this, ‘amg_enfold_admin_menu’));
    add_action(‘admin_init’, array($this, ‘amg_enfold_admin_settings_init’));
    add_action(‘wp_footer’, array($this, ‘amg_enfold_popup’));
    add_action( ‘init’, array($this, ‘add_all_image_sizes’));
    }
    function add_all_image_sizes() :void
    {
    ///// AUTO SIZES ///
    add_image_size( ‘amg-auto-300’, 300);
    add_image_size( ‘amg-auto-500’, 500);
    add_image_size( ‘amg-auto-750’, 750);
    add_image_size( ‘amg-auto-1000’, 1000);
    add_image_size( ‘amg-auto-1250’, 1250);
    add_image_size( ‘amg-auto-1500’, 1500);
    add_image_size( ‘amg-auto-2000’, 2000);
    add_image_size( ‘amg-portrait-300’, 300, 400, true );
    add_image_size( ‘amg-portrait-450’, 450, 600, true );
    add_image_size( ‘amg-portrait-600’, 600, 800, true );
    add_image_size( ‘amg-portrait-750’, 750, 1000, true );
    add_image_size( ‘amg-landscape-320’, 320, 180, true );
    add_image_size( ‘amg-landscape-480’, 480, 270, true );
    add_image_size( ‘amg-landscape-720’, 720, 405, true );
    add_image_size( ‘amg-landscape-960’, 960, 540, true );
    add_image_size( ‘amg-landscape-1440’, 1440, 810, true );
    add_image_size( ‘amg-landscape-1920’, 1920, 1080, true );
    }
    function builder_set_debug()
    {
    return “debug”;
    }
    public static function get_image_sizes() : array
    {
    return array(
    __( ‘None’, ‘avia_framework’ ) => ”,
    __( ‘Auto 300w’, ‘avia_framework’ ) => ‘amg-auto-300’,
    __( ‘Auto 500w’, ‘avia_framework’ ) => ‘amg-auto-500’,
    __( ‘Auto 750w’, ‘avia_framework’ ) => ‘amg-auto-750’,
    __( ‘Auto 1000w’, ‘avia_framework’ ) => ‘amg-auto-1000’,
    __( ‘Auto 1250w’, ‘avia_framework’ ) => ‘amg-auto-1250’,
    __( ‘Auto 1500w’, ‘avia_framework’ ) => ‘amg-auto-1500’,
    __( ‘Auto 2000w’, ‘avia_framework’ ) => ‘amg-auto-2000’,

    __( ‘Portrait 300w’, ‘avia_framework’ ) => ‘amg-portrait-300’,
    __( ‘Portrait 450w’, ‘avia_framework’ ) => ‘amg-portrait-450’,
    __( ‘Portrait 600w’, ‘avia_framework’ ) => ‘amg-portrait-600’,
    __( ‘Portrait 750w’, ‘avia_framework’ ) => ‘amg-portrait-750’,

    __( ‘Landscape 320w’, ‘avia_framework’ ) => ‘amg-landscape-320’,
    __( ‘Landscape 480w’, ‘avia_framework’ ) => ‘amg-landscape-480’,
    __( ‘Landscape 720w’, ‘avia_framework’ ) => ‘amg-landscape-720’,
    __( ‘Landscape 960w’, ‘avia_framework’ ) => ‘amg-landscape-960’,
    __( ‘Landscape 1440w’, ‘avia_framework’ ) => ‘amg-landscape-1440’,
    __( ‘Landscape 1920w’, ‘avia_framework’ ) => ‘amg-landscape-1920’,
    );
    }

    public static function get_plugin_version():string
    {
    $data = get_plugin_data(__FILE__);
    return $data[‘Version’];
    }

    public static function developMode():bool {

    return get_option(‘amg_enfold_developer_mode’) == ‘yes’;
    }
    public function includeClasses():void {

    $count = count($this->elements);
    for ($i = 0; $i < $count; $i++) {
    if (get_option(“amg_enfold_extensions_{$this->elements[$i]}_active”) == ‘yes’) {
    include plugin_dir_path( __FILE__ ) . “/enfold/{$this->elements[$i]}/{$this->elements[$i]}.php”;
    }
    }
    }
    public function load_admin_scripts():void
    {
    $ver = AbstraktEnfoldExtensions::get_plugin_version();
    $developMode = AbstraktEnfoldExtensions::developMode();
    $lastmodtime = $developMode ? rand(1, 999999999) : $ver;
    wp_enqueue_style(‘amg-admin-enfold’, plugin_dir_url(__FILE__) . ‘css/style.min.css’, false, $lastmodtime);
    wp_enqueue_script(‘amg-admin-enfold-fontawesome’, ‘https://kit.fontawesome.com/ececabbde4.js&#8217;, false, $lastmodtime);
    }

    public function load_scripts():void {
    $ver = AbstraktEnfoldExtensions::get_plugin_version();
    $developMode = AbstraktEnfoldExtensions::developMode();
    $lastmodtime = $developMode ? rand(1, 999999999) : $ver;
    wp_enqueue_style(‘amg-enfold-icons’, plugin_dir_url(__FILE__) . ‘css/uicons.min.css’, array(‘avia-layout’), $lastmodtime);
    wp_enqueue_style( ‘amg-css-animate’, plugin_dir_url(__FILE__) . “css/animateCSS.min.css”, array( ‘avia-layout’ ) );
    wp_enqueue_style(‘amg-enfold’, plugin_dir_url(__FILE__) . ‘css/style.min.css’, array(‘avia-layout’), $lastmodtime);
    wp_enqueue_style(‘amg-swiper’, plugin_dir_url(__FILE__) . ‘css/swiper.css’, array(‘avia-layout’), $lastmodtime);
    wp_enqueue_script( ‘amg-gsap’, plugin_dir_url(__FILE__) . “js/gsap.min.js”, array( ‘amg-swiper’ ), $lastmodtime, true );
    wp_enqueue_script( ‘amg-enfold’, plugin_dir_url(__FILE__) . “js/script.min.js”, array(), $lastmodtime );
    wp_enqueue_script( ‘amg-swiper’, plugin_dir_url(__FILE__) . “js/swiper.js”, array(), $lastmodtime );
    }
    public static function get_duration_times():array {
    return array(
    __( ‘None’, ‘avia_framework’ ) => ”,
    __( ‘0.1s’, ‘avia_framework’ ) => ‘s100’,
    __( ‘0.2s’, ‘avia_framework’ ) => ‘s200’,
    __( ‘0.3s’, ‘avia_framework’ ) => ‘s300’,
    __( ‘0.4s’, ‘avia_framework’ ) => ‘s400’,
    __( ‘0.5s’, ‘avia_framework’ ) => ‘s500’,
    __( ‘0.6s’, ‘avia_framework’ ) => ‘s600’,
    __( ‘0.7s’, ‘avia_framework’ ) => ‘s700’,
    __( ‘0.8s’, ‘avia_framework’ ) => ‘s800’,
    __( ‘0.9s’, ‘avia_framework’ ) => ‘s900’,
    __( ‘1s’, ‘avia_framework’ ) => ‘s1000’,
    __( ‘1.1s’, ‘avia_framework’ ) => ‘s1100’,
    __( ‘1.2s’, ‘avia_framework’ ) => ‘s1200’,
    __( ‘1.3s’, ‘avia_framework’ ) => ‘s1300’,
    __( ‘1.4s’, ‘avia_framework’ ) => ‘s1400’,
    __( ‘1.5s’, ‘avia_framework’ ) => ‘s1500’,
    __( ‘1.6s’, ‘avia_framework’ ) => ‘s1600’,
    __( ‘1.7s’, ‘avia_framework’ ) => ‘s1700’,
    __( ‘1.8s’, ‘avia_framework’ ) => ‘s1800’,
    __( ‘1.9s’, ‘avia_framework’ ) => ‘s1900’,
    __( ‘2s’, ‘avia_framework’ ) => ‘s2000’,
    __( ‘2.1s’, ‘avia_framework’ ) => ‘s2100’,
    __( ‘2.2s’, ‘avia_framework’ ) => ‘s2200’,
    __( ‘2.3s’, ‘avia_framework’ ) => ‘s2300’,
    __( ‘2.4s’, ‘avia_framework’ ) => ‘s2400’,
    __( ‘2.5s’, ‘avia_framework’ ) => ‘s2500’,
    __( ‘2.6s’, ‘avia_framework’ ) => ‘s2600’,
    __( ‘2.7s’, ‘avia_framework’ ) => ‘s2700’,
    __( ‘2.8s’, ‘avia_framework’ ) => ‘s2800’,
    __( ‘2.9s’, ‘avia_framework’ ) => ‘s2900’,
    __( ‘3s’, ‘avia_framework’ ) => ‘s3000’,
    );
    }
    public static function get_delay_times():array {
    return array(
    __( ‘None’, ‘avia_framework’ ) => ”,
    __( ‘0.1s’, ‘avia_framework’ ) => ‘d100’,
    __( ‘0.2s’, ‘avia_framework’ ) => ‘d200’,
    __( ‘0.3s’, ‘avia_framework’ ) => ‘d300’,
    __( ‘0.4s’, ‘avia_framework’ ) => ‘d400’,
    __( ‘0.5s’, ‘avia_framework’ ) => ‘d500’,
    __( ‘0.6s’, ‘avia_framework’ ) => ‘d600’,
    __( ‘0.7s’, ‘avia_framework’ ) => ‘d700’,
    __( ‘0.8s’, ‘avia_framework’ ) => ‘d800’,
    __( ‘0.9s’, ‘avia_framework’ ) => ‘d900’,
    __( ‘1s’, ‘avia_framework’ ) => ‘d1000’,
    __( ‘1.1s’, ‘avia_framework’ ) => ‘d1100’,
    __( ‘1.2s’, ‘avia_framework’ ) => ‘d1200’,
    __( ‘1.3s’, ‘avia_framework’ ) => ‘d1300’,
    __( ‘1.4s’, ‘avia_framework’ ) => ‘d1400’,
    __( ‘1.5s’, ‘avia_framework’ ) => ‘d1500’,
    __( ‘1.6s’, ‘avia_framework’ ) => ‘d1600’,
    __( ‘1.7s’, ‘avia_framework’ ) => ‘d1700’,
    __( ‘1.8s’, ‘avia_framework’ ) => ‘d1800’,
    __( ‘1.9s’, ‘avia_framework’ ) => ‘d1900’,
    __( ‘2s’, ‘avia_framework’ ) => ‘d2000’,
    __( ‘2.1s’, ‘avia_framework’ ) => ‘d2100’,
    __( ‘2.2s’, ‘avia_framework’ ) => ‘d2200’,
    __( ‘2.3s’, ‘avia_framework’ ) => ‘d2300’,
    __( ‘2.4s’, ‘avia_framework’ ) => ‘d2400’,
    __( ‘2.5s’, ‘avia_framework’ ) => ‘d2500’,
    __( ‘2.6s’, ‘avia_framework’ ) => ‘d2600’,
    __( ‘2.7s’, ‘avia_framework’ ) => ‘d2700’,
    __( ‘2.8s’, ‘avia_framework’ ) => ‘d2800’,
    __( ‘2.9s’, ‘avia_framework’ ) => ‘d2900’,
    __( ‘3s’, ‘avia_framework’ ) => ‘d3000’,
    );
    }

    public static function get_slider_speeds():array {
    return array(
    __( ‘3s’, ‘avia_framework’ ) => ‘3000’,
    __( ‘4s’, ‘avia_framework’ ) => ‘4000’,
    __( ‘5s’, ‘avia_framework’ ) => ‘5000’,
    __( ‘6s’, ‘avia_framework’ ) => ‘6000’,
    __( ‘7s’, ‘avia_framework’ ) => ‘7000’,
    __( ‘8s’, ‘avia_framework’ ) => ‘8000’,
    __( ‘9s’, ‘avia_framework’ ) => ‘9000’,
    __( ’10s’, ‘avia_framework’ ) => ‘10000’,
    __( ’11s’, ‘avia_framework’ ) => ‘11000’,
    __( ’12s’, ‘avia_framework’ ) => ‘12000’,
    __( ’13s’, ‘avia_framework’ ) => ‘13000’,
    __( ’14s’, ‘avia_framework’ ) => ‘14000’,
    __( ’15s’, ‘avia_framework’ ) => ‘15000’,
    );
    }
    public static function get_intro_animations():array {
    return array(
    array(
    __( ‘None’, ‘avia_framework’ ) => ”,
    __( ‘animate__bounce’, ‘avia_framework’ ) => ‘animate__animated animate__bounce’,
    __( ‘animate__flash’, ‘avia_framework’ ) => ‘animate__animated animate__flash’,
    __( ‘Back in down’, ‘avia_framework’ ) => ‘animate__animated animate__backInDown’,
    __( ‘Back in left’, ‘avia_framework’ ) => ‘animate__animated animate__backInLeft’,
    __( ‘Back in right’, ‘avia_framework’ ) => ‘animate__animated animate__backInRight’,
    __( ‘Back in up’, ‘avia_framework’ ) => ‘animate__animated animate__backInUp’,
    __( ‘Bounce in’, ‘avia_framework’ ) => ‘animate__animated animate__bounceIn’,
    __( ‘Bounce in down’, ‘avia_framework’ ) => ‘animate__animated animate__bounceInDown’,
    __( ‘Bounce in left’, ‘avia_framework’ ) => ‘animate__animated animate__bounceInLeft’,
    __( ‘Bounce in right’, ‘avia_framework’ ) => ‘animate__animated animate__bounceInRight’,
    __( ‘Bounce in up’, ‘avia_framework’ ) => ‘animate__animated animate__bounceInUp’,
    __( ‘Fade in’, ‘avia_framework’ ) => ‘animate__animated animate__fadeIn’,
    __( ‘Fade in bottom left’, ‘avia_framework’ ) => ‘animate__animated animate__fadeInBottomLeft’,
    __( ‘Fade in bottom right’, ‘avia_framework’ ) => ‘animate__animated animate__fadeInBottomRight’,
    __( ‘Fade in down’, ‘avia_framework’ ) => ‘animate__animated animate__fadeInDown’,
    __( ‘Fade down big’, ‘avia_framework’ ) => ‘animate__animated animate__fadeInDownBig’,
    __( ‘Fade in left’, ‘avia_framework’ ) => ‘animate__animated animate__fadeInLeft’,
    __( ‘Fade in left big’, ‘avia_framework’ ) => ‘animate__animated animate__fadeInLeftBig’,
    __( ‘Fade in right’, ‘avia_framework’ ) => ‘animate__animated animate__fadeInRight’,
    __( ‘Fade in right big’, ‘avia_framework’ ) => ‘animate__animated animate__fadeInRightBig’,
    __( ‘Fade in up’, ‘avia_framework’ ) => ‘animate__animated animate__fadeInUp’,
    __( ‘Fade in up big’, ‘avia_framework’ ) => ‘animate__animated animate__fadeInUpBig’,
    __( ‘Fade in top left’, ‘avia_framework’ ) => ‘animate__animated animate__fadeInTopLeft’,
    __( ‘Fade in top right’, ‘avia_framework’ ) => ‘animate__animated animate__fadeInTopRight’,
    __( ‘Flip’, ‘avia_framework’ ) => ‘animate__animated animate__flip’,
    __( ‘Flip X’, ‘avia_framework’ ) => ‘animate__animated animate__flipInX’,
    __( ‘Flip Y’, ‘avia_framework’ ) => ‘animate__animated animate__flipInY’,
    __( ‘Head Shake’, ‘avia_framework’ ) => ‘animate__animated animate__headShake’,
    __( ‘Heartbeat’, ‘avia_framework’ ) => ‘animate__animated animate__heartBeat’,
    __( ‘Hinge’, ‘avia_framework’ ) => ‘animate__animated animate__hinge’,
    __( ‘Jack In The Box’, ‘avia_framework’ ) => ‘animate__animated animate__jackInTheBox’,
    __( ‘Jello’, ‘avia_framework’ ) => ‘animate__animated animate__jello’,
    __( ‘Lightspeed in left’, ‘avia_framework’ ) => ‘animate__animated animate__lightSpeedInLeft’,
    __( ‘Lightspeed in right’, ‘avia_framework’ ) => ‘animate__animated animate__lightSpeedInRight’,
    __( ‘Mask’, ‘avia_framework’ ) => ‘animate__animated animate__pulse’,
    __( ‘Roll in’, ‘avia_framework’ ) => ‘animate__animated animate__rollIn’,
    __( ‘Rotate in’, ‘avia_framework’ ) => ‘animate__animated animate__rotateIn’,
    __( ‘Rotate down left’, ‘avia_framework’ ) => ‘animate__animated animate__rotateInDownLeft’,
    __( ‘Rotate in down right’, ‘avia_framework’ ) => ‘animate__animated animate__rotateInDownRight’,
    __( ‘Rotate in up left’, ‘avia_framework’ ) => ‘animate__animated animate__rotateInUpLeft’,
    __( ‘Rotate in up right’, ‘avia_framework’ ) => ‘animate__animated animate__rotateInUpRight’,
    __( ‘Rubber Band’, ‘avia_framework’ ) => ‘animate__animated animate__rubberBand’,
    __( ‘Shake X’, ‘avia_framework’ ) => ‘animate__animated animate__shakeX’,
    __( ‘Shake Y’, ‘avia_framework’ ) => ‘animate__animated animate__shakeY’,
    __( ‘Slide in’, ‘avia_framework’ ) => ‘animate__animated animate__slideInDown’,
    __( ‘Slide in left’, ‘avia_framework’ ) => ‘animate__animated animate__slideInLeft’,
    __( ‘Slide in right’, ‘avia_framework’ ) => ‘animate__animated animate__slideInRight’,
    __( ‘Slide in up’, ‘avia_framework’ ) => ‘animate__animated animate__slideInUp’,
    __( ‘Swing’, ‘avia_framework’ ) => ‘animate__animated animate__swing’,
    __( ‘Tada’, ‘avia_framework’ ) => ‘animate__animated animate__tada’,
    __( ‘Wobble’, ‘avia_framework’ ) => ‘animate__animated animate__wobble’,
    __( ‘Zoom in’, ‘avia_framework’ ) => ‘animate__animated animate__zoomIn’,
    __( ‘Zoom in down’, ‘avia_framework’ ) => ‘animate__animated animate__zoomInDown’,
    __( ‘Zoom in left’, ‘avia_framework’ ) => ‘animate__animated animate__zoomInLeft’,
    __( ‘Zoom in right’, ‘avia_framework’ ) => ‘animate__animated animate__zoomInRight’,
    __( ‘Zoom in up’, ‘avia_framework’ ) => ‘animate__animated animate__zoomInUp’,
    )
    );
    }
    public static function get_button_links($type):array {
    $data = match ($type) {
    ‘page’ => get_pages(),
    default => get_posts(),
    };
    $links = array();
    foreach ($data as $link) {
    $links[__( $link->post_title, ‘avia_framework’ )] = $link->post_name;
    }

    return $links;
    }
    public static function get_full_percentage():array {
    $i = 1;
    $nums = array();
    while ($i < 101) {
    $k = $i . ‘%’;
    $nums[$k] = $i . ‘%’;
    $i++;
    }
    return $nums;
    }
    public static function get_full_360():array {
    $i = 1;
    $nums = array();
    while ($i < 361) {
    $k = $i;
    $nums[$k] = $i;
    $i++;
    }
    return $nums;
    }
    public static function create_button_link($atts, $b = ‘button’):string {
    $link = ”;
    if (isset($atts[$b]) && $atts[$b] == ‘yes’) {
    switch ($atts[$b . ‘_link_type’]) {
    case ‘page’:
    $link = home_url() . ‘/’ . $atts[$b . ‘_page_link’];
    break;
    case ‘post’:
    $link .= home_url() . ‘/’ . $atts[$b . ‘_post_link’];
    break;
    case ‘custom’:
    $link .= $atts[$b . ‘_custom_link’];
    break;
    default:

    }
    }
    return $link;
    }
    public static function get_seconds():array {
    return array(
    ‘1s’ => ‘1s’,
    ‘2s’ => ‘2s’,
    ‘3s’ => ‘3s’,
    ‘4s’ => ‘4s’,
    ‘5s’ => ‘5s’,
    ‘6s’ => ‘6s’,
    ‘7s’ => ‘7s’,
    ‘8s’ => ‘8s’,
    ‘9s’ => ‘9s’,
    ’10s’ => ’10s’,
    ’11s’ => ’11s’,
    ’12s’ => ’12s’,
    ’13s’ => ’13s’,
    ’14s’ => ’14s’,
    ’15s’ => ’15s’,
    ’16s’ => ’16s’,
    ’17s’ => ’17s’,
    ’18s’ => ’18s’,
    ’19s’ => ’19s’,
    ’20s’ => ’20s’,
    );
    }
    public static function select_button_style():array {
    $arr = array (
    __( ‘Animated Gradient’, ‘avia_framework’ ) => ‘amg_1’,
    __( ‘Candied Colored 1’, ‘avia_framework’ ) => ‘amg_2’,
    __( ‘Candied Colored 2’, ‘avia_framework’ ) => ‘amg_3’,
    __( ‘Candied Colored 3’, ‘avia_framework’ ) => ‘amg_4’,
    __( ‘Candied Colored 4’, ‘avia_framework’ ) => ‘amg_5’,
    __( ‘Candied Colored 5’, ‘avia_framework’ ) => ‘amg_6’,
    __( ‘Candied Colored 6’, ‘avia_framework’ ) => ‘amg_7’,
    __( ‘Candied Colored 7’, ‘avia_framework’ ) => ‘amg_8’,
    __( ‘Candied Colored 8’, ‘avia_framework’ ) => ‘amg_9’,
    __( ‘Candied Colored 9’, ‘avia_framework’ ) => ‘amg_10’,
    __( ‘Candied Colored 10’, ‘avia_framework’ ) => ‘amg_11’,
    __( ‘Candied Colored 11’, ‘avia_framework’ ) => ‘amg_12’,
    __( ‘Candied Colored 12’, ‘avia_framework’ ) => ‘amg_13’,
    __( ‘Candied Colored 13’, ‘avia_framework’ ) => ‘amg_14’,
    __( ‘Candied Colored 14’, ‘avia_framework’ ) => ‘amg_15’,
    __( ‘Candied Colored 15’, ‘avia_framework’ ) => ‘amg_16’,
    __( ‘Candied Colored 16’, ‘avia_framework’ ) => ‘amg_17’,
    __( ‘Coin’, ‘avia_framework’ ) => ‘amg_18’,
    __( ‘Cold Light’, ‘avia_framework’ ) => ‘amg_19’,
    __( ‘Flip Box’, ‘avia_framework’ ) => ‘amg_20’,
    __( ‘Gradient’, ‘avia_framework’ ) => ‘amg_21’,
    __( ‘Gradient Glow’, ‘avia_framework’ ) => ‘amg_22’,
    __( ‘Gradient Hole’, ‘avia_framework’ ) => ‘amg_61’,
    __( ‘Hover 1’, ‘avia_framework’ ) => ‘amg_23’,
    __( ‘Hover 2’, ‘avia_framework’ ) => ‘amg_24’,
    __( ‘Hover 3’, ‘avia_framework’ ) => ‘amg_25’,
    __( ‘Hover 4’, ‘avia_framework’ ) => ‘amg_26’,
    __( ‘Label Slice’, ‘avia_framework’ ) => ‘amg_27’,
    __( ‘Liquid’, ‘avia_framework’ ) => ‘amg_28’,
    __( ‘Menu’, ‘avia_framework’ ) => ‘amg_29’,
    __( ‘Modern 1’, ‘avia_framework’ ) => ‘amg_30’,
    __( ‘Modern 2’, ‘avia_framework’ ) => ‘amg_31’,
    __( ‘Modern 3’, ‘avia_framework’ ) => ‘amg_32’,
    __( ‘Modern 4’, ‘avia_framework’ ) => ‘amg_33’,
    __( ‘Modern 5’, ‘avia_framework’ ) => ‘amg_34’,
    __( ‘Modern 6’, ‘avia_framework’ ) => ‘amg_35’,
    __( ‘Modern 7’, ‘avia_framework’ ) => ‘amg_36’,
    __( ‘Modern 8’, ‘avia_framework’ ) => ‘amg_37’,
    __( ‘Modern 9’, ‘avia_framework’ ) => ‘amg_38’,
    __( ‘Modern 10’, ‘avia_framework’ ) => ‘amg_39’,
    __( ‘Modern 11’, ‘avia_framework’ ) => ‘amg_40’,
    __( ‘Modern 12’, ‘avia_framework’ ) => ‘amg_41’,
    __( ‘Modern 13’, ‘avia_framework’ ) => ‘amg_42’,
    __( ‘Modern 14’, ‘avia_framework’ ) => ‘amg_43’,
    __( ‘Modern 15’, ‘avia_framework’ ) => ‘amg_44’,
    __( ‘Modern 16’, ‘avia_framework’ ) => ‘amg_45’,
    __( ‘Modern 17’, ‘avia_framework’ ) => ‘amg_46’,
    __( ‘Modern 18’, ‘avia_framework’ ) => ‘amg_47’,
    __( ‘Modern 19’, ‘avia_framework’ ) => ‘amg_48’,
    __( ‘Modern 20’, ‘avia_framework’ ) => ‘amg_49’,
    __( ‘Modern 21’, ‘avia_framework’ ) => ‘amg_50’,
    __( ‘Modern 22’, ‘avia_framework’ ) => ‘amg_51’,
    __( ‘Modern 23’, ‘avia_framework’ ) => ‘amg_52’,
    __( ‘Modern 24’, ‘avia_framework’ ) => ‘amg_53’,
    __( ‘Modern 25’, ‘avia_framework’ ) => ‘amg_54’,
    __( ‘Modern 26’, ‘avia_framework’ ) => ‘amg_55’,
    __( ‘Modern 27’, ‘avia_framework’ ) => ‘amg_56’,
    __( ‘Modern 28’, ‘avia_framework’ ) => ‘amg_57’,
    __( ‘Plastic’, ‘avia_framework’ ) => ‘amg_58’,
    __( ‘Neon Lines’, ‘avia_framework’ ) => ‘amg_59’,
    __( ‘Pulsating’, ‘avia_framework’ ) => ‘amg_60’,
    __( ‘Hover 4’, ‘avia_framework’ ) => ‘amg_62’,
    __( ‘Snake Border 2’, ‘avia_framework’ ) => ‘amg_63’,
    __( ‘Hover 5’, ‘avia_framework’ ) => ‘amg_64’,
    __( ‘Hover 6’, ‘avia_framework’ ) => ‘amg_65’,
    __( ‘Ripple’, ‘avia_framework’ ) => ‘amg_66’,
    __( ‘Snake Border 1’, ‘avia_framework’ ) => ‘amg_67’,
    __( ‘Gradient Hover Border’, ‘avia_framework’ ) => ‘amg_68’,
    __( ‘Pulsar’, ‘avia_framework’ ) => ‘amg_69’,
    __( ‘Neon Lights’, ‘avia_framework’ ) => ‘amg_70’,
    __( ‘Blend Mode’, ‘avia_framework’ ) => ‘amg_71’,
    __( ‘Bubble Bursts’, ‘avia_framework’ ) => ‘amg_72’,

    );
    ksort($arr, SORT_NATURAL);
    return $arr;
    }
    function amg_enfold_admin_menu() : void
    {
    add_options_page(
    ‘AMG Enfold Extensions’,
    ‘AMG Enfold’,
    ‘manage_options’,
    ‘amg-enfold-options’,
    array(
    $this,
    ‘amg_enfold_admin_settings’
    ),
    ‘1’
    );
    }
    function amg_enfold_admin_settings_init() : void
    {
    /// sticky banner text
    add_settings_section (
    ‘enfold_extensions_developer_section’ ,
    ‘Developer’ ,
    ”,
    ‘amg-enfold-options’
    );

    add_settings_section (
    ‘enfold_extensions_elements_section’ ,
    ‘Active Elements’ ,
    ”,
    ‘amg-enfold-options’
    );

    register_setting(
    ‘amg-enfold-options’,
    ‘amg_enfold_developer_mode’,
    array(
    ‘type’ => ‘string’,
    ‘sanitize_callback’ => ‘sanitize_text_field’,
    ‘default’ => ‘no’
    )
    );
    add_settings_field(
    ‘amg_enfold_developer_mode’,
    ‘Developer Mode On’,
    array($this, ‘amg_enfold_developer_mode_callback’),
    ‘amg-enfold-options’,
    ‘enfold_extensions_developer_section’
    );

    $count = count($this->elements);
    for ($i = 0; $i < $count; $i++) {
    register_setting(
    ‘amg-enfold-options’,
    “amg_enfold_extensions_{$this->elements[$i]}_active”,
    array(
    ‘type’ => ‘string’,
    ‘default’ => ”
    )
    );
    add_settings_field(
    “amg_enfold_extensions_{$this->elements[$i]}_active”,
    ucfirst($this->elements[$i]),
    array($this, ‘amg_enfold_modules_callback’),
    ‘amg-enfold-options’,
    ‘enfold_extensions_elements_section’,
    $this->elements[$i]

    );
    }

    $count = count($this->deletes);
    for ($k = 0; $i < $count; $k++) {
    $option = get_option(“amg_enfold_extensions_{$this->deletes[$k]}_active”);
    if (!empty($option)) {
    delete_option(“amg_enfold_extensions_{$this->deletes[$k]}_active”);
    }
    }
    }
    function amg_enfold_admin_settings(): void
    {
    require_once plugin_dir_path(__FILE__) . ‘templates/admin_settings.php’;
    }
    public function amg_enfold_developer_mode_callback(): void
    {
    $checked = checked( ‘yes’, get_option( ‘amg_enfold_developer_mode’ ), false );
    ?>
    <input type=”checkbox” name=”amg_enfold_developer_mode” value=”yes” <?php echo $checked ?>/>
    <?php
    }
    public function amg_enfold_modules_callback($name): void
    {
    $field = “amg_enfold_extensions_{$name}_active”;
    $checked = checked( ‘yes’, get_option( $field ), false );
    ?>
    <input type=”checkbox” name=”<?php echo $field ?>” value=”yes” <?php echo $checked ?>/>  
    ” target=”_blank”><i class=”fa-solid fa-arrow-up-right-from-square”></i>

    <?php
    }
    public static function amg_enfold_popup() : void
    {
    $html = “<div id=’amg-enfold-popup’ class=”>”;
    $html .= “<div id=’amg-enfold-popup-bg’></div>”;
    $html .= “<div id=’amg-enfold-popup-box’>”;
    $html .= “<div id=’amg-enfold-popup-close’><i class=’fi fi-br-circle-xmark’></i></div>”;
    $html .= “<div id=’content’></div>”;
    $html .= “</div></div>”;
    echo $html;
    }

    public static function prepare_navigation(array $atts): array
    {
    $prev_button = ”;
    $next_button = ”;
    if (isset($atts[‘navigation’]) && $atts[‘navigation’] == ‘yes’) {
    $prev_button = “<div class=’swiper-button-prev’></div>”;
    $next_button = ‘<div class=”swiper-button-next”></div>’;
    }
    if (isset($atts[‘pagination’]) && $atts[‘pagination’] == ‘yes’) {
    $pagination = “<div class=’swiper-pagination’></div>”;
    }

    $above = ”;
    $below = ”;
    $side = ”;
    if (isset($atts[‘navigation_position’]) && $atts[‘navigation_position’] == ‘above’ && $atts[‘nav_layout’] == ‘custom’) {
    $above = “<div class=’swiper-nav-wrapper above’>”;
    $above .= $prev_button;
    $above .= $pagination;
    $above .= $next_button;
    $above .= ‘</div>’;
    } else if (isset($atts[‘navigation_position’]) && $atts[‘navigation_position’] == ‘below’ && $atts[‘nav_layout’] == ‘custom’) {
    $below = “<div class=’swiper-nav-wrapper below’>”;
    $below .= $prev_button;
    $below .= $pagination;
    $below .= $next_button;
    $below .= ‘</div>’;
    } else {
    $below = $pagination;
    $side = $prev_button;
    $side .= $next_button;
    }
    return array($atts, $above, $below, $side);
    }

    public static function amg_enfold_section($title) : array
    {
    $c = null;
    $template = null;
    switch ($title) {
    case ‘Button’:
    $c = array(
    array(
    ‘name’ => __( ‘Enable?’, ‘avia_framework’ ),
    ‘desc’ => __( ‘Choosing yes enables the button for this single element.’, ‘avia_framework’ ),
    ‘id’ => ‘button’,
    ‘type’ => ‘select’,
    ‘std’ => ‘no’,
    ‘lockable’ => true,
    ‘subtype’ => array(
    __( ‘No’, ‘avia_framework’ ) => ‘no’,
    __( ‘Yes’, ‘avia_framework’ ) => ‘yes’ ,
    )
    ),
    array(
    ‘name’ => __( ‘Button Label’, ‘avia_framework’ ),
    ‘desc’ => __( ‘This is the text that appears on your button.’, ‘avia_framework’ ),
    ‘id’ => ‘label’,
    ‘type’ => ‘input’,
    ‘std’ => __( ‘Contact Us’, ‘avia_framework’ ),
    ‘required’ => array( ‘button’, ‘equals’, ‘yes’ ),
    ‘lockable’ => true
    ),
    /* array(
    ‘name’ => __( ‘Show Button Icon’, ‘avia_framework’ ),
    ‘desc’ => __( ‘Should an icon be displayed at the left or right side of the button’, ‘avia_framework’ ),
    ‘id’ => ‘button_icon_select’,
    ‘type’ => ‘select’,
    ‘std’ => ‘yes’,
    ‘lockable’ => true,
    ‘required’ => array( ‘button’, ‘equals’, ‘yes’ ),
    ‘subtype’ => array(
    __( ‘No Icon’, ‘avia_framework’ ) => ‘no’,
    __( ‘Display icon to the left’, ‘avia_framework’ ) => ‘yes’ ,
    __( ‘Display icon to the right’, ‘avia_framework’ ) => ‘yes-right-icon’,
    )
    ),
    array(
    ‘name’ => __( ‘Button Icon’, ‘avia_framework’ ),
    ‘desc’ => __( ‘Select an icon for your Button below’, ‘avia_framework’ ),
    ‘id’ => ‘button_icon’,
    ‘type’ => ‘iconfont’,
    ‘std’ => ”,
    ‘lockable’ => true,
    ‘locked’ => array( ‘button_icon’, ‘font’ ),
    ‘required’ => array( ‘button_icon_select’, ‘not_empty_and’, ‘no’ )
    ),
    array(
    ‘name’ => __( ‘Icon Visibility’, ‘avia_framework’ ),
    ‘desc’ => __( ‘Check to only display icon on hover’, ‘avia_framework’ ),
    ‘id’ => ‘button_icon_hover’,
    ‘type’ => ‘checkbox’,
    ‘std’ => ”,
    ‘lockable’ => true,
    ‘required’ => array( ‘button_icon_select’, ‘not_empty_and’, ‘no’ )
    )*/

    );
    break;
    case ‘Link Settings’:
    $template = array(
    array(
    ‘type’ => ‘template’,
    ‘template_id’ => ‘linkpicker_toggle’,
    ‘name’ => __( ‘Button Link’, ‘avia_framework’ ),
    ‘desc’ => __( ‘Where should your button link to?’, ‘avia_framework’ ),
    ‘subtypes’ => array( ‘manually’, ‘single’, ‘taxonomy’ ),
    ‘target_id’ => ‘link_target’,
    ‘lockable’ => true
    ),
    );
    break;
    case ‘Appearance’:
    $c = array(
    array(
    ‘name’ => __( ‘Button Size’, ‘avia_framework’ ),
    ‘desc’ => __( ‘Choose the size of your button here.’, ‘avia_framework’ ),
    ‘id’ => ‘size’,
    ‘type’ => ‘select’,
    ‘std’ => ‘small’,
    ‘lockable’ => true,
    ‘subtype’ => array(
    __( ‘Small’, ‘avia_framework’ ) => ‘small’,
    __( ‘Medium’, ‘avia_framework’ ) => ‘medium’,
    __( ‘Large’, ‘avia_framework’ ) => ‘large’,
    __( ‘X Large’, ‘avia_framework’ ) => ‘x-large’
    )
    ),

    array(
    ‘name’ => __( ‘Button Position’, ‘avia_framework’ ),
    ‘desc’ => __( ‘Choose the alignment of your button here’, ‘avia_framework’ ),
    ‘id’ => ‘position’,
    ‘type’ => ‘select’,
    ‘std’ => ‘center’,
    ‘lockable’ => true,
    ‘subtype’ => array(
    __( ‘Align Left’, ‘avia_framework’ ) => ‘left’,
    __( ‘Align Center’, ‘avia_framework’ ) => ‘center’,
    __( ‘Align Right’, ‘avia_framework’ ) => ‘right’,
    ),
    ‘required’ => array( ‘size’, ‘not’, ‘fullwidth’ )
    ),

    array(
    ‘name’ => __( ‘Button Label Display’, ‘avia_framework’ ),
    ‘desc’ => __( ‘Select how to display the label’, ‘avia_framework’ ),
    ‘id’ => ‘label_display’,
    ‘type’ => ‘select’,
    ‘std’ => ”,
    ‘lockable’ => true,
    ‘subtype’ => array(
    __( ‘Always display’, ‘avia_framework’ ) => ”,
    __( ‘Display on hover’, ‘avia_framework’ ) => ‘av-button-label-on-hover’,
    )
    ),

    array(
    ‘name’ => __( ‘Button Title Attribute’, ‘avia_framework’ ),
    ‘desc’ => __( ‘Add a title attribute for this button.’, ‘avia_framework’ ),
    ‘id’ => ‘title_attr’,
    ‘type’ => ‘input’,
    ‘std’ => ”,
    ‘required’ => array( ‘label_display’, ‘equals’, ” )
    ),

    );
    break;
    case ‘Font Sizes’:
    $c = array(
    array(
    ‘name’ => __( ‘Button Text Font Sizes’, ‘avia_framework’ ),
    ‘desc’ => __( ‘Select a custom font size for the button text.’, ‘avia_framework’ ),
    ‘type’ => ‘template’,
    ‘template_id’ => ‘font_sizes_icon_switcher’,
    ‘textfield’ => true,
    ‘lockable’ => true,
    ‘subtype’ => array(
    ‘default’ => AviaHtmlHelper::number_array( 10, 90, 1, array( __( ‘Use Default’, ‘avia_framework’ ) => ” ), ‘px’ ),
    ‘desktop’ => AviaHtmlHelper::number_array( 10, 90, 1, array( __( ‘Use Default’, ‘avia_framework’ ) => ” ), ‘px’ ),
    ‘medium’ => AviaHtmlHelper::number_array( 10, 90, 1, array( __( ‘Use Default’, ‘avia_framework’ ) => ”, __( ‘Hidden’, ‘avia_framework’ ) => ‘hidden’ ), ‘px’ ),
    ‘small’ => AviaHtmlHelper::number_array( 10, 90, 1, array( __( ‘Use Default’, ‘avia_framework’ ) => ”, __( ‘Hidden’, ‘avia_framework’ ) => ‘hidden’ ), ‘px’ ),
    ‘mini’ => AviaHtmlHelper::number_array( 10, 90, 1, array( __( ‘Use Default’, ‘avia_framework’ ) => ”, __( ‘Hidden’, ‘avia_framework’ ) => ‘hidden’ ), ‘px’ )
    ),
    ‘id_sizes’ => array(
    ‘default’ => ‘size-text’,
    ‘desktop’ => ‘av-desktop-font-size-text’,
    ‘medium’ => ‘av-medium-font-size-text’,
    ‘small’ => ‘av-small-font-size-text’,
    ‘mini’ => ‘av-mini-font-size-text’
    )
    ),
    array(
    ‘name’ => __( ‘Button Icon Font Sizes’, ‘avia_framework’ ),
    ‘desc’ => __( ‘Select a custom font size for the button text.’, ‘avia_framework’ ),
    ‘type’ => ‘template’,
    ‘template_id’ => ‘font_sizes_icon_switcher’,
    ‘textfield’ => true,
    ‘lockable’ => true,
    ‘subtype’ => array(
    ‘default’ => AviaHtmlHelper::number_array( 10, 90, 1, array( __( ‘Use Default’, ‘avia_framework’ ) => ” ), ‘px’ ),
    ‘desktop’ => AviaHtmlHelper::number_array( 10, 90, 1, array( __( ‘Use Default’, ‘avia_framework’ ) => ” ), ‘px’ ),
    ‘medium’ => AviaHtmlHelper::number_array( 10, 90, 1, array( __( ‘Use Default’, ‘avia_framework’ ) => ”, __( ‘Hidden’, ‘avia_framework’ ) => ‘hidden’ ), ‘px’ ),
    ‘small’ => AviaHtmlHelper::number_array( 10, 90, 1, array( __( ‘Use Default’, ‘avia_framework’ ) => ”, __( ‘Hidden’, ‘avia_framework’ ) => ‘hidden’ ), ‘px’ ),
    ‘mini’ => AviaHtmlHelper::number_array( 10, 90, 1, array( __( ‘Use Default’, ‘avia_framework’ ) => ”, __( ‘Hidden’, ‘avia_framework’ ) => ‘hidden’ ), ‘px’ )
    ),
    ‘id_sizes’ => array(
    ‘default’ => ‘size-button-icon’,
    ‘desktop’ => ‘av-desktop-font-size-button-icon’,
    ‘medium’ => ‘av-medium-font-size-button-icon’,
    ‘small’ => ‘av-small-font-size-button-icon’,
    ‘mini’ => ‘av-mini-font-size-button-icon’
    )
    )
    );
    break;
    case ‘Button Margin And Padding’:
    $template = array(
    array(
    ‘type’ => ‘template’,
    ‘template_id’ => ‘margin_padding’,
    ‘toggle’ => true,
    ‘name’ => __( ‘Margin And Padding’, ‘avia_framework’ ),
    ‘desc’ => __( ‘Set a responsive margin and a padding to text for the button.’, ‘avia_framework’ ),
    ‘lockable’ => true,
    )
    );
    break;
    case ‘Colors’:
    $c = array(
    array(
    ‘name’ => __( ‘Button Colors Selection’, ‘avia_framework’ ),
    ‘desc’ => __( “Choose the available options for button colors. Switching to advanced options for already existing buttons you need to set all options (color settings from basic options are ignored)”, ‘avia_framework’ ),
    ‘id’ => ‘color_options’,
    ‘type’ => ‘select’,
    ‘std’ => ”,
    ‘lockable’ => true,
    ‘subtype’ => array(
    __( ‘Basic options only’, ‘avia_framework’ ) => ”,
    __( ‘Advanced options’, ‘avia_framework’ ) => ‘color_options_advanced’,
    )
    ),
    array(
    ‘type’ => ‘template’,
    ‘template_id’ => ‘named_colors’,
    ‘custom’ => true,
    ‘lockable’ => true,
    ‘required’ => array( ‘color_options’, ‘equals’, ” )
    ),
    array(
    ‘name’ => __( ‘Custom Background Color’, ‘avia_framework’ ),
    ‘desc’ => __( ‘Select a custom background color for your button here’, ‘avia_framework’ ),
    ‘id’ => ‘custom_bg’,
    ‘type’ => ‘colorpicker’,
    ‘std’ => ‘#444444’,
    ‘lockable’ => true,
    ‘required’ => array( ‘color’, ‘equals’, ‘custom’ )
    ),
    array(
    ‘name’ => __( ‘Custom Font Color’, ‘avia_framework’ ),
    ‘desc’ => __( ‘Select a custom font color for your button here’, ‘avia_framework’ ),
    ‘id’ => ‘custom_font’,
    ‘type’ => ‘colorpicker’,
    ‘std’ => ‘#ffffff’,
    ‘lockable’ => true,
    ‘required’ => array( ‘color’, ‘equals’, ‘custom’)
    ),
    array(
    ‘type’ => ‘template’,
    ‘template_id’ => ‘button_colors’,
    ‘color_id’ => ‘btn_color’,
    ‘custom_id’ => ‘btn_custom’,
    ‘lockable’ => true,
    ‘required’ => array( ‘color_options’, ‘not’, ” )
    )
    );
    break;
    case ‘Animation’:
    $c = array(
    array(
    ‘type’ => ‘template’,
    ‘template_id’ => ‘animation’,
    ‘lockable’ => true,
    ‘std_none’ => ”,
    ‘name’ => __( ‘Button Animation’, ‘avia_framework’ ),
    ‘desc’ => __( ‘Add a small animation to the button when the user first scrolls to the button position. This is only to add some "spice" to the site and only works in modern browsers and only on desktop computers to keep page rendering as fast as possible.’, ‘avia_framework’ ),
    ‘groups’ => array( ‘fade’, ‘slide’, ‘rotate’, ‘fade-adv’, ‘special’ )
    )
    );
    break;
    case ‘Content’:
    $c = array(
    array(
    ‘name’ => __( ‘Content Display’, ‘avia_framework’ ),
    ‘desc’ => __( ‘Choose to display the content in a popup or below the slides.’, ‘avia_framework’ ),
    ‘id’ => ‘content_layout’,
    ‘type’ => ‘select’,
    ‘std’ => ”,
    ‘lockable’ => true,
    ‘subtype’ => array(
    __( ‘No Display’, ‘avia_framework’ ) => ”,
    __( ‘Display content in popup’, ‘avia_framework’ ) => ‘popup’,
    __( ‘Display content below slides’, ‘avia_framework’ ) => ‘inline’
    ),
    ),
    array(
    ‘name’ => __( ‘Max Width’, ‘avia_framework’ ),
    ‘desc’ => __( ‘This is the width of your content box.’, ‘avia_framework’ ),
    ‘id’ => ‘popup_max_width’,
    ‘type’ => ‘input’,
    ‘std’ => ‘750px’,
    ‘lockable’ => true,
    ‘required’ => array( ‘content_layout’, ‘not’, ” ),
    ‘container_class’ => ‘av_third av_third_first’
    ),
    array(
    ‘name’ => __( ‘Min Height’, ‘avia_framework’ ),
    ‘desc’ => __( ‘This is the min-height of your content box.’, ‘avia_framework’ ),
    ‘id’ => ‘popup_min_height’,
    ‘type’ => ‘input’,
    ‘std’ => ‘320px’,
    ‘lockable’ => true,
    ‘required’ => array( ‘content_layout’, ‘not’, ” ),
    ‘container_class’ => ‘av_third’
    ),
    array(
    ‘name’ => __( ‘Text Align’, ‘avia_framework’ ),
    ‘desc’ => __( ‘Figure it out.’, ‘avia_framework’ ),
    ‘id’ => ‘popup_text_align’,
    ‘type’ => ‘select’,
    ‘std’ => ‘center’,
    ‘lockable’ => true,
    ‘required’ => array( ‘content_layout’, ‘not’, ” ),
    ‘container_class’ => ‘av_third’,
    ‘subtype’ => array(
    __( ‘Left’, ‘avia_framework’ ) => ‘left’,
    __( ‘Center’, ‘avia_framework’ ) => ‘center’,
    __( ‘Right’, ‘avia_framework’ ) => ‘right’
    ),
    ),
    array(
    ‘name’ => __( ‘Container BG Color’, ‘avia_framework’ ),
    ‘desc’ => __( ‘This is the background of the content box’, ‘avia_framework’ ),
    ‘id’ => ‘popup_background_color’,
    ‘type’ => ‘colorpicker’,
    ‘std’ => ”,
    ‘rgba’ => true,
    ‘lockable’ => true,
    ‘required’ => array( ‘content_layout’, ‘equals’, ‘popup’ ),
    ‘container_class’ => ‘av_half av_half_first’
    ),
    array(
    ‘name’ => __( ‘Background BG Color’, ‘avia_framework’ ),
    ‘desc’ => __( ‘This is the full page background when the popup is visible.’, ‘avia_framework’ ),
    ‘id’ => ‘popup_bg_color’,
    ‘type’ => ‘colorpicker’,
    ‘std’ => ”,
    ‘rgba’ => true,
    ‘lockable’ => true,
    ‘required’ => array( ‘content_layout’, ‘equals’, ‘popup’ ),
    ‘container_class’ => ‘av_half’
    ),
    array(
    ‘name’ => __( ‘Border Radius’, ‘avia_framework’ ),
    ‘desc’ => __( ‘Set the border radius of the content box.’, ‘avia_framework’ ),
    ‘id’ => ‘popup_border_radius’,
    ‘type’ => ‘multi_input’,
    ‘sync’ => true,
    ‘std’ => ’24px’,
    ‘lockable’ => true,
    ‘required’ => array( ‘content_layout’, ‘not’, ” ),
    ‘multi’ => array(
    ‘top’ => __( ‘Top-Left-Radius’, ‘avia_framework’ ),
    ‘right’ => __( ‘Top-Right-Radius’, ‘avia_framework’ ),
    ‘bottom’ => __( ‘Bottom-Right-Radius’, ‘avia_framework’ ),
    ‘left’ => __( ‘Bottom-Left-Radius’, ‘avia_framework’ )
    ),
    ),
    array(
    ‘type’ => ‘template’,
    ‘template_id’ => ‘box_shadow’,
    ‘id’ => ‘popup_box_shadow’,
    ‘names’ => array(
    __( ‘Box Shadow’, ‘avia_framework’ ),
    __( ‘Box Shadow Styling ‘, ‘avia_framework’ ),
    __( ‘Box Shadow Color’, ‘avia_framework’ )
    ),
    ‘default_check’ => true,
    ‘lockable’ => true,
    ‘required’ => array( ‘content_layout’, ‘not’, ” )
    )
    );
    break;
    case ‘Navigation’:
    $c = array(
    array(
    ‘name’ => __( ‘Navigation Layout’, ‘avia_framework’ ),
    ‘desc’ => __( ‘Either use the widget default colors or apply some custom ones’, ‘avia_framework’ ),
    ‘id’ => ‘nav_layout’,
    ‘type’ => ‘select’,
    ‘std’ => ”,
    ‘lockable’ => true,
    ‘subtype’ => array(
    __( ‘Default’, ‘avia_framework’ ) => ”,
    __( ‘Define Custom layout’, ‘avia_framework’ ) => ‘custom’
    ),

    ),
    array(
    ‘name’ => __( ‘Vertical Position’, ‘avia_framework’ ),
    ‘desc’ => __( ‘Define the vertical position of the navigation controls’, ‘avia_framework’ ),
    ‘id’ => ‘navigation_position’,
    ‘type’ => ‘select’,
    ‘std’ => ”,
    ‘lockable’ => true,
    ‘required’ => array( ‘nav_layout’, ‘equals’, ‘custom’ ),
    ‘subtype’ => array(
    __( ‘Default’, ‘avia_framework’ ) => ”,
    __( ‘Above’, ‘avia_framework’ ) => ‘above’,
    __( ‘Below’, ‘avia_framework’ ) => ‘below’,
    )
    ),
    array(
    ‘name’ => __( ‘Controls Max Width’, ‘avia_framework’ ),
    ‘desc’ => __( ‘Enter the max width of the navigation controls’, ‘avia_framework’ ),
    ‘id’ => ‘nav_max_width’,
    ‘type’ => ‘input’,
    ‘std’ => ‘100%’,
    ‘lockable’ => true,
    ‘required’ => array( ‘navigation_position’, ‘not’, ”),

    ),
    array(
    ‘name’ => __( ‘Horizontal Alignment’, ‘avia_framework’ ),
    ‘desc’ => __( ‘This only works if navigation controls are not 100% max width’, ‘avia_framework’ ),
    ‘id’ => ‘navigation_alignment’,
    ‘type’ => ‘select’,
    ‘std’ => ‘center’,
    ‘lockable’ => true,
    ‘required’ => array( ‘navigation_position’, ‘not’, ”),
    ‘subtype’ => array(
    __( ‘Left’, ‘avia_framework’ ) => ‘left’,
    __( ‘Center’, ‘avia_framework’ ) => ‘center’,
    __( ‘Right’, ‘avia_framework’ ) => ‘right’,
    )
    ),
    array(
    ‘name’ => __( ‘Horizontal Offset’, ‘avia_framework’ ),
    ‘desc’ => __( ‘Enter a CSS value (50px) to push the controls towards center’, ‘avia_framework’ ),
    ‘id’ => ‘nav_offset’,
    ‘type’ => ‘input’,
    ‘std’ => ‘0’,
    ‘lockable’ => true,
    ‘required’ => array( ‘navigation_alignment’, ‘not’, ‘center’),
    ),
    array(
    ‘name’ => __( ‘Button Width’, ‘avia_framework’ ),
    ‘desc’ => __( ‘Button width in a CSS value’, ‘avia_framework’ ),
    ‘id’ => ‘nav_width’,
    ‘type’ => ‘input’,
    ‘std’ => ’50px’,
    ‘lockable’ => true,
    ‘required’ => array( ‘nav_layout’, ‘equals’, ‘custom’ ),
    ‘container_class’ => ‘av_half av_half_first’
    ),
    array(
    ‘name’ => __( ‘Button Height’, ‘avia_framework’ ),
    ‘desc’ => __( ‘Button height in a CSS value’, ‘avia_framework’ ),
    ‘id’ => ‘nav_height’,
    ‘type’ => ‘input’,
    ‘std’ => ’50px’,
    ‘lockable’ => true,
    ‘required’ => array( ‘nav_layout’, ‘equals’, ‘custom’ ),
    ‘container_class’ => ‘av_half’
    ),
    array(
    ‘name’ => __( ‘Button Border Radius’, ‘avia_framework’ ),
    ‘desc’ => __( ‘Set the border radius of the button’, ‘avia_framework’ ),
    ‘id’ => ‘nav_radius’,
    ‘type’ => ‘multi_input’,
    ‘sync’ => true,
    ‘std’ => ‘50%’,
    ‘lockable’ => true,
    ‘required’ => array( ‘nav_layout’, ‘equals’, ‘custom’ ),
    ‘multi’ => array(
    ‘top’ => __( ‘Top-Left-Radius’, ‘avia_framework’ ),
    ‘right’ => __( ‘Top-Right-Radius’, ‘avia_framework’ ),
    ‘bottom’ => __( ‘Bottom-Right-Radius’, ‘avia_framework’ ),
    ‘left’ => __( ‘Bottom-Left-Radius’, ‘avia_framework’ )
    ),
    ),
    );
    break;
    case ‘Image’:
    $c = array(
    array(
    ‘name’ => __( ‘Image Size and Orientation’, ‘avia_framework’ ),
    ‘desc’ => __( ‘Either use the widget default colors or apply some custom ones’, ‘avia_framework’ ),
    ‘id’ => ‘orientation_and_size’,
    ‘type’ => ‘select’,
    ‘std’ => ”,
    ‘lockable’ => true,
    ‘subtype’ => AbstraktEnfoldExtensions::get_image_sizes(),
    ),
    array(
    ‘name’ => __( ‘Image Aspect Ratio’, ‘avia_framework’ ),
    ‘desc’ => __( ‘Enter the CSS value as a fraction, ie 16/9’, ‘avia_framework’ ),
    ‘id’ => ‘aspect_ratio’,
    ‘type’ => ‘input’,
    ‘std’ => ”,
    ‘lockable’ => true,
    ‘required’ => array( ‘orientation_and_size’, ‘not’, ” ),
    ‘container_class’ => ‘av_third av_third_first’
    ),
    array(
    ‘name’ => __( ‘Image Object Fit’, ‘avia_framework’ ),
    ‘desc’ => __( ‘Select one of the CSS values or choose none.’, ‘avia_framework’ ),
    ‘id’ => ‘object_fit’,
    ‘type’ => ‘select’,
    ‘std’ => ‘cover’,
    ‘lockable’ => true,
    ‘required’ => array( ‘orientation_and_size’, ‘not’, ” ),
    ‘container_class’ => ‘av_third’,
    ‘subtype’ => array(
    __( ‘None’, ‘avia_framework’ ) => ‘none’,
    __( ‘Fill’, ‘avia_framework’ ) => ‘fill’,
    __( ‘Contain’, ‘avia_framework’ ) => ‘contain’,
    __( ‘Cover’, ‘avia_framework’ ) => ‘cover’,
    __( ‘Scale Down’, ‘avia_framework’ ) => ‘scale-down’
    ),
    ),
    array(
    ‘name’ => __( ‘Image Object Position’, ‘avia_framework’ ),
    ‘desc’ => __( ‘Enter a css value ie 50% 50% or left top’, ‘avia_framework’ ),
    ‘id’ => ‘object_position’,
    ‘type’ => ‘input’,
    ‘std’ => ‘center center’,
    ‘lockable’ => true,
    ‘required’ => array( ‘orientation_and_size’, ‘not’, ” ),
    ‘container_class’ => ‘av_third’,
    ),
    );
    break;
    case ‘Container’:
    $c = array(
    array(
    ‘name’ => __( ‘Slides Layout’, ‘avia_framework’ ),
    ‘desc’ => __( ‘Either use the widget default colors or apply some custom ones’, ‘avia_framework’ ),
    ‘id’ => ‘slides_layout’,
    ‘type’ => ‘select’,
    ‘std’ => ”,
    ‘lockable’ => true,
    ‘subtype’ => array(
    __( ‘Default’, ‘avia_framework’ ) => ”,
    __( ‘Define Custom layout’, ‘avia_framework’ ) => ‘custom’
    ),

    ),
    array(
    ‘name’ => __( ‘Badge Max Width’, ‘avia_framework’ ),
    ‘desc’ => __( ‘Enter the badges title here (Better keep it short)’, ‘avia_framework’ ),
    ‘id’ => ‘max_width’,
    ‘type’ => ‘input’,
    ‘std’ => ‘250px’,
    ‘lockable’ => true,
    ‘required’ => array( ‘slides_layout’, ‘equals’, ‘custom’ ),
    ‘container_class’ => ‘av_half av_half_first’
    ),
    array(
    ‘name’ => __( ‘Badge Min Height’, ‘avia_framework’ ),
    ‘desc’ => __( ‘Enter the badges title here (Better keep it short)’, ‘avia_framework’ ),
    ‘id’ => ‘min_height’,
    ‘type’ => ‘input’,
    ‘std’ => ‘400px’,
    ‘lockable’ => true,
    ‘required’ => array( ‘slides_layout’, ‘equals’, ‘custom’ ),
    ‘container_class’ => ‘av_half’
    ),
    array(
    ‘name’ => __( ‘Badge Border Radius’, ‘avia_framework’ ),
    ‘desc’ => __( ‘Set the border radius of the column’, ‘avia_framework’ ),
    ‘id’ => ‘border_radius’,
    ‘type’ => ‘multi_input’,
    ‘sync’ => true,
    ‘std’ => ”,
    ‘lockable’ => true,
    ‘required’ => array( ‘slides_layout’, ‘equals’, ‘custom’ ),
    ‘multi’ => array(
    ‘top’ => __( ‘Top-Left-Radius’, ‘avia_framework’ ),
    ‘right’ => __( ‘Top-Right-Radius’, ‘avia_framework’ ),
    ‘bottom’ => __( ‘Bottom-Right-Radius’, ‘avia_framework’ ),
    ‘left’ => __( ‘Bottom-Left-Radius’, ‘avia_framework’ )
    ),
    ),
    );
    break;
    }
    if (!is_array($template)) {
    $template = array(
    array(
    ‘type’ => ‘template’,
    ‘template_id’ => ‘toggle’,
    ‘title’ => __( $title, ‘avia_framework’ ),
    ‘content’ => $c
    ),
    );
    }

    return $template;
    }
    public static function amg_enfold_inline($atts) : string
    {
    $output = ”;
    if ($atts[‘content_layout’] == ‘inline’) {
    $output .= “<div id=’amg-enfold-inline’>”;
    $output .= “<div id=’amg-enfold-inline-box’>”;
    $output .= “<div id=’content’></div>”;
    $output .= “</div>”;
    $output .= “</div>”;
    }
    return $output;
    }

    public static function amg_button_append_selectors($selectors, $element_id) : array
    {
    $selectors[‘wrap’] = “#top #wrap_all .accordionContainer.{$element_id} .c-accordion .c-accordion__item .avia-button-wrap.button-wrap”;
    $selectors[‘wrap-animation’] = “#top #wrap_all .accordionContainer.{$element_id} .c-accordion .c-accordion__item .avia_transform .avia-button-wrap.button-wrap”;
    $selectors[‘button_container’] = “#top #wrap_all .accordionContainer.{$element_id} .c-accordion .c-accordion__item .avia-button”;
    $selectors[‘container-hover’] = “#top #wrap_all .accordionContainer.{$element_id} .c-accordion .c-accordion__item .avia-button:hover”;
    $selectors[‘container-hover-overlay’] = “#top #wrap_all .accordionContainer.{$element_id} .c-accordion .c-accordion__item .avia-button:hover .avia_button_background”;
    $selectors[‘container-after’] = “#top #wrap_all .accordionContainer.{$element_id} .c-accordion .c-accordion__item .avia-button.avia-sonar-shadow:after”;
    $selectors[‘container-after-hover’] = “#top #wrap_all .accordionContainer.{$element_id} .c-accordion .c-accordion__item .avia-button.avia-sonar-shadow:hover:after”;
    $selectors[‘curtain’] = “#top #wrap_all .accordionContainer.{$element_id} .c-accordion .c-accordion__item .avia-button-wrap.button-wrap .avia-curtain-reveal-overlay”;
    $selectors[‘button_icon’] = “#top #wrap_all .accordionContainer.{$element_id} .c-accordion .c-accordion__item .amg-button-wrap .amg-tab-icon”;

    return $selectors;
    }

    public static function amg_create_button(array $atts, array $meta, $container_class, $style_tag, $wrap_class, $background_hover ):string {
    $data = ”;

    /* if( $atts[‘button_icon_select’] == ‘yes’ )
    {
    $atts[‘button_icon_select’] = ‘yes-left-icon’;
    }

    $fonts = explode(‘,’, $atts[‘font’]);
    $font = $fonts[1] ?? $fonts[0];
    $display_char = av_icon( $atts[‘button_icon’], $font );*/

    if( ! empty( $atts[‘label_display’] ) && $atts[‘label_display’] == ‘av-button-label-on-hover’ )
    {
    $data .= ‘data-avia-tooltip=”‘ . htmlspecialchars( $atts[‘label’] ) . ‘”‘;
    $atts[‘label’] = ”;
    }

    $blank = AviaHelper::get_link_target( $atts[‘link_target’] );
    $link = AviaHelper::get_url( $atts[‘link’] );
    $link = ( ( $link == ‘http://&#8217; ) || ( $link == ‘manually’ ) ) ? ” : $link;

    $title_attr = ! empty( $atts[‘title_attr’] ) && empty( $atts[‘label_display’] ) ? ‘title=”‘ . esc_attr( $atts[‘title_attr’] ) . ‘”‘ : ”;

    $content_html = ”;

    /*if( ‘yes-left-icon’ == $atts[‘button_icon_select’] )
    {
    $content_html .= “<span class=’avia_button_icon avia_button_icon_left’></span>”;
    }*/

    $content_html .= “<span class=’avia_iconbox_title’ >{$atts[‘label’]}</span>”;

    /*if( ‘yes-right-icon’ == $atts[‘button_icon_select’] )
    {
    $content_html .= “<span class=’avia_button_icon avia_button_icon_right’ {$display_char}></span>”;
    }*/

    $curtain_reveal_overlay = ”;

    $html = ”;
    $html .= $style_tag;

    $html .= ““;
    $html .= $curtain_reveal_overlay;
    $html .= $content_html;
    $html .= $background_hover;
    $html .= ‘
    ‘;

    $output = “<div {$meta[‘custom_el_id’]} class=’avia-button-wrap {$wrap_class} avia-button-{$atts[‘position’]} {$meta[‘el_class’]}’>”;
    //$output .= $curtain_reveal_overlay;
    $output .= $html;
    $output .= ‘</div>’;

    return $output;
    }
    }
    }

    new AbstraktEnfoldExtensions();

    require ‘plugin-update-checker-master/plugin-update-checker.php’;
    use YahnisElsts\PluginUpdateChecker\v5\PucFactory;
    $myUpdateChecker = PucFactory::buildUpdateChecker(
    https://nates1dev.wpengine.com/wp-content/uploads/enfold-extensions/info.json&#8217;,
    __FILE__, //Full path to the main plugin file or functions.php.
    ‘abstrakt-enfold-extensions’
    );

    #1478684

    Thank you for the clarification. Unfortunately, the mega menu can only be enabled for the main menu items. It’s not available for the top bar menu.

    So sad :(
    Can we at least, display pictures inside top menu items?

    Another question,
    Check on that page for example and try to use a submenu element of the top menu.
    See?
    Since I’ve setup a mega menu in main menu, we cannot acces to the items of top menu.
    Is it possible to fix that with a Z-index somewhere?
    I don’t how to do that.

    • This reply was modified 1 year, 1 month ago by rvga.
    #1478680

    Ok, I see now it didn’t save it. Sorry. Now its in. I see what you mean with the cross only having had one line. Not good. Thanks for that.

    Could you please see the layout of the header in the mobile view now? Far more pressing issue. Please go in with the login I provided. I have not used css other than under quick css. Except for styling the form on the start page which is not relevant here. I also don’t see what the size of the content on desktop has to do with the header on the mobile? Did you see the mobile view? Can we please get the this problem?

    I will not work on the site today so there is no interference with your work. Just that you know.

    • This reply was modified 1 year, 1 month ago by ausgesonnen.
    • This reply was modified 1 year, 1 month ago by ausgesonnen.
    • This reply was modified 1 year, 1 month ago by ausgesonnen.
    #1478679

    Ok have changed the code for the burger menu.. It also works. The client wants 2 lines. was not able to talk hi out of it. He insists he likes it better with 2 lines.

    yes – but on the opened hamburger with the original css rule the hamburger only get one line (looks like a slash)
    with my code the burger got on closed burger menu 2lines and on opened burger too.

    you did not change the burger setting – it is still one line on opened burger menue.

    enter on your quick css now the rules of: https://kriesi.at/support/topic/header-layout-in-mobile-view-needs-help/#post-1478652

    #1478676

    Ok have changed the code for the burger menu.. It also works. The client wants 2 lines. was not able to talk hi out of it. He insists he likes it better with 2 lines.

    Now back to the original problem above. The layout of the header on the mobile is completely wrong.

    On my phone it looks like this:
    https://www.imghippo.com/i/Za3018sJc.png

    but i should be like this.
    https://www.imghippo.com/i/ak6129BLI.jpeg
    Widget left, Menu. right on the top
    Logo below

    Can you please fix this?

    #1478673

    Have to add new request via this thread (even though its a different topic) as not seeing way to start a new thread?

    Encountering problem where page not loading in edit mode on our staging site – its happening to one page that has multiple WPForms. Worked fine initially but when I went back in to edit header image, once I replaced the image, saved and went to reopen to edit again, the page goes into a spin loading (just displays the spinner – the ALB doesn’t load. It still is visible to view page online. Could it be the WPForms that is causing the problem (each has multiple notifications based on conditional logic). I will put links into the private content area. Thank you

    Tested out both in Chrome and Firefox and same thing occurring with both browsers. Its not the actual background header image itself that is causing the problem as I added it to another page, and that is opening fine in edit mode.

    • This reply was modified 1 year, 1 month ago by Martina.
    • This reply was modified 1 year, 1 month ago by Martina.
    #1478663
    Olivier SIA09
    Participant

    Hello,
    Since update 7.0 SVG icons problem
    With previous versions of Enfold, I replaced the default icons of Enfold like the magnifying glass, the basket, the social icons, back to top and others according to the several different sites that I have under Enfold.
    Now that these icons are called in SVG automatically it does not work anymore.
    I used a solution found on your documentation or support.
    With the functions.php and the avf_default_icons filter.
    Example : $icons[‘search’] = array( ‘font’ =>’flaticon’, ‘icon’ => ‘uf163’);
    Would it be possible to disable SVG icons?
    Do you have another solution?
    Kind regards,

    #1478657

    container width is all up to you / your customer – but i just asked if this is what he likes to have.
    You should clarify this somehow before you have then to rewrite a whole series of css rules.

    PS : please refresh after merging switch off the cache. On performance – “Delete Old CSS And JS Files?”

    btw: https://kriesi.at/support/topic/burger-menu-12/
    Why? – Look at opened burger menue.

    maybe this is better instead:
    (remove that display none for burger after container and add this rule instead)

    .responsive:not(.av-burger-overlay-active) .av-hamburger-inner:after {
      display: none; 
    }
    #1478652

    there are older css rules inside that are not needed – so i could not find where f.e. the after pseudo-container of the hamburger is gone.

    this is what it seems to get your style:

    #top #header #header_main .container.av-logo-container .inner-container > * {
      align-self: center
    }
    
    .html_header_top.html_header_sticky #top #wrap_all #main {
      padding-top: 300px !important;
    }
    
    @media only screen and (max-width: 989px) {
      .responsive #top #header #header_main .container.av-logo-container .inner-container {
        height: inherit;
        position: relative !important;
        flex-flow: row wrap;
        justify-content: center;
        padding: 0;
      }
      
      .responsive #top #header #header_main .inner-container .logo {
        flex: 1 1 100% !important;
        order: 3;
        max-width: 100%;
        height: unset !important;
      }
      
      .responsive #top #header #header_main .inner-container .logo a {
        align-self: flex-start
      }
      
      .responsive #top #header #header_main .inner-container .main_menu,
      .responsive #top #header #header_main .inner-container .widget {
        flex: 1 1 48%;
        height: 120px !important;
        align-items: center
      }
      
      .responsive #top #header #header_main .inner-container .main_menu {
        order: 2;
      }
      
      .responsive #top #header #header_main .inner-container .widget {
        order: 1;
      }
      
      .html_header_top.html_header_sticky #top #wrap_all #main {
        padding-top: 350px !important;
      }
      #top #header #header_main .container.av-logo-container .inner-container .logo a img {
        max-height: 200px;
      }
    }
    
    #1478647

    Ok have done that but no change.
    Please see for yourself. Open the page and narrow the window. In the beginning all text is there, then the top disappears and in the end, when the logo is also shrunk, all the text is visible again.
    Please send fix.

    #1478645

    Sorry – it was carnival here in the Rhineland (Germany) until yesterday, and that’s basically a public holiday week.

    Next: it would be nice if you could disable merging in the Enfold settings until all your goals are met. It’s hard to review and give advice without using devtools.

    Do you / your customer realy want that narrow content width vor desktop view?
    It’s hard enough to reconcile this, but with such a narrow content area, as you’ve noticed yourself, very long menu items quickly become two-liners.

    #1478630

    Hi,

    Did you add this css in the css > layout.css file?

    .responsive #top #main {
        padding-top: 200px !important;
        margin:0;
    }

    This css rule is not in theme by default. Please move the css rule in the Quick CSS field or in the child theme’s style.css file:

    @media only screen and (max-width: 767px) {
        .responsive #top #main {
            padding-top: 200px !important;
            margin: 0;
        }
    }

    Best regards,
    Ismael

    #1478623

    Hi,

    Thank you for the clarification. Unfortunately, the mega menu can only be enabled for the main menu items. It’s not available for the top bar menu.

    Best regards,
    Ismael

    #1478622

    Hey tixxpff,

    Thank you for the inquiry.

    Where can we check the page? Please create a test page, then provide the URL in the private field so that we can test it.

    Try to move the columns inside a Color Section element, add the class name “av-custom-grid-column” in the Advanced > Developer Settings > Custom CSS Class field, then add this css code:

    @media (min-width: 990px) and (max-width: 1199px) {
        #top .av-custom-column-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 20px; 
        }
    }
    
    

    Best regards,
    Ismael

    #1478619

    Hi,

    Thank you for the update.

    If you need to apply this modification to a specific gallery, you can use the Custom CSS Class field. Please check this documentation: https://kriesi.at/documentation/enfold/add-custom-css

    In the Advanced > Developer Settings > Custom CSS Class field of the Gallery element, place the name “av-gallery-side-nav” for example, then adjust the css rule:

    #top div .av-gallery-side-nav .avia-gallery-big {
        float: right;
        width: 50%;
    }

    Best regards,
    Ismael

    #1478614

    Hey chrickel,

    Thank you for the inquiry.

    Please add this code in the Quick CSS field:

    #top .menu-item-search-dropdown > a.avia-svg-icon svg:first-child, #top .menu-item-search-dropdown > a.avia-svg-icon img[is-svg-img="true"] {
        width: auto;
        height: 1em;
        position: relative;
        z-index: 1;
        stroke: var(--enfold-header-color-color);
        fill: var(--enfold-header-color-color);
    }

    Best regards,
    Ismael

    #1478610
    Dzimnikov
    Participant

    Hi team,

    Need some quick help with my site here: https://www.bonjiglass.com/shop/

    The shop categories are currently in alphabetical order, which overall I like, but I would like the Sale one to be at the top and in Bold, so people can see it first. Outside of Sales being on top, the rest being in alphabetical order is fine. Please see: https://imgur.com/a/GIq4Doo

    Also, there used to be a setting where product images would have banners when they were on sale. I used to have everything on sale, so I disabled it, but now want to turn it back on. I don’t remember if its a setting (i cant find one), or if I killed it with CSS display: none (also can’t find).

    Thank you so much for all your help.

    havi
    Participant

    Hi guys,

    The Load more button for the Masonry element stopped responding once you upgrade to Enfold 7.0 (on all my sites where I upgraded). The ones where I haven’t work fine.

    Here’s one of the sites:

    Tried on Chrome (cleared cache too), Firefox and Safari and it didn’t work on any of them.

    Thank you!

    Havi

    #1478593
    Genie692
    Participant

    hi there – please see my site http://www.c4journal.com

    I’m trying to add a new item – ‘Shop’ – to the existing menu in the header at the top of the site. The existing menu, as you can see, already contains Home, Archive, About, and MATCAxC4

    This shout be straightforward, but I’m struggling! In Appearance–>Menu, the options to ‘Add New Menu Item’ are greyed out, and the only option available is to create a new menu – which makes the old one disappear. Can anyone help? Sorry, trying to add a screenshot but i don’t seem to be able to.

    #1478587

    Thx Ismael, your ccs code works fine.

    I was unclear in my previous msg,
    I meant that I wanted the top menu (‘Partenaires de séjours de vacances’) to be a mega menu.
    As you can see I’ve checked the mega menu option but it is still displayed as a regular one, not a mega menu.

    Why?

    #1478580

    Hi,

    Please try the following in Quick CSS under Enfold->General Styling:

    nav.main_menu {
      margin-top: 5px;
    }

    Best regards,
    Rikard

    #1478578

    Hey ausgesonnen,

    Please try the following in Quick CSS under Enfold->General Styling:

    @media only screen and (max-width: 990px) {
    .av-logo-container {
      height: 300px !important;
    }
    
    .html_header_sticky #top .main_menu ul:first-child > li a {
      line-height: 0 !important;
    }
    }

    Best regards,
    Rikard

    #1478576

    Hi,

    You have this in your child theme:

    @media only screen and (min-width: 768px) and (max-width: 989px) {
      .responsive.html_mobile_menu_tablet.html_header_top #top #main {
        padding-top: 200px !important;
        margin: 300;
      }
    }

    Try removing the padding top argument.

    Best regards,
    Rikard

    #1478560
    chrickel
    Participant

    Since the update to Enfold 7 (i guess), the (fontello) svg-icon that displays the search in the top main menu (desktop view) is no longer visible (Enfold Theme Options ▸ Main Menu ▸ General ▸ Append search icon to main menu) The link works, only the magnifying glass icon is not displayed.
    Do you have an idea?
    Thanks!

Viewing 30 results - 2,251 through 2,280 (of 142,946 total)