/* Basic */
body {
    font-family: "Noto Sans TC", "Microsoft JhengHei", "微軟正黑體", sans-serif;
    color: #000;
    font-size: 15px;
    font-weight: 300;
    letter-spacing: 1px;
    min-height: 100vh;
}
body.dark {
    background-color: #000;
    color: #fff;
}
a {
    color: #000;
}
a:hover {
    color: #000;
    text-decoration: none;
}
ul {
    padding-left: 0;
    margin-bottom: 0;
}
li {
    list-style: none;
}
img {
    max-width: 100%;
}

button {
    cursor: pointer;
}
button:focus {
    outline: none;
} 

::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
    color: rgba(128, 128, 128, 0.7);
    letter-spacing: 2px;
    font-weight: 300;
    opacity: 1; /* Firefox */
}
  
:-ms-input-placeholder { /* Internet Explorer 10-11 */
    color: rgba(128, 128, 128, 0.7);
    letter-spacing: 2px;
    font-weight: 300;
}

::-ms-input-placeholder { /* Microsoft Edge */
    color: rgba(128, 128, 128, 0.7);
    font-weight: 300;
}
.text-center {
    text-align: center;
}

/* Layout */
.layout {
    width: 1520px;
    max-width: 90%;
    margin-left: auto;
    margin-right: auto;
}
.flex-wrapper {
    display: -webkit-flex;
    display: flex;
    align-items: center;
}
.grid {
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    margin-left: -10px;
    margin-right: -10px;
    flex-wrap: wrap;
}
.grid__item {
    padding-left: 10px;
    padding-right: 10px;
}
.grid-4 > .grid__item {
    width: 25%;
}
.grid-3 > .grid__item {
    width: 33.333333%;
}
.grid-2 > .grid__item {
    width: 50%;
}

.flex-1 {
    flex: 1;
}
.flex-2 {
    flex: 2;
}

.m-d-show {
    display: none;
}

@media (max-width: 1211px) {
    .m-d-none {
        display: none !important;
    }
    .m-d-show {
        display: block;
    }
    .section {
        padding-top: 60px;
    }
    .page__breadcrumb {
        display: none;
    }
    .page {
        margin-top: 80px;
    }
}
@media (max-width: 1211px) {
    .grid-3 .grid__item,
    .grid-2 .grid__item {
        width: 50%;
    }
    .grid-lg-2 .grid__item {
        width: 100%;
    }
}

@media (max-width: 576px) {
    .grid-3 .grid__item,
    .grid-2 .grid__item {
        width: 100%;
    }
}

/* Section */
.section__padding {
    padding-top: 80px;
    padding-bottom: 80px;
}
.section__heading {
    text-align: center;
    margin-bottom: 60px;
}
.section__heading .title {
    font-size: 20px;
    font-weight: 300;
    color: #223C1C;
    margin-top: 5px;
    letter-spacing: 3px;
}
body.dark .section__heading .title {
    color: #fff;
}
    .text__box__heading {
        text-align: center;
        font-size: 24px;
        color: #223C1C;
        margin-bottom: 22px;
    }
    .text__box__content {
        width: 60%;
        margin-left: auto;
        margin-right: auto;
    }

@media (max-width: 1211px) {
    .section__padding {
        padding-bottom: 40px;
    }
}
@media (max-width: 576px) {
    .section__padding {
        padding-bottom: 20px;
    }
}

/* Colors */
/* ======= Compontent ======= */
/* Button */
.button-wrapper.center {
    text-align: center;
}
.button {
    background-color: #223C1C;
    border: 1px solid transparent;
    color: #fff;
    padding: 7px 38px;
    display: inline-block;
    border-radius: 20px;
    letter-spacing: 1px;
    transition: .3s;
}
.button:hover {
    background-color: #4A6A26;
    color: #fff;
}
.button-outline {
    background-color: transparent;
    border: 1px solid #223C1C;
    color: #223C1C;
}
.simple__button {
    color: #223C1C;
}

/* column */
.text__column {
    display: -webkit-flex;
    display: flex;
    flex-direction: column;
    height: 100%;
}
    .text__column .button-wrapper {
        position: relative;
        margin-top: auto;
        text-align: center;
    }
    .text__column .button::before {
        content: '';
        position: absolute;
        bottom: 50px;
        left: 50%;
        width: 2px;
        height: 75px;
        background-color: #223C1C;
        transform: translateX(-50%);
    }

.image__column {
    position: relative;
}
.image__column::before {
    content: '';
    position: absolute;
    top: -20px;
    left: 0;
    width: 50%;
    height: 80%;
    background-color: #223C1C;
    z-index: -1;
}
.image__column.right::before {
    left: unset;
    top: -20px;
    right: 0;
    width: 80%;
    height: 85%;
}
.image__column::after {
    content: '';
    position: absolute;
    top: 8%;
    left: 10%;
    width: 89%;
    height: 90.5%;
    border: 2px solid #FFC35D;
    z-index: 1;
}

.image__column.right::after {
    left: unset;
    top: 6%;
    right: 7%;
    width: 90.5%;
    height: 94%;
}
    .image__column img {
        padding: 5%;
        margin-left: 2%;
    }
    .image__column.right img {
        margin-left: unset;
        margin-top: -3%;
        padding: 5% 5% 2.7%;
    }

