.decs {
  text-align: center;
}

/*----- Banner -----*/
.banner {
  position: relative;
}

.bnr-item {
  position: relative;
}

.bnr-content {
  position: absolute;
  bottom: calc(6vw + 36px);
  left: 0;
  width: 100%;
  z-index: 2;
}

.bnr-content .bnr-title {
  color: #fff;
  font-size: 40px;
  line-height: 1.2;
  font-weight: 700;
  text-shadow: 0 0 8px rgba(0, 0, 0, 1);
}


.bnr-title span {
  font-size: 50px;
  color: #fff;
}

.bnr-content .bnr-title-sub {
  color: #fff;
  font-size: 28px;
  margin-top: 6px;
  text-shadow: 0 0 8px rgba(0, 0, 0, 1);
}

.banner-detail-inner br {
  display: none;
}

@media (max-width: 1440px) {
  .bnr-content .bnr-title {
    font-size: 2.8vw;
  }

  .bnr-content .bnr-title-sub {
    font-size: 2.2vw;
  }
}

@media (max-width: 991px) {

  .bnr-content .bnr-title {
    font-size: 3vw;
  }

  .bnr-content .bnr-title-sub {
    font-size: 2vw;
  }

  .banner-detail-inner br {
    display: block !important;
  }
}

@media (max-width: 767px) {

  .bnr-content {
    bottom: calc(4vw + 24px);
  }

  .bnr-content .bnr-title {
    font-size: 6vw;
  }

  .bnr-content .bnr-title-sub {
    margin-top: 2px;
    font-size: 5vw;
  }

  .bnr-content .bnr-txt {
    padding-left: 0;
  }

  .slick-dots li button {
    height: 2px !important;
  }

  .slick-dots {
    bottom: calc(4vw + 8px) !important;
  }
}

.top-search {
  margin-left: -5px;
  margin-right: -5px;
}

.top-search>div {
  padding: 0 5px;
}

.search-title {
  padding-top: 0;
  margin-bottom: 0;
}

@media (min-width: 767px) {
  .top-search>div:nth-child(5) {
    width: 25%;
  }

  .top-search>div:nth-child(2) {
    width: 34px;
  }

  .top-search>div:nth-child(1),
  .top-search>div:nth-child(3),
  .top-search>div:nth-child(4) {
    width: calc(25% - 12px);
  }

  .reversal-btn {
    position: inherit;
    right: inherit;
    top: inherit;
  }

  .reversal-btn {
    width: 24px;
    height: 24px;
    margin-bottom: 12px;
  }

  .reversal-btn {
    transform: rotate(90deg);
  }

  .box-suggest {
    max-height: 350px;
    width: 50%;
  }
}

@media (max-width: 575px) {
  .box-suggest {
    max-height: 350px;
    width: 98% !important;
  }

  .bnr-content .bnr-title {
    font-size: 8vw;
  }
}

@media (min-width: 991px) {
  .top-search>div:nth-child(5) {
    width: 250px;
  }

  .top-search>div:nth-child(2) {
    width: 34px;
  }

  .top-search>div:nth-child(1),
  .top-search>div:nth-child(3),
  .top-search>div:nth-child(4) {
    width: calc(33.333% - 95px);
  }

  .box-suggest {
    max-height: 350px;
    width: 28%;
  }
}

.slick-dots {
  display: flex;
  width: 100%;
  position: absolute;
  bottom: calc(6vw + 12px);
  justify-content: center;
  gap: 4px;
  z-index: 3;
}

.slick-dots li button {
  font-size: 0;
  width: 42px;
  height: 4px;
  border: none;
  background: #F3F3F3;
  display: block;
}

.slick-dots li.slick-active button {
  background: #C25ECB;
}

@media (max-width: 575px) {
  .aboutus p {
    text-align: left;
  }
}

/*----- Introduction -----*/
.intro {
  background: #763078;
  padding: 20px 0;
}

.intro-item p {
  color: #fff;
  font-weight: bold;
}

