Viewing 30 results - 1 through 30 (of 1,269 total)
  • Author
    Search Results
  • Hey ti2media,
    Try adding this snippet to your child theme functions.php:

    function add_sticky_info_box() {
        ?>
        <style>
            .sticky-info-box {
                position: fixed;
                bottom: 120px;
                right: 20px;
                width: 300px;
                height: 300px;
                background: #ffffff;
                border: 1px solid #ddd;
                border-radius: 8px;
                box-shadow: 0 4px 12px rgba(0,0,0,0.15);
                z-index: 9999;
                display: flex;
                flex-direction: column;
                padding: 20px;
                box-sizing: border-box;
                transition: opacity 0.3s ease;
            }
            
            .sticky-info-box.hidden {
                display: none;
            }
            
            .sticky-info-box-header {
                display: flex;
                justify-content: space-between;
                align-items: flex-start;
                margin-bottom: 15px;
            }
            
            .sticky-info-box-title {
                font-size: 20px;
                font-weight: bold;
                color: #333;
                margin: 0;
                flex: 1;
            }
            
            .sticky-info-box-close {
                background: none;
                border: none;
                font-size: 24px;
                color: #999;
                cursor: pointer;
                padding: 0;
                width: 30px;
                height: 30px;
                display: flex;
                align-items: center;
                justify-content: center;
                transition: color 0.2s ease;
            }
            
            .sticky-info-box-close:hover {
                color: #333;
            }
            
            .sticky-info-box-message {
                flex: 1;
                color: #666;
                font-size: 14px;
                line-height: 1.6;
                margin-bottom: 20px;
                overflow-y: auto;
            }
            
            .sticky-info-box-button {
                background: #0073aa;
                color: white;
                border: none;
                padding: 12px 24px;
                border-radius: 4px;
                font-size: 16px;
                cursor: pointer;
                text-decoration: none;
                display: inline-block;
                text-align: center;
                transition: background 0.2s ease;
            }
            
            .sticky-info-box-button:hover {
                background: #005a87;
            }
            
            .sticky-info-toggle {
                position: fixed;
                bottom: 120px;
                right: 50px;
                width: 50px;
                height: 50px;
                background: #0073aa;
                color: white;
                border: none;
                border-radius: 50%;
                font-size: 24px;
                cursor: pointer;
                box-shadow: 0 4px 12px rgba(0,0,0,0.15);
                z-index: 9998;
                display: none;
                align-items: center;
                justify-content: center;
                transition: background 0.2s ease;
            }
            
            .sticky-info-toggle:hover {
                background: #005a87;
            }
            
            .sticky-info-toggle.visible {
                display: flex;
            }
        </style>
        
        <div class="sticky-info-box" id="stickyInfoBox">
            <div class="sticky-info-box-header">
                <h3 class="sticky-info-box-title">Important Information</h3>
                <button class="sticky-info-box-close" id="closeInfoBox" aria-label="Close">×</button>
            </div>
            <div class="sticky-info-box-message">
                <p>This is your information box! You can customize this message to display any content you'd like to share with your visitors.</p>
            </div>
            <a href="/your-page-url" class="sticky-info-box-button">Learn More</a>
        </div>
        
        <button class="sticky-info-toggle" id="infoToggle" aria-label="Show information">ℹ</button>
        
        <script>
            (function() {
                var infoBox = document.getElementById('stickyInfoBox');
                var closeBtn = document.getElementById('closeInfoBox');
                var toggleBtn = document.getElementById('infoToggle');
                
                // Close the info box
                closeBtn.addEventListener('click', function() {
                    infoBox.classList.add('hidden');
                    toggleBtn.classList.add('visible');
                });
                
                // Show the info box again
                toggleBtn.addEventListener('click', function() {
                    infoBox.classList.remove('hidden');
                    toggleBtn.classList.remove('visible');
                });
            })();
        </script>
        <?php
    }
    add_action('wp_footer', 'add_sticky_info_box');
    

    Then adjust the title, message, buttone text & link to suit. You can also adjust the CSS to change colors, etc.
    It places the box & info button 120px from the bottom so they are above the scroll-top button, ratio than have them move if the scroll-top shows, which would not be so good.
    fIPHs99.md.png
    fIPJ6iv.md.png

    Best regards,
    Mike

    #1491451

    Hi Ismael,

    The fact that files are physically deleted is a problem. Honestly, it’s a bit frustrating, because if you guys don’t see any problem, we are stuck with a theme that will cause display issues when you least expect it.

    Since you’d like to see style issues, here’s the steps you need to follow. It can also be reproduce on the staging site:

    1) Activate WP Rocket (the cache plugin we use)

    2) Flush WP Rocket’s cache.

    3) Visit the homepage from an Incognito window. Everything looks good. Notice the backgrounds and the file: https://i.imgur.com/Za2PKtu.png

    4) Go to Theme Options > Performance and scroll down. You will see the option that says “Delete Old CSS And JS Files” is unchecked: https://i.imgur.com/saPibEH.png

    5) Toggle the option on and then off again so the button to save the changes becomes available: https://i.imgur.com/UKA29Ny.png

    6) Save the changes.

    7) At this point, the physical CSS files are deleted.

    8) Close the previous Incognito window and open a new one.

    9) Visit the homepage again. Styles are missing: https://i.imgur.com/oqqtgWN.png

    The reason is clear. Enfold is deleting the files the cached page still references to. I think you need to solve this in any way:
    – Either flush the cache of the most popular cache plugins automatically,
    – or make the checkbox “Delete Old CSS And JS Files” do what it’s supposed to do (if anyway they’re deleted, why does this checkbox exist?),
    – or provide a solution (a filter or something) so that we can flush the cache programmatically when the “Save the changes” button is pressed.

    Thank you,

    #1490822
    felix_frank
    Participant

    Hallo zusammen!

    Ich habe die Schritte wie in https://kriesi.at/support/topic/pop-up-lightbox/#post-1429407 beschrieben umgesetzt und dann den Shortcode von einem Formular eingefügt. Mein Ziel ist es, ein Formular in einem Popup anzuzeigen, wenn man auf einen Button klickt.

    Also:

    
    function magnific_popup_with_no_scroll_and_button() { ?>
      <script>
    (function($) {
      $(window).on('load', function(){
    	$('.open-popup-button a').addClass('open-popup-link');
        $('.open-popup-link').addClass('no-scroll');
        $('.open-popup-link').magnificPopup({
          type:'inline',
          midClick: true,
          callbacks: {
            beforeOpen: function () {
              $('body').css("overflow-y", "hidden");
            },
            close: function() {
              $('body').css("overflow-y", "auto");
            },
          },
        });
      });
      })(jQuery);
    </script>
      <?php
    }
    add_action( 'wp_footer', 'magnific_popup_with_no_scroll_and_button', 99 );
    

    Das in die functions.php eingesetzt.

    Eine Code-Box mit folgendem Inhalt erstellt:

    
    <div id="open-popup" class="popup mfp-hide">
    <p>[av_layout_template template_id='popform']</p>
    </div>
    

    Und auch das im Quick-CSS hinzugefügt:

    
    .popup {
    position: relative;
    background: #FFF;
    padding: 20px;
    width: auto;
    max-width: 500px;
    margin: 20px auto;
    }
    

    Weil es nicht funktioniert hat habe ich auch das noch hinzugefügt:

    
    add_filter('avia_allow_shortcodes_in_codeblock', '__return_true');
    add_filter('avf_alb_support_modal_templates', '__return_true');
    

    Leider funktioniert es nicht. Es öffnet sich ein Modal aber darin steht nur der Shortcode. Ich bin ratlos. Kann mir bitte jemand dabei helfen das hinzubekommen.

    Link zur Testseite im PC.

    • This topic was modified 1 month, 2 weeks ago by felix_frank.
    • This topic was modified 1 month, 2 weeks ago by felix_frank.
    #1490338

    In reply to: .scroll-down-link

    hm – didn’t i mention a solution before ? …

    but take this instead from https://kriesi.at/support/topic/scroll-down-link/#post-1489662 – because we have choosen before this slightly rounded version :

    function avia_replace_default_icons($icons){
     $icons['svg__scrolldown'] =  array( 'font' =>'svg_entypo-fontello', 'icon' => 'down-open');
     $icons['svg__prev'] =  array( 'font' =>'svg_entypo-fontello', 'icon' => 'left-open');
     $icons['svg__next'] =  array( 'font' =>'svg_entypo-fontello', 'icon' => 'right-open');
     return $icons;
    }
    add_filter('avf_default_icons','avia_replace_default_icons', 10, 1);

    and try :

    #top .avia-post-nav {
      padding: 20px;
    }
    
    #top .avia-post-nav .label {
      position:absolute;
      top:50% !important;
      transform: translateY(-50%);
      height:48px;
      margin-top:0;
    }
    
    .avia-post-nav .label.avia-svg-icon svg:first-child {
      fill: #FFF;
      height:48px;
      width: auto;
    }

    btw: you can have on opend slide-out a different fill color:

    #top .avia-post-nav:hover .label.avia-svg-icon svg:first-child {
      fill: #eee
    }
    #1489608

    In reply to: Multiple shop pages

    This removes the products from the shop list… but not from the categories:

    View post on imgur.com

    I would want to remove the category from just the main shop page. I can use a page number identifier and remove it with CSS right?

    It also makes the SHOP page… 2 pages… instead of just one. Which isn’t ideal, I would prefer that people keep scrolling, rather than have to press next page

    -Also, what about my other question from above? Regarding a different banner for each shop page?

    -Also, another question, is there a way to control which categories Start out Open… vs Closed on the Shop pages?
    Like on the Main Shop Page… I want to Give people the option to search by Liquor Type. I don’t want the subcategories below it (like tequila, vodka, etc) to show up automatically, I’d like it to remain closed until a visitor clicks it?

    Another weird thing, when I add in the Spirits Category, the system for whatever reason pushes it to the top:

    View post on imgur.com

    Even though alphabetically it should be below. I have no idea why thats happening

    • This reply was modified 2 months, 2 weeks ago by Dzimnikov.
    • This reply was modified 2 months, 2 weeks ago by Dzimnikov.
    • This reply was modified 2 months, 2 weeks ago by Dzimnikov.
    #1489029

    Hey oburlin,
    For the image caption, you will note in the element that it’s placement is in the overlay:
    Screen Shot 2025-09-06 at 7.14.36 AM
    To move to the lower part of the image, I see that you have added this custom css:

    .av-image-caption-overlay {
        background: none repeat scroll 0 0 rgba(0, 0, 0, 0) !important;
        bottom: 0px !important;
        color: black !important;
        height: auto !important;
        left: 50% !important;
        transform: translate(-50%) !important;
        width: auto !important;
    }

    Resulting in this:
    Screen Shot 2025-09-06 at 7.18.09 AM
    To make it one line try removing width: auto !important; from your css.
    Then you would see:
    Screen Shot 2025-09-06 at 7.20.28 AM
    If you want the caption below the image, try this css instead:

    #top .av-image-caption-overlay {
        height: auto;
        width: 100%;
        left: 0px;
        bottom: 0px;
        transform: translateY(100%);
    }
    #top .av-overlay-hover-deactivate .avia-image-overlay-wrap:hover .av-caption-image-overlay-bg {
        opacity: 0.4 !important;
    }
    #top .avia-image-container .av-caption-image-overlay-bg {
        opacity: 0.4;
        background-color: transparent;
    }
    #top .avia-image-container .av-image-caption-overlay-center {
        color: #000;
    }

    resulting in this:
    Screen Shot 2025-09-06 at 7.31.39 AM

    Best regards,
    Mike

    #1487582

    Hey Russell,

    Thanks for reaching out again.

    We can now see the video and can confirm that the scroll animations in the old site can be recreated with Enfold. You can apply these animations to Column elements, and they should be automatically triggered on scroll. You can also utilize the Layer Slider plugin, which is natively included in the theme, to create hero sections or sliders.

    Unfortunately, presale questions are one-time and can’t be continued like forum discussions. You will need to acquire a theme license and then use the purchase code to register an account on the forum.

    https://kriesi.at/support/register/

    Once registered, you can open a thread using this form: https://kriesi.at/support/forum/enfold/#new-post

    Let us know if there’s anything else we can help with.

    Best regards,

    Previous Reply:
    ============================================================================================================
    Thank you for your interest in Enfold.

    The videos are not accessible, so we’re not able to view them. In any case, the theme comes with built-in demo content, so you don’t need to start from scratch. You can simply import a demo and then incorporate your existing designs, images, and content to match what you have in mind. It’s very user-friendly, with plenty of customization options and a powerful Advanced Layout Builder where most of the content creation and site building will take place.

    If you have any questions or need help with development, feel free to reach out to us here in the forum — we’re happy to help.

    You can preview the available theme demos below.

    https://kriesi.at/themes/enfold-overview/

    To help you get started, please check out the documentation.

    https://kriesi.at/documentation/enfold/

    Let us know if you have any more questions.
    ============================================================================================================

    Best regards,
    Ismael

    #1487366

    Hi,

    Thank you for the update.

    You can add this css code to reverse the burger menu animation from left to right.

    .html_av-overlay-side .av-burger-overlay-scroll {
        width: 500px;
        transform: translateX(-500px);
        left: 0;
        right: auto;
    }
    

    For the home page, you can try this css code to completely hide the header.

    .home #header 
        display: none;
    }

    Best regards,
    Ismael

    #1486105

    Hi,
    Thanks for your help Guenni007, but in my test it seems that only targeting the ID “#av_section_1” didn’t help, I tried adjusting to const container = document.querySelector('#av_section_1 .av-parallax-object'); to target the text in the parallax but as you pointed out it was jerky for the speed needed.
    With trial and error and AI I found that this javascript & css works well for desktop & mobile and smooths out most all the jerk from the text and background image.
    Try adding this code to the end of your child theme functions.php file in Appearance ▸ Editor:

    function move_text_in_parallax_down_on_scroll() { ?>
      <script>
      document.addEventListener("DOMContentLoaded", function () {
      const el = document.querySelector("#av_section_1 .av-parallax-object");
      const bg = document.querySelector("#av_section_1 .av-parallax");
    
      if (!el || !bg) return;
    
      const isMobile = window.innerWidth < 768;
    
      const textSpeed = isMobile ? 0.9 : 0.7;
      const bgSpeed = isMobile ? 0.3 : 0.2;
    
      let currentYText = 0;
      let currentYBg = 0;
    
      const updateParallax = () => {
        const scrollY = window.scrollY || window.pageYOffset;
    
        // Text transform
        const targetYText = scrollY * textSpeed;
        currentYText += (targetYText - currentYText) * 0.05;
        el.style.transform = translateY(${currentYText}px);
    
        // Background transform
        const targetYBg = scrollY * bgSpeed;
        currentYBg += (targetYBg - currentYBg) * 0.05;
        bg.style.transform = translateY(${currentYBg}px); // GPU accelerated
    
        requestAnimationFrame(updateParallax);
      };
    
      requestAnimationFrame(updateParallax);
    });
      </script>
      <style>
      #av_section_1 .av-parallax-object {
      position: relative;
      top: 0;
      left: 0;
      will-change: transform;
      backface-visibility: hidden;
      transform: translateZ(0);
    }
    #av_section_1 {
      position: relative;
      overflow: hidden;
    }
    #av_section_1 .av-parallax {
      background-attachment: scroll !important; /* disables fixed scroll handling */
      background-position: center center !important;
      transform: none !important;
      will-change: auto !important;
    }  
      </style>
      <?php
    }
    add_action( 'wp_footer', 'move_text_in_parallax_down_on_scroll', 99 );

    If you are not using a child theme you could use the WP Code plugin then add a new snippet, in the top right corner use the PHP snippet as the code type:
    use wpcode php snippet and activate
    and ensure that it is activated, then add the above code and save.

    Best regards,
    Mike

    #1485303
    jedediahzilberberg
    Participant

    Recently on my site, after updating to Enfold 7.1 (WP 6.8.1), I am seeing p tags getting added automatically. This should not happen. How do I stop this from happening? Here are 2 examples of this happening:

    <p class=”ai-optimize-89″></p>

    <p class=”ai-optimize-96″>
    <style type=”text/css” data-created_by=”avia_inline_auto” id=”style-css-av-2w1fh1-60a2143162635ac4b509f8d4973bd200″>
    .avia-section.av-2w1fh1-60a2143162635ac4b509f8d4973bd200{
    background-repeat:no-repeat;
    background-image:var(–wpr-bg-d2d137c8-5f7d-4d64-9d8d-23b56da50b14);
    background-position:0% 0%;
    background-attachment:scroll;
    }
    </style>
    </p>

    #1484536

    Thank you. I am working on setting up staging so I can convert to the child theme.

    IN THE MEANTIME.. I noticed my other website does not have the font so big, and after all this, I remember years ago I wanted the images bigger, so you gave me this code to put in the QUICK CSS…

    THERE ARE A FEW THINGS YOU GAVE ME IN HERE. CAN WE CHANGE THE PART FOR THE MAGAZINE TO HAVE A SMALLER FONT SIZE USING THIS CODE?

    I am giving you the whole section because I don’t know for sure which part is magazine and which is something else.

    THANK YOU IN ADVANCE FOR HELPING !!!

    THIS IS EVERYTHING IN THE QUICK CSS:
    p strong{
    color:#000!important;
    }

    #top .av-caption-style-overlay .av-masonry-entry .av-masonry-entry-title {
    color: white!important;
    }

    .av-magazine-thumbnail {
    min-height: auto;
    }

    #top .av-caption-style-overlay .av-masonry-entry .av-masonry-entry-title {
    color: white!important;
    }

    .av-magazine-thumbnail {
    min-height: auto;
    }
    div .slideshow_caption h2 {
    text-transform: none;
    }

    .av-magazine-thumbnail {
    width: 135px;
    height: auto;
    }

    @media only screen and (min-width: 768px) and (max-width: 1024px) {
    h2.avia-caption-title {
    font-size: 30px !important;
    }
    .avia-caption-content p {
    font-size: 22px !important;
    line-height: 24px;
    }
    }

    @media only screen and (max-width: 767px) {
    h2.avia-caption-title {
    font-size: 20px !important;
    }
    .avia-caption-content p {
    font-size: 14px !important;
    line-height: 16px;
    }
    .slideshow_caption {
    padding-top: 20px !important;
    }
    }

    #header_meta .menu li a {
    color: #fff !important;
    }
    .av-burger-overlay-scroll #av-burger-menu-ul a {
    color: #fff;
    }

    .html_av-overlay-side #top #wrap_all .av-burger-overlay-scroll #av-burger-menu-ul a {
    color: #fff;
    }

    .html_av-overlay-side.av-burger-overlay-active #top .av-hamburger-inner, .html_av-overlay-side.av-burger-overlay-active #top .av-hamburger-inner::before, .html_av-overlay-side.av-burger-overlay-active #top .av-hamburger-inner::after {
    background-color: #fff;
    }

    #header_meta .sub_menu .menu li a {
    color: #030303 !important;
    }

    .avia_textblock a strong {
    color: blue !important;
    }

    #1484140

    In reply to: Lightbox settings

    Hello,
    for the thumbnail size i managed it, thanks

    But for the scroll, it doesn’t work for me with you code.

    i put this instead and it seams to be OK:

    .mfp-wrap.mfp-gallery.mfp-close-btn-in.mfp-auto-cursor.avia-popup.mfp-zoom-in.mfp-ready {
    top: 0 !important;
    position:fixed!important;
    }

    What do you think about it?

    #1483966

    Hi,
    I checked your page on my Android mobile device, but I don’t see that it is automatically scrolling, up or down, please explain further.

    Best regards,
    Mike

    #1483650

    Hey Tilman,

    Thank you for the inquiry.

    You can use the following css code to adjust the height of the burger menu items and the width of the overlay container.

    .html_av-overlay-side #top #wrap_all .av-burger-overlay li a {
        line-height: 2em;
        height: auto;
        padding: 15px 50px;
    }
    
    .html_av-overlay-side #top #wrap_all .av-burger-overlay-scroll {
        width: calc(100vw - 65%);
    }

    Best regards,
    Ismael

    #1483649

    Hey Tilman,

    Thank you for the inquiry.

    You can use the following css code to adjust the height of the burger menu items and the width of the overlay container.

    .html_av-overlay-side #top #wrap_all .av-burger-overlay li a {
        line-height: 2em;
        height: auto;
        padding: 15px 50px;
    }
    
    .html_av-overlay-side #top #wrap_all .av-burger-overlay-scroll {
        width: calc(100vw - 65%);
    }

    Best regards,
    Ismael

    #1483535
    Zrated09
    Participant

    How do we make each section of a page automatically fit the whole screen vertically. Similar to your “One Page” Demo. But each page that we make, as you scroll down through the page, we want each section to fill the screen vertically so you have clear distinct sections that fill the screen.

    #1483319

    In reply to: Links Tab Section

    Hey Diana,

    Thank you for the inquiry.

    Are you trying to make the document automatically scroll and open the tabs when the links are used? If so, you can try adding this script in the functions.php file:

    add_action('wp_footer', function() {
        ?>
        <script>
        document.addEventListener('DOMContentLoaded', function() {
            (function($) {
                function scrollToTab(selector, eventType) {
                    $(selector).on(eventType, function(e) {
                        var hash = eventType === 'load' ? window.location.hash : $(this).attr('href').split('#')[1];
                        if (!hash) return;
                        var tab = $('.av-section-tab-title[href="#' + hash + '"]');
                        if (tab.length) {
                            var parent = tab.closest('.av-tab-section-outer-container');
                            var pos = parent.offset();
                            tab.trigger('click');
                            setTimeout(function() {
                                $(window).scrollTop(pos.top - 100);
                            }, 100);
                        }
                    });
                }
                scrollToTab('.avia-buttonrow-wrap a', 'click');
                scrollToTab(window, 'load');
            })(jQuery);
        });
        </script>
        <?php
    });
    

    Best regards,
    Ismael

    #1483010
    lee-annm
    Participant

    Hey there my home page is automatically scrolling on mobile – this doesn’t happen on other pages. Please help!

    #1480695

    Hi,

    We added the changes in the functions.php file to prevent the scroll. Regarding the sender form, please contact the plugin developers.

    function inline_popup_enabler(){ ?>
        <script>
        (function($){
            $(window).on('load', function() {
    			$('.inline_popup').addClass('no-scroll');
                $('.inline_popup').magnificPopup({
                    type: 'inline',
                    midClick: true,
                    callbacks: {
    					beforeOpen: function () {
    					  $('body').css("overflow-y", "hidden");
    					},
    					close: function() {
    					  $('body').css("overflow-y", "auto");
    					},
                        open: function() {
                            (function (s, e, n, d, er) {
                                s['Sender'] = er;
                                s[er] = s[er] || function () {
                                    (s[er].q = s[er].q || []).push(arguments);
                                }, s[er].l = 1 * new Date();
                                var a = e.createElement(n),
                                    m = e.getElementsByTagName(n)[0];
                                a.async = 1;
                                a.src = d;
                                m.parentNode.insertBefore(a, m);
                            })(window, document, 'script', 'https://cdn.sender.net/accounts_resources/universal.js', 'sender');
                            
    						if ($('.sender-form-field iframe').length > 0) {
    							console.log("sender form initialized");
    						} else {
    							sender('4f4c8522254761');
    						}   
                        }
                    }
                });
            });
        })(jQuery);
        </script>
    <?php }
    add_action('wp_footer', 'inline_popup_enabler');
    

    Best regards,
    Ismael

    #1480327

    The form shows up without the plugin, but it makes the page scroll to the top when I open it.
    I see a problem also if I click on the link and then close it, if I click on it again the form doesn’t show up.

    /*sizing for popup tilmeld form*/
    @media only screen and (min-width: 768px) { 
    #top .mfp-inline-holder .mfp-content {
    width: 50%!important;
    }}
    
    /*@media only screen and (max-width: 768px) { 
    #top .mfp-iframe-scaler {
        height: 90vh;
    }}*/
    @media only screen and (min-width: 768px) { 
    #top .mfp-iframe-scaler {
        width: 60%;
        margin: 0 auto;
    }}

    Is there a way to center align the form in the popup if I wanted the whole thing centered?

    View post on imgur.com


    or else make the popup narrower so it doesn’t look like this on larger screens?

    View post on imgur.com

    The plugin is what was giving me the widget that I use in the iframe link in the active footer, which is disabled now.
    thanks for the help
    Nancy

    • This reply was modified 8 months, 3 weeks ago by Munford.
    • This reply was modified 8 months, 3 weeks ago by Munford.
    • This reply was modified 8 months, 3 weeks ago by Munford.
    • This reply was modified 8 months, 3 weeks ago by Munford.
    • This reply was modified 8 months, 3 weeks ago by Munford.
    • This reply was modified 8 months, 3 weeks ago by Munford.
    #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’
    );

    #1478216

    Hi,

    If you are having trouble importing the creative studio demo, then you can paste these shortcodes to a new page:

    [av_section min_height='' min_height_px='500px' padding='large' shadow='no-border-styling' bottom_border='border-extra-diagonal' bottom_border_diagonal_color='#f8f8f8' bottom_border_diagonal_direction='' bottom_border_style='diagonal-box-shadow' scroll_down='aviaTBscroll_down' id='' color='main_color' custom_bg='#ffffff' src='https://kriesi.at/themes/enfold-creative-studio/files/2015/07/laptop-white.jpg' attachment='437' attachment_size='full' attach='fixed' position='top left' repeat='stretch' video='' video_ratio='16:9' overlay_opacity='0.2' overlay_color='#ffffff' overlay_pattern='' overlay_custom_pattern='' av_uid='av-dbfgfq']
    [av_one_fifth first min_height='' vertical_alignment='av-align-top' space='' margin='0px' margin_sync='true' padding='20px' padding_sync='true' border='' border_color='' radius='0px' radius_sync='true' background_color='' src='' attachment='' attachment_size='' background_position='top left' background_repeat='no-repeat' animation='right-to-left' mobile_display='' av_uid='av-d3kd2u']
    
    [/av_one_fifth][av_three_fifth min_height='' vertical_alignment='av-align-top' space='' margin='0px' margin_sync='true' padding='20px' padding_sync='true' border='' border_color='' radius='0px' radius_sync='true' background_color='' src='' attachment='' attachment_size='' background_position='top left' background_repeat='no-repeat' animation='top-to-bottom' mobile_display='' av_uid='av-cxkf5q']
    
    [av_heading tag='h3' padding='0' heading='<strong>Enfold</strong><br/>Creative Studio' color='' style='blockquote modern-quote modern-centered' custom_font='' size='65' subheading_active='' subheading_size='15' custom_class='' av_uid='av-csfzhy'][/av_heading]
    
    [av_hr class='custom' height='50' shadow='no-shadow' position='center' custom_border='av-border-thin' custom_width='50px' custom_border_color='#000000' custom_margin_top='30px' custom_margin_bottom='30px' icon_select='no' custom_icon_color='' icon='ue808' font='entypo-fontello' av_uid='av-cof1wm']
    
    [av_textblock size='22' font_color='' color='' av_uid='av-cgf792']
    <p style="text-align: center;">We create beautiful animations and mock ups. Make sure to check out our portfolio and get in touch if you want to work together.</p>
    [/av_textblock]
    
    [av_hr class='invisible' height='120px' shadow='no-shadow' position='center' custom_border='av-border-thin' custom_width='50px' custom_border_color='' custom_margin_top='30px' custom_margin_bottom='30px' icon_select='yes' custom_icon_color='' icon='ue808' font='entypo-fontello' av_uid='av-ccyha6']
    
    [/av_three_fifth][av_one_fifth min_height='' vertical_alignment='av-align-top' space='' margin='0px' margin_sync='true' padding='20px' padding_sync='true' border='' border_color='' radius='0px' radius_sync='true' background_color='' src='' attachment='' attachment_size='' background_position='top left' background_repeat='no-repeat' animation='right-to-left' mobile_display='' av_uid='av-c6xq1i']
    
    [/av_one_fifth]
    [/av_section]
    
    [av_section min_height='' min_height_px='500px' padding='huge' shadow='no-border-styling' bottom_border='border-extra-diagonal' bottom_border_diagonal_color='#ffffff' bottom_border_diagonal_direction='border-extra-diagonal-inverse' bottom_border_style='' id='service' color='main_color' custom_bg='#f8f8f8' src='https://test.kriesi.at/enfold-bold-portfolio/wp-content/uploads/sites/23/2015/07/services-3.png' attachment='391' attachment_size='full' attach='scroll' position='center right' repeat='contain' video='' video_ratio='16:9' overlay_opacity='0.2' overlay_color='#ffffff' overlay_pattern='' overlay_custom_pattern='' av_uid='av-c27v2m']
    
    [av_one_third first min_height='' vertical_alignment='av-align-top' space='' margin='0px' margin_sync='true' padding='0px' padding_sync='true' border='' border_color='' radius='0px' radius_sync='true' background_color='' src='' attachment='' attachment_size='' background_position='top left' background_repeat='no-repeat' animation='right-to-left' mobile_display='' av_uid='av-16u2ti']
    
    [av_font_icon icon='uf17a' font='flaticon' style='' caption='' size='40px' position='left' color='' link='' linktarget='' sonar_effect_effect='' sonar_effect_color='' sonar_effect_duration='1' sonar_effect_scale='' sonar_effect_opac='0.5' animation='' id='' custom_class='' template_class='' av_uid='av-bmsbue' sc_version='1.0' admin_preview_bg=''][/av_font_icon]
    
    [av_hr class='invisible' height='20' shadow='no-shadow' position='center' custom_border='av-border-thin' custom_width='50px' custom_border_color='' custom_margin_top='30px' custom_margin_bottom='30px' icon_select='yes' custom_icon_color='' icon='ue808' font='entypo-fontello' av_uid='av-bhyhcu']
    
    [av_textblock size='' font_color='' color='' av_uid='av-bdkmhi']
    <h2>Logo Design</h2>
    Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. Aenean leo.
    [/av_textblock]
    
    [/av_one_third][av_one_third min_height='' vertical_alignment='av-align-top' space='' margin='0px' margin_sync='true' padding='0px' padding_sync='true' border='' border_color='' radius='0px' radius_sync='true' background_color='' src='' attachment='' attachment_size='' background_position='top left' background_repeat='no-repeat' animation='right-to-left' mobile_display='' av_uid='av-b6qbz2']
    
    [av_font_icon icon='uf215' font='flaticon' style='' caption='' size='40px' position='left' color='' link='' linktarget='' sonar_effect_effect='' sonar_effect_color='' sonar_effect_duration='1' sonar_effect_scale='' sonar_effect_opac='0.5' animation='' id='' custom_class='' template_class='' av_uid='av-b0hos6' sc_version='1.0' admin_preview_bg=''][/av_font_icon]
    
    [av_hr class='invisible' height='20' shadow='no-shadow' position='center' custom_border='av-border-thin' custom_width='50px' custom_border_color='' custom_margin_top='30px' custom_margin_bottom='30px' icon_select='yes' custom_icon_color='' icon='ue808' font='entypo-fontello' av_uid='av-awjowe']
    
    [av_textblock size='' font_color='' color='' av_uid='av-anooby']
    <h2>Print Design</h2>
    Aenean massa. Cum sociis natoque penatibus et magnis dis montes,  ridiculus mus sociis inter.
    [/av_textblock]
    
    [/av_one_third][av_one_third min_height='' vertical_alignment='av-align-top' space='' margin='0px' margin_sync='true' padding='0px' padding_sync='true' border='' border_color='' radius='0px' radius_sync='true' background_color='' src='' attachment='' attachment_size='' background_position='top left' background_repeat='no-repeat' animation='right-to-left' mobile_display='' av_uid='av-11ycfi']
    
    [/av_one_third][av_one_third first min_height='' vertical_alignment='av-align-top' space='' margin='0px' margin_sync='true' padding='0px' padding_sync='true' border='' border_color='' radius='0px' radius_sync='true' background_color='' src='' attachment='' attachment_size='' background_position='top left' background_repeat='no-repeat' animation='right-to-left' mobile_display='' av_uid='av-acjxmu']
    
    [av_font_icon icon='uf243' font='flaticon' style='' caption='' size='40px' position='left' color='' link='' linktarget='' sonar_effect_effect='' sonar_effect_color='' sonar_effect_duration='1' sonar_effect_scale='' sonar_effect_opac='0.5' animation='' id='' custom_class='' template_class='' av_uid='av-a6ktt2' sc_version='1.0' admin_preview_bg=''][/av_font_icon]
    
    [av_hr class='invisible' height='20' shadow='no-shadow' position='center' custom_border='av-border-thin' custom_width='50px' custom_border_color='' custom_margin_top='30px' custom_margin_bottom='30px' icon_select='yes' custom_icon_color='' icon='ue808' font='entypo-fontello' av_uid='av-9yt54u']
    
    [av_textblock size='' font_color='' color='' av_uid='av-z97im']
    <h2>Web Creation</h2>
    Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor.
    [/av_textblock]
    
    [/av_one_third][av_one_third min_height='' vertical_alignment='av-align-top' space='' margin='0px' margin_sync='true' padding='0px' padding_sync='true' border='' border_color='' radius='0px' radius_sync='true' background_color='' src='' attachment='' attachment_size='' background_position='top left' background_repeat='no-repeat' animation='right-to-left' mobile_display='' av_uid='av-9osae6']
    
    [av_font_icon icon='uf224' font='flaticon' style='' caption='' size='40px' position='left' color='' link='' linktarget='' sonar_effect_effect='' sonar_effect_color='' sonar_effect_duration='1' sonar_effect_scale='' sonar_effect_opac='0.5' animation='' id='' custom_class='' template_class='' av_uid='av-9kmli6' sc_version='1.0' admin_preview_bg=''][/av_font_icon]
    
    [av_hr class='invisible' height='20' shadow='no-shadow' position='center' custom_border='av-border-thin' custom_width='50px' custom_border_color='' custom_margin_top='30px' custom_margin_bottom='30px' icon_select='yes' custom_icon_color='' icon='ue808' font='entypo-fontello' av_uid='av-9ez5fi']
    
    [av_textblock size='' font_color='' color='' av_uid='av-94y27a']
    <h2>Swift Support</h2>
    Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante dapibus.
    [/av_textblock]
    
    [/av_one_third][av_one_third min_height='' vertical_alignment='av-align-top' space='' margin='0px' margin_sync='true' padding='20px' padding_sync='true' border='' border_color='' radius='0px' radius_sync='true' background_color='' src='' attachment='' attachment_size='' background_position='top left' background_repeat='no-repeat' animation='right-to-left' mobile_display='' av_uid='av-8yg09y']
    
    [/av_one_third][/av_section][av_section min_height='' min_height_px='500px' padding='huge' shadow='no-border-styling' bottom_border='border-extra-diagonal' bottom_border_diagonal_color='#f8f8f8' bottom_border_diagonal_direction='' bottom_border_style='' id='' color='main_color' custom_bg='' src='' attachment='' attachment_size='' attach='scroll' position='top right' repeat='stretch' video='' video_ratio='16:9' overlay_opacity='0.2' overlay_color='#ffffff' overlay_pattern='' overlay_custom_pattern='' av_uid='av-8tq8e6']
    
    [av_one_third first min_height='' vertical_alignment='av-align-top' space='' margin='0px' margin_sync='true' padding='0px' padding_sync='true' border='' border_color='' radius='0px' radius_sync='true' background_color='' src='' attachment='' attachment_size='' background_position='top left' background_repeat='no-repeat' animation='right-to-left' mobile_display='' av_uid='av-8o7o8u']
    
    [av_font_icon icon='uf123' font='flaticon' style='' caption='' size='40px' position='left' color='' link='' linktarget='' sonar_effect_effect='' sonar_effect_color='' sonar_effect_duration='1' sonar_effect_scale='' sonar_effect_opac='0.5' animation='' id='' custom_class='' template_class='' av_uid='av-8ineda' sc_version='1.0' admin_preview_bg=''][/av_font_icon]
    
    [av_hr class='invisible' height='20' shadow='no-shadow' position='center' custom_border='av-border-thin' custom_width='50px' custom_border_color='' custom_margin_top='30px' custom_margin_bottom='30px' icon_select='yes' custom_icon_color='' icon='ue808' font='entypo-fontello' av_uid='av-8e3eti']
    
    [av_textblock size='' font_color='' color='' av_uid='av-88i3wm']
    <h2>Stock Photos</h2>
    Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor.
    [/av_textblock]
    
    [/av_one_third][av_one_third min_height='' vertical_alignment='av-align-top' space='' margin='0px' margin_sync='true' padding='0px' padding_sync='true' border='' border_color='' radius='0px' radius_sync='true' background_color='' src='' attachment='' attachment_size='' background_position='top left' background_repeat='no-repeat' animation='right-to-left' mobile_display='' av_uid='av-8350im']
    
    [av_font_icon icon='uf161' font='flaticon' style='' caption='' size='40px' position='left' color='' link='' linktarget='' sonar_effect_effect='' sonar_effect_color='' sonar_effect_duration='1' sonar_effect_scale='' sonar_effect_opac='0.5' animation='' id='' custom_class='' template_class='' av_uid='av-2tgxq' sc_version='1.0' admin_preview_bg=''][/av_font_icon]
    
    [av_hr class='invisible' height='20' shadow='no-shadow' position='center' custom_border='av-border-thin' custom_width='50px' custom_border_color='' custom_margin_top='30px' custom_margin_bottom='30px' icon_select='yes' custom_icon_color='' icon='ue808' font='entypo-fontello' av_uid='av-7reso6']
    
    [av_textblock size='' font_color='' color='' av_uid='av-7kc4gm']
    <h2>E-Commerce Solutions</h2>
    Aenean massa. Cum sociis natoque penatibus et magnis dis montes,  ridiculus mus sociis inter.
    [/av_textblock]
    
    [/av_one_third][av_one_third min_height='' vertical_alignment='av-align-top' space='' margin='0px' margin_sync='true' padding='0px' padding_sync='true' border='' border_color='' radius='0px' radius_sync='true' background_color='' src='' attachment='' attachment_size='' background_position='top left' background_repeat='no-repeat' animation='right-to-left' mobile_display='' av_uid='av-7c3izq']
    
    [av_font_icon icon='uf200' font='flaticon' style='' caption='' size='40px' position='left' color='' link='' linktarget='' sonar_effect_effect='' sonar_effect_color='' sonar_effect_duration='1' sonar_effect_scale='' sonar_effect_opac='0.5' animation='' id='' custom_class='' template_class='' av_uid='av-76vx4u' sc_version='1.0' admin_preview_bg=''][/av_font_icon]
    
    [av_hr class='invisible' height='20' shadow='no-shadow' position='center' custom_border='av-border-thin' custom_width='50px' custom_border_color='' custom_margin_top='30px' custom_margin_bottom='30px' icon_select='yes' custom_icon_color='' icon='ue808' font='entypo-fontello' av_uid='av-72vrbi']
    
    [av_textblock size='' font_color='' color='' av_uid='av-6ty8h2']
    <h2>Secure Coding</h2>
    Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa enim.
    [/av_textblock]
    
    [/av_one_third][av_hr class='invisible' height='115' shadow='no-shadow' position='center' custom_border='av-border-thin' custom_width='50px' custom_border_color='' custom_margin_top='30px' custom_margin_bottom='30px' icon_select='yes' custom_icon_color='' icon='ue808' font='entypo-fontello' av_uid='av-6pks9i']
    
    [/av_section][av_section min_height='' min_height_px='500px' padding='huge' shadow='no-border-styling' bottom_border='no-border-styling' bottom_border_diagonal_color='#ffffff' bottom_border_diagonal_direction='border-extra-diagonal-inverse' bottom_border_style='' id='work' color='main_color' custom_bg='#f8f8f8' src='' attachment='' attachment_size='' attach='scroll' position='top left' repeat='stretch' video='' video_ratio='16:9' overlay_opacity='0.2' overlay_color='#ffffff' overlay_pattern='' overlay_custom_pattern='' av_uid='av-6lu8we']
    [av_heading tag='h3' padding='40' heading='Recent Work' color='' style='blockquote modern-quote' custom_font='' size='65' subheading_active='' subheading_size='15' custom_class='' av_uid='av-6b51m6'][/av_heading]
    
    [av_masonry_gallery ids='403,404,405,408,409,410' items='9' columns='3' paginate='load_more' size='fixed' gap='large' overlay_fx='active' container_links='active' id='' caption_elements='title' caption_styling='overlay' caption_display='on-hover' color='' custom_bg='' av_uid='av-69hvzi']
    [/av_section]
    
    [av_section min_height='' min_height_px='500px' padding='small' shadow='no-border-styling' bottom_border='border-extra-diagonal' bottom_border_diagonal_color='#ffffff' bottom_border_diagonal_direction='border-extra-diagonal-inverse' bottom_border_style='' id='team' color='main_color' custom_bg='#f8f8f8' src='' attachment='' attachment_size='' attach='scroll' position='top right' repeat='stretch' video='' video_ratio='16:9' overlay_opacity='0.2' overlay_color='#ffffff' overlay_pattern='' overlay_custom_pattern='' av_uid='av-60xre6']
    [av_heading heading='Our Team' tag='h3' style='blockquote modern-quote' size='65' subheading_active='' subheading_size='15' padding='40' color='' custom_font='' av_uid='av-5w6fye'][/av_heading]
    [/av_section]
    
    [av_layout_row border='' min_height='500px' color='main_color' mobile='av-flex-cells' id='' av_uid='av-5q6dem']
    [av_cell_one_third vertical_align='middle' padding='50px' padding_sync='true' background_color='' src='' attachment='' attachment_size='' background_attachment='scroll' background_position='top center' background_repeat='no-repeat' mobile_display='' av_uid='av-5h9k0u']
    
    [av_heading tag='h3' padding='0' heading='Jana Weaving' color='' style='blockquote modern-quote modern-centered' custom_font='' size='30' subheading_active='subheading_below' subheading_size='15' custom_class='' av_uid='av-1xkse']
    Design & Graphics
    [/av_heading]
    
    [av_hr class='custom' height='50' shadow='no-shadow' position='center' custom_border='av-border-thin' custom_width='30px' custom_border_color='#000000' custom_margin_top='15px' custom_margin_bottom='15px' icon_select='no' custom_icon_color='' icon='ue808' font='entypo-fontello' av_uid='av-ik4mm']
    
    [av_textblock size='' font_color='' color='' av_uid='av-4zcoqu']
    <p style="text-align: center;">Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras imperdiet dapibus.</p>
    [/av_textblock]
    
    [av_font_icon icon='ue877' font='entypo-fontello' style='' caption='' link='' linktarget='' size='40px' position='center' color='#cecece' av_uid='av-4ykmpq'][/av_font_icon]
    
    [/av_cell_one_third][av_cell_one_third vertical_align='middle' padding='50px' padding_sync='true' background_color='' src='https://test.kriesi.at/enfold-bold-portfolio/wp-content/uploads/sites/23/2015/07/team3-700x1030.jpg' attachment='426' attachment_size='large' background_attachment='scroll' background_position='top center' background_repeat='stretch' mobile_display='av-hide-on-mobile' av_uid='av-4rthmm']
    
    [/av_cell_one_third][av_cell_one_third vertical_align='middle' padding='50px' padding_sync='true' background_color='' src='' attachment='' attachment_size='' background_attachment='scroll' background_position='top center' background_repeat='no-repeat' mobile_display='' av_uid='av-4mg82e']
    
    [av_heading tag='h3' padding='0' heading='Juliet McMahon' color='' style='blockquote modern-quote modern-centered' custom_font='' size='30' subheading_active='subheading_below' subheading_size='15' custom_class='' av_uid='av-1l1ee']
    Customer Support
    [/av_heading]
    
    [av_hr class='custom' height='50' shadow='no-shadow' position='center' custom_border='av-border-thin' custom_width='30px' custom_border_color='#000000' custom_margin_top='15px' custom_margin_bottom='15px' icon_select='no' custom_icon_color='' icon='ue808' font='entypo-fontello' av_uid='av-47uxkm']
    
    [av_textblock size='' font_color='' color='' av_uid='av-42hr3i']
    <p style="text-align: center;">Donec pede justo, fringilla vel,nascetur ridiculus aliquet nec, vulputate eget, arcu.</p>
    [/av_textblock]
    
    [av_font_icon icon='ue877' font='entypo-fontello' style='' caption='' link='' linktarget='' size='40px' position='center' color='#cecece' av_uid='av-3w4jjy'][/av_font_icon]
    
    [/av_cell_one_third]
    [/av_layout_row]
    
    [av_layout_row border='' min_height='500px' color='main_color' mobile='av-flex-cells' id='' av_uid='av-3q2sti']
    [av_cell_one_third vertical_align='middle' padding='50px' padding_sync='true' background_color='' src='https://test.kriesi.at/enfold-bold-portfolio/wp-content/uploads/sites/23/2015/07/team2-700x1030.jpg' attachment='425' attachment_size='large' background_attachment='scroll' background_position='top center' background_repeat='stretch' mobile_display='av-hide-on-mobile' av_uid='av-3i0yem']
    
    [/av_cell_one_third][av_cell_one_third vertical_align='middle' padding='50px' padding_sync='true' background_color='' src='' attachment='' attachment_size='' background_attachment='scroll' background_position='top left' background_repeat='no-repeat' mobile_display='' av_uid='av-3fz2om']
    
    [av_font_icon icon='ue87a' font='entypo-fontello' style='' caption='' link='' linktarget='' size='40px' position='center' color='#cecece' av_uid='av-36j8vy'][/av_font_icon]
    
    [av_heading tag='h3' padding='0' heading='Tim Bronson' color='' style='blockquote modern-quote modern-centered' custom_font='' size='30' subheading_active='subheading_below' subheading_size='15' custom_class='' av_uid='av-b271a']
    Development
    [/av_heading]
    
    [av_hr class='custom' height='50' shadow='no-shadow' position='center' custom_border='av-border-thin' custom_width='30px' custom_border_color='#000000' custom_margin_top='15px' custom_margin_bottom='15px' icon_select='no' custom_icon_color='' icon='ue808' font='entypo-fontello' av_uid='av-a7adq']
    
    [av_textblock size='' font_color='' color='' av_uid='av-a11ue']
    <p style="text-align: center;">Aenean massa. Cum sociis natoque penatibus et magnis dis montes,  ridiculus mus sociis inter.</p>
    [/av_textblock]
    
    [/av_cell_one_third][av_cell_one_third vertical_align='middle' padding='50px' padding_sync='true' background_color='' src='https://test.kriesi.at/enfold-bold-portfolio/wp-content/uploads/sites/23/2015/07/team1-700x1030.jpg' attachment='424' attachment_size='large' background_attachment='scroll' background_position='top center' background_repeat='stretch' mobile_display='av-hide-on-mobile' av_uid='av-2idipa']
    
    [/av_cell_one_third]
    [/av_layout_row]
    
    [av_section min_height='' min_height_px='500px' padding='large' shadow='no-border-styling' bottom_border='border-extra-diagonal' bottom_border_diagonal_color='#f8f8f8' bottom_border_diagonal_direction='' bottom_border_style='' id='team' color='main_color' custom_bg='#ffffff' src='' attachment='' attachment_size='' attach='scroll' position='top right' repeat='stretch' video='' video_ratio='16:9' overlay_opacity='0.2' overlay_color='#ffffff' overlay_pattern='' overlay_custom_pattern='' av_uid='av-2eopu6'][/av_section]
    
    [av_section min_height='' min_height_px='500px' padding='large' shadow='no-border-styling' bottom_border='border-extra-diagonal' bottom_border_diagonal_color='#ffffff' bottom_border_diagonal_direction='border-extra-diagonal-inverse' bottom_border_style='' id='contact' color='main_color' custom_bg='#f8f8f8' src='' attachment='' attachment_size='' attach='scroll' position='top right' repeat='stretch' video='' video_ratio='16:9' overlay_opacity='0.2' overlay_color='#ffffff' overlay_pattern='' overlay_custom_pattern='' av_uid='av-2aqedq']
    [av_heading tag='h3' padding='40' heading='Contact' color='' style='blockquote modern-quote' custom_font='' size='65' subheading_active='' subheading_size='15' custom_class='' av_uid='av-7k586'][/av_heading]
    
    [av_one_half first min_height='' vertical_alignment='av-align-top' space='' margin='0px' margin_sync='true' padding='0px' padding_sync='true' border='' border_color='' radius='0px' radius_sync='true' background_color='' src='' attachment='' attachment_size='' background_position='top left' background_repeat='no-repeat' animation='right-to-left' mobile_display='' av_uid='av-1uh12u']
    
    [av_contact email='' title='' button='Submit' on_send='' sent='Your message has been sent!' link='manually,http://' subject='' autorespond='' captcha='' hide_labels='aviaTBhide_labels' form_align='' color='av-custom-form-color av-dark-form' av_uid='av-1rb732']
    [av_contact_field label='Name' type='text' options='' check='is_empty' width='' multi_select='' av_uid='av-1ibmxq'][/av_contact_field]
    [av_contact_field label='E-Mail' type='text' check='is_email' options='' multi_select='' width='' av_uid='av-1cy3ce'][/av_contact_field]
    [av_contact_field label='Message' type='textarea' check='is_empty' options='' multi_select='' width='' av_uid='av-1aljd2'][/av_contact_field]
    [/av_contact]
    
    [/av_one_half][av_one_fourth min_height='' vertical_alignment='av-align-top' space='' margin='0px' margin_sync='true' padding='0px' padding_sync='true' border='' border_color='' radius='0px' radius_sync='true' background_color='' src='' attachment='' attachment_size='' background_position='top left' background_repeat='no-repeat' animation='right-to-left' mobile_display='' av_uid='av-128rfi']
    
    [av_textblock size='' font_color='' color='' av_uid='av-utcvy']
    <h2>Address</h2>
    10800 West Pico Boulevard Infinity Loop
    Cupertino, Los Angeles, USA
    <h2>Contact</h2>
     (Email address hidden if logged out) 
    555-3587 347
    <h2></h2>
    [/av_textblock]
    
    [/av_one_fourth][av_one_fourth min_height='' vertical_alignment='av-align-top' space='' margin='0px' margin_sync='true' padding='0px' padding_sync='true' border='' border_color='' radius='0px' radius_sync='true' background_color='' src='' attachment='' attachment_size='' background_position='top left' background_repeat='no-repeat' animation='right-to-left' mobile_display='' av_uid='av-pbp5a']
    
    [av_textblock size='' font_color='' color='' av_uid='av-n4l5i']
    <h2>Opening Hours:</h2>
    Mo-Fr: 8:00-19:00
    Sa: 8:00-14:00
    So: closed
    [/av_textblock]
    
    [/av_one_fourth]
    [/av_section]
    
    [av_google_map height='400px' zoom='16' saturation='fill' hue='#ffffff' zoom_control='aviaTBzoom_control' av_uid='av-ghjfy']
    [av_gmap_location address='Infinite Loop' city='Cupertino' country='' long='-122.03077589999998' lat='37.332112' marker='197' imagesize='40' av_uid='av-9s9hi'][/av_gmap_location]
    [/av_google_map]
    
    

    Best regards,
    Rikard

    Hey there

    Sorry I thought they were all footer related so thats why I did them all – but note taken for future :-)

    Also dont worry about the “How can I reduce the Gap top and bottom of entire footer section inner padding?” I have found some code to fix that myself now. Which also seems to have helped with this questio “How can I reduce the gap between columns when they are stacked on mobile?” too.

    I cant see any issues – here is the quick css:
    /* remove the meta container from blog page*/
    .html_elegant-blog #top .post-entry .post-meta-infos {
    display: none;
    }
    /* remove the category displaying on blog page*/
    .html_elegant-blog #top .avia-content-slider .blog-categories {
    display: none;
    }

    /* Remove Product sorting from Product pages*/
    .product-sorting { display: none !important;
    }

    /* Product price*/
    #top .price, #top .price span, #top del, #top ins{
    display: inline;
    text-decoration: none;
    font-size: 17px;
    line-height: 45px;
    font-weight: 600;
    letter-spacing: 0.5px;
    }

    .image-overlay {background: none;
    }
    .av_font_icon.av-icon-style-border .av-icon-char {
    -moz-box-sizing: content-box;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    border-radius: 1000px;
    border-width: 2px;
    border-style: solid;
    display: block;
    margin: 0 auto;
    padding: 25px;
    color: inherit;
    border-color: inherit;
    position: relative;
    }

    /* Centre 5 stars in testimonials*/
    .avia-testimonial p[style*=”center”] {
    margin-top: 0;
    display: inline-block;
    }

    .avia-testimonial-meta-mini {
    text-align: center !important;
    }

    /* Reduce gap above header on events calendar – what’s on page*/
    .tribe-common–breakpoint-medium.tribe-events .tribe-events-l-container {
    padding-top: 0;
    }
    .tribe-events .tribe-events-l-container {
    padding-top: 0;
    }

    #top #reviews h2{
    font:”HelveticaNeue”, “Helvetica Neue”, Helvetica, Arial, sans-serif;
    line-height: 25px;
    font-weight: normal;
    text-transform: none;
    letter-spacing: 1px;
    }

    .big-preview.single-big {
    text-align: center; }

    .big-preview.single-big a {
    display: inline-block; }

    .woocommerce-review__published-date {
    display: none !important;
    }

    .html_elegant-blog .avia-content-slider .slide-meta {
    display: none !important;
    }

    /* IconList space-*/
    #top .av-iconlist-small li {
    margin: 10px 0;
    }

    /*reduce the gap between Icon list and the text block above it*/
    .avia-icon-list-container {
    margin: 10px 0 30px 0;
    }

    /*reduce the gap between text box and colour section*/
    .content {
    padding-top: 22px;
    padding-bottom: 20px;
    }

    @media only screen and (max-width: 767px) {

    /* Add your Mobile Styles here */
    /* Social icons 5 column display on mobile to stop overlaping */
    @media only screen and (max-width: 767px) {
    .flex_column.av-1wutg6-75a2def9a5e4dfdd6a7dc4b173f7d740 {
    display: none;
    }
    .responsive #top.page-id-734 #wrap_all .content .entry-content-wrapper .flex_column.av_one_fifth {
    width: 33%;
    }

    /* increase width of testimonial slider on mobile */
    .responsive #top .av-large-testimonial-slider.avia-testimonial-wrapper .avia-testimonial {
    padding: 0;
    }
    #top .av-large-testimonial-slider .avia-testimonial-meta .avia-testimonial-image {
    width: 100%;
    }
    #top .av-large-testimonial-slider .avia-testimonial-meta-mini {
    text-align: center;
    }

    /* Scroll to top button on mobile */
    .responsive #scroll-top-link {
    display: block !important;
    }

    And there is also the Advanced styling for the Widgets titles.

    • This reply was modified 10 months ago by xfacta.
    #1477112
    gnilebein
    Participant

    Hello everyone,
    is there a way to open only images of a gallery in the lightbox and not all images of the page when the Enfold Lightbox is activated?

    The native WordPress Gallery has a unique ID (wp-block-gallery-2) of the galleries in the class:
    <figure class="wp-block-gallery has-nested-images columns-3 is-cropped wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex">

    However, I primarily use cadence blocks for galleries. Here the parent DIV has a suitable way of identifying this (id=‘splide02’)
    <div class="kt-blocks-carousel-init kb-blocks-fluid-carousel kt-carousel-arrowstyle-whiteondark kt-carousel-dotstyle-dark kb-splide splide splide-initialized splide-slider splide--loop splide--ltr splide--draggable is-active is-overflow is-initialized" data-slider-anim-speed="400" data-slider-scroll="1" data-slider-arrows="true" data-slider-dots="true" data-slider-hover-pause="false" data-slider-auto="" data-slider-speed="7000" data-slider-type="fluidcarousel" data-slider-center-mode="true" data-slider-gap="10px" data-slider-gap-tablet="10px" data-slider-gap-mobile="10px" id="splide02" role="region" aria-roledescription="carousel">

    Many thanks for your support and suggestions.

    Best regards

    #1477023

    Hi,

    Thank you for the link.

    The scroll-to-top button is there, in the bottom right corner of the page, beside the cookie consent message. If you want to move it to the left, use the following css code:

    #scroll-top-link {
        left: 50px;
        bottom: 50px;
        right: auto;
    }

    Best regards,
    Ismael

    Hi,

    Thanks for the update.

    We added the code in the functions.php file:

    add_action('ava_after_main_container', function () {
    	if (function_exists('tribe_is_event_query') && tribe_is_event_query() && !is_singular('tribe_events')) {
    		echo do_shortcode("
    			[av_slideshow_full size='featured' min_height='0px' stretch='' control_layout='av-control-hidden' src='' attachment='' attachment_size='' position='top left' repeat='no-repeat' attach='scroll' conditional_play='' animation='slide' transition_speed='' autoplay='false' interval='5' lazy_loading='disabled' id='' custom_class='' av_uid='av-m6klirfn']
    [av_slide_full id='4796' av_uid='av-73glw'][/av_slide_full]
    [/av_slideshow_full]");
    	}
    }, 10);

    Please make sure to purge the cache before checking the events page. (see private field)

    Best regards,
    Ismael

    #1475983

    I’ve done that and I’m not seeing any change.

    Page is https://new.shadehaven.net/mobile-shade-for-animals/
    I have some custom code that is autoplaying videos and then the next tab is clicked (via js) when the video completes. If you are scrolled past the tab element you’ll be pulled back up to the top when the hash changes. Alternatively just clicking on the tab manually has the same effect.

    #1475942
    jmoriart
    Participant

    I have a large tab element with tabs on the right side. I’d like to disable the behavior that scrolls you up to the top of the tabs on click. The hash appears and the browser window goes back up to the top. This would normally be fine but I’ve added some js that auto-cycles through the tabs and I don’t want the user pulled back up if they’ve scrolled past the element. Any help in disabling this?

    #1475876

    In reply to: Video in Header

    have a look at : https://webers-testseite.de/bemopriv/
    the heading had to be styled for responsive case – but I didn’t feel like doing that anymore.

    the layout is based on a grid-row element

    this is the enfold shortcode of the grid-row:

    [av_layout_row min_height_percent='percent' min_height_pc='60' min_height='0' border='' fold_type='' fold_height='' fold_more='Read more' fold_less='Read less' fold_text_style='' fold_btn_align='' color='main_color' fold_overlay_color='' fold_text_color='' fold_btn_color='theme-color' fold_btn_bg_color='' fold_btn_font_color='' size-btn-text='' av-desktop-font-size-btn-text='' av-medium-font-size-btn-text='' av-small-font-size-btn-text='' av-mini-font-size-btn-text='' fold_timer='' z_index_fold='' mobile='av-flex-cells' mobile_breaking='' mobile_column_order='' id='' custom_class='full-bg-image' template_class='' aria_label='' av_element_hidden_in_editor='0' av_uid='av-m6f9v8gq' sc_version='1.0']
    [av_cell_three_fourth vertical_align='middle' padding=',,,' av-desktop-padding=',,,80px' av-medium-padding=',,,80px' av-small-padding='3' av-small-padding_sync='true' av-mini-padding='20' av-mini-padding_sync='true' background='bg_color' background_color='' background_gradient_direction='vertical' background_gradient_color1='#000000' background_gradient_color2='#ffffff' background_gradient_color3='' src='' attachment='' attachment_size='' background_attachment='scroll' background_position='top left' background_repeat='no-repeat' link='' link_dynamic='' linktarget='' title_attr='' link_hover='' mobile_display='' mobile_col_pos='0' custom_class='' template_class='' av_uid='av-m6f9ukqb' sc_version='1.0']
    
    [av_four_fifth first min_height='' vertical_alignment='av-align-top' space='' row_boxshadow_width='10' row_boxshadow_color='' margin='0px' margin_sync='true' av-desktop-margin='' av-desktop-margin_sync='true' av-medium-margin='' av-medium-margin_sync='true' av-small-margin='' av-small-margin_sync='true' av-mini-margin='' av-mini-margin_sync='true' mobile_breaking='' mobile_column_order='' border='1' border_style='solid' border_color='#000000' radius='15' radius_sync='true' min_col_height='' padding='30' padding_sync='true' av-desktop-padding='' av-desktop-padding_sync='true' av-medium-padding='' av-medium-padding_sync='true' av-small-padding='' av-small-padding_sync='true' av-mini-padding='' av-mini-padding_sync='true' svg_div_top='' svg_div_top_color='#333333' svg_div_top_width='100' svg_div_top_height='50' svg_div_top_max_height='none' svg_div_top_opacity='' svg_div_bottom='' svg_div_bottom_color='#333333' svg_div_bottom_width='100' svg_div_bottom_height='50' svg_div_bottom_max_height='none' svg_div_bottom_opacity='' fold_type='' fold_height='' fold_more='Read more' fold_less='Read less' fold_text_style='' fold_btn_align='' column_boxshadow_width='10' column_boxshadow_color='' background='bg_color' background_color='rgba(0,0,0,0.5)' background_gradient_direction='vertical' background_gradient_color1='#000000' background_gradient_color2='#ffffff' background_gradient_color3='' src='' attachment='' attachment_size='' src_dynamic='' background_position='top left' background_repeat='no-repeat' highlight_size='1.1' fold_overlay_color='' fold_text_color='' fold_btn_color='theme-color' fold_btn_bg_color='' fold_btn_font_color='' size-btn-text='' av-desktop-font-size-btn-text='' av-medium-font-size-btn-text='' av-small-font-size-btn-text='' av-mini-font-size-btn-text='' animation='' animation_duration='' animation_custom_bg_color='' animation_z_index_curtain='100' parallax_parallax='' parallax_parallax_speed='' av-desktop-parallax_parallax='' av-desktop-parallax_parallax_speed='' av-medium-parallax_parallax='' av-medium-parallax_parallax_speed='' av-small-parallax_parallax='' av-small-parallax_parallax_speed='' av-mini-parallax_parallax='' av-mini-parallax_parallax_speed='' fold_timer='' z_index_fold='' css_position='' css_position_location=',,,' css_position_z_index='' av-desktop-css_position='' av-desktop-css_position_location=',,,' av-desktop-css_position_z_index='' av-medium-css_position='' av-medium-css_position_location=',,,' av-medium-css_position_z_index='' av-small-css_position='' av-small-css_position_location=',,,' av-small-css_position_z_index='' av-mini-css_position='' av-mini-css_position_location=',,,' av-mini-css_position_z_index='' link='' link_dynamic='' linktarget='' link_hover='' title_attr='' alt_attr='' mobile_display='' mobile_col_pos='0' id='' custom_class='' template_class='' aria_label='' element_template='' one_element_template='' av_uid='av-t574on' sc_version='1.0']
    
    [av_heading heading='FREEZE FLAT™' tag='h1' style='blockquote modern-quote' subheading_active='subheading_above' show_icon='' icon='ue800' font='entypo-fontello' size='' av-desktop-font-size-title='48' av-medium-font-size-title='42' av-small-font-size-title='36' av-mini-font-size-title='28' subheading_size='' av-desktop-font-size='36' av-medium-font-size='28' av-small-font-size='24' av-mini-font-size='20' icon_size='' av-desktop-font-size-1='' av-medium-font-size-1='' av-small-font-size-1='' av-mini-font-size-1='' color='custom-color-heading' custom_font='#ffffff' subheading_color='#ffffff' seperator_color='' icon_color='' margin='' margin_sync='true' av-desktop-margin='' av-desktop-margin_sync='true' av-medium-margin='' av-medium-margin_sync='true' av-small-margin='' av-small-margin_sync='true' av-mini-margin='' av-mini-margin_sync='true' headline_padding='' headline_padding_sync='true' av-desktop-headline_padding='' av-desktop-headline_padding_sync='true' av-medium-headline_padding='' av-medium-headline_padding_sync='true' av-small-headline_padding='' av-small-headline_padding_sync='true' av-mini-headline_padding='' av-mini-headline_padding_sync='true' padding='10' av-desktop-padding='' av-medium-padding='' av-small-padding='' av-mini-padding='' icon_padding='10' av-desktop-icon_padding='' av-medium-icon_padding='' av-small-icon_padding='' av-mini-icon_padding='' link='' link_dynamic='' link_target='' title_attr='' id='' custom_class='iceglas' template_class='' element_template='' one_element_template='' av_uid='av-m6e7xj5g' sc_version='1.0' admin_preview_bg='']
    The Original
    [/av_heading]
    
    [/av_four_fifth][/av_cell_three_fourth][av_cell_one_fourth vertical_align='bottom' padding='' padding_sync='true' av-desktop-padding='' av-desktop-padding_sync='true' av-medium-padding='' av-medium-padding_sync='true' av-small-padding='' av-small-padding_sync='true' av-mini-padding='' av-mini-padding_sync='true' background='bg_color' background_color='' background_gradient_direction='vertical' background_gradient_color1='#000000' background_gradient_color2='#ffffff' background_gradient_color3='' src='' attachment='' attachment_size='' background_attachment='scroll' background_position='top left' background_repeat='no-repeat' link='' link_dynamic='' linktarget='' title_attr='' link_hover='' mobile_display='' mobile_col_pos='0' custom_class='' template_class='' av_uid='av-u4sunr' sc_version='1.0']
    
    [av_video src='https://www.youtube.com/watch?v=W73GdyDSHuU' mobile_image='https://webers-testseite.de/wp-content/uploads/dynamic_avia/avia_video_thumbnails/youtube/W73GdyDSHuU/W73GdyDSHuU.jpg' attachment='49853' attachment_size='full' video_autoplay_enabled='aviaTBvideo_autoplay_enabled' html5_fullscreen='aviaTBhtml5_fullscreen' format='16-9' width='16' height='9' conditional_play='' id='' custom_class='' template_class='' element_template='' one_element_template='' av_uid='av-m6f9u95o' sc_version='1.0']
    
    [/av_cell_one_fourth]
    [/av_layout_row]
    
    
Viewing 30 results - 1 through 30 (of 1,269 total)