@import url(https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.1/normalize.min.css);
@import url(https://fonts.googleapis.com/css2?family=Noto+Sans+TC&family=Noto+Serif+TC:wght@400;700&family=Poppins&display=swap);

.section-title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 64px
}

.section-title h3 {
    letter-spacing: .5px
}

.section-title .memo {
    font-size: .675rem;
    letter-spacing: .3rem
}

.section-title .icon {
    display: block;
    width: 32px;
    height: 32px;
    margin-bottom: 16px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain
}

.swiper-pagination .swiper-pagination-bullet {
    background-color: #b0a697;
    opacity: .5
}

.swiper-pagination .swiper-pagination-bullet-active {
    background-color: #49433e;
    opacity: 1
}

.swiper-pagination-progressbar {
    width: 56px !important;
    top: auto !important;
    bottom: 16px;
    left: 50% !important;
    -webkit-transform: translate3d(-50%, 0, 0);
    transform: translate3d(-50%, 0, 0);
    background-color: rgba(176, 166, 151, .5);
    border-radius: 10px;
    overflow: hidden
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background-color: #49433e;
    border-radius: 10px
}

.swiper-button {
    width: 48px;
    height: 48px;
    background-color: rgba(252, 250, 244, .8)
}

.swiper-button.swiper-button-next {
    right: 0
}

.swiper-button.swiper-button-next::after {
    content: url(../../images/icon_arrow_next.svg)
}

.swiper-button.swiper-button-prev {
    left: 0
}

.swiper-button.swiper-button-prev::after {
    content: url(../../images/icon_arrow_previous.svg)
}

.swiper-button:hover {
    background-color: #fcfaf4
}

.price {
    display: none
}

.hero {
    height: calc(100vh - 24px);
    max-height: 1080px;
    max-width: none;
    padding: 0;
    color: #fff
}

.hero .cover {
    position: absolute;
    height: 100%;
    max-height: 1080px;
    width: 100%;
    overflow: hidden;
    z-index: 1
}

.hero .cover .swiper-cover {
    height: 100%
}

.hero .cover .swiper-cover .swiper-wrapper .swiper-slide .image {
    height: 100%
}

.hero .cover .swiper-cover .swiper-wrapper .swiper-slide.swiper-slide-active .image {
    -webkit-animation: zoomIn 4s forwards;
    animation: zoomIn 4s forwards
}

.hero .main-info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    z-index: 3
}

.hero .main-info .page-title {
    margin: 8px auto 4px;
    font-family: "Noto Serif TC";
    font-size: 5.5rem;
    font-weight: 500;
    text-align: center;
    line-height: 1.2;
    letter-spacing: .5rem
}

.hero .main-info .sub-page-title {
    font-size: 1.5rem;
    font-weight: 400;
    text-align: center;
    letter-spacing: .4rem
}

.hero .main-info .page-des {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: 32px;
    margin-bottom: 56px;
    font-size: 1rem;
    font-weight: 500
}

.hero .main-info .button {
    color: #49433e;
    border-color: transparent;
    background-color: rgba(255, 255, 255, .8)
}

.hero .main-info .button:hover {
    background-color: #fff
}

.hero .main-info .scroll {
    position: absolute;
    width: 1px;
    height: 120px;
    bottom: 72px;
    background-color: #fff;
    -webkit-animation: scroll 2s ease-out 0s infinite;
    animation: scroll 2s ease-out 0s infinite
}

