@charset "UTF-8";

/*!
 * Bootstrap Grid v4.5.0 (https://getbootstrap.com/)
 * Copyright 2011-2020 The Bootstrap Authors
 * Copyright 2011-2020 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */
.container {
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
}

@media (min-width: 576px) {
    .container {
        max-width: 540px;
    }
}

@media (min-width: 768px) {
    .container {
        max-width: 720px;
    }
}

@media (min-width: 992px) {
    .container {
        max-width: 960px;
    }
}

@media (min-width: 1200px) {
    .container {
        max-width: 1140px;
    }
}

.container-fluid,
.container-sm,
.container-md,
.container-lg,
.container-xl {
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
}

@media (max-width: 768px) {
    .hide-mobile {
        display: none !important;
    }
}

@media (min-width: 576px) {

    .container,
    .container-sm {
        max-width: 540px;
    }
}

@media (min-width: 768px) {

    .container,
    .container-sm,
    .container-md {
        max-width: 720px;
    }
}

@media (min-width: 992px) {

    .container,
    .container-sm,
    .container-md,
    .container-lg {
        max-width: 960px;
    }
}

@media (min-width: 1200px) {

    .container,
    .container-sm,
    .container-md,
    .container-lg,
    .container-xl {
        max-width: 1140px;
    }
}


.row {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -15px;
    margin-left: -15px;
}

.no-gutters {
    margin-right: 0;
    margin-left: 0;
}

.no-gutters>.col,
.no-gutters>[class*="col-"] {
    padding-right: 0;
    padding-left: 0;
}

.col-1,
.col-2,
.col-3,
.col-4,
.col-5,
.col-6,
.col-7,
.col-8,
.col-9,
.col-10,
.col-11,
.col-12,
.col,
.col-auto,
.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,
.col-sm,
.col-sm-auto,
.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,
.col-md,
.col-md-auto,
.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,
.col-lg,
.col-lg-auto,
.col-xl-1,
.col-xl-2,
.col-xl-3,
.col-xl-4,
.col-xl-5,
.col-xl-6,
.col-xl-7,
.col-xl-8,
.col-xl-9,
.col-xl-10,
.col-xl-11,
.col-xl-12,
.col-xl,
.col-xl-auto {
    position: relative;
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
}

.col {
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -ms-flex-positive: 1;
    flex-grow: 1;
    min-width: 0;
    max-width: 100%;
}

.row-cols-1>* {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
}

.row-cols-2>* {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
}

.row-cols-3>* {
    -ms-flex: 0 0 33.333333%;
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
}

.row-cols-4>* {
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%;
}

.row-cols-5>* {
    -ms-flex: 0 0 20%;
    flex: 0 0 20%;
    max-width: 20%;
}

.row-cols-6>* {
    -ms-flex: 0 0 16.666667%;
    flex: 0 0 16.666667%;
    max-width: 16.666667%;
}

.col-auto {
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
}

.col-1 {
    -ms-flex: 0 0 8.333333%;
    flex: 0 0 8.333333%;
    max-width: 8.333333%;
}

.col-2 {
    -ms-flex: 0 0 16.666667%;
    flex: 0 0 16.666667%;
    max-width: 16.666667%;
}

.col-3 {
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%;
}

.col-4 {
    -ms-flex: 0 0 33.333333%;
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
}

.col-5 {
    -ms-flex: 0 0 41.666667%;
    flex: 0 0 41.666667%;
    max-width: 41.666667%;
}

.col-6 {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
}

.col-7 {
    -ms-flex: 0 0 58.333333%;
    flex: 0 0 58.333333%;
    max-width: 58.333333%;
}

.col-8 {
    -ms-flex: 0 0 66.666667%;
    flex: 0 0 66.666667%;
    max-width: 66.666667%;
}

.col-9 {
    -ms-flex: 0 0 75%;
    flex: 0 0 75%;
    max-width: 75%;
}

.col-10 {
    -ms-flex: 0 0 83.333333%;
    flex: 0 0 83.333333%;
    max-width: 83.333333%;
}

.col-11 {
    -ms-flex: 0 0 91.666667%;
    flex: 0 0 91.666667%;
    max-width: 91.666667%;
}

.col-12 {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
}

.order-first {
    -ms-flex-order: -1;
    order: -1;
}

.order-last {
    -ms-flex-order: 13;
    order: 13;
}

.order-0 {
    -ms-flex-order: 0;
    order: 0;
}

.order-1 {
    -ms-flex-order: 1;
    order: 1;
}

.order-2 {
    -ms-flex-order: 2;
    order: 2;
}

.order-3 {
    -ms-flex-order: 3;
    order: 3;
}

.order-4 {
    -ms-flex-order: 4;
    order: 4;
}

.order-5 {
    -ms-flex-order: 5;
    order: 5;
}

.order-6 {
    -ms-flex-order: 6;
    order: 6;
}

.order-7 {
    -ms-flex-order: 7;
    order: 7;
}

.order-8 {
    -ms-flex-order: 8;
    order: 8;
}

.order-9 {
    -ms-flex-order: 9;
    order: 9;
}

.order-10 {
    -ms-flex-order: 10;
    order: 10;
}

.order-11 {
    -ms-flex-order: 11;
    order: 11;
}

.order-12 {
    -ms-flex-order: 12;
    order: 12;
}

.offset-1 {
    margin-left: 8.333333%;
}

.offset-2 {
    margin-left: 16.666667%;
}

.offset-3 {
    margin-left: 25%;
}

.offset-4 {
    margin-left: 33.333333%;
}

.offset-5 {
    margin-left: 41.666667%;
}

.offset-6 {
    margin-left: 50%;
}

.offset-7 {
    margin-left: 58.333333%;
}

.offset-8 {
    margin-left: 66.666667%;
}

.offset-9 {
    margin-left: 75%;
}

.offset-10 {
    margin-left: 83.333333%;
}

.offset-11 {
    margin-left: 91.666667%;
}

@media (min-width: 576px) {
    .col-sm {
        -ms-flex-preferred-size: 0;
        flex-basis: 0;
        -ms-flex-positive: 1;
        flex-grow: 1;
        min-width: 0;
        max-width: 100%;
    }

    .row-cols-sm-1>* {
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%;
    }

    .row-cols-sm-2>* {
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        max-width: 50%;
    }

    .row-cols-sm-3>* {
        -ms-flex: 0 0 33.333333%;
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
    }

    .row-cols-sm-4>* {
        -ms-flex: 0 0 25%;
        flex: 0 0 25%;
        max-width: 25%;
    }

    .row-cols-sm-5>* {
        -ms-flex: 0 0 20%;
        flex: 0 0 20%;
        max-width: 20%;
    }

    .row-cols-sm-6>* {
        -ms-flex: 0 0 16.666667%;
        flex: 0 0 16.666667%;
        max-width: 16.666667%;
    }

    .col-sm-auto {
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: auto;
        max-width: 100%;
    }

    .col-sm-1 {
        -ms-flex: 0 0 8.333333%;
        flex: 0 0 8.333333%;
        max-width: 8.333333%;
    }

    .col-sm-2 {
        -ms-flex: 0 0 16.666667%;
        flex: 0 0 16.666667%;
        max-width: 16.666667%;
    }

    .col-sm-3 {
        -ms-flex: 0 0 25%;
        flex: 0 0 25%;
        max-width: 25%;
    }

    .col-sm-4 {
        -ms-flex: 0 0 33.333333%;
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
    }

    .col-sm-5 {
        -ms-flex: 0 0 41.666667%;
        flex: 0 0 41.666667%;
        max-width: 41.666667%;
    }

    .col-sm-6 {
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        max-width: 50%;
    }

    .col-sm-7 {
        -ms-flex: 0 0 58.333333%;
        flex: 0 0 58.333333%;
        max-width: 58.333333%;
    }

    .col-sm-8 {
        -ms-flex: 0 0 66.666667%;
        flex: 0 0 66.666667%;
        max-width: 66.666667%;
    }

    .col-sm-9 {
        -ms-flex: 0 0 75%;
        flex: 0 0 75%;
        max-width: 75%;
    }

    .col-sm-10 {
        -ms-flex: 0 0 83.333333%;
        flex: 0 0 83.333333%;
        max-width: 83.333333%;
    }

    .col-sm-11 {
        -ms-flex: 0 0 91.666667%;
        flex: 0 0 91.666667%;
        max-width: 91.666667%;
    }

    .col-sm-12 {
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%;
    }

    .order-sm-first {
        -ms-flex-order: -1;
        order: -1;
    }

    .order-sm-last {
        -ms-flex-order: 13;
        order: 13;
    }

    .order-sm-0 {
        -ms-flex-order: 0;
        order: 0;
    }

    .order-sm-1 {
        -ms-flex-order: 1;
        order: 1;
    }

    .order-sm-2 {
        -ms-flex-order: 2;
        order: 2;
    }

    .order-sm-3 {
        -ms-flex-order: 3;
        order: 3;
    }

    .order-sm-4 {
        -ms-flex-order: 4;
        order: 4;
    }

    .order-sm-5 {
        -ms-flex-order: 5;
        order: 5;
    }

    .order-sm-6 {
        -ms-flex-order: 6;
        order: 6;
    }

    .order-sm-7 {
        -ms-flex-order: 7;
        order: 7;
    }

    .order-sm-8 {
        -ms-flex-order: 8;
        order: 8;
    }

    .order-sm-9 {
        -ms-flex-order: 9;
        order: 9;
    }

    .order-sm-10 {
        -ms-flex-order: 10;
        order: 10;
    }

    .order-sm-11 {
        -ms-flex-order: 11;
        order: 11;
    }

    .order-sm-12 {
        -ms-flex-order: 12;
        order: 12;
    }

    .offset-sm-0 {
        margin-left: 0;
    }

    .offset-sm-1 {
        margin-left: 8.333333%;
    }

    .offset-sm-2 {
        margin-left: 16.666667%;
    }

    .offset-sm-3 {
        margin-left: 25%;
    }

    .offset-sm-4 {
        margin-left: 33.333333%;
    }

    .offset-sm-5 {
        margin-left: 41.666667%;
    }

    .offset-sm-6 {
        margin-left: 50%;
    }

    .offset-sm-7 {
        margin-left: 58.333333%;
    }

    .offset-sm-8 {
        margin-left: 66.666667%;
    }

    .offset-sm-9 {
        margin-left: 75%;
    }

    .offset-sm-10 {
        margin-left: 83.333333%;
    }

    .offset-sm-11 {
        margin-left: 91.666667%;
    }
}

@media (min-width: 768px) {
    .col-md {
        -ms-flex-preferred-size: 0;
        flex-basis: 0;
        -ms-flex-positive: 1;
        flex-grow: 1;
        min-width: 0;
        max-width: 100%;
    }

    .row-cols-md-1>* {
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%;
    }

    .row-cols-md-2>* {
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        max-width: 50%;
    }

    .row-cols-md-3>* {
        -ms-flex: 0 0 33.333333%;
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
    }

    .row-cols-md-4>* {
        -ms-flex: 0 0 25%;
        flex: 0 0 25%;
        max-width: 25%;
    }

    .row-cols-md-5>* {
        -ms-flex: 0 0 20%;
        flex: 0 0 20%;
        max-width: 20%;
    }

    .row-cols-md-6>* {
        -ms-flex: 0 0 16.666667%;
        flex: 0 0 16.666667%;
        max-width: 16.666667%;
    }

    .col-md-auto {
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: auto;
        max-width: 100%;
    }

    .col-md-1 {
        -ms-flex: 0 0 8.333333%;
        flex: 0 0 8.333333%;
        max-width: 8.333333%;
    }

    .col-md-2 {
        -ms-flex: 0 0 16.666667%;
        flex: 0 0 16.666667%;
        max-width: 16.666667%;
    }

    .col-md-3 {
        -ms-flex: 0 0 25%;
        flex: 0 0 25%;
        max-width: 25%;
    }

    .col-md-4 {
        -ms-flex: 0 0 33.333333%;
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
    }

    .col-md-5 {
        -ms-flex: 0 0 41.666667%;
        flex: 0 0 41.666667%;
        max-width: 41.666667%;
    }

    .col-md-6 {
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        max-width: 50%;
    }

    .col-md-7 {
        -ms-flex: 0 0 58.333333%;
        flex: 0 0 58.333333%;
        max-width: 58.333333%;
    }

    .col-md-8 {
        -ms-flex: 0 0 66.666667%;
        flex: 0 0 66.666667%;
        max-width: 66.666667%;
    }

    .col-md-9 {
        -ms-flex: 0 0 75%;
        flex: 0 0 75%;
        max-width: 75%;
    }

    .col-md-10 {
        -ms-flex: 0 0 83.333333%;
        flex: 0 0 83.333333%;
        max-width: 83.333333%;
    }

    .col-md-11 {
        -ms-flex: 0 0 91.666667%;
        flex: 0 0 91.666667%;
        max-width: 91.666667%;
    }

    .col-md-12 {
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%;
    }

    .order-md-first {
        -ms-flex-order: -1;
        order: -1;
    }

    .order-md-last {
        -ms-flex-order: 13;
        order: 13;
    }

    .order-md-0 {
        -ms-flex-order: 0;
        order: 0;
    }

    .order-md-1 {
        -ms-flex-order: 1;
        order: 1;
    }

    .order-md-2 {
        -ms-flex-order: 2;
        order: 2;
    }

    .order-md-3 {
        -ms-flex-order: 3;
        order: 3;
    }

    .order-md-4 {
        -ms-flex-order: 4;
        order: 4;
    }

    .order-md-5 {
        -ms-flex-order: 5;
        order: 5;
    }

    .order-md-6 {
        -ms-flex-order: 6;
        order: 6;
    }

    .order-md-7 {
        -ms-flex-order: 7;
        order: 7;
    }

    .order-md-8 {
        -ms-flex-order: 8;
        order: 8;
    }

    .order-md-9 {
        -ms-flex-order: 9;
        order: 9;
    }

    .order-md-10 {
        -ms-flex-order: 10;
        order: 10;
    }

    .order-md-11 {
        -ms-flex-order: 11;
        order: 11;
    }

    .order-md-12 {
        -ms-flex-order: 12;
        order: 12;
    }

    .offset-md-0 {
        margin-left: 0;
    }

    .offset-md-1 {
        margin-left: 8.333333%;
    }

    .offset-md-2 {
        margin-left: 16.666667%;
    }

    .offset-md-3 {
        margin-left: 25%;
    }

    .offset-md-4 {
        margin-left: 33.333333%;
    }

    .offset-md-5 {
        margin-left: 41.666667%;
    }

    .offset-md-6 {
        margin-left: 50%;
    }

    .offset-md-7 {
        margin-left: 58.333333%;
    }

    .offset-md-8 {
        margin-left: 66.666667%;
    }

    .offset-md-9 {
        margin-left: 75%;
    }

    .offset-md-10 {
        margin-left: 83.333333%;
    }

    .offset-md-11 {
        margin-left: 91.666667%;
    }
}

@media (min-width: 992px) {
    .col-lg {
        -ms-flex-preferred-size: 0;
        flex-basis: 0;
        -ms-flex-positive: 1;
        flex-grow: 1;
        min-width: 0;
        max-width: 100%;
    }

    .row-cols-lg-1>* {
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%;
    }

    .row-cols-lg-2>* {
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        max-width: 50%;
    }

    .row-cols-lg-3>* {
        -ms-flex: 0 0 33.333333%;
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
    }

    .row-cols-lg-4>* {
        -ms-flex: 0 0 25%;
        flex: 0 0 25%;
        max-width: 25%;
    }

    .row-cols-lg-5>* {
        -ms-flex: 0 0 20%;
        flex: 0 0 20%;
        max-width: 20%;
    }

    .row-cols-lg-6>* {
        -ms-flex: 0 0 16.666667%;
        flex: 0 0 16.666667%;
        max-width: 16.666667%;
    }

    .col-lg-auto {
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: auto;
        max-width: 100%;
    }

    .col-lg-1 {
        -ms-flex: 0 0 8.333333%;
        flex: 0 0 8.333333%;
        max-width: 8.333333%;
    }

    .col-lg-2 {
        -ms-flex: 0 0 16.666667%;
        flex: 0 0 16.666667%;
        max-width: 16.666667%;
    }

    .col-lg-3 {
        -ms-flex: 0 0 25%;
        flex: 0 0 25%;
        max-width: 25%;
    }

    .col-lg-4 {
        -ms-flex: 0 0 33.333333%;
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
    }

    .col-lg-5 {
        -ms-flex: 0 0 41.666667%;
        flex: 0 0 41.666667%;
        max-width: 41.666667%;
    }

    .col-lg-6 {
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        max-width: 50%;
    }

    .col-lg-7 {
        -ms-flex: 0 0 58.333333%;
        flex: 0 0 58.333333%;
        max-width: 58.333333%;
    }

    .col-lg-8 {
        -ms-flex: 0 0 66.666667%;
        flex: 0 0 66.666667%;
        max-width: 66.666667%;
    }

    .col-lg-9 {
        -ms-flex: 0 0 75%;
        flex: 0 0 75%;
        max-width: 75%;
    }

    .col-lg-10 {
        -ms-flex: 0 0 83.333333%;
        flex: 0 0 83.333333%;
        max-width: 83.333333%;
    }

    .col-lg-11 {
        -ms-flex: 0 0 91.666667%;
        flex: 0 0 91.666667%;
        max-width: 91.666667%;
    }

    .col-lg-12 {
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%;
    }

    .order-lg-first {
        -ms-flex-order: -1;
        order: -1;
    }

    .order-lg-last {
        -ms-flex-order: 13;
        order: 13;
    }

    .order-lg-0 {
        -ms-flex-order: 0;
        order: 0;
    }

    .order-lg-1 {
        -ms-flex-order: 1;
        order: 1;
    }

    .order-lg-2 {
        -ms-flex-order: 2;
        order: 2;
    }

    .order-lg-3 {
        -ms-flex-order: 3;
        order: 3;
    }

    .order-lg-4 {
        -ms-flex-order: 4;
        order: 4;
    }

    .order-lg-5 {
        -ms-flex-order: 5;
        order: 5;
    }

    .order-lg-6 {
        -ms-flex-order: 6;
        order: 6;
    }

    .order-lg-7 {
        -ms-flex-order: 7;
        order: 7;
    }

    .order-lg-8 {
        -ms-flex-order: 8;
        order: 8;
    }

    .order-lg-9 {
        -ms-flex-order: 9;
        order: 9;
    }

    .order-lg-10 {
        -ms-flex-order: 10;
        order: 10;
    }

    .order-lg-11 {
        -ms-flex-order: 11;
        order: 11;
    }

    .order-lg-12 {
        -ms-flex-order: 12;
        order: 12;
    }

    .offset-lg-0 {
        margin-left: 0;
    }

    .offset-lg-1 {
        margin-left: 8.333333%;
    }

    .offset-lg-2 {
        margin-left: 16.666667%;
    }

    .offset-lg-3 {
        margin-left: 25%;
    }

    .offset-lg-4 {
        margin-left: 33.333333%;
    }

    .offset-lg-5 {
        margin-left: 41.666667%;
    }

    .offset-lg-6 {
        margin-left: 50%;
    }

    .offset-lg-7 {
        margin-left: 58.333333%;
    }

    .offset-lg-8 {
        margin-left: 66.666667%;
    }

    .offset-lg-9 {
        margin-left: 75%;
    }

    .offset-lg-10 {
        margin-left: 83.333333%;
    }

    .offset-lg-11 {
        margin-left: 91.666667%;
    }
}

@media (min-width: 1200px) {
    .col-xl {
        -ms-flex-preferred-size: 0;
        flex-basis: 0;
        -ms-flex-positive: 1;
        flex-grow: 1;
        min-width: 0;
        max-width: 100%;
    }

    .row-cols-xl-1>* {
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%;
    }

    .row-cols-xl-2>* {
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        max-width: 50%;
    }

    .row-cols-xl-3>* {
        -ms-flex: 0 0 33.333333%;
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
    }

    .row-cols-xl-4>* {
        -ms-flex: 0 0 25%;
        flex: 0 0 25%;
        max-width: 25%;
    }

    .row-cols-xl-5>* {
        -ms-flex: 0 0 20%;
        flex: 0 0 20%;
        max-width: 20%;
    }

    .row-cols-xl-6>* {
        -ms-flex: 0 0 16.666667%;
        flex: 0 0 16.666667%;
        max-width: 16.666667%;
    }

    .col-xl-auto {
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: auto;
        max-width: 100%;
    }

    .col-xl-1 {
        -ms-flex: 0 0 8.333333%;
        flex: 0 0 8.333333%;
        max-width: 8.333333%;
    }

    .col-xl-2 {
        -ms-flex: 0 0 16.666667%;
        flex: 0 0 16.666667%;
        max-width: 16.666667%;
    }

    .col-xl-3 {
        -ms-flex: 0 0 25%;
        flex: 0 0 25%;
        max-width: 25%;
    }

    .col-xl-4 {
        -ms-flex: 0 0 33.333333%;
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
    }

    .col-xl-5 {
        -ms-flex: 0 0 41.666667%;
        flex: 0 0 41.666667%;
        max-width: 41.666667%;
    }

    .col-xl-6 {
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        max-width: 50%;
    }

    .col-xl-7 {
        -ms-flex: 0 0 58.333333%;
        flex: 0 0 58.333333%;
        max-width: 58.333333%;
    }

    .col-xl-8 {
        -ms-flex: 0 0 66.666667%;
        flex: 0 0 66.666667%;
        max-width: 66.666667%;
    }

    .col-xl-9 {
        -ms-flex: 0 0 75%;
        flex: 0 0 75%;
        max-width: 75%;
    }

    .col-xl-10 {
        -ms-flex: 0 0 83.333333%;
        flex: 0 0 83.333333%;
        max-width: 83.333333%;
    }

    .col-xl-11 {
        -ms-flex: 0 0 91.666667%;
        flex: 0 0 91.666667%;
        max-width: 91.666667%;
    }

    .col-xl-12 {
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%;
    }

    .order-xl-first {
        -ms-flex-order: -1;
        order: -1;
    }

    .order-xl-last {
        -ms-flex-order: 13;
        order: 13;
    }

    .order-xl-0 {
        -ms-flex-order: 0;
        order: 0;
    }

    .order-xl-1 {
        -ms-flex-order: 1;
        order: 1;
    }

    .order-xl-2 {
        -ms-flex-order: 2;
        order: 2;
    }

    .order-xl-3 {
        -ms-flex-order: 3;
        order: 3;
    }

    .order-xl-4 {
        -ms-flex-order: 4;
        order: 4;
    }

    .order-xl-5 {
        -ms-flex-order: 5;
        order: 5;
    }

    .order-xl-6 {
        -ms-flex-order: 6;
        order: 6;
    }

    .order-xl-7 {
        -ms-flex-order: 7;
        order: 7;
    }

    .order-xl-8 {
        -ms-flex-order: 8;
        order: 8;
    }

    .order-xl-9 {
        -ms-flex-order: 9;
        order: 9;
    }

    .order-xl-10 {
        -ms-flex-order: 10;
        order: 10;
    }

    .order-xl-11 {
        -ms-flex-order: 11;
        order: 11;
    }

    .order-xl-12 {
        -ms-flex-order: 12;
        order: 12;
    }

    .offset-xl-0 {
        margin-left: 0;
    }

    .offset-xl-1 {
        margin-left: 8.333333%;
    }

    .offset-xl-2 {
        margin-left: 16.666667%;
    }

    .offset-xl-3 {
        margin-left: 25%;
    }

    .offset-xl-4 {
        margin-left: 33.333333%;
    }

    .offset-xl-5 {
        margin-left: 41.666667%;
    }

    .offset-xl-6 {
        margin-left: 50%;
    }

    .offset-xl-7 {
        margin-left: 58.333333%;
    }

    .offset-xl-8 {
        margin-left: 66.666667%;
    }

    .offset-xl-9 {
        margin-left: 75%;
    }

    .offset-xl-10 {
        margin-left: 83.333333%;
    }

    .offset-xl-11 {
        margin-left: 91.666667%;
    }
}

.d-none {
    display: none !important;
}

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

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

.d-block {
    display: block !important;
}

.d-table {
    display: table !important;
}

.d-table-row {
    display: table-row !important;
}

.d-table-cell {
    display: table-cell !important;
}

.d-flex {
    display: -ms-flexbox !important;
    display: flex !important;
}

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

