{% try %} {% set menu = gantry.menu.instance(particle) %} {% catch %}
{{ e.getMessage }}
{% endtry %} {% if particle.g5canvas %} {% set mobile_menu_visibility %} {{ particle.canvas_section ? particle.canvas_section|e ~ ' ' : '' }}.g-block.hidden {display: block;visibility: visible;} .g-offcanvas-open .jl-sticky {z-index: inherit;} {{ particle.canvas_section ? particle.canvas_section|e ~ ' ' : '' }}.g-offcanvas-toggle {position: relative;top: 0;left: 0;line-height: 0;display: flex !important;justify-content: center;align-items: center;column-gap: 0.25em;box-sizing: border-box;} {% endset %} {% do gantry.document.addInlineStyle(mobile_menu_visibility, 0) %} {% block javascript_footer %} {% endblock %} {% endif %} {% set sec_id = particle.section|e %} {% if particle.sticky and particle.section %} {% set inline_js %} jlUIkit.sticky('{{ sec_id }}', { {% if particle.sticky == 'stickyonscroll' %} showOnUp: true, animation: 'jl-animation-slide-top', {% endif %} {% if particle.media %} media: '@{{ particle.media }}', {% endif %} top: '{{ particle.top|default(0) }}', offset: {{ particle.offset|default(0) }} } ) {% endset %} {% do gantry.document.addInlineScript( inline_js, 10, 'footer') %} {% endif %} {% if particle.sticky or particle.m_sticky %} {% set sticky_navbar %}html {height: auto;}{% endset %} {% do gantry.document.addInlineStyle(sticky_navbar, 0) %} {% endif %} {% set inline_css %} {% spaceless %} {% if particle.main_nav_margin and particle.navbar_style is empty %}#{{ id }} .g-container .g-main-nav { margin: 0; }{% endif %} {% if particle.transparent_header %}.jl-header-overlay {position: absolute;z-index: 980;left: 0;right: 0;}{% endif %} {% if particle.dropdown_nav_divider and particle.dropdown_nav_divider_color %}#{{ id }} .jl-nav.jl-nav-divider>:not(.jl-nav-header,.jl-nav-divider)+:not(.jl-nav-header,.jl-nav-divider) {border-top: 1px solid {{ particle.dropdown_nav_divider_color|e }};}{% endif %} {% if particle.navbar_height %} #{{ id }} .jl-navbar-item, #{{ id }} .jl-navbar-nav>li>a,#{{ id }} .jl-navbar-nav>li>div.g-menu-item-container,#{{ id }} .jl-navbar-toggle {min-height: {{ particle.navbar_height|e }}} {% endif %} {% if particle.navbar_style %} {% if particle.navbar_color %} #{{ id }} .jl-navbar-nav>li>a {color: {{ particle.navbar_color }};} {% endif %} {% if particle.navbar_fontsize %} #{{ id }} .jl-navbar-item:not(.jl-logo), #{{ id }} .jl-navbar-nav>li>a, #{{ id }} .jl-navbar-toggle { font-size: {{ particle.navbar_fontsize }}; } {% endif %} {% if particle.navbar_text_transform %} #{{ id }} .jl-navbar-nav > li > a{text-transform: {{ particle.navbar_text_transform }};} {% endif %} {% if particle.navbar_hover_color %} #{{ id }} .jl-navbar-nav>li:hover>a, #{{ id }} .jl-navbar-nav>li>a.jl-open, #{{ id }} .jl-navbar-nav>li>a:focus{color: {{ particle.navbar_hover_color }};} {% endif %} {% if particle.navbar_active_color %} #{{ id }} .jl-navbar-nav>li>a:active, #{{ id }} .jl-navbar-nav>li.jl-active>a{ color: {{ particle.navbar_active_color }}; } {% endif %} {% if particle.dropdown_bg or particle.dropdown_color or particle.dropdown_border_radius or particle.dropdown_padding %} #{{ id }} .jl-navbar-dropdown { {% if particle.dropdown_bg %}background: {{ particle.dropdown_bg }};{% endif %} {% if particle.dropdown_color %}color: {{ particle.dropdown_color }};{% endif %} {% if particle.dropdown_border_radius %}border-radius: {{ particle.dropdown_border_radius }};{% endif %} {% if particle.dropdown_padding %}padding: {{ particle.dropdown_padding }};{% endif %} } {% endif %} {% if particle.dropbar and particle.dropdown_bg %} #{{ id }} .jl-navbar-dropbar { background: {{ particle.dropdown_bg }}; } {% endif %} {% if particle.dropdown_nav_padding %} #{{ id }} .jl-nav>li>a { padding: {{ particle.dropdown_nav_padding|e }}; } {% endif %} {% if particle.dropdown_nav_color %} #{{ id }} .jl-navbar-dropdown-nav>li>a { {% if particle.dropdown_nav_color %}color: {{ particle.dropdown_nav_color|e }};{% endif %} } {% endif %} {% if particle.dropdown_navbar_fontsize %}#{{ id }} .jl-navbar-dropdown-nav>li>a { font-size: {{ particle.dropdown_navbar_fontsize }};} {% endif %} {% if particle.dropdown_navbar_hover_color %} #{{ id }} .jl-navbar-dropdown-nav>li>a:focus, #{{ id }} .jl-navbar-dropdown-nav>li>a:hover{ color: {{ particle.dropdown_navbar_hover_color|e }}; } {% endif %} {% if particle.dropdown_navbar_active_color %} #{{ id }} .jl-navbar-dropdown-nav>li.jl-active>a{ color: {{ particle.dropdown_navbar_active_color|e }};} {% endif %} {% if particle.dropdown_nav_style == 'secondary' %}#{{ id }} .jl-nav-secondary .jl-nav-header {padding-left: 10px;}{% endif %} {% if particle.dropdown_nav_style == 'secondary' and particle.dropdown_item_hover_background %} #{{ id }} .jl-nav-secondary > li > a:hover, #{{ id }} .jl-nav-secondary > li.jl-active > a { background-color: {{ particle.dropdown_item_hover_background|e }}; } {% endif %} {% else %} {% if particle.navbar_color %} #{{ id }} .g-main-nav .g-toplevel>li>.g-menu-item-container, #{{ id }} .jl-logo { color: {{ particle.navbar_color }}; } {% endif %} {% if particle.navbar_fontsize %} #{{ id }} .g-main-nav .g-toplevel > li > .g-menu-item-container, #{{ id }} .jl-navbar-toggle { font-size: {{ particle.navbar_fontsize }}; } {% endif %} {% if particle.navbar_text_transform %} #{{ id }} .g-main-nav .g-toplevel > li > .g-menu-item-container {text-transform: {{ particle.navbar_text_transform }};} {% endif %} {% if particle.navbar_hover_color %} #{{ id }} .g-main-nav .g-toplevel>li:hover>.g-menu-item-container, #{{ id }} .g-main-nav .g-toplevel>li:hover>.g-menu-item-container {color: {{ particle.navbar_hover_color }};} {% endif %} {% if particle.navbar_active_color %} #{{ id }} .g-main-nav .g-toplevel>li.active>.g-menu-item-container { color: {{ particle.navbar_active_color }}; } #{{ id }} .g-main-nav .g-toplevel>li.active>.g-separator { color: {{ particle.navbar_active_color }}; } {% if particle.navbar_style is empty %} #{{ id }} .g-main-nav .g-toplevel > li:not(.g-menu-item-type-particle):not(.g-menu-item-type-module).active > .g-menu-item-container {color: {{ particle.navbar_active_color }};} {% endif %} {% endif %} {% if particle.dropdown_bg or particle.dropdown_color or particle.dropdown_border_radius or particle.dropdown_padding %} #{{ id }} .g-main-nav .g-dropdown { {% if particle.dropdown_bg %} background: {{ particle.dropdown_bg }}; {% endif %} {% if particle.dropdown_color %} color: {{ particle.dropdown_color }}; {% endif %} {% if particle.dropdown_border_radius %} border-radius: {{ particle.dropdown_border_radius }}; {% endif %} {% if particle.dropdown_padding %} padding: {{ particle.dropdown_padding }}; {% endif %} } {% endif %} {% if particle.dropdown_nav_color %} #{{ id }} .g-main-nav .g-sublevel > li > .g-menu-item-container { {% if particle.dropdown_nav_color %}color: {{ particle.dropdown_nav_color|e }};{% endif %} } {% endif %} {% if particle.dropdown_navbar_fontsize %}{{ id }} .g-main-nav .g-sublevel > li > .g-menu-item-container { font-size: {{ particle.dropdown_navbar_fontsize }};} {% endif %} {% if particle.dropdown_navbar_hover_color %} #{{ id }} .g-main-nav .g-sublevel > li > .g-menu-item-container:focus,#{{ id }} .g-main-nav .g-sublevel > li > .g-menu-item-container:hover { color: {{ particle.dropdown_navbar_hover_color|e }}; } {% endif %} {% if particle.dropdown_navbar_active_color %} #{{ id }} .g-main-nav .g-sublevel > li:not(.g-menu-item-type-particle):not(.g-menu-item-type-module).active .g-menu-item-container { color: {{ particle.dropdown_navbar_active_color|e }};} {% endif %} {% if particle.dropdown_navbar_fontsize %} #{{ id }} .g-main-nav .g-sublevel > li > .g-menu-item-container {font-size: {{ particle.dropdown_navbar_fontsize|e }};} {% endif %} {% if particle.dropdown_nav_padding %} #{{ id }} .g-main-nav .g-sublevel > li > .g-menu-item-container { padding: {{ particle.dropdown_nav_padding|e }}; } {% endif %} {% endif %} {% if particle.nav_bg_color %} #{{ id }}-particle .jl-navbar-container:not(.jl-navbar-transparent) {background-color: {{ particle.nav_bg_color }};} {% endif %} {% if particle.dropdown_nav_style == 'secondary' %} #{{ id }} .g-main-nav .g-sublevel {padding: 0;}#{{ id }} .g-main-nav .g-sublevel > li > .g-menu-item-container {padding: 0.7815rem 1rem;} {% endif %} {% if particle.dropdown_nav_style == 'secondary' and particle.dropdown_item_hover_background %} #{{ id }} .g-main-nav .g-sublevel>li:not(.g-menu-item-type-particle):not(.g-menu-item-type-module):hover,#{{ id }} .g-main-nav .g-sublevel>li:not(.g-menu-item-type-particle):not(.g-menu-item-type-module).active { background: {{ particle.dropdown_item_hover_background|e }}; } {% endif %} {% if particle.dropdown_nav_divider %} #{{ id }} .g-main-nav .g-sublevel > li:not(.g-go-back)+:not(.g-go-back) {border-top: 1px solid {{ particle.dropdown_nav_divider_color|e|default('#f5f5f5') }};} {% endif %} {% if particle.logo_color %}#{{ id }}-particle .jl-logo { color: {{ particle.logo_color }};}{% endif %} {% if particle.mobile_text_color %}#{{ id }}-particle .tm-header-mobile .jl-logo { color: {{ particle.mobile_text_color }};}{% endif %} {% if particle.transparent_header == 'light' %} #{{ id }}.tm-header .jl-light .jl-navbar-nav > li > a, #{{ id }}.tm-header .jl-light .jl-search-toggle, #{{ id }}.tm-header .jl-light .jl-navbar-toggle {color: rgba(255, 255, 255, 0.8);}#{{ id }}.tm-header .jl-light .jl-search-toggle:hover, #{{ id }}.tm-header .jl-light .jl-search-toggle:focus, #{{ id }}.tm-header .jl-light .jl-navbar-toggle:hover, #{{ id }}.tm-header .jl-light .jl-navbar-toggle:focus {color: #ffffff;}#{{ id }}.tm-header .jl-light .jl-navbar-nav > li:hover > a, #{{ id }}.tm-header .jl-light .jl-navbar-nav > li > a:focus, #{{ id }}.tm-header .jl-light .jl-navbar-nav > li > a[aria-expanded="true"]{color: #ffffff;}#{{ id }}.tm-header .jl-light .jl-navbar-nav > li > a:active, #{{ id }}.tm-header .jl-light .jl-navbar-nav > li.jl-active > a{color: #ffffff;} {% endif %} {% if particle.search_style == 'modal' %} #js-search-{{ id }} .jl-search-large .jl-search-input {background: #f8f8f8;border: none;box-shadow:none} #js-search-{{ id }} .jl-search-large .jl-search-icon{{ particle.icon_flip ? '-flip~' : ':not(.jl-search-icon-flip)~' }}.jl-search-input {padding-{{ particle.icon_flip ? 'right' : 'left' }}: 40px;} #js-search-{{ id }} .jl-search-large .jl-search-icon{width: 80px;} {% endif %} {% if particle.navbar_style and particle.subnav_extended == 'drop' %} #{{ id }} .jl-navbar-dropdown-nav [aria-expanded=true]>.jl-drop-parent-icon {transform: rotate(-90deg)} {% endif %} {% if particle.container_maxwidth == 'custom' and particle.ct_container_width is not empty %} @media only all and (min-width: {{ gantry.config.get('styles.breakpoints.large-desktop-container')|default('80rem') }}) { #{{ id }}-particle .tm-header .g-container { max-width: {{ particle.ct_container_width|e }}; } } {% endif %} {% endspaceless %} {% endset %} {% do gantry.document.addInlineStyle(inline_css, 0) %} {% set menu_toggle %} {% if particle.g5canvas %} {% else %} {% if particle.menu_text and particle.mobile_menu_toggle == 'right' %}{{particle.menu_text}}{% endif %} {% if particle.menu_text and particle.mobile_menu_toggle == 'left' %}{{particle.menu_text}}{% endif %} {% endif %} {% endset %} {% if particle.sc_link_target %} {% set targetAttrib = ' target="' ~ particle.sc_link_target|e ~ '"' %} {% set targetAttrib = (particle.sc_link_target == '_blank') ? targetAttrib ~ ' rel="noopener noreferrer"' : targetAttrib %} {% endif %} {# Set Social Items #} {% set social_icons %} {% endset %} {% set theme_container = particle.container_maxwidth == 'custom' ? 'g-container' : 'jl-container' ~ (particle.container_maxwidth in ['small', 'large', 'xlarge', 'expand'] ? ' jl-container-' ~ particle.container_maxwidth|e) %} {# Set Search #} {% set navbar_search %} {% if particle.search_style == 'default' %} {% if not joomla.checkVersion('4.0') %} {% else %} {% endif %} {% else %}
{% if not joomla.checkVersion('4.0') %} {% else %} {% endif %}
{% endif %} {% endset %} {% macro getCustomWidth(item, menu, mode, dropdown_type, start_level) -%} {%- if (item.width|default('auto') != 'auto') and not (dropdown_type == 'fullwidth' and item.level > start_level) -%} {%- if mode == 'item' %} style="position: relative;" {%- elseif mode == 'submenu' %} style="width:{{ item.width }};" data-g-item-width="{{ item.width }}" {%- endif %} {%- endif %} {%- endmacro %} {% macro getNavbarCustomWidth(item, menu, mode, dropdown_type, start_level, context) -%} {%- if (item.width|default('auto') != 'auto') and not (dropdown_type == 'fullwidth' and item.level > start_level) -%} {%- if mode == 'item' %} style="position: relative;" {%- elseif mode == 'submenu' %}width:{{ item.width }}; {%- endif %} {%- endif %} {%- endmacro %} {% macro displayParticle(item, context) %} {% try %} {% set in_particle = (context.in_particle ?? 0) + 1 %} {% if in_particle > 5 %} {% throw 500 'Particle loop detected' %} {% endif %} {% set context = context|merge({ particle: item.options.particle, in_particle: in_particle}) %} {% set classes = item.options.block.class %} {% catch %}
{{ e.getMessage }}
{% endtry %} {% endmacro %} {% macro displayTitle(item) %} {% if not item.icon_only or not (item.image or item.icon) %} {% if item.subtitle %}
{{ item.title }}
{{ item.subtitle }}
{% else %} {{ item.title }} {% endif %} {% endif %} {% endmacro %} {% macro displayItem(item, menu, context, dropdown_type, start_level) %} {% import _self as self %} {% if item.type == 'particle' and not item.options.particle.enabled %} {% set enabled = 0 %} {% endif %} {% if item.visible and item.enabled and enabled|default(1) %} {% set title = item.icon_only or item.link_title ? ' title="' ~ item.link_title|default(item.title)|e ~ '"' %} {% set label = item.icon_only and (item.image or item.icon) ? ' aria-label="' ~ item.title|e ~'"' %} {% if context.particle.navbar_style %} {% set active = menu.isActive(item) ? ' jl-active' %} {% else %} {% set active = menu.isActive(item) ? ' active' %} {% endif %} {% set dropdown = item.level == start_level ? ' g-' ~ item.getDropdown() %} {% set parrentIcon = context.particle.parrentIcon %} {% if context.particle.navbar_style %} {% set parent = item.hasChildren() and not item.dropdown_hide ? ' jl-parent' %} {% else %} {% set parent = item.hasChildren() and not item.dropdown_hide ? ' g-parent' %} {% endif %} {% set target = (item.target != '_self' or context.particle.forceTarget) ? ' target="' ~ item.target|e ~ '"' %} {% set rel = item.rel %} {% if item.target == '_blank' %} {% if 'noopener' not in rel %} {% set rel = rel ? rel ~ ' ' : rel %} {% set rel = rel ~ 'noopener' %} {% endif %} {% if 'noreferrer' not in rel %} {% set rel = rel ? rel ~ ' ' : rel %} {% set rel = rel ~ 'noreferrer' %} {% endif %} {% endif %} {% set listAttributes = item.attributes|attribute_array %} {% set linkAttributes = '' %} {% if item.link_attributes %} {% for attribute in item.link_attributes %} {% for key, value in attribute %} {% if key == 'rel' %} {% for hVal in value|split(' ') %} {% if hVal not in rel %} {% set rel = rel ? rel ~ ' ' : rel %} {% set rel = rel ~ hVal %} {% endif %} {% endfor %} {% else %} {% set linkAttributes = linkAttributes ~ ' ' ~ key|e ~ '="' ~ value|e('html_attr') ~ '"' %} {% endif %} {% endfor %} {% endfor %} {% endif %} {# Special handling for opening link in a new window without navigation #} {% if item.target == '_nonav' %} {% set target = 'target="_blank"' %} {% set linkAttributes = linkAttributes ~ ' onclick="window.open(this.href, \'targetWindow\', \'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes\'); return false;"' %} {% endif %} {% set item_accordion = (item.type == 'separator' or item.type == 'heading') and item.level > 1 and parent ? ' js-accordion' %} {% set rel = rel ? ' rel="' ~ rel|e('html_attr') ~ '"' %} {% if context.particle.navbar_style %}
  • {% if item.url %} {% if item.image %} {{ item.title }} {% elseif item.icon %} {% endif %} {{ self.displayTitle(item) }} {% if parent and not item.dropdown_hide and parrentIcon -%} {%- endif %} {% else %} {% if item.children|length or item.level == 1 %} {% endif %} {% endif %} {% else %}
  • {% endif %} {% endmacro %} {% macro displayContainers(item, menu, context, dropdown_type, start_level) %} {% import _self as self %} {% set groups = item.getDropdown() == 'standard' ? [item] : item.groups %} {% if context.particle.navbar_style %} {% for column, items in groups %} {% if item.groups|length > 1 %}
    {% endif %} {% if item.level >= 2 %} {% if context.particle.subnav_extended == 'drop' %} {% set navDropbar_animation = context.particle.navbar_dropdown_animation ? ' animation: ' ~ context.particle.navbar_dropdown_animation ~ '; animate-out: true;' : '' %}
    {% endif %}
    {% endif %} {% if item.groups|length > 1 %}
    {% endif %} {% endfor %} {% else %}
    {% for column, items in groups %}
    {% endfor %}
    {% endif %} {% endmacro %} {% macro displayItems(items, menu, context, dropdown_type, start_level) %} {% import _self as self %} {% for item in items %} {% set start_level = start_level ?? root_level ?? item.level %} {% set dropdown = dropdown_type ?? item.dropdown %} {{ self.displayItem(item, menu, context, dropdown, start_level) }} {% endfor %} {% endmacro %} {% macro displaySubmenu(item, menu, context, dropdown_type, start_level) %} {% import _self as self %} {% if not item.dropdown_hide %} {% set animation = context.gantry.config.get('styles.menu.animation')|default('g-fade') %} {% set dropdown_offset = context.particle.dropdown_offset|e ? ' offset="' ~ context.particle.dropdown_offset|e ~ '"' : '' %} {% set navbar_animation = context.particle.navbar_dropdown_animation and not context.particle.dropbar ? ' animation: ' ~ context.particle.navbar_dropdown_animation ~ '; animate-out: true;' : '' %} {% if ((item.groups|length == 1 and not dropdown_type == 'fullwidth') or dropdown_type == 'standard') or (item.width|default('auto') != 'auto' and dropdown_type == 'fullwidth')%} {% set dropdown_dir = 'g-dropdown-' ~ item.dropdown_dir|default('right') %} {% endif %} {% if context.particle.navbar_style %} {% if item.level >= 2 %} {{ self.displayContainers(item, menu, context, dropdown_type, start_level) }} {% else %}
    {% if item.groups|length > 1 %}
    {% endif %} {{ self.displayContainers(item, menu, context, dropdown_type, start_level) }} {% if item.groups|length > 1 %}
    {% endif %}
    {% endif %} {% else %} {% endif %} {% endif %} {% endmacro %} {% import _self as macro %} {% set url = url(particle.url)|default(gantry.siteUrl()) %} {% if (url == gantry.siteUrl()) %}{% set rel='rel="home"' %}{% endif %} {% set logo_init = particle.image or particle.text %} {% set logo_render %} {% set class=(particle.class ? 'class="'~ particle.class ~'"') %} {% set height = particle.height ? 'style="max-height: ' ~ particle.height ~ '"' : particle.image|imagesize %} {% if particle.image %} {{ particle.text }} {% else %} {{ particle.text|raw }} {% endif %} {% endset %} {% set mobile_logo_render %} {% set class=(particle.class ? 'class="'~ particle.class ~'"') %} {% set image_height = particle.image_height ? 'style="max-height: ' ~ particle.image_height ~ '"' : particle.mobile_logo_image|imagesize %} {% if particle.mobile_logo_image %} {{ particle.text }} {% else %} {{ particle.text|raw }} {% endif %} {% endset %} {# Header Layout #} {% set isNavbarpos = particle.search_pos == 'navbar' or (particle.social_pos == 'navbar' and particle.social_items) or (particle.html_pos == 'navbar' and particle.html) or menu.root.count() %} {% set isHeaderpos = particle.search_pos == 'header' or (particle.social_pos == 'header' and particle.social_items) or (particle.html_pos == 'header' and particle.html) %} {% if menu.root.count() %} {% endif %} {# Mobile Header #}
    {% if particle.m_sticky %}
    {% endif %}
    {% if particle.container_maxwidth %}
    {% endif %} {% if particle.container_maxwidth %}
    {% endif %}
    {% if particle.menu_animation == 'dropdown' and not particle.g5canvas %} {% include '@particles/jlnavcanvas.html.twig' ignore missing %} {% endif %} {% if particle.m_sticky %}
    {% endif %} {% if particle.menu_animation != 'dropdown' and not particle.g5canvas %} {% include '@particles/jlnavcanvas.html.twig' ignore missing %} {% endif %}