.tags {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.tags .tag {
    padding: 2px 8px;
    margin-bottom: 4px;
    font-size: .75rem;
    color: #fff;
    background-color: #b0a697;
    border-radius: 4px
}

.tags .tag:not(:last-child) {
    margin-right: 4px
}

.tours {
    max-width: none;
    background-color: #fcfaf4;
    padding-bottom: 72px;
    text-align: center
}

.tours .section-title .icon {
    background-image: url(../../images/icon/icon_recommend.svg)
}

.tours .section-content {
    width: 100%;
    max-width: 1360px;
    margin: 0 auto;
    text-align: center
}

.tours .swiper-tours {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding-bottom: 24px
}

.tours .swiper-tours .swiper-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.tours .button {
    margin-top: 16px
}

.tours .swiper-button {
    width: 48px;
    height: 48px;
    border-radius: 8px;
    border: 1px solid #8c8171;
    background-color: transparent
}

.tours .swiper-button.swiper-button-next {
    right: 0
}

.tours .swiper-button.swiper-button-prev {
    left: 0
}

.tours .swiper-button:hover {
    background-color: #8c8171
}

.tours .swiper-button:hover.swiper-button-next::after {
    content: url(../../images/samui/icon_card_next.svg)
}

.tours .swiper-button:hover.swiper-button-prev::after {
    content: url(../../images/samui/icon_card_previous.svg)
}

.tours .tour {
    width: calc((100% - 32px)/ 3);
    background-color: #fff;
    overflow: hidden;
    -webkit-box-shadow: 0 4px 12px 0 rgba(46, 39, 39, .08);
    box-shadow: 0 4px 12px 0 rgba(46, 39, 39, .08)
}

.tours .tour .img {
    overflow: hidden;
    height: 240px
}

.tours .tour .img img {
    height: 100%
}

.tours .tour .img::before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1
}

.tours .tour .img::after {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background-color: #2e2727;
    opacity: 0
}

.tours .tour .text {
    text-align: left;
    padding: 12px 16px
}

.tours .tour .text .memo {
    margin-bottom: 8px
}

.tours .tour .text .slogan {
    margin-bottom: 8px;
    white-space: nowrap;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    overflow: hidden;
    color: #49433e
}

.tours .tour .text .description {
    color: #666;
    font-size: .875rem;
    line-height: 160%
}

.tours .tour .text .tags {
    margin-top: 8px
}

.tours .tour.tour-a .img::before {
    content: url(../../images/phuquoc/label-ny_1.png)
}

.tours .tour.tour-b .img::before {
    content: url(../../images/phuquoc/label-star.png)
}

.tours .tour.tour-c .img::before {
    content: url(../../images/phuquoc/label-vj.png)
}

.tours .tour:hover .img img {
    -webkit-transform: translateX(-50%) scale(140%);
    -ms-transform: translateX(-50%) scale(140%);
    transform: translateX(-50%) scale(140%)
}

.tours .tour:hover .img::after {
    opacity: .2
}

.about {
    padding-top: 96px
}

.about .section-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding-top: 40px;
    padding-bottom: 116px
}

.about .section-content .img {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 50%;
    flex: 1 1 50%;
    width: 50%;
    overflow: hidden
}

.about .section-content .img img {
    height: 100%
}

.about .section-content .text {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 30%;
    flex: 1 1 30%;
    width: 30%;
    margin: 0 64px
}

.map {
    padding-bottom: 64px;
    max-width: none;
    background-color: #fcfaf4
}

.map .section-title .icon {
    background-image: url(../../images/samui/icon_02map.svg)
}

.map .section-content {
    padding-top: 16px;
    padding-bottom: 40px
}

.map .section-content .deco-container {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0
}

.map .section-content .deco {
    position: absolute;
    font-family: "Times New Roman", "Noto Serif TC";
    font-size: 1.5rem
}

.map .section-content .deco.deco-1 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 336px;
    left: 40px;
    bottom: 0
}

.map .section-content .deco.deco-1 .deco-des {
    margin-bottom: 32px;
    font-weight: 500
}

.map .section-content .deco.deco-1 .deco-img {
    -ms-flex-item-align: end;
    align-self: flex-end
}

.map .section-content .deco.deco-2 {
    right: 40px;
    top: -40px
}

.map .section-content .deco.deco-2 .deco-des {
    width: 260px;
    margin-left: 88px;
    font-size: 2.25rem
}

.map .section-content .deco.deco-2 .deco-des .line.italic {
    font-style: italic
}

.map .section-content .deco.deco-2 .deco-des .line.ar {
    text-align: right
}

.map .section-content .deco.deco-2 .deco-img {
    width: 160px;
    height: 180px;
    margin-top: -48px;
    overflow: hidden
}

.map .section-content .deco.deco-3 {
    right: 0;
    bottom: 40px
}

.resorts {
    max-width: none
}

.resorts .section-title .icon {
    background-image: url(../../images/samui/icon_03hotel.svg)
}

