:root {
  --bs-spacer: 1rem; /* Base spacing = 16px */
}

/* ----------------------------------------------------------------
 * SPACING UTILITIES (Margin, Padding, Negative Margin)
 * ---------------------------------------------------------------- */

/* Margin Utilities */
.m-0 { margin: 0 !important; }
.m-1 { margin: calc(var(--bs-spacer) * 0.25) !important; } /* 4px */
.m-2 { margin: calc(var(--bs-spacer) * 0.5) !important; }   /* 8px */
.m-3 { margin: var(--bs-spacer) !important; }                     /* 16px */
.m-4 { margin: calc(var(--bs-spacer) * 1.5) !important; }   /* 24px */
.m-5 { margin: calc(var(--bs-spacer) * 3) !important; }      /* 48px */
.m-auto { margin: auto !important; }

/* Margin Top */
.mt-0 { margin-top: 0 !important; }
.mt-1 { margin-top: calc(var(--bs-spacer) * 0.25) !important; }
.mt-2 { margin-top: calc(var(--bs-spacer) * 0.5) !important; }
.mt-3 { margin-top: var(--bs-spacer) !important; }
.mt-4 { margin-top: calc(var(--bs-spacer) * 1.5) !important; }
.mt-5 { margin-top: calc(var(--bs-spacer) * 3) !important; }
.mt-auto { margin-top: auto !important; }

/* Margin Bottom */
.mb-0 { margin-bottom: 0 !important; }
.mb-1 { margin-bottom: calc(var(--bs-spacer) * 0.25) !important; }
.mb-2 { margin-bottom: calc(var(--bs-spacer) * 0.5) !important; }
.mb-3 { margin-bottom: var(--bs-spacer) !important; }
.mb-4 { margin-bottom: calc(var(--bs-spacer) * 1.5) !important; }
.mb-5 { margin-bottom: calc(var(--bs-spacer) * 3) !important; }
.mb-auto { margin-bottom: auto !important; }

/* Margin Start (Left in LTR) */
.ms-0 { margin-left: 0 !important; }
.ms-1 { margin-left: calc(var(--bs-spacer) * 0.25) !important; }
.ms-2 { margin-left: calc(var(--bs-spacer) * 0.5) !important; }
.ms-3 { margin-left: var(--bs-spacer) !important; }
.ms-4 { margin-left: calc(var(--bs-spacer) * 1.5) !important; }
.ms-5 { margin-left: calc(var(--bs-spacer) * 3) !important; }
.ms-auto { margin-left: auto !important; }

/* Margin End (Right in LTR) */
.me-0 { margin-right: 0 !important; }
.me-1 { margin-right: calc(var(--bs-spacer) * 0.25) !important; }
.me-2 { margin-right: calc(var(--bs-spacer) * 0.5) !important; }
.me-3 { margin-right: var(--bs-spacer) !important; }
.me-4 { margin-right: calc(var(--bs-spacer) * 1.5) !important; }
.me-5 { margin-right: calc(var(--bs-spacer) * 3) !important; }
.me-auto { margin-right: auto !important; }

/* Margin Left */
.ml-0 { margin-left: 0 !important; }
.ml-1 { margin-left: calc(var(--bs-spacer) * 0.25) !important; }
.ml-2 { margin-left: calc(var(--bs-spacer) * 0.5) !important; }
.ml-3 { margin-left: var(--bs-spacer) !important; }
.ml-4 { margin-left: calc(var(--bs-spacer) * 1.5) !important; }
.ml-5 { margin-left: calc(var(--bs-spacer) * 3) !important; }
.ml-auto { margin-left: auto !important; }

/* Margin Right */
.mr-0 { margin-right: 0 !important; }
.mr-1 { margin-right: calc(var(--bs-spacer) * 0.25) !important; }
.mr-2 { margin-right: calc(var(--bs-spacer) * 0.5) !important; }
.mr-3 { margin-right: var(--bs-spacer) !important; }
.mr-4 { margin-right: calc(var(--bs-spacer) * 1.5) !important; }
.mr-5 { margin-right: calc(var(--bs-spacer) * 3) !important; }
.mr-auto { margin-right: auto !important; }

/* Margin X-axis (horizontal) */
.mx-0 { margin-left: 0 !important; margin-right: 0 !important; }
.mx-1 { margin-left: calc(var(--bs-spacer) * 0.25) !important; margin-right: calc(var(--bs-spacer) * 0.25) !important; }
.mx-2 { margin-left: calc(var(--bs-spacer) * 0.5) !important; margin-right: calc(var(--bs-spacer) * 0.5) !important; }
.mx-3 { margin-left: var(--bs-spacer) !important; margin-right: var(--bs-spacer) !important; }
.mx-4 { margin-left: calc(var(--bs-spacer) * 1.5) !important; margin-right: calc(var(--bs-spacer) * 1.5) !important; }
.mx-5 { margin-left: calc(var(--bs-spacer) * 3) !important; margin-right: calc(var(--bs-spacer) * 3) !important; }
.mx-auto { margin-left: auto !important; margin-right: auto !important; }

/* Margin Y-axis (vertical) */
.my-0 { margin-top: 0 !important; margin-bottom: 0 !important; }
.my-1 { margin-top: calc(var(--bs-spacer) * 0.25) !important; margin-bottom: calc(var(--bs-spacer) * 0.25) !important; }
.my-2 { margin-top: calc(var(--bs-spacer) * 0.5) !important; margin-bottom: calc(var(--bs-spacer) * 0.5) !important; }
.my-3 { margin-top: var(--bs-spacer) !important; margin-bottom: var(--bs-spacer) !important; }
.my-4 { margin-top: calc(var(--bs-spacer) * 1.5) !important; margin-bottom: calc(var(--bs-spacer) * 1.5) !important; }
.my-5 { margin-top: calc(var(--bs-spacer) * 3) !important; margin-bottom: calc(var(--bs-spacer) * 3) !important; }
.my-auto { margin-top: auto !important; margin-bottom: auto !important; }

/* Padding Utilities */
.p-0 { padding: 0 !important; }
.p-1 { padding: calc(var(--bs-spacer) * 0.25) !important; } /* 4px */
.p-2 { padding: calc(var(--bs-spacer) * 0.5) !important; }   /* 8px */
.p-3 { padding: var(--bs-spacer) !important; }                     /* 16px */
.p-4 { padding: calc(var(--bs-spacer) * 1.5) !important; }   /* 24px */
.p-5 { padding: calc(var(--bs-spacer) * 3) !important; }      /* 48px */

/* Padding Top */
.pt-0 { padding-top: 0 !important; }
.pt-1 { padding-top: calc(var(--bs-spacer) * 0.25) !important; }
.pt-2 { padding-top: calc(var(--bs-spacer) * 0.5) !important; }
.pt-3 { padding-top: var(--bs-spacer) !important; }
.pt-4 { padding-top: calc(var(--bs-spacer) * 1.5) !important; }
.pt-5 { padding-top: calc(var(--bs-spacer) * 3) !important; }

/* Padding Bottom */
.pb-0 { padding-bottom: 0 !important; }
.pb-1 { padding-bottom: calc(var(--bs-spacer) * 0.25) !important; }
.pb-2 { padding-bottom: calc(var(--bs-spacer) * 0.5) !important; }
.pb-3 { padding-bottom: var(--bs-spacer) !important; }
.pb-4 { padding-bottom: calc(var(--bs-spacer) * 1.5) !important; }
.pb-5 { padding-bottom: calc(var(--bs-spacer) * 3) !important; }

/* Padding Start (Left in LTR) */
.ps-0 { padding-left: 0 !important; }
.ps-1 { padding-left: calc(var(--bs-spacer) * 0.25) !important; }
.ps-2 { padding-left: calc(var(--bs-spacer) * 0.5) !important; }
.ps-3 { padding-left: var(--bs-spacer) !important; }
.ps-4 { padding-left: calc(var(--bs-spacer) * 1.5) !important; }
.ps-5 { padding-left: calc(var(--bs-spacer) * 3) !important; }

/* Padding End (Right in LTR) */
.pe-0 { padding-right: 0 !important; }
.pe-1 { padding-right: calc(var(--bs-spacer) * 0.25) !important; }
.pe-2 { padding-right: calc(var(--bs-spacer) * 0.5) !important; }
.pe-3 { padding-right: var(--bs-spacer) !important; }
.pe-4 { padding-right: calc(var(--bs-spacer) * 1.5) !important; }
.pe-5 { padding-right: calc(var(--bs-spacer) * 3) !important; }

/* Padding Left */
.pl-0 { padding-left: 0 !important; }
.pl-1 { padding-left: calc(var(--bs-spacer) * 0.25) !important; }
.pl-2 { padding-left: calc(var(--bs-spacer) * 0.5) !important; }
.pl-3 { padding-left: var(--bs-spacer) !important; }
.pl-4 { padding-left: calc(var(--bs-spacer) * 1.5) !important; }
.pl-5 { padding-left: calc(var(--bs-spacer) * 3) !important; }

/* Padding Right */
.pr-0 { padding-right: 0 !important; }
.pr-1 { padding-right: calc(var(--bs-spacer) * 0.25) !important; }
.pr-2 { padding-right: calc(var(--bs-spacer) * 0.5) !important; }
.pr-3 { padding-right: var(--bs-spacer) !important; }
.pr-4 { padding-right: calc(var(--bs-spacer) * 1.5) !important; }
.pr-5 { padding-right: calc(var(--bs-spacer) * 3) !important; }

/* Padding X-axis (horizontal) */
.px-0 { padding-left: 0 !important; padding-right: 0 !important; }
.px-1 { padding-left: calc(var(--bs-spacer) * 0.25) !important; padding-right: calc(var(--bs-spacer) * 0.25) !important; }
.px-2 { padding-left: calc(var(--bs-spacer) * 0.5) !important; padding-right: calc(var(--bs-spacer) * 0.5) !important; }
.px-3 { padding-left: var(--bs-spacer) !important; padding-right: var(--bs-spacer) !important; }
.px-4 { padding-left: calc(var(--bs-spacer) * 1.5) !important; padding-right: calc(var(--bs-spacer) * 1.5) !important; }
.px-5 { padding-left: calc(var(--bs-spacer) * 3) !important; padding-right: calc(var(--bs-spacer) * 3) !important; }

/* Padding Y-axis (vertical) - ĐÃ SỬA LỖI */
.py-0 { padding-top: 0 !important; padding-bottom: 0 !important; }
.py-1 { padding-top: calc(var(--bs-spacer) * 0.25) !important; padding-bottom: calc(var(--bs-spacer) * 0.25) !important; }
.py-2 { padding-top: calc(var(--bs-spacer) * 0.5) !important; padding-bottom: calc(var(--bs-spacer) * 0.5) !important; }
.py-3 { padding-top: var(--bs-spacer) !important; padding-bottom: var(--bs-spacer) !important; }
.py-4 { padding-top: calc(var(--bs-spacer) * 1.5) !important; padding-bottom: calc(var(--bs-spacer) * 1.5) !important; }
.py-5 { padding-top: calc(var(--bs-spacer) * 3) !important; padding-bottom: calc(var(--bs-spacer) * 3) !important; }

/* Negative Margin Utilities */
.m-n1 { margin: calc(var(--bs-spacer) * -0.25) !important; }
.m-n2 { margin: calc(var(--bs-spacer) * -0.5) !important; }
.m-n3 { margin: calc(var(--bs-spacer) * -1) !important; }
.m-n4 { margin: calc(var(--bs-spacer) * -1.5) !important; }
.m-n5 { margin: calc(var(--bs-spacer) * -3) !important; }

