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

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


.grow {
    --bs-gutter-x: 2rem;
    --bs-gutter-y: 0;
    display: flex;
    flex-wrap: wrap;
    margin-left: calc(var(--bs-gutter-x)* -.5);
    margin-right: calc(var(--bs-gutter-x)* -.5);
    margin-top: calc(var(--bs-gutter-y)* -1);
}

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


*, :after, :before {
    box-sizing: border-box;
}

.container, .container-fluid, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
    --bs-gutter-x: 2.5rem;
    --bs-gutter-y: 0;
    margin-left: auto;
    margin-right: auto;
    padding-left: calc(var(--bs-gutter-x)* .5);
    padding-right: calc(var(--bs-gutter-x)* .5);
    width: 100%;
}

.border-top {
    border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}


a {
    color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1));
    text-decoration: none;
}

.col {
    flex: 1 0 0;
}
.row-cols-auto > * {
    flex: 0 0 auto;
    width: auto;
}
.row-cols-1 > * {
    flex: 0 0 auto;
    width: 100%;
}
.row-cols-2 > * {
    flex: 0 0 auto;
    width: 50%;
}
.row-cols-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
}
.row-cols-4 > * {
    flex: 0 0 auto;
    width: 25%;
}
.row-cols-5 > * {
    flex: 0 0 auto;
    width: 20%;
}
.row-cols-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
}
.col-auto {
    flex: 0 0 auto;
    width: auto;
}
.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%;
}
.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%;
}
.g-0,
.gx-0 {
    --bs-gutter-x: 0;
}
.g-0,
.gy-0 {
    --bs-gutter-y: 0;
}
.g-1,
.gx-1 {
    --bs-gutter-x: 0.25rem;
}
.g-1,
.gy-1 {
    --bs-gutter-y: 0.25rem;
}
.g-2,
.gx-2 {
    --bs-gutter-x: 0.5rem;
}
.g-2,
.gy-2 {
    --bs-gutter-y: 0.5rem;
}
.g-3,
.gx-3 {
    --bs-gutter-x: 1rem;
}
.g-3,
.gy-3 {
    --bs-gutter-y: 1rem;
}
.g-4,
.gx-4 {
    --bs-gutter-x: 1.5rem;
}
.g-4,
.gy-4 {
    --bs-gutter-y: 1.5rem;
}
.g-5,
.gx-5 {
    --bs-gutter-x: 2rem;
}
.g-5,
.gy-5 {
    --bs-gutter-y: 2rem;
}
.g-6,
.gx-6 {
    --bs-gutter-x: 2.5rem;
}
.g-6,
.gy-6 {
    --bs-gutter-y: 2.5rem;
}
.g-7,
.gx-7 {
    --bs-gutter-x: 3rem;
}
.g-7,
.gy-7 {
    --bs-gutter-y: 3rem;
}
.g-8,
.gx-8 {
    --bs-gutter-x: 4rem;
}
.g-8,
.gy-8 {
    --bs-gutter-y: 4rem;
}
.g-9,
.gx-9 {
    --bs-gutter-x: 5rem;
}
.g-9,
.gy-9 {
    --bs-gutter-y: 5rem;
}
.g-10,
.gx-10 {
    --bs-gutter-x: 6rem;
}
.g-10,
.gy-10 {
    --bs-gutter-y: 6rem;
}
@media (min-width: 576px) {
    .col-sm {
        flex: 1 0 0;
    }
    .row-cols-sm-auto > * {
        flex: 0 0 auto;
        width: auto;
    }
    .row-cols-sm-1 > * {
        flex: 0 0 auto;
        width: 100%;
    }
    .row-cols-sm-2 > * {
        flex: 0 0 auto;
        width: 50%;
    }
    .row-cols-sm-3 > * {
        flex: 0 0 auto;
        width: 33.33333333%;
    }
    .row-cols-sm-4 > * {
        flex: 0 0 auto;
        width: 25%;
    }
    .row-cols-sm-5 > * {
        flex: 0 0 auto;
        width: 20%;
    }
    .row-cols-sm-6 > * {
        flex: 0 0 auto;
        width: 16.66666667%;
    }
    .col-sm-auto {
        flex: 0 0 auto;
        width: auto;
    }
    .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%;
    }
    .offset-sm-0 {
        margin-left: 0;
    }
    .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%;
    }
    .g-sm-0,
    .gx-sm-0 {
        --bs-gutter-x: 0;
    }
    .g-sm-0,
    .gy-sm-0 {
        --bs-gutter-y: 0;
    }
    .g-sm-1,
    .gx-sm-1 {
        --bs-gutter-x: 0.25rem;
    }
    .g-sm-1,
    .gy-sm-1 {
        --bs-gutter-y: 0.25rem;
    }
    .g-sm-2,
    .gx-sm-2 {
        --bs-gutter-x: 0.5rem;
    }
    .g-sm-2,
    .gy-sm-2 {
        --bs-gutter-y: 0.5rem;
    }
    .g-sm-3,
    .gx-sm-3 {
        --bs-gutter-x: 1rem;
    }
    .g-sm-3,
    .gy-sm-3 {
        --bs-gutter-y: 1rem;
    }
    .g-sm-4,
    .gx-sm-4 {
        --bs-gutter-x: 1.5rem;
    }
    .g-sm-4,
    .gy-sm-4 {
        --bs-gutter-y: 1.5rem;
    }
    .g-sm-5,
    .gx-sm-5 {
        --bs-gutter-x: 2rem;
    }
    .g-sm-5,
    .gy-sm-5 {
        --bs-gutter-y: 2rem;
    }
    .g-sm-6,
    .gx-sm-6 {
        --bs-gutter-x: 2.5rem;
    }
    .g-sm-6,
    .gy-sm-6 {
        --bs-gutter-y: 2.5rem;
    }
    .g-sm-7,
    .gx-sm-7 {
        --bs-gutter-x: 3rem;
    }
    .g-sm-7,
    .gy-sm-7 {
        --bs-gutter-y: 3rem;
    }
    .g-sm-8,
    .gx-sm-8 {
        --bs-gutter-x: 4rem;
    }
    .g-sm-8,
    .gy-sm-8 {
        --bs-gutter-y: 4rem;
    }
    .g-sm-9,
    .gx-sm-9 {
        --bs-gutter-x: 5rem;
    }
    .g-sm-9,
    .gy-sm-9 {
        --bs-gutter-y: 5rem;
    }
    .g-sm-10,
    .gx-sm-10 {
        --bs-gutter-x: 6rem;
    }
    .g-sm-10,
    .gy-sm-10 {
        --bs-gutter-y: 6rem;
    }
}
@media (min-width: 768px) {
    .col-md {
        flex: 1 0 0;
    }
    .row-cols-md-auto > * {
        flex: 0 0 auto;
        width: auto;
    }
    .row-cols-md-1 > * {
        flex: 0 0 auto;
        width: 100%;
    }
    .row-cols-md-2 > * {
        flex: 0 0 auto;
        width: 50%;
    }
    .row-cols-md-3 > * {
        flex: 0 0 auto;
        width: 33.33333333%;
    }
    .row-cols-md-4 > * {
        flex: 0 0 auto;
        width: 25%;
    }
    .row-cols-md-5 > * {
        flex: 0 0 auto;
        width: 20%;
    }
    .row-cols-md-6 > * {
        flex: 0 0 auto;
        width: 16.66666667%;
    }
    .col-md-auto {
        flex: 0 0 auto;
        width: auto;
    }
    .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%;
    }
    .offset-md-0 {
        margin-left: 0;
    }
    .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%;
    }
    .g-md-0,
    .gx-md-0 {
        --bs-gutter-x: 0;
    }
    .g-md-0,
    .gy-md-0 {
        --bs-gutter-y: 0;
    }
    .g-md-1,
    .gx-md-1 {
        --bs-gutter-x: 0.25rem;
    }
    .g-md-1,
    .gy-md-1 {
        --bs-gutter-y: 0.25rem;
    }
    .g-md-2,
    .gx-md-2 {
        --bs-gutter-x: 0.5rem;
    }
    .g-md-2,
    .gy-md-2 {
        --bs-gutter-y: 0.5rem;
    }
    .g-md-3,
    .gx-md-3 {
        --bs-gutter-x: 1rem;
    }
    .g-md-3,
    .gy-md-3 {
        --bs-gutter-y: 1rem;
    }
    .g-md-4,
    .gx-md-4 {
        --bs-gutter-x: 1.5rem;
    }
    .g-md-4,
    .gy-md-4 {
        --bs-gutter-y: 1.5rem;
    }
    .g-md-5,
    .gx-md-5 {
        --bs-gutter-x: 2rem;
    }
    .g-md-5,
    .gy-md-5 {
        --bs-gutter-y: 2rem;
    }
    .g-md-6,
    .gx-md-6 {
        --bs-gutter-x: 2.5rem;
    }
    .g-md-6,
    .gy-md-6 {
        --bs-gutter-y: 2.5rem;
    }
    .g-md-7,
    .gx-md-7 {
        --bs-gutter-x: 3rem;
    }
    .g-md-7,
    .gy-md-7 {
        --bs-gutter-y: 3rem;
    }
    .g-md-8,
    .gx-md-8 {
        --bs-gutter-x: 4rem;
    }
    .g-md-8,
    .gy-md-8 {
        --bs-gutter-y: 4rem;
    }
    .g-md-9,
    .gx-md-9 {
        --bs-gutter-x: 5rem;
    }
    .g-md-9,
    .gy-md-9 {
        --bs-gutter-y: 5rem;
    }
    .g-md-10,
    .gx-md-10 {
        --bs-gutter-x: 6rem;
    }
    .g-md-10,
    .gy-md-10 {
        --bs-gutter-y: 6rem;
    }
}
@media (min-width: 992px) {
    .col-lg {
        flex: 1 0 0;
    }
    .row-cols-lg-auto > * {
        flex: 0 0 auto;
        width: auto;
    }
    .row-cols-lg-1 > * {
        flex: 0 0 auto;
        width: 100%;
    }
    .row-cols-lg-2 > * {
        flex: 0 0 auto;
        width: 50%;
    }
    .row-cols-lg-3 > * {
        flex: 0 0 auto;
        width: 33.33333333%;
    }
    .row-cols-lg-4 > * {
        flex: 0 0 auto;
        width: 25%;
    }
    .row-cols-lg-5 > * {
        flex: 0 0 auto;
        width: 20%;
    }
    .row-cols-lg-6 > * {
        flex: 0 0 auto;
        width: 16.66666667%;
    }
    .col-lg-auto {
        flex: 0 0 auto;
        width: auto;
    }
    .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%;
    }
    .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%;
    }
    .g-lg-0,
    .gx-lg-0 {
        --bs-gutter-x: 0;
    }
    .g-lg-0,
    .gy-lg-0 {
        --bs-gutter-y: 0;
    }
    .g-lg-1,
    .gx-lg-1 {
        --bs-gutter-x: 0.25rem;
    }
    .g-lg-1,
    .gy-lg-1 {
        --bs-gutter-y: 0.25rem;
    }
    .g-lg-2,
    .gx-lg-2 {
        --bs-gutter-x: 0.5rem;
    }
    .g-lg-2,
    .gy-lg-2 {
        --bs-gutter-y: 0.5rem;
    }
    .g-lg-3,
    .gx-lg-3 {
        --bs-gutter-x: 1rem;
    }
    .g-lg-3,
    .gy-lg-3 {
        --bs-gutter-y: 1rem;
    }
    .g-lg-4,
    .gx-lg-4 {
        --bs-gutter-x: 1.5rem;
    }
    .g-lg-4,
    .gy-lg-4 {
        --bs-gutter-y: 1.5rem;
    }
    .g-lg-5,
    .gx-lg-5 {
        --bs-gutter-x: 2rem;
    }
    .g-lg-5,
    .gy-lg-5 {
        --bs-gutter-y: 2rem;
    }
    .g-lg-6,
    .gx-lg-6 {
        --bs-gutter-x: 2.5rem;
    }
    .g-lg-6,
    .gy-lg-6 {
        --bs-gutter-y: 2.5rem;
    }
    .g-lg-7,
    .gx-lg-7 {
        --bs-gutter-x: 3rem;
    }
    .g-lg-7,
    .gy-lg-7 {
        --bs-gutter-y: 3rem;
    }
    .g-lg-8,
    .gx-lg-8 {
        --bs-gutter-x: 4rem;
    }
    .g-lg-8,
    .gy-lg-8 {
        --bs-gutter-y: 4rem;
    }
    .g-lg-9,
    .gx-lg-9 {
        --bs-gutter-x: 5rem;
    }
    .g-lg-9,
    .gy-lg-9 {
        --bs-gutter-y: 5rem;
    }
    .g-lg-10,
    .gx-lg-10 {
        --bs-gutter-x: 6rem;
    }
    .g-lg-10,
    .gy-lg-10 {
        --bs-gutter-y: 6rem;
    }
}
@media (min-width: 1200px) {
    .col-xl {
        flex: 1 0 0;
    }
    .row-cols-xl-auto > * {
        flex: 0 0 auto;
        width: auto;
    }
    .row-cols-xl-1 > * {
        flex: 0 0 auto;
        width: 100%;
    }
    .row-cols-xl-2 > * {
        flex: 0 0 auto;
        width: 50%;
    }
    .row-cols-xl-3 > * {
        flex: 0 0 auto;
        width: 33.33333333%;
    }
    .row-cols-xl-4 > * {
        flex: 0 0 auto;
        width: 25%;
    }
    .row-cols-xl-5 > * {
        flex: 0 0 auto;
        width: 20%;
    }
    .row-cols-xl-6 > * {
        flex: 0 0 auto;
        width: 16.66666667%;
    }
    .col-xl-auto {
        flex: 0 0 auto;
        width: auto;
    }
    .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%;
    }
    .offset-xl-0 {
        margin-left: 0;
    }
    .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%;
    }
    .g-xl-0,
    .gx-xl-0 {
        --bs-gutter-x: 0;
    }
    .g-xl-0,
    .gy-xl-0 {
        --bs-gutter-y: 0;
    }
    .g-xl-1,
    .gx-xl-1 {
        --bs-gutter-x: 0.25rem;
    }
    .g-xl-1,
    .gy-xl-1 {
        --bs-gutter-y: 0.25rem;
    }
    .g-xl-2,
    .gx-xl-2 {
        --bs-gutter-x: 0.5rem;
    }
    .g-xl-2,
    .gy-xl-2 {
        --bs-gutter-y: 0.5rem;
    }
    .g-xl-3,
    .gx-xl-3 {
        --bs-gutter-x: 1rem;
    }
    .g-xl-3,
    .gy-xl-3 {
        --bs-gutter-y: 1rem;
    }
    .g-xl-4,
    .gx-xl-4 {
        --bs-gutter-x: 1.5rem;
    }
    .g-xl-4,
    .gy-xl-4 {
        --bs-gutter-y: 1.5rem;
    }
    .g-xl-5,
    .gx-xl-5 {
        --bs-gutter-x: 2rem;
    }
    .g-xl-5,
    .gy-xl-5 {
        --bs-gutter-y: 2rem;
    }
    .g-xl-6,
    .gx-xl-6 {
        --bs-gutter-x: 2.5rem;
    }
    .g-xl-6,
    .gy-xl-6 {
        --bs-gutter-y: 2.5rem;
    }
    .g-xl-7,
    .gx-xl-7 {
        --bs-gutter-x: 3rem;
    }
    .g-xl-7,
    .gy-xl-7 {
        --bs-gutter-y: 3rem;
    }
    .g-xl-8,
    .gx-xl-8 {
        --bs-gutter-x: 4rem;
    }
    .g-xl-8,
    .gy-xl-8 {
        --bs-gutter-y: 4rem;
    }
    .g-xl-9,
    .gx-xl-9 {
        --bs-gutter-x: 5rem;
    }
    .g-xl-9,
    .gy-xl-9 {
        --bs-gutter-y: 5rem;
    }
    .g-xl-10,
    .gx-xl-10 {
        --bs-gutter-x: 6rem;
    }
    .g-xl-10,
    .gy-xl-10 {
        --bs-gutter-y: 6rem;
    }
}
@media (min-width: 1400px) {
    .col-xxl {
        flex: 1 0 0;
    }
    .row-cols-xxl-auto > * {
        flex: 0 0 auto;
        width: auto;
    }
    .row-cols-xxl-1 > * {
        flex: 0 0 auto;
        width: 100%;
    }
    .row-cols-xxl-2 > * {
        flex: 0 0 auto;
        width: 50%;
    }
    .row-cols-xxl-3 > * {
        flex: 0 0 auto;
        width: 33.33333333%;
    }
    .row-cols-xxl-4 > * {
        flex: 0 0 auto;
        width: 25%;
    }
    .row-cols-xxl-5 > * {
        flex: 0 0 auto;
        width: 20%;
    }
    .row-cols-xxl-6 > * {
        flex: 0 0 auto;
        width: 16.66666667%;
    }
    .col-xxl-auto {
        flex: 0 0 auto;
        width: auto;
    }
    .col-xxl-1 {
        flex: 0 0 auto;
        width: 8.33333333%;
    }
    .col-xxl-2 {
        flex: 0 0 auto;
        width: 16.66666667%;
    }
    .col-xxl-3 {
        flex: 0 0 auto;
        width: 25%;
    }
    .col-xxl-4 {
        flex: 0 0 auto;
        width: 33.33333333%;
    }
    .col-xxl-5 {
        flex: 0 0 auto;
        width: 41.66666667%;
    }
    .col-xxl-6 {
        flex: 0 0 auto;
        width: 50%;
    }
    .col-xxl-7 {
        flex: 0 0 auto;
        width: 58.33333333%;
    }
    .col-xxl-8 {
        flex: 0 0 auto;
        width: 66.66666667%;
    }
    .col-xxl-9 {
        flex: 0 0 auto;
        width: 75%;
    }
    .col-xxl-10 {
        flex: 0 0 auto;
        width: 83.33333333%;
    }
    .col-xxl-11 {
        flex: 0 0 auto;
        width: 91.66666667%;
    }
    .col-xxl-12 {
        flex: 0 0 auto;
        width: 100%;
    }
    .offset-xxl-0 {
        margin-left: 0;
    }
    .offset-xxl-1 {
        margin-left: 8.33333333%;
    }
    .offset-xxl-2 {
        margin-left: 16.66666667%;
    }
    .offset-xxl-3 {
        margin-left: 25%;
    }
    .offset-xxl-4 {
        margin-left: 33.33333333%;
    }
    .offset-xxl-5 {
        margin-left: 41.66666667%;
    }
    .offset-xxl-6 {
        margin-left: 50%;
    }
    .offset-xxl-7 {
        margin-left: 58.33333333%;
    }
    .offset-xxl-8 {
        margin-left: 66.66666667%;
    }
    .offset-xxl-9 {
        margin-left: 75%;
    }
    .offset-xxl-10 {
        margin-left: 83.33333333%;
    }
    .offset-xxl-11 {
        margin-left: 91.66666667%;
    }
    .g-xxl-0,
    .gx-xxl-0 {
        --bs-gutter-x: 0;
    }
    .g-xxl-0,
    .gy-xxl-0 {
        --bs-gutter-y: 0;
    }
    .g-xxl-1,
    .gx-xxl-1 {
        --bs-gutter-x: 0.25rem;
    }
    .g-xxl-1,
    .gy-xxl-1 {
        --bs-gutter-y: 0.25rem;
    }
    .g-xxl-2,
    .gx-xxl-2 {
        --bs-gutter-x: 0.5rem;
    }
    .g-xxl-2,
    .gy-xxl-2 {
        --bs-gutter-y: 0.5rem;
    }
    .g-xxl-3,
    .gx-xxl-3 {
        --bs-gutter-x: 1rem;
    }
    .g-xxl-3,
    .gy-xxl-3 {
        --bs-gutter-y: 1rem;
    }
    .g-xxl-4,
    .gx-xxl-4 {
        --bs-gutter-x: 1.5rem;
    }
    .g-xxl-4,
    .gy-xxl-4 {
        --bs-gutter-y: 1.5rem;
    }
    .g-xxl-5,
    .gx-xxl-5 {
        --bs-gutter-x: 2rem;
    }
    .g-xxl-5,
    .gy-xxl-5 {
        --bs-gutter-y: 2rem;
    }
    .g-xxl-6,
    .gx-xxl-6 {
        --bs-gutter-x: 2.5rem;
    }
    .g-xxl-6,
    .gy-xxl-6 {
        --bs-gutter-y: 2.5rem;
    }
    .g-xxl-7,
    .gx-xxl-7 {
        --bs-gutter-x: 3rem;
    }
    .g-xxl-7,
    .gy-xxl-7 {
        --bs-gutter-y: 3rem;
    }
    .g-xxl-8,
    .gx-xxl-8 {
        --bs-gutter-x: 4rem;
    }
    .g-xxl-8,
    .gy-xxl-8 {
        --bs-gutter-y: 4rem;
    }
    .g-xxl-9,
    .gx-xxl-9 {
        --bs-gutter-x: 5rem;
    }
    .g-xxl-9,
    .gy-xxl-9 {
        --bs-gutter-y: 5rem;
    }
    .g-xxl-10,
    .gx-xxl-10 {
        --bs-gutter-x: 6rem;
    }
    .g-xxl-10,
    .gy-xxl-10 {
        --bs-gutter-y: 6rem;
    }
}

