Viewing 30 results - 2,131 through 2,160 (of 142,846 total)
  • Author
    Search Results
  • #1478843

    Das Phänomen existiert auch ohne die ID “superlat” und kann auch auf frischen Installationen reproduziert werden.
    Hier ist der Code um es zu reproduzieren:

    <div id=’main’ class=’all_colors’ data-scroll-offset=’88’>

    <div class=’main_color container_wrap_first container_wrap fullsize’ ><div class=’container av-section-cont-open’ ><main role=”main” itemprop=”mainContentOfPage” class=’template-page content av-content-full alpha units’><div class=’post-entry post-entry-type-page post-entry-2′><div class=’entry-content-wrapper clearfix’><section id=”” class=’av_textblock_section av-m0exh7bk-f420021c8c6e7a2c36feb8c4b82214e7 ‘ itemscope=”itemscope” itemtype=”https://schema.org/CreativeWork” ><div class=’av-desktop-hide av-medium-hide av-small-hide avia_textblock’ itemprop=”text” ><p>SIMPLE TEXTin TEXTELEMENT</p>
    </div></section>
    </div></div></main>

    m.

    #1478836

    Ok Mike, gotcha.

    What about my last question?
    Since I’ve settup a main mega menu, I cannot access the items of the top menu any more.
    How can I fix that?

    #1478832

    Hey Katja,

    Thank you for the inquiry.

    Please add this css code to adjust the color of the active mobile menu items and the search icon:

    .html_av-overlay-side #top #wrap_all div .av-burger-overlay-scroll #av-burger-menu-ul a:hover {
        color: #000000;
    }
    
    .header_color .main_menu ul:first-child > #menu-item-search > a svg:first-child {
        stroke: #fff;
        fill: #fff;
    }
    

    You may need to toggle or temporarily disable the Enfold > Performance > File Compression settings.

    Best regards,
    Ismael

    Hi,

    We remember adding it to the Quick CSS field, but it’s not there anymore. The css you posted above is being overridden by this rule in the woocommerce-mod.css file.

    .responsive #top #main .products .product {
    	margin: 0 0 20px 0;
    	width: 100%;
    }

    You can also add the same css manually in the live site if necessary.

    View post on imgur.com

    Best regards,
    Ismael

    #1478822

    Hey jonroot,

    Thank you for the inquiry.

    You can add use the following css code to adjust the size of the arrow-down element.

    .avia_transform .av-extra-border-element.border-extra-arrow-down .av-extra-border-inner {
        position: absolute;
        left: 50%;
        width: 200px;
        height: 200px;
        -webkit-transform: translateX(-50%) rotate(45deg);
        transform: translateX(-50%) rotate(45deg);
        top: -120px;
    }
    
    .avia_transform .av-extra-border-element.border-extra-arrow-down {
        position: relative;
        width: 300px;
        height: 200px;
        left: 50%;
        margin-left: -52px;
        margin-top: -1px;
        z-index: 25;
        margin-bottom: -200px;
        clear: both;
    }

    You may need to insert a Separator/Whitespace element to the succeeding sections to push the content away from the larger arrow.

    Best regards,
    Ismael

    #1478814
    lara666
    Participant

    Hi Kresi Team,

    I just made my website public today and noticed that the header logo is missing in the mobile view. Previously, it appeared black with a white background on mobile and white with a transparent background on desktop.

    Could you please assist me in resolving this as soon as possible? I need it to be visible urgently.

    I’ve attached a screenshot of the mobile view and included the login details in the private content.

    Thank you so much!

    #1478806

    In reply to: Easy Slider broken

    Ok, now I get a Bad Gateway error 502 with cloudflare udner that line. . . however when I refresh, it loads fine adn the sliders are there.

    Not sure what’s up with the bad gateway, but I did see it with my last blog post but thought it was just a glitch . . I have refreshed all pages except Counseling Services > Personal Development Counseling, and Helpful Resources (on main menu across the top, by the magnifying glass). I’m guessing you won’t get the 502 bad gateway error except on those 2 pages (helpful resources is a top level page that is not under Counseling Services).

    #1478800

    Hi,
    Unfortunately, there is not a way to add images to the top bar menu like the mega menu.

    Best regards,
    Mike

    #1478793
    MarcusJeroch
    Participant

    Warum nimmt die Sektion mit der ID #superlat auf grosseren & mittleren Bildschirmen optisch Raum ein, obwohl die responsive Settings so eingestellt sind, das es nur auf sehr kleinen Bildschirmen angezeigt werden soll?
    (Auch eine extra angelegte CSS Anweisung hat keine Wirkung. Das ist grotesk)

    <div id=’main’ class=’all_colors’ data-scroll-offset=’88’>

    <div class=’main_color container_wrap_first container_wrap fullsize’ ><div class=’container av-section-cont-open’ ><main role=”main” itemprop=”mainContentOfPage” class=’template-page content av-content-full alpha units’><div class=’post-entry post-entry-type-page post-entry-2′><div class=’entry-content-wrapper clearfix’><section id=”superlat” class=’av_textblock_section av-m0exh7bk-f420021c8c6e7a2c36feb8c4b82214e7 ‘ itemscope=”itemscope” itemtype=”https://schema.org/CreativeWork&#8221; ><div class=’av-desktop-hide av-medium-hide av-small-hide avia_textblock’ itemprop=”text” ><p>SIMPLE TEXTin TEXTELEMENT</p>
    </div></section>
    </div></div></main>

    #1478790

    Topic: Easy Slider broken

    in forum Enfold
    gatehealing
    Participant

    My top of page sliders are not appearing, so there are larget blank spots at the top of each page.

    I have put an example of the problem in the private box. I have already deleted the easy slider on my homepage, but I would prefer to put it back and not have to go completely re-vamp all of my pages.

    Any idea what happened? I have not changed anything since the last time I checked my site.
    Thanks!
    Jon

    #1478787

    There are some other themes that have similar issues. It appears it is the <picture> tag causing the issue. For me I just stopped using image plugins and let the host’s CDN handle it.

    #1478780
    CCTC2017
    Participant

    Hi, on my site, https://www.cannockchasehorsetrekking.com/, the dropdown menu works on desktop but on mobile when I click the carat to expand the ub menus nothing happens. The carat rotates but wont expand.

    Also the first few item wont normally be clickable. I have tried all sorts of combinations and some CSS but nothing works.

    Note at the momentt he setting is to showall sub menu items on mobile. Thi is to allow the first menu items to be clickable as oherwise they dont. Even though show all sub menus is selected sub menu items still not showing!

    Hey Tina,

    This might help you out: https://wcanvas.com/blog/how-to-stop-google-from-indexing-unnecessary-wordpress-urls/

    Best regards,
    Rikard

    Hi – I can’t see where this has been done..

    @media only screen and (max-width: 479px) {
    .responsive #top #wrap_all #main .products .product {
    margin: 0 1% 1% 0;
    width: 49%;
    }
    }

    I could only see this in the Theme Options?

    #1478769

    Sorry, this is far more than my knowledge of CSS can comprehend. I really don’t understand what you are talking about. All I want is the layout of the header on the mobile view to function. The Desktop view is ok.
    Could you please be so kind to rewrite and replace the complete CSS file on the site directly then?

    #1478763

    if you like to use a different font then it is better to use the image id

    function avia_replace_default_icons($icons){
    	$icons['svg__search'] =  array( 'font' =>'svg_wp-media-library', 'icon' => '40720');
    		return $icons;
    	}
    add_filter('avf_default_icons','avia_replace_default_icons', 10, 1);

    that above is an example with the new “font” of uploaded svg files to media-library

    https://kriesi.at/support/topic/how-to-replace-standard-icons/
    Advantage use media library multicolor svgs too.

    #1478751

    Hi,

    Thanks for the update. Please let us know if you should need any further help on the topic, or if we can close it.

    Best regards,
    Rikard

    #1478739

    Hi,

    Thank you for the inquiry.

    Is the avia_title override still active? What happens when you disable it? The filter provided in the following threads might help:

    https://kriesi.at/support/topic/change-blog-latest-news-title/#post-1467939
    https://kriesi.at/support/topic/change-blog-latest-news-title/#post-1467959

    You may need to update this condition and use the actual title of your blog page.

    if ( $args['title'] == 'Blog - Latest News' ) {
    

    Best regards,
    Ismael

    #1478733

    In reply to: GALLERY BORDER

    Hi,

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

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

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

    Best regards,
    Ismael

    THP Studio
    Participant

    Hey guys,

    I’ve found a few older forum threads and tried the code but can’t seem to get it to work.

    Client wants a transparent header (only on homepage, so it’s set on a page level, not site wide). Also wants it on mobile.

    I’ve got it displaying transparent on mobile using code I found in the forum:

    /* Transparent Header For Mobile */
    @media only screen and (max-width: 768px) {
    .responsive #top #wrap_all #header { 
            position: absolute;
    }}
    
    @media only screen and (max-width: 768px) {
    #top #wrap_all .av_header_transparency {
    	background: transparent;
    }}

    But cannot get the logo to use the transparent one set in the theme settings. I tried using code from this thread but couldn’t get it to work:

    We need the white version of the logo to display on mobile, not the black one.

    Could you take a look in private and see what we need to do?

    Thanks

    Tim

    #1478728
    caw67
    Participant

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

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

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

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

    $header_settings = avia_header_setting();

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    #1478721

    In reply to: issues with Token

    Hey JW,

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

    Best regards,
    Ismael

    #1478702

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

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

    #1478689

    In reply to: Enfold 7.0

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

    In reply to: Enfold 7.0

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

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

    functions.php of the plugin

    <?php

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

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

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

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

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

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

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

    public static function developMode():bool {

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

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

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

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

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

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

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

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

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

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

    );
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    return $selectors;
    }

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

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

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

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

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

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

    $content_html = ”;

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

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

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

    $curtain_reveal_overlay = ”;

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

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

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

    return $output;
    }
    }
    }

    new AbstraktEnfoldExtensions();

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

    #1478684

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

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

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

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

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

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

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

    #1478679

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

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

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

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

    #1478676

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

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

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

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

    Can you please fix this?

    #1478673

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

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

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

    • This reply was modified 1 year ago by Martina.
    • This reply was modified 1 year ago by Martina.
Viewing 30 results - 2,131 through 2,160 (of 142,846 total)