/* Negative Margin Top */
.mt-n1 { margin-top: calc(var(--bs-spacer) * -0.25) !important; }
.mt-n2 { margin-top: calc(var(--bs-spacer) * -0.5) !important; }
.mt-n3 { margin-top: calc(var(--bs-spacer) * -1) !important; }
.mt-n4 { margin-top: calc(var(--bs-spacer) * -1.5) !important; }
.mt-n5 { margin-top: calc(var(--bs-spacer) * -3) !important; }

/* Negative Margin Bottom - ĐÃ SỬA LỖI */
.mb-n1 { margin-bottom: calc(var(--bs-spacer) * -0.25) !important; }
.mb-n2 { margin-bottom: calc(var(--bs-spacer) * -0.5) !important; }
.mb-n3 { margin-bottom: calc(var(--bs-spacer) * -1) !important; }
.mb-n4 { margin-bottom: calc(var(--bs-spacer) * -1.5) !important; }
.mb-n5 { margin-bottom: calc(var(--bs-spacer) * -3) !important; }

/* Negative Margin Start */
.ms-n1 { margin-left: calc(var(--bs-spacer) * -0.25) !important; }
.ms-n2 { margin-left: calc(var(--bs-spacer) * -0.5) !important; }
.ms-n3 { margin-left: calc(var(--bs-spacer) * -1) !important; }
.ms-n4 { margin-left: calc(var(--bs-spacer) * -1.5) !important; }
.ms-n5 { margin-left: calc(var(--bs-spacer) * -3) !important; }

/* Negative Margin End */
.me-n1 { margin-right: calc(var(--bs-spacer) * -0.25) !important; }
.me-n2 { margin-right: calc(var(--bs-spacer) * -0.5) !important; }
.me-n3 { margin-right: calc(var(--bs-spacer) * -1) !important; }
.me-n4 { margin-right: calc(var(--bs-spacer) * -1.5) !important; }
.me-n5 { margin-right: calc(var(--bs-spacer) * -3) !important; }

/* Negative Margin Left */
.ml-n1 { margin-left: calc(var(--bs-spacer) * -0.25) !important; }
.ml-n2 { margin-left: calc(var(--bs-spacer) * -0.5) !important; }
.ml-n3 { margin-left: calc(var(--bs-spacer) * -1) !important; }
.ml-n4 { margin-left: calc(var(--bs-spacer) * -1.5) !important; }
.ml-n5 { margin-left: calc(var(--bs-spacer) * -3) !important; }

/* Negative Margin Right */
.mr-n1 { margin-right: calc(var(--bs-spacer) * -0.25) !important; }
.mr-n2 { margin-right: calc(var(--bs-spacer) * -0.5) !important; }
.mr-n3 { margin-right: calc(var(--bs-spacer) * -1) !important; }
.mr-n4 { margin-right: calc(var(--bs-spacer) * -1.5) !important; }
.mr-n5 { margin-right: calc(var(--bs-spacer) * -3) !important; }

/* ----------------------------------------------------------------
 * DISPLAY UTILITIES (Từ code ban đầu)
 * ---------------------------------------------------------------- */

.d-none { display: none !important; }
.d-inline { display: inline !important; }
.d-inline-block { display: inline-block !important; }
.d-block { display: block !important; }
.d-grid { display: grid !important; }
.d-inline-grid { display: inline-grid !important; }
.d-table { display: table !important; }
.d-table-row { display: table-row !important; }
.d-table-cell { display: table-cell !important; }

/* ----------------------------------------------------------------
 * FLEX UTILITIES (Toàn bộ class Flex theo chuẩn Bootstrap 5.3)
 * ---------------------------------------------------------------- */

/* Enable Flex */
.col.d-flex .col-inner , 
.d-flex { display: flex !important; }

.d-inline-flex { display: inline-flex !important; }

/* Direction */
.flex-row { flex-direction: row !important; }
.flex-row-reverse { flex-direction: row-reverse !important; }
.flex-column { flex-direction: column !important; }
.flex-column-reverse { flex-direction: column-reverse !important; }

/* Justify Content */
.justify-content-start { justify-content: flex-start !important; }
.justify-content-end { justify-content: flex-end !important; }
.justify-content-center { justify-content: center !important; }
.justify-content-between { justify-content: space-between !important; }
.justify-content-around { justify-content: space-around !important; }
.justify-content-evenly { justify-content: space-evenly !important; }

/* Align Items */
.align-items-start { align-items: flex-start !important; }

.col.align-items-end .col-inner ,
.align-items-end { align-items: flex-end !important; }
.align-items-center { align-items: center !important; }
.align-items-baseline { align-items: baseline !important; }
.align-items-stretch { align-items: stretch !important; }

/* Align Self */
.align-self-start { align-self: flex-start !important; }
.align-self-end { align-self: flex-end !important; }
.align-self-center { align-self: center !important; }
.align-self-baseline { align-self: baseline !important; }
.align-self-stretch { align-self: stretch !important; }

/* Fill */
.flex-fill { flex: 1 1 auto !important; }

/* Grow and Shrink */
.flex-grow-0 { flex-grow: 0 !important; }
.flex-grow-1 { flex-grow: 1 !important; }
.flex-shrink-0 { flex-shrink: 0 !important; }
.flex-shrink-1 { flex-shrink: 1 !important; }

/* Order */
.order-first { order: -1 !important; }
.order-0 { order: 0 !important; }
.order-1 { order: 1 !important; }
.order-2 { order: 2 !important; }
.order-3 { order: 3 !important; }
.order-4 { order: 4 !important; }
.order-5 { order: 5 !important; }
.order-last { order: 6 !important; }

/* Align Content */
.align-content-start { align-content: flex-start !important; }
.align-content-end { align-content: flex-end !important; }
.align-content-center { align-content: center !important; }
.align-content-between { align-content: space-between !important; }
.align-content-around { align-content: space-around !important; }
.align-content-stretch { align-content: stretch !important; }

/* Wrap */
.flex-wrap { flex-wrap: wrap !important; }
.flex-nowrap { flex-wrap: nowrap !important; }
.flex-wrap-reverse { flex-wrap: wrap-reverse !important; }

/* ----------------------------------------------------------------
 * RESPONSIVE UTILITIES (Toàn bộ Display/Flex/Spacing responsive)
 * ---------------------------------------------------------------- */

