.container {
    margin-right: auto;
    margin-left: auto;
    padding-right: 2rem;
    padding-left: 2rem;
}

.container-fluid {
    margin-right: auto;
    margin-left: auto;
    padding-right: 1rem;
    padding-left: 1rem;
}

.row {
    box-sizing: border-box;
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex: 0 1 auto;
    -webkit-box-flex: 0;
    flex: 0 1 auto;
    -ms-flex-direction: row;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    flex-direction: row;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.row.reverse {
    -ms-flex-direction: row-reverse;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    flex-direction: row-reverse;
}

.col.reverse {
    -ms-flex-direction: column-reverse;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    flex-direction: column-reverse;
}

@media only screen and (max-width: 576px) {
    .col-xs,
    .col-xs-1,
    .col-xs-2,
    .col-xs-3,
    .col-xs-4,
    .col-xs-5,
    .col-xs-6,
    .col-xs-7,
    .col-xs-8,
    .col-xs-9,
    .col-xs-10,
    .col-xs-11,
    .col-xs-12 {
        box-sizing: border-box;
        -ms-flex: 0 0 auto;
        -webkit-box-flex: 0;
        flex: 0 0 auto;
        padding-right: 1rem;
        padding-left: 1rem;
    }
    .col-xs {
        -webkit-flex-grow: 1;
        -ms-flex-positive: 1;
        -webkit-box-flex: 1;
        flex-grow: 1;
        -ms-flex-preferred-size: 0;
        flex-basis: 0;
        max-width: 100%;
    }
    .col-xs-1 {
        -ms-flex-preferred-size: 8.333%;
        flex-basis: 8.333%;
        max-width: 8.333%;
    }
    .col-xs-2 {
        -ms-flex-preferred-size: 16.667%;
        flex-basis: 16.667%;
        max-width: 16.667%;
    }
    .col-xs-3 {
        -ms-flex-preferred-size: 25%;
        flex-basis: 25%;
        max-width: 25%;
    }
    .col-xs-4 {
        -ms-flex-preferred-size: 33.333%;
        flex-basis: 33.333%;
        max-width: 33.333%;
    }
    .col-xs-5 {
        -ms-flex-preferred-size: 41.667%;
        flex-basis: 41.667%;
        max-width: 41.667%;
    }
    .col-xs-6 {
        -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
        max-width: 50%;
    }
    .col-xs-7 {
        -ms-flex-preferred-size: 58.333%;
        flex-basis: 58.333%;
        max-width: 58.333%;
    }
    .col-xs-8 {
        -ms-flex-preferred-size: 66.667%;
        flex-basis: 66.667%;
        max-width: 66.667%;
    }
    .col-xs-9 {
        -ms-flex-preferred-size: 75%;
        flex-basis: 75%;
        max-width: 75%;
    }
    .col-xs-10 {
        -ms-flex-preferred-size: 83.333%;
        flex-basis: 83.333%;
        max-width: 83.333%;
    }
    .col-xs-11 {
        -ms-flex-preferred-size: 91.667%;
        flex-basis: 91.667%;
        max-width: 91.667%;
    }
    .col-xs-12 {
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        max-width: 100%;
    }
    .col-xs-offset-1 {
        margin-left: 8.333%;
    }
    .col-xs-offset-2 {
        margin-left: 16.667%;
    }
    .col-xs-offset-3 {
        margin-left: 25%;
    }
    .col-xs-offset-4 {
        margin-left: 33.333%;
    }
    .col-xs-offset-5 {
        margin-left: 41.667%;
    }
    .col-xs-offset-6 {
        margin-left: 50%;
    }
    .col-xs-offset-7 {
        margin-left: 58.333%;
    }
    .col-xs-offset-8 {
        margin-left: 66.667%;
    }
    .col-xs-offset-9 {
        margin-left: 75%;
    }
    .col-xs-offset-10 {
        margin-left: 83.333%;
    }
    .col-xs-offset-11 {
        margin-left: 91.667%;
    }
    .start-xs {
        -ms-flex-pack: start;
        -webkit-box-pack: start;
        justify-content: flex-start;
        text-align: start;
    }
    .center-xs {
        -ms-flex-pack: center;
        -webkit-box-pack: center;
        justify-content: center;
        text-align: center;
    }
    .end-xs {
        -ms-flex-pack: end;
        -webkit-box-pack: end;
        justify-content: flex-end;
        text-align: end;
    }
    .top-xs {
        -ms-flex-align: start;
        -webkit-box-align: start;
        align-items: flex-start;
    }
    .middle-xs {
        -ms-flex-align: center;
        -webkit-box-align: center;
        align-items: center;
    }
    .bottom-xs {
        -ms-flex-align: end;
        -webkit-box-align: end;
        align-items: flex-end;
    }
    .around-xs {
        -ms-flex-pack: distribute;
        justify-content: space-around;
    }
    .between-xs {
        -ms-flex-pack: justify;
        -webkit-box-pack: justify;
        justify-content: space-between;
    }
    .first-xs {
        -ms-flex-order: -1;
        -webkit-box-ordinal-group: 0;
        order: -1;
    }
    .last-xs {
        -ms-flex-order: 1;
        -webkit-box-ordinal-group: 2;
        order: 1;
    }
    .order-xs-0 {
        order: 0;
    }
    .order-xs-1 {
        order: 1;
    }
    .order-xs-2 {
        order: 2;
    }
    .order-xs-3 {
        order: 3;
    }
    .order-xs-4 {
        order: 4;
    }
    .order-xs-5 {
        order: 5;
    }
    .order-xs-6 {
        order: 6;
    }
    .order-xs-7 {
        order: 7;
    }
    .order-xs-8 {
        order: 8;
    }
    .order-xs-9 {
        order: 9;
    }
    .order-xs-10 {
        order: 10;
    }
    .order-xs-11 {
        order: 11;
    }
    .order-xs-12 {
        order: 12;
    }
    .tf-xs-grid-1 {
        grid-template-columns: repeat(1, 1fr);
    }
    .tf-xs-grid-2 {
        grid-template-columns: repeat(2, 1fr);
    }
    .tf-xs-grid-3 {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media only screen and (min-width: 577px) and (max-width: 767px) {
    .container {
        width: 46rem;
    }
    .col-sm,
    .col-sm-1,
    .col-sm-2,
    .col-sm-3,
    .col-sm-4,
    .col-sm-5,
    .col-sm-6,
    .col-sm-7,
    .col-sm-8,
    .col-sm-9,
    .col-sm-10,
    .col-sm-11,
    .col-sm-12 {
        box-sizing: border-box;
        -ms-flex: 0 0 auto;
        -webkit-box-flex: 0;
        flex: 0 0 auto;
        padding-right: 1rem;
        padding-left: 1rem;
    }
    .col-sm {
        -webkit-flex-grow: 1;
        -ms-flex-positive: 1;
        -webkit-box-flex: 1;
        flex-grow: 1;
        -ms-flex-preferred-size: 0;
        flex-basis: 0;
        max-width: 100%;
    }
    .col-sm-1 {
        -ms-flex-preferred-size: 8.333%;
        flex-basis: 8.333%;
        max-width: 8.333%;
    }
    .col-sm-2 {
        -ms-flex-preferred-size: 16.667%;
        flex-basis: 16.667%;
        max-width: 16.667%;
    }
    .col-sm-3 {
        -ms-flex-preferred-size: 25%;
        flex-basis: 25%;
        max-width: 25%;
    }
    .col-sm-4 {
        -ms-flex-preferred-size: 33.333%;
        flex-basis: 33.333%;
        max-width: 33.333%;
    }
    .col-sm-5 {
        -ms-flex-preferred-size: 41.667%;
        flex-basis: 41.667%;
        max-width: 41.667%;
    }
    .col-sm-6 {
        -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
        max-width: 50%;
    }
    .col-sm-7 {
        -ms-flex-preferred-size: 58.333%;
        flex-basis: 58.333%;
        max-width: 58.333%;
    }
    .col-sm-8 {
        -ms-flex-preferred-size: 66.667%;
        flex-basis: 66.667%;
        max-width: 66.667%;
    }
    .col-sm-9 {
        -ms-flex-preferred-size: 75%;
        flex-basis: 75%;
        max-width: 75%;
    }
    .col-sm-10 {
        -ms-flex-preferred-size: 83.333%;
        flex-basis: 83.333%;
        max-width: 83.333%;
    }
    .col-sm-11 {
        -ms-flex-preferred-size: 91.667%;
        flex-basis: 91.667%;
        max-width: 91.667%;
    }
    .col-sm-12 {
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        max-width: 100%;
    }
    .col-sm-offset-1 {
        margin-left: 8.333%;
    }
    .col-sm-offset-2 {
        margin-left: 16.667%;
    }
    .col-sm-offset-3 {
        margin-left: 25%;
    }
    .col-sm-offset-4 {
        margin-left: 33.333%;
    }
    .col-sm-offset-5 {
        margin-left: 41.667%;
    }
    .col-sm-offset-6 {
        margin-left: 50%;
    }
    .col-sm-offset-7 {
        margin-left: 58.333%;
    }
    .col-sm-offset-8 {
        margin-left: 66.667%;
    }
    .col-sm-offset-9 {
        margin-left: 75%;
    }
    .col-sm-offset-10 {
        margin-left: 83.333%;
    }
    .col-sm-offset-11 {
        margin-left: 91.667%;
    }
    .start-sm {
        -ms-flex-pack: start;
        -webkit-box-pack: start;
        justify-content: flex-start;
        text-align: start;
    }
    .center-sm {
        -ms-flex-pack: center;
        -webkit-box-pack: center;
        justify-content: center;
        text-align: center;
    }
    .end-sm {
        -ms-flex-pack: end;
        -webkit-box-pack: end;
        justify-content: flex-end;
        text-align: end;
    }
    .top-sm {
        -ms-flex-align: start;
        -webkit-box-align: start;
        align-items: flex-start;
    }
    .middle-sm {
        -ms-flex-align: center;
        -webkit-box-align: center;
        align-items: center;
    }
    .bottom-sm {
        -ms-flex-align: end;
        -webkit-box-align: end;
        align-items: flex-end;
    }
    .around-sm {
        -ms-flex-pack: distribute;
        justify-content: space-around;
    }
    .between-sm {
        -ms-flex-pack: justify;
        -webkit-box-pack: justify;
        justify-content: space-between;
    }
    .first-sm {
        -ms-flex-order: -1;
        -webkit-box-ordinal-group: 0;
        order: -1;
    }
    .last-sm {
        -ms-flex-order: 1;
        -webkit-box-ordinal-group: 2;
        order: 1;
    }
    .tf-sm-grid-1 {
        grid-template-columns: repeat(1, 1fr);
    }
    .tf-sm-grid-2 {
        grid-template-columns: repeat(2, 1fr);
    }
    .tf-sm-grid-3 {
        grid-template-columns: repeat(3, 1fr);
    }
    .tf-sm-grid-4 {
        grid-template-columns: repeat(4, 1fr);
    }
    .tf-sm-grid-5 {
        grid-template-columns: repeat(5, 1fr);
    }
    .tf-sm-grid-6 {
        grid-template-columns: repeat(6, 1fr);
    }
    .tf-sm-grid-7 {
        grid-template-columns: repeat(7, 1fr);
    }
    .tf-sm-grid-8 {
        grid-template-columns: repeat(8, 1fr);
    }
    .tf-sm-grid-9 {
        grid-template-columns: repeat(9, 1fr);
    }
    .tf-sm-grid-10 {
        grid-template-columns: repeat(10, 1fr);
    }
    .order-sm-0 {
        order: 0;
    }
    .order-sm-1 {
        order: 1;
    }
    .order-sm-2 {
        order: 2;
    }
    .order-sm-3 {
        order: 3;
    }
    .order-sm-4 {
        order: 4;
    }
    .order-sm-5 {
        order: 5;
    }
    .order-sm-6 {
        order: 6;
    }
    .order-sm-7 {
        order: 7;
    }
    .order-sm-8 {
        order: 8;
    }
    .order-sm-9 {
        order: 9;
    }
    .order-sm-10 {
        order: 10;
    }
    .order-sm-11 {
        order: 11;
    }
    .order-sm-12 {
        order: 12;
    }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
    .container {
        width: 61rem;
    }
    .col-md,
    .col-md-1,
    .col-md-2,
    .col-md-3,
    .col-md-4,
    .col-md-5,
    .col-md-6,
    .col-md-7,
    .col-md-8,
    .col-md-9,
    .col-md-10,
    .col-md-11,
    .col-md-12 {
        box-sizing: border-box;
        -ms-flex: 0 0 auto;
        -webkit-box-flex: 0;
        flex: 0 0 auto;
        padding-right: 1rem;
        padding-left: 1rem;
    }
    .col-md {
        -webkit-flex-grow: 1;
        -ms-flex-positive: 1;
        -webkit-box-flex: 1;
        flex-grow: 1;
        -ms-flex-preferred-size: 0;
        flex-basis: 0;
        max-width: 100%;
    }
    .col-md-1 {
        -ms-flex-preferred-size: 8.333%;
        flex-basis: 8.333%;
        max-width: 8.333%;
    }
    .col-md-2 {
        -ms-flex-preferred-size: 16.667%;
        flex-basis: 16.667%;
        max-width: 16.667%;
    }
    .col-md-3 {
        -ms-flex-preferred-size: 25%;
        flex-basis: 25%;
        max-width: 25%;
    }
    .col-md-4 {
        -ms-flex-preferred-size: 33.333%;
        flex-basis: 33.333%;
        max-width: 33.333%;
    }
    .col-md-5 {
        -ms-flex-preferred-size: 41.667%;
        flex-basis: 41.667%;
        max-width: 41.667%;
    }
    .col-md-6 {
        -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
        max-width: 50%;
    }
    .col-md-7 {
        -ms-flex-preferred-size: 58.333%;
        flex-basis: 58.333%;
        max-width: 58.333%;
    }
    .col-md-8 {
        -ms-flex-preferred-size: 66.667%;
        flex-basis: 66.667%;
        max-width: 66.667%;
    }
    .col-md-9 {
        -ms-flex-preferred-size: 75%;
        flex-basis: 75%;
        max-width: 75%;
    }
    .col-md-10 {
        -ms-flex-preferred-size: 83.333%;
        flex-basis: 83.333%;
        max-width: 83.333%;
    }
    .col-md-11 {
        -ms-flex-preferred-size: 91.667%;
        flex-basis: 91.667%;
        max-width: 91.667%;
    }
    .col-md-12 {
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        max-width: 100%;
    }
    .col-md-offset-1 {
        margin-left: 8.333%;
    }
    .col-md-offset-2 {
        margin-left: 16.667%;
    }
    .col-md-offset-3 {
        margin-left: 25%;
    }
    .col-md-offset-4 {
        margin-left: 33.333%;
    }
    .col-md-offset-5 {
        margin-left: 41.667%;
    }
    .col-md-offset-6 {
        margin-left: 50%;
    }
    .col-md-offset-7 {
        margin-left: 58.333%;
    }
    .col-md-offset-8 {
        margin-left: 66.667%;
    }
    .col-md-offset-9 {
        margin-left: 75%;
    }
    .col-md-offset-10 {
        margin-left: 83.333%;
    }
    .col-md-offset-11 {
        margin-left: 91.667%;
    }
    .start-md {
        -ms-flex-pack: start;
        -webkit-box-pack: start;
        justify-content: flex-start;
        text-align: start;
    }
    .center-md {
        -ms-flex-pack: center;
        -webkit-box-pack: center;
        justify-content: center;
        text-align: center;
    }
    .end-md {
        -ms-flex-pack: end;
        -webkit-box-pack: end;
        justify-content: flex-end;
        text-align: end;
    }
    .top-md {
        -ms-flex-align: start;
        -webkit-box-align: start;
        align-items: flex-start;
    }
    .middle-md {
        -ms-flex-align: center;
        -webkit-box-align: center;
        align-items: center;
    }
    .bottom-md {
        -ms-flex-align: end;
        -webkit-box-align: end;
        align-items: flex-end;
    }
    .around-md {
        -ms-flex-pack: distribute;
        justify-content: space-around;
    }
    .between-md {
        -ms-flex-pack: justify;
        -webkit-box-pack: justify;
        justify-content: space-between;
    }
    .first-md {
        -ms-flex-order: -1;
        -webkit-box-ordinal-group: 0;
        order: -1;
    }
    .last-md {
        -ms-flex-order: 1;
        -webkit-box-ordinal-group: 2;
        order: 1;
    }
    .tf-md-grid-1 {
        grid-template-columns: repeat(1, 1fr);
    }
    .tf-md-grid-2 {
        grid-template-columns: repeat(2, 1fr);
    }
    .tf-md-grid-3 {
        grid-template-columns: repeat(3, 1fr);
    }
    .tf-md-grid-4 {
        grid-template-columns: repeat(4, 1fr);
    }
    .tf-md-grid-5 {
        grid-template-columns: repeat(5, 1fr);
    }
    .tf-md-grid-6 {
        grid-template-columns: repeat(6, 1fr);
    }
    .tf-md-grid-7 {
        grid-template-columns: repeat(7, 1fr);
    }
    .tf-md-grid-8 {
        grid-template-columns: repeat(8, 1fr);
    }
    .tf-md-grid-9 {
        grid-template-columns: repeat(9, 1fr);
    }
    .tf-md-grid-10 {
        grid-template-columns: repeat(10, 1fr);
    }
    .order-md-0 {
        order: 0;
    }
    .order-md-1 {
        order: 1;
    }
    .order-md-2 {
        order: 2;
    }
    .order-md-3 {
        order: 3;
    }
    .order-md-4 {
        order: 4;
    }
    .order-md-5 {
        order: 5;
    }
    .order-md-6 {
        order: 6;
    }
    .order-md-7 {
        order: 7;
    }
    .order-md-8 {
        order: 8;
    }
    .order-md-9 {
        order: 9;
    }
    .order-md-10 {
        order: 10;
    }
    .order-md-11 {
        order: 11;
    }
    .order-md-12 {
        order: 12;
    }
}

@media only screen and (min-width: 992px) {
    .container {
        width: 71rem;
    }
    .col-lg,
    .col-lg-1,
    .col-lg-2,
    .col-lg-3,
    .col-lg-4,
    .col-lg-5,
    .col-lg-6,
    .col-lg-7,
    .col-lg-8,
    .col-lg-9,
    .col-lg-10,
    .col-lg-11,
    .col-lg-12 {
        box-sizing: border-box;
        -ms-flex: 0 0 auto;
        -webkit-box-flex: 0;
        flex: 0 0 auto;
        padding-right: 1rem;
        padding-left: 1rem;
    }
    .col-lg {
        -webkit-flex-grow: 1;
        -ms-flex-positive: 1;
        -webkit-box-flex: 1;
        flex-grow: 1;
        -ms-flex-preferred-size: 0;
        flex-basis: 0;
        max-width: 100%;
    }
    .col-lg-1 {
        -ms-flex-preferred-size: 8.333%;
        flex-basis: 8.333%;
        max-width: 8.333%;
    }
    .col-lg-2 {
        -ms-flex-preferred-size: 16.667%;
        flex-basis: 16.667%;
        max-width: 16.667%;
    }
    .col-lg-3 {
        -ms-flex-preferred-size: 25%;
        flex-basis: 25%;
        max-width: 25%;
    }
    .col-lg-4 {
        -ms-flex-preferred-size: 33.333%;
        flex-basis: 33.333%;
        max-width: 33.333%;
    }
    .col-lg-5 {
        -ms-flex-preferred-size: 41.667%;
        flex-basis: 41.667%;
        max-width: 41.667%;
    }
    .col-lg-6 {
        -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
        max-width: 50%;
    }
    .col-lg-7 {
        -ms-flex-preferred-size: 58.333%;
        flex-basis: 58.333%;
        max-width: 58.333%;
    }
    .col-lg-8 {
        -ms-flex-preferred-size: 66.667%;
        flex-basis: 66.667%;
        max-width: 66.667%;
    }
    .col-lg-9 {
        -ms-flex-preferred-size: 75%;
        flex-basis: 75%;
        max-width: 75%;
    }
    .col-lg-10 {
        -ms-flex-preferred-size: 83.333%;
        flex-basis: 83.333%;
        max-width: 83.333%;
    }
    .col-lg-11 {
        -ms-flex-preferred-size: 91.667%;
        flex-basis: 91.667%;
        max-width: 91.667%;
    }
    .col-lg-12 {
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        max-width: 100%;
    }
    .col-lg-offset-1 {
        margin-left: 8.333%;
    }
    .col-lg-offset-2 {
        margin-left: 16.667%;
    }
    .col-lg-offset-3 {
        margin-left: 25%;
    }
    .col-lg-offset-4 {
        margin-left: 33.333%;
    }
    .col-lg-offset-5 {
        margin-left: 41.667%;
    }
    .col-lg-offset-6 {
        margin-left: 50%;
    }
    .col-lg-offset-7 {
        margin-left: 58.333%;
    }
    .col-lg-offset-8 {
        margin-left: 66.667%;
    }
    .col-lg-offset-9 {
        margin-left: 75%;
    }
    .col-lg-offset-10 {
        margin-left: 83.333%;
    }
    .col-lg-offset-11 {
        margin-left: 91.667%;
    }
    .start-lg {
        -ms-flex-pack: start;
        -webkit-box-pack: start;
        justify-content: flex-start;
        text-align: start;
    }
    .center-lg {
        -ms-flex-pack: center;
        -webkit-box-pack: center;
        justify-content: center;
        text-align: center;
    }
    .end-lg {
        -ms-flex-pack: end;
        -webkit-box-pack: end;
        justify-content: flex-end;
        text-align: end;
    }
    .top-lg {
        -ms-flex-align: start;
        -webkit-box-align: start;
        align-items: flex-start;
    }
    .middle-lg {
        -ms-flex-align: center;
        -webkit-box-align: center;
        align-items: center;
    }
    .bottom-lg {
        -ms-flex-align: end;
        -webkit-box-align: end;
        align-items: flex-end;
    }
    .around-lg {
        -ms-flex-pack: distribute;
        justify-content: space-around;
    }
    .between-lg {
        -ms-flex-pack: justify;
        -webkit-box-pack: justify;
        justify-content: space-between;
    }
    .first-lg {
        -ms-flex-order: -1;
        -webkit-box-ordinal-group: 0;
        order: -1;
    }
    .last-lg {
        -ms-flex-order: 1;
        -webkit-box-ordinal-group: 2;
        order: 1;
    }
    .tf-lg-grid-1 {
        grid-template-columns: repeat(1, 1fr);
    }
    .tf-lg-grid-2 {
        grid-template-columns: repeat(2, 1fr);
    }
    .tf-lg-grid-3 {
        grid-template-columns: repeat(3, 1fr);
    }
    .tf-lg-grid-4 {
        grid-template-columns: repeat(4, 1fr);
    }
    .tf-lg-grid-5 {
        grid-template-columns: repeat(5, 1fr);
    }
    .tf-lg-grid-6 {
        grid-template-columns: repeat(6, 1fr);
    }
    .tf-lg-grid-7 {
        grid-template-columns: repeat(7, 1fr);
    }
    .tf-lg-grid-8 {
        grid-template-columns: repeat(8, 1fr);
    }
    .tf-lg-grid-9 {
        grid-template-columns: repeat(9, 1fr);
    }
    .tf-lg-grid-10 {
        grid-template-columns: repeat(10, 1fr);
    }
    .order-lg-0 {
        order: 0;
    }
    .order-lg-1 {
        order: 1;
    }
    .order-lg-2 {
        order: 2;
    }
    .order-lg-3 {
        order: 3;
    }
    .order-lg-4 {
        order: 4;
    }
    .order-lg-5 {
        order: 5;
    }
    .order-lg-6 {
        order: 6;
    }
    .order-lg-7 {
        order: 7;
    }
    .order-lg-8 {
        order: 8;
    }
    .order-lg-9 {
        order: 9;
    }
    .order-lg-10 {
        order: 10;
    }
    .order-lg-11 {
        order: 11;
    }
    .order-lg-12 {
        order: 12;
    }
}


/* Utility Classes */


/* Spacing */

.spacing-0 {
    margin: 0;
    padding: 0;
}

.spacing-1 {
    margin: 0.25rem;
    padding: 0.25rem;
}

.spacing-2 {
    margin: 0.5rem;
    padding: 0.5rem;
}

.spacing-3 {
    margin: 1rem;
    padding: 1rem;
}

.spacing-4 {
    margin: 1.5rem;
    padding: 1.5rem;
}

.spacing-5 {
    margin: 2rem;
    padding: 2rem;
}


/* Text Alignment */

.text-left {
    text-align: left;
}

.text-center {
    text-align: center;
}

.text-right {
    text-align: right;
}

.text-justify {
    text-align: justify;
}


/* Text Transformation */

.uppercase {
    text-transform: uppercase;
}

.lowercase {
    text-transform: lowercase;
}

.capitalize {
    text-transform: capitalize;
}


/* Font Weight */

.font-light {
    font-weight: 300;
}

.font-normal {
    font-weight: 400;
}

.font-semibold {
    font-weight: 600;
}

.font-bold {
    font-weight: 700;
}


/* Visibility */

.hidden {
    display: none;
}

.visible {
    display: block;
}


/* Opacity */

.opacity-0 {
    opacity: 0;
}

.opacity-25 {
    opacity: 0.25;
}

.opacity-50 {
    opacity: 0.5;
}

.opacity-75 {
    opacity: 0.75;
}

.opacity-100 {
    opacity: 1;
}


/* ----------- topfaida Grid  -----------*/

.tf-grid {
    max-width: 100%;
    margin: 10px auto;
    padding: 10px;
    display: grid;
    grid-gap: 25px;
}

.tf-grid-card {
    position: relative;
    display: inline-block;
    overflow: hidden;
    border-radius: 20px;
    margin: 10px 0;
    padding: 10px;
    background: var(--tf-theme-grid-bg) !important;
    color: var(--tf-theme-grid-txt);
    height: auto;
    z-index: 1;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    -ms-border-radius: 20px;
    -o-border-radius: 20px;
}

.tf-grid-card img {
    width: 100%;
    object-fit: cover;
    border-radius: 15px;
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;
    -ms-border-radius: 15px;
    -o-border-radius: 15px;
}

.flex {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.inline-block {
    display: inline-block;
}

.block {
    display: block;
}

.tf-sticky {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    overflow-y: auto;
    max-height: 100vh;
}

.right {
    float: right;
}

.p-0 {
    padding: 0;
}


/* ----------- topfaida Grid  ----------- }*/


/* ----------- topfaida Effect  ----------- */

.tf-shine-ef {
    position: relative;
    overflow: hidden;
}

.tf-shine-ef::before {
    content: "";
    position: absolute;
    top: 0;
    left: -75%;
    width: 50%;
    height: 100%;
    background-image: linear-gradient(to right, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0));
    transform: skewX(-20deg);
    transition: all 0.7s;
    pointer-events: none;
}

.tf-shine-ef:hover::before {
    left: 100%;
}


/* Zoom effect */

.tf-zoom-ef {
    display: inline-block;
    overflow: hidden;
    transition: transform 0.3s;
}

.tf-zoom-ef:hover {
    transform: scale(1.1);
}


/* Rotate effect */

.tf-rotate-ef {
    display: inline-block;
    transition: transform 0.3s;
}

.tf-rotate-ef:hover {
    transform: rotate(5deg);
}


/* Color overlay effect */

.tf-color-overlay {
    position: relative;
    display: inline-block;
    overflow: hidden;
}

.tf-color-overlay::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.2);
    opacity: 0;
    transition: opacity 0.3s;
}

.tf-color-overlay:hover::before {
    opacity: 1;
}

#overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(5px);
    z-index: 10;
    display: none;
}


