.booking-btn-ct {
    position: fixed;
    top: 140px;
    width: 98px;
    height: 98px;
    border-radius: 50%;
    border: 1px solid #E8952F;
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    right: 40px;
}

.booking-btn-ct a {
    height: 90px;
    width: 90px;
    border-radius: 50%;
    background-color: #E8952F;
    display: flex;
    align-items: center;
    text-align: center;
    font-weight: 600;
    font-size: 15px;
    line-height: 21px;
    color: #ffffff;
    text-transform: uppercase;
}

.hover-scale {
    transition: 0.6s;
    -moz-transition: 0.6s;
    -webkit-transition: 0.6s;
}

.hover-scale:hover {
    transform: scale(1.1);
    -moz-transform: scale(1.1);
    -webkit-transform: scale(1.1);
}

.swiper-btn-custom {
    right: -24px;
    width: 48px;
    height: 48px;
    background-color: #ffffff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0px 2px 4px rgb(0 0 0 / 15%);
    border: 1px solid #E8952F;
    top: 100px;
}

.swiper-btn-custom.swiper-button-prev {
    left: -24px;
}

.swiper-btn-custom.swiper-button-next {
    right: -24px;
}

.swiper-btn-custom::after {
    width: 100%;
    height: 100%;
    content: "";
    background-repeat: no-repeat;
    background-position: center;
}