/* Small devices (≥576px) */
@media (min-width: 576px) {
   /* Display */
   .d-sm-none { display: none !important; }
   .d-sm-inline { display: inline !important; }
   .d-sm-inline-block { display: inline-block !important; }
   .d-sm-block { display: block !important; }
   .d-sm-grid { display: grid !important; }
   .d-sm-inline-grid { display: inline-grid !important; }
   .d-sm-table { display: table !important; }
   .d-sm-table-row { display: table-row !important; }
   .d-sm-table-cell { display: table-cell !important; }
   .d-sm-flex { display: flex !important; }
   .d-sm-inline-flex { display: inline-flex !important; }

   /* Direction */
   .flex-sm-row { flex-direction: row !important; }
   .flex-sm-row-reverse { flex-direction: row-reverse !important; }
   .flex-sm-column { flex-direction: column !important; }
   .flex-sm-column-reverse { flex-direction: column-reverse !important; }

   /* Justify Content */
   .justify-content-sm-start { justify-content: flex-start !important; }
   .justify-content-sm-end { justify-content: flex-end !important; }
   .justify-content-sm-center { justify-content: center !important; }
   .justify-content-sm-between { justify-content: space-between !important; }
   .justify-content-sm-around { justify-content: space-around !important; }
   .justify-content-sm-evenly { justify-content: space-evenly !important; }

   /* Align Items */
   .align-items-sm-start { align-items: flex-start !important; }
   .align-items-sm-end { align-items: flex-end !important; }
   .align-items-sm-center { align-items: center !important; }
   .align-items-sm-baseline { align-items: baseline !important; }
   .align-items-sm-stretch { align-items: stretch !important; }

   /* Align Self */
   .align-self-sm-start { align-self: flex-start !important; }
   .align-self-sm-end { align-self: flex-end !important; }
   .align-self-sm-center { align-self: center !important; }
   .align-self-sm-baseline { align-self: baseline !important; }
   .align-self-sm-stretch { align-self: stretch !important; }

   /* Fill */
   .flex-sm-fill { flex: 1 1 auto !important; }

   /* Grow and Shrink */
   .flex-sm-grow-0 { flex-grow: 0 !important; }
   .flex-sm-grow-1 { flex-grow: 1 !important; }
   .flex-sm-shrink-0 { flex-shrink: 0 !important; }
   .flex-sm-shrink-1 { flex-shrink: 1 !important; }

   /* Order */
   .order-sm-first { order: -1 !important; }
   .order-sm-0 { order: 0 !important; }
   .order-sm-1 { order: 1 !important; }
   .order-sm-2 { order: 2 !important; }
   .order-sm-3 { order: 3 !important; }
   .order-sm-4 { order: 4 !important; }
   .order-sm-5 { order: 5 !important; }
   .order-sm-last { order: 6 !important; }

   /* Align Content */
   .align-content-sm-start { align-content: flex-start !important; }
   .align-content-sm-end { align-content: flex-end !important; }
   .align-content-sm-center { align-content: center !important; }
   .align-content-sm-between { align-content: space-between !important; }
   .align-content-sm-around { align-content: space-around !important; }
   .align-content-sm-stretch { align-content: stretch !important; }

   /* Wrap */
   .flex-sm-wrap { flex-wrap: wrap !important; }
   .flex-sm-nowrap { flex-wrap: nowrap !important; }
   .flex-sm-wrap-reverse { flex-wrap: wrap-reverse !important; }

   /* Spacing (Margin/Padding) */
   .m-sm-0 { margin: 0 !important; }
   .m-sm-1 { margin: calc(var(--bs-spacer) * 0.25) !important; }
   .m-sm-2 { margin: calc(var(--bs-spacer) * 0.5) !important; }
   .m-sm-3 { margin: var(--bs-spacer) !important; }
   .m-sm-4 { margin: calc(var(--bs-spacer) * 1.5) !important; }
   .m-sm-5 { margin: calc(var(--bs-spacer) * 3) !important; }
   .m-sm-auto { margin: auto !important; }

   .mt-sm-0 { margin-top: 0 !important; }
   .mt-sm-1 { margin-top: calc(var(--bs-spacer) * 0.25) !important; }
   .mt-sm-2 { margin-top: calc(var(--bs-spacer) * 0.5) !important; }
   .mt-sm-3 { margin-top: var(--bs-spacer) !important; }
   .mt-sm-4 { margin-top: calc(var(--bs-spacer) * 1.5) !important; }
   .mt-sm-5 { margin-top: calc(var(--bs-spacer) * 3) !important; }
   .mt-sm-auto { margin-top: auto !important; }

   .mb-sm-0 { margin-bottom: 0 !important; }
   .mb-sm-1 { margin-bottom: calc(var(--bs-spacer) * 0.25) !important; }
   .mb-sm-2 { margin-bottom: calc(var(--bs-spacer) * 0.5) !important; }
   .mb-sm-3 { margin-bottom: var(--bs-spacer) !important; }
   .mb-sm-4 { margin-bottom: calc(var(--bs-spacer) * 1.5) !important; }
   .mb-sm-5 { margin-bottom: calc(var(--bs-spacer) * 3) !important; }
   .mb-sm-auto { margin-bottom: auto !important; }

   .ms-sm-0 { margin-left: 0 !important; }
   .ms-sm-1 { margin-left: calc(var(--bs-spacer) * 0.25) !important; }
   .ms-sm-2 { margin-left: calc(var(--bs-spacer) * 0.5) !important; }
   .ms-sm-3 { margin-left: var(--bs-spacer) !important; }
   .ms-sm-4 { margin-left: calc(var(--bs-spacer) * 1.5) !important; }
   .ms-sm-5 { margin-left: calc(var(--bs-spacer) * 3) !important; }
   .ms-sm-auto { margin-left: auto !important; }

   .me-sm-0 { margin-right: 0 !important; }
   .me-sm-1 { margin-right: calc(var(--bs-spacer) * 0.25) !important; }
   .me-sm-2 { margin-right: calc(var(--bs-spacer) * 0.5) !important; }
   .me-sm-3 { margin-right: var(--bs-spacer) !important; }
   .me-sm-4 { margin-right: calc(var(--bs-spacer) * 1.5) !important; }
   .me-sm-5 { margin-right: calc(var(--bs-spacer) * 3) !important; }
   .me-sm-auto { margin-right: auto !important; }

   .ml-sm-0 { margin-left: 0 !important; }
   .ml-sm-1 { margin-left: calc(var(--bs-spacer) * 0.25) !important; }
   .ml-sm-2 { margin-left: calc(var(--bs-spacer) * 0.5) !important; }
   .ml-sm-3 { margin-left: var(--bs-spacer) !important; }
   .ml-sm-4 { margin-left: calc(var(--bs-spacer) * 1.5) !important; }
   .ml-sm-5 { margin-left: calc(var(--bs-spacer) * 3) !important; }
   .ml-sm-auto { margin-left: auto !important; }

   .mr-sm-0 { margin-right: 0 !important; }
   .mr-sm-1 { margin-right: calc(var(--bs-spacer) * 0.25) !important; }
   .mr-sm-2 { margin-right: calc(var(--bs-spacer) * 0.5) !important; }
   .mr-sm-3 { margin-right: var(--bs-spacer) !important; }
   .mr-sm-4 { margin-right: calc(var(--bs-spacer) * 1.5) !important; }
   .mr-sm-5 { margin-right: calc(var(--bs-spacer) * 3) !important; }
   .mr-sm-auto { margin-right: auto !important; }

   .mx-sm-0 { margin-left: 0 !important; margin-right: 0 !important; }
   .mx-sm-1 { margin-left: calc(var(--bs-spacer) * 0.25) !important; margin-right: calc(var(--bs-spacer) * 0.25) !important; }
   .mx-sm-2 { margin-left: calc(var(--bs-spacer) * 0.5) !important; margin-right: calc(var(--bs-spacer) * 0.5) !important; }
   .mx-sm-3 { margin-left: var(--bs-spacer) !important; margin-right: var(--bs-spacer) !important; }
   .mx-sm-4 { margin-left: calc(var(--bs-spacer) * 1.5) !important; margin-right: calc(var(--bs-spacer) * 1.5) !important; }
   .mx-sm-5 { margin-left: calc(var(--bs-spacer) * 3) !important; margin-right: calc(var(--bs-spacer) * 3) !important; }
   .mx-sm-auto { margin-left: auto !important; margin-right: auto !important; }

   .my-sm-0 { margin-top: 0 !important; margin-bottom: 0 !important; }
   .my-sm-1 { margin-top: calc(var(--bs-spacer) * 0.25) !important; margin-bottom: calc(var(--bs-spacer) * 0.25) !important; }
   .my-sm-2 { margin-top: calc(var(--bs-spacer) * 0.5) !important; margin-bottom: calc(var(--bs-spacer) * 0.5) !important; }
   .my-sm-3 { margin-top: var(--bs-spacer) !important; margin-bottom: var(--bs-spacer) !important; }
   .my-sm-4 { margin-top: calc(var(--bs-spacer) * 1.5) !important; margin-bottom: calc(var(--bs-spacer) * 1.5) !important; }
   .my-sm-5 { margin-top: calc(var(--bs-spacer) * 3) !important; margin-bottom: calc(var(--bs-spacer) * 3) !important; }
   .my-sm-auto { margin-top: auto !important; margin-bottom: auto !important; }

   .p-sm-0 { padding: 0 !important; }
   .p-sm-1 { padding: calc(var(--bs-spacer) * 0.25) !important; }
   .p-sm-2 { padding: calc(var(--bs-spacer) * 0.5) !important; }
   .p-sm-3 { padding: var(--bs-spacer) !important; }
   .p-sm-4 { padding: calc(var(--bs-spacer) * 1.5) !important; }
   .p-sm-5 { padding: calc(var(--bs-spacer) * 3) !important; }

   .pt-sm-0 { padding-top: 0 !important; }
   .pt-sm-1 { padding-top: calc(var(--bs-spacer) * 0.25) !important; }
   .pt-sm-2 { padding-top: calc(var(--bs-spacer) * 0.5) !important; }
   .pt-sm-3 { padding-top: var(--bs-spacer) !important; }
   .pt-sm-4 { padding-top: calc(var(--bs-spacer) * 1.5) !important; }
   .pt-sm-5 { padding-top: calc(var(--bs-spacer) * 3) !important; }

   .pb-sm-0 { padding-bottom: 0 !important; }
   .pb-sm-1 { padding-bottom: calc(var(--bs-spacer) * 0.25) !important; }
   .pb-sm-2 { padding-bottom: calc(var(--bs-spacer) * 0.5) !important; }
   .pb-sm-3 { padding-bottom: var(--bs-spacer) !important; }
   .pb-sm-4 { padding-bottom: calc(var(--bs-spacer) * 1.5) !important; }
   .pb-sm-5 { padding-bottom: calc(var(--bs-spacer) * 3) !important; }

   .ps-sm-0 { padding-left: 0 !important; }
   .ps-sm-1 { padding-left: calc(var(--bs-spacer) * 0.25) !important; }
   .ps-sm-2 { padding-left: calc(var(--bs-spacer) * 0.5) !important; }
   .ps-sm-3 { padding-left: var(--bs-spacer) !important; }
   .ps-sm-4 { padding-left: calc(var(--bs-spacer) * 1.5) !important; }
   .ps-sm-5 { padding-left: calc(var(--bs-spacer) * 3) !important; }

   .pe-sm-0 { padding-right: 0 !important; }
   .pe-sm-1 { padding-right: calc(var(--bs-spacer) * 0.25) !important; }
   .pe-sm-2 { padding-right: calc(var(--bs-spacer) * 0.5) !important; }
   .pe-sm-3 { padding-right: var(--bs-spacer) !important; }
   .pe-sm-4 { padding-right: calc(var(--bs-spacer) * 1.5) !important; }
   .pe-sm-5 { padding-right: calc(var(--bs-spacer) * 3) !important; }

   .pl-sm-0 { padding-left: 0 !important; }
   .pl-sm-1 { padding-left: calc(var(--bs-spacer) * 0.25) !important; }
   .pl-sm-2 { padding-left: calc(var(--bs-spacer) * 0.5) !important; }
   .pl-sm-3 { padding-left: var(--bs-spacer) !important; }
   .pl-sm-4 { padding-left: calc(var(--bs-spacer) * 1.5) !important; }
   .pl-sm-5 { padding-left: calc(var(--bs-spacer) * 3) !important; }

   .pr-sm-0 { padding-right: 0 !important; }
   .pr-sm-1 { padding-right: calc(var(--bs-spacer) * 0.25) !important; }
   .pr-sm-2 { padding-right: calc(var(--bs-spacer) * 0.5) !important; }
   .pr-sm-3 { padding-right: var(--bs-spacer) !important; }
   .pr-sm-4 { padding-right: calc(var(--bs-spacer) * 1.5) !important; }
   .pr-sm-5 { padding-right: calc(var(--bs-spacer) * 3) !important; }

   .px-sm-0 { padding-left: 0 !important; padding-right: 0 !important; }
   .px-sm-1 { padding-left: calc(var(--bs-spacer) * 0.25) !important; padding-right: calc(var(--bs-spacer) * 0.25) !important; }
   .px-sm-2 { padding-left: calc(var(--bs-spacer) * 0.5) !important; padding-right: calc(var(--bs-spacer) * 0.5) !important; }
   .px-sm-3 { padding-left: var(--bs-spacer) !important; padding-right: var(--bs-spacer) !important; }
   .px-sm-4 { padding-left: calc(var(--bs-spacer) * 1.5) !important; padding-right: calc(var(--bs-spacer) * 1.5) !important; }
   .px-sm-5 { padding-left: calc(var(--bs-spacer) * 3) !important; padding-right: calc(var(--bs-spacer) * 3) !important; }

   .py-sm-0 { padding-top: 0 !important; padding-bottom: 0 !important; }
   .py-sm-1 { padding-top: calc(var(--bs-spacer) * 0.25) !important; padding-bottom: calc(var(--bs-spacer) * 0.25) !important; }
   .py-sm-2 { padding-top: calc(var(--bs-spacer) * 0.5) !important; padding-bottom: calc(var(--bs-spacer) * 0.5) !important; }
   .py-sm-3 { padding-top: var(--bs-spacer) !important; padding-bottom: var(--bs-spacer) !important; }
   .py-sm-4 { padding-top: calc(var(--bs-spacer) * 1.5) !important; padding-bottom: calc(var(--bs-spacer) * 1.5) !important; }
   .py-sm-5 { padding-top: calc(var(--bs-spacer) * 3) !important; padding-bottom: calc(var(--bs-spacer) * 3) !important; }
}