@media (min-width: 576px) {
    .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-table {
        display: table !important;
    }

    .d-sm-table-row {
        display: table-row !important;
    }

    .d-sm-table-cell {
        display: table-cell !important;
    }

    .d-sm-flex {
        display: -ms-flexbox !important;
        display: flex !important;
    }

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

@media (min-width: 768px) {
    .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-table {
        display: table !important;
    }

    .d-md-table-row {
        display: table-row !important;
    }

    .d-md-table-cell {
        display: table-cell !important;
    }

    .d-md-flex {
        display: -ms-flexbox !important;
        display: flex !important;
    }

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

@media (min-width: 992px) {
    .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-table {
        display: table !important;
    }

    .d-lg-table-row {
        display: table-row !important;
    }

    .d-lg-table-cell {
        display: table-cell !important;
    }

    .d-lg-flex {
        display: -ms-flexbox !important;
        display: flex !important;
    }

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

@media (min-width: 1200px) {
    .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-table {
        display: table !important;
    }

    .d-xl-table-row {
        display: table-row !important;
    }

    .d-xl-table-cell {
        display: table-cell !important;
    }

    .d-xl-flex {
        display: -ms-flexbox !important;
        display: flex !important;
    }

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

@media print {
    .d-print-none {
        display: none !important;
    }

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

    .d-print-inline-block {
        display: inline-block !important;
    }

    .d-print-block {
        display: block !important;
    }

    .d-print-table {
        display: table !important;
    }

    .d-print-table-row {
        display: table-row !important;
    }

    .d-print-table-cell {
        display: table-cell !important;
    }

    .d-print-flex {
        display: -ms-flexbox !important;
        display: flex !important;
    }

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

.flex-row {
    -ms-flex-direction: row !important;
    flex-direction: row !important;
}

.flex-column {
    -ms-flex-direction: column !important;
    flex-direction: column !important;
}

.flex-row-reverse {
    -ms-flex-direction: row-reverse !important;
    flex-direction: row-reverse !important;
}

.flex-column-reverse {
    -ms-flex-direction: column-reverse !important;
    flex-direction: column-reverse !important;
}

.flex-wrap {
    -ms-flex-wrap: wrap !important;
    flex-wrap: wrap !important;
}

.flex-nowrap {
    -ms-flex-wrap: nowrap !important;
    flex-wrap: nowrap !important;
}

.flex-wrap-reverse {
    -ms-flex-wrap: wrap-reverse !important;
    flex-wrap: wrap-reverse !important;
}

.flex-fill {
    -ms-flex: 1 1 auto !important;
    flex: 1 1 auto !important;
}

.flex-grow-0 {
    -ms-flex-positive: 0 !important;
    flex-grow: 0 !important;
}

.flex-grow-1 {
    -ms-flex-positive: 1 !important;
    flex-grow: 1 !important;
}

.flex-shrink-0 {
    -ms-flex-negative: 0 !important;
    flex-shrink: 0 !important;
}

.flex-shrink-1 {
    -ms-flex-negative: 1 !important;
    flex-shrink: 1 !important;
}

.justify-content-start {
    -ms-flex-pack: start !important;
    justify-content: flex-start !important;
}

.justify-content-end {
    -ms-flex-pack: end !important;
    justify-content: flex-end !important;
}

.justify-content-center {
    -ms-flex-pack: center !important;
    justify-content: center !important;
}

.justify-content-between {
    -ms-flex-pack: justify !important;
    justify-content: space-between !important;
}

.justify-content-around {
    -ms-flex-pack: distribute !important;
    justify-content: space-around !important;
}

.align-items-start {
    -ms-flex-align: start !important;
    align-items: flex-start !important;
}

.align-items-end {
    -ms-flex-align: end !important;
    align-items: flex-end !important;
}

.align-items-center {
    -ms-flex-align: center !important;
    align-items: center !important;
}

.align-items-baseline {
    -ms-flex-align: baseline !important;
    align-items: baseline !important;
}

.align-items-stretch {
    -ms-flex-align: stretch !important;
    align-items: stretch !important;
}

.align-content-start {
    -ms-flex-line-pack: start !important;
    align-content: flex-start !important;
}

.align-content-end {
    -ms-flex-line-pack: end !important;
    align-content: flex-end !important;
}

.align-content-center {
    -ms-flex-line-pack: center !important;
    align-content: center !important;
}

.align-content-between {
    -ms-flex-line-pack: justify !important;
    align-content: space-between !important;
}

.align-content-around {
    -ms-flex-line-pack: distribute !important;
    align-content: space-around !important;
}

.align-content-stretch {
    -ms-flex-line-pack: stretch !important;
    align-content: stretch !important;
}

.align-self-auto {
    -ms-flex-item-align: auto !important;
    align-self: auto !important;
}

.align-self-start {
    -ms-flex-item-align: start !important;
    align-self: flex-start !important;
}

.align-self-end {
    -ms-flex-item-align: end !important;
    align-self: flex-end !important;
}

.align-self-center {
    -ms-flex-item-align: center !important;
    align-self: center !important;
}

.align-self-baseline {
    -ms-flex-item-align: baseline !important;
    align-self: baseline !important;
}

.align-self-stretch {
    -ms-flex-item-align: stretch !important;
    align-self: stretch !important;
}

@media (min-width: 576px) {
    .flex-sm-row {
        -ms-flex-direction: row !important;
        flex-direction: row !important;
    }

    .flex-sm-column {
        -ms-flex-direction: column !important;
        flex-direction: column !important;
    }

    .flex-sm-row-reverse {
        -ms-flex-direction: row-reverse !important;
        flex-direction: row-reverse !important;
    }

    .flex-sm-column-reverse {
        -ms-flex-direction: column-reverse !important;
        flex-direction: column-reverse !important;
    }

    .flex-sm-wrap {
        -ms-flex-wrap: wrap !important;
        flex-wrap: wrap !important;
    }

    .flex-sm-nowrap {
        -ms-flex-wrap: nowrap !important;
        flex-wrap: nowrap !important;
    }

    .flex-sm-wrap-reverse {
        -ms-flex-wrap: wrap-reverse !important;
        flex-wrap: wrap-reverse !important;
    }

    .flex-sm-fill {
        -ms-flex: 1 1 auto !important;
        flex: 1 1 auto !important;
    }

    .flex-sm-grow-0 {
        -ms-flex-positive: 0 !important;
        flex-grow: 0 !important;
    }

    .flex-sm-grow-1 {
        -ms-flex-positive: 1 !important;
        flex-grow: 1 !important;
    }

    .flex-sm-shrink-0 {
        -ms-flex-negative: 0 !important;
        flex-shrink: 0 !important;
    }

    .flex-sm-shrink-1 {
        -ms-flex-negative: 1 !important;
        flex-shrink: 1 !important;
    }

    .justify-content-sm-start {
        -ms-flex-pack: start !important;
        justify-content: flex-start !important;
    }

    .justify-content-sm-end {
        -ms-flex-pack: end !important;
        justify-content: flex-end !important;
    }

    .justify-content-sm-center {
        -ms-flex-pack: center !important;
        justify-content: center !important;
    }

    .justify-content-sm-between {
        -ms-flex-pack: justify !important;
        justify-content: space-between !important;
    }

    .justify-content-sm-around {
        -ms-flex-pack: distribute !important;
        justify-content: space-around !important;
    }

    .align-items-sm-start {
        -ms-flex-align: start !important;
        align-items: flex-start !important;
    }

    .align-items-sm-end {
        -ms-flex-align: end !important;
        align-items: flex-end !important;
    }

    .align-items-sm-center {
        -ms-flex-align: center !important;
        align-items: center !important;
    }

    .align-items-sm-baseline {
        -ms-flex-align: baseline !important;
        align-items: baseline !important;
    }

    .align-items-sm-stretch {
        -ms-flex-align: stretch !important;
        align-items: stretch !important;
    }

    .align-content-sm-start {
        -ms-flex-line-pack: start !important;
        align-content: flex-start !important;
    }

    .align-content-sm-end {
        -ms-flex-line-pack: end !important;
        align-content: flex-end !important;
    }

    .align-content-sm-center {
        -ms-flex-line-pack: center !important;
        align-content: center !important;
    }

    .align-content-sm-between {
        -ms-flex-line-pack: justify !important;
        align-content: space-between !important;
    }

    .align-content-sm-around {
        -ms-flex-line-pack: distribute !important;
        align-content: space-around !important;
    }

    .align-content-sm-stretch {
        -ms-flex-line-pack: stretch !important;
        align-content: stretch !important;
    }

    .align-self-sm-auto {
        -ms-flex-item-align: auto !important;
        align-self: auto !important;
    }

    .align-self-sm-start {
        -ms-flex-item-align: start !important;
        align-self: flex-start !important;
    }

    .align-self-sm-end {
        -ms-flex-item-align: end !important;
        align-self: flex-end !important;
    }

    .align-self-sm-center {
        -ms-flex-item-align: center !important;
        align-self: center !important;
    }

    .align-self-sm-baseline {
        -ms-flex-item-align: baseline !important;
        align-self: baseline !important;
    }

    .align-self-sm-stretch {
        -ms-flex-item-align: stretch !important;
        align-self: stretch !important;
    }
}

@media (min-width: 768px) {
    .flex-md-row {
        -ms-flex-direction: row !important;
        flex-direction: row !important;
    }

    .flex-md-column {
        -ms-flex-direction: column !important;
        flex-direction: column !important;
    }

    .flex-md-row-reverse {
        -ms-flex-direction: row-reverse !important;
        flex-direction: row-reverse !important;
    }

    .flex-md-column-reverse {
        -ms-flex-direction: column-reverse !important;
        flex-direction: column-reverse !important;
    }

    .flex-md-wrap {
        -ms-flex-wrap: wrap !important;
        flex-wrap: wrap !important;
    }

    .flex-md-nowrap {
        -ms-flex-wrap: nowrap !important;
        flex-wrap: nowrap !important;
    }

    .flex-md-wrap-reverse {
        -ms-flex-wrap: wrap-reverse !important;
        flex-wrap: wrap-reverse !important;
    }

    .flex-md-fill {
        -ms-flex: 1 1 auto !important;
        flex: 1 1 auto !important;
    }

    .flex-md-grow-0 {
        -ms-flex-positive: 0 !important;
        flex-grow: 0 !important;
    }

    .flex-md-grow-1 {
        -ms-flex-positive: 1 !important;
        flex-grow: 1 !important;
    }

    .flex-md-shrink-0 {
        -ms-flex-negative: 0 !important;
        flex-shrink: 0 !important;
    }

    .flex-md-shrink-1 {
        -ms-flex-negative: 1 !important;
        flex-shrink: 1 !important;
    }

    .justify-content-md-start {
        -ms-flex-pack: start !important;
        justify-content: flex-start !important;
    }

    .justify-content-md-end {
        -ms-flex-pack: end !important;
        justify-content: flex-end !important;
    }

    .justify-content-md-center {
        -ms-flex-pack: center !important;
        justify-content: center !important;
    }

    .justify-content-md-between {
        -ms-flex-pack: justify !important;
        justify-content: space-between !important;
    }

    .justify-content-md-around {
        -ms-flex-pack: distribute !important;
        justify-content: space-around !important;
    }

    .align-items-md-start {
        -ms-flex-align: start !important;
        align-items: flex-start !important;
    }

    .align-items-md-end {
        -ms-flex-align: end !important;
        align-items: flex-end !important;
    }

    .align-items-md-center {
        -ms-flex-align: center !important;
        align-items: center !important;
    }

    .align-items-md-baseline {
        -ms-flex-align: baseline !important;
        align-items: baseline !important;
    }

    .align-items-md-stretch {
        -ms-flex-align: stretch !important;
        align-items: stretch !important;
    }

    .align-content-md-start {
        -ms-flex-line-pack: start !important;
        align-content: flex-start !important;
    }

    .align-content-md-end {
        -ms-flex-line-pack: end !important;
        align-content: flex-end !important;
    }

    .align-content-md-center {
        -ms-flex-line-pack: center !important;
        align-content: center !important;
    }

    .align-content-md-between {
        -ms-flex-line-pack: justify !important;
        align-content: space-between !important;
    }

    .align-content-md-around {
        -ms-flex-line-pack: distribute !important;
        align-content: space-around !important;
    }

    .align-content-md-stretch {
        -ms-flex-line-pack: stretch !important;
        align-content: stretch !important;
    }

    .align-self-md-auto {
        -ms-flex-item-align: auto !important;
        align-self: auto !important;
    }

    .align-self-md-start {
        -ms-flex-item-align: start !important;
        align-self: flex-start !important;
    }

    .align-self-md-end {
        -ms-flex-item-align: end !important;
        align-self: flex-end !important;
    }

    .align-self-md-center {
        -ms-flex-item-align: center !important;
        align-self: center !important;
    }

    .align-self-md-baseline {
        -ms-flex-item-align: baseline !important;
        align-self: baseline !important;
    }

    .align-self-md-stretch {
        -ms-flex-item-align: stretch !important;
        align-self: stretch !important;
    }
}

@media (min-width: 992px) {
    .flex-lg-row {
        -ms-flex-direction: row !important;
        flex-direction: row !important;
    }

    .flex-lg-column {
        -ms-flex-direction: column !important;
        flex-direction: column !important;
    }

    .flex-lg-row-reverse {
        -ms-flex-direction: row-reverse !important;
        flex-direction: row-reverse !important;
    }

    .flex-lg-column-reverse {
        -ms-flex-direction: column-reverse !important;
        flex-direction: column-reverse !important;
    }

    .flex-lg-wrap {
        -ms-flex-wrap: wrap !important;
        flex-wrap: wrap !important;
    }

    .flex-lg-nowrap {
        -ms-flex-wrap: nowrap !important;
        flex-wrap: nowrap !important;
    }

    .flex-lg-wrap-reverse {
        -ms-flex-wrap: wrap-reverse !important;
        flex-wrap: wrap-reverse !important;
    }

    .flex-lg-fill {
        -ms-flex: 1 1 auto !important;
        flex: 1 1 auto !important;
    }

    .flex-lg-grow-0 {
        -ms-flex-positive: 0 !important;
        flex-grow: 0 !important;
    }

    .flex-lg-grow-1 {
        -ms-flex-positive: 1 !important;
        flex-grow: 1 !important;
    }

    .flex-lg-shrink-0 {
        -ms-flex-negative: 0 !important;
        flex-shrink: 0 !important;
    }

    .flex-lg-shrink-1 {
        -ms-flex-negative: 1 !important;
        flex-shrink: 1 !important;
    }

    .justify-content-lg-start {
        -ms-flex-pack: start !important;
        justify-content: flex-start !important;
    }

    .justify-content-lg-end {
        -ms-flex-pack: end !important;
        justify-content: flex-end !important;
    }

    .justify-content-lg-center {
        -ms-flex-pack: center !important;
        justify-content: center !important;
    }

    .justify-content-lg-between {
        -ms-flex-pack: justify !important;
        justify-content: space-between !important;
    }

    .justify-content-lg-around {
        -ms-flex-pack: distribute !important;
        justify-content: space-around !important;
    }

    .align-items-lg-start {
        -ms-flex-align: start !important;
        align-items: flex-start !important;
    }

    .align-items-lg-end {
        -ms-flex-align: end !important;
        align-items: flex-end !important;
    }

    .align-items-lg-center {
        -ms-flex-align: center !important;
        align-items: center !important;
    }

    .align-items-lg-baseline {
        -ms-flex-align: baseline !important;
        align-items: baseline !important;
    }

    .align-items-lg-stretch {
        -ms-flex-align: stretch !important;
        align-items: stretch !important;
    }

    .align-content-lg-start {
        -ms-flex-line-pack: start !important;
        align-content: flex-start !important;
    }

    .align-content-lg-end {
        -ms-flex-line-pack: end !important;
        align-content: flex-end !important;
    }

    .align-content-lg-center {
        -ms-flex-line-pack: center !important;
        align-content: center !important;
    }

    .align-content-lg-between {
        -ms-flex-line-pack: justify !important;
        align-content: space-between !important;
    }

    .align-content-lg-around {
        -ms-flex-line-pack: distribute !important;
        align-content: space-around !important;
    }

    .align-content-lg-stretch {
        -ms-flex-line-pack: stretch !important;
        align-content: stretch !important;
    }

    .align-self-lg-auto {
        -ms-flex-item-align: auto !important;
        align-self: auto !important;
    }

    .align-self-lg-start {
        -ms-flex-item-align: start !important;
        align-self: flex-start !important;
    }

    .align-self-lg-end {
        -ms-flex-item-align: end !important;
        align-self: flex-end !important;
    }

    .align-self-lg-center {
        -ms-flex-item-align: center !important;
        align-self: center !important;
    }

    .align-self-lg-baseline {
        -ms-flex-item-align: baseline !important;
        align-self: baseline !important;
    }

    .align-self-lg-stretch {
        -ms-flex-item-align: stretch !important;
        align-self: stretch !important;
    }
}

@media (min-width: 1200px) {
    .flex-xl-row {
        -ms-flex-direction: row !important;
        flex-direction: row !important;
    }

    .flex-xl-column {
        -ms-flex-direction: column !important;
        flex-direction: column !important;
    }

    .flex-xl-row-reverse {
        -ms-flex-direction: row-reverse !important;
        flex-direction: row-reverse !important;
    }

    .flex-xl-column-reverse {
        -ms-flex-direction: column-reverse !important;
        flex-direction: column-reverse !important;
    }

    .flex-xl-wrap {
        -ms-flex-wrap: wrap !important;
        flex-wrap: wrap !important;
    }

    .flex-xl-nowrap {
        -ms-flex-wrap: nowrap !important;
        flex-wrap: nowrap !important;
    }

    .flex-xl-wrap-reverse {
        -ms-flex-wrap: wrap-reverse !important;
        flex-wrap: wrap-reverse !important;
    }

    .flex-xl-fill {
        -ms-flex: 1 1 auto !important;
        flex: 1 1 auto !important;
    }

    .flex-xl-grow-0 {
        -ms-flex-positive: 0 !important;
        flex-grow: 0 !important;
    }

    .flex-xl-grow-1 {
        -ms-flex-positive: 1 !important;
        flex-grow: 1 !important;
    }

    .flex-xl-shrink-0 {
        -ms-flex-negative: 0 !important;
        flex-shrink: 0 !important;
    }

    .flex-xl-shrink-1 {
        -ms-flex-negative: 1 !important;
        flex-shrink: 1 !important;
    }

    .justify-content-xl-start {
        -ms-flex-pack: start !important;
        justify-content: flex-start !important;
    }

    .justify-content-xl-end {
        -ms-flex-pack: end !important;
        justify-content: flex-end !important;
    }

    .justify-content-xl-center {
        -ms-flex-pack: center !important;
        justify-content: center !important;
    }

    .justify-content-xl-between {
        -ms-flex-pack: justify !important;
        justify-content: space-between !important;
    }

    .justify-content-xl-around {
        -ms-flex-pack: distribute !important;
        justify-content: space-around !important;
    }

    .align-items-xl-start {
        -ms-flex-align: start !important;
        align-items: flex-start !important;
    }

    .align-items-xl-end {
        -ms-flex-align: end !important;
        align-items: flex-end !important;
    }

    .align-items-xl-center {
        -ms-flex-align: center !important;
        align-items: center !important;
    }

    .align-items-xl-baseline {
        -ms-flex-align: baseline !important;
        align-items: baseline !important;
    }

    .align-items-xl-stretch {
        -ms-flex-align: stretch !important;
        align-items: stretch !important;
    }

    .align-content-xl-start {
        -ms-flex-line-pack: start !important;
        align-content: flex-start !important;
    }

    .align-content-xl-end {
        -ms-flex-line-pack: end !important;
        align-content: flex-end !important;
    }

    .align-content-xl-center {
        -ms-flex-line-pack: center !important;
        align-content: center !important;
    }

    .align-content-xl-between {
        -ms-flex-line-pack: justify !important;
        align-content: space-between !important;
    }

    .align-content-xl-around {
        -ms-flex-line-pack: distribute !important;
        align-content: space-around !important;
    }

    .align-content-xl-stretch {
        -ms-flex-line-pack: stretch !important;
        align-content: stretch !important;
    }

    .align-self-xl-auto {
        -ms-flex-item-align: auto !important;
        align-self: auto !important;
    }

    .align-self-xl-start {
        -ms-flex-item-align: start !important;
        align-self: flex-start !important;
    }

    .align-self-xl-end {
        -ms-flex-item-align: end !important;
        align-self: flex-end !important;
    }

    .align-self-xl-center {
        -ms-flex-item-align: center !important;
        align-self: center !important;
    }

    .align-self-xl-baseline {
        -ms-flex-item-align: baseline !important;
        align-self: baseline !important;
    }

    .align-self-xl-stretch {
        -ms-flex-item-align: stretch !important;
        align-self: stretch !important;
    }
}

.m-0 {
    margin: 0 !important;
}

.mt-0,
.my-0 {
    margin-top: 0 !important;
}

.mr-0,
.mx-0 {
    margin-right: 0 !important;
}

.mb-0,
.my-0 {
    margin-bottom: 0 !important;
}

.ml-0,
.mx-0 {
    margin-left: 0 !important;
}

.m-1 {
    margin: 0.25rem !important;
}

.mt-1,
.my-1 {
    margin-top: 0.25rem !important;
}

.mr-1,
.mx-1 {
    margin-right: 0.25rem !important;
}

.mb-1,
.my-1 {
    margin-bottom: 0.25rem !important;
}

.ml-1,
.mx-1 {
    margin-left: 0.25rem !important;
}

.m-2 {
    margin: 0.5rem !important;
}

.mt-2,
.my-2 {
    margin-top: 0.5rem !important;
}

.mr-2,
.mx-2 {
    margin-right: 0.5rem !important;
}

.mb-2,
.my-2 {
    margin-bottom: 0.5rem !important;
}

.ml-2,
.mx-2 {
    margin-left: 0.5rem !important;
}

.m-3 {
    margin: 1rem !important;
}

.mt-3,
.my-3 {
    margin-top: 1rem !important;
}

.mr-3,
.mx-3 {
    margin-right: 1rem !important;
}

.mb-3,
.my-3 {
    margin-bottom: 1rem !important;
}

.ml-3,
.mx-3 {
    margin-left: 1rem !important;
}

.m-4 {
    margin: 1.5rem !important;
}

.mt-4,
.my-4 {
    margin-top: 1.5rem !important;
}

.mr-4,
.mx-4 {
    margin-right: 1.5rem !important;
}

.mb-4,
.my-4 {
    margin-bottom: 1.5rem !important;
}

.ml-4,
.mx-4 {
    margin-left: 1.5rem !important;
}

.m-5 {
    margin: 3rem !important;
}

.mt-5,
.my-5 {
    margin-top: 3rem !important;
}

.mr-5,
.mx-5 {
    margin-right: 3rem !important;
}

.mb-5,
.my-5 {
    margin-bottom: 3rem !important;
}

.ml-5,
.mx-5 {
    margin-left: 3rem !important;
}

.p-0 {
    padding: 0 !important;
}

.pt-0,
.py-0 {
    padding-top: 0 !important;
}

.pr-0,
.px-0 {
    padding-right: 0 !important;
}

.pb-0,
.py-0 {
    padding-bottom: 0 !important;
}

.pl-0,
.px-0 {
    padding-left: 0 !important;
}

.p-1 {
    padding: 0.25rem !important;
}

.pt-1,
.py-1 {
    padding-top: 0.25rem !important;
}

.pr-1,
.px-1 {
    padding-right: 0.25rem !important;
}

.pb-1,
.py-1 {
    padding-bottom: 0.25rem !important;
}

.pl-1,
.px-1 {
    padding-left: 0.25rem !important;
}

.p-2 {
    padding: 0.5rem !important;
}

.pt-2,
.py-2 {
    padding-top: 0.5rem !important;
}

.pr-2,
.px-2 {
    padding-right: 0.5rem !important;
}

.pb-2,
.py-2 {
    padding-bottom: 0.5rem !important;
}

.pl-2,
.px-2 {
    padding-left: 0.5rem !important;
}

.p-3 {
    padding: 1rem !important;
}

.pt-3,
.py-3 {
    padding-top: 1rem !important;
}

.pr-3,
.px-3 {
    padding-right: 1rem !important;
}

.pb-3,
.py-3 {
    padding-bottom: 1rem !important;
}

.pl-3,
.px-3 {
    padding-left: 1rem !important;
}

.p-4 {
    padding: 1.5rem !important;
}

.pt-4,
.py-4 {
    padding-top: 1.5rem !important;
}

.pr-4,
.px-4 {
    padding-right: 1.5rem !important;
}

.pb-4,
.py-4 {
    padding-bottom: 1.5rem !important;
}

.pl-4,
.px-4 {
    padding-left: 1.5rem !important;
}

.p-5 {
    padding: 3rem !important;
}

.pt-5,
.py-5 {
    padding-top: 3rem !important;
}

.pr-5,
.px-5 {
    padding-right: 3rem !important;
}

.pb-5,
.py-5 {
    padding-bottom: 3rem !important;
}

.pl-5,
.px-5 {
    padding-left: 3rem !important;
}

.m-n1 {
    margin: -0.25rem !important;
}

.mt-n1,
.my-n1 {
    margin-top: -0.25rem !important;
}

.mr-n1,
.mx-n1 {
    margin-right: -0.25rem !important;
}

.mb-n1,
.my-n1 {
    margin-bottom: -0.25rem !important;
}

.ml-n1,
.mx-n1 {
    margin-left: -0.25rem !important;
}

.m-n2 {
    margin: -0.5rem !important;
}

.mt-n2,
.my-n2 {
    margin-top: -0.5rem !important;
}

.mr-n2,
.mx-n2 {
    margin-right: -0.5rem !important;
}

.mb-n2,
.my-n2 {
    margin-bottom: -0.5rem !important;
}

.ml-n2,
.mx-n2 {
    margin-left: -0.5rem !important;
}

.m-n3 {
    margin: -1rem !important;
}

.mt-n3,
.my-n3 {
    margin-top: -1rem !important;
}

.mr-n3,
.mx-n3 {
    margin-right: -1rem !important;
}

.mb-n3,
.my-n3 {
    margin-bottom: -1rem !important;
}

.ml-n3,
.mx-n3 {
    margin-left: -1rem !important;
}

.m-n4 {
    margin: -1.5rem !important;
}

.mt-n4,
.my-n4 {
    margin-top: -1.5rem !important;
}

.mr-n4,
.mx-n4 {
    margin-right: -1.5rem !important;
}

.mb-n4,
.my-n4 {
    margin-bottom: -1.5rem !important;
}

.ml-n4,
.mx-n4 {
    margin-left: -1.5rem !important;
}

.m-n5 {
    margin: -3rem !important;
}

.mt-n5,
.my-n5 {
    margin-top: -3rem !important;
}

.mr-n5,
.mx-n5 {
    margin-right: -3rem !important;
}

.mb-n5,
.my-n5 {
    margin-bottom: -3rem !important;
}

.ml-n5,
.mx-n5 {
    margin-left: -3rem !important;
}

.m-auto {
    margin: auto !important;
}

.mt-auto,
.my-auto {
    margin-top: auto !important;
}

.mr-auto,
.mx-auto {
    margin-right: auto !important;
}

.mb-auto,
.my-auto {
    margin-bottom: auto !important;
}

.ml-auto,
.mx-auto {
    margin-left: auto !important;
}

@media (min-width: 576px) {
    .m-sm-0 {
        margin: 0 !important;
    }

    .mt-sm-0,
    .my-sm-0 {
        margin-top: 0 !important;
    }

    .mr-sm-0,
    .mx-sm-0 {
        margin-right: 0 !important;
    }

    .mb-sm-0,
    .my-sm-0 {
        margin-bottom: 0 !important;
    }

    .ml-sm-0,
    .mx-sm-0 {
        margin-left: 0 !important;
    }

    .m-sm-1 {
        margin: 0.25rem !important;
    }

    .mt-sm-1,
    .my-sm-1 {
        margin-top: 0.25rem !important;
    }

    .mr-sm-1,
    .mx-sm-1 {
        margin-right: 0.25rem !important;
    }

    .mb-sm-1,
    .my-sm-1 {
        margin-bottom: 0.25rem !important;
    }

    .ml-sm-1,
    .mx-sm-1 {
        margin-left: 0.25rem !important;
    }

    .m-sm-2 {
        margin: 0.5rem !important;
    }

    .mt-sm-2,
    .my-sm-2 {
        margin-top: 0.5rem !important;
    }

    .mr-sm-2,
    .mx-sm-2 {
        margin-right: 0.5rem !important;
    }

    .mb-sm-2,
    .my-sm-2 {
        margin-bottom: 0.5rem !important;
    }

    .ml-sm-2,
    .mx-sm-2 {
        margin-left: 0.5rem !important;
    }

    .m-sm-3 {
        margin: 1rem !important;
    }

    .mt-sm-3,
    .my-sm-3 {
        margin-top: 1rem !important;
    }

    .mr-sm-3,
    .mx-sm-3 {
        margin-right: 1rem !important;
    }

    .mb-sm-3,
    .my-sm-3 {
        margin-bottom: 1rem !important;
    }

    .ml-sm-3,
    .mx-sm-3 {
        margin-left: 1rem !important;
    }

    .m-sm-4 {
        margin: 1.5rem !important;
    }

    .mt-sm-4,
    .my-sm-4 {
        margin-top: 1.5rem !important;
    }

    .mr-sm-4,
    .mx-sm-4 {
        margin-right: 1.5rem !important;
    }

    .mb-sm-4,
    .my-sm-4 {
        margin-bottom: 1.5rem !important;
    }

    .ml-sm-4,
    .mx-sm-4 {
        margin-left: 1.5rem !important;
    }

    .m-sm-5 {
        margin: 3rem !important;
    }

    .mt-sm-5,
    .my-sm-5 {
        margin-top: 3rem !important;
    }

    .mr-sm-5,
    .mx-sm-5 {
        margin-right: 3rem !important;
    }

    .mb-sm-5,
    .my-sm-5 {
        margin-bottom: 3rem !important;
    }

    .ml-sm-5,
    .mx-sm-5 {
        margin-left: 3rem !important;
    }

    .p-sm-0 {
        padding: 0 !important;
    }

    .pt-sm-0,
    .py-sm-0 {
        padding-top: 0 !important;
    }

    .pr-sm-0,
    .px-sm-0 {
        padding-right: 0 !important;
    }

    .pb-sm-0,
    .py-sm-0 {
        padding-bottom: 0 !important;
    }

    .pl-sm-0,
    .px-sm-0 {
        padding-left: 0 !important;
    }

    .p-sm-1 {
        padding: 0.25rem !important;
    }

    .pt-sm-1,
    .py-sm-1 {
        padding-top: 0.25rem !important;
    }

    .pr-sm-1,
    .px-sm-1 {
        padding-right: 0.25rem !important;
    }

    .pb-sm-1,
    .py-sm-1 {
        padding-bottom: 0.25rem !important;
    }

    .pl-sm-1,
    .px-sm-1 {
        padding-left: 0.25rem !important;
    }

    .p-sm-2 {
        padding: 0.5rem !important;
    }

    .pt-sm-2,
    .py-sm-2 {
        padding-top: 0.5rem !important;
    }

    .pr-sm-2,
    .px-sm-2 {
        padding-right: 0.5rem !important;
    }

    .pb-sm-2,
    .py-sm-2 {
        padding-bottom: 0.5rem !important;
    }

    .pl-sm-2,
    .px-sm-2 {
        padding-left: 0.5rem !important;
    }

    .p-sm-3 {
        padding: 1rem !important;
    }

    .pt-sm-3,
    .py-sm-3 {
        padding-top: 1rem !important;
    }

    .pr-sm-3,
    .px-sm-3 {
        padding-right: 1rem !important;
    }

    .pb-sm-3,
    .py-sm-3 {
        padding-bottom: 1rem !important;
    }

    .pl-sm-3,
    .px-sm-3 {
        padding-left: 1rem !important;
    }

    .p-sm-4 {
        padding: 1.5rem !important;
    }

    .pt-sm-4,
    .py-sm-4 {
        padding-top: 1.5rem !important;
    }

    .pr-sm-4,
    .px-sm-4 {
        padding-right: 1.5rem !important;
    }

    .pb-sm-4,
    .py-sm-4 {
        padding-bottom: 1.5rem !important;
    }

    .pl-sm-4,
    .px-sm-4 {
        padding-left: 1.5rem !important;
    }

    .p-sm-5 {
        padding: 3rem !important;
    }

    .pt-sm-5,
    .py-sm-5 {
        padding-top: 3rem !important;
    }

    .pr-sm-5,
    .px-sm-5 {
        padding-right: 3rem !important;
    }

    .pb-sm-5,
    .py-sm-5 {
        padding-bottom: 3rem !important;
    }

    .pl-sm-5,
    .px-sm-5 {
        padding-left: 3rem !important;
    }

    .m-sm-n1 {
        margin: -0.25rem !important;
    }

    .mt-sm-n1,
    .my-sm-n1 {
        margin-top: -0.25rem !important;
    }

    .mr-sm-n1,
    .mx-sm-n1 {
        margin-right: -0.25rem !important;
    }

    .mb-sm-n1,
    .my-sm-n1 {
        margin-bottom: -0.25rem !important;
    }

    .ml-sm-n1,
    .mx-sm-n1 {
        margin-left: -0.25rem !important;
    }

    .m-sm-n2 {
        margin: -0.5rem !important;
    }

    .mt-sm-n2,
    .my-sm-n2 {
        margin-top: -0.5rem !important;
    }

    .mr-sm-n2,
    .mx-sm-n2 {
        margin-right: -0.5rem !important;
    }

    .mb-sm-n2,
    .my-sm-n2 {
        margin-bottom: -0.5rem !important;
    }

    .ml-sm-n2,
    .mx-sm-n2 {
        margin-left: -0.5rem !important;
    }

    .m-sm-n3 {
        margin: -1rem !important;
    }

    .mt-sm-n3,
    .my-sm-n3 {
        margin-top: -1rem !important;
    }

    .mr-sm-n3,
    .mx-sm-n3 {
        margin-right: -1rem !important;
    }

    .mb-sm-n3,
    .my-sm-n3 {
        margin-bottom: -1rem !important;
    }

    .ml-sm-n3,
    .mx-sm-n3 {
        margin-left: -1rem !important;
    }

    .m-sm-n4 {
        margin: -1.5rem !important;
    }

    .mt-sm-n4,
    .my-sm-n4 {
        margin-top: -1.5rem !important;
    }

    .mr-sm-n4,
    .mx-sm-n4 {
        margin-right: -1.5rem !important;
    }

    .mb-sm-n4,
    .my-sm-n4 {
        margin-bottom: -1.5rem !important;
    }

    .ml-sm-n4,
    .mx-sm-n4 {
        margin-left: -1.5rem !important;
    }

    .m-sm-n5 {
        margin: -3rem !important;
    }

    .mt-sm-n5,
    .my-sm-n5 {
        margin-top: -3rem !important;
    }

    .mr-sm-n5,
    .mx-sm-n5 {
        margin-right: -3rem !important;
    }

    .mb-sm-n5,
    .my-sm-n5 {
        margin-bottom: -3rem !important;
    }

    .ml-sm-n5,
    .mx-sm-n5 {
        margin-left: -3rem !important;
    }

    .m-sm-auto {
        margin: auto !important;
    }

    .mt-sm-auto,
    .my-sm-auto {
        margin-top: auto !important;
    }

    .mr-sm-auto,
    .mx-sm-auto {
        margin-right: auto !important;
    }

    .mb-sm-auto,
    .my-sm-auto {
        margin-bottom: auto !important;
    }

    .ml-sm-auto,
    .mx-sm-auto {
        margin-left: auto !important;
    }
}

@media (min-width: 768px) {
    .m-md-0 {
        margin: 0 !important;
    }

    .mt-md-0,
    .my-md-0 {
        margin-top: 0 !important;
    }

    .mr-md-0,
    .mx-md-0 {
        margin-right: 0 !important;
    }

    .mb-md-0,
    .my-md-0 {
        margin-bottom: 0 !important;
    }

    .ml-md-0,
    .mx-md-0 {
        margin-left: 0 !important;
    }

    .m-md-1 {
        margin: 0.25rem !important;
    }

    .mt-md-1,
    .my-md-1 {
        margin-top: 0.25rem !important;
    }

    .mr-md-1,
    .mx-md-1 {
        margin-right: 0.25rem !important;
    }

    .mb-md-1,
    .my-md-1 {
        margin-bottom: 0.25rem !important;
    }

    .ml-md-1,
    .mx-md-1 {
        margin-left: 0.25rem !important;
    }

    .m-md-2 {
        margin: 0.5rem !important;
    }

    .mt-md-2,
    .my-md-2 {
        margin-top: 0.5rem !important;
    }

    .mr-md-2,
    .mx-md-2 {
        margin-right: 0.5rem !important;
    }

    .mb-md-2,
    .my-md-2 {
        margin-bottom: 0.5rem !important;
    }

    .ml-md-2,
    .mx-md-2 {
        margin-left: 0.5rem !important;
    }

    .m-md-3 {
        margin: 1rem !important;
    }

    .mt-md-3,
    .my-md-3 {
        margin-top: 1rem !important;
    }

    .mr-md-3,
    .mx-md-3 {
        margin-right: 1rem !important;
    }

    .mb-md-3,
    .my-md-3 {
        margin-bottom: 1rem !important;
    }

    .ml-md-3,
    .mx-md-3 {
        margin-left: 1rem !important;
    }

    .m-md-4 {
        margin: 1.5rem !important;
    }

    .mt-md-4,
    .my-md-4 {
        margin-top: 1.5rem !important;
    }

    .mr-md-4,
    .mx-md-4 {
        margin-right: 1.5rem !important;
    }

    .mb-md-4,
    .my-md-4 {
        margin-bottom: 1.5rem !important;
    }

    .ml-md-4,
    .mx-md-4 {
        margin-left: 1.5rem !important;
    }

    .m-md-5 {
        margin: 3rem !important;
    }

    .mt-md-5,
    .my-md-5 {
        margin-top: 3rem !important;
    }

    .mr-md-5,
    .mx-md-5 {
        margin-right: 3rem !important;
    }

    .mb-md-5,
    .my-md-5 {
        margin-bottom: 3rem !important;
    }

    .ml-md-5,
    .mx-md-5 {
        margin-left: 3rem !important;
    }

    .p-md-0 {
        padding: 0 !important;
    }

    .pt-md-0,
    .py-md-0 {
        padding-top: 0 !important;
    }

    .pr-md-0,
    .px-md-0 {
        padding-right: 0 !important;
    }

    .pb-md-0,
    .py-md-0 {
        padding-bottom: 0 !important;
    }

    .pl-md-0,
    .px-md-0 {
        padding-left: 0 !important;
    }

    .p-md-1 {
        padding: 0.25rem !important;
    }

    .pt-md-1,
    .py-md-1 {
        padding-top: 0.25rem !important;
    }

    .pr-md-1,
    .px-md-1 {
        padding-right: 0.25rem !important;
    }

    .pb-md-1,
    .py-md-1 {
        padding-bottom: 0.25rem !important;
    }

    .pl-md-1,
    .px-md-1 {
        padding-left: 0.25rem !important;
    }

    .p-md-2 {
        padding: 0.5rem !important;
    }

    .pt-md-2,
    .py-md-2 {
        padding-top: 0.5rem !important;
    }

    .pr-md-2,
    .px-md-2 {
        padding-right: 0.5rem !important;
    }

    .pb-md-2,
    .py-md-2 {
        padding-bottom: 0.5rem !important;
    }

    .pl-md-2,
    .px-md-2 {
        padding-left: 0.5rem !important;
    }

    .p-md-3 {
        padding: 1rem !important;
    }

    .pt-md-3,
    .py-md-3 {
        padding-top: 1rem !important;
    }

    .pr-md-3,
    .px-md-3 {
        padding-right: 1rem !important;
    }

    .pb-md-3,
    .py-md-3 {
        padding-bottom: 1rem !important;
    }

    .pl-md-3,
    .px-md-3 {
        padding-left: 1rem !important;
    }

    .p-md-4 {
        padding: 1.5rem !important;
    }

    .pt-md-4,
    .py-md-4 {
        padding-top: 1.5rem !important;
    }

    .pr-md-4,
    .px-md-4 {
        padding-right: 1.5rem !important;
    }

    .pb-md-4,
    .py-md-4 {
        padding-bottom: 1.5rem !important;
    }

    .pl-md-4,
    .px-md-4 {
        padding-left: 1.5rem !important;
    }

    .p-md-5 {
        padding: 3rem !important;
    }

    .pt-md-5,
    .py-md-5 {
        padding-top: 3rem !important;
    }

    .pr-md-5,
    .px-md-5 {
        padding-right: 3rem !important;
    }

    .pb-md-5,
    .py-md-5 {
        padding-bottom: 3rem !important;
    }

    .pl-md-5,
    .px-md-5 {
        padding-left: 3rem !important;
    }

    .m-md-n1 {
        margin: -0.25rem !important;
    }

    .mt-md-n1,
    .my-md-n1 {
        margin-top: -0.25rem !important;
    }

    .mr-md-n1,
    .mx-md-n1 {
        margin-right: -0.25rem !important;
    }

    .mb-md-n1,
    .my-md-n1 {
        margin-bottom: -0.25rem !important;
    }

    .ml-md-n1,
    .mx-md-n1 {
        margin-left: -0.25rem !important;
    }

    .m-md-n2 {
        margin: -0.5rem !important;
    }

    .mt-md-n2,
    .my-md-n2 {
        margin-top: -0.5rem !important;
    }

    .mr-md-n2,
    .mx-md-n2 {
        margin-right: -0.5rem !important;
    }

    .mb-md-n2,
    .my-md-n2 {
        margin-bottom: -0.5rem !important;
    }

    .ml-md-n2,
    .mx-md-n2 {
        margin-left: -0.5rem !important;
    }

    .m-md-n3 {
        margin: -1rem !important;
    }

    .mt-md-n3,
    .my-md-n3 {
        margin-top: -1rem !important;
    }

    .mr-md-n3,
    .mx-md-n3 {
        margin-right: -1rem !important;
    }

    .mb-md-n3,
    .my-md-n3 {
        margin-bottom: -1rem !important;
    }

    .ml-md-n3,
    .mx-md-n3 {
        margin-left: -1rem !important;
    }

    .m-md-n4 {
        margin: -1.5rem !important;
    }

    .mt-md-n4,
    .my-md-n4 {
        margin-top: -1.5rem !important;
    }

    .mr-md-n4,
    .mx-md-n4 {
        margin-right: -1.5rem !important;
    }

    .mb-md-n4,
    .my-md-n4 {
        margin-bottom: -1.5rem !important;
    }

    .ml-md-n4,
    .mx-md-n4 {
        margin-left: -1.5rem !important;
    }

    .m-md-n5 {
        margin: -3rem !important;
    }

    .mt-md-n5,
    .my-md-n5 {
        margin-top: -3rem !important;
    }

    .mr-md-n5,
    .mx-md-n5 {
        margin-right: -3rem !important;
    }

    .mb-md-n5,
    .my-md-n5 {
        margin-bottom: -3rem !important;
    }

    .ml-md-n5,
    .mx-md-n5 {
        margin-left: -3rem !important;
    }

    .m-md-auto {
        margin: auto !important;
    }

    .mt-md-auto,
    .my-md-auto {
        margin-top: auto !important;
    }

    .mr-md-auto,
    .mx-md-auto {
        margin-right: auto !important;
    }

    .mb-md-auto,
    .my-md-auto {
        margin-bottom: auto !important;
    }

    .ml-md-auto,
    .mx-md-auto {
        margin-left: auto !important;
    }
}

@media (min-width: 992px) {
    .m-lg-0 {
        margin: 0 !important;
    }

    .mt-lg-0,
    .my-lg-0 {
        margin-top: 0 !important;
    }

    .mr-lg-0,
    .mx-lg-0 {
        margin-right: 0 !important;
    }

    .mb-lg-0,
    .my-lg-0 {
        margin-bottom: 0 !important;
    }

    .ml-lg-0,
    .mx-lg-0 {
        margin-left: 0 !important;
    }

    .m-lg-1 {
        margin: 0.25rem !important;
    }

    .mt-lg-1,
    .my-lg-1 {
        margin-top: 0.25rem !important;
    }

    .mr-lg-1,
    .mx-lg-1 {
        margin-right: 0.25rem !important;
    }

    .mb-lg-1,
    .my-lg-1 {
        margin-bottom: 0.25rem !important;
    }

    .ml-lg-1,
    .mx-lg-1 {
        margin-left: 0.25rem !important;
    }

    .m-lg-2 {
        margin: 0.5rem !important;
    }

    .mt-lg-2,
    .my-lg-2 {
        margin-top: 0.5rem !important;
    }

    .mr-lg-2,
    .mx-lg-2 {
        margin-right: 0.5rem !important;
    }

    .mb-lg-2,
    .my-lg-2 {
        margin-bottom: 0.5rem !important;
    }

    .ml-lg-2,
    .mx-lg-2 {
        margin-left: 0.5rem !important;
    }

    .m-lg-3 {
        margin: 1rem !important;
    }

    .mt-lg-3,
    .my-lg-3 {
        margin-top: 1rem !important;
    }

    .mr-lg-3,
    .mx-lg-3 {
        margin-right: 1rem !important;
    }

    .mb-lg-3,
    .my-lg-3 {
        margin-bottom: 1rem !important;
    }

    .ml-lg-3,
    .mx-lg-3 {
        margin-left: 1rem !important;
    }

    .m-lg-4 {
        margin: 1.5rem !important;
    }

    .mt-lg-4,
    .my-lg-4 {
        margin-top: 1.5rem !important;
    }

    .mr-lg-4,
    .mx-lg-4 {
        margin-right: 1.5rem !important;
    }

    .mb-lg-4,
    .my-lg-4 {
        margin-bottom: 1.5rem !important;
    }

    .ml-lg-4,
    .mx-lg-4 {
        margin-left: 1.5rem !important;
    }

    .m-lg-5 {
        margin: 3rem !important;
    }

    .mt-lg-5,
    .my-lg-5 {
        margin-top: 3rem !important;
    }

    .mr-lg-5,
    .mx-lg-5 {
        margin-right: 3rem !important;
    }

    .mb-lg-5,
    .my-lg-5 {
        margin-bottom: 3rem !important;
    }

    .ml-lg-5,
    .mx-lg-5 {
        margin-left: 3rem !important;
    }

    .p-lg-0 {
        padding: 0 !important;
    }

    .pt-lg-0,
    .py-lg-0 {
        padding-top: 0 !important;
    }

    .pr-lg-0,
    .px-lg-0 {
        padding-right: 0 !important;
    }

    .pb-lg-0,
    .py-lg-0 {
        padding-bottom: 0 !important;
    }

    .pl-lg-0,
    .px-lg-0 {
        padding-left: 0 !important;
    }

    .p-lg-1 {
        padding: 0.25rem !important;
    }

    .pt-lg-1,
    .py-lg-1 {
        padding-top: 0.25rem !important;
    }

    .pr-lg-1,
    .px-lg-1 {
        padding-right: 0.25rem !important;
    }

    .pb-lg-1,
    .py-lg-1 {
        padding-bottom: 0.25rem !important;
    }

    .pl-lg-1,
    .px-lg-1 {
        padding-left: 0.25rem !important;
    }

    .p-lg-2 {
        padding: 0.5rem !important;
    }

    .pt-lg-2,
    .py-lg-2 {
        padding-top: 0.5rem !important;
    }

    .pr-lg-2,
    .px-lg-2 {
        padding-right: 0.5rem !important;
    }

    .pb-lg-2,
    .py-lg-2 {
        padding-bottom: 0.5rem !important;
    }

    .pl-lg-2,
    .px-lg-2 {
        padding-left: 0.5rem !important;
    }

    .p-lg-3 {
        padding: 1rem !important;
    }

    .pt-lg-3,
    .py-lg-3 {
        padding-top: 1rem !important;
    }

    .pr-lg-3,
    .px-lg-3 {
        padding-right: 1rem !important;
    }

    .pb-lg-3,
    .py-lg-3 {
        padding-bottom: 1rem !important;
    }

    .pl-lg-3,
    .px-lg-3 {
        padding-left: 1rem !important;
    }

    .p-lg-4 {
        padding: 1.5rem !important;
    }

    .pt-lg-4,
    .py-lg-4 {
        padding-top: 1.5rem !important;
    }

    .pr-lg-4,
    .px-lg-4 {
        padding-right: 1.5rem !important;
    }

    .pb-lg-4,
    .py-lg-4 {
        padding-bottom: 1.5rem !important;
    }

    .pl-lg-4,
    .px-lg-4 {
        padding-left: 1.5rem !important;
    }

    .p-lg-5 {
        padding: 3rem !important;
    }

    .pt-lg-5,
    .py-lg-5 {
        padding-top: 3rem !important;
    }

    .pr-lg-5,
    .px-lg-5 {
        padding-right: 3rem !important;
    }

    .pb-lg-5,
    .py-lg-5 {
        padding-bottom: 3rem !important;
    }

    .pl-lg-5,
    .px-lg-5 {
        padding-left: 3rem !important;
    }

    .m-lg-n1 {
        margin: -0.25rem !important;
    }

    .mt-lg-n1,
    .my-lg-n1 {
        margin-top: -0.25rem !important;
    }

    .mr-lg-n1,
    .mx-lg-n1 {
        margin-right: -0.25rem !important;
    }

    .mb-lg-n1,
    .my-lg-n1 {
        margin-bottom: -0.25rem !important;
    }

    .ml-lg-n1,
    .mx-lg-n1 {
        margin-left: -0.25rem !important;
    }

    .m-lg-n2 {
        margin: -0.5rem !important;
    }

    .mt-lg-n2,
    .my-lg-n2 {
        margin-top: -0.5rem !important;
    }

    .mr-lg-n2,
    .mx-lg-n2 {
        margin-right: -0.5rem !important;
    }

    .mb-lg-n2,
    .my-lg-n2 {
        margin-bottom: -0.5rem !important;
    }

    .ml-lg-n2,
    .mx-lg-n2 {
        margin-left: -0.5rem !important;
    }

    .m-lg-n3 {
        margin: -1rem !important;
    }

    .mt-lg-n3,
    .my-lg-n3 {
        margin-top: -1rem !important;
    }

    .mr-lg-n3,
    .mx-lg-n3 {
        margin-right: -1rem !important;
    }

    .mb-lg-n3,
    .my-lg-n3 {
        margin-bottom: -1rem !important;
    }

    .ml-lg-n3,
    .mx-lg-n3 {
        margin-left: -1rem !important;
    }

    .m-lg-n4 {
        margin: -1.5rem !important;
    }

    .mt-lg-n4,
    .my-lg-n4 {
        margin-top: -1.5rem !important;
    }

    .mr-lg-n4,
    .mx-lg-n4 {
        margin-right: -1.5rem !important;
    }

    .mb-lg-n4,
    .my-lg-n4 {
        margin-bottom: -1.5rem !important;
    }

    .ml-lg-n4,
    .mx-lg-n4 {
        margin-left: -1.5rem !important;
    }

    .m-lg-n5 {
        margin: -3rem !important;
    }

    .mt-lg-n5,
    .my-lg-n5 {
        margin-top: -3rem !important;
    }

    .mr-lg-n5,
    .mx-lg-n5 {
        margin-right: -3rem !important;
    }

    .mb-lg-n5,
    .my-lg-n5 {
        margin-bottom: -3rem !important;
    }

    .ml-lg-n5,
    .mx-lg-n5 {
        margin-left: -3rem !important;
    }

    .m-lg-auto {
        margin: auto !important;
    }

    .mt-lg-auto,
    .my-lg-auto {
        margin-top: auto !important;
    }

    .mr-lg-auto,
    .mx-lg-auto {
        margin-right: auto !important;
    }

    .mb-lg-auto,
    .my-lg-auto {
        margin-bottom: auto !important;
    }

    .ml-lg-auto,
    .mx-lg-auto {
        margin-left: auto !important;
    }
}

@media (min-width: 1200px) {
    .m-xl-0 {
        margin: 0 !important;
    }

    .mt-xl-0,
    .my-xl-0 {
        margin-top: 0 !important;
    }

    .mr-xl-0,
    .mx-xl-0 {
        margin-right: 0 !important;
    }

    .mb-xl-0,
    .my-xl-0 {
        margin-bottom: 0 !important;
    }

    .ml-xl-0,
    .mx-xl-0 {
        margin-left: 0 !important;
    }

    .m-xl-1 {
        margin: 0.25rem !important;
    }

    .mt-xl-1,
    .my-xl-1 {
        margin-top: 0.25rem !important;
    }

    .mr-xl-1,
    .mx-xl-1 {
        margin-right: 0.25rem !important;
    }

    .mb-xl-1,
    .my-xl-1 {
        margin-bottom: 0.25rem !important;
    }

    .ml-xl-1,
    .mx-xl-1 {
        margin-left: 0.25rem !important;
    }

    .m-xl-2 {
        margin: 0.5rem !important;
    }

    .mt-xl-2,
    .my-xl-2 {
        margin-top: 0.5rem !important;
    }

    .mr-xl-2,
    .mx-xl-2 {
        margin-right: 0.5rem !important;
    }

    .mb-xl-2,
    .my-xl-2 {
        margin-bottom: 0.5rem !important;
    }

    .ml-xl-2,
    .mx-xl-2 {
        margin-left: 0.5rem !important;
    }

    .m-xl-3 {
        margin: 1rem !important;
    }

    .mt-xl-3,
    .my-xl-3 {
        margin-top: 1rem !important;
    }

    .mr-xl-3,
    .mx-xl-3 {
        margin-right: 1rem !important;
    }

    .mb-xl-3,
    .my-xl-3 {
        margin-bottom: 1rem !important;
    }

    .ml-xl-3,
    .mx-xl-3 {
        margin-left: 1rem !important;
    }

    .m-xl-4 {
        margin: 1.5rem !important;
    }

    .mt-xl-4,
    .my-xl-4 {
        margin-top: 1.5rem !important;
    }

    .mr-xl-4,
    .mx-xl-4 {
        margin-right: 1.5rem !important;
    }

    .mb-xl-4,
    .my-xl-4 {
        margin-bottom: 1.5rem !important;
    }

    .ml-xl-4,
    .mx-xl-4 {
        margin-left: 1.5rem !important;
    }

    .m-xl-5 {
        margin: 3rem !important;
    }

    .mt-xl-5,
    .my-xl-5 {
        margin-top: 3rem !important;
    }

    .mr-xl-5,
    .mx-xl-5 {
        margin-right: 3rem !important;
    }

    .mb-xl-5,
    .my-xl-5 {
        margin-bottom: 3rem !important;
    }

    .ml-xl-5,
    .mx-xl-5 {
        margin-left: 3rem !important;
    }

    .p-xl-0 {
        padding: 0 !important;
    }

    .pt-xl-0,
    .py-xl-0 {
        padding-top: 0 !important;
    }

    .pr-xl-0,
    .px-xl-0 {
        padding-right: 0 !important;
    }

    .pb-xl-0,
    .py-xl-0 {
        padding-bottom: 0 !important;
    }

    .pl-xl-0,
    .px-xl-0 {
        padding-left: 0 !important;
    }

    .p-xl-1 {
        padding: 0.25rem !important;
    }

    .pt-xl-1,
    .py-xl-1 {
        padding-top: 0.25rem !important;
    }

    .pr-xl-1,
    .px-xl-1 {
        padding-right: 0.25rem !important;
    }

    .pb-xl-1,
    .py-xl-1 {
        padding-bottom: 0.25rem !important;
    }

    .pl-xl-1,
    .px-xl-1 {
        padding-left: 0.25rem !important;
    }

    .p-xl-2 {
        padding: 0.5rem !important;
    }

    .pt-xl-2,
    .py-xl-2 {
        padding-top: 0.5rem !important;
    }

    .pr-xl-2,
    .px-xl-2 {
        padding-right: 0.5rem !important;
    }

    .pb-xl-2,
    .py-xl-2 {
        padding-bottom: 0.5rem !important;
    }

    .pl-xl-2,
    .px-xl-2 {
        padding-left: 0.5rem !important;
    }

    .p-xl-3 {
        padding: 1rem !important;
    }

    .pt-xl-3,
    .py-xl-3 {
        padding-top: 1rem !important;
    }

    .pr-xl-3,
    .px-xl-3 {
        padding-right: 1rem !important;
    }

    .pb-xl-3,
    .py-xl-3 {
        padding-bottom: 1rem !important;
    }

    .pl-xl-3,
    .px-xl-3 {
        padding-left: 1rem !important;
    }

    .p-xl-4 {
        padding: 1.5rem !important;
    }

    .pt-xl-4,
    .py-xl-4 {
        padding-top: 1.5rem !important;
    }

    .pr-xl-4,
    .px-xl-4 {
        padding-right: 1.5rem !important;
    }

    .pb-xl-4,
    .py-xl-4 {
        padding-bottom: 1.5rem !important;
    }

    .pl-xl-4,
    .px-xl-4 {
        padding-left: 1.5rem !important;
    }

    .p-xl-5 {
        padding: 3rem !important;
    }

    .pt-xl-5,
    .py-xl-5 {
        padding-top: 3rem !important;
    }

    .pr-xl-5,
    .px-xl-5 {
        padding-right: 3rem !important;
    }

    .pb-xl-5,
    .py-xl-5 {
        padding-bottom: 3rem !important;
    }

    .pl-xl-5,
    .px-xl-5 {
        padding-left: 3rem !important;
    }

    .m-xl-n1 {
        margin: -0.25rem !important;
    }

    .mt-xl-n1,
    .my-xl-n1 {
        margin-top: -0.25rem !important;
    }

    .mr-xl-n1,
    .mx-xl-n1 {
        margin-right: -0.25rem !important;
    }

    .mb-xl-n1,
    .my-xl-n1 {
        margin-bottom: -0.25rem !important;
    }

    .ml-xl-n1,
    .mx-xl-n1 {
        margin-left: -0.25rem !important;
    }

    .m-xl-n2 {
        margin: -0.5rem !important;
    }

    .mt-xl-n2,
    .my-xl-n2 {
        margin-top: -0.5rem !important;
    }

    .mr-xl-n2,
    .mx-xl-n2 {
        margin-right: -0.5rem !important;
    }

    .mb-xl-n2,
    .my-xl-n2 {
        margin-bottom: -0.5rem !important;
    }

    .ml-xl-n2,
    .mx-xl-n2 {
        margin-left: -0.5rem !important;
    }

    .m-xl-n3 {
        margin: -1rem !important;
    }

    .mt-xl-n3,
    .my-xl-n3 {
        margin-top: -1rem !important;
    }

    .mr-xl-n3,
    .mx-xl-n3 {
        margin-right: -1rem !important;
    }

    .mb-xl-n3,
    .my-xl-n3 {
        margin-bottom: -1rem !important;
    }

    .ml-xl-n3,
    .mx-xl-n3 {
        margin-left: -1rem !important;
    }

    .m-xl-n4 {
        margin: -1.5rem !important;
    }

    .mt-xl-n4,
    .my-xl-n4 {
        margin-top: -1.5rem !important;
    }

    .mr-xl-n4,
    .mx-xl-n4 {
        margin-right: -1.5rem !important;
    }

    .mb-xl-n4,
    .my-xl-n4 {
        margin-bottom: -1.5rem !important;
    }

    .ml-xl-n4,
    .mx-xl-n4 {
        margin-left: -1.5rem !important;
    }

    .m-xl-n5 {
        margin: -3rem !important;
    }

    .mt-xl-n5,
    .my-xl-n5 {
        margin-top: -3rem !important;
    }

    .mr-xl-n5,
    .mx-xl-n5 {
        margin-right: -3rem !important;
    }

    .mb-xl-n5,
    .my-xl-n5 {
        margin-bottom: -3rem !important;
    }

    .ml-xl-n5,
    .mx-xl-n5 {
        margin-left: -3rem !important;
    }

    .m-xl-auto {
        margin: auto !important;
    }

    .mt-xl-auto,
    .my-xl-auto {
        margin-top: auto !important;
    }

    .mr-xl-auto,
    .mx-xl-auto {
        margin-right: auto !important;
    }

    .mb-xl-auto,
    .my-xl-auto {
        margin-bottom: auto !important;
    }

    .ml-xl-auto,
    .mx-xl-auto {
        margin-left: auto !important;
    }
}

/*! Lity - v2.4.1 - 2020-04-26
* http://sorgalla.com/lity/
* Copyright (c) 2015-2020 Jan Sorgalla; Licensed MIT */
.lity {
    z-index: 9990;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    white-space: nowrap;
    background: #0b0b0b;
    background: rgba(0, 0, 0, 0.9);
    outline: none !important;
    opacity: 0;
    -webkit-transition: opacity 0.3s ease;
    -o-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
}

.lity.lity-opened {
    opacity: 1;
}

.lity.lity-closed {
    opacity: 0;
}

.lity * {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.lity-wrap {
    z-index: 9990;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    text-align: center;
    outline: none !important;
}

.lity-wrap:before {
    content: '';
    display: inline-block;
    height: 100%;
    vertical-align: middle;
    margin-right: -0.25em;
}

.lity-loader {
    z-index: 9991;
    color: #fff;
    position: absolute;
    top: 50%;
    margin-top: -0.8em;
    width: 100%;
    text-align: center;
    font-size: 14px;
    font-family: Arial, Helvetica, sans-serif;
    opacity: 0;
    -webkit-transition: opacity 0.3s ease;
    -o-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
}

.lity-loading .lity-loader {
    opacity: 1;
}

.lity-container {
    z-index: 9992;
    position: relative;
    text-align: left;
    vertical-align: middle;
    display: inline-block;
    white-space: normal;
    max-width: 100%;
    max-height: 100%;
    outline: none !important;
}

.lity-content {
    z-index: 9993;
    width: 100%;
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
    -webkit-transition: -webkit-transform 0.3s ease;
    transition: -webkit-transform 0.3s ease;
    -o-transition: -o-transform 0.3s ease;
    transition: transform 0.3s ease;
    transition: transform 0.3s ease, -webkit-transform 0.3s ease, -o-transform 0.3s ease;
}

.lity-loading .lity-content,
.lity-closed .lity-content {
    -webkit-transform: scale(0.8);
    -ms-transform: scale(0.8);
    -o-transform: scale(0.8);
    transform: scale(0.8);
}

.lity-content:after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    display: block;
    right: 0;
    width: auto;
    height: auto;
    z-index: -1;
    -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
}

.lity-close {
    z-index: 9994;
    width: 35px;
    height: 35px;
    position: fixed;
    right: 0;
    top: 0;
    -webkit-appearance: none;
    cursor: pointer;
    text-decoration: none;
    text-align: center;
    padding: 0;
    color: #fff;
    font-style: normal;
    font-size: 35px;
    font-family: Arial, Baskerville, monospace;
    line-height: 35px;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
    border: 0;
    background: none;
    outline: none;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.lity-close::-moz-focus-inner {
    border: 0;
    padding: 0;
}

.lity-close:hover,
.lity-close:focus,
.lity-close:active,
.lity-close:visited {
    text-decoration: none;
    text-align: center;
    padding: 0;
    color: #fff;
    font-style: normal;
    font-size: 35px;
    font-family: Arial, Baskerville, monospace;
    line-height: 35px;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
    border: 0;
    background: none;
    outline: none;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.lity-close:active {
    top: 1px;
}

/* Image */
.lity-image img {
    max-width: 100%;
    display: block;
    line-height: 0;
    border: 0;
}

/* iFrame */
.lity-iframe .lity-container,
.lity-youtube .lity-container,
.lity-vimeo .lity-container,
.lity-facebookvideo .lity-container,
.lity-googlemaps .lity-container {
    width: 100%;
    max-width: 964px;
}

.lity-iframe-container {
    width: 100%;
    height: 0;
    padding-top: 56.25%;
    overflow: auto;
    pointer-events: auto;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-overflow-scrolling: touch;
}

.lity-iframe-container iframe {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
    background: #000;
}

.lity-hide {
    display: none;
}

/* Magnific Popup CSS */
.mfp-bg {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9998;
    overflow: hidden;
    position: fixed;
    background: #0b0b0b;
    opacity: 0.8;
}

.mfp-wrap {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
    position: fixed;
    outline: none !important;
    -webkit-backface-visibility: hidden;
}

.mfp-container {
    text-align: center;
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    padding: 0 8px;
    box-sizing: border-box;
}

.mfp-container:before {
    content: '';
    display: inline-block;

    .tp-co-qty .tp-qty-btn {
        cursor: pointer;
        pointer-events: auto;
        user-select: none;
    }

    .tp-co-qty.is-loading {
        opacity: 0.65;
    }

    height: 100%;
    vertical-align: middle;
}

.mfp-align-top .mfp-container:before {
    display: none;
}

.mfp-content {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    margin: 0 auto;
    text-align: left;
    z-index: 1045;
}

.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content {
    width: 100%;
    cursor: auto;
}

.mfp-ajax-cur {
    cursor: progress;
}

.mfp-zoom-out-cur,
.mfp-zoom-out-cur .mfp-image-holder .mfp-close {
    cursor: -moz-zoom-out;
    cursor: -webkit-zoom-out;
    cursor: zoom-out;
}

.mfp-zoom {
    cursor: pointer;
    cursor: -webkit-zoom-in;
    cursor: -moz-zoom-in;
    cursor: zoom-in;
}

.mfp-auto-cursor .mfp-content {
    cursor: auto;
}

.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
}

.mfp-loading.mfp-figure {
    display: none;
}

.mfp-hide {
    display: none !important;
}

.mfp-preloader {
    color: #CCC;
    position: absolute;
    top: 50%;
    width: auto;
    text-align: center;
    margin-top: -0.8em;
    left: 8px;
    right: 8px;
    z-index: 1044;
}

.mfp-preloader a {
    color: #CCC;
}

.mfp-preloader a:hover {
    color: #FFF;
}

.mfp-s-ready .mfp-preloader {
    display: none;
}

.mfp-s-error .mfp-content {
    display: none;
}

button.mfp-close,
button.mfp-arrow {
    overflow: visible;
    cursor: pointer;
    background: transparent;
    border: 0;
    -webkit-appearance: none;
    display: block;
    outline: none;
    padding: 0;
    z-index: 1046;
    box-shadow: none;
    touch-action: manipulation;
}

button::-moz-focus-inner {
    padding: 0;
    border: 0;
}

.mfp-close {
    width: 44px;
    height: 44px;
    line-height: 44px;
    position: absolute;
    right: 0;
    top: 0;
    text-decoration: none;
    text-align: center;
    opacity: 0.65;
    padding: 0 0 18px 10px;
    color: #FFF;
    font-style: normal;
    font-size: 28px;
    font-family: Arial, Baskerville, monospace;
}

.mfp-close:hover,
.mfp-close:focus {
    opacity: 1;
}

.mfp-close:active {
    top: 1px;
}

.mfp-close-btn-in .mfp-close {
    color: #333;
}

.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
    color: #FFF;
    right: -6px;
    text-align: right;
    padding-right: 6px;
    width: 100%;
}

.mfp-counter {
    position: absolute;
    top: 0;
    right: 0;
    color: #CCC;
    font-size: 12px;
    line-height: 18px;
    white-space: nowrap;
}

.mfp-arrow {
    position: absolute;
    opacity: 0.65;
    margin: 0;
    top: 50%;
    margin-top: -55px;
    padding: 0;
    width: 90px;
    height: 110px;
    -webkit-tap-highlight-color: transparent;
}

.mfp-arrow:active {
    margin-top: -54px;
}

.mfp-arrow:hover,
.mfp-arrow:focus {
    opacity: 1;
}

.mfp-arrow:before,
.mfp-arrow:after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    position: absolute;
    left: 0;
    top: 0;
    margin-top: 35px;
    margin-left: 35px;
    border: medium inset transparent;
}

.mfp-arrow:after {
    border-top-width: 13px;
    border-bottom-width: 13px;
    top: 8px;
}

.mfp-arrow:before {
    border-top-width: 21px;
    border-bottom-width: 21px;
    opacity: 0.7;
}

.mfp-arrow-left {
    left: 0;
}

.mfp-arrow-left:after {
    border-right: 17px solid #FFF;
    margin-left: 31px;
}

.mfp-arrow-left:before {
    margin-left: 25px;
    border-right: 27px solid #3F3F3F;
}

.mfp-arrow-right {
    right: 0;
}

.mfp-arrow-right:after {
    border-left: 17px solid #FFF;
    margin-left: 39px;
}

.mfp-arrow-right:before {
    border-left: 27px solid #3F3F3F;
}

.mfp-iframe-holder {
    padding-top: 40px;
    padding-bottom: 40px;
}

.mfp-iframe-holder .mfp-content {
    line-height: 0;
    width: 100%;
    max-width: 900px;
}

.mfp-iframe-holder .mfp-close {
    top: -40px;
}

.mfp-iframe-scaler {
    width: 100%;
    height: 0;
    overflow: hidden;
    padding-top: 56.25%;
}

.mfp-iframe-scaler iframe {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
    background: #000;
}

/* Main image in popup */
img.mfp-img {
    width: auto;
    max-width: 100%;
    height: auto;
    display: block;
    line-height: 0;
    box-sizing: border-box;
    padding: 40px 0 40px;
    margin: 0 auto;
}

/* The shadow behind the image */
.mfp-figure {
    line-height: 0;
}

.mfp-figure:after {
    content: '';
    position: absolute;
    left: 0;
    top: 40px;
    bottom: 40px;
    display: block;
    right: 0;
    width: auto;
    height: auto;
    z-index: -1;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
    background: #444;
}

.mfp-figure small {
    color: #BDBDBD;
    display: block;
    font-size: 12px;
    line-height: 14px;
}

.mfp-figure figure {
    margin: 0;
}

.mfp-bottom-bar {
    display: none;
    margin-top: -36px;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    cursor: auto;
}

.mfp-title {
    text-align: left;
    line-height: 18px;
    color: #F3F3F3;
    word-wrap: break-word;
    padding-right: 36px;
}

.mfp-image-holder .mfp-content {
    max-width: 100%;
}

.mfp-gallery .mfp-image-holder .mfp-figure {
    cursor: pointer;
}

@media screen and (max-width: 800px) and (orientation: landscape),
screen and (max-height: 300px) {

    /**
       * Remove all paddings around the image on small screen
       */
    .mfp-img-mobile .mfp-image-holder {
        padding-left: 0;
        padding-right: 0;
    }

    .mfp-img-mobile img.mfp-img {
        padding: 0;
    }

    .mfp-img-mobile .mfp-figure:after {
        top: 0;
        bottom: 0;
    }

    .mfp-img-mobile .mfp-figure small {
        display: inline;
        margin-left: 5px;
    }

    .mfp-img-mobile .mfp-bottom-bar {
        background: rgba(0, 0, 0, 0.6);
        bottom: 0;
        margin: 0;
        top: auto;
        padding: 3px 5px;
        position: fixed;
        box-sizing: border-box;
    }

    .mfp-img-mobile .mfp-bottom-bar:empty {
        padding: 0;
    }

    .mfp-img-mobile .mfp-counter {
        right: 5px;
        top: 3px;
    }

    .mfp-img-mobile .mfp-close {
        top: 0;
        right: 0;
        width: 35px;
        height: 35px;
        line-height: 35px;
        background: rgba(0, 0, 0, 0.6);
        position: fixed;
        text-align: center;
        padding: 0;
    }
}

@media all and (max-width: 900px) {
    .mfp-arrow {
        -webkit-transform: scale(0.75);
        transform: scale(0.75);
    }

    .mfp-arrow-left {
        -webkit-transform-origin: 0;
        transform-origin: 0;
    }

    .mfp-arrow-right {
        -webkit-transform-origin: 100%;
        transform-origin: 100%;
    }

    .mfp-container {
        padding-left: 6px;
        padding-right: 6px;
    }
}

/* Slider */
.slick-loading .slick-list {
    background: #fff;
}

/* Arrows */
.slick-prev,
.slick-next {
    font-size: 0;
    line-height: 0;
    display: block;
    cursor: pointer;
    color: transparent;
    border: none;
    outline: none;
    background: transparent;
}

.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
    color: transparent;
    outline: none;
    background: transparent;
}

.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
    opacity: 1;
}

.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
    opacity: .25;
}

.slick-prev:before,
.slick-next:before {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.slick-prev {
    left: -25px;
}

[dir='rtl'] .slick-prev {
    right: -25px;
    left: auto;
}

.slick-prev:before {
    content: '←';
}

[dir='rtl'] .slick-prev:before {
    content: '→';
}

.slick-next {
    right: -25px;
}

[dir='rtl'] .slick-next {
    right: auto;
    left: -25px;
}

.slick-next:before {
    content: '→';
}

[dir='rtl'] .slick-next:before {
    content: '←';
}

/* Dots */
.slick-dots {
    position: absolute;
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
}

.slick-dots li {
    display: inline-block;
    cursor: pointer;
}

.slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 11px;
    height: 11px;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
}

.slick-dots li button:hover,
.slick-dots li button:focus {
    outline: none;
}

.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
    opacity: 1;
}

