
/* -------------------------
   Flex row Container
------------------------- */
.row {
--bs-gutter-x: 1.5rem;
    --bs-gutter-y: 0;
    display: flex;
    flex-wrap: wrap;
    margin-top: calc(-1 * var(--bs-gutter-y));
    margin-right: calc(-.5 * var(--bs-gutter-x));
    margin-left: calc(-.5 * var(--bs-gutter-x));
}


.row>* {
    flex-shrink: 0;
    width: 100%;
    max-width: 100%;
    padding-right: calc(var(--bs-gutter-x) * .5);
    padding-left: calc(var(--bs-gutter-x) * .5);
    margin-top: var(--bs-gutter-y);
}

.d-flex {display: flex;}


/* ------------------------------------
   Gutter utility classes (matches Bootstrap)
------------------------------------ */

/* Set BOTH x & y gutter */
.g-0  { --bs-gutter-x: 0;       --bs-gutter-y: 0; }
.g-1  { --bs-gutter-x: .25rem;  --bs-gutter-y: .25rem; }
.g-2  { --bs-gutter-x: .5rem;   --bs-gutter-y: .5rem; }
.g-3  { --bs-gutter-x: 1rem;    --bs-gutter-y: 1rem; }
.g-4  { --bs-gutter-x: 1.5rem;  --bs-gutter-y: 1.5rem; }
.g-5  { --bs-gutter-x: 3rem;    --bs-gutter-y: 3rem; } /* like Bootstrap */

 /* Horizontal only */
@media (min-width:600px) {
    .gx-0 { --bs-gutter-x: 0; }
    .gx-025 { --bs-gutter-x: .25rem; }
    .gx-05 { --bs-gutter-x: .5rem; }
    .gx-1 { --bs-gutter-x: 1rem; }
    .gx-15 { --bs-gutter-x: 1.5rem; }
    .gx-2 { --bs-gutter-x: 2.25rem; }
    .gx-3 { --bs-gutter-x: 3rem; } /* big gap (like 5rem) */
    .gx-4 { --bs-gutter-x: 4rem; } 
    .gx-5 { --bs-gutter-x: 5rem; } 
}

 /* Vertical only */
.gy-0 { --bs-gutter-y: 0; }
.gy-1 { --bs-gutter-y: .25rem; }
.gy-2 { --bs-gutter-y: .5rem; }
.gy-3 { --bs-gutter-y: 1rem; }
.gy-4 { --bs-gutter-y: 1.5rem; }
.gy-5 { --bs-gutter-y: 3rem; }



/* Base classes */

    .col-1 {flex: 0 0 auto; width: 8.33333333%;}
    .col-2 {flex: 0 0 auto; width: 16.66666667%;}
    .col-3 {flex: 0 0 auto; width: 25%;}
    .col-4 {flex: 0 0 auto; width: 33.33333333%;}
    .col-5 {flex: 0 0 auto; width: 41.66666667%;}
    .col-6 {flex: 0 0 auto; width: 50%;}
    .col-7 {flex: 0 0 auto; width: 58.33333333%;}
    .col-8 {flex: 0 0 auto; width: 66.66666667%;}
    .col-9 {flex: 0 0 auto; width: 75%;}
    .col-10 {flex: 0 0 auto; width: 83.33333333%;}
    .col-11 {flex: 0 0 auto; width: 91.66666667%;}
    .col-12 {flex: 0 0 auto; width: 100%;}

    .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-6 {order: 6 !important;}

    .offset-1 {margin-left: 8.33333333%;}
    .offset-2 {margin-left: 16.66666667%;}
    .offset-3 {margin-left: 25%;}
    .offset-4 {margin-left: 33.33333333%;}
    .offset-5 {margin-left: 41.66666667%;}
    .offset-6 {margin-left: 50%;}
    .offset-7 {margin-left: 58.33333333%;}
    .offset-8 {margin-left: 66.66666667%;}
    .offset-9 {margin-left: 75%;}
    .offset-10 {margin-left: 83.33333333%;}
    .offset-11 {margin-left: 91.66666667%;}

    .align-content-center {align-content:center;}
    .align-content-end {align-content:flex-end;}
    .align-items-center {align-items:center;}
    .align-items-end {align-items:flex-end;}
    .justify-content-center {justify-content:center;}
    .justify-content-between {justify-content:space-between;}
    .justify-content-end {justify-content:flex-end;}
    .justify-items-end {justify-items:flex-end;}
    .justify-self-center {justify-self:center;}

@media (min-width: 576px) {
    .col-sm-1 {flex: 0 0 auto; width: 8.33333333%;}
    .col-sm-2 {flex: 0 0 auto; width: 16.66666667%;}
    .col-sm-3 {flex: 0 0 auto; width: 25%;}
    .col-sm-4 {flex: 0 0 auto; width: 33.33333333%;}
    .col-sm-5 {flex: 0 0 auto; width: 41.66666667%;}
    .col-sm-6 {flex: 0 0 auto; width: 50%;}
    .col-sm-7 {flex: 0 0 auto; width: 58.33333333%;}
    .col-sm-8 {flex: 0 0 auto; width: 66.66666667%;}
    .col-sm-9 {flex: 0 0 auto; width: 75%;}
    .col-sm-10 {flex: 0 0 auto; width: 83.33333333%;}
    .col-sm-11 {flex: 0 0 auto; width: 91.66666667%;}
    .col-sm-12 {flex: 0 0 auto; width: 100%;}

    .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-6 {order: 6 !important;}

    .offset-sm-1 {margin-left: 8.33333333%;}
    .offset-sm-2 {margin-left: 16.66666667%;}
    .offset-sm-3 {margin-left: 25%;}
    .offset-sm-4 {margin-left: 33.33333333%;}
    .offset-sm-5 {margin-left: 41.66666667%;}
    .offset-sm-6 {margin-left: 50%;}
    .offset-sm-7 {margin-left: 58.33333333%;}
    .offset-sm-8 {margin-left: 66.66666667%;}
    .offset-sm-9 {margin-left: 75%;}
    .offset-sm-10 {margin-left: 83.33333333%;}
    .offset-sm-11 {margin-left: 91.66666667%;}
}