/* Medium devices (≥768px) */
@media (min-width: 768px) {
   /* Display */
   .d-md-none { display: none !important; }
   .d-md-inline { display: inline !important; }
   .d-md-inline-block { display: inline-block !important; }
   .d-md-block { display: block !important; }
   .d-md-grid { display: grid !important; }
   .d-md-inline-grid { display: inline-grid !important; }
   .d-md-table { display: table !important; }
   .d-md-table-row { display: table-row !important; }
   .d-md-table-cell { display: table-cell !important; }
   .d-md-flex { display: flex !important; }
   .d-md-inline-flex { display: inline-flex !important; }

   /* Direction */
   .flex-md-row { flex-direction: row !important; }
   .flex-md-row-reverse { flex-direction: row-reverse !important; }
   .flex-md-column { flex-direction: column !important; }
   .flex-md-column-reverse { flex-direction: column-reverse !important; }

   /* Justify Content */
   .justify-content-md-start { justify-content: flex-start !important; }
   .justify-content-md-end { justify-content: flex-end !important; }
   .justify-content-md-center { justify-content: center !important; }
   .justify-content-md-between { justify-content: space-between !important; }
   .justify-content-md-around { justify-content: space-around !important; }
   .justify-content-md-evenly { justify-content: space-evenly !important; }

   /* Align Items */
   .align-items-md-start { align-items: flex-start !important; }
   .align-items-md-end { align-items: flex-end !important; }
   .align-items-md-center { align-items: center !important; }
   .align-items-md-baseline { align-items: baseline !important; }
   .align-items-md-stretch { align-items: stretch !important; }

   /* Align Self */
   .align-self-md-start { align-self: flex-start !important; }
   .align-self-md-end { align-self: flex-end !important; }
   .align-self-md-center { align-self: center !important; }
   .align-self-md-baseline { align-self: baseline !important; }
   .align-self-md-stretch { align-self: stretch !important; }

   /* Fill */
   .flex-md-fill { flex: 1 1 auto !important; }

   /* Grow and Shrink */
   .flex-md-grow-0 { flex-grow: 0 !important; }
   .flex-md-grow-1 { flex-grow: 1 !important; }
   .flex-md-shrink-0 { flex-shrink: 0 !important; }
   .flex-md-shrink-1 { flex-shrink: 1 !important; }

   /* Order */
   .order-md-first { order: -1 !important; }
   .order-md-0 { order: 0 !important; }
   .order-md-1 { order: 1 !important; }
   .order-md-2 { order: 2 !important; }
   .order-md-3 { order: 3 !important; }
   .order-md-4 { order: 4 !important; }
   .order-md-5 { order: 5 !important; }
   .order-md-last { order: 6 !important; }

   /* Align Content */
   .align-content-md-start { align-content: flex-start !important; }
   .align-content-md-end { align-content: flex-end !important; }
   .align-content-md-center { align-content: center !important; }
   .align-content-md-between { align-content: space-between !important; }
   .align-content-md-around { align-content: space-around !important; }
   .align-content-md-stretch { align-content: stretch !important; }

   /* Wrap */
   .flex-md-wrap { flex-wrap: wrap !important; }
   .flex-md-nowrap { flex-wrap: nowrap !important; }
   .flex-md-wrap-reverse { flex-wrap: wrap-reverse !important; }

   /* Spacing (Margin/Padding) */
   .m-md-0 { margin: 0 !important; }
   .m-md-1 { margin: calc(var(--bs-spacer) * 0.25) !important; }
   .m-md-2 { margin: calc(var(--bs-spacer) * 0.5) !important; }
   .m-md-3 { margin: var(--bs-spacer) !important; }
   .m-md-4 { margin: calc(var(--bs-spacer) * 1.5) !important; }
   .m-md-5 { margin: calc(var(--bs-spacer) * 3) !important; }
   .m-md-auto { margin: auto !important; }

   .mt-md-0 { margin-top: 0 !important; }
   .mt-md-1 { margin-top: calc(var(--bs-spacer) * 0.25) !important; }
   .mt-md-2 { margin-top: calc(var(--bs-spacer) * 0.5) !important; }
   .mt-md-3 { margin-top: var(--bs-spacer) !important; }
   .mt-md-4 { margin-top: calc(var(--bs-spacer) * 1.5) !important; }
   .mt-md-5 { margin-top: calc(var(--bs-spacer) * 3) !important; }
   .mt-md-auto { margin-top: auto !important; }

   .mb-md-0 { margin-bottom: 0 !important; }
   .mb-md-1 { margin-bottom: calc(var(--bs-spacer) * 0.25) !important; }
   .mb-md-2 { margin-bottom: calc(var(--bs-spacer) * 0.5) !important; }
   .mb-md-3 { margin-bottom: var(--bs-spacer) !important; }
   .mb-md-4 { margin-bottom: calc(var(--bs-spacer) * 1.5) !important; }
   .mb-md-5 { margin-bottom: calc(var(--bs-spacer) * 3) !important; }
   .mb-md-auto { margin-bottom: auto !important; }

   .ms-md-0 { margin-left: 0 !important; }
   .ms-md-1 { margin-left: calc(var(--bs-spacer) * 0.25) !important; }
   .ms-md-2 { margin-left: calc(var(--bs-spacer) * 0.5) !important; }
   .ms-md-3 { margin-left: var(--bs-spacer) !important; }
   .ms-md-4 { margin-left: calc(var(--bs-spacer) * 1.5) !important; }
   .ms-md-5 { margin-left: calc(var(--bs-spacer) * 3) !important; }
   .ms-md-auto { margin-left: auto !important; }

   .me-md-0 { margin-right: 0 !important; }
   .me-md-1 { margin-right: calc(var(--bs-spacer) * 0.25) !important; }
   .me-md-2 { margin-right: calc(var(--bs-spacer) * 0.5) !important; }
   .me-md-3 { margin-right: var(--bs-spacer) !important; }
   .me-md-4 { margin-right: calc(var(--bs-spacer) * 1.5) !important; }
   .me-md-5 { margin-right: calc(var(--bs-spacer) * 3) !important; }
   .me-md-auto { margin-right: auto !important; }

   .ml-md-0 { margin-left: 0 !important; }
   .ml-md-1 { margin-left: calc(var(--bs-spacer) * 0.25) !important; }
   .ml-md-2 { margin-left: calc(var(--bs-spacer) * 0.5) !important; }
   .ml-md-3 { margin-left: var(--bs-spacer) !important; }
   .ml-md-4 { margin-left: calc(var(--bs-spacer) * 1.5) !important; }
   .ml-md-5 { margin-left: calc(var(--bs-spacer) * 3) !important; }
   .ml-md-auto { margin-left: auto !important; }

   .mr-md-0 { margin-right: 0 !important; }
   .mr-md-1 { margin-right: calc(var(--bs-spacer) * 0.25) !important; }
   .mr-md-2 { margin-right: calc(var(--bs-spacer) * 0.5) !important; }
   .mr-md-3 { margin-right: var(--bs-spacer) !important; }
   .mr-md-4 { margin-right: calc(var(--bs-spacer) * 1.5) !important; }
   .mr-md-5 { margin-right: calc(var(--bs-spacer) * 3) !important; }
   .mr-md-auto { margin-right: auto !important; }

   .mx-md-0 { margin-left: 0 !important; margin-right: 0 !important; }
   .mx-md-1 { margin-left: calc(var(--bs-spacer) * 0.25) !important; margin-right: calc(var(--bs-spacer) * 0.25) !important; }
   .mx-md-2 { margin-left: calc(var(--bs-spacer) * 0.5) !important; margin-right: calc(var(--bs-spacer) * 0.5) !important; }
   .mx-md-3 { margin-left: var(--bs-spacer) !important; margin-right: var(--bs-spacer) !important; }
   .mx-md-4 { margin-left: calc(var(--bs-spacer) * 1.5) !important; margin-right: calc(var(--bs-spacer) * 1.5) !important; }
   .mx-md-5 { margin-left: calc(var(--bs-spacer) * 3) !important; margin-right: calc(var(--bs-spacer) * 3) !important; }
   .mx-md-auto { margin-left: auto !important; margin-right: auto !important; }

   .my-md-0 { margin-top: 0 !important; margin-bottom: 0 !important; }
   .my-md-1 { margin-top: calc(var(--bs-spacer) * 0.25) !important; margin-bottom: calc(var(--bs-spacer) * 0.25) !important; }
   .my-md-2 { margin-top: calc(var(--bs-spacer) * 0.5) !important; margin-bottom: calc(var(--bs-spacer) * 0.5) !important; }
   .my-md-3 { margin-top: var(--bs-spacer) !important; margin-bottom: var(--bs-spacer) !important; }
   .my-md-4 { margin-top: calc(var(--bs-spacer) * 1.5) !important; margin-bottom: calc(var(--bs-spacer) * 1.5) !important; }
   .my-md-5 { margin-top: calc(var(--bs-spacer) * 3) !important; margin-bottom: calc(var(--bs-spacer) * 3) !important; }
   .my-md-auto { margin-top: auto !important; margin-bottom: auto !important; }

   .p-md-0 { padding: 0 !important; }
   .p-md-1 { padding: calc(var(--bs-spacer) * 0.25) !important; }
   .p-md-2 { padding: calc(var(--bs-spacer) * 0.5) !important; }
   .p-md-3 { padding: var(--bs-spacer) !important; }
   .p-md-4 { padding: calc(var(--bs-spacer) * 1.5) !important; }
   .p-md-5 { padding: calc(var(--bs-spacer) * 3) !important; }

   .pt-md-0 { padding-top: 0 !important; }
   .pt-md-1 { padding-top: calc(var(--bs-spacer) * 0.25) !important; }
   .pt-md-2 { padding-top: calc(var(--bs-spacer) * 0.5) !important; }
   .pt-md-3 { padding-top: var(--bs-spacer) !important; }
   .pt-md-4 { padding-top: calc(var(--bs-spacer) * 1.5) !important; }
   .pt-md-5 { padding-top: calc(var(--bs-spacer) * 3) !important; }

   .pb-md-0 { padding-bottom: 0 !important; }
   .pb-md-1 { padding-bottom: calc(var(--bs-spacer) * 0.25) !important; }
   .pb-md-2 { padding-bottom: calc(var(--bs-spacer) * 0.5) !important; }
   .pb-md-3 { padding-bottom: var(--bs-spacer) !important; }
   .pb-md-4 { padding-bottom: calc(var(--bs-spacer) * 1.5) !important; }
   .pb-md-5 { padding-bottom: calc(var(--bs-spacer) * 3) !important; }

   .ps-md-0 { padding-left: 0 !important; }
   .ps-md-1 { padding-left: calc(var(--bs-spacer) * 0.25) !important; }
   .ps-md-2 { padding-left: calc(var(--bs-spacer) * 0.5) !important; }
   .ps-md-3 { padding-left: var(--bs-spacer) !important; }
   .ps-md-4 { padding-left: calc(var(--bs-spacer) * 1.5) !important; }
   .ps-md-5 { padding-left: calc(var(--bs-spacer) * 3) !important; }

   .pe-md-0 { padding-right: 0 !important; }
   .pe-md-1 { padding-right: calc(var(--bs-spacer) * 0.25) !important; }
   .pe-md-2 { padding-right: calc(var(--bs-spacer) * 0.5) !important; }
   .pe-md-3 { padding-right: var(--bs-spacer) !important; }
   .pe-md-4 { padding-right: calc(var(--bs-spacer) * 1.5) !important; }
   .pe-md-5 { padding-right: calc(var(--bs-spacer) * 3) !important; }

   .pl-md-0 { padding-left: 0 !important; }
   .pl-md-1 { padding-left: calc(var(--bs-spacer) * 0.25) !important; }
   .pl-md-2 { padding-left: calc(var(--bs-spacer) * 0.5) !important; }
   .pl-md-3 { padding-left: var(--bs-spacer) !important; }
   .pl-md-4 { padding-left: calc(var(--bs-spacer) * 1.5) !important; }
   .pl-md-5 { padding-left: calc(var(--bs-spacer) * 3) !important; }

   .pr-md-0 { padding-right: 0 !important; }
   .pr-md-1 { padding-right: calc(var(--bs-spacer) * 0.25) !important; }
   .pr-md-2 { padding-right: calc(var(--bs-spacer) * 0.5) !important; }
   .pr-md-3 { padding-right: var(--bs-spacer) !important; }
   .pr-md-4 { padding-right: calc(var(--bs-spacer) * 1.5) !important; }
   .pr-md-5 { padding-right: calc(var(--bs-spacer) * 3) !important; }

   .px-md-0 { padding-left: 0 !important; padding-right: 0 !important; }
   .px-md-1 { padding-left: calc(var(--bs-spacer) * 0.25) !important; padding-right: calc(var(--bs-spacer) * 0.25) !important; }
   .px-md-2 { padding-left: calc(var(--bs-spacer) * 0.5) !important; padding-right: calc(var(--bs-spacer) * 0.5) !important; }
   .px-md-3 { padding-left: var(--bs-spacer) !important; padding-right: var(--bs-spacer) !important; }
   .px-md-4 { padding-left: calc(var(--bs-spacer) * 1.5) !important; padding-right: calc(var(--bs-spacer) * 1.5) !important; }
   .px-md-5 { padding-left: calc(var(--bs-spacer) * 3) !important; padding-right: calc(var(--bs-spacer) * 3) !important; }

   .py-md-0 { padding-top: 0 !important; padding-bottom: 0 !important; }
   .py-md-1 { padding-top: calc(var(--bs-spacer) * 0.25) !important; padding-bottom: calc(var(--bs-spacer) * 0.25) !important; }
   .py-md-2 { padding-top: calc(var(--bs-spacer) * 0.5) !important; padding-bottom: calc(var(--bs-spacer) * 0.5) !important; }
   .py-md-3 { padding-top: var(--bs-spacer) !important; padding-bottom: var(--bs-spacer) !important; }
   .py-md-4 { padding-top: calc(var(--bs-spacer) * 1.5) !important; padding-bottom: calc(var(--bs-spacer) * 1.5) !important; }
   .py-md-5 { padding-top: calc(var(--bs-spacer) * 3) !important; padding-bottom: calc(var(--bs-spacer) * 3) !important; }
}