.slick-dots li button:before {
    display: none;
}

/* Slider */
.slick-slider {
    position: relative;
    display: block;
    box-sizing: border-box;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list {
    position: relative;
    display: block;
    overflow: hidden;
    margin: 0;
    padding: 0;
}

.slick-list:focus {
    outline: none;
}

.slick-list.dragging {
    cursor: pointer;
    cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}

.slick-track {
    position: relative;
    top: 0;
    left: 0;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.slick-track:before,
.slick-track:after {
    display: table;
    content: '';
}

.slick-track:after {
    clear: both;
}

.slick-loading .slick-track {
    visibility: hidden;
}

.slick-slide {
    display: none;
    float: left;
    min-height: 1px;
}

[dir='rtl'] .slick-slide {
    float: right;
}

.slick-slide img {
    display: block;
}

.slick-slide.slick-loading img {
    display: none;
}

.slick-slide.dragging img {
    pointer-events: none;
}

.slick-initialized .slick-slide {
    display: block;
}

.slick-loading .slick-slide {
    visibility: hidden;
}

.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
    display: none;
}

/* [ easy breakpoint ]
-------------------------------------------------*/
.clearfix:after {
    content: "";
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
    line-height: 0;
}

.clearfix {
    display: inline-block;
}

/* exlude MacIE5 \*/
* html .clearfix {
    height: 1%;
}

.clearfix {
    display: block;
}

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

p {
    margin: 0;
    padding: 0;
}

ol,
ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

input,
textarea {
    margin: 0;
    font-size: 100%;
    resize: none;
}

input[type="text"],
input[type="date"],
input[type="email"],
input[type="number"],
input[type="url"] {
    word-break: normal;
    white-space: nowrap;
    appearance: none;
    -webkit-appearance: none;
}

table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    font-size: 100%;
}

