List Group
List groups display a series of items: plain lists, menus of links, option pickers, inboxes and settings screens. Make items actionable, colour or number them, lay them out horizontally, or switch content panes with data-ui-toggle="list".
1Basic list
An unordered list with .list-group and .list-group-item.
- Car rental
- Holiday packages
- Travel insurance
- Guided tours
<ul class="list-group" style="max-width: 360px;">
<li class="list-group-item">Car rental</li>
<li class="list-group-item">Holiday packages</li>
<li class="list-group-item">Travel insurance</li>
<li class="list-group-item">Guided tours</li>
</ul>2Active and disabled
Highlight the current item and dim unavailable ones.
- Current plan
- Upgrade options
- Enterprise (contact sales)
- Billing history
<ul class="list-group" style="max-width: 360px;">
<li class="list-group-item active" aria-current="true">Current plan</li>
<li class="list-group-item">Upgrade options</li>
<li class="list-group-item disabled" aria-disabled="true">Enterprise (contact sales)</li>
<li class="list-group-item">Billing history</li>
</ul>3Links and buttons
list-group-item-action adds hover and focus states to links and buttons.
<div class="list-group" style="max-width: 360px;">
<a href="#" class="list-group-item list-group-item-action active" aria-current="true">Overview</a><a href="#" class="list-group-item list-group-item-action">Members</a>
<button type="button" class="list-group-item list-group-item-action">Integrations</button>
<button type="button" class="list-group-item list-group-item-action" disabled>Audit log</button>
</div>4Flush list
list-group-flush removes outer borders so the list sits flush in a parent.
- Local guides
- Free cancellation
- Best price guarantee
<ul class="list-group list-group-flush border-top border-bottom">
<li class="list-group-item">Local guides</li>
<li class="list-group-item">Free cancellation</li>
<li class="list-group-item">Best price guarantee</li>
</ul>5Numbered list
list-group-numbered on an ol adds counters, here with extra content per item.
- 29The small habits that make a big differenceAug 17, 2026
- 23Our favourite tips for busy weeksFeb 13, 2026
- 30The best time of year to visit JapanJan 25, 2026
<ol class="list-group list-group-numbered" style="max-width: 420px;">
<li class="list-group-item d-flex justify-content-between align-items-start"><div class="ms-2 me-auto"><div class="fw-semibold">The small habits that make a big difference</div><span class="small text-body-secondary">Aug 17, 2026</span></div><span class="badge text-bg-primary rounded-pill">29</span></li>
<li class="list-group-item d-flex justify-content-between align-items-start"><div class="ms-2 me-auto"><div class="fw-semibold">Our favourite tips for busy weeks</div><span class="small text-body-secondary">Feb 13, 2026</span></div><span class="badge text-bg-primary rounded-pill">23</span></li>
<li class="list-group-item d-flex justify-content-between align-items-start"><div class="ms-2 me-auto"><div class="fw-semibold">The best time of year to visit Japan</div><span class="small text-body-secondary">Jan 25, 2026</span></div><span class="badge text-bg-primary rounded-pill">30</span></li>
</ol>6Horizontal list
list-group-horizontal lays items in a row; -md makes it responsive.
- 85.5kVisitors
- 528Sign-ups
- 97%Conversion
<ul class="list-group list-group-horizontal-md">
<li class="list-group-item flex-fill text-center"><div class="fw-bold">85.5k</div><small class="text-body-secondary">Visitors</small></li>
<li class="list-group-item flex-fill text-center"><div class="fw-bold">528</div><small class="text-body-secondary">Sign-ups</small></li>
<li class="list-group-item flex-fill text-center"><div class="fw-bold">97%</div><small class="text-body-secondary">Conversion</small></li>
</ul>7Contextual colours
list-group-item-* colours individual items.
<div class="list-group" style="max-width: 360px;">
<a href="#" class="list-group-item list-group-item-action list-group-item-primary">Primary item</a><a href="#" class="list-group-item list-group-item-action list-group-item-secondary">Secondary item</a><a href="#" class="list-group-item list-group-item-action list-group-item-success">Success item</a><a href="#" class="list-group-item list-group-item-action list-group-item-danger">Danger item</a><a href="#" class="list-group-item list-group-item-action list-group-item-warning">Warning item</a><a href="#" class="list-group-item list-group-item-action list-group-item-info">Info item</a><a href="#" class="list-group-item list-group-item-action list-group-item-light">Light item</a><a href="#" class="list-group-item list-group-item-action list-group-item-dark">Dark item</a>
</div>8With badges
Pill badges at the end of each item show counts.
- Projects19
- Tasks83
- Issues7
<ul class="list-group" style="max-width: 360px;">
<li class="list-group-item d-flex justify-content-between align-items-center"><span><i class="bi bi-folder-fill" aria-hidden="true"></i> Projects</span><span class="badge text-bg-primary rounded-pill">19</span></li>
<li class="list-group-item d-flex justify-content-between align-items-center"><span><i class="bi bi-check2-square" aria-hidden="true"></i> Tasks</span><span class="badge text-bg-success rounded-pill">83</span></li>
<li class="list-group-item d-flex justify-content-between align-items-center"><span><i class="bi bi-exclamation-circle-fill" aria-hidden="true"></i> Issues</span><span class="badge text-bg-danger rounded-pill">7</span></li>
</ul>9Custom content
Headings, text and meta inside each item, like a list of articles.
Hidden beaches of the Mediterranean
40 min agoLocal guides show you the places that never make it into guidebooks.
Ravi CarterLooking back at a busy season
yesterdayWe measure success by how many travellers come back and tell their friends.
Mason KimA beginner's guide to getting started
24 min agoEvery hotel on our list is visited and reviewed by our own travel team.
Arjun Novak<div class="list-group" style="max-width: 520px;">
<a href="#" class="list-group-item list-group-item-action active" aria-current="true">
<div class="d-flex w-100 justify-content-between">
<h6 class="mb-1">Hidden beaches of the Mediterranean</h6>
<small>40 min ago</small>
</div>
<p class="mb-1 small">Local guides show you the places that never make it into guidebooks.</p>
<small class="">Ravi Carter</small></a><a href="#" class="list-group-item list-group-item-action">
<div class="d-flex w-100 justify-content-between">
<h6 class="mb-1">Looking back at a busy season</h6>
<small>yesterday</small>
</div>
<p class="mb-1 small">We measure success by how many travellers come back and tell their friends.</p>
<small class="text-body-secondary">Mason Kim</small></a><a href="#" class="list-group-item list-group-item-action">
<div class="d-flex w-100 justify-content-between">
<h6 class="mb-1">A beginner's guide to getting started</h6>
<small>24 min ago</small>
</div>
<p class="mb-1 small">Every hotel on our list is visited and reviewed by our own travel team.</p>
<small class="text-body-secondary">Arjun Novak</small></a>
</div>10Checkbox list
Checkboxes and labels in items make a simple to-do list.
<ul class="list-group" style="max-width: 360px;">
<li class="list-group-item"><input class="form-check-input me-2" type="checkbox" id="lg-chk-982" checked><label class="form-check-label text-decoration-line-through text-body-secondary" for="lg-chk-982">Clear team clear</label></li>
<li class="list-group-item"><input class="form-check-input me-2" type="checkbox" id="lg-chk-983" checked><label class="form-check-label text-decoration-line-through text-body-secondary" for="lg-chk-983">Fast goal flexible</label></li>
<li class="list-group-item"><input class="form-check-input me-2" type="checkbox" id="lg-chk-984"><label class="form-check-label" for="lg-chk-984">Honest routine secure</label></li>
<li class="list-group-item"><input class="form-check-input me-2" type="checkbox" id="lg-chk-985"><label class="form-check-label" for="lg-chk-985">Friendly workflow honest</label></li>
</ul>11Radio option list
Whole list items as labels for radio buttons, e.g. a plan picker.
<div class="list-group" style="max-width: 420px;">
<label class="list-group-item d-flex gap-3" for="lg-radio-opt-987"><input class="form-check-input flex-shrink-0" type="radio" name="lg-radio-986" id="lg-radio-opt-987"><span><span class="d-block fw-semibold">Starter</span><small class="text-body-secondary">$9 / month</small></span></label>
<label class="list-group-item d-flex gap-3" for="lg-radio-opt-988"><input class="form-check-input flex-shrink-0" type="radio" name="lg-radio-986" id="lg-radio-opt-988" checked><span><span class="d-block fw-semibold">Team</span><small class="text-body-secondary">$29 / month</small></span></label>
<label class="list-group-item d-flex gap-3" for="lg-radio-opt-989"><input class="form-check-input flex-shrink-0" type="radio" name="lg-radio-986" id="lg-radio-opt-989"><span><span class="d-block fw-semibold">Business</span><small class="text-body-secondary">$79 / month</small></span></label>
</div>12List as tabs
data-ui-toggle="list" turns the list into tab navigation for panes next to it.
Every detail is handled by people who care about getting it right.
Two-step verification is on.
We keep things simple, so you can focus on what matters to you.
<div class="row g-3">
<div class="col-sm-4">
<div class="list-group" role="tablist">
<a class="list-group-item list-group-item-action active" id="lg-tab-990-tab" data-ui-toggle="list" href="#lg-tab-990" role="tab" aria-controls="lg-tab-990" aria-selected="true">Profile</a><a class="list-group-item list-group-item-action" id="lg-tab-991-tab" data-ui-toggle="list" href="#lg-tab-991" role="tab" aria-controls="lg-tab-991" aria-selected="false">Security</a><a class="list-group-item list-group-item-action" id="lg-tab-992-tab" data-ui-toggle="list" href="#lg-tab-992" role="tab" aria-controls="lg-tab-992" aria-selected="false">Notifications</a>
</div>
</div>
<div class="col-sm-8">
<div class="tab-content border rounded p-3 h-100">
<div class="tab-pane fade show active" id="lg-tab-990" role="tabpanel" aria-labelledby="lg-tab-990-tab">
<p class="mb-0">Every detail is handled by people who care about getting it right.</p>
</div>
<div class="tab-pane fade" id="lg-tab-991" role="tabpanel" aria-labelledby="lg-tab-991-tab">
<p class="mb-0"><i class="bi bi-shield-lock-fill" aria-hidden="true"></i> Two-step verification is on.</p>
</div>
<div class="tab-pane fade" id="lg-tab-992" role="tabpanel" aria-labelledby="lg-tab-992-tab">
<p class="mb-0">We keep things simple, so you can focus on what matters to you.</p>
</div>
</div>
</div>
</div>13Notification list
Avatars, message and time, with a dot for unread items.
<div class="list-group" style="max-width: 440px;">
<a href="#" class="list-group-item list-group-item-action d-flex gap-3 py-3"><img src="../assets/img/avatar-12.svg" alt="Nora Sato" class="rounded-circle flex-shrink-0" width="40" height="40">
<div class="flex-grow-1">
<div class="d-flex justify-content-between">
<strong class="small">Nora Sato</strong><small class="text-body-secondary text-nowrap ms-2">15 hours ago</small>
</div>
<div class="small text-body-secondary">
Start in minutes and get help from a real person whenever you need it.
</div>
</div>
<span class="p-1 bg-primary rounded-circle align-self-center"><span class="visually-hidden">Unread</span></span></a><a href="#" class="list-group-item list-group-item-action d-flex gap-3 py-3"><img src="../assets/img/avatar-1.svg" alt="Jonah Mensah" class="rounded-circle flex-shrink-0" width="40" height="40">
<div class="flex-grow-1">
<div class="d-flex justify-content-between">
<strong class="small">Jonah Mensah</strong><small class="text-body-secondary text-nowrap ms-2">just now</small>
</div>
<div class="small text-body-secondary">
Friendly people answer your questions quickly, by phone, chat or email.
</div>
</div>
</a><a href="#" class="list-group-item list-group-item-action d-flex gap-3 py-3"><img src="../assets/img/avatar-4.svg" alt="Ava Tanaka" class="rounded-circle flex-shrink-0" width="40" height="40">
<div class="flex-grow-1">
<div class="d-flex justify-content-between">
<strong class="small">Ava Tanaka</strong><small class="text-body-secondary text-nowrap ms-2">22 hours ago</small>
</div>
<div class="small text-body-secondary">
Members get room upgrades and late check-out at selected hotels.
</div>
</div>
</a>
</div>14File list
File type icons, sizes and a download button per file.
- three-days-in-lisbon-hour-by-hour.pdf652 KB · Jun 24, 2026
- how-to-travel-more-responsibly.png157 KB · Apr 28, 2026
- how-to-choose-the-right-trip.xlsx322 KB · Jul 6, 2026
- looking-back-at-a-busy-season.zip312 KB · Jul 10, 2026
<ul class="list-group" style="max-width: 480px;">
<li class="list-group-item d-flex align-items-center gap-3"><span class="fs-4 text-danger"><i class="bi bi-file-earmark-pdf-fill" aria-hidden="true"></i></span><div class="flex-grow-1 text-truncate"><div class="small fw-semibold text-truncate">three-days-in-lisbon-hour-by-hour.pdf</div><div class="small text-body-secondary">652 KB · Jun 24, 2026</div></div><button type="button" class="btn btn-sm btn-light border" aria-label="Download"><i class="bi bi-download" aria-hidden="true"></i></button></li>
<li class="list-group-item d-flex align-items-center gap-3"><span class="fs-4 text-success"><i class="bi bi-file-earmark-image-fill" aria-hidden="true"></i></span><div class="flex-grow-1 text-truncate"><div class="small fw-semibold text-truncate">how-to-travel-more-responsibly.png</div><div class="small text-body-secondary">157 KB · Apr 28, 2026</div></div><button type="button" class="btn btn-sm btn-light border" aria-label="Download"><i class="bi bi-download" aria-hidden="true"></i></button></li>
<li class="list-group-item d-flex align-items-center gap-3"><span class="fs-4 text-primary"><i class="bi bi-file-earmark-spreadsheet-fill" aria-hidden="true"></i></span><div class="flex-grow-1 text-truncate"><div class="small fw-semibold text-truncate">how-to-choose-the-right-trip.xlsx</div><div class="small text-body-secondary">322 KB · Jul 6, 2026</div></div><button type="button" class="btn btn-sm btn-light border" aria-label="Download"><i class="bi bi-download" aria-hidden="true"></i></button></li>
<li class="list-group-item d-flex align-items-center gap-3"><span class="fs-4 text-warning"><i class="bi bi-file-earmark-zip-fill" aria-hidden="true"></i></span><div class="flex-grow-1 text-truncate"><div class="small fw-semibold text-truncate">looking-back-at-a-busy-season.zip</div><div class="small text-body-secondary">312 KB · Jul 10, 2026</div></div><button type="button" class="btn btn-sm btn-light border" aria-label="Download"><i class="bi bi-download" aria-hidden="true"></i></button></li>
</ul>15Contact list
People with role and quick call and email actions.
- Luna MoreauSales Executive
- Omar OkaforContent Writer
- Zoe IbrahimSales Executive
<ul class="list-group" style="max-width: 480px;">
<li class="list-group-item d-flex align-items-center gap-3"><img src="../assets/img/avatar-3.svg" alt="Luna Moreau" class="rounded-circle flex-shrink-0" width="40" height="40"><div class="flex-grow-1"><div class="fw-semibold small">Luna Moreau</div><div class="small text-body-secondary">Sales Executive</div></div><div class="btn-group btn-group-sm" role="group" aria-label="Contact Luna"><button type="button" class="btn btn-outline-secondary" aria-label="Call"><i class="bi bi-telephone-fill" aria-hidden="true"></i></button><button type="button" class="btn btn-outline-secondary" aria-label="Email"><i class="bi bi-envelope-fill" aria-hidden="true"></i></button></div></li>
<li class="list-group-item d-flex align-items-center gap-3"><img src="../assets/img/avatar-9.svg" alt="Omar Okafor" class="rounded-circle flex-shrink-0" width="40" height="40"><div class="flex-grow-1"><div class="fw-semibold small">Omar Okafor</div><div class="small text-body-secondary">Content Writer</div></div><div class="btn-group btn-group-sm" role="group" aria-label="Contact Omar"><button type="button" class="btn btn-outline-secondary" aria-label="Call"><i class="bi bi-telephone-fill" aria-hidden="true"></i></button><button type="button" class="btn btn-outline-secondary" aria-label="Email"><i class="bi bi-envelope-fill" aria-hidden="true"></i></button></div></li>
<li class="list-group-item d-flex align-items-center gap-3"><img src="../assets/img/avatar-5.svg" alt="Zoe Ibrahim" class="rounded-circle flex-shrink-0" width="40" height="40"><div class="flex-grow-1"><div class="fw-semibold small">Zoe Ibrahim</div><div class="small text-body-secondary">Sales Executive</div></div><div class="btn-group btn-group-sm" role="group" aria-label="Contact Zoe"><button type="button" class="btn btn-outline-secondary" aria-label="Call"><i class="bi bi-telephone-fill" aria-hidden="true"></i></button><button type="button" class="btn btn-outline-secondary" aria-label="Email"><i class="bi bi-envelope-fill" aria-hidden="true"></i></button></div></li>
</ul>16Settings with switches
Each setting has an icon, a description and a switch on the right.
<ul class="list-group" style="max-width: 480px;">
<li class="list-group-item d-flex align-items-center gap-3 py-3"><span class="fs-5 text-primary"><i class="bi bi-bell-fill" aria-hidden="true"></i></span><label class="flex-grow-1" for="lg-switch-993"><span class="d-block fw-semibold small">Push notifications</span><span class="small text-body-secondary">Get alerts on your phone</span></label><div class="form-check form-switch m-0"><input class="form-check-input" type="checkbox" role="switch" id="lg-switch-993" checked></div></li>
<li class="list-group-item d-flex align-items-center gap-3 py-3"><span class="fs-5 text-primary"><i class="bi bi-envelope-fill" aria-hidden="true"></i></span><label class="flex-grow-1" for="lg-switch-994"><span class="d-block fw-semibold small">Weekly digest</span><span class="small text-body-secondary">A summary every Monday</span></label><div class="form-check form-switch m-0"><input class="form-check-input" type="checkbox" role="switch" id="lg-switch-994" checked></div></li>
<li class="list-group-item d-flex align-items-center gap-3 py-3"><span class="fs-5 text-primary"><i class="bi bi-moon-fill" aria-hidden="true"></i></span><label class="flex-grow-1" for="lg-switch-995"><span class="d-block fw-semibold small">Dark mode</span><span class="small text-body-secondary">Easier on the eyes at night</span></label><div class="form-check form-switch m-0"><input class="form-check-input" type="checkbox" role="switch" id="lg-switch-995"></div></li>
</ul>17Task progress list
Progress bars inside items track several jobs at once.
- Powerful release100%
- Flexible team84%
- Fast dashboard24%
<ul class="list-group" style="max-width: 480px;">
<li class="list-group-item"><div class="d-flex justify-content-between small mb-1"><span class="fw-semibold">Powerful release</span><span class="text-body-secondary">100%</span></div><div class="progress" role="progressbar" aria-label="Task progress" aria-valuenow="100" aria-valuemin="0" aria-valuemax="100" style="height: 6px;"><div class="progress-bar bg-success" style="width: 100%;"></div></div></li>
<li class="list-group-item"><div class="d-flex justify-content-between small mb-1"><span class="fw-semibold">Flexible team</span><span class="text-body-secondary">84%</span></div><div class="progress" role="progressbar" aria-label="Task progress" aria-valuenow="84" aria-valuemin="0" aria-valuemax="100" style="height: 6px;"><div class="progress-bar bg-primary" style="width: 84%;"></div></div></li>
<li class="list-group-item"><div class="d-flex justify-content-between small mb-1"><span class="fw-semibold">Fast dashboard</span><span class="text-body-secondary">24%</span></div><div class="progress" role="progressbar" aria-label="Task progress" aria-valuenow="24" aria-valuemin="0" aria-valuemax="100" style="height: 6px;"><div class="progress-bar bg-warning" style="width: 24%;"></div></div></li>
</ul>18Inbox list
Unread messages in bold with a tinted edge; long lines are truncated.
<div class="list-group" style="max-width: 560px;">
<a href="#" class="list-group-item list-group-item-action d-flex gap-3 align-items-start ca-unread"><span class="pt-1 text-warning"><i class="bi bi-star-fill" aria-hidden="true"></i></span>
<div class="flex-grow-1 text-truncate">
<div class="d-flex justify-content-between">
<span class="fw-bold">Theo Fischer</span><small class="text-body-secondary ms-2 text-nowrap">15:15</small>
</div>
<div class="small text-truncate fw-semibold">
A beginner's guide to getting started
</div>
<div class="small text-body-secondary text-truncate">
Travel insurance and car rental can be added in a single click.
</div>
</div>
</a><a href="#" class="list-group-item list-group-item-action d-flex gap-3 align-items-start ca-unread"><span class="pt-1 text-warning"><i class="bi bi-star-fill" aria-hidden="true"></i></span>
<div class="flex-grow-1 text-truncate">
<div class="d-flex justify-content-between">
<span class="fw-bold">Lea Silva</span><small class="text-body-secondary ms-2 text-nowrap">08:30</small>
</div>
<div class="small text-truncate fw-semibold">
A first-timer's guide to safari
</div>
<div class="small text-body-secondary text-truncate">
Every trip supports local businesses and responsible tourism.
</div>
</div>
</a><a href="#" class="list-group-item list-group-item-action d-flex gap-3 align-items-start"><span class="pt-1 text-warning"><i class="bi bi-star-fill" aria-hidden="true"></i></span>
<div class="flex-grow-1 text-truncate">
<div class="d-flex justify-content-between">
<span class="">Hana Lindqvist</span><small class="text-body-secondary ms-2 text-nowrap">17:15</small>
</div>
<div class="small text-truncate text-body-secondary">
The best time of year to visit Japan
</div>
<div class="small text-body-secondary text-truncate">
Our travel experts are on call around the clock while you are away.
</div>
</div>
</a><a href="#" class="list-group-item list-group-item-action d-flex gap-3 align-items-start"><span class="pt-1 text-warning"><i class="bi bi-star-fill" aria-hidden="true"></i></span>
<div class="flex-grow-1 text-truncate">
<div class="d-flex justify-content-between">
<span class="">Noah Alvarez</span><small class="text-body-secondary ms-2 text-nowrap">17:45</small>
</div>
<div class="small text-truncate text-body-secondary">
Our favourite small hotels this year
</div>
<div class="small text-body-secondary text-truncate">
From city breaks to safaris, we plan trips around how you like to travel.
</div>
</div>
</a>
</div>19Leaderboard
Ranked people with medal badges, avatars and scores.
- 1
Tariq Quinn864 pts
- 2
Mia Rossi720 pts
- 3
Priya Duarte520 pts
- 4
Kai Brennan274 pts
<ol class="list-group" style="max-width: 420px;">
<li class="list-group-item d-flex align-items-center gap-3"><span class="badge rounded-circle text-bg-warning ca-rank">1</span><img src="../assets/img/avatar-8.svg" alt="Tariq Quinn" class="rounded-circle flex-shrink-0" width="36" height="36"><span class="flex-grow-1 small fw-semibold">Tariq Quinn</span><span class="small">864 pts</span></li>
<li class="list-group-item d-flex align-items-center gap-3"><span class="badge rounded-circle text-bg-secondary ca-rank">2</span><img src="../assets/img/avatar-9.svg" alt="Mia Rossi" class="rounded-circle flex-shrink-0" width="36" height="36"><span class="flex-grow-1 small fw-semibold">Mia Rossi</span><span class="small">720 pts</span></li>
<li class="list-group-item d-flex align-items-center gap-3"><span class="badge rounded-circle text-bg-danger ca-rank">3</span><img src="../assets/img/avatar-10.svg" alt="Priya Duarte" class="rounded-circle flex-shrink-0" width="36" height="36"><span class="flex-grow-1 small fw-semibold">Priya Duarte</span><span class="small">520 pts</span></li>
<li class="list-group-item d-flex align-items-center gap-3"><span class="badge rounded-circle text-bg-light ca-rank">4</span><img src="../assets/img/avatar-12.svg" alt="Kai Brennan" class="rounded-circle flex-shrink-0" width="36" height="36"><span class="flex-grow-1 small fw-semibold">Kai Brennan</span><span class="small">274 pts</span></li>
</ol>20Reorderable list look
Grip handles signal that items can be reordered (wire up drag and drop in your app).
- Best price guarantee1
- Free cancellation2
- Flexible dates3
- Local guides4
<ul class="list-group" style="max-width: 420px;">
<li class="list-group-item d-flex align-items-center gap-2"><span class="text-body-tertiary ca-grip" title="Drag to reorder"><i class="bi bi-grip-vertical" aria-hidden="true"></i></span><span class="flex-grow-1">Best price guarantee</span><span class="badge bg-body-secondary text-body-secondary">1</span></li>
<li class="list-group-item d-flex align-items-center gap-2"><span class="text-body-tertiary ca-grip" title="Drag to reorder"><i class="bi bi-grip-vertical" aria-hidden="true"></i></span><span class="flex-grow-1">Free cancellation</span><span class="badge bg-body-secondary text-body-secondary">2</span></li>
<li class="list-group-item d-flex align-items-center gap-2"><span class="text-body-tertiary ca-grip" title="Drag to reorder"><i class="bi bi-grip-vertical" aria-hidden="true"></i></span><span class="flex-grow-1">Flexible dates</span><span class="badge bg-body-secondary text-body-secondary">3</span></li>
<li class="list-group-item d-flex align-items-center gap-2"><span class="text-body-tertiary ca-grip" title="Drag to reorder"><i class="bi bi-grip-vertical" aria-hidden="true"></i></span><span class="flex-grow-1">Local guides</span><span class="badge bg-body-secondary text-body-secondary">4</span></li>
</ul>