html {
    min-height: 100vh;
}

body {
    color: #000;
    font-family: 'Open Sans', sans-serif !important;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

a {
    color: #000;
}

.bg-pattern-1 {
    background-color: #EBEBEB;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100%25'%3E%3Cdefs%3E%3ClinearGradient id='a' gradientUnits='userSpaceOnUse' x1='0' x2='0' y1='0' y2='100%25' gradientTransform='rotate(240)'%3E%3Cstop offset='0' stop-color='%23EBEBEB'/%3E%3Cstop offset='1' stop-color='%23EBEBEB'/%3E%3C/linearGradient%3E%3Cpattern patternUnits='userSpaceOnUse' id='b' width='540' height='450' x='0' y='0' viewBox='0 0 1080 900'%3E%3Cg fill-opacity='0.04'%3E%3Cpolygon fill='%23444' points='90 150 0 300 180 300'/%3E%3Cpolygon points='90 150 180 0 0 0'/%3E%3Cpolygon fill='%23AAA' points='270 150 360 0 180 0'/%3E%3Cpolygon fill='%23DDD' points='450 150 360 300 540 300'/%3E%3Cpolygon fill='%23999' points='450 150 540 0 360 0'/%3E%3Cpolygon points='630 150 540 300 720 300'/%3E%3Cpolygon fill='%23DDD' points='630 150 720 0 540 0'/%3E%3Cpolygon fill='%23444' points='810 150 720 300 900 300'/%3E%3Cpolygon fill='%23FFF' points='810 150 900 0 720 0'/%3E%3Cpolygon fill='%23DDD' points='990 150 900 300 1080 300'/%3E%3Cpolygon fill='%23444' points='990 150 1080 0 900 0'/%3E%3Cpolygon fill='%23DDD' points='90 450 0 600 180 600'/%3E%3Cpolygon points='90 450 180 300 0 300'/%3E%3Cpolygon fill='%23666' points='270 450 180 600 360 600'/%3E%3Cpolygon fill='%23AAA' points='270 450 360 300 180 300'/%3E%3Cpolygon fill='%23DDD' points='450 450 360 600 540 600'/%3E%3Cpolygon fill='%23999' points='450 450 540 300 360 300'/%3E%3Cpolygon fill='%23999' points='630 450 540 600 720 600'/%3E%3Cpolygon fill='%23FFF' points='630 450 720 300 540 300'/%3E%3Cpolygon points='810 450 720 600 900 600'/%3E%3Cpolygon fill='%23DDD' points='810 450 900 300 720 300'/%3E%3Cpolygon fill='%23AAA' points='990 450 900 600 1080 600'/%3E%3Cpolygon fill='%23444' points='990 450 1080 300 900 300'/%3E%3Cpolygon fill='%23222' points='90 750 0 900 180 900'/%3E%3Cpolygon points='270 750 180 900 360 900'/%3E%3Cpolygon fill='%23DDD' points='270 750 360 600 180 600'/%3E%3Cpolygon points='450 750 540 600 360 600'/%3E%3Cpolygon points='630 750 540 900 720 900'/%3E%3Cpolygon fill='%23444' points='630 750 720 600 540 600'/%3E%3Cpolygon fill='%23AAA' points='810 750 720 900 900 900'/%3E%3Cpolygon fill='%23666' points='810 750 900 600 720 600'/%3E%3Cpolygon fill='%23999' points='990 750 900 900 1080 900'/%3E%3Cpolygon fill='%23999' points='180 0 90 150 270 150'/%3E%3Cpolygon fill='%23444' points='360 0 270 150 450 150'/%3E%3Cpolygon fill='%23FFF' points='540 0 450 150 630 150'/%3E%3Cpolygon points='900 0 810 150 990 150'/%3E%3Cpolygon fill='%23222' points='0 300 -90 450 90 450'/%3E%3Cpolygon fill='%23FFF' points='0 300 90 150 -90 150'/%3E%3Cpolygon fill='%23FFF' points='180 300 90 450 270 450'/%3E%3Cpolygon fill='%23666' points='180 300 270 150 90 150'/%3E%3Cpolygon fill='%23222' points='360 300 270 450 450 450'/%3E%3Cpolygon fill='%23FFF' points='360 300 450 150 270 150'/%3E%3Cpolygon fill='%23444' points='540 300 450 450 630 450'/%3E%3Cpolygon fill='%23222' points='540 300 630 150 450 150'/%3E%3Cpolygon fill='%23AAA' points='720 300 630 450 810 450'/%3E%3Cpolygon fill='%23666' points='720 300 810 150 630 150'/%3E%3Cpolygon fill='%23FFF' points='900 300 810 450 990 450'/%3E%3Cpolygon fill='%23999' points='900 300 990 150 810 150'/%3E%3Cpolygon points='0 600 -90 750 90 750'/%3E%3Cpolygon fill='%23666' points='0 600 90 450 -90 450'/%3E%3Cpolygon fill='%23AAA' points='180 600 90 750 270 750'/%3E%3Cpolygon fill='%23444' points='180 600 270 450 90 450'/%3E%3Cpolygon fill='%23444' points='360 600 270 750 450 750'/%3E%3Cpolygon fill='%23999' points='360 600 450 450 270 450'/%3E%3Cpolygon fill='%23666' points='540 600 630 450 450 450'/%3E%3Cpolygon fill='%23222' points='720 600 630 750 810 750'/%3E%3Cpolygon fill='%23FFF' points='900 600 810 750 990 750'/%3E%3Cpolygon fill='%23222' points='900 600 990 450 810 450'/%3E%3Cpolygon fill='%23DDD' points='0 900 90 750 -90 750'/%3E%3Cpolygon fill='%23444' points='180 900 270 750 90 750'/%3E%3Cpolygon fill='%23FFF' points='360 900 450 750 270 750'/%3E%3Cpolygon fill='%23AAA' points='540 900 630 750 450 750'/%3E%3Cpolygon fill='%23FFF' points='720 900 810 750 630 750'/%3E%3Cpolygon fill='%23222' points='900 900 990 750 810 750'/%3E%3Cpolygon fill='%23222' points='1080 300 990 450 1170 450'/%3E%3Cpolygon fill='%23FFF' points='1080 300 1170 150 990 150'/%3E%3Cpolygon points='1080 600 990 750 1170 750'/%3E%3Cpolygon fill='%23666' points='1080 600 1170 450 990 450'/%3E%3Cpolygon fill='%23DDD' points='1080 900 1170 750 990 750'/%3E%3C/g%3E%3C/pattern%3E%3C/defs%3E%3Crect x='0' y='0' fill='url(%23a)' width='100%25' height='100%25'/%3E%3Crect x='0' y='0' fill='url(%23b)' width='100%25' height='100%25'/%3E%3C/svg%3E");
    /*background-attachment: fixed;*/
    background-size: cover;
}

.product-label {
    padding-left: 10px;
    font-size: 0.85rem;
}

.label-desc {
    font-size: 0.75rem;
    color: #999;
}

.home-text-1 {
    font-size: 1.2rem!important;
    text-align: center;
}

.home-text-2 {
    font-size: 1rem!important;
    text-align: center;
}

.accordion-button {
    font-weight: bold;
}

.line-lg {
    line-height: 1.75rem;
}

.modal-title {
    color: #0d984c;
}

.header-box-1 {
    padding: 5px 0px;
    font-size: 1.8rem;
    font-weight: bold;
    /*
    border-bottom: 2px solid #00b351;
    display: inline-block;
    */
}

.pattern {
    background-color: #ffffff;
    background-image: url("/asset/img/test.png");
    /*background-attachment: fixed;*/
    /*background-size: cover;*/
    background-repeat: no-repeat;
    background-position: left bottom;
}

.small-border{
    margin-left: 0;
    width: 100px;
    height: 3px;
    border-top: solid 2px #00b351;
    border-left: none;
    border-right: none;
    display: block;
    margin-bottom: 30px;
    background-size: cover;
}

.header-box-2 {
    padding: 5px 0px;
    font-size: 1.4rem;
    font-weight: bold;
    border-bottom: 2px solid #00b351;
}

footer li, footer p {
    font-size: .75rem;
    line-height: 1.5rem;
}

@media (min-width: 768px) {
    .home-text-1 {
        font-size: 1.75rem!important;
        text-align: left;
    }

    .home-text-2 {
        font-size: 1.5rem!important;
        text-align: left;
    }

    .header-box {
        font-size: 1.2rem;
    }

    footer li, footer p {
        font-size: .9rem;
        line-height: 1.5rem;
    }

    .fs-small-2 {
        font-size: 0.85rem;
        line-height: 1rem;
    }
}

.image-box {
    position: relative;

}

.bg-gray {
    background-color: #ebebeb;
}


.image-box-text {
    background: linear-gradient(to top, rgba(0, 0, 0, .75), transparent);
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 65%;

    padding: 20px;

    color: #fff;

    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.image-box-text .header{
    font-weight: bold;
    font-size: 20px;
    margin-bottom: 10px;
}

.image-box-text .detail{
    font-size: 14px;
    min-height: 63px;
}


.top-nav-link {
    color: #000;
    text-decoration: none;
}
.bottom-nav-link {
    color: #fff;
    text-decoration: none;
}

.navbar {
    box-shadow: 0 1rem 2rem .5rem rgba(0,0,0,.3);
}

.navbar.bg-dark {
    /*background-color: #00b351!important;*/
    background: linear-gradient(to bottom, #00b351, #019343);
}

.navbar-dark .navbar-nav .nav-link {
    color: rgba(255,255,255,1) !important;
}

.nav-item {
    font-weight: bold;
}


.bg-feature {
    /*background-image: url('/asset/img/feature-2.jpg');*/

    background-image:
            linear-gradient(to right, rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.0)),
            url('/asset/img/feature-2.jpg');

    background-position: 20% center;
    background-repeat: no-repeat;
    background-size: cover;
    border-bottom: 3px solid #25D366;
    box-shadow: inset 0 0 3rem rgba(0, 0, 0, .75);
}

@media (min-width: 768px) {
    .bg-feature {
        background-position: center 25%;
    }
}

.bg-feature-b2b {
    /*background-image: url('/asset/img/feature-2.jpg');*/

    background-image:
            linear-gradient(to right, rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.0)),
            url('/asset/img/feature-b2b.jpg');

    background-position: 20% center;
    background-repeat: no-repeat;
    background-size: cover;
    border-bottom: 3px solid #25D366;
    box-shadow: inset 0 0 3rem rgba(0, 0, 0, .75);
}

@media (min-width: 768px) {
    .bg-feature-b2b {
        background-position: center 25%;
    }
}

.home-form {
    background-color: rgba(255, 255, 255, .75);
    border-radius: 20px;
}

.text-shadow {
    text-shadow: 0px 0px 20px #000000;
}

.fs-small {
    font-size: 0.75rem;
}

.fs-small-2 {
    font-size: 0.85rem;
    line-height: 0.5rem;
}

.checkbox-xl {
    /*padding-bottom: 15px;*/
    display: flex !important;
    align-items: center;
}

.checkbox-xl input {
    top: 1.2rem;
    width: 1.85rem;
    min-width: 1.85rem;
    height: 1.85rem;
}

.checkbox-xl input:checked {
    background-color: #00b351 !important;
    border-color: #00b351 !important;
}

.checkbox-xl label {
    padding-left: 10px;
}

label a {
    color: #000;
}

label.small {
    font-weight: bold;
    font-size: 0.75rem;
}

.btn-green {
    color: #fff !important;
    background-color: #00b351 !important;
    border-color: #00b351 !important;
}

.formError {
    width: 200px !important;
}

.formError .formErrorContent {
    padding: 2px 4px !important;
}

.formError {
    z-index: 100 !important;
}

.btn-wa {
    background: #25D366;
    border-radius: 50%;
    box-shadow: 0 0px 5px 0 rgba(0, 0, 0, .4);
    color: #fff;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    vertical-align: middle;
    cursor: pointer;
    font-size: 1rem;
    width: 30px;
    height: 30px;
    font-weight: 400;
    line-height: 30px;
}

.btn-wa:hover {
    color: #fff;
}


.bg-gray {
    background-color: #ecedee !important;
}

.box-shadow {
    background-color: #fff;
    border-radius: 15px;
    -webkit-box-shadow: 0px 0px 15px 3px rgb(0 0 0 / 10%);
    box-shadow: 0px 0px 15px 3px rgb(0 0 0 / 10%);
    padding: 15px;
    margin: 5px;
}



footer {
    /*background-color: #25D366;*/
    background: linear-gradient(to bottom, #00b351, #019343);
    color: #fff;
    font-size: 0.9rem;
    font-weight: bold;
    /*margin-top: 20px;*/
}

footer a, footer a:hover {
    text-decoration: none !important;
    color: #fff;
}

#content-page {
    padding-bottom: 20px;
}

.modal #content-page {
    padding-bottom: 0;
}