dl,
dt,
dd,
th,
td {
    margin: 0;
    padding: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    /*font-size: 100%;*/
    font-weight: normal;
    margin: 0;
    padding: 0;
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video,
dialog {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}

img {
    margin: 0;
    padding: 0;
    vertical-align: middle;
    border: 0;
    max-width: 100%;
    height: auto;
}

html {
    font-size: 62.5%;
    text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
}

body {
    font-family: "Inter", sans-serif;
    font-size: 16px;
    line-height: 24px;
    line-height: 1.5em;
    letter-spacing: 0.05em;
    font-weight: 400;
    width: 100%;
    color: #000;
    margin: 0;
    padding: 0;
    height: 100%;
    word-break: break-word;
}

a {
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    color: #daa14c;
    text-decoration: none;
}

@media only screen and (min-width: 992px) {
    a:hover {
        opacity: 0.75;
    }
}

@media only screen and (min-width: 768px) {

    .sp,
    .SP {
        display: none !important;
    }
}

@media (max-width: 767px) {

    .pc,
    .PC {
        display: none !important;
    }
}

.editor {
    padding-bottom: 20px;
    margin-top: 40px;
}

.editor h3 {
    margin-bottom: 20px;
    font-size: 20px;
    line-height: 26px;
    line-height: 1.3em;
    letter-spacing: 0em;
    font-weight: 700;
}

@media (max-width: 767px) {
    .editor h3 {
        font-size: 18px;
        line-height: 24px;
        line-height: 1.33333em;
        margin-bottom: 15px;
    }
}

.editor p {
    font-size: 16px;
    line-height: 28px;
    line-height: 1.75em;
    margin-bottom: 25px;
}

.editor ul,
.editor ol {
    padding-left: 20px;
    margin-bottom: 25px;
}

.editor ul li,
.editor ol li {
    font-size: 16px;
    line-height: 28px;
    line-height: 1.75em;
}

.editor table {
    margin-bottom: 25px;
}

/* Media alignment inside editor content */
.editor img {
    max-width: 100%;
    height: auto;
}

.editor figure {
    margin: 0 0 20px;
}

.editor .wp-block-image img {
    display: block;
}

.editor .wp-block-image figcaption,
.editor .wp-caption-text,
.editor figcaption {
    font-size: 14px;
    line-height: 1.5;
    color: #555;
    text-align: center;
    margin-top: 8px;
}

/* Classic editor classes */
.editor .alignleft {
    float: left;
    margin: 0 20px 20px 0;
}

.editor .alignright {
    float: right;
    margin: 0 0 20px 20px;
}

.editor .aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    clear: both;
}

/* Gutenberg alignment classes on figures */
.editor .wp-block-image.alignleft,
.editor figure.alignleft {
    float: left;
    margin: 0 20px 20px 0;
}

.editor .wp-block-image.alignright,
.editor figure.alignright {
    float: right;
    margin: 0 0 20px 20px;
}

.editor .wp-block-image.aligncenter,
.editor figure.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    clear: both;
}

/* Captions for classic editor */
.editor .wp-caption {
    max-width: 100%;
    text-align: center;
}

.editor .wp-caption img {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

/* Embedded media responsiveness */
.editor iframe,
.editor video,
.editor embed,
.editor object {
    max-width: 100%;
}

@media (max-width: 767px) {

    /* Drop floats on small screens for better layout */
    .editor .alignleft,
    .editor .alignright,
    .editor .wp-block-image.alignleft,
    .editor .wp-block-image.alignright,
    .editor figure.alignleft,
    .editor figure.alignright {
        float: none;
        display: block;
        margin: 0 auto 20px;
    }
}

.primary-button,
a.primary-button,
button.primary-button {
    cursor: pointer;
    border: none;
    outline: 0;
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI2IiBoZWlnaHQ9IjEyLjAwMSIgdmlld0JveD0iMCAwIDYgMTIuMDAxIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjcuOTk4IC05NTguMzQ2KSI+PHBhdGggZD0iTTM0LDk2NC4zMDhhLjU0NS41NDUsMCwwLDAtLjEzNi0uMzI4bC00LjkwOC01LjQ1M2EuNTQ4LjU0OCwwLDAsMC0uODE0LjczM2w0LjU4LDUuMDg3LTQuNTgsNS4wODdhLjU0OC41NDgsMCwwLDAsLjgxNC43MzNsNC45MDgtNS40NTNBLjU0NS41NDUsMCwwLDAsMzQsOTY0LjMwOFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMCkiIGZpbGw9IiNmZmYiLz48L2c+PC9zdmc+");
    background-color: #daa14c;
    background-position: right 15px center;
    background-repeat: no-repeat;
    background-size: 6px 12px;
    border-radius: 999px;
    -webkit-border-radius: 999px;
    -moz-border-radius: 999px;
    font-size: 16px;
    line-height: 22px;
    line-height: 1.375em;
    letter-spacing: 0.05em;
    font-weight: 400;
    color: #fff;
    display: block;
    text-decoration: none;
    padding: 14px 20px;
    text-align: center;
    margin: 0 auto;
    max-width: 190px;
    width: 100%;
    -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.03);
    -moz-box-shadow: 0 0 10px rgba(0, 0, 0, 0.03);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.03);
}

.primary-button.white,
a.primary-button.white,
button.primary-button.white {
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1Ljk4OCIgaGVpZ2h0PSIxMS45NzUiIHZpZXdCb3g9IjAgMCA1Ljk4OCAxMS45NzUiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yOC4wMTMgLTk1OC4zNTkpIj48cGF0aCBkPSJNMzQsOTY0LjMwOGEuNTQ1LjU0NSwwLDAsMC0uMTM2LS4zMjhsLTQuOTA4LTUuNDUzYS41NDguNTQ4LDAsMCwwLS44MTQuNzMzbDQuNTgsNS4wODctNC41OCw1LjA4N2EuNTQ4LjU0OCwwLDAsMCwuODE0LjczM2w0LjkwOC01LjQ1M2EuNTQ1LjU0NSwwLDAsMCwuMTM2LS40MDZaIi8+PC9nPjwvc3ZnPg==");
    background-color: #fff;
    color: #000;
}

.primary-button.gray,
a.primary-button.gray,
button.primary-button.gray {
    background-color: #30373e;
}

.cm-title-box .sub-ttl {
    text-transform: uppercase;
    color: #daa14c;
    font-size: 24px;
    line-height: 22px;
    line-height: 1.42857em;
    letter-spacing: 0.1em;
    font-weight: 500;
    margin-bottom: 0px;
}

@media (max-width: 767px) {
    .cm-title-box .sub-ttl {
        font-size: 18px;
        line-height: 20px;
        text-align: center;
    }
}

.cm-title-box .main-ttl {
    font-size: 18px;
    line-height: 50px;
    line-height: 1.19048em;
    letter-spacing: 0em;
    font-weight: 600;
    color: #fff;
}

@media (max-width: 767px) {
    .cm-title-box .main-ttl {
        text-align: center;
        font-size: 14px;
        line-height: 40px;
        line-height: 1.25em;
    }
}

.cm-title-box .main-desc {
    color: #fff;
    margin-top: 30px;
}

.cm-title-box.center {
    text-align: center;
}

.primary-title {
    font-size: 36px;
    line-height: 42px;
    line-height: 1.16667em;
    margin-bottom: 25px;
    font-weight: 600;
    text-align: center;
    color: #daa14c;
}

@media (max-width: 767px) {
    .primary-title {
        font-size: 26px;
        line-height: 32px;
        line-height: 1.23077em;
    }
}

.primary-title:after {
    content: '';
    display: block;
    margin: 20px auto 0;
    height: 2px;
    width: 50px;
    background: #daa14c;
    border-radius: 2px;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
}

@media (max-width: 767px) {
    .primary-title:after {
        margin-top: 15px;
    }
}

.secondary-title {
    font-size: 26px;
    line-height: 30px;
    line-height: 1.15385em;
    margin-bottom: 25px;
    font-weight: 600;
    text-transform: uppercase;
    color: #daa14c;
}

@media (max-width: 767px) {
    .secondary-title {
        font-size: 22px;
        line-height: 26px;
        line-height: 1.18182em;
        margin-bottom: 20px;
    }
}

.add-to-cart,
a.add-to-cart,
button.add-to-cart {
    border: none;
    outline: 0;
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxOCIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE4IDE2Ij48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMi41IC02LjUpIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyLjUgNi41KSI+PHBhdGggZD0iTTE5LjUsMjYuMjM5QTEuNzMxLDEuNzMxLDAsMSwwLDIxLjIzMSwyNC41LDEuNzM1LDEuNzM1LDAsMCwwLDE5LjUsMjYuMjM5Wm0yLjc2OSwwQTEuMDM4LDEuMDM4LDAsMSwxLDIxLjIzMSwyNS4yLDEuMDQxLDEuMDQxLDAsMCwxLDIyLjI2OSwyNi4yMzlaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNy43MzEgLTExLjk3OCkiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMTEuNSwyNi4yMzlBMS43MzEsMS43MzEsMCwxLDAsMTMuMjMxLDI0LjUsMS43MzUsMS43MzUsMCwwLDAsMTEuNSwyNi4yMzlabTIuNzY5LDBBMS4wMzgsMS4wMzgsMCwxLDEsMTMuMjMxLDI1LjIsMS4wNDEsMS4wNDEsMCwwLDEsMTQuMjY5LDI2LjIzOVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC01LjI2OSAtMTEuOTc4KSIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik0yLjg0Niw3LjJINS40ODhjLjQ4NiwyLjI5Mi4xNTQuNDk0LDEuODY0LDEwLjE0OGEuMzQ3LjM0NywwLDAsMCwuMzQxLjI4N0gxOC43NjlhLjM0Ny4zNDcsMCwwLDAsLjMzOS0uMjhsMS4zODUtNi45NTdhLjM0OS4zNDksMCwwLDAtLjA3Mi0uMjg5LjM0Ni4zNDYsMCwwLDAtLjI2OC0uMTI3SDYuNzVjLS4yNTItMS40MDUtLjExMi0uNy0uNjQzLTMuMkEuMzY1LjM2NSwwLDAsMCw1Ljc2OCw2LjVIMi44NDZhLjM0OC4zNDgsMCwwLDAsMCwuN1ptMTYuODg2LDMuNDc4LTEuMjQ2LDYuMjYxSDcuOTgyTDYuODczLDEwLjY3NFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yLjUgLTYuNSkiIGZpbGw9IiNmZmYiLz48L2c+PC9nPjwvc3ZnPg==");
    background-color: #daa14c;
    background-position: right 10px center;
    background-repeat: no-repeat;
    background-size: 18px 16px;
    border-radius: 999px;
    -webkit-border-radius: 999px;
    -moz-border-radius: 999px;
    font-size: 16px;
    line-height: 22px;
    line-height: 1.375em;
    color: #fff;
    display: block;
    text-decoration: none;
    padding: 14px 20px;
    text-align: center;
    margin: 0 auto;
    max-width: 225px;
    width: 100%;
}

