*,

::after,

::before {

  box-sizing: border-box;

  -webkit-box-sizing: border-box;

  -o-box-sizing: border-box;

  -ms-box-sizing: border-box;

  -moz-box-sizing: border-box;

}



:root {

  --headingFont: ;

  --bodyFont: ;

  --primaryColor: ;

  --secondaryColor: ;

}



/* ===================== common css start ====================== */



*,

html,

body {

  margin: 0;

  padding: 0;

  scroll-behavior: smooth;

}



.clear {

  clear: both;

}



.clear:after {

  content: "";

  clear: both;

  position: relative;

  width: 100%;

  display: table;

}



body {

  background: #fff;

  font-style: normal;

  font-weight: 400;

  font-size: 14px;

  line-height: 1.5;

}



section {

  padding: 60px 0;

}



.container {

  max-width: 1170px;

  padding: 0px 15px;

  margin: 0 auto;

}



img {

  max-width: 100%;

}



ul {

  list-style: none;

  margin: 0;

  padding: 0;

}



a {

  display: inline-block;

  transition: all 0.5s ease-in-out;

}



a,

a:hover,

a:focus {

  text-decoration: none;

  outline: none;

}



h1,

h2,

h3,

h4,

h5,

h6 {

  margin: 0;

  font-weight: 400;

  font-style: normal;

}



input:focus,

select:focus,

textarea:focus {

  outline: none;

}



p {

  margin: 0;

}



/* ===================== common css start ====================== */



/* ================== mobile menu section start================= */

.mobileMenuSection {

  display: none;

}



.mobileMenuButton {

  display: none;

  text-decoration: none;

  width: 25px;

  position: absolute;

  top: 50px;

  right: 15px;

}



.mobileMenuButton span {

  width: 25px;

  height: 2px;

  border-radius: 4px;

  background: #000;

  display: block;

  opacity: 1;

  transition: all 0.5s ease-in-out;

  -webkit-transition: all 0.5s ease-in-out;

  -moz-transition: all 0.5s ease-in-out;

  -o-transition: all 0.5s ease-in-out;

  -ms-transition: all 0.5s ease-in-out;

}



.mobileMenuButton span:not(:last-child) {

  margin-bottom: 5px;

}



.mm-wrapper.mm-wrapper--opened .mobileMenuButton span:nth-child(2) {

  opacity: 0;

}



.mm-wrapper.mm-wrapper--opened .mobileMenuButton span:nth-child(1) {

  transform: rotate(45deg) translate(4px, 5px);

}



.mm-wrapper.mm-wrapper--opened .mobileMenuButton span:nth-child(3) {

  transform: rotate(-45deg) translate(4px, -6px);

}



.mm-navbar {

  z-index: 123;

  background: #565656;

}



.mm-navbar__title > span {

  color: #fff;

}



.mm-listitem:after {

  left: 0;

}



/* code for fixing the conflict of mmenu and bs modal */

.mm-page {

  position: initial;

}



.mm-btn--next:after,

.mm-btn--prev:before {

  border-color: #000000;

}



.mm-listitem.active {

  background: #878787;

}



/* ==================== mobile menu section end =================== */



/*========================== header start ==========================*/

.site-header {

  position: fixed;

  top: 0;

  left: 0;

  width: 100%;

  z-index: 10;

}



/*=========================== header end ===========================*/



/*========================== banner start ==========================*/

.banner figure img {

  width: 100%;

  height: 100%;

  object-fit: cover;

}



/*=========================== banner end ===========================*/



.taster_sec h2 {

  font-size: 35px;

  font-family: "Acme", sans-serif;

  font-weight: 600;

}



.help a {

  font-size: 16px;

  color: #000;

  font-weight: 500;

  border-radius: 30px;

  background: #f7951d;

  padding: 5px 15px;

  transition: 0.5s all ease-in-out;

}



.help a:hover {

  background: #7a3b7c;

  color: #fff;

}



.overview_card {

  padding: 24px;

  border-radius: 20px;

  background: #fff;

  box-shadow: 0 2px 15px -2px rgba(0 0 0 / 0.2);

  margin: 40px 0;

}