.product-table {
    overflow-x: auto;
}

.product-table td, .product-table th {
    border: solid 1px rgba(197,196,207,.55);
    vertical-align: middle;
    font-size: 0.75rem;
}

td.pink, th.pink {
    background-color: #25D366 !important;
    color: #fff;
}

.price-box {
    border: 1px solid #25D366;
}

.accordion-button:not(.collapsed) {
    color: #000!important;
    background-color: #fff!important;
    box-shadow: inset 0 -1px 0 rgb(0 0 0 / 13%);
    border-bottom: 1px solid #dfdfdf;
}

.accordion-button:focus {
    border: none;
    border-bottom: 1px solid #dfdfdf;
    outline: 0;
    box-shadow: none !important;
}

.accordion-button:not(.collapsed)::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000000'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}

@media (min-width: 992px) {
    .navbar-expand-lg .navbar-nav .nav-link {
        padding-right: 1rem;
        padding-left: 1rem;
    }
}




.b-example-divider {
    height: 3rem;
    background-color: rgba(0, 0, 0, .1);
    border: solid rgba(0, 0, 0, .15);
    border-width: 1px 0;
    box-shadow: inset 0 .5em 1.5em rgba(0, 0, 0, .1), inset 0 .125em .5em rgba(0, 0, 0, .15);
}