@media (max-width: 991px) {
  .intro .row>div:first-child {
    margin-bottom: 20px;
  }
}

@media (min-width: 767px) {
  .intro-item {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
  }

  .intro-item img {
    margin: 0;
  }
}

@media (max-width: 767px) {
  .intro-item p {
    font-size: 12px;
    text-align: center;
    margin-top: 10px;
  }

  .intro-item img {
    margin: 0 auto;
    width: 32px;
    display: block;
  }

  .intro .row {
    margin-left: -7px;
    margin-right: -7px;
  }

  .intro .row>div {
    padding-left: 7px;
    padding-right: 7px;
  }
}

/*----- End Introduction /-----*/
/*----- route -----*/
.top-title {
  font-size: 28px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 30px;
}

.top-routes .routes-item .textpurple {
  font-size: 16px !important;
}

.routes-list {
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
  margin-left: -15px;
  margin-right: -15px;
  row-gap: 12px;
}

.routes-list li {
  padding-left: 15px;
  padding-right: 15px;
  width: 50%;
}

.routes-item {
  height: 100%;
  border: 1px solid #e6e6e6;
  background-color: #fff;
  border-radius: 12px;
  display: flex;
  justify-content: space-between;
  color: #333;
  align-items: flex-start;
  padding: 18px;
}

.routes-item:hover {
  background: #fcf6fd;
  border: 1px solid #C25DCA;
}

@media (max-width: 767px) {
  .routes-list li {
    width: 100%;
  }
}

/*----- End Route /-----*/
/*----- Info -----*/
.info .row {
  align-items: stretch;
}

.info-item {
  border: 1px solid #e6e6e6;
  border-radius: 12px;
  height: 100%;
}

.info-item-single {
  border: 1px solid #e6e6e6;
  border-radius: 12px;
  height: 100%;
}

.info-img {
  border-radius: 12px;
  overflow: hidden;
}

.info-img img {
  width: 100%;
  height: auto;
}

.info-content {
  padding: 20px 0;
}

.info-content h3 {
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 10px;
}

.from-text,
.to-text {
  font-size: 16px !important;
  line-height: 20px;
  font-weight: 400;
}

@media (max-width: 991px) {
  .info-item-single .info-content {
    padding: 20px;
  }
}

@media (max-width: 767px) {
  .info .row>div+div {
    margin-top: 25px;
  }
}

/*----- End Info /-----*/
/*----- intro /-----*/
.intro-02-wrap {
  width: 1080px;
  max-width: 100%;
  padding-left: 16px;
  padding-right: 16px;
  margin: 0 auto;
}

.intro-02 {
  padding: 35px 0;
  background: #fcf6fd;
}

.intro-02-list {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}

.intro-02-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.intro-02-title {
  font-size: 20px;
  font-weight: bold;
  color: #763078;
  line-height: 1.2;
}

.intro-02-item {
  width: 33.333%;
}

.intro-02-item p {
  font-size: 16px;
  color: #763078;
  text-align: center;
  font-weight: 600;
  line-height: 1.5;
}

.intro-02-item p small {
  font-size: 14px;
  display: inline-block;
  font-weight: 700;
  color: #763078;
}

.intro-02-item span {
  font-size: 48px;
  display: inline-block;
  line-height: 1.2;
  font-weight: bold;
}

.intro-02-list>div {
  width: 100%;
}

@media (min-width: 991px) {
  .intro-02-list>div:nth-child(1) {
    width: 38%;
  }

  .intro-02-list>div:nth-child(2) {
    width: 62%;
  }
}

@media (max-width: 991px) {
  .intro-02-list>div:first-child {
    margin-bottom: 20px;
  }
}

@media (max-width: 767px) {
  .intro-02-item span {
    font-size: 40px;
  }

  .intro-02-item p {
    font-size: 16px;
  }

  .intro-02-title .hidden-991 {
    display: block;
  }
}

/*----- End intro /-----*/