.rounded {
    border-radius: var(--bs-border-radius) !important;
}
.rounded-0 {
    border-radius: 0 !important;
}
.rounded-1 {
    border-radius: var(--bs-border-radius-sm) !important;
}
.rounded-2 {
    border-radius: var(--bs-border-radius) !important;
}
.rounded-3 {
    border-radius: var(--bs-border-radius-lg) !important;
}
.rounded-4 {
    border-radius: var(--bs-border-radius-xl) !important;
}
.rounded-5 {
    border-radius: var(--bs-border-radius-xxl) !important;
}
.rounded-circle {
    border-radius: 50% !important;
}
.rounded-pill {
    border-radius: var(--bs-border-radius-pill) !important;
}
.rounded-top {
    border-top-left-radius: var(--bs-border-radius) !important;
    border-top-right-radius: var(--bs-border-radius) !important;
}
.rounded-top-0 {
    border-top-left-radius: 0 !important;
    border-top-right-radius: 0 !important;
}
.rounded-top-1 {
    border-top-left-radius: var(--bs-border-radius-sm) !important;
    border-top-right-radius: var(--bs-border-radius-sm) !important;
}
.rounded-top-2 {
    border-top-left-radius: var(--bs-border-radius) !important;
    border-top-right-radius: var(--bs-border-radius) !important;
}
.rounded-top-3 {
    border-top-left-radius: var(--bs-border-radius-lg) !important;
    border-top-right-radius: var(--bs-border-radius-lg) !important;
}
.rounded-top-4 {
    border-top-left-radius: var(--bs-border-radius-xl) !important;
    border-top-right-radius: var(--bs-border-radius-xl) !important;
}
.rounded-top-5 {
    border-top-left-radius: var(--bs-border-radius-xxl) !important;
    border-top-right-radius: var(--bs-border-radius-xxl) !important;
}
.rounded-top-circle {
    border-top-left-radius: 50% !important;
    border-top-right-radius: 50% !important;
}
.rounded-top-pill {
    border-top-left-radius: var(--bs-border-radius-pill) !important;
    border-top-right-radius: var(--bs-border-radius-pill) !important;
}
.rounded-end {
    border-bottom-right-radius: var(--bs-border-radius) !important;
    border-top-right-radius: var(--bs-border-radius) !important;
}
.rounded-end-0 {
    border-bottom-right-radius: 0 !important;
    border-top-right-radius: 0 !important;
}
.rounded-end-1 {
    border-bottom-right-radius: var(--bs-border-radius-sm) !important;
    border-top-right-radius: var(--bs-border-radius-sm) !important;
}
.rounded-end-2 {
    border-bottom-right-radius: var(--bs-border-radius) !important;
    border-top-right-radius: var(--bs-border-radius) !important;
}
.rounded-end-3 {
    border-bottom-right-radius: var(--bs-border-radius-lg) !important;
    border-top-right-radius: var(--bs-border-radius-lg) !important;
}
.rounded-end-4 {
    border-bottom-right-radius: var(--bs-border-radius-xl) !important;
    border-top-right-radius: var(--bs-border-radius-xl) !important;
}
.rounded-end-5 {
    border-bottom-right-radius: var(--bs-border-radius-xxl) !important;
    border-top-right-radius: var(--bs-border-radius-xxl) !important;
}
.rounded-end-circle {
    border-bottom-right-radius: 50% !important;
    border-top-right-radius: 50% !important;
}
.rounded-end-pill {
    border-bottom-right-radius: var(--bs-border-radius-pill) !important;
    border-top-right-radius: var(--bs-border-radius-pill) !important;
}
.rounded-bottom {
    border-bottom-left-radius: var(--bs-border-radius) !important;
    border-bottom-right-radius: var(--bs-border-radius) !important;
}
.rounded-bottom-0 {
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}
.rounded-bottom-1 {
    border-bottom-left-radius: var(--bs-border-radius-sm) !important;
    border-bottom-right-radius: var(--bs-border-radius-sm) !important;
}
.rounded-bottom-2 {
    border-bottom-left-radius: var(--bs-border-radius) !important;
    border-bottom-right-radius: var(--bs-border-radius) !important;
}
.rounded-bottom-3 {
    border-bottom-left-radius: var(--bs-border-radius-lg) !important;
    border-bottom-right-radius: var(--bs-border-radius-lg) !important;
}
.rounded-bottom-4 {
    border-bottom-left-radius: var(--bs-border-radius-xl) !important;
    border-bottom-right-radius: var(--bs-border-radius-xl) !important;
}
.rounded-bottom-5 {
    border-bottom-left-radius: var(--bs-border-radius-xxl) !important;
    border-bottom-right-radius: var(--bs-border-radius-xxl) !important;
}
.rounded-bottom-circle {
    border-bottom-left-radius: 50% !important;
    border-bottom-right-radius: 50% !important;
}
.rounded-bottom-pill {
    border-bottom-left-radius: var(--bs-border-radius-pill) !important;
    border-bottom-right-radius: var(--bs-border-radius-pill) !important;
}
.rounded-start {
    border-bottom-left-radius: var(--bs-border-radius) !important;
    border-top-left-radius: var(--bs-border-radius) !important;
}
.rounded-start-0 {
    border-bottom-left-radius: 0 !important;
    border-top-left-radius: 0 !important;
}
.rounded-start-1 {
    border-bottom-left-radius: var(--bs-border-radius-sm) !important;
    border-top-left-radius: var(--bs-border-radius-sm) !important;
}
.rounded-start-2 {
    border-bottom-left-radius: var(--bs-border-radius) !important;
    border-top-left-radius: var(--bs-border-radius) !important;
}
.rounded-start-3 {
    border-bottom-left-radius: var(--bs-border-radius-lg) !important;
    border-top-left-radius: var(--bs-border-radius-lg) !important;
}
.rounded-start-4 {
    border-bottom-left-radius: var(--bs-border-radius-xl) !important;
    border-top-left-radius: var(--bs-border-radius-xl) !important;
}
.rounded-start-5 {
    border-bottom-left-radius: var(--bs-border-radius-xxl) !important;
    border-top-left-radius: var(--bs-border-radius-xxl) !important;
}
.rounded-start-circle {
    border-bottom-left-radius: 50% !important;
    border-top-left-radius: 50% !important;
}
.rounded-start-pill {
    border-bottom-left-radius: var(--bs-border-radius-pill) !important;
    border-top-left-radius: var(--bs-border-radius-pill) !important;
}
.visible {
    visibility: visible !important;
}
.invisible {
    visibility: hidden !important;
}
.card-lift {
    border-radius: 0.75rem;
    transition: transform 0.2s ease-in-out, border-color 0.2s ease-in-out, background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}
