Cards are flexible content containers with optional header, footer, images and lists. Use them for products, profiles, pricing plans, dashboard widgets and articles, and lay them out with the grid, card groups or row-cols for equal heights.
1Basic card
Image on top, a title, some text and a button.
<div class="card" style="max-width: 20rem;">
<img src="https://images.unsplash.com/photo-1441986300917-64674bd600d8?auto=format&fit=crop&w=1200&h=800&q=70" class="card-img-top" alt="Loyalty rewards">
<div class="card-body">
<h5 class="card-title">Loyalty rewards</h5>
<p class="card-text">We listen first, then build a plan around what you actually need.</p>
<a href="#" class="btn btn-primary">Learn more</a>
</div>
</div>2Header and footer
card-header and card-footer frame the body; the footer often holds meta text.
What to pack for a rainy weekend outdoors
Thousands of five-star reviews from customers who came back for more. Clear prices, honest advice and no surprises along the way.
<div class="card">
<div class="card-header flex justify-between items-center">
<span class="font-semibold"><i class="bi bi-megaphone-fill" aria-hidden="true"></i> Announcement</span><span class="badge text-bg-primary">Team</span>
</div>
<div class="card-body">
<h5 class="card-title">What to pack for a rainy weekend outdoors</h5>
<p class="card-text">Thousands of five-star reviews from customers who came back for more. Clear prices, honest advice and no surprises along the way.</p>
</div>
<div class="card-footer text-muted small">
Posted yesterday
</div>
</div>3Pricing cards
Three plans with equal heights; the recommended plan is highlighted.
Starter
- Member prices
- Sustainable materials
Team
- Sustainable materials
- Easy exchanges
- Secure payments
Business
- Sustainable materials
- Member prices
- Hand-checked quality
- Sustainable materials
<div class="row row-cols-1 row-cols-md-3 g-3 text-center">
<div class="col">
<div class="card h-full">
<div class="card-header">
</div>
<div class="card-body flex flex-col">
<h5 class="card-title">Starter</h5>
<div class="display-6 font-bold my-2">
$9<small class="text-base font-normal text-muted">/mo</small>
</div>
<ul class="list-unstyled small text-start mx-auto mb-6">
<li class="mb-1"><span class="text-success-emphasis"><i class="bi bi-check2" aria-hidden="true"></i></span> Member prices</li>
<li class="mb-1"><span class="text-success-emphasis"><i class="bi bi-check2" aria-hidden="true"></i></span> Sustainable materials</li>
</ul>
<button type="button" class="btn btn-outline-primary mt-auto w-full">Choose Starter</button>
</div>
</div>
</div>
<div class="col">
<div class="card h-full border-primary shadow-md">
<div class="card-header text-bg-primary">
Most popular
</div>
<div class="card-body flex flex-col">
<h5 class="card-title">Team</h5>
<div class="display-6 font-bold my-2">
$29<small class="text-base font-normal text-muted">/mo</small>
</div>
<ul class="list-unstyled small text-start mx-auto mb-6">
<li class="mb-1"><span class="text-success-emphasis"><i class="bi bi-check2" aria-hidden="true"></i></span> Sustainable materials</li>
<li class="mb-1"><span class="text-success-emphasis"><i class="bi bi-check2" aria-hidden="true"></i></span> Easy exchanges</li>
<li class="mb-1"><span class="text-success-emphasis"><i class="bi bi-check2" aria-hidden="true"></i></span> Secure payments</li>
</ul>
<button type="button" class="btn btn-primary mt-auto w-full">Choose Team</button>
</div>
</div>
</div>
<div class="col">
<div class="card h-full">
<div class="card-header">
</div>
<div class="card-body flex flex-col">
<h5 class="card-title">Business</h5>
<div class="display-6 font-bold my-2">
$79<small class="text-base font-normal text-muted">/mo</small>
</div>
<ul class="list-unstyled small text-start mx-auto mb-6">
<li class="mb-1"><span class="text-success-emphasis"><i class="bi bi-check2" aria-hidden="true"></i></span> Sustainable materials</li>
<li class="mb-1"><span class="text-success-emphasis"><i class="bi bi-check2" aria-hidden="true"></i></span> Member prices</li>
<li class="mb-1"><span class="text-success-emphasis"><i class="bi bi-check2" aria-hidden="true"></i></span> Hand-checked quality</li>
<li class="mb-1"><span class="text-success-emphasis"><i class="bi bi-check2" aria-hidden="true"></i></span> Sustainable materials</li>
</ul>
<button type="button" class="btn btn-outline-primary mt-auto w-full">Choose Business</button>
</div>
</div>
</div>
</div>4Profile card
Cover image, overlapping avatar, stats and actions for a user profile.
Ravi Harlow
HR Partner · Barcelona
<div class="card text-center overflow-hidden" style="max-width: 20rem;">
<img src="https://images.unsplash.com/photo-1718985342149-7178154e0aee?auto=format&fit=crop&w=1600&h=700&q=70" class="card-img-top object-cover" style="height: 90px;" alt="">
<div class="card-body pt-0">
<img src="../assets/img/avatar-11.svg" alt="Ravi Harlow" class="rounded-full border border-4 border-white ca-card-av" width="88" height="88">
<h5 class="card-title mt-2 mb-0">Ravi Harlow</h5>
<p class="text-muted small">HR Partner · Barcelona</p>
<div class="flex justify-around border-t border-b py-2 mb-4 small">
<div>
<div class="font-bold">
271
</div>
Posts
</div>
<div>
<div class="font-bold">
68.6k
</div>
Followers
</div>
<div>
<div class="font-bold">
770
</div>
Following
</div>
</div>
<div class="flex gap-2 justify-center">
<button type="button" class="btn btn-primary btn-sm">Follow</button>
<button type="button" class="btn btn-outline-secondary btn-sm">Message</button>
</div>
</div>
</div>5Horizontal card
Image and text side by side using the grid; it stacks on small screens.
Our favourite tips for busy weeks
We work directly with makers, so prices stay fair for everyone.
Updated 3 days ago
<div class="card overflow-hidden" style="max-width: 560px;">
<div class="row g-0">
<div class="col-sm-4">
<img src="https://images.unsplash.com/photo-1443884590026-2e4d21aee71c?auto=format&fit=crop&w=800&h=800&q=70" class="img-fluid h-full object-cover" alt="How to care for linen so it lasts for years">
</div>
<div class="col-sm-8">
<div class="card-body">
<h5 class="card-title">Our favourite tips for busy weeks</h5>
<p class="card-text">We work directly with makers, so prices stay fair for everyone.</p>
<p class="card-text"><small class="text-muted">Updated 3 days ago</small></p>
</div>
</div>
</div>
</div>6Image overlay
Text over the image with card-img-overlay and a dark gradient for contrast.
<div class="card text-white border-0 overflow-hidden" style="max-width: 32rem;">
<img src="https://images.unsplash.com/photo-1630905119003-329447458f85?auto=format&fit=crop&w=1200&h=800&q=70" class="card-img" alt="Designed to last, priced to love">
<div class="card-img-overlay flex flex-col justify-end ca-card-shade">
<span class="badge text-bg-light self-start mb-2">Beauty</span>
<h4 class="card-title">Everyday essentials, beautifully made</h4>
<p class="card-text small mb-0">Dec 14, 2025</p>
</div>
</div>7KPI cards
Small stat cards for dashboards: value, trend and a tinted icon.
<div class="row row-cols-1 row-cols-sm-2 row-cols-lg-4 g-3">
<div class="col">
<div class="card h-full">
<div class="card-body">
<div class="flex justify-between items-start">
<div>
<div class="small text-muted">
Revenue
</div>
<div class="text-xl font-bold">
$16,083.76
</div>
</div>
<span class="rounded-lg p-2 bg-primary-subtle text-primary-emphasis"><i class="bi bi-currency-dollar" aria-hidden="true"></i></span>
</div>
<div class="small mt-2 text-success-emphasis">
<i class="bi bi-arrow-up-right" aria-hidden="true"></i> 3% vs last month
</div>
</div>
</div>
</div>
<div class="col">
<div class="card h-full">
<div class="card-body">
<div class="flex justify-between items-start">
<div>
<div class="small text-muted">
New customers
</div>
<div class="text-xl font-bold">
5.4k
</div>
</div>
<span class="rounded-lg p-2 bg-success-subtle text-success-emphasis"><i class="bi bi-people-fill" aria-hidden="true"></i></span>
</div>
<div class="small mt-2 text-success-emphasis">
<i class="bi bi-arrow-up-right" aria-hidden="true"></i> 16% vs last month
</div>
</div>
</div>
</div>
<div class="col">
<div class="card h-full">
<div class="card-body">
<div class="flex justify-between items-start">
<div>
<div class="small text-muted">
Orders
</div>
<div class="text-xl font-bold">
3.8k
</div>
</div>
<span class="rounded-lg p-2 bg-warning-subtle text-warning-emphasis"><i class="bi bi-cart-check-fill" aria-hidden="true"></i></span>
</div>
<div class="small mt-2 text-success-emphasis">
<i class="bi bi-arrow-up-right" aria-hidden="true"></i> 8% vs last month
</div>
</div>
</div>
</div>
<div class="col">
<div class="card h-full">
<div class="card-body">
<div class="flex justify-between items-start">
<div>
<div class="small text-muted">
Refund rate
</div>
<div class="text-xl font-bold">
4.1%
</div>
</div>
<span class="rounded-lg p-2 bg-danger-subtle text-danger-emphasis"><i class="bi bi-graph-down-arrow" aria-hidden="true"></i></span>
</div>
<div class="small mt-2 text-danger-emphasis">
<i class="bi bi-arrow-down-right" aria-hidden="true"></i> 20% vs last month
</div>
</div>
</div>
</div>
</div>8Card with list group
A flush list group inside a card, with a footer link.
- Face oil382
- Cotton throw85
- Rain jacket14
<div class="card" style="max-width: 22rem;">
<div class="card-header font-semibold">
Top products
</div>
<ul class="list-group list-group-flush">
<li class="list-group-item flex justify-between">Face oil<span class="text-muted">382</span></li>
<li class="list-group-item flex justify-between">Cotton throw<span class="text-muted">85</span></li>
<li class="list-group-item flex justify-between">Rain jacket<span class="text-muted">14</span></li>
</ul>
<div class="card-footer bg-transparent">
<a href="#" class="small">View all <i class="bi bi-arrow-right" aria-hidden="true"></i></a>
</div>
</div>9Card with tabs
Nav tabs in the card header switch the body content through the tab data API.
Our team has done this many times, so you never have to guess. Our packaging is plastic-free and every delivery is carbon-neutral.
- Member prices
- Secure payments
“Free shipping on orders over $50 and easy returns within 30 days.”
<div class="card">
<div class="card-header">
<ul class="nav nav-tabs card-header-tabs" role="tablist">
<li class="nav-item" role="presentation"><button class="nav-link active" id="ctab-877-tab" data-ui-toggle="tab" data-ui-target="#ctab-877" type="button" role="tab" aria-controls="ctab-877" aria-selected="true">Overview</button></li>
<li class="nav-item" role="presentation"><button class="nav-link" id="ctab-878-tab" data-ui-toggle="tab" data-ui-target="#ctab-878" type="button" role="tab" aria-controls="ctab-878" aria-selected="false">Specs</button></li>
<li class="nav-item" role="presentation"><button class="nav-link" id="ctab-879-tab" data-ui-toggle="tab" data-ui-target="#ctab-879" type="button" role="tab" aria-controls="ctab-879" aria-selected="false">Reviews</button></li>
</ul>
</div>
<div class="card-body tab-content">
<div class="tab-pane fade show active" id="ctab-877" role="tabpanel" aria-labelledby="ctab-877-tab" tabindex="0">
<p class="mb-0">Our team has done this many times, so you never have to guess. Our packaging is plastic-free and every delivery is carbon-neutral.</p>
</div>
<div class="tab-pane fade" id="ctab-878" role="tabpanel" aria-labelledby="ctab-878-tab" tabindex="0">
<ul class="mb-0">
<li>Member prices</li>
<li>Secure payments</li>
</ul>
</div>
<div class="tab-pane fade" id="ctab-879" role="tabpanel" aria-labelledby="ctab-879-tab" tabindex="0">
<p class="mb-0"><span class="text-warning-emphasis" aria-label="Rated 4.5 out of 5"><i class="bi bi-star-fill" aria-hidden="true"></i><i class="bi bi-star-fill" aria-hidden="true"></i><i class="bi bi-star-fill" aria-hidden="true"></i><i class="bi bi-star-fill" aria-hidden="true"></i><i class="bi bi-star-half" aria-hidden="true"></i></span> “Free shipping on orders over $50 and easy returns within 30 days.”</p>
</div>
</div>
</div>10Background colours
text-bg-* colours the whole card with matching readable text.
New pieces arrive every month, and the best ones sell out fast.
Not sure about the size? Our fit guide and live chat help you choose.
We listen first, then build a plan around what you actually need.
Every piece is made in small batches from materials we test ourselves.
Start in minutes and get help from a real person whenever you need it.
Thousands of shoppers already trust us, and we work hard to keep it that way.
<div class="row row-cols-1 row-cols-sm-2 row-cols-lg-3 g-3">
<div class="col">
<div class="card text-bg-primary h-full">
<div class="card-header">
Primary
</div>
<div class="card-body">
<p class="card-text small mb-0">New pieces arrive every month, and the best ones sell out fast.</p>
</div>
</div>
</div>
<div class="col">
<div class="card text-bg-success h-full">
<div class="card-header">
Success
</div>
<div class="card-body">
<p class="card-text small mb-0">Not sure about the size? Our fit guide and live chat help you choose.</p>
</div>
</div>
</div>
<div class="col">
<div class="card text-bg-danger h-full">
<div class="card-header">
Danger
</div>
<div class="card-body">
<p class="card-text small mb-0">We listen first, then build a plan around what you actually need.</p>
</div>
</div>
</div>
<div class="col">
<div class="card text-bg-warning h-full">
<div class="card-header">
Warning
</div>
<div class="card-body">
<p class="card-text small mb-0">Every piece is made in small batches from materials we test ourselves.</p>
</div>
</div>
</div>
<div class="col">
<div class="card text-bg-info h-full">
<div class="card-header">
Info
</div>
<div class="card-body">
<p class="card-text small mb-0">Start in minutes and get help from a real person whenever you need it.</p>
</div>
</div>
</div>
<div class="col">
<div class="card text-bg-dark h-full">
<div class="card-header">
Dark
</div>
<div class="card-body">
<p class="card-text small mb-0">Thousands of shoppers already trust us, and we work hard to keep it that way.</p>
</div>
</div>
</div>
</div>11Border colours
border-* utilities colour just the outline and header line.
Order before 2 pm and most items leave our warehouse the same day.
Every detail is handled by people who care about getting it right.
Each product is checked by hand before it goes into the box.
<div class="row row-cols-1 row-cols-sm-2 row-cols-lg-3 g-3">
<div class="col">
<div class="card border-primary h-full">
<div class="card-header bg-transparent border-primary text-primary-ink font-semibold">
Primary border
</div>
<div class="card-body">
<p class="card-text small mb-0">Order before 2 pm and most items leave our warehouse the same day.</p>
</div>
</div>
</div>
<div class="col">
<div class="card border-success h-full">
<div class="card-header bg-transparent border-success text-success-emphasis font-semibold">
Success border
</div>
<div class="card-body">
<p class="card-text small mb-0">Every detail is handled by people who care about getting it right.</p>
</div>
</div>
</div>
<div class="col">
<div class="card border-danger h-full">
<div class="card-header bg-transparent border-danger text-danger-emphasis font-semibold">
Danger border
</div>
<div class="card-body">
<p class="card-text small mb-0">Each product is checked by hand before it goes into the box.</p>
</div>
</div>
</div>
</div>12Product cards
Shop cards with label, wishlist button, rating, price and add-to-cart.
Face oil
Glass bottle
Running cap
<div class="row row-cols-1 row-cols-sm-2 row-cols-lg-3 g-3">
<div class="col">
<div class="card h-full">
<div class="relative">
<img src="../assets/img/product-10.svg" class="card-img-top" alt="Face oil"><span class="badge text-bg-danger absolute top-0 start-0 m-2">-37%</span>
<button type="button" class="btn btn-light btn-sm rounded-full absolute top-0 end-0 m-2" aria-label="Add to wishlist"><i class="bi bi-heart-fill" aria-hidden="true"></i></button>
</div>
<div class="card-body flex flex-col">
<div class="small text-muted">
Beauty
</div>
<h6 class="card-title">Face oil</h6>
<div class="small mb-2">
<span class="text-warning-emphasis" aria-label="Rated 4.1 out of 5"><i class="bi bi-star-fill" aria-hidden="true"></i><i class="bi bi-star-fill" aria-hidden="true"></i><i class="bi bi-star-fill" aria-hidden="true"></i><i class="bi bi-star-fill" aria-hidden="true"></i><i class="bi bi-star-fill" aria-hidden="true"></i></span> <span class="text-muted">(863)</span>
</div>
<div class="flex justify-between items-center mt-auto">
<span class="text-lg font-bold">$36.00</span>
<button type="button" class="btn btn-primary btn-sm"><i class="bi bi-cart-plus-fill" aria-hidden="true"></i> Add</button>
</div>
</div>
</div>
</div>
<div class="col">
<div class="card h-full">
<div class="relative">
<img src="../assets/img/product-8.svg" class="card-img-top" alt="Glass bottle">
<button type="button" class="btn btn-light btn-sm rounded-full absolute top-0 end-0 m-2" aria-label="Add to wishlist"><i class="bi bi-heart-fill" aria-hidden="true"></i></button>
</div>
<div class="card-body flex flex-col">
<div class="small text-muted">
Outdoor
</div>
<h6 class="card-title">Glass bottle</h6>
<div class="small mb-2">
<span class="text-warning-emphasis" aria-label="Rated 4.6 out of 5"><i class="bi bi-star-fill" aria-hidden="true"></i><i class="bi bi-star-fill" aria-hidden="true"></i><i class="bi bi-star-fill" aria-hidden="true"></i><i class="bi bi-star-fill" aria-hidden="true"></i><i class="bi bi-star-half" aria-hidden="true"></i></span> <span class="text-muted">(502)</span>
</div>
<div class="flex justify-between items-center mt-auto">
<span class="text-lg font-bold">$25.00</span>
<button type="button" class="btn btn-primary btn-sm"><i class="bi bi-cart-plus-fill" aria-hidden="true"></i> Add</button>
</div>
</div>
</div>
</div>
<div class="col">
<div class="card h-full">
<div class="relative">
<img src="../assets/img/product-7.svg" class="card-img-top" alt="Running cap">
<button type="button" class="btn btn-light btn-sm rounded-full absolute top-0 end-0 m-2" aria-label="Add to wishlist"><i class="bi bi-heart-fill" aria-hidden="true"></i></button>
</div>
<div class="card-body flex flex-col">
<div class="small text-muted">
Outdoor
</div>
<h6 class="card-title">Running cap</h6>
<div class="small mb-2">
<span class="text-warning-emphasis" aria-label="Rated 4.6 out of 5"><i class="bi bi-star-fill" aria-hidden="true"></i><i class="bi bi-star-fill" aria-hidden="true"></i><i class="bi bi-star-fill" aria-hidden="true"></i><i class="bi bi-star-fill" aria-hidden="true"></i><i class="bi bi-star-half" aria-hidden="true"></i></span> <span class="text-muted">(415)</span>
</div>
<div class="flex justify-between items-center mt-auto">
<span class="text-lg font-bold">$25.00</span>
<button type="button" class="btn btn-primary btn-sm"><i class="bi bi-cart-plus-fill" aria-hidden="true"></i> Add</button>
</div>
</div>
</div>
</div>
</div>13Blog post card
Category, title, excerpt and an author footer with avatar.
Styling one piece three different ways
Friendly people answer your questions quickly, by phone, chat or email.
<div class="card h-full" style="max-width: 22rem;">
<img src="https://images.unsplash.com/photo-1573612664822-d7d347da7b80?auto=format&fit=crop&w=1200&h=800&q=70" class="card-img-top" alt="How to choose the right product">
<div class="card-body">
<span class="badge bg-primary-subtle text-primary-emphasis mb-2">community</span>
<h5 class="card-title"><a href="#" class="link-body-emphasis no-underline">Styling one piece three different ways</a></h5>
<p class="card-text text-muted">Friendly people answer your questions quickly, by phone, chat or email.</p>
</div>
<div class="card-footer bg-transparent flex items-center gap-2">
<img src="../assets/img/avatar-3.svg" alt="Maya Mensah" class="rounded-full shrink-0" width="32" height="32">
<div class="small">
<div class="font-semibold">
Maya Mensah
</div>
<div class="text-muted">
Jul 28, 2026 · 10 min read
</div>
</div>
</div>
</div>14Card group
card-group joins cards edge to edge with equal heights; they stack below sm.
Fast update
Members get early access to new drops and prices only they can see.
Powerful goal
Pay securely with card, wallet or in three interest-free instalments.
Secure journey
We measure success by how many shoppers come back and tell their friends.
<div class="card-group">
<div class="card">
<img src="https://images.unsplash.com/photo-1443884590026-2e4d21aee71c?auto=format&fit=crop&w=1200&h=800&q=70" class="card-img-top" alt="Gallery image 1">
<div class="card-body">
<h5 class="card-title">Fast update</h5>
<p class="card-text small">Members get early access to new drops and prices only they can see.</p>
</div>
<div class="card-footer">
<small class="text-muted">just now</small>
</div>
</div>
<div class="card">
<img src="https://images.unsplash.com/photo-1598305762558-328f599df683?auto=format&fit=crop&w=1200&h=800&q=70" class="card-img-top" alt="Gallery image 2">
<div class="card-body">
<h5 class="card-title">Powerful goal</h5>
<p class="card-text small">Pay securely with card, wallet or in three interest-free instalments.</p>
</div>
<div class="card-footer">
<small class="text-muted">19 hours ago</small>
</div>
</div>
<div class="card">
<img src="https://images.unsplash.com/photo-1601647998829-ee316a565aea?auto=format&fit=crop&w=1200&h=800&q=70" class="card-img-top" alt="Gallery image 3">
<div class="card-body">
<h5 class="card-title">Secure journey</h5>
<p class="card-text small">We measure success by how many shoppers come back and tell their friends.</p>
</div>
<div class="card-footer">
<small class="text-muted">7 hours ago</small>
</div>
</div>
</div>15Responsive card grid
row-cols and h-100 give a grid of equal-height cards that reflows by breakpoint.
Simple process
Gift wrapping and a handwritten note are free on every order.
Focused plan
We keep things simple, so you can focus on what matters to you. Thousands of five-star reviews from customers who came back for more.
Elegant project
Free shipping on orders over $50 and easy returns within 30 days.
Elegant idea
Our packaging is plastic-free and every delivery is carbon-neutral. We listen first, then build a plan around what you actually need.
<div class="row row-cols-1 row-cols-sm-2 row-cols-lg-4 g-3">
<div class="col">
<div class="card h-full shadow-sm border-0">
<img src="https://images.unsplash.com/photo-1601647998829-ee316a565aea?auto=format&fit=crop&w=800&h=800&q=70" class="card-img-top" alt="Project 1">
<div class="card-body">
<h6 class="card-title">Simple process</h6>
<p class="card-text small text-muted mb-0">Gift wrapping and a handwritten note are free on every order.</p>
</div>
</div>
</div>
<div class="col">
<div class="card h-full shadow-sm border-0">
<img src="https://images.unsplash.com/photo-1580418835996-7783da1c3c6c?auto=format&fit=crop&w=800&h=800&q=70" class="card-img-top" alt="Project 2">
<div class="card-body">
<h6 class="card-title">Focused plan</h6>
<p class="card-text small text-muted mb-0">We keep things simple, so you can focus on what matters to you. Thousands of five-star reviews from customers who came back for more.</p>
</div>
</div>
</div>
<div class="col">
<div class="card h-full shadow-sm border-0">
<img src="https://images.unsplash.com/photo-1441986300917-64674bd600d8?auto=format&fit=crop&w=800&h=800&q=70" class="card-img-top" alt="Project 3">
<div class="card-body">
<h6 class="card-title">Elegant project</h6>
<p class="card-text small text-muted mb-0">Free shipping on orders over $50 and easy returns within 30 days.</p>
</div>
</div>
</div>
<div class="col">
<div class="card h-full shadow-sm border-0">
<img src="https://images.unsplash.com/photo-1441984904996-e0b6ba687e04?auto=format&fit=crop&w=800&h=800&q=70" class="card-img-top" alt="Project 4">
<div class="card-body">
<h6 class="card-title">Elegant idea</h6>
<p class="card-text small text-muted mb-0">Our packaging is plastic-free and every delivery is carbon-neutral. We listen first, then build a plan around what you actually need.</p>
</div>
</div>
</div>
</div>16Testimonial card
A quote with rating and the customer's photo and role.
New pieces arrive every month, and the best ones sell out fast. Not sure about the size? Our fit guide and live chat help you choose.
<div class="card border-0 bg-surface-3" style="max-width: 30rem;">
<div class="card-body p-6">
<div class="text-4xl leading-none text-primary-ink">
<i class="bi bi-quote" aria-hidden="true"></i>
</div>
<blockquote class="blockquote mb-4"><p class="text-base">New pieces arrive every month, and the best ones sell out fast. Not sure about the size? Our fit guide and live chat help you choose.</p></blockquote>
<div class="mb-4">
<span class="text-warning-emphasis" aria-label="Rated 5.0 out of 5"><i class="bi bi-star-fill" aria-hidden="true"></i><i class="bi bi-star-fill" aria-hidden="true"></i><i class="bi bi-star-fill" aria-hidden="true"></i><i class="bi bi-star-fill" aria-hidden="true"></i><i class="bi bi-star-fill" aria-hidden="true"></i></span>
</div>
<div class="flex items-center gap-4">
<img src="../assets/img/avatar-5.svg" alt="Arjun Morgan" class="rounded-full shrink-0" width="44" height="44">
<div>
<div class="font-semibold">
Arjun Morgan
</div>
<div class="small text-muted">
Marketing Lead
</div>
</div>
</div>
</div>
</div>17Activity card
A dashboard widget listing recent events with tinted icons.
<div class="card" style="max-width: 26rem;">
<div class="card-header flex justify-between items-center">
<span class="font-semibold">Recent activity</span><a href="#" class="small">See all</a>
</div>
<div class="card-body">
<div class="flex gap-4 mb-4">
<span class="rounded-full bg-success-subtle text-success-emphasis inline-flex items-center justify-center shrink-0" style="width: 36px; height: 36px;"><i class="bi bi-cart-check-fill" aria-hidden="true"></i></span>
<div class="small">
<strong>Elena Alvarez</strong> placed a new order
<div class="text-muted">
just now
</div>
</div>
</div>
<div class="flex gap-4 mb-4">
<span class="rounded-full bg-primary-subtle text-primary-emphasis inline-flex items-center justify-center shrink-0" style="width: 36px; height: 36px;"><i class="bi bi-chat-left-text-fill" aria-hidden="true"></i></span>
<div class="small">
<strong>Mia Novak</strong> left a comment
<div class="text-muted">
15 min ago
</div>
</div>
</div>
<div class="flex gap-4 mb-4">
<span class="rounded-full bg-info-subtle text-info-emphasis inline-flex items-center justify-center shrink-0" style="width: 36px; height: 36px;"><i class="bi bi-person-plus-fill" aria-hidden="true"></i></span>
<div class="small">
<strong>Freya Delgado</strong> joined the team
<div class="text-muted">
3 hours ago
</div>
</div>
</div>
</div>
</div>18Loading placeholder
placeholder-glow shapes stand in for content while it loads.
<div class="card" aria-hidden="true" style="max-width: 20rem;">
<div class="bg-surface-2" style="height: 140px;">
</div>
<div class="card-body">
<h5 class="card-title placeholder-glow"><span class="placeholder col-6"></span></h5>
<p class="card-text placeholder-glow"><span class="placeholder col-7"></span> <span class="placeholder col-4"></span> <span class="placeholder col-4"></span> <span class="placeholder col-6"></span></p>
<a class="btn btn-primary disabled placeholder col-6" aria-disabled="true"></a>
</div>
</div>19Newsletter card
A card with a small form for collecting email sign-ups.
Get the Xenoara Pro newsletter
One email a month. Members get early access to new drops and prices only they can see.
<div class="card text-center" style="max-width: 26rem;">
<div class="card-body p-6">
<div class="text-3xl text-primary-ink">
<i class="bi bi-envelope-paper-fill" aria-hidden="true"></i>
</div>
<h5 class="card-title">Get the Xenoara Pro newsletter</h5>
<p class="card-text text-muted small">One email a month. Members get early access to new drops and prices only they can see.</p>
<form class="flex flex-col sm:flex-row gap-2">
<label class="sr-only" for="news-email-880">Email address</label>
<input type="email" class="form-control" id="news-email-880" placeholder="you@example.com">
<button type="submit" class="btn btn-primary whitespace-nowrap">Subscribe</button>
</form>
</div>
</div>20Clickable feature cards
stretched-link makes the whole card clickable; a hover lift shows it.
<div class="row row-cols-1 row-cols-md-3 g-3">
<div class="col">
<div class="card h-full ca-card-hover">
<div class="card-body">
<span class="inline-flex rounded-lg p-2 mb-4 text-xl bg-primary-subtle text-primary-emphasis"><i class="bi bi-lightning-charge-fill" aria-hidden="true"></i></span>
<h5 class="card-title"><a href="#" class="stretched-link link-body-emphasis no-underline">Easy exchanges</a></h5>
<p class="card-text small text-muted mb-0">Gift wrapping and a handwritten note are free on every order.</p>
</div>
</div>
</div>
<div class="col">
<div class="card h-full ca-card-hover">
<div class="card-body">
<span class="inline-flex rounded-lg p-2 mb-4 text-xl bg-primary-subtle text-primary-emphasis"><i class="bi bi-shield-lock-fill" aria-hidden="true"></i></span>
<h5 class="card-title"><a href="#" class="stretched-link link-body-emphasis no-underline">Easy exchanges</a></h5>
<p class="card-text small text-muted mb-0">We keep things simple, so you can focus on what matters to you.</p>
</div>
</div>
</div>
<div class="col">
<div class="card h-full ca-card-hover">
<div class="card-body">
<span class="inline-flex rounded-lg p-2 mb-4 text-xl bg-primary-subtle text-primary-emphasis"><i class="bi bi-graph-up-arrow" aria-hidden="true"></i></span>
<h5 class="card-title"><a href="#" class="stretched-link link-body-emphasis no-underline">Member prices</a></h5>
<p class="card-text small text-muted mb-0">Pay securely with card, wallet or in three interest-free instalments.</p>
</div>
</div>
</div>
</div>