#footer {
    background: url("../images/default/bg02.jpg") 0 0/cover no-repeat;
    position: relative;
    isolation: isolate;
}

#footer:after {
    content: '';
    background-color: rgba(31, 36, 43, 0.7);
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}

#footer [class*=col-] {
    padding-top: 15px;
    padding-bottom: 15px;
}

#footer .footer-hotline {
    padding: 100px 0;
    border-bottom: 1px solid #ffffff10;
}

@media (max-width: 767px) {
    #footer .footer-hotline {
        padding: 60px 0;
    }
}

#footer .footer-hotline .hotline {
    text-align: center;
    color: #daa14c;
    font-size: 28px;
    line-height: 40px;
    line-height: 1.42857em;
    letter-spacing: 0.08em;
    font-weight: 600;
    margin-top: 60px;
}

@media (max-width: 767px) {
    #footer .footer-hotline .hotline {
        font-size: 20px;
    }
}

#footer .footer-hotline .hotline small {
    font-size: 18px;
}

@media (max-width: 767px) {
    #footer .footer-hotline .hotline small {
        font-size: 15px;
    }
}

#footer .footer-hotline .hotline a {
    display: inline-block;
    background-color: #daa14c;
    color: #fff;
    border-radius: 999px;
    padding: 10px 25px;
}

#footer .footer-info {
    padding: 10px 0;
}

@media (max-width: 767px) {
    #footer .footer-info {
        padding: 30px 0;
    }
}

#footer .footer-info .hotline-list {
    margin-top: 30px;
    color: #fff;
}

#footer .footer-info .hotline-list .ttl {
    color: #fff;
    margin-bottom: 10px;
}

#footer .footer-info .hotline-list a {
    display: inline-block;
    margin-bottom: 5px;
    margin-left: 10px;
}

/* Footer: dark layout (reference style) */
#footer .footer-info.footer-info--dark {
    padding: 10px 0;
    color: #fff;
    background: transparent;
}

@media (max-width: 767px) {
    #footer .footer-info.footer-info--dark {
        padding: 10px 0;
    }
}

#footer .footer-dark-grid>[class*=col-] {
    padding-top: 18px;
    padding-bottom: 18px;
}

#footer .footer-dark-col {
    height: 100%;
}

@media (min-width: 992px) {
    #footer .footer-col-mid {
        display: flex;
        justify-content: center;
    }

    #footer .footer-col-mid .footer-dark-col {
        width: 100%;
        max-width: 320px;
    }
}

#footer .footer-brand-logo img {
    display: block;
    max-width: 220px;
    height: auto;
}

#footer .footer-dark-text {
    margin-top: 14px;
    max-width: 440px;
    color: rgba(255, 255, 255, .92);
    font-size: 16px;
    line-height: 1.7;
}

#footer .footer-cta {
    display: inline-block;
    margin-top: 14px;
    color: #fff;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
    text-decoration: none;
    border-bottom: 2px solid var(--tp-accent);
    padding-bottom: 2px;
}

#footer .footer-cta:hover {
    opacity: .9;
}

#footer .footer-dark-title {
    margin: 0 0 14px;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--tp-accent);
    font-size: 20px;
}

#footer .footer-social--dark {
    display: flex;
    gap: 12px;
    margin-top: 14px;
    color: #fff;
}

#footer .footer-social--dark .social-ico {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, .35);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    color: #fff;
}

#footer .footer-social--dark .social-ico:hover {
    transform: translateY(-1px);
    border-color: rgba(255, 255, 255, .6);
}

#footer .footer-contact,
#footer .footer-quicklinks {
    list-style: none;
    padding: 0;
    margin: 0;
}

#footer .footer-contact li {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    margin: 0 0 14px;
}

#footer .footer-contact li:last-child {
    margin-bottom: 0;
}

#footer .footer-contact a {
    color: #fff;
    text-decoration: none;
}

#footer .footer-contact a:hover {
    text-decoration: underline;
}

#footer .footer-contact .fc-ico {
    width: 32px;
    height: 32px;
    border-radius: 10px;
    color: var(--tp-accent);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 32px;
    background: rgba(0, 0, 0, .25);
    border: 1px solid rgba(255, 255, 255, .14);
}

#footer .footer-contact .fc-text {
    color: rgba(255, 255, 255, .92);
    line-height: 1.6;
}

#footer .footer-quicklinks li {
    margin: 0 0 12px;
}

#footer .footer-quicklinks li:last-child {
    margin-bottom: 0;
}

#footer .footer-quicklinks a {
    color: rgba(255, 255, 255, .92);
    text-decoration: none;
    font-size: 16px;
}

#footer .footer-quicklinks a:hover {
    text-decoration: underline;
}

/* Footer: 4-column light layout (matches provided design) */
#footer .footer-info.footer-info--light {
    padding: 34px 0;
    background: #f2f2f2;
    color: #333;
}

#footer .footer-info.footer-info--light a {
    color: inherit;
}

#footer .footer-grid>[class*=col-] {
    padding-top: 18px;
    padding-bottom: 18px;
}

#footer .footer-col-title {
    display: inline-block;
    margin: 0 0 14px;
    padding-bottom: 8px;
    font-weight: 800;
    font-size: 18px;
    text-transform: uppercase;
    color: var(--tp-accent);
    border-bottom: 2px solid var(--tp-accent);
}

#footer .footer-text {
    font-size: 15px;
    line-height: 1.55;
    color: #444;
    margin: 0 0 10px;
}

#footer .footer-links {
    list-style: none;
    padding: 0;
    margin: 0;
}

#footer .footer-links li {
    margin: 0 0 10px;
}

#footer .footer-links li:last-child {
    margin-bottom: 0;
}

#footer .footer-links a {
    text-decoration: none;
    color: #444;
}

#footer .footer-links a:hover {
    text-decoration: underline;
}

#footer .footer-badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: #ffffff;
    border: 1px solid #d9d9d9;
    border-radius: 999px;
    padding: 10px 14px;
    margin-top: 6px;
}

#footer .footer-badge .badge-icon {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(218, 161, 76, 0.16);
    color: var(--tp-accent);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

#footer .footer-badge .badge-text {
    display: flex;
    flex-direction: column;
    line-height: 1.05;
}

#footer .footer-badge .badge-text strong {
    font-size: 14px;
    color: var(--tp-accent);
}

#footer .footer-badge .badge-text small {
    font-size: 12px;
    color: var(--tp-accent);
    opacity: .9;
}

#footer .footer-social {
    display: flex;
    gap: 12px;
    margin-top: 16px;
}

#footer .footer-social .social-btn {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #fff;
    border: 1px solid #e3e3e3;
    box-shadow: 0 8px 18px rgba(0, 0, 0, .08);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}

#footer .footer-social .social-btn:hover {
    transform: translateY(-1px);
}

@media (max-width: 767px) {
    #footer .footer-info.footer-info--light {
        padding: 24px 0;
    }

    #footer .footer-col-title {
        font-size: 16px;
    }
}

#footer .company-info .company-name {
    font-size: 18px;
    line-height: 24px;
    line-height: 1.33333em;
    letter-spacing: 0em;
    font-weight: 700;
    margin-bottom: 15px;
    color: #fff;
}

#footer .company-info .company-inf {
    color: #9b9b9b;
    font-size: 14px;
}

#footer .f-map {
    height: 266px;
    overflow: hidden;
}

#footer .f-map iframe {
    width: 100% !important;
    height: 100% !important;
}

#footer .footer-copyright {
    border-top: 1px solid #ffffff10;
    padding: 15px 0;
    text-align: center;
    color: #fff;
    font-size: 12px;
}

#footer #totop {
    position: fixed;
    right: 20px;
    bottom: 20px;
    z-index: 2000;
    display: none;
}

@-webkit-keyframes swing {
    0% {
        -webkit-transform: rotate(10deg);
        -moz-transform: rotate(10deg);
        -ms-transform: rotate(10deg);
        -o-transform: rotate(10deg);
        transform: rotate(10deg);
    }

    100% {
        -webkit-transform: rotate(-10deg);
        -moz-transform: rotate(-10deg);
        -ms-transform: rotate(-10deg);
        -o-transform: rotate(-10deg);
        transform: rotate(-10deg);
    }
}

@-moz-keyframes swing {
    0% {
        -webkit-transform: rotate(10deg);
        -moz-transform: rotate(10deg);
        -ms-transform: rotate(10deg);
        -o-transform: rotate(10deg);
        transform: rotate(10deg);
    }

    100% {
        -webkit-transform: rotate(-10deg);
        -moz-transform: rotate(-10deg);
        -ms-transform: rotate(-10deg);
        -o-transform: rotate(-10deg);
        transform: rotate(-10deg);
    }
}

@-ms-keyframes swing {
    0% {
        -webkit-transform: rotate(10deg);
        -moz-transform: rotate(10deg);
        -ms-transform: rotate(10deg);
        -o-transform: rotate(10deg);
        transform: rotate(10deg);
    }

    100% {
        -webkit-transform: rotate(-10deg);
        -moz-transform: rotate(-10deg);
        -ms-transform: rotate(-10deg);
        -o-transform: rotate(-10deg);
        transform: rotate(-10deg);
    }
}

@keyframes swing {
    0% {
        -webkit-transform: rotate(10deg);
        -moz-transform: rotate(10deg);
        -ms-transform: rotate(10deg);
        -o-transform: rotate(10deg);
        transform: rotate(10deg);
    }

    100% {
        -webkit-transform: rotate(-10deg);
        -moz-transform: rotate(-10deg);
        -ms-transform: rotate(-10deg);
        -o-transform: rotate(-10deg);
        transform: rotate(-10deg);
    }
}

#cta-icon {
    position: fixed;
    width: 60px;
    right: 0;
    top: 50%;
    z-index: 2000;
    background: #fff;
    box-shadow: -2px 0px 10px rgba(0, 0, 0, 0.1);
    border-radius: 10px 0 0 10px;
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    -webkit-transform: translate(0, -50%);
    -moz-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    -o-transform: translate(0, -50%);
    transform: translate(0, -50%);
}

@media (max-width: 767px) {
    #cta-icon {
        border-radius: 0px;
        -webkit-border-radius: 0px;
        -moz-border-radius: 0px;
        top: inherit;
        bottom: 0;
        -moz-transform: translate(0, 0);
        -o-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
        width: 100%;
        height: 70px;
        display: -webkit-box;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }
}

#cta-icon a {
    padding: 20px 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    align-items: center;
    width: 100%;
    height: 100%;
    position: relative;
    text-decoration: none;
}

@media (max-width: 767px) {
    #cta-icon a {
        padding: 10px 0;
        width: 33.33%;
        display: block;
        text-align: center;
    }
}

#cta-icon a:not(:last-child) {
    border-bottom: 1px solid #e6e6e6;
}

#cta-icon a i {
    width: 25px;
    height: 25px;
    display: inline-block;
}

#cta-icon a .ico_messenger {
    background: url("../images/default/ico_messenger.svg") 0 0/100% auto no-repeat;
}

#cta-icon a .ico_zalo {
    background: url("../images/default/ico_zalo.svg") 0 0/100% auto no-repeat;
}

#cta-icon a .ico_phone {
    background: url("../images/default/ico_phone_red.svg") 0 0/100% auto no-repeat;
    -webkit-animation: swing ease-in-out .2s infinite alternate;
    -moz-animation: swing ease-in-out .2s infinite alternate;
    -ms-animation: swing ease-in-out .2s infinite alternate;
    -o-animation: swing ease-in-out .2s infinite alternate;
    animation: swing ease-in-out .2s infinite alternate;
}

#cta-icon a .txt {
    color: #000;
    display: block;
    width: 100%;
    text-align: center;
    font-size: 12px;
    line-height: 12px;
    line-height: 1em;
    letter-spacing: 0em;
    font-weight: 600;
    margin-top: 5px;
}

#header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background: #fff;
    z-index: 4000;
}

#header.fixHeader {
    background-color: #fff;
    -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
    -moz-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}

#header.fixHeader .header-navbar .menu li a {
    color: #000;
}

#header.fixHeader .header-action .act-cart .i-shopping {
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgaGVpZ2h0PSIyOC40MjEiIHZpZXdCb3g9IjAgMCAyMCAyOC40MjEiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xMyAtNSkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEzIDUpIj48cGF0aCBkPSJNMjUuNjMyLDMyLjlhLjUyNi41MjYsMCwwLDEtLjUyNi41MjZIMTUuNjMyQTIuNjMyLDIuNjMyLDAsMCwxLDEzLDMwLjc4OVYxNy4xYS41MjYuNTI2LDAsMCwxLDEuMDUzLDBWMzAuNzg5YTEuNTc5LDEuNTc5LDAsMCwwLDEuNTc5LDEuNTc5aDkuNDc0YS41MjYuNTI2LDAsMCwxLC41MjYuNTI3Wk0zMywxMC43ODl2MjBhMi42MzIsMi42MzIsMCwwLDEtMi42MzIsMi42MzJoLTIuMWEuNTI3LjUyNywwLDAsMSwwLTEuMDUzaDIuMWExLjU3OSwxLjU3OSwwLDAsMCwxLjU3OS0xLjU3OVYxMS4zMTZoLTQuMjF2NC4yMTFoLjUyNmEuNTI2LjUyNiwwLDAsMSwwLDEuMDUzaC0yLjFhLjUyNy41MjcsMCwwLDEsMC0xLjA1M2guNTI2VjExLjMxNkgxOS4zMTZ2NC4yMTFoLjUyNmEuNTI2LjUyNiwwLDEsMSwwLDEuMDUzaC0yLjFhLjUyNy41MjcsMCwwLDEsMC0xLjA1M2guNTI2VjExLjMxNmgtNC4yMXYyLjYzMmEuNTI3LjUyNywwLDEsMS0xLjA1MywwVjEwLjc4OWEuNTI2LjUyNiwwLDAsMSwuNTI2LS41MjZoNC43MzdWOS43MzdhNC43MzcsNC43MzcsMCwxLDEsOS40NzQsMHYuNTI2aDQuNzM3YS41MjYuNTI2LDAsMCwxLC41MjYuNTI2Wm0tNi4zMTYtLjUyNlY5LjczN2EzLjY4NCwzLjY4NCwwLDEsMC03LjM2OCwwdi41MjZaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTMgLTUpIi8+PC9nPjwvZz48L3N2Zz4=");
}

#header .header-info {
    position: relative;
    height: 70px;
}

@media (max-width: 767px) {
    #header .header-info {
        height: 60px;
    }
}

#header .header-logo {
    width: 220px;
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
    -moz-box-flex: 0;
    -moz-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
}

@media (max-width: 767px) {
    #header .header-logo {
        width: 70px;
    }
}

#header .header-main {
    height: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    -webkit-justify-content: flex-end;
    -moz-justify-content: flex-end;
    justify-content: flex-end;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    align-items: center;
}

@media only screen and (min-width: 768px) {
    #header .header-navbar {
        display: block !important;
    }
}

@media (max-width: 767px) {
    #header .header-navbar {
        display: none;
        position: fixed;
        background: #fff;
        top: 0;
        left: 0;
        width: 100%;
        padding-top: 70px;
    }
}

#header .header-navbar .menu {
    list-style-type: none;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
}

@media (max-width: 767px) {
    #header .header-navbar .menu {
        -webkit-box-direction: normal;
        -webkit-box-orient: vertical;
        -webkit-flex-direction: column;
        -moz-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        -webkit-justify-content: center;
        -moz-justify-content: center;
        justify-content: center;
    }
}

#header .header-navbar .menu li {
    padding: 0 15px;
}

@media (max-width: 767px) {
    #header .header-navbar .menu li {
        padding: 20px 0;
    }
}

#header .header-navbar .menu li a {
    font-size: 15px;
    line-height: 16px;
    line-height: 1.23077em;
    letter-spacing: 0em;
    font-weight: 700;
    color: #000;
    text-decoration: none;
    text-transform: uppercase;
    display: inline-block;
}

@media (max-width: 767px) {
    #header .header-navbar .menu li a {
        color: #000;
        display: block;
        text-align: center;
    }
}

@media only screen and (min-width: 1025px) {
    #header .header-navbar .menu li a:hover {
        color: #daa14c;
        opacity: 1;
    }
}

@media (max-width: 767px) {
    #header .header-navbar.is-open+.header-action .act-cart .i-shopping {
        background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgaGVpZ2h0PSIyOC40MjEiIHZpZXdCb3g9IjAgMCAyMCAyOC40MjEiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xMyAtNSkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEzIDUpIj48cGF0aCBkPSJNMjUuNjMyLDMyLjlhLjUyNi41MjYsMCwwLDEtLjUyNi41MjZIMTUuNjMyQTIuNjMyLDIuNjMyLDAsMCwxLDEzLDMwLjc4OVYxNy4xYS41MjYuNTI2LDAsMCwxLDEuMDUzLDBWMzAuNzg5YTEuNTc5LDEuNTc5LDAsMCwwLDEuNTc5LDEuNTc5aDkuNDc0YS41MjYuNTI2LDAsMCwxLC41MjYuNTI3Wk0zMywxMC43ODl2MjBhMi42MzIsMi42MzIsMCwwLDEtMi42MzIsMi42MzJoLTIuMWEuNTI3LjUyNywwLDAsMSwwLTEuMDUzaDIuMWExLjU3OSwxLjU3OSwwLDAsMCwxLjU3OS0xLjU3OVYxMS4zMTZoLTQuMjF2NC4yMTFoLjUyNmEuNTI2LjUyNiwwLDAsMSwwLDEuMDUzaC0yLjFhLjUyNy41MjcsMCwwLDEsMC0xLjA1M2guNTI2VjExLjMxNkgxOS4zMTZ2NC4yMTFoLjUyNmEuNTI2LjUyNiwwLDEsMSwwLDEuMDUzaC0yLjFhLjUyNy41MjcsMCwwLDEsMC0xLjA1M2guNTI2VjExLjMxNmgtNC4yMXYyLjYzMmEuNTI3LjUyNywwLDEsMS0xLjA1MywwVjEwLjc4OWEuNTI2LjUyNiwwLDAsMSwuNTI2LS41MjZoNC43MzdWOS43MzdhNC43MzcsNC43MzcsMCwxLDEsOS40NzQsMHYuNTI2aDQuNzM3YS41MjYuNTI2LDAsMCwxLC41MjYuNTI2Wm0tNi4zMTYtLjUyNlY5LjczN2EzLjY4NCwzLjY4NCwwLDEsMC03LjM2OCwwdi41MjZaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTMgLTUpIi8+PC9nPjwvZz48L3N2Zz4=");
    }
}

#header .header-action {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    align-items: center;
    padding-left: 25px;
}

#header .header-action .act-hotline .i-phone {
    display: inline-block;
    font-size: 16px;
    line-height: 22px;
    line-height: 1.375em;
    letter-spacing: 0em;
    font-weight: 700;
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdmlld0JveD0iMCAwIDE4IDE4Ij48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNSAtNS4wMTEpIj48cGF0aCBkPSJNMjIuODE1LDIwLjEzNmE0LjcxNiw0LjcxNiwwLDAsMS00LjE5MSwyLjg3NGMtLjIyOSwwLTMuOC4xODktOC45MzgtNC42ODNBMTQuMjUyLDE0LjI1MiwwLDAsMSw1LDkuMzg3Yy0uMDQzLS43OC4xODEtMi43MzgsMi44NzMtNC4xOTMuMzM0LS4xOC45OTUtLjI2LDEuMTY2LS4wODkuMDc2LjA3NiwyLjMzNiwzLjgsMi4zOTUsMy45MTlhLjgzMi44MzIsMCwwLDEsLjA4OS4zNjMsMS4wNTcsMS4wNTcsMCwwLDEtLjM2My42MzcsNi4xOSw2LjE5LDAsMCwxLS43OS43LDcuNjkxLDcuNjkxLDAsMCwwLS43OS42NzUuOTcuOTcsMCwwLDAtLjM2My41ODZjLjAxNi40LjM0MSwxLjgxOCwyLjgxNywzLjk5NGExOS4wNTMsMTkuMDUzLDAsMCwwLDMuNzg0LDIuODMyLjg2MS44NjEsMCwwLDAsLjI4Ny4wNjMuOTcuOTcsMCwwLDAsLjU4Ni0uMzYzYy4yMzgtLjI0MiwxLjAzNy0xLjMzOCwxLjI5Mi0xLjU4YTEuMDU4LDEuMDU4LDAsMCwxLC42MzctLjM2My44My44MywwLDAsMSwuMzYzLjA4OWMuMTIzLjA1OSwzLjg0NywyLjIzOSwzLjkxOCwyLjMxMi4xOTMuMi4wNTcuODE2LS4wODksMS4xNjYiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMCkiIGZpbGw9IiM3YWM5NDMiLz48L2c+PC9zdmc+");
    background-size: 18px 18px;
    background-repeat: no-repeat;
    background-position: left top;
    padding-left: 25px;
}

#header .header-action .act-cart .i-shopping {
    display: inline-block;
    position: relative;
    width: 15px;
    height: 23px;
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgaGVpZ2h0PSIyOC40MjEiIHZpZXdCb3g9IjAgMCAyMCAyOC40MjEiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xMyAtNSkiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEzIDUpIj48cGF0aCBkPSJNMjUuNjMyLDMyLjlhLjUyNi41MjYsMCwwLDEtLjUyNi41MjZIMTUuNjMyQTIuNjMyLDIuNjMyLDAsMCwxLDEzLDMwLjc4OVYxNy4xYS41MjYuNTI2LDAsMCwxLDEuMDUzLDBWMzAuNzg5YTEuNTc5LDEuNTc5LDAsMCwwLDEuNTc5LDEuNTc5aDkuNDc0YS41MjYuNTI2LDAsMCwxLC41MjYuNTI3Wk0zMywxMC43ODl2MjBhMi42MzIsMi42MzIsMCwwLDEtMi42MzIsMi42MzJoLTIuMWEuNTI3LjUyNywwLDAsMSwwLTEuMDUzaDIuMWExLjU3OSwxLjU3OSwwLDAsMCwxLjU3OS0xLjU3OVYxMS4zMTZoLTQuMjF2NC4yMTFoLjUyNmEuNTI2LjUyNiwwLDAsMSwwLDEuMDUzaC0yLjFhLjUyNy41MjcsMCwwLDEsMC0xLjA1M2guNTI2VjExLjMxNkgxOS4zMTZ2NC4yMTFoLjUyNmEuNTI2LjUyNiwwLDEsMSwwLDEuMDUzaC0yLjFhLjUyNy41MjcsMCwwLDEsMC0xLjA1M2guNTI2VjExLjMxNmgtNC4yMXYyLjYzMmEuNTI3LjUyNywwLDEsMS0xLjA1MywwVjEwLjc4OWEuNTI2LjUyNiwwLDAsMSwuNTI2LS41MjZoNC43MzdWOS43MzdhNC43MzcsNC43MzcsMCwxLDEsOS40NzQsMHYuNTI2aDQuNzM3YS41MjYuNTI2LDAsMCwxLC41MjYuNTI2Wm0tNi4zMTYtLjUyNlY5LjczN2EzLjY4NCwzLjY4NCwwLDEsMC03LjM2OCwwdi41MjZaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTMgLTUpIi8+PC9nPjwvZz48L3N2Zz4=");
    background-repeat: no-repeat;
    background-size: 100% auto;
}

#header .header-action .act-cart .i-shopping .num-cart {
    background: #daa14c;
    border-radius: 100%;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    width: 18px;
    height: 18px;
    text-align: center;
    font-size: 8px;
    line-height: 18px;
    line-height: 2.25em;
    color: #fff;
    position: absolute;
    right: -10px;
    top: -5px;
}

#header .header-burger {
    margin-left: 25px;
}

@media only screen and (min-width: 768px) {
    #header .header-burger {
        display: none !important;
    }
}

#header .burger-icon {
    position: relative;
    margin-top: 8px;
    margin-bottom: 8px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

#header .burger-icon,
#header .burger-icon::before,
#header .burger-icon::after {
    display: block;
    width: 30px;
    height: 1px;
    background-color: #daa14c;
    outline: 1px solid transparent;
    -webkit-transition-property: background-color, -webkit-transform;
    -moz-transition-property: background-color, -moz-transform;
    -o-transition-property: background-color, -o-transform;
    transition-property: background-color, transform;
    -webkit-transition-duration: 0.3s;
    -moz-transition-duration: 0.3s;
    -o-transition-duration: 0.3s;
    transition-duration: 0.3s;
}

#header .burger-icon::before,
#header .burger-icon::after {
    position: absolute;
    content: "";
}

#header .burger-icon::before {
    top: -8px;
}

#header .burger-icon::after {
    top: 8px;
}

#header .burger-icon.is-active {
    background-color: transparent;
}

#header .burger-icon.is-active::before {
    -webkit-transform: translateY(8px) rotate(45deg);
    -moz-transform: translateY(8px) rotate(45deg);
    -ms-transform: translateY(8px) rotate(45deg);
    -o-transform: translateY(8px) rotate(45deg);
    transform: translateY(8px) rotate(45deg);
}

#header .burger-icon.is-active::after {
    -webkit-transform: translateY(-8px) rotate(-45deg);
    -moz-transform: translateY(-8px) rotate(-45deg);
    -ms-transform: translateY(-8px) rotate(-45deg);
    -o-transform: translateY(-8px) rotate(-45deg);
    transform: translateY(-8px) rotate(-45deg);
}

.section-mainvisual {
    position: relative;
}

.section-mainvisual .mv-slider {
    position: relative;
    isolation: isolate;
    z-index: 1;
}

.section-mainvisual .mv-slider:after {
    content: '';
    /* background-color: rgba(0, 0, 0, 0.6); */
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.section-mainvisual .mv-slider .slick-slide>div {
    line-height: 0;
}

.section-mainvisual .mv-slider .slide-item {
    position: relative;
}

.section-mainvisual .mv-slider .slide-item:before {
    display: block;
    content: " ";
    width: 100%;
    padding-top: 42%;
}

.section-mainvisual .mv-slider .slide-item>.content {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

@media (max-width: 1024px) {
    .section-mainvisual .mv-slider .slide-item:before {
        padding-top: 60%;
    }
}

@media (max-width: 767px) {
    .section-mainvisual .mv-slider .slide-item {
        position: relative;
    }

    .section-mainvisual .mv-slider .slide-item:before {
        display: block;
        content: " ";
        width: 100%;
        padding-top: 90%;
    }

    .section-mainvisual .mv-slider .slide-item>.content {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
    }
}

.section-mainvisual .mv-slider .slide-item img {
    position: absolute;
    inset: 0;
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.section-mainvisual .mv-info {
    position: absolute;
    width: 100%;
    max-width: 850px;
    height: 100%;
    left: 50%;
    top: 0;
    z-index: 1;
    transform: translate(-50%, 0);
    margin: 0 auto;
    padding: 20px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-direction: normal;
    -webkit-box-orient: vertical;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    justify-content: center;
}

.section-mainvisual .mv-info .mv-title {
    font-size: 42px;
    line-height: 57px;
    line-height: 1.35714em;
    letter-spacing: 0em;
    font-weight: 700;
    color: #fff;
    text-align: center;
    text-transform: uppercase;
}

@media (max-width: 767px) {
    .section-mainvisual .mv-info .mv-title {
        font-size: 28px;
        line-height: 45px;
        line-height: 1.60714em;
    }
}

.section-mainvisual .mv-info .mv-description {
    font-size: 16px;
    line-height: 22px;
    line-height: 1.375em;
    text-align: center;
    color: #fff;
    margin-top: 30px;
}

@media (max-width: 767px) {
    .section-mainvisual .mv-info .mv-description {
        margin-top: 15px;
        font-size: 15px;
    }
}

.section-mainvisual .mv-info .mv-button {
    text-align: center;
}

.section-mainvisual .mv-info .mv-button .primary-button {
    margin-top: 30px;
}

.section-about.section-about--split {
    background: #23262d;
    padding: 10px 0 10px;
    color: #fff;
}

.section-about.section-about--split .about-split {
    display: flex;
    min-height: 520px;
}

.section-about.section-about--split .about-media {
    flex: 1 1 55%;
    min-height: 520px;
    overflow: hidden;
}

.section-about.section-about--split .about-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.section-about.section-about--split .about-panel {
    flex: 1 1 45%;
    position: relative;
    background: #23262d;
    overflow: hidden;
}

/* subtle grid pattern like the screenshot */
.section-about.section-about--split .about-panel:before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.06) 1px, transparent 1px);
    background-size: 48px 48px;
    opacity: 0.35;
    pointer-events: none;
}

