Flex Grid
Configurable row and column layout component.
Component Properties
Text / Background Color Theme [COLOR_THEME]
Using the Sass color-contrast() function, the text color is automatically determined based on the defined $color-contrast-dark and $color-contrast-light text color variables for the contrasting color for a particular background-color. Available classes are:
Section Modifier [MODIFIER]
Optionally add an overall modifier class to the component.
.edge-to-edge- Forces full width layout and collapses inner container padding.
Section Vertical Spacing [SPACING]
Optional: Adds top and bottom padding to section.
.sec-spacing-0ornone- No spacing applied to element
.sec-spacing- Adds top and bottom spacing to section
.sec-spacing-sm- Adds a small amount top and bottom spacing to section
.sec-spacing-lg- Adds a large amount top and bottom spacing to section
Container Modifier [CONTAINER]
Use .container-fluid for a full width container, spanning the entire width of the viewport
.container- Standard width section contrainer. Container width snaps to width at breakpoints.
.container-fluid- Full width section contrainer. Container runs from edge to egde of the viewport
.container-xxl- Standard width section contrainer. Fluid container until maximum container width is reached.
Row Justification [ROW_JUSTIFY]
Use justify-content utilities on flexbox containers to change the alignment of flex items on the main x-axis.
.justify-content-start- Pack columns from the left
.justify-content-end- Pack columns from the right
.justify-content-center- Pack columns around the center.
.justify-content-between- Distribute columns evenly. The first item is flush with the start, the last is flush with the end.
.justify-content-around- Distribute columns evenly. Start and end gaps are half the size of the space between each item.
.justify-content-evenly- Distribute columns evenly. Start, in-between, and end gaps have equal sizes.
Row Alignment [ROW_ALIGN]
Use align-items utilities on flexbox containers to change the alignment of flex items on the cross y-axis.
.align-items-start- Columns are packed flush to each other toward the start edge of the row in the appropriate axis.
.align-items-end- Columns are packed flush to each other toward the end edge of the row in the appropriate axis.
.align-items-center- Columns are vertically aligned to the center of the row.
.align-items-stretch- All Columns are stretched vertically to match the tallest column in the row.
Column widths [COL_WIDTH_MD] [COL_WIDTH_XL]
Set the width of the content column for desktop vieports.
.col-md-[1-12][COL_WIDTH_MD]Sets column width at the$mdbreakpoint.col-xl-[1-12][COL_WIDTH_XL]Sets column width at the$xlbreakpoint.col-break- Force next columns to break to new line through all breakpoints
Grid Spacing [GRID_GAP_X] [GRID_GAP_Y]
Gutters are the padding between your columns, used to responsively space and align content in the grid system.
none- Grid follows default spacing.
.gx-[0-5][GRID_GAP_X]Provides horizontal gap between columns..gy-[0-5][GRID_GAP_Y]Provides vertical gap between columns.
Column Modifier [COL_MODIFIER]
Optionally add additional utility class to column.
Row Modifier [ROW_MODIFIER]
Optionally add additional utility class to row.
Template
<section class="grd [COLOR_THEME] [SPACING] [MODIFIER]">
<div class="[CONTAINER]">
<div class="row [ROW_JUSTIFY] [ROW_ALIGN] [GRID_GAP_X] [GRID_GAP_Y] [ROW_MODIFIER]">
<div class="[COL_WIDTH_MD] [COL_WIDTH_XL] [COL_MODIFIER]">
...
</div>
</div>
</div>
</section>
Example
<section class="grd text-bg-accent2 sec-spacing">
<div class="container-xxl">
<div class="row gy-3 gx-3">
<div class="col-md-6 col-xl-3">
<div class="text-bg-light p-4"></div>
</div>
<div class="col-md-6 col-xl-3">
<div class="text-bg-light p-4"></div>
</div>
<div class="col-md-6 col-xl-3">
<div class="text-bg-light p-4"></div>
</div>
<div class="col-md-6 col-xl-3">
<div class="text-bg-light p-4"></div>
</div>
</div>
</div>
</section>
Flex Grid with Text and Accordion
<section class="grd sec-spacing">
<div class="container-xxl">
<div class="row gy-4 gx-3 justify-content-between">
<div class="col-md-6 col-xl-5">
<h2>Duis aute irure dolor in reprehenderit in voluptate</h2>
<p>Quia aliquam temporibus vero dicta. Veritatis, dolorem? Praesentium dolor odit, officiis reiciendis libero error distinctio dolorem laborum quae ducimus eos delectus, sint, nesciunt dolore!</p>
<p>Iusto iure dignissimos assumenda ullam est ipsum, blanditiis accusamus dolores, minima iste omnis commodi repudiandae molestiae facere dolor aliquid necessitatibus quos. Molestias, unde magnam.</p>
</div>
<div class="col-md-6 col-xl-6">
<div class="accordion" id="exampleAcc">
<div class="accordion-item">
<h3 class="accordion-header">
<button class="accordion-button" type="button" data-bs-toggle="collapse" data-bs-target="#exampleAcc0" aria-expanded="true" aria-controls="exampleAcc0">
Accordion Item 1
</button>
</h3>
<div id="exampleAcc0" class="accordion-collapse collapse show" data-bs-parent="#exampleAcc">
<div class="accordion-body">
<p class="h5">Accordion Item #1 content area</p>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Eius debitis, laborum architecto enim reprehenderit veniam, labore corrupti id iste animi ipsa repudiandae. Obcaecati, eius fugit inventore sunt repudiandae corporis! Doloribus.</p>
</div>
</div>
</div>
<div class="accordion-item">
<h3 class="accordion-header">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#exampleAcc1" aria-expanded="false" aria-controls="exampleAcc1">
Accordion Item 2
</button>
</h3>
<div id="exampleAcc1" class="accordion-collapse collapse" data-bs-parent="#exampleAcc">
<div class="accordion-body">
<p class="h5">Accordion Item #2 content area</p>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Eius debitis, laborum architecto enim reprehenderit veniam, labore corrupti id iste animi ipsa repudiandae. Obcaecati, eius fugit inventore sunt repudiandae corporis! Doloribus.</p>
</div>
</div>
</div>
<div class="accordion-item">
<h3 class="accordion-header">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#exampleAcc2" aria-expanded="false" aria-controls="exampleAcc2">
Accordion Item 3
</button>
</h3>
<div id="exampleAcc2" class="accordion-collapse collapse" data-bs-parent="#exampleAcc">
<div class="accordion-body">
<p class="h5">Accordion Item #3 content area</p>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Eius debitis, laborum architecto enim reprehenderit veniam, labore corrupti id iste animi ipsa repudiandae. Obcaecati, eius fugit inventore sunt repudiandae corporis! Doloribus.</p>
</div>
</div>
</div>
</div>
<div class="kb-tabs-x">
<ul class="nav nav-" id="1" role="tablist">
</ul>
<div class="tab-content" id="Content">
</div>
</div>
</div>
</div>
</div>
</section>
Flex Grid Contained Layout
<section class="grd sec-spacing-lg">
<div class="container-xxl">
<div class="row gy-0 gx-0 rounded-4 overflow-hidden">
<div class="col-md-6 col-xl-6 d-flex order-md-last">
<figure class="figure">
<img
srcset="../../../../assets/img//fpo/fpo-1-1@xs.jpg 480w,
../../../../assets/img//fpo/fpo-1-1@md.jpg 720w,
../../../../assets/img//fpo/fpo-1-1@lg.jpg 960w,"
sizes="(max-width: 576px) 480px,
(max-width: 768px) 720px,
(max-width: 992px) 960px,"
src="../../../../assets/img//fpo/fpo-1-1@md.jpg"
alt="Image description"
class="img-fit"
>
</figure>
</div>
<div class="col-md-6 col-xl-6 p-5 text-bg-secondary d-flex align-items-center">
<div>
<h2>Lorem ipsum</h2>
<p>Saepe incidunt laboriosam minima officiis, consectetur, optio iure a esse beatae tempore dolor eum repellat quaerat harum quisquam expedita totam distinctio, ad rem id quibusdam! Officia quos nobis nemo veniam!</p>
<a href="#" class="btn btn-outline-dark">Button</a>
</div>
</div>
</div>
</div>
</section>
Full Width Flex Grid Text and Image (right)
<section class="grd text-bg-primary sec-spacing-false edge-to-edge">
<div class="container-fluid">
<div class="row gy-0 gx-0">
<div class="col-md-5 col-xl-6 d-flex order-md-last">
<figure class="figure">
<img
srcset="../../../../assets/img//fpo/fpo-8-5@xs.jpg 480w,
../../../../assets/img//fpo/fpo-8-5@md.jpg 720w,
../../../../assets/img//fpo/fpo-8-5@lg.jpg 960w,"
sizes="(max-width: 576px) 480px,
(max-width: 768px) 720px,
(max-width: 992px) 960px,"
src="../../../../assets/img//fpo/fpo-8-5@md.jpg"
alt="Image description"
class="img-fit"
>
</figure>
</div>
<div class="col-md-7 col-xl-6 p-5 px-xl-7 d-flex align-items-center">
<div>
<h2>Lorem ipsum</h2>
<p>Saepe incidunt laboriosam minima officiis, consectetur, optio iure a esse beatae tempore dolor eum repellat quaerat harum quisquam expedita totam distinctio, ad rem id quibusdam! Officia quos nobis nemo veniam!</p>
<a href="#" class="btn btn-outline-light">Button</a>
</div>
</div>
</div>
</div>
</section>
Full Width Flex Grid Text and Image (left)
<section class="grd text-bg-primary sec-spacing-false edge-to-edge">
<div class="container-fluid">
<div class="row gy-0 gx-0">
<div class="col-md-5 col-xl-6 d-flex">
<figure class="figure">
<img
srcset="../../../../assets/img//fpo/fpo-8-5@xs.jpg 480w,
../../../../assets/img//fpo/fpo-8-5@md.jpg 720w,
../../../../assets/img//fpo/fpo-8-5@lg.jpg 960w,"
sizes="(max-width: 576px) 480px,
(max-width: 768px) 720px,
(max-width: 992px) 960px,"
src="../../../../assets/img//fpo/fpo-8-5@md.jpg"
alt="Image description"
class="img-fit"
>
</figure>
</div>
<div class="col-md-7 col-xl-6 p-5 px-xl-7 d-flex align-items-center">
<div>
<h2>Lorem ipsum</h2>
<p>Saepe incidunt laboriosam minima officiis, consectetur, optio iure a esse beatae tempore dolor eum repellat quaerat harum quisquam expedita totam distinctio, ad rem id quibusdam! Officia quos nobis nemo veniam!</p>
<a href="#" class="btn btn-outline-light">Button</a>
</div>
</div>
</div>
</div>
</section>
Example with Tab Component
<section class="grd text-bg-light sec-spacing">
<div class="container-xxl">
<div class="row gy-3 gx-3">
<div class="col-md-12 col-xl-12">
<div class="kb-tabs-x bg-light shadow">
<ul class="nav nav-tabs nav-fill" id="example" role="tablist">
<li class="nav-item" role="presentation">
<button class="nav-link active" id="example0-tab" data-bs-toggle="tab" data-bs-target="#example0-tab-pane" type="button" role="tab" aria-controls="example0-tab-pane" aria-selected="true">Package 1</button>
</li>
<li class="nav-item" role="presentation">
<button class="nav-link" id="example1-tab" data-bs-toggle="tab" data-bs-target="#example1-tab-pane" type="button" role="tab" aria-controls="example1-tab-pane" aria-selected="false">Package 2</button>
</li>
<li class="nav-item" role="presentation">
<button class="nav-link" id="example2-tab" data-bs-toggle="tab" data-bs-target="#example2-tab-pane" type="button" role="tab" aria-controls="example2-tab-pane" aria-selected="false">Package 3</button>
</li>
<li class="nav-item" role="presentation">
<button class="nav-link" id="example3-tab" data-bs-toggle="tab" data-bs-target="#example3-tab-pane" type="button" role="tab" aria-controls="example3-tab-pane" aria-selected="false">Package 4</button>
</li>
</ul>
<div class="tab-content" id="exampleContent">
<div class="tab-pane fade show active" id="example0-tab-pane" role="tabpanel" aria-labelledby="example0-tab" tabindex="0">
<div class="bg-white p-3 p-xl-5 shadow">
<div class="row gy-3 align-items-center">
<div class="col-md-5 col-xl-6">
<img
srcset="../../../../assets/img//fpo/fpo-1-1@xs.jpg 480w,
../../../../assets/img//fpo/fpo-1-1@md.jpg 720w,
../../../../assets/img//fpo/fpo-1-1@lg.jpg 960w,"
sizes="(max-width: 576px) 480px,
(max-width: 768px) 720px,
(max-width: 992px) 960px,"
src="../../../../assets/img//fpo/fpo-1-1@md.jpg"
alt="Card Image"
class="img-fluid img-ar1-1"
>
</div>
<div class="col-md-7 col-xl-6">
<h3>Lorem ipsum dolor sit amet consectetur adipisicing elit.</h3>
<p>Lorem ipsum dolor sit amet consectetur, adipisicing elit. Aperiam voluptas, pariatur, praesentium aspernatur magnam ullam in laborum culpa dolor similique velit aliquam repudiandae aut eveniet cumque.</p>
<ul class="mb-5">
<li>Dicta quas esse minus est hic!</li>
<li>Ad sed aliquam suscipit nostrum sint?</li>
<li>Enim repellendus delectus pariatur neque iure.</li>
</ul>
<a href="#" class="btn btn-outline-primary">Book Now</a>
</div>
</div>
</div>
</div>
<div class="tab-pane fade" id="example1-tab-pane" role="tabpanel" aria-labelledby="example1-tab" tabindex="0">
<div class="bg-white p-3 p-xl-5 shadow">
<div class="row gy-3 align-items-center">
<div class="col-md-5 col-xl-6">
<img
srcset="../../../../assets/img//fpo/fpo-1-1@xs.jpg 480w,
../../../../assets/img//fpo/fpo-1-1@md.jpg 720w,
../../../../assets/img//fpo/fpo-1-1@lg.jpg 960w,"
sizes="(max-width: 576px) 480px,
(max-width: 768px) 720px,
(max-width: 992px) 960px,"
src="../../../../assets/img//fpo/fpo-1-1@md.jpg"
alt="Card Image"
class="img-fluid img-ar1-1"
>
</div>
<div class="col-md-7 col-xl-6">
<h3>Lorem ipsum dolor sit amet consectetur adipisicing elit.</h3>
<p>Lorem ipsum dolor sit amet consectetur, adipisicing elit. Aperiam voluptas, pariatur, praesentium aspernatur magnam ullam in laborum culpa dolor similique velit aliquam repudiandae aut eveniet cumque.</p>
<ul class="mb-5">
<li>Dicta quas esse minus est hic!</li>
<li>Ad sed aliquam suscipit nostrum sint?</li>
<li>Enim repellendus delectus pariatur neque iure.</li>
</ul>
<a href="#" class="btn btn-outline-primary">Book Now</a>
</div>
</div>
</div>
</div>
<div class="tab-pane fade" id="example2-tab-pane" role="tabpanel" aria-labelledby="example2-tab" tabindex="0">
<div class="bg-white p-3 p-xl-5 shadow">
<div class="row gy-3 align-items-center">
<div class="col-md-5 col-xl-6">
<img
srcset="../../../../assets/img//fpo/fpo-1-1@xs.jpg 480w,
../../../../assets/img//fpo/fpo-1-1@md.jpg 720w,
../../../../assets/img//fpo/fpo-1-1@lg.jpg 960w,"
sizes="(max-width: 576px) 480px,
(max-width: 768px) 720px,
(max-width: 992px) 960px,"
src="../../../../assets/img//fpo/fpo-1-1@md.jpg"
alt="Card Image"
class="img-fluid img-ar1-1"
>
</div>
<div class="col-md-7 col-xl-6">
<h3>Lorem ipsum dolor sit amet consectetur adipisicing elit.</h3>
<p>Lorem ipsum dolor sit amet consectetur, adipisicing elit. Aperiam voluptas, pariatur, praesentium aspernatur magnam ullam in laborum culpa dolor similique velit aliquam repudiandae aut eveniet cumque.</p>
<ul class="mb-5">
<li>Dicta quas esse minus est hic!</li>
<li>Ad sed aliquam suscipit nostrum sint?</li>
<li>Enim repellendus delectus pariatur neque iure.</li>
</ul>
<a href="#" class="btn btn-outline-primary">Book Now</a>
</div>
</div>
</div>
</div>
<div class="tab-pane fade" id="example3-tab-pane" role="tabpanel" aria-labelledby="example3-tab" tabindex="0">
<div class="bg-white p-3 p-xl-5 shadow">
<div class="row gy-3 align-items-center">
<div class="col-md-5 col-xl-6">
<img
srcset="../../../../assets/img//fpo/fpo-1-1@xs.jpg 480w,
../../../../assets/img//fpo/fpo-1-1@md.jpg 720w,
../../../../assets/img//fpo/fpo-1-1@lg.jpg 960w,"
sizes="(max-width: 576px) 480px,
(max-width: 768px) 720px,
(max-width: 992px) 960px,"
src="../../../../assets/img//fpo/fpo-1-1@md.jpg"
alt="Card Image"
class="img-fluid img-ar1-1"
>
</div>
<div class="col-md-7 col-xl-6">
<h3>Lorem ipsum dolor sit amet consectetur adipisicing elit.</h3>
<p>Lorem ipsum dolor sit amet consectetur, adipisicing elit. Aperiam voluptas, pariatur, praesentium aspernatur magnam ullam in laborum culpa dolor similique velit aliquam repudiandae aut eveniet cumque.</p>
<ul class="mb-5">
<li>Dicta quas esse minus est hic!</li>
<li>Ad sed aliquam suscipit nostrum sint?</li>
<li>Enim repellendus delectus pariatur neque iure.</li>
</ul>
<a href="#" class="btn btn-outline-primary">Book Now</a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
Example with Page Navigation Component
<section class="grd text-bg-light sec-spacing-sm">
<div class="container-xxl">
<div class="row">
<div class="col-md-12 col-xl-12">
<nav class="nav nav-underline justify-content-center" aria-label="Page">
<a href="#" class="nav-link active" aria-current="page">Nav Item 1</a>
<a href="#" class="nav-link">Nav Item 2</a>
<a href="#" class="nav-link">Nav Item 3</a>
<a href="#" class="nav-link">Nav Item 4</a>
<a href="#" class="nav-link">Nav Item 5</a>
</nav>
</div>
</div>
</div>
</section>
Heading and text
<section class="grd sec-spacing-lg">
<div class="container-xxl">
<div class="row gy-4 gx-3 justify-content-between align-items-center">
<div class="col-md-12 col-xl-12 text-center">
<h2>Minus magnam reprehenderit enim dolore eius</h2>
</div>
<div class="col-md-6 col-xl-6">
<img
srcset="../../../../assets/img//fpo/fpo-5-4@xs.jpg 480w,
../../../../assets/img//fpo/fpo-5-4@md.jpg 720w,
../../../../assets/img//fpo/fpo-5-4@lg.jpg 960w,"
sizes="(max-width: 576px) 480px,
(max-width: 768px) 720px,
(max-width: 992px) 960px,"
src="../../../../assets/img//fpo/fpo-5-4@md.jpg"
alt="Card Image"
class="img-fit obj-pos-cc"
>
</div>
<div class="col-md-6 col-xl-5">
<h3>Expedita ipsa vitae inventore recusandae placeat?</h3>
<P>Atque aliquid, repellat commodi ratione esse excepturi illum, voluptatibus id labore totam nihil blanditiis.</P>
<P>Numquam odio, consequatur, eum iste optio mollitia suscipit aspernatur ipsa ex tempora molestias odit.</P>
</div>
</div>
</div>
</section>
Banner CTA
<section class="grd text-bg-secondary sec-spacing-sm">
<div class="container-xxl">
<div class="row gy-4 gx-3 align-items-center">
<div class="col-md-6 col-xl-8">
<h3>Aliquam ipsum ab repellendus qui facilis facere quidem</h3>
<p class="lead">Sint reprehenderit fugiat vel eum! Molestias, tempore hic.</p>
</div>
<div class="col-md-6 col-xl-4">
<a href="#" class="btn btn-primary btn-lg w-100">CTA Button</a>
</div>
</div>
</div>
</section>
Image, copy and link list
<section class="grd sec-spacing">
<div class="container-xxl">
<div class="row gy-4 gx-4 justify-content-between align-items-center">
<div class="col-md-6 col-xl-6">
<img
srcset="../../../../assets/img//fpo/fpo-1-1@xs.jpg 480w,
../../../../assets/img//fpo/fpo-1-1@md.jpg 720w,
../../../../assets/img//fpo/fpo-1-1@lg.jpg 960w,"
sizes="(max-width: 576px) 480px,
(max-width: 768px) 720px,
(max-width: 992px) 960px,"
src="../../../../assets/img//fpo/fpo-1-1@md.jpg"
alt="Card Image"
class="img-fluid img-ar1-1"
>
</div>
<div class="col-md-6 col-xl-5">
<h2>Cupiditate unde aliquid minima explicabo nulla porro</h2>
<p>Nihil inventore aliquid eos sit. Facere maiores impedit dolor corrupti illum voluptas atque architecto veritatis, soluta, voluptatibus aspernatur?</p>
<ul class="list-links">
<li>
<a href="#">Lorem ipsum dolor sit amet</a></li>
<li>
<a href="#">Tenetur dolore error asperiores fugiat</a></li>
<li>
<a href="#"><i class="fa-solid fa-link"></i>Itaque iure velit porro quam</a></li>
<li>
<a href="#"><i class="fa-solid fa-angle-right"></i>Obcaecati numquam earum quis animi</a></li>
<li>
<a href="#"><i class="fa-solid fa-caret-right"></i>Ipsa ullam corporis aliquid sint</a></li>
</ul>
</div>
</div>
</div>
</section>
Grid Break
<section class="grd text-bg-accent1 sec-spacing-lg">
<div class="container-xxl">
<div class="row gy-4 gx-3 align-items-center">
<div class="col-md-12 col-xl-12 text-center">
<h3>Inserting Column Breaks between columns to prevent wrapping</h3>
</div>
<div class="col-md-6 col-xl-6">
<h4>(Column width: 6) Nam culpa minus repellat obcaecati omnis voluptatem vero magnam amet</h4>
<p>Laudantium a perspiciatis eos dolorem amet, odit harum enim quis, numquam quam, provident error vitae!</p>
</div>
<div class="col-break"></div>
<div class="col-md-5 col-xl-5">
<h4>(Column width: 5) Nam culpa minus repellat obcaecati omnis voluptatem vero magnam amet</h4>
<p>Laudantium a perspiciatis eos dolorem amet, odit harum enim quis, numquam quam, provident error vitae!</p>
</div>
<div class="col-break"></div>
<div class="col-md-4 col-xl-4">
<h4>(Column width: 4) Nam culpa minus repellat obcaecati omnis voluptatem vero magnam amet</h4>
<p>Laudantium a perspiciatis eos dolorem amet, odit harum enim quis, numquam quam, provident error vitae!</p>
</div>
<div class="col-break"></div>
<div class="col-md-3 col-xl-3">
<h4>(Column width: 3) Nam culpa minus repellat obcaecati omnis voluptatem vero magnam amet</h4>
<p>Laudantium a perspiciatis eos dolorem amet, odit harum enim quis, numquam quam, provident error vitae!</p>
</div>
</div>
</div>
</section>