/* Large devices (≥992px) */
@media (min-width: 992px) {
   /* Display */
   .d-lg-none { display: none !important; }
   .d-lg-inline { display: inline !important; }
   .d-lg-inline-block { display: inline-block !important; }
   .d-lg-block { display: block !important; }
   .d-lg-grid { display: grid !important; }
   .d-lg-inline-grid { display: inline-grid !important; }
   .d-lg-table { display: table !important; }
   .d-lg-table-row { display: table-row !important; }
   .d-lg-table-cell { display: table-cell !important; }
   .d-lg-flex { display: flex !important; }
   .d-lg-inline-flex { display: inline-flex !important; }

   /* Direction */
   .flex-lg-row { flex-direction: row !important; }
   .flex-lg-row-reverse { flex-direction: row-reverse !important; }
   .flex-lg-column { flex-direction: column !important; }
   .flex-lg-column-reverse { flex-direction: column-reverse !important; }

   /* Justify Content */
   .justify-content-lg-start { justify-content: flex-start !important; }
   .justify-content-lg-end { justify-content: flex-end !important; }
   .justify-content-lg-center { justify-content: center !important; }
   .justify-content-lg-between { justify-content: space-between !important; }
   .justify-content-lg-around { justify-content: space-around !important; }
   .justify-content-lg-evenly { justify-content: space-evenly !important; }

   /* Align Items */
   .align-items-lg-start { align-items: flex-start !important; }
   .align-items-lg-end { align-items: flex-end !important; }
   .align-items-lg-center { align-items: center !important; }
   .align-items-lg-baseline { align-items: baseline !important; }
   .align-items-lg-stretch { align-items: stretch !important; }

   /* Align Self */
   .align-self-lg-start { align-self: flex-start !important; }
   .align-self-lg-end { align-self: flex-end !important; }
   .align-self-lg-center { align-self: center !important; }
   .align-self-lg-baseline { align-self: baseline !important; }
   .align-self-lg-stretch { align-self: stretch !important; }

   /* Fill */
   .flex-lg-fill { flex: 1 1 auto !important; }

   /* Grow and Shrink */
   .flex-lg-grow-0 { flex-grow: 0 !important; }
   .flex-lg-grow-1 { flex-grow: 1 !important; }
   .flex-lg-shrink-0 { flex-shrink: 0 !important; }
   .flex-lg-shrink-1 { flex-shrink: 1 !important; }

   /* Order */
   .order-lg-first { order: -1 !important; }
   .order-lg-0 { order: 0 !important; }
   .order-lg-1 { order: 1 !important; }
   .order-lg-2 { order: 2 !important; }
   .order-lg-3 { order: 3 !important; }
   .order-lg-4 { order: 4 !important; }
   .order-lg-5 { order: 5 !important; }
   .order-lg-last { order: 6 !important; }

   /* Align Content */
   .align-content-lg-start { align-content: flex-start !important; }
   .align-content-lg-end { align-content: flex-end !important; }
   .align-content-lg-center { align-content: center !important; }
   .align-content-lg-between { align-content: space-between !important; }
   .align-content-lg-around { align-content: space-around !important; }
   .align-content-lg-stretch { align-content: stretch !important; }

   /* Wrap */
   .flex-lg-wrap { flex-wrap: wrap !important; }
   .flex-lg-nowrap { flex-wrap: nowrap !important; }
   .flex-lg-wrap-reverse { flex-wrap: wrap-reverse !important; }

   /* Spacing (Margin/Padding) */
   .m-lg-0 { margin: 0 !important; }
   .m-lg-1 { margin: calc(var(--bs-spacer) * 0.25) !important; }
   .m-lg-2 { margin: calc(var(--bs-spacer) * 0.5) !important; }
   .m-lg-3 { margin: var(--bs-spacer) !important; }
   .m-lg-4 { margin: calc(var(--bs-spacer) * 1.5) !important; }
   .m-lg-5 { margin: calc(var(--bs-spacer) * 3) !important; }
   .m-lg-auto { margin: auto !important; }

   .mt-lg-0 { margin-top: 0 !important; }
   .mt-lg-1 { margin-top: calc(var(--bs-spacer) * 0.25) !important; }
   .mt-lg-2 { margin-top: calc(var(--bs-spacer) * 0.5) !important; }
   .mt-lg-3 { margin-top: var(--bs-spacer) !important; }
   .mt-lg-4 { margin-top: calc(var(--bs-spacer) * 1.5) !important; }
   .mt-lg-5 { margin-top: calc(var(--bs-spacer) * 3) !important; }
   .mt-lg-auto { margin-top: auto !important; }

   .mb-lg-0 { margin-bottom: 0 !important; }
   .mb-lg-1 { margin-bottom: calc(var(--bs-spacer) * 0.25) !important; }
   .mb-lg-2 { margin-bottom: calc(var(--bs-spacer) * 0.5) !important; }
   .mb-lg-3 { margin-bottom: var(--bs-spacer) !important; }
   .mb-lg-4 { margin-bottom: calc(var(--bs-spacer) * 1.5) !important; }
   .mb-lg-5 { margin-bottom: calc(var(--bs-spacer) * 3) !important; }
   .mb-lg-auto { margin-bottom: auto !important; }

   .ms-lg-0 { margin-left: 0 !important; }
   .ms-lg-1 { margin-left: calc(var(--bs-spacer) * 0.25) !important; }
   .ms-lg-2 { margin-left: calc(var(--bs-spacer) * 0.5) !important; }
   .ms-lg-3 { margin-left: var(--bs-spacer) !important; }
   .ms-lg-4 { margin-left: calc(var(--bs-spacer) * 1.5) !important; }
   .ms-lg-5 { margin-left: calc(var(--bs-spacer) * 3) !important; }
   .ms-lg-auto { margin-left: auto !important; }

   .me-lg-0 { margin-right: 0 !important; }
   .me-lg-1 { margin-right: calc(var(--bs-spacer) * 0.25) !important; }
   .me-lg-2 { margin-right: calc(var(--bs-spacer) * 0.5) !important; }
   .me-lg-3 { margin-right: var(--bs-spacer) !important; }
   .me-lg-4 { margin-right: calc(var(--bs-spacer) * 1.5) !important; }
   .me-lg-5 { margin-right: calc(var(--bs-spacer) * 3) !important; }
   .me-lg-auto { margin-right: auto !important; }

   .ml-lg-0 { margin-left: 0 !important; }
   .ml-lg-1 { margin-left: calc(var(--bs-spacer) * 0.25) !important; }
   .ml-lg-2 { margin-left: calc(var(--bs-spacer) * 0.5) !important; }
   .ml-lg-3 { margin-left: var(--bs-spacer) !important; }
   .ml-lg-4 { margin-left: calc(var(--bs-spacer) * 1.5) !important; }
   .ml-lg-5 { margin-left: calc(var(--bs-spacer) * 3) !important; }
   .ml-lg-auto { margin-left: auto !important; }

   .mr-lg-0 { margin-right: 0 !important; }
   .mr-lg-1 { margin-right: calc(var(--bs-spacer) * 0.25) !important; }
   .mr-lg-2 { margin-right: calc(var(--bs-spacer) * 0.5) !important; }
   .mr-lg-3 { margin-right: var(--bs-spacer) !important; }
   .mr-lg-4 { margin-right: calc(var(--bs-spacer) * 1.5) !important; }
   .mr-lg-5 { margin-right: calc(var(--bs-spacer) * 3) !important; }
   .mr-lg-auto { margin-right: auto !important; }

   .mx-lg-0 { margin-left: 0 !important; margin-right: 0 !important; }
   .mx-lg-1 { margin-left: calc(var(--bs-spacer) * 0.25) !important; margin-right: calc(var(--bs-spacer) * 0.25) !important; }
   .mx-lg-2 { margin-left: calc(var(--bs-spacer) * 0.5) !important; margin-right: calc(var(--bs-spacer) * 0.5) !important; }
   .mx-lg-3 { margin-left: var(--bs-spacer) !important; margin-right: var(--bs-spacer) !important; }
   .mx-lg-4 { margin-left: calc(var(--bs-spacer) * 1.5) !important; margin-right: calc(var(--bs-spacer) * 1.5) !important; }
   .mx-lg-5 { margin-left: calc(var(--bs-spacer) * 3) !important; margin-right: calc(var(--bs-spacer) * 3) !important; }
   .mx-lg-auto { margin-left: auto !important; margin-right: auto !important; }

   .my-lg-0 { margin-top: 0 !important; margin-bottom: 0 !important; }
   .my-lg-1 { margin-top: calc(var(--bs-spacer) * 0.25) !important; margin-bottom: calc(var(--bs-spacer) * 0.25) !important; }
   .my-lg-2 { margin-top: calc(var(--bs-spacer) * 0.5) !important; margin-bottom: calc(var(--bs-spacer) * 0.5) !important; }
   .my-lg-3 { margin-top: var(--bs-spacer) !important; margin-bottom: var(--bs-spacer) !important; }
   .my-lg-4 { margin-top: calc(var(--bs-spacer) * 1.5) !important; margin-bottom: calc(var(--bs-spacer) * 1.5) !important; }
   .my-lg-5 { margin-top: calc(var(--bs-spacer) * 3) !important; padding-bottom: calc(var(--bs-spacer) * 3) !important; }

   .p-lg-0 { padding: 0 !important; }
   .p-lg-1 { padding: calc(var(--bs-spacer) * 0.25) !important; }
   .p-lg-2 { padding: calc(var(--bs-spacer) * 0.5) !important; }
   .p-lg-3 { padding: var(--bs-spacer) !important; }
   .p-lg-4 { padding: calc(var(--bs-spacer) * 1.5) !important; }
   .p-lg-5 { padding: calc(var(--bs-spacer) * 3) !important; }

   .pt-lg-0 { padding-top: 0 !important; }
   .pt-lg-1 { padding-top: calc(var(--bs-spacer) * 0.25) !important; }
   .pt-lg-2 { padding-top: calc(var(--bs-spacer) * 0.5) !important; }
   .pt-lg-3 { padding-top: var(--bs-spacer) !important; }
   .pt-lg-4 { padding-top: calc(var(--bs-spacer) * 1.5) !important; }
   .pt-lg-5 { padding-top: calc(var(--bs-spacer) * 3) !important; }

   .pb-lg-0 { padding-bottom: 0 !important; }
   .pb-lg-1 { padding-bottom: calc(var(--bs-spacer) * 0.25) !important; }
   .pb-lg-2 { padding-bottom: calc(var(--bs-spacer) * 0.5) !important; }
   .pb-lg-3 { padding-bottom: var(--bs-spacer) !important; }
   .pb-lg-4 { padding-bottom: calc(var(--bs-spacer) * 1.5) !important; }
   .pb-lg-5 { padding-bottom: calc(var(--bs-spacer) * 3) !important; }

   .ps-lg-0 { padding-left: 0 !important; }
   .ps-lg-1 { padding-left: calc(var(--bs-spacer) * 0.25) !important; }
   .ps-lg-2 { padding-left: calc(var(--bs-spacer) * 0.5) !important; }
   .ps-lg-3 { padding-left: var(--bs-spacer) !important; }
   .ps-lg-4 { padding-left: calc(var(--bs-spacer) * 1.5) !important; }
   .ps-lg-5 { padding-left: calc(var(--bs-spacer) * 3) !important; }

   .pe-lg-0 { padding-right: 0 !important; }
   .pe-lg-1 { padding-right: calc(var(--bs-spacer) * 0.25) !important; }
   .pe-lg-2 { padding-right: calc(var(--bs-spacer) * 0.5) !important; }
   .pe-lg-3 { padding-right: var(--bs-spacer) !important; }
   .pe-lg-4 { padding-right: calc(var(--bs-spacer) * 1.5) !important; }
   .pe-lg-5 { padding-right: calc(var(--bs-spacer) * 3) !important; }

   .pl-lg-0 { padding-left: 0 !important; }
   .pl-lg-1 { padding-left: calc(var(--bs-spacer) * 0.25) !important; }
   .pl-lg-2 { padding-left: calc(var(--bs-spacer) * 0.5) !important; }
   .pl-lg-3 { padding-left: var(--bs-spacer) !important; }
   .pl-lg-4 { padding-left: calc(var(--bs-spacer) * 1.5) !important; }
   .pl-lg-5 { padding-left: calc(var(--bs-spacer) * 3) !important; }

   .pr-lg-0 { padding-right: 0 !important; }
   .pr-lg-1 { padding-right: calc(var(--bs-spacer) * 0.25) !important; }
   .pr-lg-2 { padding-right: calc(var(--bs-spacer) * 0.5) !important; }
   .pr-lg-3 { padding-right: var(--bs-spacer) !important; }
   .pr-lg-4 { padding-right: calc(var(--bs-spacer) * 1.5) !important; }
   .pr-lg-5 { padding-right: calc(var(--bs-spacer) * 3) !important; }

   .px-lg-0 { padding-left: 0 !important; padding-right: 0 !important; }
   .px-lg-1 { padding-left: calc(var(--bs-spacer) * 0.25) !important; padding-right: calc(var(--bs-spacer) * 0.25) !important; }
   .px-lg-2 { padding-left: calc(var(--bs-spacer) * 0.5) !important; padding-right: calc(var(--bs-spacer) * 0.5) !important; }
   .px-lg-3 { padding-left: var(--bs-spacer) !important; padding-right: var(--bs-spacer) !important; }
   .px-lg-4 { padding-left: calc(var(--bs-spacer) * 1.5) !important; padding-right: calc(var(--bs-spacer) * 1.5) !important; }
   .px-lg-5 { padding-left: calc(var(--bs-spacer) * 3) !important; padding-right: calc(var(--bs-spacer) * 3) !important; }

   .py-lg-0 { padding-top: 0 !important; padding-bottom: 0 !important; }
   .py-lg-1 { padding-top: calc(var(--bs-spacer) * 0.25) !important; padding-bottom: calc(var(--bs-spacer) * 0.25) !important; }
   .py-lg-2 { padding-top: calc(var(--bs-spacer) * 0.5) !important; padding-bottom: calc(var(--bs-spacer) * 0.5) !important; }
   .py-lg-3 { padding-top: var(--bs-spacer) !important; padding-bottom: var(--bs-spacer) !important; }
   .py-lg-4 { padding-top: calc(var(--bs-spacer) * 1.5) !important; padding-bottom: calc(var(--bs-spacer) * 1.5) !important; }
   .py-lg-5 { padding-top: calc(var(--bs-spacer) * 3) !important; padding-bottom: calc(var(--bs-spacer) * 3) !important; }
}

