Viewing 30 results - 1,951 through 1,980 (of 106,482 total)
  • Author
    Search Results
  • #1478742

    Hi Ismael,
    i removed the logo image?
    kind regards Jak

    #1478741

    Hi!

    Thank you for the inquiry.

    Go to the Media > Library panel, look for the logo image, then specify the alt text in the Alternative Text field. This will be automatically used as the alt text for the logo.

    View post on imgur.com

    Regards,
    Ismael

    #1478738
    Jak73
    Participant

    Hi,
    i added a text-logo instead of logo-image in functions.php:

    // function - Text Logos
    //-------------------------------
    add_filter('avf_logo_subtext', 'kriesi_logo_addition');
    function kriesi_logo_addition($sub) {
        $sub .= "My Name";
        return $sub;
    }

    How can i add an alt-text like ” My Name” to it?

    kind regards Jak

    #1478733

    In reply to: GALLERY BORDER

    Hi,

    You can add this css code to adjust the padding around the gallery images.

    #top div .avia-gallery img {
        padding: 0;
    }

    Make sure to upload images with the same size and aspect ratio to create a consistent grid without unwanted spaces or gaps.

    Best regards,
    Ismael

    #1478732

    Hi,

    We ca’t find the “livraison en Afrique” page. For the Financement page, you can include this css code:

    .av-m7nj2xd7-f8dc5edf704b129f594536c49dabd9b8.avia-slideshow li img {
        height: 300px;
        object-fit: cover;
        object-position: right;
    }

    Another option is to hide the current slider on mobile view by editing the Element Visibility options in the Advanced > Responsive panel, then add another slider with an image that is specifically resized for mobile view.

    Best regards,
    Ismael

    #1478729

    In reply to: Enfold 7.0 bug

    Hi Mike

    I have add two images to show the difference because it is two different icons.
    One of them are the default icon and the other one are a custom icon.

    But the code you sent worked.
    Can you add it somewhere on your documentation so if other need to replace the default icon in the future? :-)

    #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

    #1478700

    Hey Olivier SIA09,
    We would need a admin login to examine, but I believe that if you examine this new filter for v7.0 and adjust it should work
    This filter changes the search icon:

    add_filter('avf_default_icons','avia_replace_standard_icon', 10, 1);
    function avia_replace_standard_icon($icons)
    {
    $icons['svg__search']	 = array( 'font' =>'svg_entypo-fontello', 'icon' => 'leaf');
    return $icons;
    }

    also note that the new built-in, svg icons are using “words” instead of the charter codes, if you hover over the icons in the icons element the title will show you the “words” if you have uploaded your own fontello icons use your charter codes
    You can see the list here: /enfold/includes/config-enfold/init-base-data.php
    Screen Shot 2025 03 05 at 4.06.41 PM
    these are the social icons:
    Screen Shot 2025 03 05 at 4.10.02 PM

    Best regards,
    Mike

    Hi,
    When creating a product with the ALB and you want to show the thumbnails under the main image you will first need to ensure that you have Enfold Theme Options ▸ Shop Options ▸ Product gallery ▸ WooCommerce 3.0 product gallery enabled.
    Enfold Support 5875
    Then add this css to your child theme stylesheet or the theme option Quick CSS

    .single-product .flex-control-thumbs li {
        display: flex !important;
        float: left;
    }

    then add this code to the end of your child theme functions.php file in Appearance ▸ Editor:

    add_shortcode( 'avs_product_gallery_hook', 'avs_product_gallery_hook_callback' );
    function avs_product_gallery_hook_callback( $atts ) {
    ob_start();
    woocommerce_show_product_images();
    $content = ob_get_clean();
    return $content;
    }

    Please ensure to copy the code from the forum and not an email notification so the symbols are not converted.
    and add this shortcode to your page where you want the image to show in a code block:
    [avs_product_gallery_hook]
    Enfold Support 6606
    Enfold Support 6608
    the switch occurs on click and not hover, as per woocommerce.
    This will only work on product pages and not shop or archive pages, perhaps there is a plugin that will do that but you will prob need to also use the default editor instead of the ALB.

    Best regards,
    Mike

    #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’
    );

    #1478685
    Orenishii
    Participant

    Hello,

    I have created a page that will serve as a microsite for a project, and am trying to use the submenu as a header. Though the image does appear, it is not aligned with the nav links. The sizing of the image is suitable for its position on the page (280p by 40px), so I’m not sure how to fix this. Could you please assist?

    Also, is there a way to position the logo on the left side and the nav links on the right? Thank you.

    #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.
    #1478672

    In reply to: GALLERY BORDER

    Hi Rikard

    I have actually changed the format to a grid but I still need to make the gap between the images smaller. Is this possible

    #1478653

    Topic: GALLERY BORDER

    in forum Enfold
    M-Graphics24
    Participant

    Hi Team

    Please could you provide a solution to edit the border on the gallery element in enfold. I have a white border around the images and I would like to change the colour to #50616b and I need to reduce the thickness.

    #1478650

    Hi ,

    When I use easy slider on the following page “livraison en Afrique” or “Financement” I have the same issue when I open the page on the mobile phone.

    My easy slider does not display the text or entire image

    Best regards

    Hi,

    Thank you for the inquiry.

    Please edit the framework/php/class-responsive-images.php and replace everything with this code:

    https://pastebin.com/vDJhhnzD

    This will be included in the next patch.

    Let us know the result.

    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.

    Hey Mike

    I have added a gallery image to one of the Fiocchetti products and will add additional images to other products where I plan on using the code..
    Here is what the screen looks like in the backend of the Enfold custom single product screen: https://www.dropbox.com/s/y154n178mrx85yz/Screenshot%202025-03-04%20at%2014.26.45.jpg?st=n7e1k9nw&dl=0
    The gallery images will not be visible on the frontend.

    I am looking for a code snippet to use which will then on hover use the first gallery image instead of the main product image.
    Similar to what is done here: https://www.fiocchetti.com/en/products/bloodbanks-4degc?e=275 but mainly for the single product page.

    I need the code for the shop, archive and the single product page.

    Thanks.

    • This reply was modified 1 year, 1 month ago by SHR Design. Reason: Additional information

    I just reported another issue with exactly the same issue. Update to 7.0 made the site inaccessible due to the high database load.

    Enfold 7.0 high database load

    • This reply was modified 1 year, 1 month ago by ceesenco.
    roelvanleuken
    Participant

    In the backend of our website, editing a page for example or a WooCommerce product (using the classic editor, not the Advanced Layout builder) results in a lot of duplicate database queries which slows down the page load significantly on larger websites. Checked it on multiple websites.

    Website 1: 84 of the same query is used
    Website 2: 85 of the same query is used

    The query:

    SELECT post_id, meta_value
    FROM wp_postmeta
    WHERE meta_key = '_wp_attached_file'
    AND meta_value = '/home/xxxxx/public_html/wp-content/themes/enfold/config-templatebuilder/avia-template-builder/assets/fonts/svg_entypo-fontello/svg/lock.svg'

    Duplicate queries

    #1478545

    Hola Ismael

    1/ yep i relaunched google consol inspection after i removed the beehiive newsletter CCS link, i also unchecked few option in enfold them that were unnecessary according to the thread i have read (query, css etc ..) in the performance page. It seems the beehiive error eventually disappeared after new test.

    2/ errors are various , seems to concern an avia format (despite avia content is checked in yoast setting)

    my contact page is the only one to have soft 404 error and google can’t access it. It has 3 errors

    https://www.domain.ch/wp-content/themes/enfold/config-templatebuilder/avia-shortcodes/heading/heading.min.css?ver=6.0.9
    https://www.domain.ch/wp-content/themes/enfold/config-templatebuilder/avia-shortcodes/icon_circles/icon_circles.min.css?ver=6.0.9

    + the usual captcha icon robot text error i develop at the end of the message

    for the rest of the pages , errors are. :

    https://www.domain.ch/wp-content/themes/enfold/config-templatebuilder/avia-shortcodes/icon_circles/icon_circles.min.css?ver=6.0.9

    https://www.domain.ch/wp-content/themes/enfold/config-templatebuilder/avia-shortcodes/buttons/buttons.min.css?ver=6.0.9

    https://www.domain.ch/wp-content/themes/enfold/config-templatebuilder/avia-shortcodes/menu/menu.min.css?ver=6.0.9

    https://www.domain.chh/wp-content/themes/enfold/config-templatebuilder/avia-shortcodes/grid_row/grid_row.min.css?ver=6.0.9

    https://www.domain.ch/wp-content/themes/enfold/css/base.min.css?ver=6.0.9

    https://www.domain.ch/wp-content/themes/enfold/css/grid.min.css?ver=6.0.9

    https://www.domain.ch/wp-content/themes/enfold/config-templatebuilder/avia-shortcodes/hr/hr.min.css?ver=6.0.9

    https://www.domain.ch/wp-content/themes/enfold/config-templatebuilder/avia-shortcodes/iconbox/iconbox.min.css?ver=6.0.9

    https://www.domain.ch/wp-content/themes/enfold/config-templatebuilder/avia-shortcodes/magazine/magazine.min.css?ver=6.0.9

    https://www.domain.ch/wp-content/themes/enfold/config-templatebuilder/avia-shortcodes/buttons/buttons.min.css?ver=6.0.9

    ————-

    arecaptacha logo robot.txt :

    googlebot is blocked by robot.txt file : https://www.gstatic.com/recaptcha/api2/logo_48.png

    when you open robot text file you get this :

    User-agent: *
    Allow: /_/aihub_pod/
    Allow: /_/alkali-learn/
    Allow: /_/apps-viewer/
    Allow: /_/atari/
    Allow: /_/boq/
    Allow: /_/boq-play/
    Allow: /_/boutique/
    Allow: /_/buganizer/
    Allow: /_/compare-banking/
    Allow: /_/compare-insurance/
    Allow: /_/fi/
    Allow: /_/fonts/
    Allow: /_/mss/boq-bard-web/
    Allow: /_/mss/boq-chrome-cloudcast/
    Allow: /_/mss/boq-cloud-web3-portal/
    Allow: /_/mss/boq-discover-labs/
    Allow: /_/mss/boq-geo/
    Allow: /_/mss/boq-makersuite/
    Allow: /_/mss/boq-nbu-monetization/
    Allow: /_/mss/boq-search/
    Allow: /_/mss/boq-search-engagement-post/
    Allow: /_/mss/boq-travel/
    Allow: /_/mss/boq-identity/
    Allow: /_/pantheon/
    Allow: /_/pantheon-platform/
    Allow: /_/play/
    Allow: /_/pog/
    Allow: /_/cloudsourcetools/
    Allow: /_/devopsconsole/
    Allow: /_/tfhub/
    Allow: /_/transparencyreport/
    Allow: /_/gstore/
    Allow: /_/ain/_/js/
    Allow: /ac/
    Allow: /actions/news/rss/
    Allow: /ads/learn/
    Allow: /ads/local/
    Allow: /ads/gpa/vidgen/
    Allow: /ads/research/
    Allow: /ads/ubaq/
    Allow: /aihub/tfhub/
    Allow: /alkali/
    Allow: /amphtml/stamp/ucp/post-testing/
    Allow: /android/market/
    Allow: /android/market_images/
    Allow: /atari/images/public/
    Allow: /audio_news/
    Allow: /bfe/apps/website/
    Allow: /boutique/sitemaps/
    Allow: /compare/
    Allow: /chrome/crlset/
    Allow: /chrome/webstore/images/
    Allow: /cloud-launcher/sitemap/
    Allow: /cloudsourcetools/images/
    Allow: /commercesearch/images/
    Allow: /communities/sitemap/
    Allow: /copy-conductor/crawled/
    Allow: /covid19/mobility/
    Allow: /culturalinstitute/images/
    Allow: /culturalinstitute/sitemaps/
    Allow: /culturalinstitute/stella/
    Allow: /ct/log_list/
    Allow: /delight/
    Allow: /devopsconsole/images/
    Allow: /devrel-devsite/
    Allow: /docs/forms/social/
    Allow: /docs/socialmarkup/
    Allow: /dictionary/static/sitemaps/
    Allow: /droidguard/
    Allow: /earth/social/
    Allow: /enterprise-partner-search/sitemaps/
    Allow: /external_hosted/
    Allow: /flights/
    Allow: /flutter-canvaskit/
    Allow: /foodordering/
    Allow: /frommers/
    Allow: /gb/images/
    Allow: /glass/images/commerce/
    Allow: /gpay/social/
    Allow: /growth-ime/
    Allow: /gsx/
    Allow: /gtp/stir/
    Allow: /guidebooks/
    Allow: /GoogleInternetAuthority/
    Allow: /h5games_gamecenter/images/
    Allow: /healthricherkp/illustrations/
    Allow: /healthricherkp/cropped/
    Allow: /hex/
    Allow: /history/static/
    Allow: /identity/accountsettingsactivityweb/
    Allow: /identity/accountsettingssyaf/
    Allow: /images
    Allow: /inproduct_help/chatsupport/
    Allow: /lamda/images/
    Allow: /local/donut/
    Allow: /mapspro/
    Allow: /marketing-cms/
    Allow: /moderator/static/ux/
    Allow: /modern-formats-eng/ucp/framework_logging/
    Allow: /modern-formats-eng/ucp/*/client/
    Allow: /modern-formats-eng/ucp/*/csr/
    Allow: /modern-formats-eng/ucp/*/dev/
    Allow: /modern-formats-eng/ucp/static/framework_logging/
    Allow: /modern-formats-eng/ucp/static/*/client/
    Allow: /modern-formats-eng/ucp/static/*/csr/
    Allow: /modern-formats-eng/ucp/static/*/dev/
    Allow: /nbubumblebee/
    Allow: /og/
    Allow: /onebox/media/sports/logos/
    Allow: /onebox/media/sports/photos/soccer/wc2018/
    Allow: /onebox/sports/logos/
    Allow: /onebox/sports/logos/sports_types/png/
    Allow: /pagespeed/insights/ui/logo/
    Allow: /pantheon/
    Allow: /pantheon-platform/
    Allow: /patent-search/frontend/
    Allow: /pay/images/merchant_logos/
    Allow: /pay/images/program_logos/
    Allow: /paygo/
    Allow: /play/store/web/
    Allow: /play/surveys/serp/
    Allow: /podcasts/test-podcast/rss/
    Allow: /politics/e/sharing/
    Allow: /prettyearth/assets/
    Allow: /psb/udc/
    Allow: /s2/sitemaps/
    Allow: /search-ar-dev/
    Allow: /search-console/scfe/
    Allow: /shopping-content-api/product_images/
    Allow: /shopping/shoppingpage/casa/
    Allow: /shopstream/
    Allow: /sites/
    Allow: /sitemaps/
    Allow: /social/photosui/images/
    Allow: /social/photosui/sitemap/
    Allow: /stadia/gamers/
    Allow: /store/images/favicons/
    Allow: /subscriptions/
    Allow: /support/content/
    Allow: /system1/images/
    Allow: /travel-frontend/images/
    Allow: /finance/favicon/
    Allow: /travel-vacations/
    Allow: /touringbird/
    Allow: /trends/
    Allow: /trends_tpt/
    Allow: /trustedstores/images/
    Allow: /trustedstores/js/
    Allow: /tv/thumb/
    Allow: /ui/
    Allow: /vr/*
    Allow: /vsi/*.pdf$
    Allow: /wondermissive/interest/
    Allow: /youtube/fonts/
    Allow: /youtube/img/promos/
    Allow: /icons/
    Allow: /js/
    Allow: /ss/
    Allow: /*.js
    Allow: /*.css
    Allow: /*.svg
    Allow: /buyside-e2e-monitor/

    the strange thing is i dont find this in my yoast robot manager

    do you think Google captach might be a problem ?

    #1478541

    If I go to a 1/1 page format then I would have to put the title on top of the photos instead of beside the gallery of images… Unless I use the Ajax feature which seems to allow for text content to appear to the left of the gallery. I’m not familiar with this option plus generally don’t like the formatting limitations and quirkyness within this text field area.

    If I use your previously supplied CSS coding can I control the number of thumbnail columns with the gallery styling tools?

    #1478538

    Hi,

    Yes, we were referring to the left column. Have you tried moving the gallery to 1/1 column to create more space for the main image and the thumbnails?

    Best regards,
    Ismael

    #1478535

    This page layout is a 1/3 left hand column for art title, specification and eventual description and 2/3 right hand column for gallery photos. Are you referring to the left column as a default sidebar? When creating the portfolio entry I did turn off the default sidebar there.

    The question still stands “If I use a different percentage say 25% (for the large image) will the thumbnails stack (to the left) on top of one another, creating perhaps 2 columns wide over 5 rows tall?”

    #1478531

    This solution makes the large image too small (non-impactful) for impressive portfolio use. If I use a different percentage say 25% will the thumbnails stack on top of one another, creating perhaps 2 columns wide over 5 rows tall?

    #1478529

    Hey JeffDale,

    Thank you for the inquiry.

    There is no option for this by default, but you can add this css code to adjust the width of the main image and move it to the right, effectively creating space for the thumbnails.

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

    Result:

    View post on imgur.com

    Best regards,
    Ismael

    #1478527
    JeffDale
    Participant

    Under media elements when using a custom gallery with large image and small thumbnails – Is it possible to locate the thumbnails to the left of the large image or even better in a separate column? Currently the only option appears to be under the large image, which unfortunately the viewer doesn’t see unless they scroll down to find them. A link is list in the private section showing how I’d like the thumbnails to appear in a left hand column.

    #1478513

    Hi,

    Are you trying to increase the height of the slider? If so, then you can add this css code:

    @media only screen and (max-width: 767px) {
    
      /* Add your Mobile Styles here */
      .avia-slideshow.av-lu5z97j3-d1f957c8c38e449b8b56e5cb4753112f .avia-slideshow-slide img {
        min-height: 500px;
        object-fit: cover;
      }
    }

    Please note that this may partially cut off the images. Would you mind providing a screenshot of how you would like it to display on mobile view?

    Best regards,
    Ismael

    Hi,

    Thank you for the info.

    We disabled the Linked Image Overlay in the Advanced Styling panel.

    View post on imgur.com

    Best regards,
    Ismael

Viewing 30 results - 1,951 through 1,980 (of 106,482 total)