/*---------Latest Deal-----------*/
.latest-deal .btn-sub {
  width: 160px;
  padding: 14px;
  border-radius: 50px;
  font-size: 16px;
}

.latest-deal .latest-deal-wrap {
  border: 1px solid #e6e6e6;
  border-radius: 12px;
  overflow: hidden;
  display: flex;
  margin-top: 32px;
}

.latest-deal .latest-deal-wrap .latest-deal-img img {
  width: 100%;
}

.latest-deal .latest-deal-wrap .latest-deal-content {
  width: calc(100% - 400px);
  padding: 32px;
}

.latest-deal .latest-deal-wrap a {
  color: #763078;
}

.latest-deal .latest-deal-wrap a:hover {
  color: #763078;
}

.latest-deal .latest-deal-wrap .latest-deal-title {
  font-size: 28px;
  line-height: 1.5;
}

@media (max-width: 767px) {
  .latest-deal .latest-deal-wrap {
    display: inherit;
  }

  .latest-deal .latest-deal-wrap .latest-deal-content {
    width: 100%;
    padding: 20px 15px;
  }

  .latest-deal .latest-deal-wrap .btn-wrap {
    text-align: center;
  }
}

/*---------Latest Deal End-----------*/

/*----- Routes -----*/
.banner-detail {
  width: 100%;
  position: relative;
}

.banner-detail-inner {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  display: flex;
  align-items: flex-end;
  padding-bottom: calc(4.2vw + 24px);
}

.bnr-detail-title {
  margin-bottom: 6px;
}

.banner-detail-inner p {
  font-size: 22px;
}

@media (min-width: 992px) {
  .banner-detail-inner p {
    width: 75%;
  }
}

@media (max-width: 1300px) and (min-width: 992px) {
  .bnr-detail-title {
    font-size: 3vw;
  }

  .banner-detail-inner {
    padding-bottom: calc(4.2vw + 15px);
  }
}

@media (max-width: 991px) and (min-width: 768px) {
  .banner-detail {
    overflow: hidden;
  }

  .banner-detail>img {
    width: 200% !important;
    max-width: inherit;
    margin-left: -75%;
  }

  .banner-detail-inner p {
    width: 70%;
  }

  .banner-detail-inner {
    padding-top: 10vw;
    padding-bottom: 6vw;
  }

  .info-wrapper {
    width: 80%;
  }
}

.nav-tabs .nav-link {
  border: none;
  font-size: 20px;
  color: #763078;
  padding: 8px 12px;
}

.nav-tabs {
  border-bottom: none;
}

.nav {
  justify-content: space-evenly;
  position: relative;
  overflow-x: auto;
  overflow-y: hidden;
  white-space: nowrap;
  flex-wrap: nowrap;
}

.nav-tabs .nav-item {
  padding: 0 25px;
}

.nav-tabs .nav-link.active,
.nav-tabs .nav-link:focus,
.nav-tabs .nav-link:hover {
  border-bottom: 4px solid #C25ECB;
  color: #763078;
}

.tab-content {
  background: #f3f3f3;
}

.tab-title {
  font-size: 20px;
  font-weight: 500;
  margin-bottom: 30px;
}

.routes-detail {
  border: 1px solid #e6e6e6;
  background: #fff;
  border-radius: 12px;
  padding: 18px;
}

.routes-item {
  display: flex;
  justify-content: space-between;
  color: #333;
  align-items: center;
}

.routes-item .textpurple {
  font-size: 18px;
}

.stops-detail {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
}

.stops-list {
  width: calc(100% - 80px);
}

.stops-list li {
  color: #535353;
}

.routes-btn {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
}

.routes-btn>a {
  margin: 0;
}

.routes-btn .btn-text-purple {
  font-weight: normal;
}

.routes-content-list>div+div {
  margin-top: 12px;
}

.routes-btn .btn-sub {
  padding: 8px 16px;
}

