<header class="py-6 font-semibold text-neutral-900 dark:text-neutral sm:py-10 print:hidden">
  <nav class="flex items-start justify-between sm:items-center">
    {{/* Site logo/title */}}
    <div class="flex flex-row items-center">
      {{ partial "logo.html" . }}
    </div>
    {{/* Main menu */}}
    {{ if or .Site.Menus.main (.Site.Params.enableSearch | default false) }}
      <ul class="flex list-none flex-col text-end sm:flex-row">
        {{ if .Site.Menus.main }}
          {{ range .Site.Menus.main }}
            {{ if and (eq .Params.action "locale") (or (not page.IsTranslated) (not hugo.IsMultilingual)) }}
              {{ continue }}
            {{ end }}
            <li class="group mb-1 sm:mb-0 sm:me-7 sm:last:me-0.5">
              {{ if eq .Params.action "search" }}
                {{ $.Scratch.Add "searchCount" 1 }}
                {{ if $.Site.Params.enableSearch | default false }}
                  <button
                    id="search-button-{{ $.Scratch.Get "searchCount" }}"
                    title="{{ .Title | default (i18n "search.open_button_title") }}"
                  >
                    {{ with .Params.icon | default "search" }}
                      <span
                        class="group-dark:hover:text-primary-400 transition-colors group-hover:text-primary-600"
                      >
                        {{- partial "icon.html" . -}}
                      </span>
                    {{- end -}}{{- if .Params.showName | default true -}}
                      <span
                        class="decoration-primary-500 group-hover:underline group-hover:decoration-2 group-hover:underline-offset-2"
                        >{{ .Name | markdownify | emojify }}</span
                      >
                    {{ end }}
                  </button>
                {{ end }}
              {{ else if eq .Params.action "appearance" }}
                {{ $.Scratch.Add "switchCount" 1 }}
                <button
                  id="appearance-switcher-{{ $.Scratch.Get "switchCount" }}"
                  type="button"
                  aria-label="appearance switcher"
                >
                  <span
                    class="group-dark:hover:text-primary-400 inline transition-colors group-hover:text-primary-600 dark:hidden"
                    title="{{ i18n "footer.dark_appearance" }}"
                  >
                    {{ with .Params.icon | default "moon" }}
                      {{- partial "icon.html" . -}}
                    {{- end -}}
                    {{- if .Params.showName | default true -}}
                      <span
                        class="decoration-primary-500 group-hover:underline group-hover:decoration-2 group-hover:underline-offset-2"
                        >{{ .Name | markdownify | emojify }}</span
                      >
                    {{ end }}
                  </span>
                  <span
                    class="group-dark:hover:text-primary-400 hidden transition-colors group-hover:text-primary-600 dark:inline"
                    title="{{ i18n "footer.light_appearance" }}"
                  >
                    {{ with .Params.icon | default "sun" }}
                      {{ partial "icon.html" . }}
                    {{ end }}
                    {{ if .Params.showName | default true }}
                      <span
                        class="decoration-primary-500 group-hover:underline group-hover:decoration-2 group-hover:underline-offset-2"
                        >{{ .Name | markdownify | emojify }}</span
                      >
                    {{ end }}
                  </span>
                </button>
              {{ else if eq .Params.action "locale" }}
                {{ $.Scratch.Add "localeCount" 1 }}
                {{ partial "translations.html" . }}
              {{ else }}
                <a
                  href="{{ .URL }}"
                  title="{{ .Title }}"
                  {{ with .Params.target }}target="{{ . }}"{{ end }}
                  >{{ with .Params.icon }}
                    <span
                      class="group-dark:hover:text-primary-400 transition-colors group-hover:text-primary-600"
                    >
                      {{- partial "icon.html" . -}}
                    </span>
                  {{- end -}}{{- if .Params.showName | default true -}}
                    <span
                      class="decoration-primary-500 group-hover:underline group-hover:decoration-2 group-hover:underline-offset-2"
                      >{{ .Name | markdownify | emojify }}</span
                    >
                  {{ end }}</a
                >
              {{ end }}
            </li>
          {{ end }}
          {{ if and ($.Site.Params.enableSearch | default false) (eq ($.Scratch.Get "searchCount") 0) }}
            <li class="group mb-1 sm:mb-0 sm:me-7 sm:last:me-0">
              <button id="search-button-m0" title="{{ i18n "search.open_button_title" }}">
                <span
                  class="group-dark:hover:text-primary-400 transition-colors group-hover:text-primary-600"
                >
                  {{ partial "icon.html" "search" }}
                </span>
              </button>
            </li>
          {{ end }}
        {{ end }}
      </ul>
    {{ end }}
  </nav>
</header>
