/*
Theme Name: Flatsome Child
Description: This is a child theme for Flatsome Theme
Author: UX Themes
Template: flatsome
Version: 3.0
*/

/*************** ADD CUSTOM CSS HERE.   ***************/


@media only screen and (max-width: 48em) {
/*************** ADD MOBILE ONLY CSS HERE  ***************/


}


.navproduct .link-active {
    border-bottom: 3px solid var(--fs-color-primary);
}
.navproduct { display: block; height: 50px; background-color: #fff;  margin-bottom: 40px;}  .navproduct ul { display: flex; border-bottom: 1px solid #cccccc; }   .navproduct li { padding: 10px 20px; list-style-type: none; margin-bottom: 0; margin-left: 0 !important; }


h3.title-sub-single-product {
    font-size: 22px;
    border-left: 4px solid var(--fs-color-primary);
    padding-left: 20px;
    text-transform: none;
    line-height: 1.2;
    color: var(--fs-color-primary);
    margin-bottom: 1.5rem;
    text-transform: uppercase;
}

h3.schedule_title:not(:last-child)::before {
    border-radius: 50%; /* Tạo hình tròn */
    background-color: var(--primary-color); /* Màu nền cho hình tròn */
    position: absolute; /* Đặt vị trí tuyệt đối */
    left: -30px; /* Khoảng cách từ lề bên trái */
    top: 50%; /* Đặt tại giữa theo chiều dọc */
    transform: translate(-50%, -50%); /* Dịch chuyển hình tròn về giữa */
    width: 30px; /* Kích thước hình tròn */
    height: 30px; /* Kích thước hình tròn */
    display: flex; /* Sử dụng flexbox để căn giữa nội dung */
    align-items: center; /* Căn giữa theo chiều dọc */
    justify-content: center; /* Căn giữa theo chiều ngang */
	    top: 14px;
}

h3.schedule_title:not(:last-child)::before {
    font-family: 'Font Awesome 5 Free'; /* Đảm bảo sử dụng đúng font */
    content: '\f3c5'; /* Mã icon Font Awesome */
    font-size: 18px; /* Kích thước icon Font Awesome */
    color: #fff; /* Màu sắc cho icon, có thể điều chỉnh theo ý muốn */
}

h3.ux-product-title-booking {
    font-size: 150%;
}
/* h3.schedule_title:not(:last-child)::before {
    content: "";
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: var(--primary-color);
    position: absolute;
    left: -30px;
    top: 14px;
    transform: translate(-50%, -50%);
    width: 30px;
    height: 30px;
    background-size: 18px 18px;
    background-repeat: no-repeat;
    background-position: center;
} */

.schedule-item:not(:last-child)::before {
    width: 0;
    height: 100%;
    border-left: 1px dashed red;
    position: absolute;
    top: 50px;
    left: 0px;
    content: "";
    height: calc(100% - 30px);
}

h3.schedule_title {
    position: relative;
    z-index: 1;
}


.tour-schedule {
    margin-left: 30px;
}


h3.schedule_title {
    background: var(--primary-color);
    color: #fff;
    padding: 5px 20px 5px 20px;
    border-radius: 25px;
    -moz-border-radius: 25px;
    -webkit-border-radius: 25px;
    position: relative;
    margin-bottom: 20px;
    font-weight: 700;
    min-height: 35px;
    margin-top: 10px;
}

h3.ux-product-price-short { display: flex; align-items: baseline; }  .product-price-container { margin-left: 10px; }


.container-booking .is-sticky-column {
    border-radius: 0 0 10px 10px;
    box-shadow: 0px 1px 60px 30px rgb(0 0 0 / 5%);
    transition: background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;
    background-color: #ffffff;
    padding: 15px;
}

.container-booking .product-short-description {
    font-size: 90%;
}

.product-short-thong-tin-tour p, p.product-short-lich-khoi-hanh { margin-bottom: 10px; font-size: 90%;   position: relative;}

	
	h3.ux-product-price-short, ux-product-price-short bdi {
    color: var(--fs-color-primary);
    font-size: 150%;
    margin-bottom: 0px;
}

.btnchitietTour {
    border-radius: 10px;
    padding: 7px 20px;
    max-width: 100% !important;
    width: 100% !important;
    font-weight: 600;
    border: 1px solid var(--fs-color-primary);
}

h3.ux-product-price-short span.amount {
    color: var(--fs-color-primary) !important;
}

.product-short-lich-khoi-hanh::before, .product-short-thong-tin-tour p:before {
    content: "•"; /* Dấu chấm nhỏ */
    color: #000; /* Màu sắc của dấu chấm */
    font-size: 16px; /* Kích thước dấu chấm, bạn có thể điều chỉnh */
    margin-right: 5px; /* Khoảng cách giữa dấu chấm và nội dung */
}


.tab-container.tab-container-price-tour {
    border-radius: 0 0 10px 10px;
    box-shadow: 0px 1px 60px 30px rgb(0 0 0 / 5%);
    transition: background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;
    background-color: #ffffff;
}

.content-tab-title { background: #fce6d6; padding: 5px; }  .content-tab-title button.tab-button.active { border-bottom: 2px solid var(--fs-color-primary); } .content-tab-title button.tab-button { margin: 0px; color: #000;}
td.dates-table-price { color: var(--fs-color-primary); font-weight: 700; }  td.dates-table-date { font-weight: 700; }
table.departure-dates-table th, table.departure-dates-table td, table.departure-dates-table td p {
    text-align: center;
    line-height: 30px;
}
table.departure-dates-table th {
    color: #000;
}
a.button.primary.btndatlich {
    border-radius: 10px;
}

div#tuvan {
    border-top: 5px solid var(--fs-color-primary);
    border-radius: 5px;
}

div#tuvan input,div#tuvan textarea { box-shadow: unset; border-radius: 5px; } 


div#tuvan input.wpcf7-form-control.wpcf7-submit.has-spinner.shake-text {
    width: 100%;
    padding: 10px 8px;
}