.text-small {
    font-size: 85%;
}

.dropdown-toggle {
    outline: 0;
}

.bd-placeholder-img {
    font-size: 1.125rem;
    text-anchor: middle;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
}

@media (min-width: 768px) {
    .bd-placeholder-img-lg {
        font-size: 3.5rem;
    }
}

.partner-menu > div > div {
    border: 1px solid #f00;
}

.partner-menu .bi {
    font-size: 100px;
}





.btn-wa-float {
    position:fixed;
    bottom: 20px;
    right: 20px;
    background: #25D366;
    border-radius: 50%;
    box-shadow: 0 0px 5px 0 rgba(0, 0, 0, .4);
    color: #fff;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    vertical-align: middle;
    cursor: pointer;
    font-size: 26px;
    width: 45px;
    height: 45px;
    font-weight: 400;
    line-height: 45px;
}

.btn-wa-float:hover {
    color: #fff;
}





.model-3 {

}

.model-3 .btn-float {
    width: 50px;
    height: 50px;
    display: inline-block;
    border: none;
    font-size: 30px;
    line-height: 1.7;
    color: #fff;
    text-align: center;
    position: relative;
    transition: 0.3s;
    border-radius: 50%;
    cursor: pointer;
    box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.11);
    background: #25D366;
}




.lds-spinner {
    color: #ddd;
    display: inline-block;
    position: relative;
    width: 64px;
    height: 64px;
    margin: 20px 0;
}
.lds-spinner div {
    transform-origin: 32px 32px;
    animation: lds-spinner 1.2s linear infinite;
}
.lds-spinner div:after {
    content: " ";
    display: block;
    position: absolute;
    top: 3px;
    left: 29px;
    width: 5px;
    height: 14px;
    border-radius: 20%;
    background: #25D366;
}
.lds-spinner div:nth-child(1) {
    transform: rotate(0deg);
    animation-delay: -1.1s;
}
.lds-spinner div:nth-child(2) {
    transform: rotate(30deg);
    animation-delay: -1s;
}
.lds-spinner div:nth-child(3) {
    transform: rotate(60deg);
    animation-delay: -0.9s;
}
.lds-spinner div:nth-child(4) {
    transform: rotate(90deg);
    animation-delay: -0.8s;
}
.lds-spinner div:nth-child(5) {
    transform: rotate(120deg);
    animation-delay: -0.7s;
}
.lds-spinner div:nth-child(6) {
    transform: rotate(150deg);
    animation-delay: -0.6s;
}
.lds-spinner div:nth-child(7) {
    transform: rotate(180deg);
    animation-delay: -0.5s;
}
.lds-spinner div:nth-child(8) {
    transform: rotate(210deg);
    animation-delay: -0.4s;
}
.lds-spinner div:nth-child(9) {
    transform: rotate(240deg);
    animation-delay: -0.3s;
}
.lds-spinner div:nth-child(10) {
    transform: rotate(270deg);
    animation-delay: -0.2s;
}
.lds-spinner div:nth-child(11) {
    transform: rotate(300deg);
    animation-delay: -0.1s;
}
.lds-spinner div:nth-child(12) {
    transform: rotate(330deg);
    animation-delay: 0s;
}