.section-about.section-about--split .about-panel-inner {
    position: relative;
    z-index: 1;
    padding: 90px 80px;
    max-width: 720px;
}

.section-about.section-about--split .about-kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: #f3f4f3;
    font-size: 18px;
}

.section-about.section-about--split .about-kicker-icon {
    width: 18px;
    height: 18px;
    border-radius: 6px 12px 6px 12px;
    background: #7CFF7A;
    box-shadow: 0 0 0 3px rgba(124, 255, 122, 0.2);
    display: inline-block;
}

.section-about.section-about--split .about-title {
    margin: 18px 0 18px;
    font-size: 26px;
    line-height: 1.05;
    font-weight: 800;
    color: #fff;
}

.section-about.section-about--split .about-desc {
    margin: 0;
    font-size: 16px;
    line-height: 1.65;
    color: rgba(255, 255, 255, 0.88);
    max-width: 560px;
}

.section-about.section-about--split .about-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 28px;
    padding: 16px 28px;
    border-radius: 999px;
    background: #30303E;
    color: #fff;
    font-weight: 800;
    text-decoration: none;
    letter-spacing: 0.02em;
}

.section-about.section-about--split .about-btn:hover {
    opacity: 0.95;
}

@media (max-width: 1024px) {
    .section-about.section-about--split .about-panel-inner {
        padding: 70px 44px;
    }

    .section-about.section-about--split .about-title {
        font-size: 44px;
    }
}

@media (max-width: 767px) {
    .section-about.section-about--split .about-split {
        display: block;
        min-height: 0;
    }

    .section-about.section-about--split .about-media {
        min-height: 280px;
    }

    .section-about.section-about--split .about-panel-inner {
        padding: 44px 20px;
    }

    .section-about.section-about--split .about-title {
        font-size: 34px;
    }
}

.section-project {
    background-color: #23262d;
    color: #fff;
    padding: 20px 0 20px;
}

@media (max-width:767px) {
    .section-project {
        padding: 10px 0 10px;
    }
}

.section-project .project-box {
    padding: 20px 0;
}

.section-project .project-box .project-box-wrapper {
    display: flex;
    position: relative;
    isolation: isolate;
    overflow: hidden;
    border-radius: 12px;
    /* bo góc cho gọn */
    text-decoration: none;
}

/* === FIX: GIẢM CHIỀU CAO KHUNG ===
   75% ~ tỷ lệ 4:3 (đẹp, không quá dài)
*/
.section-project .project-box .project-box-wrapper:before {
    display: block;
    content: "";
    width: 100%;
    padding-top: 75%;
}

/* Mobile: cho thấp hơn nữa nếu cần */
@media (max-width:767px) {
    .section-project .project-box .project-box-wrapper:before {
        padding-top: 65%;
    }
}

/* ảnh nền */
.section-project .project-box .project-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    transition: transform .35s ease;
}

.section-project .project-box .project-img img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* overlay tối để chữ nổi */
.section-project .project-box .project-img:after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, .15) 0%, rgba(0, 0, 0, .55) 100%);
}

/* info phủ lên */
.section-project .project-box .project-info {
    position: absolute;
    inset: 0;
    z-index: 1;
    padding: 24px 20px;
    display: flex;
    flex-direction: column;
}

.section-project .project-box .project-title {
    color: #fff;
    text-transform: capitalize;
    font-size: 20px;
    line-height: 1.2;
    letter-spacing: 0;
    font-weight: 600;
}

@media (max-width:767px) {
    .section-project .project-box .project-title {
        font-size: 22px;
        line-height: 1.25;
    }
}

.section-project .project-box .project-button {
    margin-top: auto;
    display: inline-flex;
    align-items: center;
    width: max-content;
    padding: 10px 14px;
    border: 1px solid rgba(255, 255, 255, .35);
    border-radius: 999px;
    color: #fff;
    text-transform: uppercase;
    font-size: 12px;
    letter-spacing: .12em;
    font-weight: 600;
    background: rgba(0, 0, 0, .15);
    transition: all .25s ease;
}

/* hover */
@media (min-width:1025px) {
    .section-project .project-box .project-box-wrapper:hover .project-img {
        transform: scale(1.03);
    }

    .section-project .project-box .project-box-wrapper:hover .project-button {
        background: rgba(255, 255, 255, .12);
        border-color: rgba(255, 255, 255, .6);
    }
}


.section-value {
    padding: 10px 0 40px;
    background-color: #23262d;
    color: #fff;
}

@media (max-width: 767px) {
    .section-value {
        padding: 0px 0 30px;
    }
}

.section-value .cm-title-box {
    margin-bottom: 30px;
}

@media (max-width: 767px) {
    .section-value .cm-title-box {
        margin-bottom: 20px;
    }
}

.section-value .value-box {
    text-align: center;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-direction: normal;
    -webkit-box-orient: vertical;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    height: 100%;
    padding-top: 10px;
    padding-bottom: 10px;
}

.section-value .value-box .vb-icon {
    background: #32343b;
    border-radius: 100%;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    overflow: hidden;
    margin: 0 auto;
    padding: 20px;
}

.section-value .value-box .vb-title {
    font-size: 16px;
    line-height: 30px;
    line-height: 1.66667em;
    letter-spacing: 0.05em;
    font-weight: 600;
    text-transform: capitalize;
    margin: 10px 0;
}

@media (max-width: 767px) {
    .section-value .value-box .vb-title {
        font-size: 14px;
        line-height: 24px;
        line-height: 1.5em;
    }
}

.section-value .value-box .vb-txt {
    color: #9b9b9b;
    font-size: 14px;
    line-height: 20px;
    line-height: 1.42857em;
}

@media (max-width: 767px) {
    .section-value .value-box .vb-txt {
        padding: 0 20px;
    }
}

.section-project-feature {
    background-color: #23262d;
    padding: 10px 0;
    border-top: 1px solid #ffffff10;
}

@media (max-width: 767px) {
    .section-project-feature {
        padding: 10px 0;
    }
}

.section-project-feature .cm-title-box {
    margin-bottom: 0;
}

.section-project-feature .project-feature-list {
    padding-top: 22px;
    padding-bottom: 30px;
}

@media (max-width: 767px) {
    .section-project-feature .project-feature-list {
        padding-top: 18px;
        padding-bottom: 20px;
    }
}

.section-project-feature .project-feature-list .project-feature-item {
    padding-top: 15px;
    padding-bottom: 10px;
    height: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-direction: normal;
    -webkit-box-orient: vertical;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
}

.section-project-feature .project-feature-list .project-feature-item-wrapper {
    display: block;
    position: relative;
    height: 100%;
}

.section-project-feature .project-feature-list .project-feature-item-thumb {
    position: relative;
    overflow: hidden;
    isolation: isolate;
}

.section-project-feature .project-feature-list .project-feature-item-thumb:before {
    display: block;
    content: " ";
    width: 100%;
    padding-top: 62.85714%;
}

.section-project-feature .project-feature-list .project-feature-item-thumb:after {
    content: '';
    /* background-color: rgba(0, 0, 0, 0.4); */
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.section-project-feature .project-feature-list .project-feature-item-thumb img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .3s;
}

.section-project-feature .project-feature-list .project-feature-item-thumb .ico-play {
    width: 50px;
    height: 50px;
    background: url("../images/default/ico_play.svg") 0 0/100% auto no-repeat;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
}

.section-project-feature .project-feature-list .project-feature-item-info {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-direction: normal;
    -webkit-box-orient: vertical;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    justify-content: center;
    text-align: center;
    color: #fff;
    padding: 16px 14px;
    min-height: 92px;
}

.section-project-feature .project-feature-list .project-feature-item-title {
    font-size: 20px;
    line-height: 26px;
    line-height: 1.16667em;
    letter-spacing: 0.05em;
    font-weight: 600;
    color: #fff;
    min-height: 52px;
    white-space: normal;
    text-align: center;
}

.section-project-feature .project-feature-list .project-feature-item-sku {
    font-size: 12px;
    line-height: 18px;
    line-height: 1.5em;
    min-height: 18px;
    margin-top: 5px;
}

.section-blogs {
    background-color: #23262d;
    padding: 20px 0;
    border-top: 1px solid #ffffff10;
}

@media (max-width: 767px) {
    .section-blogs {
        padding: 10px 0;
    }
}

.section-products {
    background-color: #23262d;
    padding: 20px 0;
    border-top: 1px solid #ffffff10;
}

@media (max-width: 767px) {
    .section-products {
        padding: 20px 0;
    }
}

.section-products .project-list {
    padding-top: 22px;
    padding-bottom: 30px;
}

.section-products .product-slide {
    padding: 0 15px;
}

.section-products .slick-list {
    margin: 0 -15px;
}

.section-products .slick-prev,
.section-products .slick-next {
    position: absolute;
    top: 42%;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.95);
    box-shadow: 0 10px 24px rgba(0, 0, 0, .18);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
}

.section-products .slick-prev:before,
.section-products .slick-next:before {
    font-size: 22px;
    line-height: 1;
    color: #111;
    opacity: 1;
}

.section-products .slick-prev {
    left: -10px;
}

.section-products .slick-next {
    right: -10px;
}

@media (max-width: 767px) {
    .section-products .slick-prev {
        left: 0;
    }

    .section-products .slick-next {
        right: 0;
    }
}

.project-item-price ins,
.project-item-price ins * {
    text-decoration: none !important;
}



.blogs-list {
    padding-top: 20px;
    padding-bottom: 20px;
}

.blogs-list.archive {
    padding-top: 0;
    padding-bottom: 0;
}

@media (max-width: 767px) {
    .blogs-list {
        padding-top: 10px;
        padding-bottom: 10px;
    }
}

.blogs-list [class*=col-] {
    padding-top: 15px;
    padding-bottom: 15px;
}

.blogs-list .blog-item {
    overflow: hidden;
    height: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-direction: normal;
    -webkit-box-orient: vertical;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -moz-transition: all 0.3s;
    -o-transition: all 0.3s;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}

.blogs-list .blog-thumb {
    position: relative;
    overflow: hidden;
    display: block;
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
    -moz-box-flex: 0;
    -moz-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
}

.blogs-list .blog-thumb:before {
    display: block;
    content: " ";
    width: 100%;
    padding-top: 62.85714%;
}

.blogs-list .blog-thumb>.content {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

.blogs-list .blog-thumb img {
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    object-fit: cover;
}

.blogs-list .blog-info {
    padding: 15px 0;
    height: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-direction: normal;
    -webkit-box-orient: vertical;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
}

.blogs-list .blog-title {
    font-size: 20px;
    line-height: 24px;
    line-height: 1.2em;
    letter-spacing: 0.05em;
    font-weight: 600;
    -webkit-line-clamp: 2;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -o-text-overflow: ellipsis;
    -webkit-text-overflow: ellipsis;
    text-overflow: ellipsis;
    overflow: hidden;
    color: #fff;
    margin-bottom: 10px;
}

.blogs-list .blog-title.black {
    color: #000;
}

.blogs-list .blog-excerpt {
    color: #9b9b9b;
    font-size: 14px;
    line-height: 24px;
    line-height: 1.71429em;
    -webkit-line-clamp: 3;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -o-text-overflow: ellipsis;
    -webkit-text-overflow: ellipsis;
    text-overflow: ellipsis;
    overflow: hidden;
}

.blogs-list .blog-date {
    color: #fff;
    font-size: 13px;
    margin-bottom: 10px;
}

.blogs-list .blog-date.black {
    color: #000;
}

.subpage-blocks {
    padding-top: 40px;
    padding-bottom: 100px;
}

@media (max-width: 767px) {
    .subpage-blocks {
        padding-top: 25px;
        padding-bottom: 50px;
    }
}

.subpage-mainvisual {
    background: url("../images/default/submv.jpg") 0 0/cover no-repeat;
    min-height: 400px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    justify-content: center;
    padding: 20px 15px;
    color: #fff;
}

@media (max-width: 767px) {
    .subpage-mainvisual {
        min-height: 300px;
    }
}

.subpage-mainvisual .sub-mv-title {
    font-size: 36px;
    line-height: 42px;
    line-height: 1.16667em;
    letter-spacing: 0.05em;
    font-weight: 700;
}

@media (max-width: 767px) {
    .subpage-mainvisual .sub-mv-title {
        font-size: 30px;
    }
}

#breadcrumb {
    padding: 20px 0;
}

@media (max-width: 767px) {
    #breadcrumb {
        padding: 15px 0;
    }
}

#breadcrumb ul {
    color: #000;
    line-height: 1.4;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#breadcrumb ul li {
    display: inline;
    position: relative;
    padding-right: 22px;
    font-size: 14px;
    line-height: 14px;
    line-height: 1em;
    color: #000;
}

#breadcrumb ul li:before {
    content: "";
    position: absolute;
    right: 7px;
    top: 40%;
    width: 5px;
    height: 5px;
    border-left: 1px solid #000;
    border-top: 1px solid #000;
    -moz-transform: rotate(135deg);
    -o-transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
}

#breadcrumb ul li:last-child {
    padding-right: 0;
}

#breadcrumb ul li:last-child:before {
    display: none;
    background: none;
}

#breadcrumb ul a {
    color: #000;
    display: inline-block;
    text-decoration: underline;
    font-size: 14px;
    line-height: 14px;
    line-height: 1em;
}

.pagination {
    text-align: center;
    line-height: 0;
    margin-top: 30px;
}

.pagination a,
.pagination span {
    display: inline-block;
    width: 35px;
    height: 35px;
    line-height: 35px;
    font-size: 14px;
    border-radius: 100%;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    color: #000;
}

.pagination .current {
    background: #daa14c;
    color: #fff;
}

.products-page-detail .product-detail-main .detail-slider .slider-image {
    margin-bottom: 15px;
}

.products-page-detail .product-detail-main .detail-slider .slider-image .slick-slide>div {
    line-height: 0;
}

.products-page-detail .product-detail-main .detail-slider .slider-image .slide {
    position: relative;
    overflow: hidden;
}

.products-page-detail .product-detail-main .detail-slider .slider-image .slide:before {
    display: block;
    content: " ";
    width: 100%;
    padding-top: 85.39326%;
}

.products-page-detail .product-detail-main .detail-slider .slider-image .slide>.content {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

.products-page-detail .product-detail-main .detail-slider .slider-image .slide img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    object-fit: cover;
}

.products-page-detail .product-detail-main .detail-slider .slider-thumb {
    overflow: hidden;
}

.products-page-detail .product-detail-main .detail-slider .slider-thumb .slick-list {
    margin: 0 -5px;
}

.products-page-detail .product-detail-main .detail-slider .slider-thumb .slick-slide {
    padding: 0 5px;
}

.products-page-detail .product-detail-main .detail-slider .slider-thumb .slick-slide>div {
    line-height: 0;
}

.products-page-detail .product-detail-main .detail-slider .slider-thumb .slick-slide.slick-current .slide:after {
    opacity: .3;
}

.products-page-detail .product-detail-main .detail-slider .slider-thumb .slide {
    position: relative;
    overflow: hidden;
    cursor: pointer;
}

.products-page-detail .product-detail-main .detail-slider .slider-thumb .slide:before {
    display: block;
    content: " ";
    width: 100%;
    padding-top: 85.33333%;
}

.products-page-detail .product-detail-main .detail-slider .slider-thumb .slide>.content {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

.products-page-detail .product-detail-main .detail-slider .slider-thumb .slide:after {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background: #daa14c;
    opacity: 0;
}

.products-page-detail .product-detail-main .detail-slider .slider-thumb .slide img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    object-fit: cover;
}

@media (max-width: 767px) {
    .products-page-detail .product-detail-main .detail-info {
        padding-top: 30px;
    }
}

.products-page-detail .product-detail-main .detail-info .pro-name {
    font-size: 30px;
    line-height: 36px;
    line-height: 1.2em;
    letter-spacing: 0em;
    font-weight: 700;
    margin-bottom: 20px;
}

.products-page-detail .product-detail-main .detail-info .pro-price .price-promotion {
    color: #daa14c;
    font-weight: 700;
    font-size: 24px;
}

.products-page-detail .product-detail-main .detail-info .pro-price .price-regular {
    margin-top: 10px;
    font-size: 16px;
    text-decoration: line-through;
}

.products-page-detail .product-detail-main .detail-info .pro-meta {
    margin-bottom: 30px;
}

.products-page-detail .product-detail-main .detail-info .pro-meta .meta-item {
    font-size: 16px;
    line-height: 24px;
    line-height: 1.5em;
    margin-bottom: 5px;
}

.products-page-detail .product-detail-main .detail-info .pro-meta .meta-item .available {
    color: #daa14c;
}

.products-page-detail .product-detail-main .detail-info .pro-meta .meta-item .out-of-stock {
    color: #E31000;
}

.products-page-detail .product-detail-main .detail-info .pro-cart {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    align-items: center;
    margin-top: 30px;
}

.products-page-detail .product-detail-main .detail-info .pro-cart .num-qty {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    margin-right: 15px;
}

.products-page-detail .product-detail-main .detail-info .pro-cart .num-qty input {
    width: 45px;
    height: 45px;
    text-align: center;
    font-size: 16px;
    padding: 0;
    outline: 0;
    border: 1px solid #ccc;
    -webkit-inner-spin-button: none;
}

.products-page-detail .product-detail-main .detail-info .pro-cart .num-qty input::-webkit-inner-spin-button {
    display: none;
}

.products-page-detail .product-detail-main .detail-info .pro-cart .num-qty span {
    width: 45px;
    height: 45px;
    border: 1px solid #ccc;
    display: inline-block;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    justify-content: center;
    cursor: pointer;
    font-size: 20px;
}

.products-page-detail .product-detail-main .detail-info .pro-cart .add-to-cart {
    margin-left: 0;
}

.products-page-detail .product-detail-info {
    padding: 80px 0 60px;
}

@media (max-width: 767px) {
    .products-page-detail .product-detail-info {
        padding: 60px 0 30px;
    }
}

.products-page-detail .product-detail-related {
    background: #23262d;
    padding: 10px 0 10px;
}

@media (max-width: 767px) {
    .products-page-detail .product-detail-related {
        padding: 60px 0 20px;
    }
}

.products-page-detail .product-detail-related .project-list {
    padding-top: 0;
    padding-bottom: 0;
}

.blog-page-detail .detail-blog-info .detail-blog-title {
    font-size: 28px;
    line-height: 34px;
    line-height: 1.21429em;
    letter-spacing: 0em;
    font-weight: 700;
}

.blog-page-detail .detail-blog-info .detail-blog-date {
    color: #a7a7a7;
    font-style: italic;
    margin-top: 20px;
}

.blog-page-detail .detail-blog-info .social-plugin {
    background: #FAFAFA;
    padding: 20px 15px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
}

.blog-page-detail .detail-blog-info .social-plugin .social-txt {
    font-size: 16px;
    margin-right: 20px;
}

.blog-page-detail .detail-blog-info .social-plugin .social-list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
}

.blog-page-detail .detail-blog-info .social-plugin .social-list .social-item .share-icon {
    line-height: 0;
    display: inline-block;
    width: 20px;
    height: 20px;
    background-size: 20px 20px;
    background-repeat: no-repeat;
    background-position: 0 0;
    margin-right: 15px;
}

.blog-page-detail .detail-blog-info .social-plugin .social-list .social-item .share-icon.facebook-share {
    background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/PjwhRE9DVFlQRSBzdmcgIFBVQkxJQyAnLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4nICAnaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkJz48c3ZnIGhlaWdodD0iNjdweCIgaWQ9IkxheWVyXzEiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDY3IDY3OyIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgNjcgNjciIHdpZHRoPSI2N3B4IiB4bWw6c3BhY2U9InByZXNlcnZlIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48cGF0aCBkPSJNMjguNzY1LDUwLjMxOWg2Ljc0NFYzMy45OThoNC40OTlsMC41OTYtNS42MjRoLTUuMDk1ICBsMC4wMDctMi44MTZjMC0xLjQ2NiwwLjE0LTIuMjUzLDIuMjQ0LTIuMjUzaDIuODEyVjE3LjY4aC00LjVjLTUuNDA1LDAtNy4zMDcsMi43MjktNy4zMDcsNy4zMTd2My4zNzdoLTMuMzY5djUuNjI1aDMuMzY5VjUwLjMxOXogICBNMyw0aDYwdjYwSDNWNHoiIHN0eWxlPSJmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOiMzQTU4OUI7Ii8+PC9zdmc+");
}

.blog-page-detail .detail-blog-info .social-plugin .social-list .social-item .share-icon.twitter-share {
    background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/PjwhRE9DVFlQRSBzdmcgIFBVQkxJQyAnLS8vVzNDLy9EVEQgU1ZHIDEuMC8vRU4nICAnaHR0cDovL3d3dy53My5vcmcvVFIvMjAwMS9SRUMtU1ZHLTIwMDEwOTA0L0RURC9zdmcxMC5kdGQnPjxzdmcgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMzIgMzIiIGhlaWdodD0iMzJweCIgaWQ9IkxheWVyXzEiIHZlcnNpb249IjEuMCIgdmlld0JveD0iMCAwIDMyIDMyIiB3aWR0aD0iMzJweCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PHBhdGggZD0iTTMxLjk5Myw2LjA3N0MzMC44MTYsNi42LDI5LjU1Miw2Ljk1MywyOC4yMjMsNy4xMWMxLjM1NS0wLjgxMiwyLjM5Ni0yLjA5OCwyLjg4Ny0zLjYzICBjLTEuMjY5LDAuNzUxLTIuNjczLDEuMjk5LTQuMTY4LDEuNTkyQzI1Ljc0NCwzLjc5NywyNC4wMzgsMywyMi4xNDksM2MtMy42MjUsMC02LjU2MiwyLjkzOC02LjU2Miw2LjU2MyAgYzAsMC41MTQsMC4wNTcsMS4wMTYsMC4xNjksMS40OTZDMTAuMzAxLDEwLjc4NSw1LjQ2NSw4LjE3MiwyLjIyNyw0LjIwMWMtMC41NjQsMC45Ny0wLjg4OCwyLjA5Ny0wLjg4OCwzLjMgIGMwLDIuMjc4LDEuMTU5LDQuMjg2LDIuOTE5LDUuNDY0Yy0xLjA3NS0wLjAzNS0yLjA4Ny0wLjMyOS0yLjk3Mi0wLjgyMWMtMC4wMDEsMC4wMjctMC4wMDEsMC4wNTYtMC4wMDEsMC4wODIgIGMwLDMuMTgxLDIuMjYyLDUuODM0LDUuMjY1LDYuNDM3Yy0wLjU1LDAuMTQ5LTEuMTMsMC4yMy0xLjcyOSwwLjIzYy0wLjQyNCwwLTAuODM0LTAuMDQxLTEuMjM0LTAuMTE3ICBjMC44MzQsMi42MDYsMy4yNTksNC41MDQsNi4xMyw0LjU1OGMtMi4yNDUsMS43Ni01LjA3NSwyLjgxMS04LjE1LDIuODExYy0wLjUzLDAtMS4wNTMtMC4wMzEtMS41NjYtMC4wOTIgIEMyLjkwNSwyNy45MTMsNi4zNTUsMjksMTAuMDYyLDI5YzEyLjA3MiwwLDE4LjY3NS0xMC4wMDEsMTguNjc1LTE4LjY3NWMwLTAuMjg0LTAuMDA4LTAuNTY4LTAuMDItMC44NSAgQzMwLDguNTUsMzEuMTEyLDcuMzk1LDMxLjk5Myw2LjA3N3oiIGZpbGw9IiM1NUFDRUUiLz48Zy8+PGcvPjxnLz48Zy8+PGcvPjxnLz48L3N2Zz4=");
}

.blog-page-detail .blog-sidebar {
    background: #FAFAFA;
    padding-top: 30px;
    padding-bottom: 30px;
    height: 100%;
}

.blog-page-detail .blog-sidebar .sidebar-list .side-item a {
    display: block;
    font-size: 16px;
    line-height: 20px;
    line-height: 1.25em;
    color: #000;
    padding: 10px 0;
}

.blog-page-detail .blog-sidebar .sidebar-list .side-item a:hover {
    color: #daa14c;
}

.blog-page-detail .blog-sidebar .sidebar-list .side-item:not(:last-child) a {
    border-bottom: 1px solid #ccc;
}

.cart-page .text-available {
    font-size: 18px;
    line-height: 24px;
    line-height: 1.33333em;
    margin-bottom: 15px;
}

@media only screen and (max-width: 767px) {
    .cart-page .text-available {
        font-size: 16px;
        line-height: 18px;
        line-height: 1.125em;
    }
}

.cart-page .text-available span {
    color: #daa14c;
}

.cart-page .cart-table {
    border: 1px solid #EBEBEB;
}

@media only screen and (max-width: 767px) {
    .cart-page .cart-table {
        border: none;
    }
}

.cart-page .cart-table .tbl-head {
    background: #F9F9F9;
    border-bottom: 1px solid #EBEBEB;
}

@media only screen and (max-width: 767px) {
    .cart-page .cart-table .tbl-head {
        display: none;
    }
}

.cart-page .cart-table .tbl-head .row>div {
    font-size: 18px;
    line-height: 24px;
    line-height: 1.33333em;
    text-align: center;
    padding: 13px 10px;
}

@media only screen and (max-width: 767px) {
    .cart-page .cart-table .tbl-head .row>div {
        font-size: 14px;
        line-height: 18px;
        line-height: 1.28571em;
    }
}

.cart-page .cart-table .tbl-head .row>div:not(:last-child) {
    border-right: 1px solid #EBEBEB;
}

.cart-page .cart-table .tbl-row .row {
    position: relative;
}

@media only screen and (max-width: 767px) {
    .cart-page .cart-table .tbl-row .row {
        border: 1px solid #EBEBEB;
    }
}

.cart-page .cart-table .tbl-row .row:not(:last-child) {
    border-bottom: 1px solid #EBEBEB;
}

@media only screen and (max-width: 767px) {
    .cart-page .cart-table .tbl-row .row:not(:last-child) {
        margin-bottom: 10px;
    }
}

.cart-page .cart-table .tbl-row .row>[class*="col-"] {
    position: static;
}

.cart-page .cart-table .tbl-row .row>div:not(:last-child) {
    border-right: 1px solid #EBEBEB;
}