.swiper-btn-custom.swiper-button-next::after {
    background-image: url(https://statics.vinpearl.com/files/images/vp-culinary/slider_arrow_right.svg);
}

.swiper-btn-custom.swiper-button-prev::after {
    background-image: url(https://statics.vinpearl.com/files/images/vp-culinary/slider_arrow_left.svg);
}

.detail_restaurant * {
    color: #343A40;
}

.detail_restaurant .banner_block {
    position: relative;
}

.detail_restaurant .banner_block::before {
    content: "";
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 50%;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 45.62%, #FFFFFF 100%);
}

.detail_restaurant .banner_block img {
    width: 100%;
}

.detail_restaurant .banner_block h1 {
    position: absolute;
    bottom: 39px;
    left: 50%;
    transform: translateX(-50%);
    margin: 0;
    max-width: 532px;
    text-align: center;
    font-size: 40px;
    line-height: 56px;
    font-weight: 600;
    width: 100%;
}

.detail_restaurant .res_des {
    width: 100%;
    max-width: 754px;
    overflow: hidden;
    margin: 0 auto;
    background-color: #ffffff;
    padding-top: 24px;
    text-align: center;
}

.detail_restaurant .res_des * {
    font-size: 16px;
    line-height: 23px;
    margin-bottom: 0;
}

.detail_restaurant .res-gallery {
    padding-top: 24px;
    position: relative;
    margin-bottom: 60px;
}

.detail_restaurant .res-gallery .swiper-slide {
    border-radius: 10px;
    overflow: hidden;
    background-color: gray;
    width: 270px !important;
}

.detail_restaurant img {
    width: 100%;
}

.left-blur {
    position: absolute;
    height: calc(100% - 24px);
    background: rgb(255 255 255 / 60%);
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
    z-index: 2;
    bottom: 0;
    left: 0;
}

.right-blur {
    position: absolute;
    height: calc(100% - 24px);
    background: rgb(255 255 255 / 60%);
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
    z-index: 2;
    right: 0;
    bottom: 0;
}

.res-info-wrapper .inside-wrapper {
    padding: 24px;
    border: 1px solid #CED4DA;
    border-radius: 4px;
    height: 100%;
}

.res-info-wrapper .inside-wrapper>h3 {
    font-weight: 600;
    font-size: 20px;
    line-height: 24px;
    margin-bottom: 16px;
}

.res-info-wrapper .contact .inside-wrapper>h3 {
    margin-bottom: 24px;
}

.res-info-wrapper .info-body * {
    font-size: 14px;
    line-height: 20px;
}

.info-body .tripadvisor-point {
    padding-left: 26.5px;
    height: 24px;
    margin-bottom: 16px;
    display: flex;
    align-items: center;
    position: relative;
}

.info-body .tripadvisor-point::before {
    content: "";
    background-image: url(https://statics.vinpearl.com/files/images/vp-culinary/tripadvisor.svg);
    position: absolute;
    background-size: 100% 100%;
    left: 0;
    width: 21.5px;
    height: 100%;
}

.info-body .tripadvisor-point .tripadvisor-dot-outer {
    margin-left: 0 !important;
    margin-right: 2px;
    border-radius: 50%;
    margin-top: 0;
    display: inline-block;
    width: 14px;
    height: 14px;
    position: relative;
}

.info-body .tripadvisor-point .tripadvisor-dot-outer.empty,
.info-body .tripadvisor-point .tripadvisor-dot-outer.half-empty {
    border: 1px solid #00aa6c;
}

.info-body .tripadvisor-point .tripadvisor-dot-outer.empty .tripadvisor-dot {
    background-color: transparent;
}

.info-body .tripadvisor-point .tripadvisor-dot-outer .tripadvisor-dot {
    top: unset !important;
    left: unset !important;
    height: 14px;
    width: 14px;
    background-color: #00aa6c;
    border-radius: 50%;
    display: inline-block;
    position: absolute;
}

.info-body .tripadvisor-point .tripadvisor-dot-outer .tripadvisor-dot.half {
    border-radius: unset;
    height: 14px;
    border-bottom-left-radius: 14px;
    border-top-left-radius: 14px;
    width: 7px;
    margin-top: -1px;
    margin-left: -1px;
}

.info-body .tripadvisor-point-number {
    margin-left: 3px;
}

.info-body>div,
.culinary-event-wrapper .info-wrapper>div {
    display: flex;
    align-items: flex-start;
    margin-bottom: 16px;
}

.info-body>div:last-child {
    margin-bottom: 0;
}

.info-body .icon,
.culinary-event-wrapper .icon {
    width: 16px;
    height: 20px;
    background-position: center !important;
    background-size: contain !important;
    margin-right: 8px;
}

.info-body .type .icon {
    background: url(https://statics.vinpearl.com/files/images/vp-culinary/globe.svg) no-repeat;
}

.info-body .capacity .icon {
    background: url(https://statics.vinpearl.com/files/images/vp-culinary/people.png) no-repeat;
}

.info-body .open .icon {
    background: url(https://statics.vinpearl.com/files/images/vp-culinary/clock2.svg) no-repeat;
}

.info-body .text {
    display: flex;
    flex-direction: column;
    width: calc(100% - 24px);
}

.info-body .text-title {
    font-weight: 600;
    margin-bottom: 8px;
}

.info-body .pearlclub {
    width: 100%;
    height: 76px;
    background-image: url(https://statics.vinpearl.com/files/images/vp-culinary/bg_pearlclub.jpg);
    background-size: cover;
    background-size: 100% 100%;
    padding: 16px;
    display: flex;
    justify-content: space-between;
}

.info-body .pearlclub .img img {
    height: 42px;
}

.info-body .text-1 {
    font-weight: 600;
    margin-bottom: 4px;
}

.info-body .text-2 {
    display: flex;
    align-items: center;
}

.info-body .text-2 .tick {
    width: 16px;
    height: 20px;
    margin-right: 6px;
    background-image: url(https://statics.vinpearl.com/files/images/vp-culinary/green_tick.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.info-body .map-img {
    margin-bottom: 24px;
}

.info-body .addr {
    margin-bottom: 8px;
}

.info-body .phone {
    margin-bottom: 0;
    min-height: 48px;
}

.info-body .map-img img {
    width: 100%;
    height: 120px;
    object-fit: cover;
}

.info-body .addr .icon,
.culinary-event-wrapper .addr .icon {
    background: url(https://statics.vinpearl.com/files/images/vp-culinary/geo.svg) no-repeat;
}

.info-body .phone .icon,
.culinary-event-wrapper .phone .icon {
    background: url(https://statics.vinpearl.com/files/images/vp-culinary/telephone.svg) no-repeat;
}

.info-body .phone .text {
    white-space: break-spaces;
}

.info-body .contact-action {
    margin-top: 24px;
    display: flex;
    justify-content: space-between;
}

.info-body .contact-action a {
    width: 150px;
    height: 38px;
    max-width: 48%;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    font-weight: 500;
}

.info-body .contact-action a.view-menu {
    border: 1px solid #E8952F;
    color: #E8952F;
}

.info-body .contact-action a.booking {
    background: #E8952F;
    color: #ffffff;
}

.culinary-event-wrapper .ce-block-title,
.big-title {
    font-weight: 600;
    font-size: 28px;
    line-height: 34px;
    margin-bottom: 32px;
}

.culinary-event-wrapper .info-wrapper,
.culinary-news .info-wrapper {
    padding: 12px 16px 16px 16px;
    height: 150px;
    border: 1px solid #CED4DA;
    overflow: hidden;
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
}

.culinary-news .info-wrapper {
    height: 87px;
}

.culinary-event-wrapper .info-wrapper .ce-title,
.culinary-news .news-tit {
    margin-bottom: 12px;
    font-weight: 600;
    font-size: 16px;
    line-height: 21px;
}

.culinary-news .news-tit {
    margin-bottom: 0;
}

.culinary-event-wrapper .info-wrapper .addr {
    margin-bottom: 8px;
}

.culinary-event-wrapper .swiper-slide {
    width: 367px;
}

.culinary-event-wrapper .swiper-slide .inside-wrapper,
.culinary-news .swiper-slide .inside-wrapper {
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
    overflow: hidden;
}

.culinary-event-wrapper .swiper-slide .img-wrapper,
.culinary-news .swiper-slide .img-wrapper {
    height: 200px;
    overflow: hidden;
}

.culinary-event-wrapper {
    margin-top: 60px;
}

.culinary-event-wrapper .info-wrapper .text {
    line-height: 20px;
}

.culinary-event-wrapper .img-wrapper .time {
    position: absolute;
    top: 14px;
    left: 12px;
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(4px);
    padding: 4px 10px;
    border-radius: 200px;
    max-width: 50%;
    overflow: hidden;
    z-index: 1;
    font-weight: 500;
    font-size: 12px;
    line-height: 20px;
}

.culinary-news {
    margin-top: 66.5px;
}

.culinary-news .tit-block {
    margin-bottom: 38.5px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.culinary-news h2 {
    font-weight: 600;
    font-size: 28px;
    line-height: 34px;
    margin-bottom: 0;
}

.culinary-news .swiper-slide {
    width: 267px;
}

.culinary-news .tit-block a {
    line-height: 20px;
    font-size: 14px;
    color: #E8952F;
    position: relative;
    display: flex;
    align-items: center;
    margin-right: 19px;
}

.culinary-news .tit-block a::after {
    content: "";
    position: absolute;
    width: 10px;
    height: 12px;
    background: url(https://statics.vinpearl.com/files/images/vp-culinary/view_more_arrow.svg) no-repeat center;
    right: -19px;
}

.related-res .swiper-slide {
    width: 267px;
}

.related-res .res-img-wrapper {
    border-radius: 4px 4px 0px 0px;
}

.related-res .res-img-wrapper img {
    width: 100%;
}

.related-res .res-info {
    background: #FFFFFF;
    border-radius: 0 0 4px 4px;
    padding: 16px 16px 20px 16px;
    border: 1px solid #CED4DA;
}

.related-res .res-info .res-name {
    font-weight: 600;
    font-size: 16px;
    line-height: 21px;
    color: #343A40;
    margin-bottom: 8px;
}

.related-res .res-info .below-tit-block {
    display: flex;
    margin-bottom: 8px;
}

.related-res .type-of-cuisine {
    white-space: nowrap;
    padding: 4px 8px;
    background: #F7F7F7;
    border-radius: 4px;
    color: #616971;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 23px;
    margin-right: 8px;
    font-size: 12px;
    line-height: 15px;
}

.related-res .res-time {
    padding-left: 24px;
    position: relative;
    line-height: 20px;
    height: 20px;
    margin-top: 1.5px;
    color: #343A40;
}

.related-res .res-time::before {
    content: "";
    position: absolute;
    left: 0;
    width: 16px;
    height: 100%;
    background-image: url(https://statics.vinpearl.com/files/images/vp-culinary/clock.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.related-res .res-info .below-tit-block>img {
    margin-right: 8px;
    width: 4px;
}

.related-res .pc_card {
    position: absolute;
    font-weight: 500;
    font-size: 12px;
    line-height: 20px;
    color: #343A40;
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(4px);
    border-radius: 100px;
    padding: 4px 8px;
    top: 12px;
    left: 12px;
    z-index: 1;
}

.related-res .pc_card .text {
    font-size: 12px;
}

.related-res .swiper-btn-custom {
    top: 77px;
}

.related-res .res-sm-des {
    font-size: 14px;
    line-height: 20px;
    color: #343A40;
    height: 40px;
    margin-bottom: 16px;
}

.related-res .res-act-block {
    display: flex;
    justify-content: space-between;
}

.related-res .res-act-block a {
    width: calc(50% - 4px);
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 500;
    font-size: 14px;
    line-height: 20px;
    border-radius: 4px;
}

.related-res .res-act-block a.view-detail-btn {
    color: #E8952F;
    border: 1px solid #E8952F;
}

.related-res .res-act-block a.view-menu {
    color: #FFFFFF;
    background: #E8952F;
}

.related-res {
    margin-top: 60px;
}

@media (min-width: 1439px) and (max-width: 1600px) {
    .res-info-wrapper>.container>.row {
        justify-content: space-between;
        margin: 0 !important;
    }
    .res-info-wrapper>.container>.row>.info-item {
        width: 364px;
        flex: unset;
        padding: 0;
    }
}

@media (max-width: 480px) {
    .booking-btn.ht_mirror {
        right: 16px;
        top: 80px;
        width: 76px;
        height: 76px;
    }
    .booking-btn.ht_mirror a {
        font-size: 10px;
        width: 68px;
        height: 68px;
    }
    body {
        padding-top: 64px!important;
    }
    .detail_restaurant {
        padding-top: 0;
    }
    .detail_restaurant .banner_block h1 {
        font-size: 24px;
        line-height: 29px;
        bottom: 24px;
        width: 320px;
        max-width: 90%;
    }
    .detail_restaurant .res_gallery {
        padding-top: 8px;
        margin-bottom: 24px;
    }
    .left-blur,
    .right-blur {
        display: none !important;
    }
    .detail_restaurant .res-gallery .swiper-slide {
        width: 120px !important;
    }
    .detail_restaurant .res-gallery {
        margin-bottom: 24px;
    }
    .res-info-wrapper .info-item:not(:last-child) {
        margin-bottom: 16px;
    }
    .res-info-wrapper .inside-wrapper>h3 {
        font-size: 16px;
        line-height: 21px;
    }
    .culinary-event-wrapper .swiper-slide {
        width: 325px;
    }
    .swiper-block .swiper-wrapper {
        padding-left: 16px;
    }
    .swiper-block {
        padding: 0;
    }
    .swiper-btn-custom {
        display: none;
    }
    .big-title {
        font-size: 20px !important;
        margin-bottom: 24px;
    }
    .culinary-news .tit-block {
        margin-bottom: 24px;
    }
    .related-res {
        margin-top: 48px;
    }
    .detail_restaurant img {
        height: 100%;
        object-fit: cover;
    }
}