.resorts .resort {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 100%;
    max-width: 1440px;
    margin: 0 auto 56px;
    height: 720px
}

.resorts .resort .gallery {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 0 0 0 48px;
    max-width: 700px;
    height: 250px;
    -webkit-transition: all 1.5s ease-out;
    -o-transition: all 1.5s ease-out;
    transition: all 1.5s ease-out
}

.resorts .resort .gallery img {
    height: 100%
}

.resorts .resort .text {
    width: 50%;
    padding: 24px 0 40px;
    -webkit-transition: all 1.5s ease-out;
    -o-transition: all 1.5s ease-out;
    transition: all 1.5s ease-out
}

.resorts .resort .text .slogan {
    text-align: center
}

.resorts .resort .text .memo {
    text-align: center
}

.resorts .resort .text .description {
    width: 64%;
    margin: 0 auto
}

.resorts .resort .text .description a {
    color: #fff;
    background: #2e2727;
    padding: 8px 16px
}

.resorts .resort .text .description a:hover {
    background: rgba(140, 129, 113, .8)
}

.resorts .resort .text .tags {
    margin-top: 64px
}

.resorts .resort:nth-child(odd) .cover {
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 3;
    order: 3
}

.resorts .resort:nth-child(odd) .gallery {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    padding: 0 48px 0 0
}

.resorts .resort:nth-child(odd) .text {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    padding: 40px 0 24px
}

.attractions {
    max-width: none;
    background-color: #fcfaf4
}

.attractions .attraction {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 100%;
    max-width: 1440px;
    margin: 0 auto 56px;
    height: 720px
}

.attractions .attraction .gallery {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 0;
    max-width: 700px;
    height: 380px;
    -webkit-transition: all 1.5s ease-out;
    -o-transition: all 1.5s ease-out;
    transition: all 1.5s ease-out
}

.attractions .attraction .gallery img {
    height: 100%
}

.attractions .attraction .text {
    width: 50%;
    -webkit-transition: all 1.5s ease-out;
    -o-transition: all 1.5s ease-out;
    transition: all 1.5s ease-out
}

.attractions .attraction .text .slogan {
    text-align: center
}

.attractions .attraction .text .memo {
    text-align: center
}

.attractions .attraction .text .description {
    width: 64%;
    margin: 0 auto
}

.attractions .attraction .text .tags {
    margin-top: 64px
}

.attractions .attraction:nth-child(odd) .cover {
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 3;
    order: 3
}

.attractions .attraction:nth-child(odd) .gallery {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2
}

.attractions .attraction:nth-child(odd) .text {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1
}

@media screen and (max-width:1024px) {
    .tours .section-content {
        margin-left: 32px
    }

    .tours .swiper-button {
        display: none
    }

    .resorts .resort {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        max-width: 92%;
        height: auto
    }

    .resorts .resort .cover {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
        width: 100%
    }

    .resorts .resort .cover img {
        width: 100%
    }

    .resorts .resort .text {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
        width: 100%;
        max-width: 711px;
        padding: 0
    }

    .resorts .resort .text .description {
        width: 100%
    }

    .resorts .resort .gallery {
        -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
        order: 3;
        padding: 0;
        width: 100%;
        max-width: 711px;
        height: auto
    }

    .resorts .resort .gallery .img {
        width: calc(50% - 5px)
    }

    .resorts .resort .gallery .img img {
        height: auto;
        width: 100%
    }

    .resorts .resort:nth-child(odd) .cover {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2
    }

    .resorts .resort:nth-child(odd) .text {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
        padding: 0
    }

    .resorts .resort:nth-child(odd) .gallery {
        -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
        order: 3;
        padding: 0;
        width: 100%;
        max-width: 711px
    }

    .resorts .resort:nth-child(odd) .gallery .img {
        width: calc(50% - 5px)
    }

    .resorts .resort:nth-child(odd) .gallery .img img {
        height: auto;
        width: 100%
    }

    .attractions .attraction {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        max-width: 92%;
        height: auto
    }

    .attractions .attraction .cover {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
        margin-left: -12%
    }

    .attractions .attraction .text {
        -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
        order: 3;
        width: 100%;
        max-width: 711px;
        padding: 0
    }

    .attractions .attraction .text .description {
        width: 100%
    }

    .attractions .attraction .gallery {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
        padding: 0;
        width: 100%;
        max-width: 711px;
        height: auto;
        margin-top: -200px;
        -ms-flex-item-align: end;
        align-self: flex-end;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end
    }

    .attractions .attraction .gallery .img {
        width: calc(50% - 5px)
    }

    .attractions .attraction .gallery .img img {
        height: auto;
        width: 100%
    }

    .attractions .attraction:nth-child(odd) .cover {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1
    }

    .attractions .attraction:nth-child(odd) .text {
        -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
        order: 3;
        padding: 0
    }

    .attractions .attraction:nth-child(odd) .gallery {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
        padding: 0;
        width: 100%;
        max-width: 711px
    }

    .attractions .attraction:nth-child(odd) .gallery .img {
        width: calc(50% - 5px)
    }

    .attractions .attraction:nth-child(odd) .gallery .img img {
        height: auto;
        width: 100%
    }
}