.custom-product-page nav.rank-math-breadcrumb {
    text-align: center;
    margin: auto;
}

a.btnClose svg { width: 24px; }  a.btnClose { position: absolute; right: -15px; top: -35px; }
.popup-km input.wpcf7-form-control.wpcf7-submit.has-spinner {
    text-transform: inherit;
    position: relative;
    padding-left: 30px;
}

.popup-km {
    position: fixed;
    bottom: 10px;
    z-index: 99999;
    width: 318px;
    right: 0;
    background-color: white;
    box-shadow: 0px 0px 30px rgb(228 228 228);
}

.popup-km .gallery-col {
    padding: 0px;
}

.popup-km input.wpcf7-form-control.wpcf7-submit.has-spinner { text-transform: inherit; } .popup-km h4 { margin-top: 15px; } .popup-km form.wpcf7-form.init { width: 96%; margin: auto; }  .popup-km form input { box-shadow: unset; border-radius: 5px;font-size: 90%; }







section.section.tim-kiem input ,section.section.tim-kiem select{
    box-shadow: unset;
    border: 1px solid #f1f1f1;
    border-radius: 8px;
}

.col-timkiem > .col-inner {
    background: #fff;
    box-shadow: 0 0 12px rgb(0 0 0 / 13%);
    padding: 20px;
    border-radius: 8px;
}


.section.tim-kiem a.button.primary.expand { padding: 15px 5px; border-radius: 8px; }


h4.filter-title {
    background-color: #f05e22;
    color: white !important;
    text-align: center;
    padding: 8px;
    margin-bottom: 0;
    border-radius: 10px 10px 0px 0px;
}


input[type=checkbox] {
  position: relative;
    border: 2px solid #B3B3B3 !important;
    border-radius: 2px !important;
    background: none;
    cursor: pointer;
    line-height: 0;
    margin: 0 .6em 0 0;
    outline: 0;
    padding: 0 !important;
    vertical-align: text-top;
    height: 24px;
    width: 24px;
    -webkit-appearance: none;
  opacity: .5;
  display: inline-block !important;
}

input[type=checkbox]:hover {
  opacity: 1;
}

input[type=checkbox]:checked {
  background-color: #EC1C24;
  opacity: 1;
  border: unset !important;
}

input[type=checkbox]:before {
  content: '';
  position: absolute;
  right: 50%;
  top: 50%;
  width: 4px;
  height: 10px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  margin: -1px -1px 0 -1px;
  transform: rotate(45deg) translate(-50%, -50%);
  z-index: 2;
}


.yith-wcan-filters .yith-wcan-filter .filter-items .filter-item.active > a, .yith-wcan-filters .yith-wcan-filter .filter-items .filter-item.active > label > a {
    color: #f05e22 !important;
}

.price-slider.both {
    border: 1px solid #ececec;
    border-top: unset;
    border-bottom-left-radius: 15px;
    border-bottom-right-radius: 15px;
    padding: 30px 36px !important;
}

input.price-slider-min, input.price-slider-max {
    display: none;
}

.sidebar-contact {
    border: 1px solid #ececec;
    border-bottom-left-radius: 15px;
    border-bottom-right-radius: 15px;
    padding: 8px 14px !important;
}