footer .row {
    max-width: 1407px!important;
}
.transition{-webkit-transition:all 0.3s;transition:all 0.3s;}
.d-none, .mobile {
    display: none!important
}
.h-100{ height:100%!important }
.font-weight-bold{ font-weight:bold; }
.set-2-line-text,.set-3-line-text,.set-4-line-text {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical
}

.set-2-line-text {
    -webkit-line-clamp: 2
}

.set-3-line-text {
    -webkit-line-clamp: 3
}

.set-4-line-text {
    -webkit-line-clamp: 4
}

.d-flex {
    display: flex!important
}

.flex-row {
    -webkit-box-orient: horizontal!important;
    -webkit-box-direction: normal!important;
    -ms-flex-direction: row!important;
    flex-direction: row!important
}

.flex-column {
    -webkit-box-orient: vertical!important;
    -webkit-box-direction: normal!important;
    -ms-flex-direction: column!important;
    flex-direction: column!important
}

.justify-content-center {
    -webkit-box-pack: center!important;
    -ms-flex-pack: center!important;
    justify-content: center!important
}

.justify-content-between {
    -webkit-box-pack: justify!important;
    -ms-flex-pack: justify!important;
    justify-content: space-between!important
}

.justify-content-end {
    -webkit-box-pack: end!important;
    -ms-flex-pack: end!important;
    justify-content: flex-end!important
}

.align-items-center {
    -webkit-box-align: center!important;
    -ms-flex-align: center!important;
    align-items: center!important
}

.align-items-end {
    -webkit-box-align: end!important;
    -ms-flex-align: end!important;
    align-items: flex-end!important
}

.pt-5,.py-5 {
    padding-top: 3rem!important
}

.pb-5,.py-5 {
    padding-bottom: 3rem!important
}

.pt-4,.py-4 {
    padding-top: 1.5rem!important
}

.pb-4,.py-4 {
    padding-bottom: 1.5rem!important
}

.pt-3,.py-3 {
    padding-top: 1rem!important
}

.pb-3,.py-3 {
    padding-bottom: 1rem!important
}

.pt-2,.py-2 {
    padding-top: 0.5rem!important
}

.pb-2,.py-2 {
    padding-bottom: 0.5rem!important
}

.pt-1,.py-1 {
    padding-top: 0.25rem!important
}

.pb-1,.py-1 {
    padding-bottom: 0.25rem!important
}

.pl-5,.px-5 {
    padding-left: 3rem!important
}

.pr-5,.px-5 {
    padding-right: 3rem!important
}

.pl-4,.px-4 {
    padding-left: 1.5rem!important
}

.pr-4,.px-4 {
    padding-right: 1.5rem!important
}

.pl-3,.px-3 {
    padding-left: 1rem!important
}

.pr-3,.px-3 {
    padding-right: 1rem!important
}

.pl-075,.px-075 {
    padding-left: 0.75rem!important
}

.pr-075,.px-075 {
    padding-right: 0.75rem!important
}

.pl-2,.px-2 {
    padding-left: 0.5rem!important
}

.pr-2,.px-2 {
    padding-right: 0.5rem!important
}

.pl-1,.px-1 {
    padding-left: 0.25rem!important
}

.pr-1,.px-1 {
    padding-right: 0.25rem!important
}

.mb-5,.my-5 {
    margin-bottom: 2rem!important
}

.mt-5,.my-5 {
    margin-top: 2rem!important
}

.mb-4,.my-4 {
    margin-bottom: 1.5rem!important
}

.mt-4,.my-4 {
    margin-top: 1.5rem!important
}

.mb-3,.my-3 {
    margin-bottom: 1rem!important
}

.mt-3,.my-3 {
    margin-top: 1rem!important
}

.mb-2,.my-2 {
    margin-bottom: 0.5rem!important
}

.mt-2,.my-2 {
    margin-top: 0.5rem!important
}

.mb-1,.my-1 {
    margin-bottom: 0.25rem!important
}

.mt-1,.my-1 {
    margin-top: 0.25rem!important
}

.mx-auto {
    margin-left: auto!important;
    margin-right: auto!important
}

.ml-5,.mx-5 {
    margin-left: 2rem!important
}

.mr-5,.mx-5 {
    margin-right: 2rem!important
}

.ml-4,.mx-4 {
    margin-left: 1.5rem!important
}

.mr-4,.mx-4 {
    margin-right: 1.5rem!important
}

.ml-3,.mx-3 {
    margin-left: 1rem!important
}

.mr-3,.mx-3 {
    margin-right: 1rem!important
}

.ml-2,.mx-2 {
    margin-left: 0.5rem!important
}

.mr-2,.mx-2 {
    margin-right: 0.5rem!important
}

.ml-1,.mx-1 {
    margin-left: 0.25rem!important
}

.mr-1,.mx-1 {
    margin-right: 0.25rem!important
}

.position-relative {
    position: relative;
}

