Viewing 30 results - 2,791 through 2,820 (of 243,743 total)
  • Author
    Search Results
  • #1478828

    Hey lara666,

    Thank you for the inquiry.

    We checked the actual image, but it doesn’t exist — please check the link in the private field. Kindly try uploading the logo image again in both the Enfold > Theme Options > Logo and Enfold > Theme Options > Transparency Options > Transparency Logo settings. Let us know the result.

    Best regards,
    Ismael

    #1478826

    Hey wzshop,

    Thank you for the inquiry.

    Yes, the privacy cookies can control reCAPTCHA, but only if it has been configured in Enfold > Google Services > Google reCAPTCHA settings, and you are using the default Contact Form element from the Advanced Layout Builder. You can use the cookie shortcode av_privacy_google_recaptcha to display the privacy toggle.

    Google reCaptcha Settings:
    
    [--av_privacy_google_recaptcha--]
    

    Best regards,
    Ismael

    #1478804

    Hi,
    Glad Ismael could help, if you have any further questions please create a new thread and we will gladly try to help you. Thank you for using Enfold.

    Best regards,
    Mike

    #1478802

    In reply to: Easy Slider broken

    Hey gatehealing,
    Your site is showing the error Uncaught SyntaxError: Unexpected string
    try disabling Enfold Theme Options ▸ Performance ▸ JS & CSS file merging and compression and enable Enfold Theme Options ▸ Performance ▸ Delete old CSS and JS files and clear your browser cache and check.
    If this doesn’t help please include an admin login in the Private Content area so we can be of more assistance.

    Best regards,
    Mike

    #1478795

    Hi,
    Glad we were able to help, if you have any further questions please create a new thread and we will gladly try to help you. Thank you for using Enfold.

    Best regards,
    Mike

    #1478784
    ddecort
    Participant

    Since updating to Enfold 7.0, Gravity Forms shortcodes are no longer functional on SOME sites. The forms display, but the submit button doesn’t work.

    Is anyone else experiencing the same? No feedback, console output or errors in the logs when a gravityforms shortcode is used in a page with Enfold 7.0

    Hi,

    Thanks for the update, we’ll close this thread for now then. Please open a new thread if you should have any further questions or problems.

    Best regards,
    Rikard

    WebbR
    Participant

    Hi, ich würde gerne für auch Enfold die automatischen Aktualisierungen aktivieren.
    Das sollte doch möglich sein? Screenshot
    Konnte hier im Forum leider nichts dazu finden, freue mich über Hilfe!

    #1478756

    ich glaube nicht, das es mit einem shrinking header leicht zu realisieren sein wird. Man stößt auch mit dem flex layout an Grenzen.
    Daher habe ich mal hier eine Seite erstellt, die ein grid layout nutzt. ( Viele der Einstellungen überschreiben die in dieser Installation mit einem shrinking header standard Einstellungen. Wenn du in den Optionen direkt das Shrinking abstellst, dann sind einige der Einstellungen überflüssig)
    ____

    I don’t think it’s going to be easy to do with a shrinking header. Even with the Flex layout there are limits.
    So here is a page that uses a grid layout. (Many of the settings will overwrite the default settings in this installation with a shrinking header. If you disable shrinking directly in the options, some of the settings will be superfluous)

    https://enfold.webers-webdesign.de/grid-header/

    Du kannst hier sehen, wie es dann responsive gesetzt wird ( fr = fraction)
    You can see here how it is then set responsive ( fr = fraction)

    #1478755
    wzshop
    Participant

    Hi,
    So I am running a Woocommerce store with the Enfold theme and now am obligated to implement the Google Consent V2 cookies in order to track data. Can this be configured in the Enfold cookie settings? If not will it be implemented in the (near) future and do you recommend any plugins and setup instructions in the meanwhile? This is a mandatory setting for all wordpress webstores, so I guess it should be implemented in the Enfold cookie settings?

    Thanks

    • This topic was modified 9 months, 2 weeks ago by wzshop.
    #1478748

    In reply to: Theme update

    Hi,

    Thanks for that. I might be missing something, but it looks like the options in your screenshot arem the same as in the documentation?

    Best regards,
    Rikard

    #1478731

    In reply to: Theme update

    This reply has been marked as private.
    #1478723

    Hey eggmedia-salient,

    Thank you for the inquiry.

    You can find the list of changes for version 7.0 here: https://kriesi.at/documentation/enfold/changelog/

    Before proceeding with the update, we recommend creating a site backup or restore point using plugins like All-in-One WP Migration, Backup, Duplicator, or WP Migrate DB.

    One of the new features in version 7.0 is the SVG icons, so you may or may not encounter issues related to this. If you do, you can always reach us here in the forum.

    Best regards,
    Ismael

    Hi,

    Thank you for the update.

    Are you zooming out in your browser? If you want to increase the maximum width of the container inside the color section, you can adjust the value of the Enfold > General Layout > Dimensions > Maximum Container Width option. However, please note that this will be applied globally.

    You can also try this: https://kriesi.at/documentation/enfold/color-section/#color-section-with-100-content-width

    Best regards,
    Ismael

    #1478720

    In reply to: issues with Token

    Hey JW,

    Thank you for the inquiry.

    You may need to contact the previous developer/designer and ask for the purchase code or the private token. The private token can be generated using this link: https://account.envato.com/sign_in?to=envato-api

    https://kriesi.at/documentation/enfold/theme-registration/#how-to-generate-a-envato-personal-token

    If this is not possible, you’ll need to create your own Themeforest account, purchase another license, and generate your own token.

    Best regards,
    Ismael

    #1478715

    Hey tsays,

    Thank you for the inquiry.

    Yes, it’s possible with the Advance Layout Builder (ALB). Please check the links for more info.

    https://kriesi.at/documentation/enfold/intro-to-layout-builder/#templates
    https://kriesi.at/documentation/enfold/custom-element-templates/

    Let us know if you have more questions.

    Best regards,
    Ismael

    #1478710

    Hi,

    Unfortunately, we can’t give you that information due to privacy and security reasons. Would you mind disabling the country restrictions so that we can check the site?

    You can add this css code in the Enfold > General Styling > Quick CSS field to adjust the width of the tab section on mobile view:

    @media only screen and (max-width: 767px) {
    
      /* Add your Mobile Styles here */
      .av-tab-content-auto .av-layout-tab-inner {
        max-width: 100vw;
      }
    }

    Result:

    View post on imgur.com

    Please make sure to toggle or temporarily disable the Enfold > Performance > File Compression settings after adding the css.

    Best regards,
    Ismael

    #1478707

    Hi,

    Thank you for the update.

    You can open a new inquiry here: https://kriesi.at/support/forum/enfold/#new-post

    We created a test page (see the private field) and removed all wpforms shortcodes, but the builder still is not loading properly. We also tried removing half of the content on the page, but the issue persists.

    Have you tried deactivating the plugins? Please create a site backup or restore point first, then temporarily deactivate the plugins.

    Best regards,
    Ismael

    #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,

    Thanks for the update, we’ll close this thread for now then. Please open a new thread if you should have any further questions or problems.

    Best regards,
    Rikard

    #1478693
    tonyiatridis
    Participant

    On our website elliottlandy.com the option for revisions has disappeared. It isn’t in the screen option. I tired adding the default code ( ‘WP_POST_REVISIONS’, TRUE); to the wpconfig file setting the parameter to True but that didn’t work. It was not in that code at all. I notice however on another enfold installation the code isn’t in the default wp config file either and the revisions are unable and working. Is the code in elsewhere in enfold, could that be the issue? It’s not a plug in conflict as I tried with them all off, and its also missing on a default theme when switching the theme off temporarily

    Please help,Thanks.

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

    #1478678

    Hi Rikard

    Please can you explain this to me. Apologies, I am not understanding this option.
    If you would like to keep your current footer, then you can drag the element that you want to add to a new layout. You can then enable debug mode under Enfold->Layout Builder->Show advanced options in order to display the theme shortcodes, and copy the shortcodes to your widget.

    #1478669

    Hey M-Graphics24,

    You can create your own footer in a page layout, then set that page as your custom footer under Enfold->Footer. If you would like to keep your current footer, then you can drag the element that you want to add to a new layout. You can then enable debug mode under Enfold->Layout Builder->Show advanced options in order to display the theme shortcodes, and copy the shortcodes to your widget.

    Best regards,
    Rikard

    #1478667

    Hey woogie07,

    You can buy more than one license with the same account yes. You can create different tokens for each license to keep track of them: https://kriesi.at/documentation/enfold/theme-registration/

    Best regards,
    Rikard

    #1478663
    Olivier SIA09
    Participant

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

    #1478662

    In reply to: Theme update

    Hello and thank you for your reply.
    If you haven’t heard yet, Envato just changed the way you create a token a few days ago. They’ve added an input field that “must” correspond to the site on which you validate Enfold, even if it’s not really explicit.

    #1478654
    woogie07
    Participant

    Hi,

    I want to purchase multiple Enfold licenses within my account.
    Is the process to simply go to the purchase page and buy the licence. If so, how are the licences differentiated within my themeforest account?

    Please confirm.

    Thanks

Viewing 30 results - 2,791 through 2,820 (of 243,743 total)