.overview_card h3 {

  font-size: 25px;

  color: #000;

  font-weight: 600;

  font-family: "Acme", sans-serif;

}



.over_inner {

  padding: 15px;

  border-radius: 15px;

  background: #fff;

  border: 1px solid #000;

  margin: 24px 0 0 0;

}



/* .left {

  border-right: 1px solid #afafaf;

} */



.left h4 {

  font-size: 25px;

  color: #000;

  font-weight: 600;

  padding-bottom: 5px;

  font-family: "Acme", sans-serif;

  text-align: center;

}



.left a {

  font-size: 15px;

  font-weight: 400;

  color: #000;

  background-color: #f7951d;

  padding: 5px 15px;

  border-radius: 30px;

  margin-top: 10px;

}

.left p {

  text-align: center;

  color: #000;

  font-size: 18px;

}



.users {

  padding-bottom: 10px;

}



.users span {

  font-size: 16px;

  color: #000;

  font-weight: 500;

}



.users span i {

  padding-right: 10px;

}



.nmbr-trvlr {

  padding: 24px;

  border-radius: 20px;

  background: #fff;

  box-shadow: 0 2px 15px -2px rgba(0 0 0 / 0.2);

  margin: 40px 0 0 0;

}



.nmbr-trvlr h4 {

  font-weight: 22px;

  font-weight: 600;

  color: #000;

}



.nmbr-trvlr h4 span {

  background-color: #f7951d;

  border-radius: 5px;

  padding: 1px 12px;

  margin-right: 10px;

}



.numbers {

  display: flex;

  justify-content: space-between;

  padding-top: 40px;

  align-items: center;

}



.numbers h6 {

  font-size: 16px;

  font-weight: 500;

  color: #000;

}



.quantity {

  display: flex;

  border-radius: 4px;

  overflow: hidden;

  box-shadow: 0 2px 15px -2px rgba(0 0 0 / 0.2);

  align-items: center;

  padding: 5px;

}



.quantity button {

  background-color: #000;

  color: #fff;

  border: none;

  cursor: pointer;

  font-size: 18px;

  width: 30px;

  height: 30px;

  text-align: center;

  transition: background-color 0.2s;

  border-radius: 50%;

}



.quantity button:hover {

  background-color: #7a3b7c;

}



.input-box {

  width: 40px;

  text-align: center;

  border: none;

  padding: 8px 10px;

  font-size: 16px;

  outline: none;

  color: #000;

  font-weight: 500;

}



/* Hide the number input spin buttons */

.input-box::-webkit-inner-spin-button,

.input-box::-webkit-outer-spin-button {

  -webkit-appearance: none;

  margin: 0;

}



.input-box[type="number"] {

  -moz-appearance: textfield;

}



.info {

  background-color: #7a3b7c;

  color: #fff;

  font-size: 20px;

  padding: 10px 15px;

  margin: 30px 0;

  border-radius: 15px;

}



.info i {

  padding-right: 10px;

}



.traveler_frm {

  /* border-top: 1px solid #afafaf; */

  padding-top: 15px;

}



.traveler_frm h5 {

  color: #000;

  font-weight: 500;

  font-size: 16px;

}



.traveler_frm label {

  font-size: 16px;

  color: #000;

  font-weight: 500;

}



.traveler_frm .form-check .form-check-input {

  float: left;

  margin-left: -1.5em;

  margin-top: 5px;

}



.traveler_frm input {

  font-size: 13px;

  font-weight: 500;

  color: #000;

  border: 1px solid #565656;

}



.traveler_frm input::placeholder {

  font-size: 13px;

  font-weight: 500;

  color: #000;

}



.traveler_frm input:focus {

  box-shadow: none;

  border-color: #7a3b7c;

}



.traveler_frm select {

  font-size: 13px;

  font-weight: 500;

  color: #000;

  border: 1px solid #565656;

}



.traveler_frm select::placeholder {

  font-size: 13px;

  font-weight: 500;

  color: #000;

}