@keyframes lds-spinner {
    0% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}

/*************************************/
#reviews .rating-box .checked {
    color: orange;
}

#reviews .review-header {
    background-color: #fff;
    border-radius: 10px;
}

#reviews .carousel-cell {
    width: 25%;
    height: 245px;
    border-radius: 10px;
    counter-increment: carousel-cell;
}

#reviews .carousel-cell > div {
    height: 230px;
    border-radius: 10px;
    background-color: #fff;
    margin: 5px;
    padding: 15px;
}

#reviews:not(:hover) .flickity-prev-next-button {
    opacity: 0.2;
}

#reviews .flickity-button {
    background: #dc3545;
}

#reviews .flickity-prev-next-button {
    width: 30px;
    height: 30px;
    -webkit-box-shadow: 0px 0px 10px 0px #000000;
    box-shadow: 0px 0px 10px 0px #000000;
}

#reviews .flickity-button-icon {
    fill: white;
    display: block;
}

#reviews .flickity-prev-next-button:after {
    content: none !important;
}

#reviews .flickity-prev-next-button.previous {
    left: -16px;
}

#reviews .flickity-prev-next-button.next {
    right: -16px;
}

#reviews .flickity-page-dots {
    bottom: -17px;
}

#reviews .logo {
    margin-top: 4px;
    margin-right: 6px;
}