.text-uppercase {
    text-transform: uppercase;
}
.text-left{ text-align:left; }
.text-right {
    text-align: right;
}

.text-justify {
    text-align: justify;
}

.mb-0, .my-0 {
    margin-bottom: 0!important;
}

.mt-0, .my-0 {
    margin-top: 0!important;
}

.mr-0, .mx-0 {
    margin-right: 0!important;
}

.ml-0, .mx-0 {
    margin-left: 0!important;
}

.pr-0, .px-0 {
    padding-right: 0!important;
}

.pl-0, .px-0 {
    padding-left: 0!important;
}

.pb-0, .py-0 {
    padding-bottom: 0!important;
}

.pt-0, .py-0 {
    padding-top: 0!important;
}

.flex-row {
    flex-direction: row !important;
}

.flex-column {
    flex-direction: column !important;
}

.flex-row-reverse {
    flex-direction: row-reverse !important;
}

.flex-column-reverse {
    flex-direction: column-reverse !important;
}

.flex-wrap {
    flex-wrap: wrap !important;
}

.flex-nowrap {
    flex-wrap: nowrap !important;
}

.flex-wrap-reverse {
    flex-wrap: wrap-reverse !important;
}

.justify-content-start {
    justify-content: flex-start !important;
}

.justify-content-end {
    justify-content: flex-end !important;
}

.justify-content-center {
    justify-content: center !important;
}

.justify-content-between {
    justify-content: space-between !important;
}

.justify-content-around {
    justify-content: space-around !important;
}

.align-items-start {
    align-items: flex-start !important;
}

.align-items-end {
    align-items: flex-end !important;
}

.align-items-center {
    align-items: center !important;
}

.align-items-baseline {
    align-items: baseline !important;
}

.align-items-stretch {
    align-items: stretch !important;
}

.align-content-start {
    align-content: flex-start !important;
}

.align-content-end {
    align-content: flex-end !important;
}

.align-content-center {
    align-content: center !important;
}

.align-content-between {
    align-content: space-between !important;
}

.align-content-around {
    align-content: space-around !important;
}

.align-content-stretch {
    align-content: stretch !important;
}

.w-100 {
    width: 100%!important;
}

.text-white {
    color: #fff;
}

.text-black {
    color: #000;
}

.text-left {
    text-align: left !important;
}

.text-right {
    text-align: right !important;
}

.cl_hover {
    color: var(--color-hover);
}

.cl_link-hover {
    color: var(--color-link-hover)
}

.cl_xanh8 {
    color: var(--color-xanh8)
}
.cl_red{ color:red; }
.form-control {
    display: block;
    width: 100%;
    padding: .375rem .75rem;
    font-size: 1rem;
    line-height: 1.5;
    color: #495057;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #ced4da;
    border-radius: .25rem;
    box-shadow: none!important;
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

input.form-control:focus {
    border-color: var(--color-hover);
}
.overflow-hidden{ overflow:hidden!important; }

.fs18{ font-size:18px; }
.fs22{ font-size:22px; }
@media (max-width: 767px) {
   .mobile {
        display: block !important;
    }
    .desktop {    display: none !important;    }   
}

.animate__pulse {
    -webkit-animation-name: pulse;
    animation-name: pulse;
    animation-delay: 0s;
    animation-duration: 1s;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
}
.animate__fadeInUp {
    -webkit-animation-name: fadeInUp;
    animation-name: fadeInUp;
    animation-delay: 0s;
    animation-duration: 1s;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    -animation-iteration-count: infinite;
}
.animate__toatrang {
    animation: kj-marker-toatrang ease-in-out 1s infinite;
    border-radius: 100%;
}
.animate__kj-marker-pulse {
    animation: kj-marker-pulse ease-in-out 1s infinite;
}

@keyframes kj-marker-toatrang {
0%   { outline: 0px solid #fff; }
100% { outline: 15px solid rgba(0, 0, 0, 0); }
}

@-webkit-keyframes pulse {
    0% {
        -webkit-transform: scaleX(1);
        transform: scaleX(1)
    }

    50% {
        -webkit-transform: scale3d(1.05,1.05,1.05);
        transform: scale3d(1.05,1.05,1.05)
    }

    to {
        -webkit-transform: scaleX(1);
        transform: scaleX(1)
    }
}
@keyframes pulse {
    0% {
        -webkit-transform: scaleX(1);
        transform: scaleX(1)
    }

    50% {
        -webkit-transform: scale3d(1.05,1.05,1.05);
        transform: scale3d(1.05,1.05,1.05)
    }

    to {
        -webkit-transform: scaleX(1);
        transform: scaleX(1)
    }
}
@-webkit-keyframes fadeInUp {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0,100%,0);
        transform: translate3d(0,100%,0)
    }

    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

@keyframes fadeInUp {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0,100%,0);
        transform: translate3d(0,100%,0)
    }

    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}   