<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">// Navburgervis
// version 1.0.5
// by visions.ch

(function($) {
    $.navburger = function(element, options) {

        // default options
        var defaults = {
            target: 'body',         // container to place navburger in
            screenwidth: 1024,      // breakpoint to trigger navburger
            position: 'relative',   // fixed or relative
            plusicon: '+',          // img-tag or char for closed state
            minusicon: 'âˆ’',         // img-tag or char for open state
            logoclass: '',          // classname of element with logo
            additional: ''          // any additional element to place within opened nav
        };

        var plugin = this;

        // plugin.settings.propertyName from inside the plugin
        // element.data('navburger').settings.propertyName from outside
        plugin.settings = {};

        //constructor method
        plugin.init = function() {

            // merge default and user-provided options and clone them as initals
            plugin.settings = $.extend({}, defaults, options);

            // reference to the jQuery version of DOM elements
            $target = $(plugin.settings.target);

            nav = $(element).find('ul').first();

            // build navburger-elements
            navburgerOuter = '&lt;div class="navburger' + (plugin.settings.position === 'fixed' ? ' -fixed' : '') + '"&gt;&lt;/div&gt;';
            navburgerOpen = '&lt;div class="toggler"&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;';
            navburgerLogo = plugin.settings.logoclass !== '' ? $(plugin.settings.logoclass).clone() : '';
            navburgerAdditional = plugin.settings.additional !== '' ? $(plugin.settings.additional).clone() : '';
            navburger = nav.clone();
            navburger.append(navburgerAdditional).find('li ul').parent().append('&lt;div class="subtoggler"&gt;' + plugin.settings.plusicon + '&lt;/div&gt;');

            // onload-check
            checkmobile();
        };

        // onresize-check
        $(window).resize(function() {
            checkmobile();
        });

        // show burgernav based on screenwidth
        var checkmobile = function() {
            if (window.innerWidth &lt;= plugin.settings.screenwidth) {
                if (!$target.hasClass('navburger-container')) {
                    $target.addClass('navburger-container' + (plugin.settings.position === 'fixed' ? ' -nbfixed' : ''));
                    $(element).hide();
                    $target.prepend(navburger).find('&gt; ul').wrap(navburgerOuter);
                    $('.navburger').prepend(navburgerOpen).prepend(navburgerLogo);
                }
            } else {
                $target.removeClass('navburger-container');
                $(element).show();
                $('.navburger').remove();
            }
        };

        // close nav on a-tag-click (anchors)
        $('body').on('click', '.navburger ul a', function(){
            $('.navburger .toggler').toggleClass('open');
            $('.navburger &gt; ul').slideToggle();
        });

        // main toggler
        $('body').on('click', '.navburger .toggler', function(){
            $(this).toggleClass('open');
            $('.navburger &gt; ul').slideToggle();
        });

        // subnav toggler
        $('body').on('click', '.navburger .subtoggler', function(){
            $(this).parent().find('&gt; ul').slideToggle();
            $(this).html($(this).html() == plugin.settings.plusicon ? plugin.settings.minusicon : plugin.settings.plusicon);
        });

        // call the "constructor" method
        plugin.init();

    };

    // add the plugin to the jQuery.fn object
    $.fn.navburger = function(options) {
        // iterate through the DOM elements we are attaching the plugin to
        return this.each(function() {
            // if plugin has not already been attached to the element
            if (undefined == $(this).data('navburger')) {
                // create a new instance of the plugin
                var plugin = new $.navburger(this, options);
                // store a reference to the plugin object
                $(this).data('navburger', plugin);
            }
        });
    };
})(jQuery);
</pre></body></html>