Free
Footer
NutriBite Footer
A footer block extracted from the NutriBite template, available in Tailwind CSS, Bootstrap, DaisyUI, and Material Design.
0
23
A footer block extracted from the NutriBite template, available in Tailwind CSS, Bootstrap, DaisyUI, and Material Design.
<!DOCTYPE html>
<html lang="en">
<head>
<script>
window.FontAwesomeConfig = { autoReplaceSvg: "nest" };
</script>
<script
src="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/js/all.min.js"
crossorigin="anonymous"
referrerpolicy="no-referrer"
></script>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>NutriBite Footer | Tailwind CSS UI Block</title>
<meta
name="description"
content="A footer block extracted from the NutriBite template, available in Tailwind CSS, Bootstrap, DaisyUI, and Material Design."
/>
<meta
name="keywords"
content="healthy meal delivery template, meal subscription landing page, organic food website template, nutrition brand design, wellness food service"
/>
<meta name="author" content="Let's templates">
<link rel="canonical" href="">
<meta property="og:type" content="product">
<meta property="og:site_name" content="Let's templates">
<meta property="og:locale" content="en_US">
<meta property="og:url" content="">
<meta property="og:title" content="NutriBite | Tailwind CSS Healthy Meal Delivery Template">
<meta property="og:description" content="A responsive meal delivery landing page template for healthy food subscriptions, organic meal prep services, nutrition brands, and wellness-focused food businesses.">
<meta property="og:image" content="">
<meta property="og:image:alt" content="NutriBite template preview">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:url" content="">
<meta name="twitter:title" content="NutriBite | Tailwind CSS Healthy Meal Delivery Template">
<meta name="twitter:description" content="A responsive meal delivery landing page template for healthy food subscriptions, organic meal prep services, nutrition brands, and wellness-focused food businesses.">
<meta name="twitter:image" content="">
<meta name="twitter:image:alt" content="NutriBite template preview">
<script src="https://cdn.tailwindcss.com"></script>
<script>
tailwind.config = {
theme: {
extend: {
colors: {
sage: "#6b7a52",
"sage-dark": "#4a5638",
cream: "#f4eddc",
"cream-dark": "#e8dfc8",
"nb-dark": "#1a1a18",
},
},
},
};
</script>
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link
href="https://fonts.googleapis.com/css2?family=Fraunces:wght@400;700;900&family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap"
rel="stylesheet"
/>
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"
/>
<style>
body {
font-family: "Plus Jakarta Sans", sans-serif;
scroll-behavior: smooth;
background-color: #f4eddc;
color: #1a1a18;
}
.font-display {
font-family: "Fraunces", serif;
}
.meal-tab-active {
color: #6b7a52;
border-bottom: 2px solid #6b7a52;
font-weight: 700;
}
.meal-tab:not(.meal-tab-active) {
border-bottom: 2px solid transparent;
}
</style>
</head>
<body class="antialiased">
<%
meals = [
{
tag: "Best Seller", tag_bg: "bg-sage", tag_text: "text-white",
name: "Grilled Salmon Salad", kcal: "420 Kcal", protein: "32g Protein", price: "$5.20",
img: "https://images.unsplash.com/photo-1467003909585-2f8a72700288?w=400&q=80",
alt: "Grilled salmon salad with mixed greens and dressing"
},
{
tag: "Deal Seller", tag_bg: "bg-amber-400", tag_text: "text-white",
name: "Lean Chicken Avocado Plate", kcal: "380 Kcal", protein: "35g Protein", price: "$5.80",
img: "https://images.unsplash.com/photo-1512621776951-a57141f2eefd?w=400&q=80",
alt: "Lean chicken breast with sliced avocado and salad"
},
{
tag: "5 New Dishes", tag_bg: "bg-blue-100", tag_text: "text-blue-700",
name: "Chicken Quinoa Salad", kcal: "400 Kcal", protein: "28g Protein", price: "$5.50",
img: "https://images.unsplash.com/photo-1512058564366-18510be2db19?w=400&q=80",
alt: "Chicken and quinoa salad bowl with colorful vegetables"
},
{
tag: "Chef's Choice", tag_bg: "bg-purple-100", tag_text: "text-purple-700",
name: "Quinoa Chicken Wrap", kcal: "440 Kcal", protein: "30g Protein", price: "$5.40",
img: "https://images.unsplash.com/photo-1547592180-85f173990554?w=400&q=80",
alt: "Fresh quinoa chicken wrap with herbs"
},
]
%>
<% meals.each do |meal| %>
<% end %>
<%
nutrients = [
{ label: "Carb", pct: 32, color: "bg-blue-400" },
{ label: "Protein", pct: 25, color: "bg-green-400" },
{ label: "Fat", pct: 28, color: "bg-orange-400" },
{ label: "Fiber", pct: 40, color: "bg-sage" },
]
%>
<% nutrients.each do |n| %>
<% end %>
<%
features = [
{ icon: "fa-carrot", label: "Fresh\nIngredients" },
{ icon: "fa-scale-balanced", label: "Balanced\nNutrition" },
{ icon: "fa-bowl-food", label: "Easy\nServings" },
{ icon: "fa-headset", label: "Chat\nSupport" },
]
%>
<% features.each do |f| %>
<% end %>
<%
steps = [
{ num: "01", label: "Select Your Plan", active: false },
{ num: "02", label: "Pick Your Meals", active: false },
{ num: "03", label: "Cooked Fresh Daily", active: true },
{ num: "04", label: "Delivered to Your Door", active: false },
]
%>
<% steps.each do |step| %>
<% if step[:active] %>
<% end %>
<% end %>
<% [1, 2, 3].each_with_index do |n, i| %>
<% end %>
<!-- block:start footer -->
<footer id="footer" class="bg-nb-dark text-white pt-16">
<div class="max-w-7xl mx-auto px-6 pb-12">
<div class="flex flex-col lg:flex-row justify-between gap-12">
<!-- Nav columns -->
<div class="grid grid-cols-2 sm:grid-cols-3 gap-10 flex-1">
<div>
<h4 class="font-bold text-xs text-gray-300 mb-4 uppercase tracking-widest">Menu</h4>
<ul class="space-y-3 text-sm text-gray-500">
<li><a href="#" class="hover:text-white transition-colors">High Protein</a></li>
<li><a href="#" class="hover:text-white transition-colors">Weight Loss</a></li>
<li><a href="#" class="hover:text-white transition-colors">Vegan</a></li>
<li><a href="#" class="hover:text-white transition-colors">Balanced Meals</a></li>
</ul>
</div>
<div>
<h4 class="font-bold text-xs text-gray-300 mb-4 uppercase tracking-widest">Plans</h4>
<ul class="space-y-3 text-sm text-gray-500">
<li><a href="#" class="hover:text-white transition-colors">Weekly Plan</a></li>
<li><a href="#" class="hover:text-white transition-colors">Monthly Plan</a></li>
<li><a href="#" class="hover:text-white transition-colors">Family Plan</a></li>
<li><a href="#" class="hover:text-white transition-colors">Corporate</a></li>
</ul>
</div>
<div>
<h4 class="font-bold text-xs text-gray-300 mb-4 uppercase tracking-widest">Company</h4>
<ul class="space-y-3 text-sm text-gray-500">
<li><a href="#" class="hover:text-white transition-colors">About NutriBite</a></li>
<li><a href="#" class="hover:text-white transition-colors">FAQs</a></li>
<li><a href="#" class="hover:text-white transition-colors">Blog</a></li>
<li><a href="#" class="hover:text-white transition-colors">Press</a></li>
</ul>
</div>
</div>
<!-- Logo + socials -->
<div class="flex flex-col gap-6 lg:items-end">
<a href="#hero" class="flex items-center gap-2 font-display font-bold text-xl text-white">
<span class="w-7 h-7 bg-sage rounded-lg flex items-center justify-center text-white">
<i class="fa-solid fa-leaf text-xs"></i>
</span>
NutriBite
</a>
<div class="flex gap-3">
<a href="#" class="w-8 h-8 rounded-full bg-white/5 border border-white/10 flex items-center justify-center text-gray-400 hover:text-white hover:border-sage transition-all" aria-label="Instagram">
<i class="fa-brands fa-instagram text-xs"></i>
</a>
<a href="#" class="w-8 h-8 rounded-full bg-white/5 border border-white/10 flex items-center justify-center text-gray-400 hover:text-white hover:border-sage transition-all" aria-label="TikTok">
<i class="fa-brands fa-tiktok text-xs"></i>
</a>
<a href="#" class="w-8 h-8 rounded-full bg-white/5 border border-white/10 flex items-center justify-center text-gray-400 hover:text-white hover:border-sage transition-all" aria-label="Facebook">
<i class="fa-brands fa-facebook-f text-xs"></i>
</a>
</div>
<p class="text-gray-600 text-xs">© 2025 NutriBite. All rights reserved.</p>
</div>
</div>
</div>
<!-- Nutritional claims bar -->
<div class="border-t border-white/5 bg-[#141412]">
<div class="max-w-7xl mx-auto px-6 py-4 flex flex-wrap items-center justify-between gap-4">
<%
claims = [
{ icon: "fa-seedling", label: "100% Organic Sugar" },
{ icon: "fa-ban", label: "No Added Sugar" },
{ icon: "fa-percent", label: "27% Less Calories" },
{ icon: "fa-leaf", label: "100% Natural Ingredients" },
{ icon: "fa-dumbbell", label: "High in Protein" },
{ icon: "fa-heart-pulse", label: "Nutritionally Balanced" },
]
%>
<% claims.each do |claim| %>
<div class="flex items-center gap-1.5 text-gray-500 text-[11px]">
<i class="fa-solid <%= claim[:icon] %> text-sage text-[10px]"></i>
<span><%= claim[:label] %></span>
</div>
<% end %>
</div>
</div>
</footer>
<!-- block:end footer -->
<script>
document.querySelectorAll(".meal-tab").forEach(function (tab) {
tab.addEventListener("click", function () {
document.querySelectorAll(".meal-tab").forEach(function (t) {
t.classList.remove("meal-tab-active");
t.classList.add("text-gray-400");
});
this.classList.add("meal-tab-active");
this.classList.remove("text-gray-400");
});
});
const testimonials = [
{
quote: "I never thought healthy eating could be this easy. The portions are perfect, the flavors are great, and I've lost 4 kg in just six weeks without feeling hungry or deprived.",
author: "Sarah Milero",
location: "Sydney",
before: "https://images.unsplash.com/photo-1524594081293-190a2fe0baae?w=400&q=80",
after: "https://images.unsplash.com/photo-1571019613454-1cb2f99b2d8b?w=400&q=80",
beforeAlt: "Sarah before starting the NutriBite Weight Loss Plan",
afterAlt: "Sarah after six weeks on the NutriBite Weight Loss Plan",
},
{
quote: "Within two weeks I felt lighter and more energized. The Fight Bloat meals are satisfying, thoughtfully seasoned, and easy to fit into my busiest workdays.",
author: "Maya Chen",
location: "Melbourne",
before: "https://images.unsplash.com/photo-1517836357463-d25dfeac3438?w=400&q=80",
after: "https://images.unsplash.com/photo-1538805060514-97d9cc17730c?w=400&q=80",
beforeAlt: "Maya before starting the NutriBite Fight Bloat Plan",
afterAlt: "Maya feeling energized after the NutriBite Fight Bloat Plan",
},
{
quote: "The Vegan Plan proved that plant-based food can be convenient and genuinely exciting. Every delivery feels fresh, colorful, and completely different from the last.",
author: "Avery Williams",
location: "Brisbane",
before: "https://images.unsplash.com/photo-1518611012118-696072aa579a?w=400&q=80",
after: "https://images.unsplash.com/photo-1518310383802-640c2de311b2?w=400&q=80",
beforeAlt: "Avery before switching to the NutriBite Vegan Plan",
afterAlt: "Avery thriving on the NutriBite Vegan Plan",
},
{
quote: "NutriBite takes the guesswork out of eating well. The Balanced Meal Plan keeps my energy steady, and dinner is one less thing I need to plan every day.",
author: "Daniel Brooks",
location: "Perth",
before: "https://images.unsplash.com/photo-1571019614242-c5c5dee9f50b?w=400&q=80",
after: "https://images.unsplash.com/photo-1581009146145-b5ef050c2e1e?w=400&q=80",
beforeAlt: "Daniel before starting the NutriBite Balanced Meal Plan",
afterAlt: "Daniel after following the NutriBite Balanced Meal Plan",
},
];
let activeTestimonial = 0;
const testimonialQuote = document.getElementById("testimonial-quote");
const testimonialAuthor = document.getElementById("testimonial-author");
const testimonialLocation = document.getElementById("testimonial-location");
const testimonialBeforeImage = document.getElementById("testimonial-before-image");
const testimonialAfterImage = document.getElementById("testimonial-after-image");
const testimonialPlans = document.querySelectorAll(".testimonial-plan");
const testimonialAvatars = document.querySelectorAll(".testimonial-avatar");
function showTestimonial(index) {
activeTestimonial = (index + testimonials.length) % testimonials.length;
const testimonial = testimonials[activeTestimonial];
testimonialQuote.textContent = `“${testimonial.quote}”`;
testimonialAuthor.textContent = testimonial.author;
testimonialLocation.textContent = testimonial.location;
testimonialBeforeImage.src = testimonial.before;
testimonialBeforeImage.alt = testimonial.beforeAlt;
testimonialAfterImage.src = testimonial.after;
testimonialAfterImage.alt = testimonial.afterAlt;
testimonialPlans.forEach(function (plan, planIndex) {
const isActive = planIndex === activeTestimonial;
plan.setAttribute("aria-selected", String(isActive));
plan.classList.toggle("bg-sage", isActive);
plan.classList.toggle("text-white", isActive);
plan.classList.toggle("bg-white", !isActive);
plan.classList.toggle("text-gray-500", !isActive);
});
testimonialAvatars.forEach(function (avatar, avatarIndex) {
const isActive = avatarIndex === activeTestimonial % testimonialAvatars.length;
avatar.classList.toggle("opacity-60", !isActive);
avatar.classList.toggle("ring-2", isActive);
avatar.classList.toggle("ring-sage", isActive);
avatar.classList.toggle("ring-offset-2", isActive);
avatar.classList.toggle("ring-offset-cream", isActive);
});
}
document.getElementById("testimonial-prev").addEventListener("click", function () {
showTestimonial(activeTestimonial - 1);
});
document.getElementById("testimonial-next").addEventListener("click", function () {
showTestimonial(activeTestimonial + 1);
});
testimonialPlans.forEach(function (plan) {
plan.addEventListener("click", function () {
showTestimonial(Number(this.dataset.testimonialIndex));
});
});
</script>
</body>
</html>
Free
Business
Unlock the entire library of premium templates and blocks. Renews automatically, cancel anytime.