@media only screen and (max-width: 767px) {
    .cart-page .cart-table .tbl-row .row>div:not(:last-child) {
        border-right: none;
    }
}

.cart-page .cart-table .tbl-row .row-item {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    align-items: center;
    height: 100%;
}

@media only screen and (max-width: 767px) {
    .cart-page .cart-table .tbl-row .row-item {
        padding: 10px 0;
    }
}

.cart-page .cart-table .tbl-row .item-detail {
    padding: 15px;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    -webkit-justify-content: flex-start;
    -moz-justify-content: flex-start;
    justify-content: flex-start;
}

@media only screen and (max-width: 767px) {
    .cart-page .cart-table .tbl-row .item-detail {
        border-bottom: 1px solid #EBEBEB;
        background: #f2f2f2;
    }
}

@media only screen and (max-width: 767px) {
    .cart-page .cart-table .tbl-row .item-detail .img img {
        width: 80px;
    }
}

.cart-page .cart-table .tbl-row .item-detail .inf {
    padding-left: 14px;
}

.cart-page .cart-table .tbl-row .item-detail .inf .tit a {
    font-size: 16px;
    line-height: 18px;
    line-height: 1.125em;
    font-weight: 500;
    color: #000;
}

@media only screen and (max-width: 767px) {
    .cart-page .cart-table .tbl-row .item-detail .inf .tit a {
        font-size: 14px;
    }
}

.cart-page .cart-table .tbl-row .item-detail .inf .name-brand a {
    color: #989898;
    font-style: italic;
    font-size: 13px;
    line-height: 16px;
    line-height: 1.23077em;
}

@media only screen and (max-width: 767px) {
    .cart-page .cart-table .tbl-row .item-detail .inf .name-brand a {
        font-size: 12px;
    }
}

.cart-page .cart-table .tbl-row .item-price {
    text-align: center;
    -webkit-box-direction: normal;
    -webkit-box-orient: vertical;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    justify-content: center;
    height: 100%;
}

.cart-page .cart-table .tbl-row .item-price .promotion-price {
    color: #daa14c;
    display: block;
    font-size: 15px;
    line-height: 19px;
    line-height: 1.26667em;
    font-weight: 700;
}

.cart-page .cart-table .tbl-row .item-price .regular-price {
    text-decoration: line-through;
    display: block;
    font-size: 13px;
    line-height: 17px;
    line-height: 1.30769em;
    color: #9e9fa1;
}

@media only screen and (max-width: 767px) {
    .cart-page .cart-table .tbl-row .item-delete {
        position: absolute;
        right: 10px;
        top: 0;
        height: auto;
    }
}

.cart-page .cart-table .tbl-row .item-delete .btn-delete {
    width: 25px;
    height: 25px;
    background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pjxzdmcgdmlld0JveD0iMCAwIDMyIDMyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxkZWZzPjxzdHlsZT4uY2xzLTF7ZmlsbDpub25lO308L3N0eWxlPjwvZGVmcz48dGl0bGUvPjxnIGRhdGEtbmFtZT0iTGF5ZXIgMiIgaWQ9IkxheWVyXzIiPjxwYXRoIGQ9Ik0yMCwyOUgxMmE1LDUsMCwwLDEtNS01VjEyYTEsMSwwLDAsMSwyLDBWMjRhMywzLDAsMCwwLDMsM2g4YTMsMywwLDAsMCwzLTNWMTJhMSwxLDAsMCwxLDIsMFYyNEE1LDUsMCwwLDEsMjAsMjlaIi8+PHBhdGggZD0iTTI2LDlINkExLDEsMCwwLDEsNiw3SDI2YTEsMSwwLDAsMSwwLDJaIi8+PHBhdGggZD0iTTIwLDlIMTJhMSwxLDAsMCwxLTEtMVY2YTMsMywwLDAsMSwzLTNoNGEzLDMsMCwwLDEsMywzVjhBMSwxLDAsMCwxLDIwLDlaTTEzLDdoNlY2YTEsMSwwLDAsMC0xLTFIMTRhMSwxLDAsMCwwLTEsMVoiLz48cGF0aCBkPSJNMTQsMjNhMSwxLDAsMCwxLTEtMVYxNWExLDEsMCwwLDEsMiwwdjdBMSwxLDAsMCwxLDE0LDIzWiIvPjxwYXRoIGQ9Ik0xOCwyM2ExLDEsMCwwLDEtMS0xVjE1YTEsMSwwLDAsMSwyLDB2N0ExLDEsMCwwLDEsMTgsMjNaIi8+PC9nPjxnIGlkPSJmcmFtZSI+PHJlY3QgY2xhc3M9ImNscy0xIiBoZWlnaHQ9IjMyIiB3aWR0aD0iMzIiLz48L2c+PC9zdmc+");
    background-size: 25px 25px;
    background-repeat: no-repeat;
}

.cart-page .cart-table .tbl-row .num-qty {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    width: 67px;
}

.cart-page .cart-table .tbl-row .num-qty input {
    width: 45px;
    height: 45px;
    text-align: center;
    font-size: 16px;
    padding: 0;
    outline: 0;
    border: 1px solid #eee;
    -webkit-inner-spin-button: none;
    margin-right: 23px;
}

.cart-page .cart-table .tbl-row .num-qty input::-webkit-inner-spin-button {
    display: none;
}

.cart-page .cart-table .tbl-row .num-qty span {
    width: 23px;
    height: 23px;
    border: 1px solid #eee;
    position: absolute;
    right: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    justify-content: center;
    cursor: pointer;
}

.cart-page .cart-table .tbl-row .num-qty span.qty-plus {
    top: 0;
}

.cart-page .cart-table .tbl-row .num-qty span.qty-minus {
    bottom: 0;
}

.cart-page .cart-voucher {
    width: 100%;
    margin-bottom: 20px;
}

.cart-page .cart-voucher .promo-input {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    max-width: 300px;
    width: 100%;
    float: right;
}

.cart-page .cart-voucher .promo-input input {
    width: 100%;
    border: 1px solid #989898;
    border-radius: 999px 0 0 999px;
    -webkit-border-radius: 999px 0 0 999px;
    -moz-border-radius: 999px 0 0 999px;
    height: 45px;
    padding: 0 10px;
    color: #989898;
    outline: 0;
    box-shadow: none;
    appearance: none;
    -webkit-appearance: none;
}

.cart-page .cart-voucher .promo-input button {
    appearance: none;
    -webkit-appearance: none;
    box-shadow: none;
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
    -moz-box-flex: 0;
    -moz-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    background: #000;
    color: #fff;
    text-align: center;
    font-size: 16px;
    border-radius: 0 999px 999px 0;
    -webkit-border-radius: 0 999px 999px 0;
    -moz-border-radius: 0 999px 999px 0;
    overflow: hidden;
    border: 0;
    outline: 0;
    padding: 0;
    max-width: 100px;
    width: 100%;
}

.cart-page .cart-status {
    background: #FAFAFA;
    padding: 22px 15px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.cart-page .cart-status .back-category {
    color: #000;
    text-decoration: underline;
}

@media only screen and (max-width: 767px) {
    .cart-page .cart-status .back-category {
        margin-bottom: 15px;
        font-size: 16px;
    }
}

.cart-page .cart-status .back-category i {
    font-size: 14px;
    margin-right: 5px;
}

.cart-page .cart-status .update-cart {
    color: #000;
    max-width: 226px;
    font-size: 18px;
    margin-left: auto;
    background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pjxzdmcgdmlld0JveD0iMCAwIDIwIDIwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik0xMCAzdjJhNSA1IDAgMCAwLTMuNTQgOC41NGwtMS40MSAxLjQxQTcgNyAwIDAgMSAxMCAzem00Ljk1IDIuMDVBNyA3IDAgMCAxIDEwIDE3di0yYTUgNSAwIDAgMCAzLjU0LTguNTRsMS40MS0xLjQxek0xMCAyMGwtNC00IDQtNHY4em0wLTEyVjBsNCA0LTQgNHoiLz48L3N2Zz4=");
    background-size: 20px 20px;
    padding-right: 30px;
    background-repeat: no-repeat;
    background-position: right center;
}

.cart-page .cart-totals {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    -webkit-justify-content: flex-end;
    -moz-justify-content: flex-end;
    justify-content: flex-end;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    align-items: center;
    margin-top: 35px;
}

@media only screen and (max-width: 767px) {
    .cart-page .cart-totals {
        -webkit-box-direction: normal;
        -webkit-box-orient: vertical;
        -webkit-flex-direction: column;
        -moz-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
    }
}

.cart-page .cart-totals .order-subtotal {
    font-size: 18px;
    line-height: 24px;
    line-height: 1.33333em;
}

@media only screen and (max-width: 767px) {
    .cart-page .cart-totals .order-subtotal {
        margin-bottom: 10px;
    }
}

.cart-page .cart-totals .order-subtotal span {
    color: #daa14c;
    font-size: 22px;
    line-height: 26px;
    line-height: 1.18182em;
    margin-left: 10px;
}

.cart-page .cart-totals .primary-button {
    margin: 0 0 0 30px;
    max-width: 220px;
}

@media only screen and (max-width: 767px) {
    .cart-page .cart-totals .primary-button {
        margin-left: 0;
    }
}

.project-list {
    padding-top: 60px;
    padding-bottom: 40px;
}

.project-list.archive {
    padding-top: 0;
    padding-bottom: 0;
}

@media (max-width: 767px) {
    .project-list {
        padding-top: 30px;
        padding-bottom: 20px;
    }
}

.project-list .project-item {
    padding-top: 12px;
    padding-bottom: 12px;
    margin-top: 20px;
    position: relative;
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 6px 18px rgba(0, 0, 0, .05);
    transition: box-shadow .2s ease, transform .2s ease;
}

.project-list .project-item:hover {
    box-shadow: 0 12px 28px rgba(0, 0, 0, .09);
    transform: translateY(-2px);
}

project-
/* Thêm khoảng cách giữa các sản phẩm trong grid */

.project-list .project-item-wrapper {
    display: block;
    position: relative;
    color: #000;
    text-decoration: none;
}

@media only screen and (min-width: 1025px) {
    .project-list .project-item-wrapper:hover {
        opacity: 1;
    }

    .project-list .project-item-wrapper:hover .project-item-thumb img {
        transform: scale(1.025);
    }

    .project-list .project-item-wrapper:hover .project-item-info {
        opacity: 1;
    }
}

.project-list .project-item-thumb {
    position: relative;
    overflow: hidden;
}

.project-list .project-item-thumb:before {
    display: block;
    content: " ";
    width: 100%;
    padding-top: 62.85714%;
}

.project-list .project-item-thumb>.content {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

.project-list .project-item-thumb img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .3s, filter .3s;
}

.project-item:hover .project-item-thumb img {
    transform: scale(1.03);
    filter: brightness(0.95);
}

/* Hover overlay centered within the image */
.project-item-thumb .project-item-hover {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    opacity: 0;
    transition: opacity .2s ease;
}

.project-item:hover .project-item-thumb .project-item-hover {
    opacity: 1;
}

.project-item-thumb .project-item-hover .cta-icon {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background-color: #30373e;
    box-shadow: 0 4px 16px rgba(0, 0, 0, .2);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 28px 28px;
    transition: opacity .25s ease, transform .25s ease;
    /* cart svg icon */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 12.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/%3E%3C/svg%3E");
}

/* Show icon only on hover */
.project-item-thumb .project-item-hover .cta-icon {
    display: block;
}

.project-list .project-item-info {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-direction: normal;
    -webkit-box-orient: vertical;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    text-align: center;
    padding: 18px 20px;
}

.project-list .project-item-title {
    font-size: 18px;
    line-height: 26px;
    letter-spacing: 0.01em;
    font-weight: 700;
}

.project-list .project-item-title.white {
    color: #fff;
}

.project-list .project-item-sku {
    font-size: 16px;
    font-weight: 700;
    line-height: 18px;
    line-height: 1.5em;
    margin-top: 5px;
    color: #9b9b9b;
}

/* Woo product cards inside project-list */
.project-item-price {
    margin-top: 8px;
}

.project-item-price .price {
    display: inline-flex;
    align-items: baseline;
    gap: 12px;
    font-size: 18px;
    line-height: 24px;
    font-weight: 700;
    text-decoration: none;
}

/* Prevent link underline but keep strike-through on original price */
.project-item-price .price a,
.project-list .project-item-wrapper .project-item-info a {
    text-decoration: none !important;
}

.project-item-price .price del {
    text-decoration: line-through !important;
}

.project-item-price .price ins {
    color: #000;
    text-decoration: none;
    font-weight: 700;
}

.project-item-price .price del {
    color: #9b9b9b;
    text-decoration: line-through !important;
    font-weight: 500;
}

.project-item-price .woocommerce-Price-currencySymbol {
    margin-left: 2px;
}

/* Prevent breaking between amount and currency; remove extra letter spacing */
.project-item-price .woocommerce-Price-amount,
.project-item-price .woocommerce-Price-amount bdi,
.project-item-price .woocommerce-Price-currencySymbol {
    white-space: nowrap;
    word-break: normal;
    letter-spacing: 0;
    display: inline;
    /* allow del to strike through the whole value including currency */
}

.project-item-actions {
    padding: 0 20px 20px;
    display: flex;
    justify-content: center;
}

.project-item-actions .button,
.project-item-actions .added_to_cart {
    cursor: pointer;
    border: none;
    outline: 0;
    background-color: #daa14c;
    color: #fff;
    border-radius: 999px;
    font-size: 16px;
    line-height: 22px;
    letter-spacing: 0.05em;
    text-decoration: none;
    padding: 12px 18px;
    display: inline-block;
}

.project-item-actions .button:hover,
.project-item-actions .added_to_cart:hover {
    opacity: .95;
}

/* Hide Woo accessibility helper text visually (remain for screen readers) */
.screen-reader-text {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.project-categories .ttl {
    color: #daa14c;
    text-transform: uppercase;
    font-size: 18px;
    line-height: 20px;
    line-height: 1.11111em;
    letter-spacing: 0.05em;
    font-weight: 700;
}

.project-categories .lst {
    margin-top: 20px;
}

.project-categories .lst li {
    display: inline-block;
    padding-right: 15px;
    padding-bottom: 15px;
}

.project-categories .lst li:not(:last-child):after {
    content: '/';
    display: inline-block;
    padding-left: 15px;
    font-size: 18px;
    line-height: 20px;
    line-height: 1.11111em;
    letter-spacing: 0.05em;
    font-weight: 400;
}

.project-categories .lst li a {
    display: inline-block;
    color: #000;
    font-size: 18px;
    line-height: 20px;
    line-height: 1.11111em;
    letter-spacing: 0.05em;
    font-weight: 400;
}

@media only screen and (min-width: 1025px) {
    .project-categories .lst li a:hover {
        color: #daa14c;
    }
}

.project-categories .lst li a.active {
    color: #daa14c;
    font-weight: 500;
}

/* Sidebar category groups (vertical list style) */
.project-categories .category-group {
    margin-top: 20px;
}

.project-categories .group-title {
    font-size: 22px;
    line-height: 1.3em;
    font-weight: 700;
    margin-bottom: 10px;
}

.project-categories .group-list {
    list-style: none;
    padding: 0;
    margin: 0 0 20px;
}

.project-categories .group-list li {
    border-bottom: 1px solid #e6e6e6;
    padding: 10px 0;
}

.project-categories .group-list li.depth-1 {
    padding-left: 16px;
}

.project-categories .group-list li.depth-2 {
    padding-left: 32px;
}

.project-categories .group-list li.depth-3 {
    padding-left: 48px;
}

.project-categories .group-list li.depth-4 {
    padding-left: 64px;
}

.project-categories .group-list li.depth-5 {
    padding-left: 80px;
}

.project-categories .group-list li a {
    display: block;
    color: #000;
    font-size: 18px;
    line-height: 1.2em;
    letter-spacing: 0.02em;
}

.project-categories .group-list li a.active {
    color: #daa14c;
    font-weight: 600;
}

@media only screen and (min-width: 1025px) {
    .project-categories .group-list li a:hover {
        color: #daa14c;
    }
}

.products-page-detail {
    margin-bottom: -100px;
}

@media (max-width: 767px) {
    .products-page-detail {
        margin-bottom: -50px;
    }
}

.products-page-detail .gallery {
    display: grid;
    grid-column-gap: 8px;
    grid-row-gap: 8px;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    grid-auto-rows: 8px;
    padding-bottom: 70px;
}

.products-page-detail .gallery img {
    max-width: 100%;
    transition: all .5s ease;
}

.products-page-detail .gallery .content {
    padding: 4px;
    display: block;
}

.products-page-detail .gallery .gallery-item {
    transition: grid-row-start 300ms linear;
    transition: transform 300ms ease;
    transition: all 0.5s ease;
    cursor: pointer;
}

.products-page-detail .gallery .gallery-item:hover {
    transform: scale(1.025);
}

@media (max-width: 600px) {
    .products-page-detail .gallery {
        grid-template-columns: repeat(auto-fill, minmax(30%, 1fr));
    }
}

@media (max-width: 400px) {
    .products-page-detail .gallery {
        grid-template-columns: repeat(auto-fill, minmax(50%, 1fr));
    }
}

.contact-page {
    max-width: 800px;
}

.contact-page .contact-info .contact-name {
    font-size: 30px;
    line-height: 40px;
    line-height: 1.33333em;
    letter-spacing: 0em;
    font-weight: 700;
    margin-bottom: 15px;
}

.contact-page #contact-form {
    padding-top: 50px;
}

@media (max-width: 767px) {
    .contact-page #contact-form {
        padding-top: 30px;
    }
}

.contact-page .alert_msg_contact_sussess {
    text-align: center;
    margin: 20px 0;
    color: #daa14c;
    font-size: 20px;
    line-height: 20px;
    line-height: 1em;
}

.contact-page .alert_msg_contact {
    color: red;
}

.contact-page .form-group {
    padding-top: 10px;
    padding-bottom: 10px;
}

.contact-page .form-group input,
.contact-page .form-group textarea {
    width: 100%;
    height: 100%;
    border: 1px solid #e5e5e5;
    font-family: "Inter", sans-serif;
    color: #000;
    font-size: 16px;
    line-height: 16px;
    line-height: 1em;
    letter-spacing: 0.05em;
    font-weight: 400;
    padding: 15px 22px;
    outline: 0;
    border-radius: 3px;
    -webkit-appearance: none;
    box-sizing: border-box;
}

.contact-page .form-group textarea {
    height: 250px;
    display: block;
    resize: none;
}

/* Product detail cart row: keep qty and button on one line */
.products-page-detail .pro-cart .cart {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: nowrap;
}

.products-page-detail .pro-cart .num-qty {
    display: inline-flex;
    align-items: center;
    gap: 0;
    flex: 0 0 auto;
}

.products-page-detail .pro-cart .num-qty span,
.products-page-detail .pro-cart .num-qty input[type="number"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 54px;
}

.products-page-detail .pro-cart .num-qty input[type="number"] {
    width: 56px;
    text-align: center;
    border-left: 1px solid #e5e5e5;
    border-right: 1px solid #e5e5e5;
}

.products-page-detail .pro-cart .add-to-cart {
    white-space: nowrap;
}

/* Base font family and product detail typography overrides */
html,
body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Helvetica Neue', Arial, sans-serif;
    font-weight: 400;
}

.products-page-detail .pro-name {
    font-family: 'Inter', sans-serif;
    font-weight: 700;
}

.products-page-detail .pro-meta,
.products-page-detail .pro-cart,
.products-page-detail .pro-price .price {
    font-family: 'Inter', sans-serif;
}

.products-page-detail .pro-price .price {
    display: inline-flex;
    align-items: baseline;
    gap: 12px;
}

/* Detail price cleanup: target actual Woo price markup (no .price wrapper) */
.products-page-detail .pro-price ins {
    color: #000;
    font-weight: 700;
    text-decoration: none !important;
    font-size: 20px;
}

.products-page-detail .pro-price ins *,
.products-page-detail .pro-price ins bdi,
.products-page-detail .pro-price ins .woocommerce-Price-amount,
.products-page-detail .pro-price ins .woocommerce-Price-currencySymbol,
.products-page-detail .pro-price a {
    text-decoration: none !important;
    font-weight: 700;
    font-size: inherit;
}

.products-page-detail .pro-price del {
    color: #9b9b9b;
    text-decoration: line-through;
    font-size: 16px;
}

.products-page-detail .pro-price del *,
.products-page-detail .pro-price del bdi,
.products-page-detail .pro-price del .woocommerce-Price-amount,
.products-page-detail .pro-price del .woocommerce-Price-currencySymbol {
    font-size: inherit;
}

.products-page-detail .pro-price .price ins .amount,
.products-page-detail .pro-price .price ins .woocommerce-Price-amount,
.products-page-detail .pro-price .price ins .woocommerce-Price-currencySymbol,
.products-page-detail .pro-price .price a {
    text-decoration: none !important;
}

.products-page-detail .pro-price .price del {
    color: #9b9b9b;
    text-decoration: line-through;
}

.products-page-detail .pro-price .woocommerce-Price-amount,
.products-page-detail .pro-price .woocommerce-Price-currencySymbol,
.products-page-detail .pro-price .amount {
    white-space: nowrap;
    display: inline;
}

/* Archive card price styling (san-pham/index.php) */
.project-item-price .price {
    display: inline-flex;
    align-items: baseline;
    gap: 8px;
}

.project-item-price .price ins {
    color: #000;
    font-weight: 700;
    text-decoration: none !important;
    font-size: 18px;
}

.project-item-price .price del {
    color: #9b9b9b;
    text-decoration: line-through;
    font-size: 14px;
}

.project-item-price .price .woocommerce-Price-amount,
.project-item-price .price .woocommerce-Price-currencySymbol,
.project-item-price .price .amount {
    white-space: nowrap;
    display: inline;
}

/* Spacing & title aesthetics */
.products-page-detail .pro-name {
    font-size: 44px;
    line-height: 1.2;
    letter-spacing: 0.01em;
    margin-bottom: 12px;
}

.products-page-detail .pro-price {
    margin-bottom: 18px;
}

.products-page-detail .pro-short {
    margin: 6px 0 14px;
    color: #333;
    font-size: 16px;
    line-height: 1.6;
}

.products-page-detail .pro-cart {
    margin-top: 10px;
}

/* Cart row styling */
.products-page-detail .pro-cart .cart {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: nowrap;
}

.products-page-detail .pro-cart .num-qty {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
}

.products-page-detail .pro-cart .num-qty .qty-plus,
.products-page-detail .pro-cart .num-qty .qty-minus {
    width: 54px;
    height: 54px;
    border: 1px solid #e5e5e5;
    background: #fff;
    font-size: 20px;
    line-height: 54px;
    text-align: center;
    cursor: pointer;
    user-select: none;
}

.products-page-detail .pro-cart .num-qty .qty-plus {
    border-right: 0;
    border-radius: 6px 0 0 6px;
}

.products-page-detail .pro-cart .num-qty .qty-minus {
    border-left: 0;
    border-radius: 0 6px 6px 0;
}

.products-page-detail .pro-cart .num-qty input[type="number"] {
    width: 56px;
    height: 54px;
    text-align: center;
    border: 1px solid #e5e5e5;
    border-left: 0;
    border-right: 0;
    font-size: 18px;
}

/* Remove native number spinners for cleaner look */
.products-page-detail .pro-cart .num-qty input[type=number]::-webkit-outer-spin-button,
.products-page-detail .pro-cart .num-qty input[type=number]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.products-page-detail .pro-cart .num-qty input[type=number] {
    -moz-appearance: textfield;
}

.products-page-detail .pro-cart .add-to-cart {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 54px;
    padding: 0 24px;
    border-radius: 28px;
    background: #daa14c;
    color: #fff;
    font-weight: 600;
    border: none;
    box-shadow: 0 2px 0 rgba(0, 0, 0, 0.08);
    white-space: nowrap;
    transition: background-color .2s ease, transform .1s ease;
}

.products-page-detail .pro-cart .add-to-cart:hover {
    background: #e0ad5a;
}

.products-page-detail .pro-cart .add-to-cart:active {
    transform: scale(0.98);
}

/*# sourceMappingURL=maps/style.css.map */
/* Product detail: click-to-zoom on main slider images */
.products-page-detail .detail-slider .slider-image .slide {
    overflow: hidden;
}

.products-page-detail .detail-slider .slider-image .slide img {
    transition: transform 0.25s ease;
    transform-origin: center center;
    cursor: zoom-in;
}

.products-page-detail .detail-slider .slider-image .slide img.zoomed {
    transform: scale(1.6);
    cursor: zoom-out;
}

/* Ensure grid hover add-to-cart icon is clickable */
.project-item-hover {
    pointer-events: auto;
}

.project-item-hover .add-to-cart-quick,
.project-item-hover .cta-icon.add-to-cart {
    cursor: pointer;
    display: inline-block;
}

/* Product grid: make Woo add-to-cart look like the round cart icon */
.project-item-thumb .project-item-hover {
    pointer-events: auto !important;
}

.project-item-thumb .project-item-hover .fadoda-add-to-cart a {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background-color: #30373e;
    box-shadow: 0 4px 16px rgba(0, 0, 0, .2);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 28px 28px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 12.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/%3E%3C/svg%3E");
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    padding: 0;
    text-decoration: none;
    font-size: 0;
    /* hide default text */
    line-height: 0;
    cursor: pointer;
}

.project-item-thumb .project-item-hover .fadoda-add-to-cart a:hover {
    transform: translateY(-1px);
}

/* Woo AJAX state: prevent duplicate icons after "added" */
.project-item-thumb .project-item-hover .fadoda-add-to-cart {
    position: relative;
    width: 56px;
    height: 56px;
}

.project-item-thumb .project-item-hover .fadoda-add-to-cart a {
    position: absolute;
    inset: 0;
}

/* When Woo adds a "View cart" link, show only one button */
.project-item-thumb .project-item-hover .fadoda-add-to-cart a.add_to_cart_button.added {
    display: none;
}

.project-item-thumb .project-item-hover .fadoda-add-to-cart a.added_to_cart {
    z-index: 2;
    /* success/check icon */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
}

/* Product title color */
.project-list .project-item-title a {
    color: #111;
    text-decoration: none;
}

.project-list .project-item-title a:hover {
    color: #111;
}

/* Project short description (rich text) */
.project-item-shortdesc,
.pro-shortdesc {
    margin-top: 8px;
    color: #333;
    font-size: 18px;
    line-height: 1.5;
}

.project-item-shortdesc p,
.pro-shortdesc p {
    margin: 0 0 6px;
}

.project-item-shortdesc p:last-child,
.pro-shortdesc p:last-child {
    margin-bottom: 0;
}

/* ==============================
   WooCommerce Checkout (Custom Page)
   Fix: Bootstrap grid defines .col-1/.col-2 which breaks Woo's .col2-set columns.
   Scope overrides to the checkout page so the rest of the site is unaffected.
   ============================== */
.checkout-page .woocommerce {
    width: 100%;
}

/* Steps indicator (Giỏ hàng > Thông tin giao hàng > Phương thức thanh toán) */
.checkout-page .tp-checkout-steps {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    margin: 0 0 18px;
    color: #8a8a8a;
    font-size: 14px;
}

.checkout-page .tp-checkout-steps .tp-step {
    color: inherit;
    text-decoration: none;
}

.checkout-page .tp-checkout-steps .tp-step.is-active {
    color: #111;
    font-weight: 600;
}

.checkout-page .tp-checkout-steps .tp-step-sep {
    color: #b0b0b0;
}

/* Customer details: keep billing/shipping stacked like the reference */
.checkout-page .woocommerce #customer_details.col2-set {
    display: block;
}