.traveler_frm select:focus {

  box-shadow: none;

  border-color: #7a3b7c;

}



.traveler_frm .form-select {

  padding: 0.375rem 0.25rem 0.375rem 0.75rem;

}



.my_trip {

  padding: 24px;

  border-radius: 20px;

  background: #fff;

  box-shadow: 0 2px 15px -2px rgba(0 0 0 / 0.2);

  margin: 40px 0 0 0;

}



.my_trip h3 {

  font-size: 25px;

  color: #000;

  font-weight: 600;

  font-family: "Acme", sans-serif;

  padding-bottom: 10px;

}



.trip_details {

  padding: 8px 0;

}



.trip_details h6 {

  color: #000;

  font-weight: 500;

}



.brkdwn_card {

  padding: 24px;

  border-radius: 20px;

  background: #fff;

  box-shadow: 0 2px 15px -2px rgba(0 0 0 / 0.2);

  margin: 40px 0 0 0;

  position: sticky;

  top: 140px;

}



.brkdwn_card h3 {

  font-size: 25px;

  color: #000;

  font-weight: 600;

  font-family: "Acme", sans-serif;

  padding-bottom: 15px;

}



.brkdwn_card .info {

  margin: 0;

  font-size: 16px;

}



.pymnt_card {

  padding: 24px;

  border-radius: 20px;

  background: #fff;

  box-shadow: 0 2px 15px -2px rgba(0 0 0 / 0.2);

  margin: 40px 0 0 0;

}



.accordion-button:not(.collapsed) {

  color: #000;

  background-color: #fff;

  box-shadow: none;

  border-bottom: 1px solid #000;

}



/* .accordion-button h5 {

  color: #fff;

} */



.accordion-button {

  position: relative;

  display: flex;

  align-items: center;

  width: 100%;

  padding: var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);

  font-size: 1rem;

  color: #000;

  text-align: left;

  background-color: #fff;

  border: 0;

  border-radius: 0;

  overflow-anchor: none;

  transition: var(--bs-accordion-transition);

}



.accordion-item:first-of-type .accordion-button h5 {

  color: #000;

}

.cards_img {

  padding-right: 30px;

}

.cards_img img {

  height: 40px;

  width: auto;

}

.accordion-button.collapsed:focus {

  box-shadow: none;

}

.pymnt_frm {

  border-top: none;

  padding-top: 10px;

}

.pymnt_frm .book {

  background-color: #f7951d;

  color: #000;

  font-size: 16px;

  font-weight: 500;

  padding: 5px 15px;

  border-radius: 30px;

  transition: 0.5s all ease-in-out;

  margin-top: 10px;

}

.pymnt_frm .book:hover {

  background-color: #7a3b7c;

  color: #fff;

}

.paypal {

  height: auto !important;

}

.g-pay {

  height: 40px;

}

.book {

  background-color: #f7951d;

  color: #000;

  font-size: 16px;

  font-weight: 500;

  padding: 5px 15px;

  border-radius: 30px;

  transition: 0.5s all ease-in-out;

  margin-top: 10px;

}

.book:hover {

  background-color: #7a3b7c;

  color: #fff;

}

.promocd {

  padding: 24px;

  border-radius: 20px;

  background: #fff;

  box-shadow: 0 2px 15px -2px rgba(0 0 0 / 0.2);

  margin: 40px 0 0 0;

}

.promo {

  border-top: none;

}

.brkdwn_card table tr td {

  color: #fff;

}

.brkdwn_card .info {

  padding: 10px 5px;

}

.brkdwn_card table tr td:last-child {

  text-align: right;

}