/* Medium screens ≥768px */
@media (min-width: 768px) {
    .col-md-1 {flex: 0 0 auto; width: 8.33333333%;}
    .col-md-2 {flex: 0 0 auto; width: 16.66666667%;}
    .col-md-3 {flex: 0 0 auto; width: 25%;}
    .col-md-4 {flex: 0 0 auto; width: 33.33333333%;}
    .col-md-5 {flex: 0 0 auto; width: 41.66666667%;}
    .col-md-6 {flex: 0 0 auto; width: 50%;}
    .col-md-7 {flex: 0 0 auto; width: 58.33333333%;}
    .col-md-8 {flex: 0 0 auto; width: 66.66666667%;}
    .col-md-9 {flex: 0 0 auto; width: 75%;}
    .col-md-10 {flex: 0 0 auto; width: 83.33333333%;}
    .col-md-11 {flex: 0 0 auto; width: 91.66666667%;}
    .col-md-12 {flex: 0 0 auto; width: 100%;}

    .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-6 {order: 6 !important;}

    .offset-md-1 {margin-left: 8.33333333%;}
    .offset-md-2 {margin-left: 16.66666667%;}
    .offset-md-3 {margin-left: 25%;}
    .offset-md-4 {margin-left: 33.33333333%;}
    .offset-md-5 {margin-left: 41.66666667%;}
    .offset-md-6 {margin-left: 50%;}
    .offset-md-7 {margin-left: 58.33333333%;}
    .offset-md-8 {margin-left: 66.66666667%;}
    .offset-md-9 {margin-left: 75%;}
    .offset-md-10 {margin-left: 83.33333333%;}
    .offset-md-11 {margin-left: 91.66666667%;}
}

/* Large screens ≥992px */
@media (min-width: 992px) {
    .col-lg-1 {flex: 0 0 auto; width: 8.33333333%;}
    .col-lg-2 {flex: 0 0 auto; width: 16.66666667%;}
    .col-lg-3 {flex: 0 0 auto; width: 25%;}
    .col-lg-4 {flex: 0 0 auto; width: 33.33333333%;}
    .col-lg-5 {flex: 0 0 auto; width: 41.66666667%;}
    .col-lg-6 {flex: 0 0 auto; width: 50%;}
    .col-lg-7 {flex: 0 0 auto; width: 58.33333333%;}
    .col-lg-8 {flex: 0 0 auto; width: 66.66666667%;}
    .col-lg-9 {flex: 0 0 auto; width: 75%;}
    .col-lg-10 {flex: 0 0 auto; width: 83.33333333%;}
    .col-lg-11 {flex: 0 0 auto; width: 91.66666667%;}
    .col-lg-12 {flex: 0 0 auto; width: 100%;}

    .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-6 {order: 6 !important;}

    .offset-lg-0 {margin-left: 0;}
    .offset-lg-1 {margin-left: 8.33333333%;}
    .offset-lg-2 {margin-left: 16.66666667%;}
    .offset-lg-3 {margin-left: 25%;}
    .offset-lg-4 {margin-left: 33.33333333%;}
    .offset-lg-5 {margin-left: 41.66666667%;}
    .offset-lg-6 {margin-left: 50%;}
    .offset-lg-7 {margin-left: 58.33333333%;}
    .offset-lg-8 {margin-left: 66.66666667%;}
    .offset-lg-9 {margin-left: 75%;}
    .offset-lg-10 {margin-left: 83.33333333%;}
    .offset-lg-11 {margin-left: 91.66666667%;}

}

/* Extra large screens ≥1200px */
@media (min-width: 1200px) {
    .col-xl-1 {flex: 0 0 auto; width: 8.33333333%;}
    .col-xl-2 {flex: 0 0 auto; width: 16.66666667%;}
    .col-xl-3 {flex: 0 0 auto; width: 25%;}
    .col-xl-4 {flex: 0 0 auto; width: 33.33333333%;}
    .col-xl-5 {flex: 0 0 auto; width: 41.66666667%;}
    .col-xl-6 {flex: 0 0 auto; width: 50%;}
    .col-xl-7 {flex: 0 0 auto; width: 58.33333333%;}
    .col-xl-8 {flex: 0 0 auto; width: 66.66666667%;}
    .col-xl-9 {flex: 0 0 auto; width: 75%;}
    .col-xl-10 {flex: 0 0 auto; width: 83.33333333%;}
    .col-xl-11 {flex: 0 0 auto; width: 91.66666667%;}
    .col-xl-12 {flex: 0 0 auto; width: 100%;}

    .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-6 {order: 6 !important;}

    .offset-xl-1 {margin-left: 8.33333333%;}
    .offset-xl-2 {margin-left: 16.66666667%;}
    .offset-xl-3 {margin-left: 25%;}
    .offset-xl-4 {margin-left: 33.33333333%;}
    .offset-xl-5 {margin-left: 41.66666667%;}
    .offset-xl-6 {margin-left: 50%;}
    .offset-xl-7 {margin-left: 58.33333333%;}
    .offset-xl-8 {margin-left: 66.66666667%;}
    .offset-xl-9 {margin-left: 75%;}
    .offset-xl-10 {margin-left: 83.33333333%;}
    .offset-xl-11 {margin-left: 91.66666667%;}
}

.col-auto {
    flex: 0 0 auto;
    width: auto;
}