/* ----------- topfaida Effect ----------- }*/


/* ----------- topfaida Shadow ----------- */

.tf-sad-1 {
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
}

.tf-sad-2 {
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);
}

.tf-sad-3d {
    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22);
}

.tf-sad-light {
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
}

.tf-sad-5 {
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
}

.tf-sad-6 {
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.3);
}


/* ----------- topfaida Shadow ----------- }*/


/* topfaida animation effects */

.animate-btt {
    animation: animateBtt 1s ease-out;
}

.animate-ltr {
    animation: animateLtr 1s ease-out;
}

.animate-rtl {
    animation: animateRtl 1s ease-out;
}

.animate-curve-float {
    animation: curveFloat 1s ease-out;
}

.animate-bounce {
    animation: bounce 1s cubic-bezier(0.25, 0.1, 0.25, 1);
}

.animate-box {
    animation-fill-mode: forwards;
    opacity: 0;
}


/* ----------- Topfaida styles -----------*/

.tf-style-1,
.tf-style-2,
.tf-style-3,
.tf-style-4,
.tf-style-5 {
    transition: all 0.3s ease;
}


/* Style 1 */

.tf-style-1 {
    background-color: #f5f5f5;
    border: 1px solid #e5e5e5;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    padding: 10px;
    border-radius: 5px;
}