.card-lift.active,
.card-lift:focus,
.card-lift:hover {
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05) !important;
    transform: translateY(-0.25rem);
}
.card-primary {
    background-color: var(--bs-gray-100);
    cursor: pointer;
    transition: 0.5s ease-in-out;
}
.card-primary .card-title {
    color: var(--bs-gray-800);
}
.card-primary:hover {
    background-color: var(--bs-primary);
}
.card-primary:hover .card-title {
    color: var(--bs-white);
}
.card-primary:hover .card-text {
    color: var(--bs-gray-100);
}
.card-primary:hover .card-link {
    color: var(--bs-white);
}
.card-hover {
    box-shadow: 0.2s ease-in-out;
    cursor: pointer;
    display: block;
    transition: 0.3s ease-in-out;
}
.card-hover svg {
    fill: var(--bs-gray-400);
}
.card-hover:hover {
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05) !important;
    transform: translateY(-0.25rem);
}
.card-hover:hover span {
    border-color: var(--bs-primary) !important;
}
.card-hover:hover .card-text {
    color: var(--bs-primary);
}
.card-hover:hover svg {
    fill: var(--bs-primary);
}
.card-grid {
    background-position: 100% 100%;
    background-repeat: no-repeat;
    background-size: contain;
    border-top: 2px solid var(--bs-gray-200);
    cursor: pointer;
    display: flex;
    height: 230px;
    justify-content: space-between;
    position: relative;
    transition: all 0.3s ease;
}
.card-grid .card-grid-inner {
    background: none;
    padding: 24px;
    position: absolute;
    transition: all 0.3s ease;
    width: 100%;
    z-index: 2;
}
@media (min-width: 990px) {
    .card-grid .card-grid-heading {
        max-width: 50%;
    }
}
.card-grid .card-grid-text {
    opacity: 0;
    transition: all 0.3s ease;
    visibility: hidden;
}
.card-grid .card-grid-image {
    height: auto;
    margin: 24px 0;
    position: absolute;
    right: 0;
    width: 210px;
}
@media (min-width: 990px) {
    .card-grid:hover {
        border-top-color: var(--bs-primary);
        border-width: 2px;
        z-index: 3;
    }
    .card-grid:hover .card-grid-inner {
        background-color: var(--bs-white);
        box-shadow: 0 0.5rem 1rem rgba(2, 6, 23, 0.15);
    }
    .card-grid:hover .card-grid-image {
        opacity: 0;
        visibility: hidden;
    }
    .card-grid:hover .card-grid-text {
        opacity: 1;
        visibility: visible;
    }
}
@media (max-width: 990px) {
    .card-grid {
        height: auto;
    }
    .card-grid .card-grid-inner {
        position: relative;
    }
    .card-grid .card-grid-image,
    .card-grid .card-grid-text {
        display: none;
        opacity: 0;
        visibility: hidden;
    }
}
.card-gradient {
    overflow: hidden;
    position: relative;
    transition: transform 0.3s ease-in-out;
}
.card-gradient:hover {
    transform: translateY(-5px);
}
.card-gradient:before {
    background: linear-gradient(1turn, #833ab4 2%, #bc2d71 18%, transparent 61%);
    content: "";
    height: 100%;
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    transition: opacity 0.3s ease-in-out;
    width: 100%;
}
.card-gradient:hover:before {
    opacity: 1;
}
.card-gradient .card-body {
    color: #64748b;
    position: relative;
    z-index: 1;
}

:root, [data-bs-theme=light] {
    --bs-blue: #8b3dff;
    --bs-indigo: #6610f2;
    --bs-purple: #6f42c1;
    --bs-pink: #d63384;
    --bs-red: #db1436;
    --bs-orange: #fd7e14;
    --bs-yellow: #ffc107;
    --bs-green: #008008;
    --bs-teal: #20c997;
    --bs-cyan: #0dcaf0;
    --bs-black: #020617;
    --bs-gray: #475569;
    --bs-gray-dark: #1e293b;
    --bs-gray-100: #f1f5f9;
    --bs-gray-200: #e2e8f0;
    --bs-gray-300: #cbd5e1;
    --bs-gray-400: #94a3b8;
    --bs-gray-500: #64748b;
    --bs-gray-600: #475569;
    --bs-gray-700: #334155;
    --bs-gray-800: #1e293b;
    --bs-gray-900: #0f172a;
    --bs-primary: #8b3dff;
    --bs-secondary: #e2e8f0;
    --bs-success: #008008;
    --bs-info: #0dcaf0;
    --bs-warning: #ffc107;
    --bs-danger: #db1436;
    --bs-light: #f1f5f9;
    --bs-dark: #0f172a;
    --bs-white: #fff;
    --bs-primary-rgb: 139, 61, 255;
    --bs-secondary-rgb: 226, 232, 240;
    --bs-success-rgb: 0, 128, 8;
    --bs-info-rgb: 13, 202, 240;
    --bs-warning-rgb: 255, 193, 7;
    --bs-danger-rgb: 219, 20, 54;
    --bs-light-rgb: 241, 245, 249;
    --bs-dark-rgb: 15, 23, 42;
    --bs-primary-text-emphasis: #381866;
    --bs-secondary-text-emphasis: #5a5d60;
    --bs-success-text-emphasis: #003303;
    --bs-info-text-emphasis: #055160;
    --bs-warning-text-emphasis: #664d03;
    --bs-danger-text-emphasis: #580816;
    --bs-light-text-emphasis: #334155;
    --bs-dark-text-emphasis: #334155;
    --bs-primary-bg-subtle: #e8d8ff;
    --bs-secondary-bg-subtle: #f9fafc;
    --bs-success-bg-subtle: #cce6ce;
    --bs-info-bg-subtle: #cff4fc;
    --bs-warning-bg-subtle: #fff3cd;
    --bs-danger-bg-subtle: #f8d0d7;
    --bs-light-bg-subtle: #f8fafc;
    --bs-dark-bg-subtle: #94a3b8;
    --bs-primary-border-subtle: #d1b1ff;
    --bs-secondary-border-subtle: #f3f6f9;
    --bs-success-border-subtle: #99cc9c;
    --bs-info-border-subtle: #9eeaf9;
    --bs-warning-border-subtle: #ffe69c;
    --bs-danger-border-subtle: #f1a1af;
    --bs-light-border-subtle: #e2e8f0;
    --bs-dark-border-subtle: #64748b;
    --bs-white-rgb: 255, 255, 255;
    --bs-black-rgb: 2, 6, 23;
    --bs-font-sans-serif: "Public Sans", sans-serif;
    --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    --bs-gradient: linear-gradient(180deg, hsla(0, 0%, 100%, .15), hsla(0, 0%, 100%, 0));
    --bs-body-font-family: var(--bs-font-sans-serif);
    --bs-body-font-size: 1rem;
    --bs-body-font-weight: 400;
    --bs-body-line-height: 1.5;
    --bs-body-color: #64748b;
    --bs-body-color-rgb: 100, 116, 139;
    --bs-body-bg: #fff;
    --bs-body-bg-rgb: 255, 255, 255;
    --bs-emphasis-color: #020617;
    --bs-emphasis-color-rgb: 2, 6, 23;
    --bs-secondary-color: rgba(100, 116, 139, .75);
    --bs-secondary-color-rgb: 100, 116, 139;
    --bs-secondary-bg: #e2e8f0;
    --bs-secondary-bg-rgb: 226, 232, 240;
    --bs-tertiary-color: rgba(100, 116, 139, .5);
    --bs-tertiary-color-rgb: 100, 116, 139;
    --bs-tertiary-bg: #f1f5f9;
    --bs-tertiary-bg-rgb: 241, 245, 249;
    --bs-heading-color: var(--bs-gray-800);
    --bs-link-color: #8b3dff;
    --bs-link-color-rgb: 139, 61, 255;
    --bs-link-decoration: none;
    --bs-link-hover-color: #6f31cc;
    --bs-link-hover-color-rgb: 111, 49, 204;
    --bs-code-color: #d63384;
    --bs-highlight-color: #64748b;
    --bs-highlight-bg: #fff3cd;
    --bs-border-width: 1px;
    --bs-border-style: solid;
    --bs-border-color: #e2e8f0;
    --bs-border-color-translucent: #e2e8f0;
    --bs-border-radius: 0.5rem;
    --bs-border-radius-sm: 0.25rem;
    --bs-border-radius-lg: 0.75rem;
    --bs-border-radius-xl: 1rem;
    --bs-border-radius-xxl: 2rem;
    --bs-border-radius-2xl: var(--bs-border-radius-xxl);
    --bs-border-radius-pill: 50rem;
    --bs-box-shadow: 0 0.5rem 1rem rgba(2, 6, 23, .15);
    --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(2, 6, 23, .075);
    --bs-box-shadow-lg: 0 1rem 3rem rgba(2, 6, 23, .175);
    --bs-box-shadow-inset: inset 0 1px 2px rgba(2, 6, 23, .075);
    --bs-focus-ring-width: 0.25rem;
    --bs-focus-ring-opacity: 0.25;
    --bs-focus-ring-color: rgba(139, 61, 255, .25);
    --bs-form-valid-color: #008008;
    --bs-form-valid-border-color: #008008;
    --bs-form-invalid-color: #db1436;
    --bs-form-invalid-border-color: #db1436;
}