#reviews .logo img{
    height: 30px;
}


#reviews .logo-text {
    font-size: 24px;
}

#reviews .rating-text {
    font-size: 22px;
    font-weight: bold;
    margin-right: 10px;
    color: #000;
}

#reviews .name {
    font-weight: bold;
    color: #000;
    line-height: 1rem;
    margin-bottom: 3px;
}

#reviews .comment {
    margin-top: 5px;
    font-size: 0.85rem;
    line-height: 1.4rem;
    color: #000;
}

#reviews .comment-holder {
    overflow: hidden;
    max-height: 160px;
}


#reviews .review-photo {
    max-width: 45px;
}

#reviews .btn {
    border-radius: 16px;
    font-weight: bold;
    font-size: .7rem;
    padding: 8px 10px;
    margin: 5px 0;
}

@media screen and ( max-width: 992px ) {
    #reviews .flickity-prev-next-button.previous {
        left: -9px;
    }

    #reviews .flickity-prev-next-button.next {
        right: -9px;
    }

    #reviews .carousel-cell {
        width: 100%;
        height: 190px;
    }

    .comment-holder {
        max-height: 90px;
    }

    #reviews .flickity-prev-next-button {
        display: block !important;
    }

    #reviews .flickity-page-dots {
        display: none !important;
    }

    #reviews .carousel-cell > div {
        height: 185px;
    }
}
/*******************************/