/* Style 2 */

.tf-style-2 img {
    box-shadow: var(--tfpro-shadow-light);
    border-radius: 10px;
}


/* Style 3 */

.tf-style-3 {
    background: var(--tf-theme-bg-clr);
    border-radius: 10px;
    box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.15);
    padding: 15px;
    color: #fff;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
}


/* Style 4 */

.tf-style-4 {
    background-color: #e8eaf6;
    border: 1px solid #c5cae9;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.12);
    padding: 15px;
    border-radius: 5px;
}


/* Style 5 */

.tf-style-5 {
    background: repeating-linear-gradient( -45deg, #e9fbe7, #e9fbe7 10px, #c8e6c9 10px, #c8e6c9 20px);
    border: 2px dashed #a5d6a7;
    border-radius: 5px;
    padding: 10px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
}

.tf-style-1:hover,
.tf-style-2:hover,
.tf-style-3:hover,
.tf-style-4:hover,
.tf-style-5:hover {
    box-shadow: var(--tfpro-shadow-dark);
    transform: translateY(-2px);
}


/* ----------- Topfaida styles -----------}*/

@keyframes animateBtt {
    from {
        transform: translateY(100%);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

@keyframes animateLtr {
    from {
        transform: translateX(-100%);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes animateRtl {
    from {
        transform: translateX(100%);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes curveFloat {
    0% {
        transform: translateY(100%);
        opacity: 0;
    }
    50% {
        transform: translateY(-50px) scale(1.1);
        opacity: 1;
    }
    100% {
        transform: translateY(0);
        opacity: 1;
    }
}

@keyframes bounce {
    0% {
        transform: translateY(0);
        opacity: 0;
    }
    40% {
        transform: translateY(-30px);
        opacity: 0.5;
    }
    60% {
        transform: translateY(-15px);
        opacity: 0.75;
    }
    100% {
        transform: translateY(0);
        opacity: 1;
    }
}