/* Extra large devices (≥1200px) */
@media (min-width: 1200px) {
   /* Display */
   .d-xl-none { display: none !important; }
   .d-xl-inline { display: inline !important; }
   .d-xl-inline-block { display: inline-block !important; }
   .d-xl-block { display: block !important; }
   .d-xl-grid { display: grid !important; }
   .d-xl-inline-grid { display: inline-grid !important; }
   .d-xl-table { display: table !important; }
   .d-xl-table-row { display: table-row !important; }
   .d-xl-table-cell { display: table-cell !important; }
   .d-xl-flex { display: flex !important; }
   .d-xl-inline-flex { display: inline-flex !important; }

   /* Direction */
   .flex-xl-row { flex-direction: row !important; }
   .flex-xl-row-reverse { flex-direction: row-reverse !important; }
   .flex-xl-column { flex-direction: column !important; }
   .flex-xl-column-reverse { flex-direction: column-reverse !important; }

   /* Justify Content */
   .justify-content-xl-start { justify-content: flex-start !important; }
   .justify-content-xl-end { justify-content: flex-end !important; }
   .justify-content-xl-center { justify-content: center !important; }
   .justify-content-xl-between { justify-content: space-between !important; }
   .justify-content-xl-around { justify-content: space-around !important; }
   .justify-content-xl-evenly { justify-content: space-evenly !important; }

   /* Align Items */
   .align-items-xl-start { align-items: flex-start !important; }
   .align-items-xl-end { align-items: flex-end !important; }
   .align-items-xl-center { align-items: center !important; }
   .align-items-xl-baseline { align-items: baseline !important; }
   .align-items-xl-stretch { align-items: stretch !important; }

   /* Align Self */
   .align-self-xl-start { align-self: flex-start !important; }
   .align-self-xl-end { align-self: flex-end !important; }
   .align-self-xl-center { align-self: center !important; }
   .align-self-xl-baseline { align-self: baseline !important; }
   .align-self-xl-stretch { align-self: stretch !important; }

   /* Fill */
   .flex-xl-fill { flex: 1 1 auto !important; }

   /* Grow and Shrink */
   .flex-xl-grow-0 { flex-grow: 0 !important; }
   .flex-xl-grow-1 { flex-grow: 1 !important; }
   .flex-xl-shrink-0 { flex-shrink: 0 !important; }
   .flex-xl-shrink-1 { flex-shrink: 1 !important; }

   /* Order */
   .order-xl-first { order: -1 !important; }
   .order-xl-0 { order: 0 !important; }
   .order-xl-1 { order: 1 !important; }
   .order-xl-2 { order: 2 !important; }
   .order-xl-3 { order: 3 !important; }
   .order-xl-4 { order: 4 !important; }
   .order-xl-5 { order: 5 !important; }
   .order-xl-last { order: 6 !important; }

   /* Align Content */
   .align-content-xl-start { align-content: flex-start !important; }
   .align-content-xl-end { align-content: flex-end !important; }
   .align-content-xl-center { align-content: center !important; }
   .align-content-xl-between { align-content: space-between !important; }
   .align-content-xl-around { align-content: space-around !important; }
   .align-content-xl-stretch { align-content: stretch !important; }

   /* Wrap */
   .flex-xl-wrap { flex-wrap: wrap !important; }
   .flex-xl-nowrap { flex-wrap: nowrap !important; }
   .flex-xl-wrap-reverse { flex-wrap: wrap-reverse !important; }

   /* Spacing (Margin/Padding) */
   .m-xl-0 { margin: 0 !important; }
   .m-xl-1 { margin: calc(var(--bs-spacer) * 0.25) !important; }
   .m-xl-2 { margin: calc(var(--bs-spacer) * 0.5) !important; }
   .m-xl-3 { margin: var(--bs-spacer) !important; }
   .m-xl-4 { margin: calc(var(--bs-spacer) * 1.5) !important; }
   .m-xl-5 { margin: calc(var(--bs-spacer) * 3) !important; }
   .m-xl-auto { margin: auto !important; }

   .mt-xl-0 { margin-top: 0 !important; }
   .mt-xl-1 { margin-top: calc(var(--bs-spacer) * 0.25) !important; }
   .mt-xl-2 { margin-top: calc(var(--bs-spacer) * 0.5) !important; }
   .mt-xl-3 { margin-top: var(--bs-spacer) !important; }
   .mt-xl-4 { margin-top: calc(var(--bs-spacer) * 1.5) !important; }
   .mt-xl-5 { margin-top: calc(var(--bs-spacer) * 3) !important; }
   .mt-xl-auto { margin-top: auto !important; }

   .mb-xl-0 { margin-bottom: 0 !important; }
   .mb-xl-1 { margin-bottom: calc(var(--bs-spacer) * 0.25) !important; }
   .mb-xl-2 { margin-bottom: calc(var(--bs-spacer) * 0.5) !important; }
   .mb-xl-3 { margin-bottom: var(--bs-spacer) !important; }
   .mb-xl-4 { margin-bottom: calc(var(--bs-spacer) * 1.5) !important; }
   .mb-xl-5 { margin-bottom: calc(var(--bs-spacer) * 3) !important; }
   .mb-xl-auto { margin-bottom: auto !important; }

   .ms-xl-0 { margin-left: 0 !important; }
   .ms-xl-1 { margin-left: calc(var(--bs-spacer) * 0.25) !important; }
   .ms-xl-2 { margin-left: calc(var(--bs-spacer) * 0.5) !important; }
   .ms-xl-3 { margin-left: var(--bs-spacer) !important; }
   .ms-xl-4 { margin-left: calc(var(--bs-spacer) * 1.5) !important; }
   .ms-xl-5 { margin-left: calc(var(--bs-spacer) * 3) !important; }
   .ms-xl-auto { margin-left: auto !important; }

   .me-xl-0 { margin-right: 0 !important; }
   .me-xl-1 { margin-right: calc(var(--bs-spacer) * 0.25) !important; }
   .me-xl-2 { margin-right: calc(var(--bs-spacer) * 0.5) !important; }
   .me-xl-3 { margin-right: var(--bs-spacer) !important; }
   .me-xl-4 { margin-right: calc(var(--bs-spacer) * 1.5) !important; }
   .me-xl-5 { margin-right: calc(var(--bs-spacer) * 3) !important; }
   .me-xl-auto { margin-right: auto !important; }

   .ml-xl-0 { margin-left: 0 !important; }
   .ml-xl-1 { margin-left: calc(var(--bs-spacer) * 0.25) !important; }
   .ml-xl-2 { margin-left: calc(var(--bs-spacer) * 0.5) !important; }
   .ml-xl-3 { margin-left: var(--bs-spacer) !important; }
   .ml-xl-4 { margin-left: calc(var(--bs-spacer) * 1.5) !important; }
   .ml-xl-5 { margin-left: calc(var(--bs-spacer) * 3) !important; }
   .ml-xl-auto { margin-left: auto !important; }

   .mr-xl-0 { margin-right: 0 !important; }
   .mr-xl-1 { margin-right: calc(var(--bs-spacer) * 0.25) !important; }
   .mr-xl-2 { margin-right: calc(var(--bs-spacer) * 0.5) !important; }
   .mr-xl-3 { margin-right: var(--bs-spacer) !important; }
   .mr-xl-4 { margin-right: calc(var(--bs-spacer) * 1.5) !important; }
   .mr-xl-5 { margin-right: calc(var(--bs-spacer) * 3) !important; }
   .mr-xl-auto { margin-right: auto !important; }

   .mx-xl-0 { margin-left: 0 !important; margin-right: 0 !important; }
   .mx-xl-1 { margin-left: calc(var(--bs-spacer) * 0.25) !important; margin-right: calc(var(--bs-spacer) * 0.25) !important; }
   .mx-xl-2 { margin-left: calc(var(--bs-spacer) * 0.5) !important; margin-right: calc(var(--bs-spacer) * 0.5) !important; }
   .mx-xl-3 { margin-left: var(--bs-spacer) !important; margin-right: var(--bs-spacer) !important; }
   .mx-xl-4 { margin-left: calc(var(--bs-spacer) * 1.5) !important; margin-right: calc(var(--bs-spacer) * 1.5) !important; }
   .mx-xl-5 { margin-left: calc(var(--bs-spacer) * 3) !important; margin-right: calc(var(--bs-spacer) * 3) !important; }
   .mx-xl-auto { margin-left: auto !important; margin-right: auto !important; }

   .my-xl-0 { margin-top: 0 !important; margin-bottom: 0 !important; }
   .my-xl-1 { margin-top: calc(var(--bs-spacer) * 0.25) !important; margin-bottom: calc(var(--bs-spacer) * 0.25) !important; }
   .my-xl-2 { margin-top: calc(var(--bs-spacer) * 0.5) !important; margin-bottom: calc(var(--bs-spacer) * 0.5) !important; }
   .my-xl-3 { margin-top: var(--bs-spacer) !important; margin-bottom: var(--bs-spacer) !important; }
   .my-xl-4 { margin-top: calc(var(--bs-spacer) * 1.5) !important; margin-bottom: calc(var(--bs-spacer) * 1.5) !important; }
   .my-xl-5 { margin-top: calc(var(--bs-spacer) * 3) !important; margin-bottom: calc(var(--bs-spacer) * 3) !important; }
   .my-xl-auto { margin-top: auto !important; margin-bottom: auto !important; }

   .p-xl-0 { padding: 0 !important; }
   .p-xl-1 { padding: calc(var(--bs-spacer) * 0.25) !important; }
   .p-xl-2 { padding: calc(var(--bs-spacer) * 0.5) !important; }
   .p-xl-3 { padding: var(--bs-spacer) !important; }
   .p-xl-4 { padding: calc(var(--bs-spacer) * 1.5) !important; }
   .p-xl-5 { padding: calc(var(--bs-spacer) * 3) !important; }

   .pt-xl-0 { padding-top: 0 !important; }
   .pt-xl-1 { padding-top: calc(var(--bs-spacer) * 0.25) !important; }
   .pt-xl-2 { padding-top: calc(var(--bs-spacer) * 0.5) !important; }
   .pt-xl-3 { padding-top: var(--bs-spacer) !important; }
   .pt-xl-4 { padding-top: calc(var(--bs-spacer) * 1.5) !important; }
   .pt-xl-5 { padding-top: calc(var(--bs-spacer) * 3) !important; }

   .pb-xl-0 { padding-bottom: 0 !important; }
   .pb-xl-1 { padding-bottom: calc(var(--bs-spacer) * 0.25) !important; }
   .pb-xl-2 { padding-bottom: calc(var(--bs-spacer) * 0.5) !important; }
   .pb-xl-3 { padding-bottom: var(--bs-spacer) !important; }
   .pb-xl-4 { padding-bottom: calc(var(--bs-spacer) * 1.5) !important; }
   .pb-xl-5 { padding-bottom: calc(var(--bs-spacer) * 3) !important; }

   .ps-xl-0 { padding-left: 0 !important; }
   .ps-xl-1 { padding-left: calc(var(--bs-spacer) * 0.25) !important; }
   .ps-xl-2 { padding-left: calc(var(--bs-spacer) * 0.5) !important; }
   .ps-xl-3 { padding-left: var(--bs-spacer) !important; }
   .ps-xl-4 { padding-left: calc(var(--bs-spacer) * 1.5) !important; }
   .ps-xl-5 { padding-left: calc(var(--bs-spacer) * 3) !important; }

   .pe-xl-0 { padding-right: 0 !important; }
   .pe-xl-1 { padding-right: calc(var(--bs-spacer) * 0.25) !important; }
   .pe-xl-2 { padding-right: calc(var(--bs-spacer) * 0.5) !important; }
   .pe-xl-3 { padding-right: var(--bs-spacer) !important; }
   .pe-xl-4 { padding-right: calc(var(--bs-spacer) * 1.5) !important; }
   .pe-xl-5 { padding-right: calc(var(--bs-spacer) * 3) !important; }

   .pl-xl-0 { padding-left: 0 !important; }
   .pl-xl-1 { padding-left: calc(var(--bs-spacer) * 0.25) !important; }
   .pl-xl-2 { padding-left: calc(var(--bs-spacer) * 0.5) !important; }
   .pl-xl-3 { padding-left: var(--bs-spacer) !important; }
   .pl-xl-4 { padding-left: calc(var(--bs-spacer) * 1.5) !important; }
   .pl-xl-5 { padding-left: calc(var(--bs-spacer) * 3) !important; }

   .pr-xl-0 { padding-right: 0 !important; }
   .pr-xl-1 { padding-right: calc(var(--bs-spacer) * 0.25) !important; }
   .pr-xl-2 { padding-right: calc(var(--bs-spacer) * 0.5) !important; }
   .pr-xl-3 { padding-right: var(--bs-spacer) !important; }
   .pr-xl-4 { padding-right: calc(var(--bs-spacer) * 1.5) !important; }
   .pr-xl-5 { padding-right: calc(var(--bs-spacer) * 3) !important; }

   .px-xl-0 { padding-left: 0 !important; padding-right: 0 !important; }
   .px-xl-1 { padding-left: calc(var(--bs-spacer) * 0.25) !important; padding-right: calc(var(--bs-spacer) * 0.25) !important; }
   .px-xl-2 { padding-left: calc(var(--bs-spacer) * 0.5) !important; padding-right: calc(var(--bs-spacer) * 0.5) !important; }
   .px-xl-3 { padding-left: var(--bs-spacer) !important; padding-right: var(--bs-spacer) !important; }
   .px-xl-4 { padding-left: calc(var(--bs-spacer) * 1.5) !important; padding-right: calc(var(--bs-spacer) * 1.5) !important; }
   .px-xl-5 { padding-left: calc(var(--bs-spacer) * 3) !important; padding-right: calc(var(--bs-spacer) * 3) !important; }

   .py-xl-0 { padding-top: 0 !important; padding-bottom: 0 !important; }
   .py-xl-1 { padding-top: calc(var(--bs-spacer) * 0.25) !important; padding-bottom: calc(var(--bs-spacer) * 0.25) !important; }
   .py-xl-2 { padding-top: calc(var(--bs-spacer) * 0.5) !important; padding-bottom: calc(var(--bs-spacer) * 0.5) !important; }
   .py-xl-3 { padding-top: var(--bs-spacer) !important; padding-bottom: var(--bs-spacer) !important; }
   .py-xl-4 { padding-top: calc(var(--bs-spacer) * 1.5) !important; padding-bottom: calc(var(--bs-spacer) * 1.5) !important; }
   .py-xl-5 { padding-top: calc(var(--bs-spacer) * 3) !important; padding-bottom: calc(var(--bs-spacer) * 3) !important; }
}