@media screen and (max-width:992px) {
    .contact-us .contact-us-wrapper {
        width: 86%;
        max-width: 648px;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column
    }

    .contact-us .section-title {
        max-width: none;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        margin-bottom: 36px
    }

    .contact-us .section-content {
        width: 100%
    }

    .contact-us .contact-list {
        -ms-flex-pack: distribute;
        justify-content: space-around
    }

    .contact-us .contact-list .contact-list-item {
        margin: 0
    }
}

@media screen and (max-width:768px) {
    .swiper-button {
        display: none
    }

    .swiper-pagination {
        display: block
    }

    .section-title {
        margin-bottom: 36px
    }

    .section-title .description {
        text-align: center
    }

    .hero .swiper-cover .swiper-wrapper .swiper-slide .image img {
        width: auto;
        height: 100%
    }

    .hero .main-info .page-title {
        line-height: 1.15;
        margin: 32px auto 16px
    }

    .tours .section-content {
        margin: 0
    }

    .tours .swiper-tours .swiper-wrapper {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column
    }

    .tours .tour {
        width: 92%;
        max-width: 700px;
        margin: 0 auto
    }

    .tours .tour:not(:last-child) {
        margin-bottom: 20px
    }

    .about .section-content {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        padding: 0;
        max-width: 92%;
        width: 100%;
        margin: 0 auto
    }

    .about .section-content .img {
        margin: 0 16px;
        width: 100%;
        height: 478px;
        max-height: 478px
    }

    .about .section-content .img img {
        max-height: 478px
    }

    .about .section-content .text {
        width: 100%;
        margin: 0;
        max-width: 598px
    }

    .attractions .attraction .cover {
        margin-left: 0;
        max-width: 80%;
        -ms-flex-item-align: start;
        align-self: flex-start
    }

    .attractions .attraction .cover img {
        width: 100%
    }

    .attractions .attraction .gallery {
        margin-top: -140px
    }
}

@media screen and (max-width:576px) {
    .section-title {
        margin-bottom: 40px;
        text-align: center
    }

    .section-title .description {
        margin-bottom: 0
    }

    .hero {
        height: calc(100vh - 48px)
    }

    .hero .main-info .sub-page-title {
        font-size: 1.125rem
    }

    .hero .main-info .page-title {
        margin-top: 4px;
        font-size: 4rem
    }

    .hero .main-info .page-des {
        margin-top: 8px;
        margin-bottom: 32px;
        font-size: .875rem
    }

    .hero .main-info .scroll {
        -webkit-animation: scroll-mb 1.2s ease-out 0s infinite;
        animation: scroll-mb 1.2s ease-out 0s infinite
    }

    .hero .contact-us {
        padding: 48px 0
    }

    .hero .contact-us .contact-list {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column
    }

    .hero .contact-us .contact-list .contact-list-item {
        margin-bottom: 32px
    }

    .hero .float-right {
        right: 16px;
        bottom: 56px
    }

    .about .section-content .img {
        height: auto;
        max-height: auto
    }

    .about .section-content .img img {
        max-height: auto;
        width: 100%
    }

    .attractions .attraction .gallery {
        margin-top: -80px
    }
}