All-Access · 23 templates$1319.97$99/year — save 92%Get access
  • HomeHome
  • TemplatesTemplates17+
  • ComponentsComponents80+
  • PricingPricing
  • Need a Website?Need a Website?New
Unlock All AccessUnlock All Access

Our latest template collection

Ready-to-launch sites for real estate agents, service businesses, and local brands — built to rank, load fast, and convert.

Explore All TemplatesExplore All Templates

Orvaine - Luxury Equestrian & Horse Breeding Website Template

Orvaine is a premium website template for stud farms, sport horse breeders and equestrian estates: horse pages with pedigrees, events, films. Next.js, Astro, Sanity.

Download Template
Orvaine - Luxury Equestrian & Horse Breeding Website Template

Maressa - Luxury Yacht Charter & Sales Website Template

Maressa is a premium website template for yacht charter, brokerage and superyacht brands: 21 editable sections, full-screen films, Next.js and Astro versions. Sanity.

Download Template
Maressa - Luxury Yacht Charter & Sales Website Template

Krishi – Agriculture & Farm Website Template

Krishi is a premium website template for farms, agritech and food brands: 17 editable sections, cinematic GSAP motion and both Next.js and Astro versions. Built with Sanity.

Download Template
Krishi – Agriculture & Farm Website Template
ComponentsNavbarsNavbar Dark
FreeReactTailwind CSSNext.js

Navbar Dark

A dark sticky navbar with centred links, sign-in, a lime pill button and an animated mobile menu. React and Tailwind CSS.

View codeView code
Full screen
NavbarDark.tsx
"use client";

// Dark sticky navbar: logo, centred links, sign-in and a lime pill button,
// with an animated hamburger and dropdown menu on phones.
// Pure Tailwind + React, no dependencies. Works with Tailwind v3 and v4.

import { useState } from "react";

type Link = { label: string; href: string };

type Props = {
  logo?: string;
  links?: Link[];
  signIn?: Link;
  cta?: Link;
};

const DEFAULT_LINKS: Link[] = [
  { label: "Product", href: "#" },
  { label: "Solutions", href: "#" },
  { label: "Pricing", href: "#" },
  { label: "Docs", href: "#" },
];

export default function NavbarDark({
  logo = "Lumen",
  links = DEFAULT_LINKS,
  signIn = { label: "Sign in", href: "#" },
  cta = { label: "Get started", href: "#" },
}: Props) {
  const [open, setOpen] = useState(false);

  return (
    <header className="sticky top-0 z-50 w-full border-b border-white/10 bg-black font-sans antialiased">
      <div className="mx-auto flex h-16 max-w-7xl items-center justify-between px-5 md:px-8">
        <a href="#" className="font-serif text-2xl font-bold uppercase tracking-[0.08em] text-white">
          {logo}
        </a>

        <nav className="hidden items-center gap-8 md:flex">
          {links.map((l) => (
            <a key={l.label} href={l.href} className="text-base text-white/70 transition-colors duration-150 hover:text-white">
              {l.label}
            </a>
          ))}
        </nav>

        <div className="hidden items-center gap-4 md:flex">
          <a href={signIn.href} className="text-base text-white/70 transition-colors duration-150 hover:text-white">
            {signIn.label}
          </a>
          <a href={cta.href} className="rounded-full bg-lime-400 px-5 py-2.5 text-xs font-bold uppercase tracking-wider text-black transition-colors duration-200 hover:bg-white">
            {cta.label}
          </a>
        </div>

        <button type="button" className="relative flex h-6 w-6 items-center justify-center md:hidden" onClick={() => setOpen(!open)} aria-label="Toggle menu" aria-expanded={open}>
          <span className={`absolute h-px w-5 bg-white transition-all duration-300 ${open ? "rotate-45" : "-translate-y-2"}`} />
          <span className={`absolute h-px w-5 bg-white transition-all duration-300 ${open ? "opacity-0" : ""}`} />
          <span className={`absolute h-px w-5 bg-white transition-all duration-300 ${open ? "-rotate-45" : "translate-y-2"}`} />
        </button>
      </div>

      {open && (
        <div className="flex flex-col gap-4 border-t border-white/10 bg-black px-5 py-6 md:hidden">
          {links.map((l) => (
            <a key={l.label} href={l.href} onClick={() => setOpen(false)} className="text-sm text-white/60 transition-colors hover:text-white">
              {l.label}
            </a>
          ))}
          <div className="flex flex-col gap-3 border-t border-white/10 pt-4">
            <a href={signIn.href} className="text-sm text-white/70">
              {signIn.label}
            </a>
            <a href={cta.href} className="rounded-full bg-lime-400 px-5 py-3 text-center text-xs font-bold uppercase tracking-wider text-black">
              {cta.label}
            </a>
          </div>
        </div>
      )}
    </header>
  );
}

How to use it

  1. Make sure your Next.js or React project has Tailwind CSS set up.
  2. Create components/NavbarDark.tsx and paste the code.
  3. Import it into a page and replace the placeholder text and images with your own.
Need the whole website?

Skip the assembly

Our Next.js & Astro templates ship every page already built, with Sanity CMS, SEO and fast load times included.

Browse templates Browse templates

More free components

All navbars →
Navbar with Announcement Bar

Navbar with Announcement Bar

Navbar Float

Navbar Float

Navbar Simple

Navbar Simple

Launch a full site instead

Orvaine - Luxury Equestrian & Horse Breeding Website TemplateNext.js + Astro
All-Access PREMIUM NEXTJS ASTRO
Orvaine - Luxury Equestrian & Horse Breeding Website Template

Orvaine is a premium website template for stud farms, sport horse breeders and equestrian estates: h...

Preview
Maressa - Luxury Yacht Charter & Sales Website TemplateNext.js + Astro
All-Access NEXTJS ASTRO PREMIUM
Maressa - Luxury Yacht Charter & Sales Website Template

Maressa is a premium website template for yacht charter, brokerage and superyacht brands: 21 editabl...

Preview
Krishi – Agriculture & Farm Website TemplateNext.js + Astro
All-Access PREMIUM NEXTJS ASTRO
Krishi – Agriculture & Farm Website Template

Krishi is a premium website template for farms, agritech and food brands: 17 editable sections, cine...

Preview

Ready for a faster site that's easier to edit?

Book a free 30-minute call. We'll review your current site and send a fixed-price plan. No pressure, no pitch.

Book Free Call Book Free Call No commitment required

Fast Next.js + Sanity websites, built for you or ready to launch with our templates.

Book a Free Call Book a Free Call
Services
  • Web Design
  • UI/UX Design
  • Framer Dev
  • Webflow Dev
  • Custom Dev
  • Sanity CMS
Resources
  • Templates
  • Pricing
  • License
  • Components
  • Case Studies
Company
  • About Us
  • Contact
  • Privacy Policy
© 2026 rayso.studio — All rights reservedDesigned & built in-house Remote-first agency
Let's TalkLet's Talk