Want to add a stylish mega menu with images to your Shopify store—without using any apps? This guide walks you through creating a custom mega menu in the Dawn theme by editing Liquid files and adding your own CSS and JavaScript. Learn how to structure your menu, display images, and give your navigation a professional upgrade—100% code-based!
✨ Why This is a MUST for Dawn Theme Users:
The Shopify Dawn Theme is built for speed, flexibility, and mobile-first shopping—but its default navigation can be basic. By adding a mega menu with images, you:
✅ Maximize Dawn Theme’s Flexibility – Elevate its minimalist design with organized, image-rich navigation.
✅ Showcase Products Instantly – Highlight bestsellers, promotions, or collections directly in the menu—perfect for fashion, electronics, home decor, and dropshipping stores.
✅ Reduce Bounce Rates – Help shoppers find what they need faster, keeping them engaged longer.
✅ Boost AOV (Average Order Value) – Cross-promote related products directly in the menu.
🔥 Key Features of This Mega Menu:
📸 Image Support – Add banners, product thumbnails, or promotional graphics.
🖱️ Hover/Dropdown Effects – Smooth animations for a premium feel.
📱 Fully Responsive – Works perfectly on both mobile and desktop.
⚡ Fast-Loading – Optimized code to maintain Dawn’s speed advantage.
Step 1: Create Collection Metafield
Create a new Collection Metafield with the following properties:
- Name: Image
- Type: File
- Namespace: custom.image
Step 2: Add Schema Code
Add the following schema code in header.liquid file after "dropdown"
: "t:sections.header.settings.menu_type_desktop.label" },
line of code
{ "type": "select", "id": "mega_menu_images_toggle", "options": [ { "value": "none", "label": "None" }, { "value": "metafield", "label": "Metafield" } ], "default": "none", "label": "Mega menu collection image type" }, { "type": "checkbox", "id": "mega_menu_images_title", "label": "Hide the collection title (when mega menu images is active)", "default": false }, { "type": "checkbox", "id": "megamenu_backdrop_toggle", "label": "Add overlay when megamenu is open", "default": true }, { "type": "select", "id": "dropdown_menu_images_toggle", "options": [ { "value": "none", "label": "None" }, { "value": "metafield", "label": "Metafield" } ], "default": "none", "label": "Dropdown menu collection image type" }, { "type": "select", "id": "drawer_menu_images_toggle", "options": [ { "value": "none", "label": "None" }, { "value": "metafield", "label": "Metafield" } ], "default": "none", "label": "Drawer menu collection image type" }, { "type": "range", "id": "menu_images_size", "label": "Menu Image Size", "info": "Applies to drawer and dropdown menu", "default": 60, "min": 50, "max": 100, "step": 1, "unit": "px" }, { "type": "checkbox", "id": "menu_images_border_toggle", "label": "Enable Menu Border", "info": "Use with Dropdown and Drawer menu with images", "default": false }, { "type": "color", "id": "menu_images_border_color", "label": "Menu Images Border Color", "default": "#eaeaea" },
Step 3: Create snippet files
Create a new snippet file megamenu-image-custom.liquid and add following code on this file:
<ul class="mega-menu__list megamenu-with-image page-width"> {%- for childlink in link.links -%} {% assign image_url = '' %} {% if menu_images_toggle == 'metafield' and childlink.object and childlink.object.metafields.custom.image != blank %} {% assign image_url = childlink.object.metafields.custom.image | img_url: 'master' %} {% endif %} <li> <div class="mega-menu__column"> {% if image_url != blank %} <a href="{{ childlink.url }}"> <img src="{{ image_url }}" alt="{{ childlink.title | escape }}" class="mega-menu__image"> </a> {% endif %} <a id="HeaderMenu-{{ link.handle }}-{{ childlink.handle }}" href="{{ childlink.url }}" class="mega-menu__link mega-menu__link--level-2 link{% if childlink.current %} mega-menu__link--active{% endif %} {% if menu_titles_toggle %}hide-title{% endif %}" {% if childlink.current %} aria-current="page" {% endif %}> {{ childlink.title | escape }} </a> </div> </li> {%- endfor -%} </ul> <style> .mega-menu__image { width: 100%; border-radius: 10px; /* Adjust the radius value as needed (ex: 10px for rounded corners, 0px for square corners, 50% makes the image a circle) */ object-fit: cover; aspect-ratio: 1 / 1; } .mega-menu__column { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; } .mega-menu__list.megamenu-with-image { justify-content: center; grid-template-columns: repeat(auto-fit, minmax(calc((100% - (5 * 4rem)) / 6), calc((100% - (5 * 4rem)) / 6))); } .mega-menu__link.hide-title { display: none; } .menu-backdrop { display: none; position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background-color: rgba(0, 0, 0, 0.5); z-index: 3; } </style> {% if megamenu_backdrop_toggle %} <style> #menu-backdrop { display: none; position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0,0,0,0.5); z-index: 3; } </style> <script> document.addEventListener('DOMContentLoaded', function () { const menuBackdrop = document.getElementById('menu-backdrop'); document.querySelectorAll('.mega-menu').forEach(function(megaMenu) { megaMenu.addEventListener('toggle', function () { const isAnyMenuOpen = [...document.querySelectorAll('.mega-menu')].some(menu => menu.hasAttribute('open')); menuBackdrop.style.display = isAnyMenuOpen ? 'block' : 'none'; }); }); menuBackdrop.addEventListener('click', function () { document.querySelectorAll('.mega-menu').forEach(function(megaMenu) { megaMenu.removeAttribute('open'); }); menuBackdrop.style.display = 'none'; }); }); </script> {% endif %}
Create a new snippet menu-image-custom.liquid and add the following code into this file:
{% if menu_images_toggle != 'none' %} {% assign menu_image_url = '' %} {% if menu_images_toggle == 'metafield' %} {% if link.object.metafields.custom.image %} {% assign menu_image_url = link.object.metafields.custom.image | image_url: width: menu_images_size, height: menu_images_size %} <img src="{{ menu_image_url }}" alt="{{ link.title | escape }}" class="header-menu-image"> {% endif %} {% endif %} {% endif %} <style> {% if menu_images_toggle and menu_images_border_toggle %} .menu-drawer__menu { list-style: none; padding-left: 0; /* Remove default padding */ } .menu-drawer__menu li { border-top: 1px solid {{ menu_images_border_color }}; } .menu-drawer__menu li:last-child { border-bottom: 1px solid {{ menu_images_border_color }}; } .header__submenu > li:not(:last-child) { border-bottom: 1px solid {{ menu_images_border_color }}; } .header__submenu.header__submenu > li:not(:last-child) { border-bottom: 1px solid {{ menu_images_border_color }}; } .header__submenu.list-menu { padding: 0; } .header__submenu.header__submenu { margin: 0; } {% endif %} .header-menu-image { margin-left: auto; /* This ensures that the link (image) is pushed to the far right */ } .list-menu--disclosure.list-menu--images { width: {{ menu_dropdown_width }}rem; } </style>
Step 4: Replace Code in header-mega-menu.liquid
Replace code in header-mega-menu.liquid file with the following code:
{% comment %} Renders a megamenu for the header. Usage: {% render 'header-mega-menu' %} {% endcomment %} <nav class="header__inline-menu"> <ul class="list-menu list-menu--inline" role="list"> {%- for link in section.settings.menu.links -%} <li> {%- if link.links != blank -%} <header-menu> <details id="Details-HeaderMenu-{{ forloop.index }}" class="mega-menu"> <summary id="HeaderMenu-{{ link.handle }}" class="header__menu-item list-menu__item link focus-inset" > <span {%- if link.child_active %} class="header__active-menu-item" {% endif %} > {{- link.title | escape -}} </span> {{- 'icon-caret.svg' | inline_asset_content -}} </summary> <div id="MegaMenu-Content-{{ forloop.index }}" class="mega-menu__content color-{{ section.settings.menu_color_scheme }} gradient motion-reduce global-settings-popup" tabindex="-1" > {% if section.settings.menu_type_desktop == 'mega' and section.settings.mega_menu_images_toggle != 'none' %} {% render 'megamenu-image-custom', link: link, menu_images_toggle: section.settings.mega_menu_images_toggle, menu_titles_toggle: section.settings.mega_menu_images_title, megamenu_backdrop_toggle: section.settings.megamenu_backdrop_toggle %} {% else %} <ul class="mega-menu__list page-width{% if link.levels == 1 %} mega-menu__list--condensed{% endif %}" role="list" > {%- for childlink in link.links -%} <li> <a id="HeaderMenu-{{ link.handle }}-{{ childlink.handle }}" href="{{ childlink.url }}" class="mega-menu__link mega-menu__link--level-2 link{% if childlink.current %} mega-menu__link--active{% endif %}" {% if childlink.current %} aria-current="page" {% endif %} > {{ childlink.title | escape }} </a> {%- if childlink.links != blank -%} <ul class="list-unstyled" role="list"> {%- for grandchildlink in childlink.links -%} <li> <a id="HeaderMenu-{{ link.handle }}-{{ childlink.handle }}-{{ grandchildlink.handle }}" href="{{ grandchildlink.url }}" class="mega-menu__link link{% if grandchildlink.current %} mega-menu__link--active{% endif %}" {% if grandchildlink.current %} aria-current="page" {% endif %} > {{ grandchildlink.title | escape }} </a> </li> {%- endfor -%} </ul> {%- endif -%} </li> {%- endfor -%} </ul> {% endif %} </div> </details> </header-menu> {%- else -%} <a id="HeaderMenu-{{ link.handle }}" href="{{ link.url }}" class="header__menu-item list-menu__item link link--text focus-inset" {% if link.current %} aria-current="page" {% endif %} > <span {%- if link.current %} class="header__active-menu-item" {% endif %} > {{- link.title | escape -}} </span> </a> {%- endif -%} </li> {%- endfor -%} </ul> </nav>
Step 5: Replace code in header-drawer.liquid file
Replace code in header-drawer.liquid with the following code:
{% comment %} Renders a header drawer menu for mobile and desktop. Usage: {% render 'header-drawer' %} {% endcomment %} <style> ul.menu-drawer__menu.has-submenu.list-menu li a, ul.menu-drawer__menu.has-submenu.list-menu summary{ color: black !important; } </style> <header-drawer data-breakpoint="{% if section.settings.menu_type_desktop == 'drawer' %}desktop{% else %}tablet{% endif %}"> <details id="Details-menu-drawer-container" class="menu-drawer-container"> <summary class="header__icon header__icon--menu header__icon--summary link focus-inset" aria-label="{{ 'sections.header.menu' | t }}" > <span> {{- 'icon-hamburger.svg' | inline_asset_content -}} {{- 'icon-close.svg' | inline_asset_content -}} </span> </summary> <div id="menu-drawer" class="gradient menu-drawer motion-reduce color-{{ section.settings.menu_color_scheme }}"> <div class="menu-drawer__inner-container"> <div class="menu-drawer__navigation-container"> <nav class="menu-drawer__navigation"> <ul class="menu-drawer__menu has-submenu list-menu" role="list"> {%- for link in section.settings.menu.links -%} <li> {%- if link.links != blank -%} <details id="Details-menu-drawer-menu-item-{{ forloop.index }}"> <summary id="HeaderDrawer-{{ link.handle }}" class="menu-drawer__menu-item list-menu__item link link--text focus-inset{% if link.child_active %} menu-drawer__menu-item--active{% endif %}" > {{ link.title | escape }} {% render 'menu-image-custom', link: link, menu_images_toggle: section.settings.drawer_menu_images_toggle, menu_images_size: section.settings.menu_images_size, menu_images_border_toggle: section.settings.menu_images_border_toggle, menu_images_border_color: section.settings.menu_images_border_color %} {{- 'icon-arrow.svg' | inline_asset_content -}} {{- 'icon-caret.svg' | inline_asset_content -}} </summary> <div id="link-{{ link.handle | escape }}" class="menu-drawer__submenu has-submenu gradient motion-reduce" tabindex="-1" > <div class="menu-drawer__inner-submenu"> <button class="menu-drawer__close-button link link--text focus-inset" aria-expanded="true"> {{- 'icon-arrow.svg' | inline_asset_content -}} {{ link.title | escape }} </button> <ul class="menu-drawer__menu list-menu" role="list" tabindex="-1"> {%- for childlink in link.links -%} <li> {%- if childlink.links == blank -%} <a id="HeaderDrawer-{{ link.handle }}-{{ childlink.handle }}" href="{{ childlink.url }}" class="menu-drawer__menu-item link link--text list-menu__item focus-inset{% if childlink.current %} menu-drawer__menu-item--active{% endif %}" {% if childlink.current %} aria-current="page" {% endif %} > {{ childlink.title | escape }} {% render 'menu-image-custom', link: childlink, menu_images_toggle: section.settings.drawer_menu_images_toggle, menu_images_size: section.settings.menu_images_size, menu_images_border_toggle: section.settings.menu_images_border_toggle, menu_images_border_color: section.settings.menu_images_border_color %} </a> {%- else -%} <details id="Details-menu-drawer-{{ link.handle }}-{{ childlink.handle }}"> <summary id="HeaderDrawer-{{ link.handle }}-{{ childlink.handle }}" class="menu-drawer__menu-item link link--text list-menu__item focus-inset" > {{ childlink.title | escape }} {% render 'menu-image-custom', link: childlink, menu_images_toggle: section.settings.drawer_menu_images_toggle, menu_images_size: section.settings.menu_images_size, menu_images_border_toggle: section.settings.menu_images_border_toggle, menu_images_border_color: section.settings.menu_images_border_color %} {{- 'icon-arrow.svg' | inline_asset_content -}} {{- 'icon-caret.svg' | inline_asset_content -}} </summary> <div id="childlink-{{ childlink.handle | escape }}" class="menu-drawer__submenu has-submenu gradient motion-reduce" > <button class="menu-drawer__close-button link link--text focus-inset" aria-expanded="true" > {{- 'icon-arrow.svg' | inline_asset_content -}} {{ childlink.title | escape }} {% render 'menu-image-custom', link: childlink, menu_images_toggle: section.settings.drawer_menu_images_toggle, menu_images_size: section.settings.menu_images_size, menu_images_border_toggle: section.settings.menu_images_border_toggle, menu_images_border_color: section.settings.menu_images_border_color %} </button> <ul class="menu-drawer__menu list-menu" role="list" tabindex="-1" > {%- for grandchildlink in childlink.links -%} <li> <a id="HeaderDrawer-{{ link.handle }}-{{ childlink.handle }}-{{ grandchildlink.handle }}" href="{{ grandchildlink.url }}" class="menu-drawer__menu-item link link--text list-menu__item focus-inset{% if grandchildlink.current %} menu-drawer__menu-item--active{% endif %}" {% if grandchildlink.current %} aria-current="page" {% endif %} > {{ grandchildlink.title | escape }} {% render 'menu-image-custom', link: grandchildlink, menu_images_toggle: section.settings.drawer_menu_images_toggle, menu_images_size: section.settings.menu_images_size, menu_images_border_toggle: section.settings.menu_images_border_toggle, menu_images_border_color: section.settings.menu_images_border_color %} </a> </li> {%- endfor -%} </ul> </div> </details> {%- endif -%} </li> {%- endfor -%} </ul> </div> </div> </details> {%- else -%} <a id="HeaderDrawer-{{ link.handle }}" href="{{ link.url }}" class="menu-drawer__menu-item list-menu__item link link--text focus-inset{% if link.current %} menu-drawer__menu-item--active{% endif %}" {% if link.current %} aria-current="page" {% endif %} > {{ link.title | escape }} {% render 'menu-image-custom', link: link, menu_images_toggle: section.settings.drawer_menu_images_toggle, menu_images_size: section.settings.menu_images_size, menu_images_border_toggle: section.settings.menu_images_border_toggle, menu_images_border_color: section.settings.menu_images_border_color %} </a> {%- endif -%} </li> {%- endfor -%} </ul> </nav> <div class="menu-drawer__utility-links"> {%- if shop.customer_accounts_enabled -%} <a href="{%- if customer -%}{{ routes.account_url }}{%- else -%}{{ routes.account_login_url }}{%- endif -%}" class="menu-drawer__account link focus-inset h5 medium-hide large-up-hide" > <account-icon> {%- if customer and customer.has_avatar? -%} {{ customer | avatar }} {%- else -%} {{- 'icon-account.svg' | inline_asset_content -}} {%- endif -%} </account-icon> {%- liquid if customer echo 'customer.account_fallback' | t else echo 'customer.log_in' | t endif -%} </a> {%- endif -%} {%- if localization.available_countries or localization.available_languages -%} <div class="menu-drawer__localization header-localization"> {%- if localization.available_countries and localization.available_countries.size > 1 -%} <localization-form> {%- form 'localization', id: 'HeaderCountryMobileForm', class: 'localization-form' -%} <div> <h2 class="visually-hidden" id="HeaderCountryMobileLabel"> {{ 'localization.country_label' | t }} </h2> {%- render 'country-localization', localPosition: 'HeaderCountryMobile' -%} </div> {%- endform -%} </localization-form> {% endif %} {%- if localization.available_languages and localization.available_languages.size > 1 -%} <localization-form> {%- form 'localization', id: 'HeaderLanguageMobileForm', class: 'localization-form' -%} <div> <h2 class="visually-hidden" id="HeaderLanguageMobileLabel"> {{ 'localization.language_label' | t }} </h2> {%- render 'language-localization', localPosition: 'HeaderLanguageMobile' -%} </div> {%- endform -%} </localization-form> {%- endif -%} </div> {%- endif -%} <ul class="list list-social list-unstyled" role="list"> {%- if settings.social_twitter_link != blank -%} <li class="list-social__item"> <a href="{{ settings.social_twitter_link }}" class="list-social__link link"> {{- 'icon-twitter.svg' | inline_asset_content -}} <span class="visually-hidden">{{ 'general.social.links.twitter' | t }}</span> </a> </li> {%- endif -%} {%- if settings.social_facebook_link != blank -%} <li class="list-social__item"> <a href="{{ settings.social_facebook_link }}" class="list-social__link link"> {{- 'icon-facebook.svg' | inline_asset_content -}} <span class="visually-hidden">{{ 'general.social.links.facebook' | t }}</span> </a> </li> {%- endif -%} {%- if settings.social_pinterest_link != blank -%} <li class="list-social__item"> <a href="{{ settings.social_pinterest_link }}" class="list-social__link link"> {{- 'icon-pinterest.svg' | inline_asset_content -}} <span class="visually-hidden">{{ 'general.social.links.pinterest' | t }}</span> </a> </li> {%- endif -%} {%- if settings.social_instagram_link != blank -%} <li class="list-social__item"> <a href="{{ settings.social_instagram_link }}" class="list-social__link link"> {{- 'icon-instagram.svg' | inline_asset_content -}} <span class="visually-hidden">{{ 'general.social.links.instagram' | t }}</span> </a> </li> {%- endif -%} {%- if settings.social_tiktok_link != blank -%} <li class="list-social__item"> <a href="{{ settings.social_tiktok_link }}" class="list-social__link link"> {{- 'icon-tiktok.svg' | inline_asset_content -}} <span class="visually-hidden">{{ 'general.social.links.tiktok' | t }}</span> </a> </li> {%- endif -%} {%- if settings.social_tumblr_link != blank -%} <li class="list-social__item"> <a href="{{ settings.social_tumblr_link }}" class="list-social__link link"> {{- 'icon-tumblr.svg' | inline_asset_content -}} <span class="visually-hidden">{{ 'general.social.links.tumblr' | t }}</span> </a> </li> {%- endif -%} {%- if settings.social_snapchat_link != blank -%} <li class="list-social__item"> <a href="{{ settings.social_snapchat_link }}" class="list-social__link link"> {{- 'icon-snapchat.svg' | inline_asset_content -}} <span class="visually-hidden">{{ 'general.social.links.snapchat' | t }}</span> </a> </li> {%- endif -%} {%- if settings.social_youtube_link != blank -%} <li class="list-social__item"> <a href="{{ settings.social_youtube_link }}" class="list-social__link link"> {{- 'icon-youtube.svg' | inline_asset_content -}} <span class="visually-hidden">{{ 'general.social.links.youtube' | t }}</span> </a> </li> {%- endif -%} {%- if settings.social_vimeo_link != blank -%} <li class="list-social__item"> <a href="{{ settings.social_vimeo_link }}" class="list-social__link link"> {{- 'icon-vimeo.svg' | inline_asset_content -}} <span class="visually-hidden">{{ 'general.social.links.vimeo' | t }}</span> </a> </li> {%- endif -%} </ul> </div> </div> </div> </div> </details> </header-drawer>
Step 6: Replace code in header-dropdown-menu.liquid
Replace header-dropdown-menu.liquid code with the following code:
{% comment %} Renders a standard dropdown style menu for the header. Usage: {% render 'header-dropdown-menu' %} {% endcomment %} <nav class="header__inline-menu"> <ul class="list-menu list-menu--inline" role="list"> {%- for link in section.settings.menu.links -%} <li> {%- if link.links != blank -%} <header-menu> <details id="Details-HeaderMenu-{{ forloop.index }}"> <summary id="HeaderMenu-{{ link.handle }}" class="header__menu-item list-menu__item link focus-inset" > <span {%- if link.child_active %} class="header__active-menu-item" {% endif %} > {{- link.title | escape -}} </span> {{- 'icon-caret.svg' | inline_asset_content -}} </summary> <ul id="HeaderMenu-MenuList-{{ forloop.index }}" class="header__submenu list-menu list-menu--disclosure list-menu-images color-{{ section.settings.menu_color_scheme }} gradient caption-large motion-reduce global-settings-popup" role="list" tabindex="-1" > {%- for childlink in link.links -%} <li> {%- if childlink.links == blank -%} <a id="HeaderMenu-{{ link.handle }}-{{ childlink.handle }}" href="{{ childlink.url }}" class="header__menu-item list-menu__item link link--text focus-inset caption-large{% if childlink.current %} list-menu__item--active{% endif %}" {% if childlink.current %} aria-current="page" {% endif %} > {{ childlink.title | escape }} {% render 'menu-image-custom', link: childlink, menu_images_toggle: section.settings.dropdown_menu_images_toggle, menu_dropdown_width: section.settings.menu_dropdown_width, menu_images_size: section.settings.menu_images_size, menu_images_border_toggle: section.settings.menu_images_border_toggle, menu_images_border_color: section.settings.menu_images_border_color %} </a> {%- else -%} <details id="Details-HeaderSubMenu-{{ link.handle }}-{{ childlink.handle }}"> <summary id="HeaderMenu-{{ link.handle }}-{{ childlink.handle }}" class="header__menu-item link link--text list-menu__item focus-inset caption-large" > <span>{{ childlink.title | escape }}</span> {% render 'menu-image-custom', link: childlink, menu_images_toggle: section.settings.dropdown_menu_images_toggle, menu_dropdown_width: section.settings.menu_dropdown_width, menu_images_size: section.settings.menu_images_size, menu_images_border_toggle: section.settings.menu_images_border_toggle, menu_images_border_color: section.settings.menu_images_border_color %} {{- 'icon-caret.svg' | inline_asset_content -}} </summary> <ul id="HeaderMenu-SubMenuList-{{ link.handle }}-{{ childlink.handle }}-{{ grandchildlink.handle }}" class="header__submenu list-menu motion-reduce" > {%- for grandchildlink in childlink.links -%} <li> <a id="HeaderMenu-{{ link.handle }}-{{ childlink.handle }}-{{ grandchildlink.handle }}" href="{{ grandchildlink.url }}" class="header__menu-item list-menu__item link link--text focus-inset caption-large{% if grandchildlink.current %} list-menu__item--active{% endif %}" {% if grandchildlink.current %} aria-current="page" {% endif %} > {{ grandchildlink.title | escape }} {% render 'menu-image-custom', link: grandchildlink, menu_images_toggle: section.settings.dropdown_menu_images_toggle, menu_dropdown_width: section.settings.menu_dropdown_width, menu_images_size: section.settings.menu_images_size, menu_images_border_toggle: section.settings.menu_images_border_toggle, menu_images_border_color: section.settings.menu_images_border_color %} </a> </li> {%- endfor -%} </ul> </details> {%- endif -%} </li> {%- endfor -%} </ul> </details> </header-menu> {%- else -%} <a id="HeaderMenu-{{ link.handle }}" href="{{ link.url }}" class="header__menu-item list-menu__item link link--text focus-inset" {% if link.current %} aria-current="page" {% endif %} > <span {%- if link.current %} class="header__active-menu-item" {% endif %} > {{- link.title | escape -}} </span> </a> {%- endif -%} </li> {%- endfor -%} </ul> </nav>
Step 7: Add code in theme.liquid file
Add the following code in theme.liquid file after <body
line
<div id="menu-backdrop"></div>