@media (max-width: 767px) {
  .routes-box>.content-one-column {
    padding-left: 0;
    padding-right: 0;
  }

  .nav-tabs .nav-link {
    font-size: 14px;
    padding: 8px;
  }

  .routes-btn .btn-sub {
    padding: 8px 8px;
  }

  .nav-tabs .nav-item {
    padding: 0 7px;
  }

  .banner-detail-inner {
    padding-bottom: calc(4vw + 18px);
  }
}

.title-cm {
  text-align: center;
  margin-bottom: 40px;
}

@media (max-width: 767px) {
  .title-cm {
    margin-bottom: 20px;
  }
}

.attractions-list {
  align-items: stretch;
}

.attractions-item {
  border: 1px solid #e6e6e6;
  border-radius: 12px;
  overflow: hidden;
  height: 100%;
}

.attractions-box .title-cm {
  margin-bottom: 16px !important;
}

.attractions-list>div {
  margin: 16px 0;
}

.attractions-item img {
  width: 100%;
  border-radius: 12px;
}

.attractions-content {
  padding: 10px 15px 18px 15px;
}

.attractions-info {
  font-size: 18px;
}

.attractions-num span {
  font-size: 20px;
}

@media (max-width: 767px) {
  .attractions-list>div {
    margin: 8px 0;
  }
}

/*----- End Routes /-----*/

.attraction-route-overlay {
  position: fixed;
  inset: 0;
  z-index: 1055;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s cubic-bezier(0.22, 1, 0.36, 1);
}

.attraction-route-overlay.is-open {
  opacity: 1;
  pointer-events: auto;
}

.attraction-route-overlay .attraction-route-modal {
  transform: translate3d(0, -120px, 0);
  backface-visibility: hidden;
  transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

.attraction-route-overlay.is-open .attraction-route-modal {
  transform: translate3d(0, 0, 0);
}

.attraction-route-overlay-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.7);
}

.attraction-route-panel {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 600px;
  max-height: calc(100vh - 32px);
  overflow: auto;
}

.attraction-route-panel-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 1.5rem 1rem 0.5rem 1rem;
  gap: 12px;
}

.attraction-route-panel-title {
  font-size: 20px;
  font-weight: 600;
}

.attraction-route-panel-x {
  border: none;
  background: transparent;
  font-size: 1.5rem;
  line-height: 1;
  padding: 0 4px;
  cursor: pointer;
  color: #666;
}

.attraction-route-panel-body {
  padding: 1rem;
}

.attraction-route-panel-foot {
  display: flex;
  justify-content: center;
  padding: 0 0 2rem 0;
}

.attraction-route-modal {
  border-radius: .3rem;
  border: 1px solid rgba(0, 0, 0, .2);
  background: #fff;
}

.attraction-route-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  margin-bottom: 12px;
  border: 1px solid #C8C8C8;
  text-decoration: none;
  color: inherit;
  border-radius: 5px;
}

.attraction-route-row:hover {
  background: #fcf6fd;
  border: 1px solid #C25DCA;
}

.attraction-route-row:last-child {
  margin-bottom: 0;
}

.attraction-route-row:hover {
  text-decoration: none;
  color: inherit;
}

.attraction-route-row-text {
  flex: 1;
  font-size: 16px;
}

.attraction-route-row-price {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  gap: 4px;
  font-size: 18px;
}

.attraction-route-row-price img {
  margin-right: -3px;
  transform: rotate(-90deg);
  width: 14px;
  height: 14px;
}

.attraction-route-price-num,
.attraction-route-currency,
.attraction-route-currency-return,
.attraction-route-price-num-return {
  color: #763078;
  font-weight: 700;
  font-size: 18px;
}

.attraction-route-modal-close {
  color: #535353;
  background: #E6E6E6 !important;
  border: none !important;
  font-size: 16px;
  font-weight: 500;
  text-align: center;
  padding: 8px 28px;
  border-radius: 1000px;
  display: inline-block;
}

.attraction-route-modal-close:hover {
  background: #F3F3F3 !important;
}