/* Extra extra large devices (≥1400px) */
@media (min-width: 1400px) {
   /* Display */
   .d-xxl-none { display: none !important; }
   .d-xxl-inline { display: inline !important; }
   .d-xxl-inline-block { display: inline-block !important; }
   .d-xxl-block { display: block !important; }
   .d-xxl-grid { display: grid !important; }
   .d-xxl-inline-grid { display: inline-grid !important; }
   .d-xxl-table { display: table !important; }
   .d-xxl-table-row { display: table-row !important; }
   .d-xxl-table-cell { display: table-cell !important; }
   .d-xxl-flex { display: flex !important; }
   .d-xxl-inline-flex { display: inline-flex !important; }

   /* Direction */
   .flex-xxl-row { flex-direction: row !important; }
   .flex-xxl-row-reverse { flex-direction: row-reverse !important; }
   .flex-xxl-column { flex-direction: column !important; }
   .flex-xxl-column-reverse { flex-direction: column-reverse !important; }

   /* Justify Content */
   .justify-content-xxl-start { justify-content: flex-start !important; }
   .justify-content-xxl-end { justify-content: flex-end !important; }
   .justify-content-xxl-center { justify-content: center !important; }
   .justify-content-xxl-between { justify-content: space-between !important; }
   .justify-content-xxl-around { justify-content: space-around !important; }
   .justify-content-xxl-evenly { justify-content: space-evenly !important; }

   /* Align Items */
   .align-items-xxl-start { align-items: flex-start !important; }
   .align-items-xxl-end { align-items: flex-end !important; }
   .align-items-xxl-center { align-items: center !important; }
   .align-items-xxl-baseline { align-items: baseline !important; }
   .align-items-xxl-stretch { align-items: stretch !important; }

   /* Align Self */
   .align-self-xxl-start { align-self: flex-start !important; }
   .align-self-xxl-end { align-self: flex-end !important; }
   .align-self-xxl-center { align-self: center !important; }
   .align-self-xxl-baseline { align-self: baseline !important; }
   .align-self-xxl-stretch { align-self: stretch !important; }

   /* Fill */
   .flex-xxl-fill { flex: 1 1 auto !important; }

   /* Grow and Shrink */
   .flex-xxl-grow-0 { flex-grow: 0 !important; }
   .flex-xxl-grow-1 { flex-grow: 1 !important; }
   .flex-xxl-shrink-0 { flex-shrink: 0 !important; }
   .flex-xxl-shrink-1 { flex-shrink: 1 !important; }

   /* Order */
   .order-xxl-first { order: -1 !important; }
   .order-xxl-0 { order: 0 !important; }
   .order-xxl-1 { order: 1 !important; }
   .order-xxl-2 { order: 2 !important; }
   .order-xxl-3 { order: 3 !important; }
   .order-xxl-4 { order: 4 !important; }
   .order-xxl-5 { order: 5 !important; }
   .order-xxl-last { order: 6 !important; }

   /* Align Content */
   .align-content-xxl-start { align-content: flex-start !important; }
   .align-content-xxl-end { align-content: flex-end !important; }
   .align-content-xxl-center { align-content: center !important; }
   .align-content-xxl-between { align-content: space-between !important; }
   .align-content-xxl-around { align-content: space-around !important; }
   .align-content-xxl-stretch { align-content: stretch !important; }

   /* Wrap */
   .flex-xxl-wrap { flex-wrap: wrap !important; }
   .flex-xxl-nowrap { flex-wrap: nowrap !important; }
   .flex-xxl-wrap-reverse { flex-wrap: wrap-reverse !important; }

   /* Spacing (Margin/Padding) */
   .m-xxl-0 { margin: 0 !important; }
   .m-xxl-1 { margin: calc(var(--bs-spacer) * 0.25) !important; }
   .m-xxl-2 { margin: calc(var(--bs-spacer) * 0.5) !important; }
   .m-xxl-3 { margin: var(--bs-spacer) !important; }
   .m-xxl-4 { margin: calc(var(--bs-spacer) * 1.5) !important; }
   .m-xxl-5 { margin: calc(var(--bs-spacer) * 3) !important; }
   .m-xxl-auto { margin: auto !important; }

   .mt-xxl-0 { margin-top: 0 !important; }
   .mt-xxl-1 { margin-top: calc(var(--bs-spacer) * 0.25) !important; }
   .mt-xxl-2 { margin-top: calc(var(--bs-spacer) * 0.5) !important; }
   .mt-xxl-3 { margin-top: var(--bs-spacer) !important; }
   .mt-xxl-4 { margin-top: calc(var(--bs-spacer) * 1.5) !important; }
   .mt-xxl-5 { margin-top: calc(var(--bs-spacer) * 3) !important; }
   .mt-xxl-auto { margin-top: auto !important; }

   .mb-xxl-0 { margin-bottom: 0 !important; }
   .mb-xxl-1 { margin-bottom: calc(var(--bs-spacer) * 0.25) !important; }
   .mb-xxl-2 { margin-bottom: calc(var(--bs-spacer) * 0.5) !important; }
   .mb-xxl-3 { margin-bottom: var(--bs-spacer) !important; }
   .mb-xxl-4 { margin-bottom: calc(var(--bs-spacer) * 1.5) !important; }
   .mb-xxl-5 { margin-bottom: calc(var(--bs-spacer) * 3) !important; }
   .mb-xxl-auto { margin-bottom: auto !important; }

   .ms-xxl-0 { margin-left: 0 !important; }
   .ms-xxl-1 { margin-left: calc(var(--bs-spacer) * 0.25) !important; }
   .ms-xxl-2 { margin-left: calc(var(--bs-spacer) * 0.5) !important; }
   .ms-xxl-3 { margin-left: var(--bs-spacer) !important; }
   .ms-xxl-4 { margin-left: calc(var(--bs-spacer) * 1.5) !important; }
   .ms-xxl-5 { margin-left: calc(var(--bs-spacer) * 3) !important; }
   .ms-xxl-auto { margin-left: auto !important; }

   .me-xxl-0 { margin-right: 0 !important; }
   .me-xxl-1 { margin-right: calc(var(--bs-spacer) * 0.25) !important; }
   .me-xxl-2 { margin-right: calc(var(--bs-spacer) * 0.5) !important; }
   .me-xxl-3 { margin-right: var(--bs-spacer) !important; }
   .me-xxl-4 { margin-right: calc(var(--bs-spacer) * 1.5) !important; }
   .me-xxl-5 { margin-right: calc(var(--bs-spacer) * 3) !important; }
   .me-xxl-auto { margin-right: auto !important; }

   .ml-xxl-0 { margin-left: 0 !important; }
   .ml-xxl-1 { margin-left: calc(var(--bs-spacer) * 0.25) !important; }
   .ml-xxl-2 { margin-left: calc(var(--bs-spacer) * 0.5) !important; }
   .ml-xxl-3 { margin-left: var(--bs-spacer) !important; }
   .ml-xxl-4 { margin-left: calc(var(--bs-spacer) * 1.5) !important; }
   .ml-xxl-5 { margin-left: calc(var(--bs-spacer) * 3) !important; }
   .ml-xxl-auto { margin-left: auto !important; }

   .mr-xxl-0 { margin-right: 0 !important; }
   .mr-xxl-1 { margin-right: calc(var(--bs-spacer) * 0.25) !important; }
   .mr-xxl-2 { margin-right: calc(var(--bs-spacer) * 0.5) !important; }
   .mr-xxl-3 { margin-right: var(--bs-spacer) !important; }
   .mr-xxl-4 { margin-right: calc(var(--bs-spacer) * 1.5) !important; }
   .mr-xxl-5 { margin-right: calc(var(--bs-spacer) * 3) !important; }
   .mr-xxl-auto { margin-right: auto !important; }

   .mx-xxl-0 { margin-left: 0 !important; margin-right: 0 !important; }
   .mx-xxl-1 { margin-left: calc(var(--bs-spacer) * 0.25) !important; margin-right: calc(var(--bs-spacer) * 0.25) !important; }
   .mx-xxl-2 { margin-left: calc(var(--bs-spacer) * 0.5) !important; margin-right: calc(var(--bs-spacer) * 0.5) !important; }
   .mx-xxl-3 { margin-left: var(--bs-spacer) !important; margin-right: var(--bs-spacer) !important; }
   .mx-xxl-4 { margin-left: calc(var(--bs-spacer) * 1.5) !important; margin-right: calc(var(--bs-spacer) * 1.5) !important; }
   .mx-xxl-5 { margin-left: calc(var(--bs-spacer) * 3) !important; margin-right: calc(var(--bs-spacer) * 3) !important; }
   .mx-xxl-auto { margin-left: auto !important; margin-right: auto !important; }

   .my-xxl-0 { margin-top: 0 !important; margin-bottom: 0 !important; }
   .my-xxl-1 { margin-top: calc(var(--bs-spacer) * 0.25) !important; margin-bottom: calc(var(--bs-spacer) * 0.25) !important; }
   .my-xxl-2 { margin-top: calc(var(--bs-spacer) * 0.5) !important; margin-bottom: calc(var(--bs-spacer) * 0.5) !important; }
   .my-xxl-3 { margin-top: var(--bs-spacer) !important; margin-bottom: var(--bs-spacer) !important; }
   .my-xxl-4 { margin-top: calc(var(--bs-spacer) * 1.5) !important; margin-bottom: calc(var(--bs-spacer) * 1.5) !important; }
   .my-xxl-5 { margin-top: calc(var(--bs-spacer) * 3) !important; margin-bottom: calc(var(--bs-spacer) * 3) !important; }
   .my-xxl-auto { margin-top: auto !important; margin-bottom: auto !important; }

   .p-xxl-0 { padding: 0 !important; }
   .p-xxl-1 { padding: calc(var(--bs-spacer) * 0.25) !important; }
   .p-xxl-2 { padding: calc(var(--bs-spacer) * 0.5) !important; }
   .p-xxl-3 { padding: var(--bs-spacer) !important; }
   .p-xxl-4 { padding: calc(var(--bs-spacer) * 1.5) !important; }
   .p-xxl-5 { padding: calc(var(--bs-spacer) * 3) !important; }

   .pt-xxl-0 { padding-top: 0 !important; }
   .pt-xxl-1 { padding-top: calc(var(--bs-spacer) * 0.25) !important; }
   .pt-xxl-2 { padding-top: calc(var(--bs-spacer) * 0.5) !important; }
   .pt-xxl-3 { padding-top: var(--bs-spacer) !important; }
   .pt-xxl-4 { padding-top: calc(var(--bs-spacer) * 1.5) !important; }
   .pt-xxl-5 { padding-top: calc(var(--bs-spacer) * 3) !important; }

   .pb-xxl-0 { padding-bottom: 0 !important; }
   .pb-xxl-1 { padding-bottom: calc(var(--bs-spacer) * 0.25) !important; }
   .pb-xxl-2 { padding-bottom: calc(var(--bs-spacer) * 0.5) !important; }
   .pb-xxl-3 { padding-bottom: var(--bs-spacer) !important; }
   .pb-xxl-4 { padding-bottom: calc(var(--bs-spacer) * 1.5) !important; }
   .pb-xxl-5 { padding-bottom: calc(var(--bs-spacer) * 3) !important; }

   .ps-xxl-0 { padding-left: 0 !important; }
   .ps-xxl-1 { padding-left: calc(var(--bs-spacer) * 0.25) !important; }
   .ps-xxl-2 { padding-left: calc(var(--bs-spacer) * 0.5) !important; }
   .ps-xxl-3 { padding-left: var(--bs-spacer) !important; }
   .ps-xxl-4 { padding-left: calc(var(--bs-spacer) * 1.5) !important; }
   .ps-xxl-5 { padding-left: calc(var(--bs-spacer) * 3) !important; }

   .pe-xxl-0 { padding-right: 0 !important; }
   .pe-xxl-1 { padding-right: calc(var(--bs-spacer) * 0.25) !important; }
   .pe-xxl-2 { padding-right: calc(var(--bs-spacer) * 0.5) !important; }
   .pe-xxl-3 { padding-right: var(--bs-spacer) !important; }
   .pe-xxl-4 { padding-right: calc(var(--bs-spacer) * 1.5) !important; }
   .pe-xxl-5 { padding-right: calc(var(--bs-spacer) * 3) !important; }

   .pl-xxl-0 { padding-left: 0 !important; }
   .pl-xxl-1 { padding-left: calc(var(--bs-spacer) * 0.25) !important; }
   .pl-xxl-2 { padding-left: calc(var(--bs-spacer) * 0.5) !important; }
   .pl-xxl-3 { padding-left: var(--bs-spacer) !important; }
   .pl-xxl-4 { padding-left: calc(var(--bs-spacer) * 1.5) !important; }
   .pl-xxl-5 { padding-left: calc(var(--bs-spacer) * 3) !important; }

   .pr-xxl-0 { padding-right: 0 !important; }
   .pr-xxl-1 { padding-right: calc(var(--bs-spacer) * 0.25) !important; }
   .pr-xxl-2 { padding-right: calc(var(--bs-spacer) * 0.5) !important; }
   .pr-xxl-3 { padding-right: var(--bs-spacer) !important; }
   .pr-xxl-4 { padding-right: calc(var(--bs-spacer) * 1.5) !important; }
   .pr-xxl-5 { padding-right: calc(var(--bs-spacer) * 3) !important; }

   .px-xxl-0 { padding-left: 0 !important; padding-right: 0 !important; }
   .px-xxl-1 { padding-left: calc(var(--bs-spacer) * 0.25) !important; padding-right: calc(var(--bs-spacer) * 0.25) !important; }
   .px-xxl-2 { padding-left: calc(var(--bs-spacer) * 0.5) !important; padding-right: calc(var(--bs-spacer) * 0.5) !important; }
   .px-xxl-3 { padding-left: var(--bs-spacer) !important; padding-right: var(--bs-spacer) !important; }
   .px-xxl-4 { padding-left: calc(var(--bs-spacer) * 1.5) !important; padding-right: calc(var(--bs-spacer) * 1.5) !important; }
   .px-xxl-5 { padding-left: calc(var(--bs-spacer) * 3) !important; padding-right: calc(var(--bs-spacer) * 3) !important; }

   .py-xxl-0 { padding-top: 0 !important; padding-bottom: 0 !important; }
   .py-xxl-1 { padding-top: calc(var(--bs-spacer) * 0.25) !important; padding-bottom: calc(var(--bs-spacer) * 0.25) !important; }
   .py-xxl-2 { padding-top: calc(var(--bs-spacer) * 0.5) !important; padding-bottom: calc(var(--bs-spacer) * 0.5) !important; }
   .py-xxl-3 { padding-top: var(--bs-spacer) !important; padding-bottom: var(--bs-spacer) !important; }
   .py-xxl-4 { padding-top: calc(var(--bs-spacer) * 1.5) !important; padding-bottom: calc(var(--bs-spacer) * 1.5) !important; }
   .py-xxl-5 { padding-top: calc(var(--bs-spacer) * 3) !important; padding-bottom: calc(var(--bs-spacer) * 3) !important; }
}