.checkout-page .woocommerce #customer_details.col2-set .col-1,
.checkout-page .woocommerce #customer_details.col2-set .col-2 {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Coupon toggle should be visible (like screenshot) */
.checkout-page .woocommerce .woocommerce-form-coupon-toggle {
    display: block;
}

.checkout-page .woocommerce #woocommerce-checkout-form-coupon {
    border: 0;
    padding: 12px 0 0;
    margin: 0 0 18px;
}

.checkout-page .woocommerce #woocommerce-checkout-form-coupon .form-row {
    margin-bottom: 10px;
}

.checkout-page .woocommerce #woocommerce-checkout-form-coupon .form-row-first {
    width: calc(100% - 140px);
}

.checkout-page .woocommerce #woocommerce-checkout-form-coupon .form-row-last {
    width: 130px;
}

/* Form fields */
.checkout-page .woocommerce form .form-row {
    float: none;
    width: 100%;
    margin: 0 0 14px;
}

.checkout-page .woocommerce form .form-row-first,
.checkout-page .woocommerce form .form-row-last {
    float: left;
    width: 48%;
}

.checkout-page .woocommerce form .form-row-last {
    float: right;
}

@media (max-width: 767px) {

    .checkout-page .woocommerce form .form-row-first,
    .checkout-page .woocommerce form .form-row-last {
        float: none;
        width: 100%;
    }
}

.checkout-page .woocommerce form .form-row label {
    display: block;
    margin-bottom: 6px;
    white-space: normal;
}

.checkout-page .woocommerce form .form-row input.input-text,
.checkout-page .woocommerce form .form-row textarea,
.checkout-page .woocommerce form .form-row select {
    width: 100%;
    box-sizing: border-box;
}

.checkout-page .woocommerce ul.wc_payment_methods,
.checkout-page .woocommerce ul.wc_payment_methods li {
    list-style: none;
    padding-left: 0;
}


/* Two-column checkout layout: customer details (left) + order summary/payment (right) */
.checkout-page .woocommerce form.woocommerce-checkout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 460px;
    gap: 40px;
    align-items: start;
}

.checkout-page .woocommerce form.woocommerce-checkout #customer_details {
    grid-column: 1;
    grid-row: 1;
    min-width: 0;
}

.checkout-page .woocommerce form.woocommerce-checkout #order_review_heading,
.checkout-page .woocommerce form.woocommerce-checkout #order_review {
    grid-column: 2;
    min-width: 0;
}

/* Prevent grid row split: hide standalone heading and show a heading inside the box */
.checkout-page .woocommerce form.woocommerce-checkout #order_review_heading {
    display: none !important;
}

.checkout-page .woocommerce form.woocommerce-checkout #order_review {
    grid-row: 1;
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    background: #f7f7f7;
    border: 1px solid #eee;
    border-radius: 14px;
    padding: 20px;
}

.checkout-page .woocommerce form.woocommerce-checkout #order_review::before {
    content: "Đơn hàng";
    display: block;
    margin: 0 0 12px;
    font-size: 22px;
    font-weight: 700;
    color: #111;
}

/* Make the right column sticky like the reference */
@media (min-width: 992px) {
    .checkout-page .woocommerce form.woocommerce-checkout #order_review {
        position: sticky;
        top: 120px;
    }
}

/* Our custom summary block */
.checkout-page .woocommerce .tp-summary-row>td {
    padding: 0;
    border: 0;
}

.checkout-page .woocommerce .tp-checkout-summary {
    display: block;
    margin: 0 0 18px;
}

.checkout-page .woocommerce .tp-checkout-items {
    display: grid;
    gap: 14px;
    padding: 6px 0 16px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.checkout-page .woocommerce .tp-checkout-item {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
}

.checkout-page .woocommerce .tp-checkout-item-left {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    min-width: 0;
}

.checkout-page .woocommerce .tp-checkout-thumb-wrap {
    position: relative;
    width: 56px;
    height: 56px;
    flex: 0 0 56px;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.08);
}

.checkout-page .woocommerce .tp-checkout-thumb-wrap img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    display: block;
}

.checkout-page .woocommerce .tp-checkout-qty {
    position: absolute;
    top: -8px;
    right: -8px;
    width: 22px;
    height: 22px;
    border-radius: 999px;
    background: #9aa0a6;
    color: #fff;
    font-size: 12px;
    line-height: 22px;
    text-align: center;
}

.checkout-page .woocommerce .tp-checkout-meta {
    min-width: 0;
}

.checkout-page .woocommerce .tp-checkout-name {
    font-weight: 600;
    color: #111;
    line-height: 1.35;
}

.checkout-page .woocommerce .tp-checkout-variant {
    color: #7a7a7a;
    font-size: 13px;
    line-height: 1.4;
}

.checkout-page .woocommerce .tp-checkout-item-price {
    white-space: nowrap;
    font-weight: 600;
    color: #111;
}

/* Review order table: show native line items and style them */
.checkout-page .woocommerce .woocommerce-checkout-review-order-table {
    width: 100%;
    border-collapse: collapse;
}

.checkout-page .woocommerce .woocommerce-checkout-review-order-table thead th {
    font-weight: 700;
    font-size: 13px;
    color: #111;
    padding: 10px 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.checkout-page .woocommerce .woocommerce-checkout-review-order-table tbody td {
    padding: 12px 0;
    vertical-align: top;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.checkout-page .woocommerce .woocommerce-checkout-review-order-table td.product-total,
.checkout-page .woocommerce .woocommerce-checkout-review-order-table th.product-total {
    text-align: right;
}

/* Product name cell content (thumbnail + title) */
.checkout-page .woocommerce .tp-co-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.checkout-page .woocommerce .tp-co-thumb-wrap {
    width: 52px;
    height: 52px;
    flex: 0 0 52px;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.08);
}

.checkout-page .woocommerce .tp-co-thumb-wrap img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    display: block;
}

.checkout-page .woocommerce .tp-co-title {
    font-weight: 600;
    color: #111;
    line-height: 1.35;
}

/* Qty control inside product-name cell */
.checkout-page .woocommerce .tp-co-qty {
    display: inline-flex;
    align-items: center;
    margin-top: 8px;
    border: 1px solid rgba(0, 0, 0, 0.14);
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
    position: relative;
    z-index: 5;
}

.checkout-page .woocommerce .tp-co-qty .tp-qty-btn {
    width: 34px;
    height: 32px;
    border: 0;
    background: #f3f4f6;
    color: #111;
    cursor: pointer;
    position: relative;
    z-index: 6;
}

.checkout-page .woocommerce .tp-co-qty .tp-qty-input {
    width: 44px;
    height: 32px;
    border: 0;
    text-align: center;
    outline: none;
}

.checkout-page .woocommerce .tp-co-qty .tp-qty-input::-webkit-outer-spin-button,
.checkout-page .woocommerce .tp-co-qty .tp-qty-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.checkout-page .woocommerce .tp-co-qty .tp-qty-input[type=number] {
    -moz-appearance: textfield;
}

.checkout-page .woocommerce .woocommerce-checkout-review-order-table tfoot th,
.checkout-page .woocommerce .woocommerce-checkout-review-order-table tfoot td {
    border-top: 0;
}

.checkout-page .woocommerce .woocommerce-checkout-review-order-table tfoot tr th,
.checkout-page .woocommerce .woocommerce-checkout-review-order-table tfoot tr td {
    padding: 10px 0;
}

.checkout-page .woocommerce .woocommerce-checkout-review-order-table tfoot tr.order-total th,
.checkout-page .woocommerce .woocommerce-checkout-review-order-table tfoot tr.order-total td {
    padding-top: 14px;
    font-size: 18px;
}

/* Prevent breaking between amount and currency symbol (e.g., "đ" dropping to next line) */
.checkout-page .woocommerce .woocommerce-Price-amount,
.checkout-page .woocommerce .woocommerce-Price-amount bdi,
.checkout-page .woocommerce .woocommerce-Price-currencySymbol {
    white-space: nowrap;
    word-break: normal;
    display: inline;
}

/* Make payment section cleaner */
.checkout-page .woocommerce #payment {
    background: transparent;
    border: 0;
}

.checkout-page .woocommerce form.woocommerce-checkout #order_review table {
    margin: 0;
}

.checkout-page .woocommerce form.woocommerce-checkout #order_review .shop_table th,
.checkout-page .woocommerce form.woocommerce-checkout #order_review .shop_table td {
    padding: 10px 0;
}

.checkout-page .woocommerce form.woocommerce-checkout #order_review .shop_table tfoot th,
.checkout-page .woocommerce form.woocommerce-checkout #order_review .shop_table tfoot td {
    padding: 12px 0;
}

.checkout-page .woocommerce form.woocommerce-checkout #place_order {
    width: 100%;
    border-radius: 12px;
    padding: 14px 18px;
}

@media (max-width: 767px) {
    .checkout-page .woocommerce form.woocommerce-checkout {
        display: block;
    }

    .checkout-page .woocommerce form.woocommerce-checkout #order_review_heading {
        margin-top: 26px;
    }
}

/* Hide related products block on product detail page (requested) */
.products-page-detail .product-detail-related {
    display: none !important;
}

/* ==== Contact Form Custom Style ==== */
.contact-page form,
.contact-page .wpcf7,
.contact-page .wpforms-container {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 2px 16px rgba(0, 0, 0, 0.07);
    padding: 32px 24px 24px 24px;
    max-width: 520px;
    margin: 0 auto 24px auto;
}

.contact-page .form-group,
.contact-page .wpforms-field {
    margin-bottom: 18px;
}

.contact-page input[type="text"],
.contact-page input[type="email"],
.contact-page input[type="tel"],
.contact-page input[type="number"],
.contact-page textarea {
    width: 100%;
    border: 1.5px solid #e0e0e0;
    border-radius: 8px;
    padding: 10px 14px;
    font-size: 1rem;
    background: #fafbfc;
    transition: border 0.2s;
    outline: none;
    color: #222;
}

.contact-page input[type="text"]:focus,
.contact-page input[type="email"]:focus,
.contact-page input[type="tel"]:focus,
.contact-page input[type="number"]:focus,
.contact-page textarea:focus {
    border-color: #ffb300;
    background: #fffbe6;
}

.contact-page textarea {
    min-height: 120px;
    resize: vertical;
}

.contact-page label {
    font-weight: 500;
    margin-bottom: 6px;
    display: block;
    color: #222;
}

.contact-page .primary-button,
.contact-page input[type="submit"],
.contact-page button[type="submit"] {
    background: linear-gradient(90deg, #ffb300 0%, #ff8c00 100%);
    color: #fff;
    border: none;
    border-radius: 24px;
    padding: 10px 32px;
    font-size: 1.1rem;
    font-weight: 600;
    box-shadow: 0 2px 8px rgba(255, 179, 0, 0.08);
    cursor: pointer;
    transition: background 0.2s, box-shadow 0.2s;
    margin-top: 8px;
    display: inline-block;
}

.contact-page .primary-button:hover,
.contact-page input[type="submit"]:hover,
.contact-page button[type="submit"]:hover {
    background: linear-gradient(90deg, #ff8c00 0%, #ffb300 100%);
    box-shadow: 0 4px 16px rgba(255, 179, 0, 0.15);
}

.contact-page .alert_msg_contact_sussess,
.contact-page .alert_msg_contact {
    color: #388e3c;
    background: #e8f5e9;
    border-radius: 6px;
    padding: 8px 12px;
    margin-bottom: 10px;
    font-size: 1rem;
    display: none;
}

.contact-page .alert_msg_contact {
    color: #d32f2f;
    background: #ffebee;
}

/* Khoảng cách giữa các cột = nhau (ngang + dọc) */
#footer .footer-info.footer-info--dark .footer-dark-grid {
    --bs-gutter-x: 32px;
    /* khoảng cách ngang giữa cột */
    --bs-gutter-y: 24px;
    /* khoảng cách dọc khi xuống hàng (mobile) */
}

/* (Tuỳ chọn) nếu bạn muốn 3 cột nhìn cân hơn, đảm bảo mỗi col có cùng padding top/bottom */
#footer .footer-info.footer-info--dark .footer-dark-col {
    padding: 0;
    /* tránh mỗi cột tự có padding khác nhau */
}


/* =========================
   ABOUT v2 (gioi-thieu)
   Scope: .aboutv2-page
   NOTE: đặt ở CUỐI file style.css để override các rule cũ
========================= */
:root {
    --aboutv2-bg0: #0b0d12;
    --aboutv2-bg1: #0f1116;
    --aboutv2-bg2: #12141a;
    --aboutv2-card: rgba(255, 255, 255, .05);
    --aboutv2-stroke: rgba(255, 255, 255, .14);
    --aboutv2-stroke2: rgba(255, 255, 255, .10);
    --aboutv2-text: #fff;
    --aboutv2-muted: rgba(255, 255, 255, .85);
    --aboutv2-muted2: rgba(255, 255, 255, .72);
    --aboutv2-accent: #daa14c;
}

.aboutv2-page {
    background: linear-gradient(180deg, var(--aboutv2-bg0) 0%, #07080c 100%);
    color: var(--aboutv2-text);
}

/* HERO */
.aboutv2-hero {
    padding: 56px 0;
    background:
        radial-gradient(900px 500px at 20% 20%, rgba(218, 161, 76, .22), transparent 60%),
        radial-gradient(700px 500px at 80% 40%, rgba(45, 212, 191, .14), transparent 55%),
        linear-gradient(180deg, var(--aboutv2-bg2), var(--aboutv2-bg1));
    border-bottom: 1px solid rgba(255, 255, 255, .06);
}

.aboutv2-hero-row {
    align-items: center;
}

.aboutv2-kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 999px;
    background: rgba(255, 255, 255, .03);
    letter-spacing: .14em;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    margin-bottom: 14px;
}

.aboutv2-dot {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--aboutv2-accent), #ff7a18);
    box-shadow: 0 0 0 4px rgba(218, 161, 76, .14);
}

.aboutv2-h1 {
    margin: 0 0 14px;
    font-size: 26px;
    line-height: 1.15;
    font-weight: 900;
    letter-spacing: -.02em;
    color: #fff;
}

.aboutv2-lead {
    margin: 0 0 18px;
    font-size: 16px;
    line-height: 1.75;
    color: var(--aboutv2-muted);
}

/* Buttons */
.aboutv2-cta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 8px 0 18px;
}

.aboutv2-cta--center {
    justify-content: center;
}

.aboutv2-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 12px 16px;
    border-radius: 999px;
    font-weight: 800;
    font-size: 14px;
    letter-spacing: .02em;
    border: 1px solid transparent;
    transition: transform .15s ease, opacity .2s ease, border-color .2s ease;
    user-select: none;
    text-decoration: none;
}

.aboutv2-btn:hover {
    transform: translateY(-1px);
    opacity: .95;
}

.aboutv2-btn--primary {
    background: linear-gradient(135deg, var(--aboutv2-accent) 0%, #ff7a18 100%);
    color: #151515 !important;
}

.aboutv2-btn--ghost {
    background: transparent;
    border-color: rgba(255, 255, 255, .24);
    color: #fff !important;
}

.aboutv2-btn--ghost:hover {
    border-color: rgba(255, 255, 255, .45);
}

/* Badges */
.aboutv2-badges {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 10px;
}

.aboutv2-badge {
    border: 1px solid rgba(255, 255, 255, .14);
    background: rgba(255, 255, 255, .03);
    border-radius: 16px;
    padding: 12px;
}

.aboutv2-badge .ttl {
    font-weight: 900;
    font-size: 16px;
    color: #fff;
}

.aboutv2-badge .sub {
    font-size: 13px;
    color: var(--aboutv2-muted2);
    margin-top: 2px;
}

/* Media */
.aboutv2-media {
    border-radius: 18px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .12);
    min-height: 360px;
    background-size: cover;
    background-position: center;
    position: relative;
}

.aboutv2-media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, .06), rgba(0, 0, 0, .28));
}

.aboutv2-media-cap {
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: 14px;
    z-index: 2;
    padding: 10px 12px;
    border-radius: 12px;
    border: 1px dashed rgba(255, 255, 255, .25);
    background: rgba(0, 0, 0, .18);
    color: rgba(255, 255, 255, .88);
    font-weight: 800;
    font-size: 13px;
    text-align: center;
}

/* Sections */
.aboutv2-story,
.aboutv2-gallery,
.aboutv2-final {
    padding: 56px 0;
}

.aboutv2-story {
    background: linear-gradient(180deg, var(--aboutv2-bg1), #07080c);
}

.aboutv2-gallery {
    background: linear-gradient(180deg, var(--aboutv2-bg1), #07080c);
}

.aboutv2-final {
    background:
        radial-gradient(900px 500px at 50% 10%, rgba(218, 161, 76, .14), transparent 60%),
        linear-gradient(180deg, var(--aboutv2-bg1), #07080c);
}

.aboutv2-h2 {
    margin: 0 0 14px;
    font-size: 28px;
    font-weight: 900;
    letter-spacing: -.01em;
    color: #fff;
}

.aboutv2-h3 {
    margin: 0 0 12px;
    font-size: 16px;
    /* nhỏ lại cho gọn, tránh xuống dòng xấu */
    font-weight: 900;
    color: #fff;
}

.aboutv2-p {
    color: var(--aboutv2-muted);
    line-height: 1.75;
    margin: 0 0 12px;
}

.aboutv2-p--center {
    max-width: 820px;
    margin-left: auto;
    margin-right: auto;
}

/* Card + checklist */
.aboutv2-card {
    border: 1px solid var(--aboutv2-stroke);
    background: var(--aboutv2-card);
    border-radius: 16px;
    padding: 16px;
}

.aboutv2-card--mt {
    margin-top: 12px;
}

.aboutv2-mini {
    margin: 8px 0;
    color: var(--aboutv2-muted);
    font-size: 14px;
    line-height: 1.6;
}

.aboutv2-mini strong {
    color: #fff;
}

.aboutv2-mini a {
    color: #fff;
    text-decoration: none;
}

.aboutv2-mini a:hover {
    text-decoration: underline;
}

.aboutv2-check {
    list-style: none;
    padding: 0;
    margin: 0;
}

.aboutv2-check li {
    position: relative;
    padding-left: 26px;
    margin: 10px 0;
    color: var(--aboutv2-muted);
    line-height: 1.55;
}

.aboutv2-check li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;
    font-weight: 900;
    color: var(--aboutv2-accent);
}

/* Process */
.aboutv2-process {
    padding: 56px 0;
    background: linear-gradient(180deg, var(--aboutv2-bg0), #07080c);
    border-top: 1px solid rgba(255, 255, 255, .06);
    border-bottom: 1px solid rgba(255, 255, 255, .06);
}

.aboutv2-center {
    text-align: center;
}

.aboutv2-steps {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 12px;
    margin-top: 16px;
}

@media (min-width:768px) {
    .aboutv2-steps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width:992px) {
    .aboutv2-steps {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.aboutv2-step {
    border: 1px solid var(--aboutv2-stroke);
    background: rgba(255, 255, 255, .03);
    border-radius: 16px;
    padding: 16px;
    min-height: 120px;
}

.aboutv2-step .no {
    font-weight: 900;
    letter-spacing: .10em;
    color: rgba(255, 255, 255, .75);
}

.aboutv2-step .ttl {
    font-weight: 900;
    margin-top: 6px;
    color: #fff;
}

.aboutv2-step .sub {
    margin-top: 4px;
    color: var(--aboutv2-muted2);
    font-size: 14px;
    line-height: 1.5;
}

.aboutv2-process-cta {
    margin-top: 18px;
}

/* Gallery (FIX LỖI 4 ẢNH KHÔNG ĐỀU) */
.aboutv2-photos {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    align-content: start;
}

.aboutv2-ph {
    border-radius: 14px;
    overflow: hidden;
    border: 1px solid var(--aboutv2-stroke2);
    background: rgba(255, 255, 255, .03);
    aspect-ratio: 4 / 3;
    /* quan trọng: ép tỉ lệ để 4 ảnh đều nhau */
}

.aboutv2-ph img {
    width: 100%;
    height: 100% !important;
    /* override img{height:auto} của theme */
    object-fit: cover;
    display: block;
}

/* Final box */
.aboutv2-finalbox {
    border: 1px solid var(--aboutv2-stroke);
    background: rgba(255, 255, 255, .04);
    border-radius: 18px;
    padding: 24px;
    text-align: center;
}

/* Responsive */
@media (max-width:991px) {

    .aboutv2-hero,
    .aboutv2-story,
    .aboutv2-process,
    .aboutv2-gallery,
    .aboutv2-final {
        padding: 44px 0;
    }

    .aboutv2-h1 {
        font-size: 30px;
    }

    .aboutv2-media {
        min-height: 260px;
    }

    .aboutv2-ph {
        aspect-ratio: 16 / 10;
    }
}

/* ===== Showroom v3 (FontAwesome) ===== */
.showroomv3 {
    padding: 20px 0;
    background-color: rgba(31, 36, 43, 0.7);
}

.showroomv3-head {
    text-align: center;
    margin-bottom: 10px;
}

.showroomv3-title {
    margin: 0 0 0 0;
    font-weight: 700;
    font-size: 24px;
    letter-spacing: .06em;
    color: #d8a14c;
}

.showroomv3-sub {
    margin: 0 auto;
    max-width: 880px;
    color: #f6efef;
    line-height: 1.7;
    font-weight: 600;
}

.showroomv3-grid {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 18px;
}

@media (min-width:768px) {
    .showroomv3-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width:1200px) {
    .showroomv3-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.showroomv3-card {
    border: 1.5px solid #ececec;
    border-radius: 18px;
    background: #fff;
    padding: 18px;
    height: 100%;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .06);
}

.showroomv3-cardhead {
    margin-bottom: 14px;
}

.showroomv3-tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(216, 161, 76, .14);
    border: 1px solid rgba(216, 161, 76, .35);
    color: #6b4b16;
    font-weight: 900;
    font-size: 12px;
    letter-spacing: .08em;
}

.showroomv3-tag--showroom {
    background: rgba(0, 0, 0, .04);
    border-color: rgba(0, 0, 0, .10);
    color: #111;
}

.showroomv3-tag--alt {
    background: rgba(45, 212, 191, .14);
    border-color: rgba(45, 212, 191, .35);
    color: #0f4b44;
}

.showroomv3-name {
    margin: 10px 0 0;
    font-weight: 600;
    font-size: 20px;
    line-height: 1.25;
    color: #111;
}

.showroomv3-meta {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
    color: #222;
    font-weight: 500;
}

.showroomv3-meta li {
    display: flex;
    gap: 12px;
    align-items: flex-start;
}

.showroomv3-meta i {
    width: 32px;
    height: 32px;
    min-width: 32px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(216, 161, 76, .12);
    color: #090909;
    font-size: 14px;
    margin-top: 1px;
}

.showroomv3-meta .txt {
    line-height: 1.65;
}

.showroomv3-meta .k {
    font-weight: 900;
    color: #111;
    margin-right: 6px;
}

.showroomv3-meta a {
    color: #111;
    text-decoration: none;
}

.showroomv3-meta a:hover {
    text-decoration: underline;
}

.showroomv3-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 16px;
}

.btn-srv {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 11px 14px;
    border-radius: 999px;
    font-weight: 900;
    font-size: 14px;
    border: 1px solid transparent;
    cursor: pointer;
    transition: transform .15s ease, opacity .2s ease, border-color .2s ease;
    text-decoration: none;
}

.btn-srv:hover {
    transform: translateY(-1px);
    opacity: .95;
}

.btn-srv-primary {
    background: #d8a14c;
    color: #111;
}

.btn-srv-ghost {
    background: transparent;
    border-color: rgba(216, 161, 76, .6);
    color: #111;
}

.showroomv3-map {
    margin-top: 14px;
    border-radius: 14px;
    overflow: hidden;
    border: 1px solid #eee;
}

.showroomv3-map iframe {
    width: 100%;
    height: 260px;
    border: 0;
    display: block;
}

@media (max-width: 767px) {
    .showroomv3 {
        padding: 36px 0;
    }

    .showroomv3-name {
        font-size: 18px;
    }

    .showroomv3-map iframe {
        height: 220px;
    }
}

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap');

:root {
    --tp-font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Helvetica Neue', Arial, sans-serif;
}

html {
    font-family: var(--tp-font-sans);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

body {
    font-family: var(--tp-font-sans);
}

button,
input,
select,
textarea {
    font-family: var(--tp-font-sans);
}

/* ===== Footer v2 (Social in Contact) ===== */
.footer-v2 {
    position: relative;
    color: #fff;
    padding: 10px 0 10px;
    background:
        radial-gradient(900px 520px at 20% 20%, rgba(216, 161, 76, .18), transparent 60%),
        radial-gradient(720px 520px at 80% 40%, rgba(45, 212, 191, .12), transparent 55%),
        linear-gradient(180deg, #0f1116, #07080c);
    border-top: 1px solid rgba(255, 255, 255, .08);
}

.footer-v2-grid {
    display: grid;
    grid-template-columns: 1.3fr 0.8fr 1.1fr;
    gap: 26px;
    align-items: start;
}

.footer-v2-col {
    border: 1px solid rgba(255, 255, 255, .10);
    background: rgba(255, 255, 255, .03);
    border-radius: 18px;
    padding: 18px;
    height: 100%;
}

.footer-v2-logo img {
    display: block;
    height: auto;
}

.footer-v2-desc {
    margin: 12px 0 0;
    color: rgba(255, 255, 255, .82);
    line-height: 1.75;
    font-size: 14px;
}

.footer-v2-title {
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
    font-size: 14px;
    margin: 0 0 12px;
    color: #fff;
}

/* Quick links */
.footer-v2-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 10px;
}

.footer-v2-list a {
    color: rgba(255, 255, 255, .86);
    text-decoration: none;
    display: inline-flex;
    gap: 10px;
    align-items: center;
}

.footer-v2-list a::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: rgba(216, 161, 76, .9);
    box-shadow: 0 0 0 4px rgba(216, 161, 76, .14);
}

.footer-v2-list a:hover {
    color: #fff;
    text-decoration: underline;
}

/* Contact */
.footer-v2-contactlist {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 12px;
}

.footer-v2-contactlist li {
    display: grid;
    grid-template-columns: 34px 1fr;
    gap: 10px;
    align-items: start;
    color: rgba(255, 255, 255, .86);
    line-height: 1.6;
}

.footer-v2-contactlist .ic {
    width: 34px;
    height: 34px;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, .14);
    background: rgba(255, 255, 255, .04);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #d8a14c;
}

.footer-v2-contactlist a {
    color: #fff;
    text-decoration: none;
}

.footer-v2-contactlist a:hover {
    text-decoration: underline;
}

/* Social moved to contact */
.footer-v2-social {
    display: flex;
    gap: 10px;
    margin-top: 14px;
    flex-wrap: wrap;
}

.footer-v2-social--contact {
    justify-content: flex-start;
    /* đổi thành center nếu muốn canh giữa */
}

.footer-v2-socialbtn {
    width: 42px;
    height: 42px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, .16);
    background: rgba(255, 255, 255, .04);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    transition: transform .15s ease, border-color .2s ease, background .2s ease;
}

.footer-v2-socialbtn img {
    display: block;
}

.footer-v2-socialbtn:hover {
    transform: translateY(-1px);
    border-color: rgba(216, 161, 76, .75);
    background: rgba(216, 161, 76, .14);
}


/* Responsive */
@media (max-width: 991px) {
    .footer-v2-grid {
        grid-template-columns: 1fr;
        gap: 4px;
    }

    .footer-v2 {
        padding: 10px 0 10px;
    }
}