@media (max-width: 1480px) {
    .text__column .button-wrapper {
        margin-top: 120px;
    }
}
@media (max-width: 1211px) {
    .text__box__content {
        width: 85%;
    }
}



/* Checkbox / Radio Button */
.option-wrap {
    display: block;
    position: relative;
    padding-left: 30px;
    cursor: pointer;
    font-size: 15px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
  
.option-wrap input {
    position: absolute;
    opacity: 0;
    left: 0;
    width: 100%;
    height: 35px;
    cursor: pointer;
    z-index: 1;
}
.option-label {
    letter-spacing: 4px;
}
.checkmark {
    position: absolute;
    top: 0;
    left: 0;
    height: 24px;
    width: 24px;
    background-color: transparent;
    border: 1px solid #ddd;
    border-radius: 50%;
}
  
.option-wrap:hover input ~ .checkmark {
    background-color: transparent;
}

.checkmark:after {
    content: "";
    position: absolute;
    display: none;
}
.option-wrap input:checked ~ .checkmark {
    border-color: #4A6A26;
    background-color: #4A6A26;
}
.option-wrap input:checked ~ .checkmark:after {
   display: block;
   background-color: #4A6A26;
}

.option-wrap .checkmark:after {
    left: 8px;
    top: 4px;
    width: 6px;
    height: 11px;
    border: solid #fff;
    border-width: 0 1.5px 1.5px 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

/* Image Container */
.thumb-image-container {
    display: flex !important;
}
.thumb-image-wrapper {
    width: 100%;
    padding-bottom: 100%;
    position: relative;
    overflow: hidden;
    margin: 0;
    line-height: 0;
}
.thumb-image {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}
.thumb-image img {
    width: 100%;
    height: 100%;
    object-position: 50% 50%;
    object-fit: cover;
}

/* Swiper */
.swiper-button-prev,
.swiper-button-next {
    width: 40px;
    height: 40px;
    margin-top: unset;
    outline: none !important;
}
.swiper-button-prev:active,
.swiper-button-next:active {
    outline: none;
}
.swiper-button-prev, .site__slider .swiper-container-rtl .swiper-button-next {
    left: -10px;
}
.swiper-button-next, .site__slider .swiper-container-rtl .swiper-button-prev {
    right: -10px;
}
.swiper-button-next:after, .swiper-button-prev:after {
    font-size: 14px;
    font-weight: 700;
    color: #333;
}


/* Gallery */
.slider .swiper-wrapper {
    height: 630px;
}
.slider-gallery-wrapper {
    margin-left: -25px;
    margin-right: -25px;
}
    .slider-gallery {
        width: 100%;
        /* height: 440px; */
        padding: 0 25px;
    }
    .slider-gallery .gallery-top .swiper-container {
        width: 100%;
        height: 100%;
        margin: 0 auto;
    }

    .slider-gallery .swiper-slide-container {
        text-align: center;
        height: 100%;
        margin: auto;
        /* Center slide text vertically */
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        -webkit-justify-content: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-align-items: center;
        align-items: center;
    }
    
    .slider-gallery .gallery-top {
        height: 550px;
        width: 550px;
        overflow: hidden;
    }
    .slider-gallery .gallery-bottom {
        position: relative;
        width: 550px;
        height: 150px;
        box-sizing: border-box;
        padding: 10px 0;
    }
        .slider-gallery .gallery-bottom .swiper-slide {
            width: 25%;
		    height: 100%;
            opacity: 0.4;
        }
        .slider-gallery .gallery-bottom .swiper-container {
            width: 100%;
            height: 100%;
        }
        .slider-gallery .gallery-bottom .swiper-slide-active {
            opacity: 1;
        }

        .slider-gallery .swiper-container-horizontal>.swiper-pagination-bullets,
        .slider-gallery .swiper-pagination-custom,
        .slider-gallery .swiper-pagination-fraction {
            bottom: 10px;
        }

        .swiper-pagination-bullet {
            background: transparent;
            border: 1px solid #fff;
        }
        .swiper-pagination-bullet:focus {
            outline: none;
        }
        .swiper-pagination-bullet-active {
            background: #fff;
            border: 1px solid transparent;
        }

        /* .gallery-bottom .swiper-nav-control {
            position: absolute;
            top: 50%;
            left: 0;
            transform: translateY(-50%);
            width: 100%;
            height: 40px;
            z-index: 999;
        }  */
        .gallery-bottom  .swiper-button-next,
        .gallery-bottom .swiper-container-rtl .swiper-button-prev {
            top: 50%;
            transform: translateY(-50%);
            right: -35px;
        }
        .gallery-bottom .swiper-button-prev,
        .gallery-bottom .swiper-container-rtl .swiper-button-next {
            top: 50%;
            transform: translateY(-50%);
            left: -35px;
        }
    

@media (max-width: 1024px) {
    .slider-gallery {
        height: 690px;
    }
    .gallery-bottom  .swiper-button-next,
    .gallery-bottom .swiper-container-rtl .swiper-button-prev {
        right: 0;
    }
    .gallery-bottom .swiper-button-prev,
    .gallery-bottom .swiper-container-rtl .swiper-button-next {
        left: 0;
    }
}
@media (max-width: 576px) {
    .slider-gallery {
        height: 338px;
    }
    
} 
 

/* breadcrumb */
.page__breadcrumb {
    margin-top: 20px;
    margin-bottom: 20px;
}
.page__breadcrumb ul {
    display: -webkit-flex;
    display: flex;
    font-size: 14px;
    padding-left: 0;
}
.page__breadcrumb li {
    list-style: none;
}
.page__breadcrumb li:last-child svg.arrow {
    display: none;
}
.page__breadcrumb a {
    position: relative;
    line-height: 30px;
}
.page__breadcrumb li svg.arrow {
    margin-right: 5px;
    margin-left: 3px;
}
body.dark .page__breadcrumb a {
    color: #fff;
}
body.dark .page__breadcrumb svg path {
    fill: #fff;
}
/* .page__breadcrumb a::after {
    content: url('../images/icons/ios-arrow-back.png');
    position: relative;
    top: 0;
    margin-left: 5px;
    margin-right: 5px;
} */
.page__breadcrumb li:last-child a::after {
    content: "";
}
.bread-home-icon {
    margin-right: 5px;
    margin-top: -3px;
}

/* Page Ppagination */
.page__pagination {
    margin-top: 50px;
    height: 40px;
}
.page__pagination .pagination {
    justify-content: center;
    padding-left: 0;
}
    .pagination .page-item {
        margin-right: 8px;
        list-style: none !important;
    }
    .pagination .page-item:last-child {
        margin-right: 0;
    }
    .pagination .page-link {
        display: inline-block;
        padding: 5px 12px;
        background: #6D9734;
        color: #fff;
        font-size: 15px;
        line-height: 21px;
        border-radius: .25rem;
    }
    .pagination .page-link.active {
        background: #A5B83F;
    }
    .pagination .page-quick-link {
        padding: 6px 6px 0;
    }
    .pagination .page-item.disabled .page-link {
        background: #6D9734;
        color: #fff;
    }


/* dropdown */
.drop__content {
    /* display: none; */
    position: absolute;
    width: 102px;
    z-index: 9;
    opacity: 0;
    transition: .1s;
    pointer-events: none;
}
.drop__content ul {
    padding-left: 0;
    margin-bottom: 0;
}
.drop__content li {
    list-style: none;
}
.drop:hover .drop__content {
    /* display: block; */
    opacity: 1;
    pointer-events: initial;
}

/* Collapse */
.collapse__content {
    display: none;
}
    .collapse__svg {
        display: none;
    }
    .collapse__item svg {
        display: block;
    }
    .collapse__button {
        display: -webkit-flex;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    .collapse__button svg {
        width: 12px;
        height: 12px;
        fill: #a3a3a3;
        transition: .3s;
    }
    .collapse__button.active svg {
        transform: rotate(90deg);
    }
    .collapse__button svg.down {
        transform: rotate(90deg);
        transition: none;
    }
    .collapse__button.active svg.down {
        transform: rotate(-90deg);
    }
    .collapse__button .text {
        flex: 1;
        max-width: 150px;
    }


/* Back to Top */
.back-to-top {
    position: fixed;
    bottom: 80px;
    right: 80px;
    cursor: pointer;
    display: none;
    width: 48px;
    margin-left: auto;
    margin-right: 10px;
    margin-bottom: 10px;
}
.back-to-top img {
    width: 48px;
    border-radius: 2px;
}
@media(max-width: 1024px) {
    .back-to-top {
        right: 40px;
    }
}
@media(max-width: 767px) {
    .back-to-top {
        display: none;
    }
}

/* heading */
.heading-img {
    height: 50px;
}

/* ======= Header ======= */
.header {
    z-index: 999;
    width: 100%;
    background-color: #223C1C;
}
.header__top {
    opacity: 1;
    text-align: center;
    max-height: 84px;
    transition: max-height 0.5s ease, opacity 0.5s ease;
}
.header__top .image {
    padding-top: 20px;
    padding-bottom: 5px;
}
    .header__top .image img {
        height: 58px;
        padding: 4px;
    }

.header__top.hide {
    visibility: hidden;
    opacity: 0;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.5s ease;
}

.header__content {
    position: relative;
    display: -webkit-box;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 80px;
}
    .sticky {
        position: -webkit-sticky;
        position: sticky;
        top: 0;
    }

.site__logo {
    position: absolute;
    left: 0;
    line-height: 80px;
    z-index: 999;
    opacity: 0;
    transition: .5s ease;
}
.site__logo.show {
    opacity: 1;
}
    .site__logo img {
        height: 52px;
        margin-bottom: 3px;
    }

.site__nav {
    display: -webkit-box;
    display: flex;
}
    .site__nav > li > a {
        display: inline-block;
        padding: 0 15px;
        letter-spacing: 2px;
        color: #fff;
        font-size: 16px;
        line-height: 80px;
        transition: .3s;
    }
    .site__nav a:hover,
    .site__nav a.active,
    .site__nav .drop:hover {
        background-color: #4A6A26;
        color: #fff;
    }
    .site__nav .drop:hover > a {
        color: #fff;
    }
    .site__subnav {
        padding-left: 0;
        background-color: #4a6a26;
    }
    .site__nav .drop:hover .site__subnav {
        padding-bottom: 10px;
    }
    .site__subnav li a {
        display: block;
        padding: 6px 15px;
        text-align: center;
        background-color: #4A6A26;
        color: #fff;
        transition: .3s;
    }
    .site__subnav li a:hover {
        background-color: #223c1c;
    }

/* Mobile Nav */
.mobile__nav {
    display: none;
    z-index: 99;
}
    .toggle {
        cursor: pointer;
        width: 22px;
        height: 14px;
        padding: 15px 0;
    }
        .toggle-icon {
            width: 22px;
            height: 14px;
            position: relative;
            top: -6px;
            margin: 0;
            -webkit-transform: rotate(0deg);
            -moz-transform: rotate(0deg);
            -o-transform: rotate(0deg);
            transform: rotate(0deg);
            -webkit-transition: .5s ease-in-out;
            -moz-transition: .5s ease-in-out;
            -o-transition: .5s ease-in-out;
            transition: .5s ease-in-out;
            cursor: pointer;
        }
          
        .toggle-icon span {
            display: block;
            position: absolute;
            height: 1px;
            width: 100%;
            background: #fff;
            border-radius: 9px;
            opacity: 1;
            left: 0;
            -webkit-transform: rotate(0deg);
            -moz-transform: rotate(0deg);
            -o-transform: rotate(0deg);
            transform: rotate(0deg);
            -webkit-transition: .25s ease-in-out;
            -moz-transition: .25s ease-in-out;
            -o-transition: .25s ease-in-out;
            transition: .25s ease-in-out;
        }
    
        .toggle-icon span:nth-child(1) {
            top: 0px;
            -webkit-transform-origin: left center;
            -moz-transform-origin: left center;
            -o-transform-origin: left center;
            transform-origin: left center;
        }
          
        .toggle-icon span:nth-child(2) {
            top: 5px;
            -webkit-transform-origin: left center;
            -moz-transform-origin: left center;
            -o-transform-origin: left center;
            transform-origin: left center;
        }
          
        .toggle-icon span:nth-child(3) {
            top: 10px;
            -webkit-transform-origin: left center;
            -moz-transform-origin: left center;
            -o-transform-origin: left center;
            transform-origin: left center;
        }

        .toggle-icon.open span {
            background: #fff;
        }
        .toggle-icon.open span:nth-child(1) {
            -webkit-transform: rotate(45deg);
            -moz-transform: rotate(45deg);
            -o-transform: rotate(45deg);
            transform: rotate(45deg);
            top: -1px;
            left: 0;
        }
          
        .toggle-icon.open span:nth-child(2) {
            width: 0%;
            opacity: 0;
        }
          
        .toggle-icon.open span:nth-child(3) {
            -webkit-transform: rotate(-45deg);
            -moz-transform: rotate(-45deg);
            -o-transform: rotate(-45deg);
            transform: rotate(-45deg);
            top: 14px;
            left: 0;
        }
    
    .mobile-sidebar {
        position: fixed;
        top: 0;
        z-index: -1;
        width: 80%;
        height: 100vh;
        overflow: scroll;
        background: #223C1C;
        right: -100%;
        transition: .3s;
        padding-top: 100px;
    }
        .mobile-sidebar > ul {
            padding-left: 0;
            margin-top: 20px;
            width: 88%;
            margin-left: auto;
            margin-right: auto;
            padding-bottom: 40px;
        }
            .mobile-sidebar li a {
                display: inline-block;
                padding: 14px 0;
                width: 100%;
                color: #fff;
                letter-spacing: 3px;
                text-align: center;
                font-size: 16px;
                font-weight: 100;
                border-bottom: 1px solid rgba(255, 255, 255, 0.80);
            }
            .mobile-sidebar li:last-child a {
                border-bottom: none;
            }

            .mobile-sidebar .menu {
                border-bottom: 1px solid rgba(255, 255, 255, 0.80);
                padding-bottom: 10px;
            }
                .mobile-sidebar .menu a {
                    border-bottom: none;
                    padding: 10px 0;
                }
            
            .mobile-sidebar .collapse__button {
                transition: .3s;
            }
            .mobile-sidebar .collapse__button.active {
                position: relative;
                background-color: #4A6A26;
                margin-top: 8px;
                margin-bottom: 15px;
                border-bottom: none;
            }
            .mobile-sidebar .collapse__button.active::after {
                position: absolute;
                content: url(../images/icons/arrow-dropleft.png);
                bottom: -16px;
                left: 50%;
                transform: translateX(-50%);
            }
            .mobile-sidebar .text-en {
                font-size: 12px;
            }
    
    .slide-sidebar.active {
        right: 0;
    }

@media (max-width: 1211px) {
    .header {
        position: fixed;
        top: 0;
        left: 0;
    }
    .header__top .image {
        padding-top: 12px;
        padding-bottom: 8px;
    }
        .header__top .image img {
            height: 58px;
        }

    .toggle {
        position: absolute;
        top: 24px;
        right: 30px;
    }
    .site__logo {
        margin-right: unset;
    }
    .header__content {
        justify-content: center;
    }
    .mobile__nav {
        display: block;
    }
}

/* ======= Sidebar ======= */
.page__sidebar {
    width: 250px;
}
    .page__sidebar a {
        display: block;
        color: #223C1C;
        padding: 10px 24px 10px 24px;
        letter-spacing: 3px;
        border-bottom: 1px solid #ccd7bf;
    }
    .page__sidebar li:last-child a {
        border-bottom: none;
    }
    .page__sidebar a.active,
    .page__sidebar a:hover {
        color: #fff;
        background-color: #4A6A26;
    }
    .page__sidebar svg {
        fill: #223C1C;
        stroke: #223C1C;
    }
    .page__sidebar a.active svg,
    .page__sidebar a:hover svg {
        fill: #fff;
        stroke: #fff;
    }
    .page__sidebar ul {
        padding-left: 0;
        margin-bottom: 0;
    }
        .page__sidebar li {
            list-style: none;
        }
        .page__sidebar .title {
            background-color: #223C1C;
            color: #fff;
            font-size: 20px;
            letter-spacing: 3px;
            padding: 6px 24px 6px 24px;
        }

/* page mobile menu */
.page__mobile__menu {
    width: 100%;
    background-color: #223C1C;
    margin-bottom: 40px;
}
.page__mobile__menu .collapse__button {
    position: relative;
    justify-content: center;
    line-height: 42px;
    color: #fff;
}
.page__mobile__menu .collapse__button::after {
    position: absolute;
    content: url(../images/icons/ios-arrow-down.png);
    top: -2px;
    right: 15px;
}
.page__mobile__menu .collapse__content {
    text-align: center;
    background-color: #f7f7f7;
}
.page__mobile__menu .collapse__content a {
    display: inline-block;
    padding: 8px;
    color: #4A6A26;
}

/* ======= Home ======= */
/* home hero */
.home__hero {
    position: relative;
    height: calc(100vh - 163px);
    overflow: hidden;
    /* background-size: cover;
    background-repeat: no-repeat; */
}
    .home__hero__img {
        position: absolute;
        bottom: 0;
        z-index: -1;
    }
    .home__hero .layout {
        display: -webkit-flex;
        display: flex;
        align-items: center;
        height: 80vh;
        color: #fff;
    }
    .hero__content {
        margin-bottom: 240px;
    }
    .hero__content-subheading {
        font-size: 24px;
        font-weight: 400;
    }
    .hero__content-heading {
        font-size: 36px;
        font-weight: 700;
        margin-bottom: 20px;
    }
    @media (max-width: 1279px) {
        .home__hero__img {
            top: 0;
            bottom: unset;
        }
    }
    @media (max-width: 1024px) {
        .home__hero__img {
            width: unset;
            height: 100%;
            max-width: unset;
            left: 50%;
            transform: translateX(-50%);
        }
    }
    @media (max-width: 576px) {
        .home__hero {
            height: calc(100vh - 84px);
        }
        .hero__content {
            margin-top: 60px;
            margin-bottom: 0;
        }
    }

/* home about */
.home__about .image__column img {
    width: 98%;
}

@media (max-width: 1211px) {
    .home__about .text__column {
        margin-top: 60px;
    }
}

/* home product */
.home__product .grid__item {
    padding-left: 5px;
    padding-right: 5px;
}
.home__product .product__box {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
}
    
.home__product .thumb-image-container {
    position: relative;
    width: 100%;
}
.home__product .caption {
    position: absolute;
    width: 92%;
    height: 92%;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    background-color: rgba(34, 60, 28, 0.6);
    opacity: 0;
    transition: opacity .3s;
}
    .home__product .caption .text {
        position: absolute;
        display: block;
        top: 50%;
        left: 50%;
        transform: translate(-50%,-50%);
        color: #fff;
        font-size: 22px;
        letter-spacing: 4px;
        width: 100%;
        padding-left: 15px;
        padding-right: 15px;
        text-align: center;
    }

.home__product .thumb-image-container:hover .caption {
    opacity: 1;
}

.grid__item-small {
    width: 35%;
}
.grid__item-large {
    width: 65%;
}
.m-reverse {
    display: -webkit-flex;
    display: flex;
    flex-direction: column;
}

@media (max-width: 1211px) {
    .home__product .grid > .grid__item {
        width: 100%;
    }
    .home__product .grid {
        flex-direction: column;
    }
        .home__product .product__box {
            flex-direction: row;
            padding: 0 10px;
        }
            .home__product .product__box > * {
                padding: 5px;
            }
}

/* home customize */
.home__customize {
    margin-bottom: 40px;
}
@media (max-width: 1211px) {
    .home__customize .text__column {
        margin-bottom: 80px;
    }
    
}

/* home news */
.home__news {
    position: relative;
    overflow: hidden;
}
.home__news::before {
    content: '';
    position: absolute;
    top: 0;
    width: 100%;
    height: 48%;
    background-color: #223C1C;
    z-index: -1;
}
    .home__news .section__heading .title {
        color: #fff;
    }
    .home__news .thumb-image-wrapper {
        padding-bottom: 51%;
    }

    .home__news .grid {
        margin-left: -40px;
        margin-right: -40px;
    }
        .home__news .grid__item {
            padding-left: 40px;
            padding-right: 40px;
        }

    .news__box {
        position: relative;
    }
    .news__box .image {
        position: relative;
    }
        .news__box .date {
            position: absolute;
            bottom: 0;
            left: 50%;
            transform: translateX(-50%);
            color: #fff;
            background-color: #223C1C;
            padding: 5px 15px;
            opacity: 0;
            transition: .3s;
        }
        .news__box:hover .date {
            opacity: 1;
        }

    .news__box .title {
        text-align: center;
        font-size: 24px;
        margin-top: 26px;
    }
        .news__box .title > a {
            color: #223C1C;
        }

    .news__box .summary {
        margin-top: 22px;
        margin-bottom: 26px;
        padding-left: 25px;
        padding-right: 25px;
    }
    .news__box .button-wrapper {
        text-align: center;
    }
 
    .news__box::before {
        position: absolute;
        content: '';
        width: 100%;
        height: 110%;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        background-color: #223C1C;
        border-bottom-left-radius: 260px;
        border-bottom-right-radius: 260px;
        opacity: 0;
        z-index: -1;
        transition: .3s;
    }
    .news__box:hover::before {
        opacity: 1;
    }
    .news__box:hover .title > a,
    .news__box:hover .summary {
        color: #fff;
    }
    .news__box:hover .button {
        background-color: #4A6A26;
        color: #fff;
    }

@media(max-width: 1211px) {
    .home__news {
        padding-bottom: 0;
    }
    .home__news::before {
        height: 320px;
    }
        .home__news .grid__item {
            padding-bottom: 40px;
            margin-bottom: 20px;
        }
        .news__box::before { 
            width: calc(100% - 80px);
            height: 100%;
            border-bottom-left-radius: 0;
            border-bottom-right-radius: 0;
        }
        .news__box .title {
            font-size: 20px;
        }
        .news__box:hover .date {
            font-size: 13px;
        }
}

/* home reservation */
.input__group__row {
    display: -webkit-flex;
    display: flex;
    align-items: center
}

.input__group {
    margin-bottom: 30px;
}
.input__group input,
.input__group textarea {
    width: 100%;
    padding: 5px 15px;
    border: 1px solid #707070;
}
.input__group .option-wrap {
    display: inline-block;
    vertical-align: middle;
}
.input__days .option-wrap {
    margin-right: 20px;
}
.input__label {
    margin-bottom: 20px;
}

.input__name {
    width: 80%;
    margin-right: 3%;
}
.input__gender .option-wrap {
    margin-right: 10px;
}
.reservation__form {
    position: relative;
    width: 80%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 40px;
}
.input__note {
    position: absolute;
    right: 0;
    margin-top: 8px;
}
.option__row {
    display: inline;
}

.input__group__row.column-2 {
    justify-content: space-between;
    flex-wrap: wrap;
}
.input__group__row.column-2 .input__group {
    width: 49%;
}

@media(max-width: 1211px) {
    .input__group__row {
        flex-direction: column;
        align-items: flex-end;
    }
    .input__name {
        width: 100%;
        margin-right: 0;
    }
    .input__note {
        position: relative;
        margin-bottom: 20px;
    }
    .input__group__row.column-2 .input__group {
        width: 100%;
    }
}
@media(max-width: 576px) {
    .reservation__form {
        width: 100%;
    }
    .option__row {
        display: -webkit-flex;
        display: flex;
        justify-content: space-between;
    }
    .input__days .option-wrap {
        margin-right: 0;
        margin-bottom: 15px;
    }
    .reservation__form .button-wrapper,
    .reservation__form .input__note {
        text-align: center;
    }
    
}

/* footer */
.footer {
    color: #fff;
    background-color: #223C1C;
}
    .footer__content {
        position: relative;
        display: -webkit-box;
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-wrap: wrap;
        padding-top: 45px;
        padding-bottom: 45px;
    }
    .footer__logo img {
        height: 64px;
    }
    .footer__info {
        display: -webkit-box;
        display: flex;
        flex-direction: column;
    }
    .footer__info__item {
        display: -webkit-box;
        display: flex;
        align-items: center;
    }
    .footer__info__contact {
        margin-top: 30px;
    }
        .footer__info__contact .icon {
            margin-right: 5px;
        }

    .footer__info__item .title::after {
        content: '';
        position: absolute;
        top: 4%;
        right: -7px;
        width: 1px;
        height: 96%;
        background-color: #fff;
        opacity: .5;
    }
        .footer__info__item a {
            color: #fff;
        }
        .footer__info__item .title {
            position: relative;
            letter-spacing: 4px;
            margin-right: 20px;
        }
    
    .footer__info__item .content {
        display: -webkit-box;
        display: flex;
        flex: 1;
        letter-spacing: 2px;
    }
        .footer__info__item .nav__item__wrapper a {
            display: inline-block;
            margin-right: 15px;
        }
        .footer__info__contact .content > div:first-child {
            margin-right: 60px;
        }
    
    .footer__info__nav .content {
        justify-content: space-between;
        align-items: flex-end;
    }
    .follow {
        position: absolute;
        right: 0;
        top: 45px;
    }
    .follow img {
        width: 22px;
        margin-left: 8px;
    }
    
.copyright {
    color: #fff;
    background-color: #0F1A0C;
    text-align: center;
    font-size: 12px;
    line-height: 40px;
}

@media(max-width: 1280px) {
    .footer__info__item .content {
        flex-direction: column;
    }
    .follow {
        position: relative;
        right: unset;
        top: unset;
        flex: auto;
        width: 100%;
        text-align: right;
        margin-top: 20px;
        margin-right: 16px;
    }
}
@media(max-width: 868px) {
    .follow {
        margin-right: 0;
        text-align: left;
    }
}
@media(max-width: 576px) {
    .footer__content {
        flex-direction: column;
        width: 98%;
        margin: auto;
        padding-top: 45px;
        padding-bottom: 5px;
    }
    .footer__logo {
        width: 86%;
        text-align: center;
    }
    .footer__info__item {
        flex-direction: column;
        align-items: flex-start;
        margin-bottom: 30px;
    }
    .footer__info__item .content {
        flex-direction: column;
    }
    
    .footer__info__contact {
        order: 1;
    }
        .footer__info__contact .content > div:first-child {
            margin-right: 0;
        }
        .contact__item {
            margin-top: 5px;
        }

    .footer__info__nav {
        order: 2;
    }
    .footer__info__item .nav__item__wrapper a {
        margin-top: 5px;
    }
        .footer__info__item .title::after {
            display: none;
        }

    .follow {
        margin-bottom: 30px;
        text-align: center;
    }
        .follow img {
            width: 30px;
            margin-left: 8px;
        }

    .copyright {
        text-align: center;
        line-height: initial;
        padding-top: 15px;
        padding-bottom: 15px;
    }
        .copyright > span {
            display: block;
        }
}

/* ========================
            page 
===========================*/
/* page about */
.page__wrapper {
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
}
.page__content {
    padding-left: 30px;
    width: calc(100% - 250px);
    overflow: hidden;
}
    .page__content .button-wrapper {
        margin-top: 60px;
    }
    .page__content img,
    .page__content input[type="image"] {
        max-width: 100%;
        height: auto !important;
    }

.page__padding {
    padding-bottom: 100px;
}
.page__about .thumb-image-wrapper {
    padding-bottom: 66.66%;
}
.about__title {
    text-align: center;
    margin-bottom: 40px;
    color: #223C1C;
}

.photo-grid {
    margin-top: 40px;
}
    .photo-grid .grid {
        margin-top: 20px;
    }
        .photo-grid .grid__item {
            margin-bottom: 20px;
        }

@media (max-width: 1211px) {
    .page__content {
        padding-left: 0;
        width: 100%;
    }
    .page__padding {
        padding-top: 80px;
    } 
}
@media (max-width: 576px) {
    .page__padding {
        padding-top: 40px;
    } 
    .photo-grid .thumb-image::before {
        content: '';
        position: absolute;
        top: -20px;
        left: 0;
        width: 50%;
        height: 80%;
        background-color: #223C1C;
        z-index: -1;
    }
    .photo-grid .thumb-image.right::before {
        left: unset;
        top: -20px;
        right: 0;
        width: 80%;
        height: 85%;
    }
    .photo-grid .thumb-image::after {
        content: '';
        position: absolute;
        top: 8%;
        left: 10%;
        width: 89%;
        height: 90.5%;
        border: 2px solid #FFC35D;
        z-index: 1;
    }
    .photo-grid .thumb-image.right::after {
        left: unset;
        top: 6%;
        right: 7%;
        width: 90.5%;
        height: 94%;
    }
        .photo-grid .thumb-image img {
            padding: 5%;
            margin-left: 2%;
        }
        .photo-grid .thumb-image.right img {
            margin-left: unset;
            margin-top: -3%;
            padding: 5% 5% 2.7%;
        }
    
    .page__about .thumb-image-wrapper {
        padding-bottom: 100%;
    }
}

/* page product */
.image__box .thumb-image-container {
    position: relative;
    width: 100%;
}
    .image__box .caption {
        position: absolute;
        width: 100%;
        height: 100%;
        top: 50%;
        left: 50%;
        transform: translate(-50%,-50%);
        background-color: rgba(34, 60, 28, 0.6);
        opacity: 0;
        transition: .3s;
    }
        .image__box .caption .text {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%,-50%);
            color: #fff;
            font-size: 24px;
            letter-spacing: 2px;
        }

    .image__box .thumb-image-container:hover .caption {
        opacity: 1;
    }

.page__product__box {
    color: #223C1C;
    text-align: center;
    margin-bottom: 36px;
}
    .page__product__box .name {
        display: block;
        margin-top: 15px;
    }

.product__intro .slider-gallery .thumbnail-container {
    position: relative;
    display: flex;
    height: 550px;
    width: 550px;
    overflow: hidden;
}
.product__intro .slider-gallery .thumbnail-container img {
    position: absolute;
    width: 100%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
    .product__intro .grid__item-text {
        width: calc(100% - 580px);
        padding-left: 40px;
    }

.product__details {
    margin-top: 40px;
}

.product__summary__header {
    padding-bottom: 22px;
    margin-bottom: 20px;
    border-bottom: 1px solid #707070;
}
    .product__summary__header .category {
        color: #223C1C;
    }
    .product__summary__header .name {
        color: #223C1C;
        font-size: 24px;
    }
        .product__summary .button-wrapper {
            margin-top: 30px;
        }

    .table-wrapper {
        margin-bottom: 30px;
    }
    .spec__table {
        display: -webkit-flex;
        display: flex;
        margin-left: -3px;
        margin-right: -3px;
        margin-bottom: 0;
    }
    .spec__table .item {
        margin: 3px;
        text-align: center;
        line-height: 44px;
    }
        .spec__table.light-green .item {
            background-color: rgba(74, 106, 38, 0.15);
        }
        .spec__table.grass-green .item {
            background-color: rgba(74, 106, 38, 0.3);
        }

    .spec__table .table__thead {
        width: 130px;
    }
    .spec__table .table__cell {
        flex: 1;
    }
@media (max-width: 1366px) {
    .product__intro .slider-gallery .gallery-top,
    .product__intro .slider-gallery .thumbnail-container {
        height: 450px;
        width: 450px;
    }
    .product__intro .slider-gallery .gallery-bottom {
        width: 450px;
        height: 125px;
    }
    .product__intro .grid__item-text {
        width: calc(100% - 480px);
    }
}
@media (max-width: 991px) {
    .product__details {
        margin-top: 60px;
    }
    .product__intro .grid__item {
        width: 100%;
    }
    .product__intro .slider-gallery .gallery-top,
    .product__intro .slider-gallery .thumbnail-container {
        height: 690px;
        width: 100%;
    }
    .product__intro .slider-gallery .gallery-bottom {
        width: 100%;
        display: none;
    }
    .product__intro .grid__item-text {
        padding-left: 15px;
        margin-top: 30px;
    }
}
@media (max-width: 576px) {
    .product__intro .slider-gallery .gallery-bottom {
        height: 100px;
    }
    .product__intro .slider-gallery .gallery-top,
    .product__intro .slider-gallery .thumbnail-container {
        height: 338px;
    }
    .table-wrapper {
        display: -webkit-flex;
        display: flex;
        width: 90%;
        margin-top: 30px;
        margin-left: auto;
        margin-right: auto;
    }
    .spec__table {
        flex-direction: column;
        margin-left: 5px;
        margin-right: 5px;
    }
    .spec__table .table__thead {
        flex: 1;
        width: auto;
    }
    .spec__table .item {
        position: relative;
        margin: 0;
    }
    .spec__table .item::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
        width: 80%;
        height: 1px;
        background-color: #223C1C;
    }
    .spec__table .item:last-child::after {
        display: none;
    }
}

/* page customize */
.page__customize {
    padding-top: 60px;
}
.page__customize .block {
    position: relative;
    margin-bottom: 200px;
    padding-bottom: 40px;
    overflow: hidden;
}
.page__customize .block:first-child {
    margin-top: -360px;
    z-index: -1;
}
.page__customize .text__box {
    position: absolute;
    bottom: 0;
    right: 12%;
    width: 25%;
}
.page__customize .text__box p {
    position: relative;
}
.page__customize .text__box p::before {
    content: '';
    position: absolute;
    top: -18px;
    width: 60px;
    height: 3px;
    background-color: #4A6A26;
}

.page__customize .image__box {
    width: 75%;
    margin-left: -160px;
}
    .page__customize .image__box img {
        width: 100%;
    }

.page__customize .block.reverse .text__box {
    right: unset;
    left: 10%;
}
.page__customize .block.reverse .image__box {
    margin-left: auto;
    margin-right: -160px;
}
@media(max-width: 1211px) {
    .page__customize .block {
        margin-bottom: 150px;
    }
    .page__customize .block:first-child {
        margin-top: -160px;
    }

    .page__customize .text__box {
        position: relative;
        bottom: unset !important;
        right: unset !important;
        left: unset !important;
        width: 80%;
        margin-left: auto;
        margin-right: auto;
        margin-top: 80px;
    }
        .page__customize .text__box p::before {
            left: 50%;
            transform: translateX(-50%);
        }
        
    .page__customize .image__box {
        width: 120%;
        margin-left: -10% !important;
        margin-right: auto;
    }
}
@media (max-width: 576px) {
    .page__customize .block {
        margin-bottom: 60px;
    }
}


/* page news */
.image__box__brief {
    padding-top: 15px;
}
.page__news__box-header {
    display: -webkit-flex;
    display: flex;
    align-items: center;
    margin-bottom: 15px;
}
.page__news__box-text {
    font-size: 18px;
    margin-bottom: 17px;
}

.page__news .slider .swiper-wrapper {
    height: auto;
}
.page__news .thumb-image-wrapper {
    padding-bottom: 51%;
}


.page__news__box {
    margin-bottom: 60px;
}  
    .page__news__box .date {
        margin-right: 24px;
    }
    .page__news__box .date > span {
        display: block;
        width: 42px;
        font-size: 14px;
        text-align: center;
    }
    .page__news__box .date .day {
        background-color: #F7F7F7;
    }
    .page__news__box .date .month {
        background: #223C1C;
        color: #fff;
    }
    .page__news__box .title {
        font-size: 24px;
        color: #223C1C;
    }

    .news__details {
        margin-top: 30px;
    }