.brkdwn_card .table {

  --bs-table-color-type: initial;

  --bs-table-bg-type: initial;

  --bs-table-color-state: initial;

  --bs-table-bg-state: initial;

  --bs-table-color: var(--bs-emphasis-color);

  --bs-table-bg: #ffffff00;

  --bs-table-border-color: var(--bs-border-color);

  --bs-table-accent-bg: transparent;

  --bs-table-striped-color: var(--bs-emphasis-color);

  --bs-table-striped-bg: rgba(var(--bs-emphasis-color-rgb), 0.05);

  --bs-table-active-color: var(--bs-emphasis-color);

  --bs-table-active-bg: rgba(var(--bs-emphasis-color-rgb), 0.1);

  --bs-table-hover-color: var(--bs-emphasis-color);

  --bs-table-hover-bg: rgba(var(--bs-emphasis-color-rgb), 0.075);

  width: 100%;

  margin-bottom: 1rem;

  vertical-align: top;

  border-color: var(--bs-table-border-color);

}

/* ==20.09.2025== */

.traveler_frm .quantity input {

  border: none;

  background: #fff;

}

.quantity a {

  display: inline-grid;

  background-color: #000;

  color: #fff;

  border: none;

  cursor: pointer;

  font-size: 18px;

  width: 30px;

  height: 30px;

  text-align: center;

  transition: background-color 0.2s;

  border-radius: 50%;

}

.details_card.nmbr-trvlr .col-12.d-flex.gap-3 {

  flex-flow: wrap;

  gap: 3px 1rem !important;

}

.details_card.nmbr-trvlr .col-12.d-flex.gap-3 span.error-msg {

  display: block;

  width: 100%;

}

.traveler_frm .col-md-6 input,

.traveler_frm .col-md-6 select.form-select {

  border: 1px solid #565656;

  border-radius: 0;

  min-height: 41px;

  background: var(--ast-comment-inputs-background);

}

.page-template-page-templatesbooking-php .taster_sec {

  padding-top: 160px;

}



.cnfrmtsn_right_end span.currency-price {

  width: 150px;

  display: inline-block;

}

/* ==20.09.2025== */

/* ========================== responsive ========================== */

@media (min-width: 1440px) {

}



@media (max-width: 1199px) {

  .brkdwn_card {

    padding: 24px;

    border-radius: 20px;

    background: #fff;

    box-shadow: 0 2px 15px -2px rgba(0 0 0 / 0.2);

    margin: 40px 0 0 0;

    position: inherit;

    /* top: 30px; */

  }

}



@media (max-width: 1023px) {

}



@media (max-width: 767px) {

  .accordion-item:first-of-type .accordion-button h5 {

    color: #000;

    font-size: 15px;

  }

  .help a {

    font-size: 13px;

    color: #000;

    font-weight: 500;

    border-radius: 30px;

    background: #f7951d;

    padding: 5px 15px;

    transition: 0.5s all ease-in-out;

  }

  .cards_img img {

    height: 25px;

    width: auto;

  }

  .accordion-button h5 {

    font-size: 15px;

  }

  .taster_sec h2 {

    font-size: 20px;

    font-family: "Acme", sans-serif;

    font-weight: 600;

  }

  .info {

    background-color: #7a3b7c;

    color: #fff;

    font-size: 17px;

    padding: 10px 15px;

    margin: 30px 0;

    border-radius: 15px;

  }

  .page-template-page-templatesbooking-php .taster_sec {

    padding-top: 100px;

  }

  .promocd.nmbr-trvlr .applyCoupon {

    padding: 9.5px 17px;

  }

}



@media (max-width: 479px) {

}

.payment-loader-overlay {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: rgba(0, 0, 0, 0.65);
      z-index: 999999;
      display: flex;
      align-items: center;
      justify-content: center;
  }

  .payment-loader-box {
      background: #fff;
      padding: 35px 40px;
      border-radius: 10px;
      text-align: center;
      max-width: 400px;
      width: 90%;
  }

  .payment-loader-box h4 {
      margin: 15px 0 8px;
      font-size: 20px;
  }

  .payment-loader-box p {
      margin: 0;
      color: #666;
      font-size: 14px;
  }

  .payment-spinner {
      width: 45px;
      height: 45px;
      margin: 0 auto;
      border: 4px solid #ddd;
      border-top: 4px solid #3399cc;
      border-radius: 50%;
      animation: paymentSpinner 0.8s linear infinite;
  }

  @keyframes paymentSpinner {
      100% {
          transform: rotate(360deg);
      }
  }