/* goa tour package btn start*/
.btn-tour-packages {
  padding: 10px 19px !important;
  background-color: #004375 !important;
  color: white !important;
}
.btn-tour-packages:hover {
  background-color: #035390 !important;
}
@media (max-width: 767.98px) {
  .btn-tour-packages {
    padding: 7px 14px;
  }
}

.ci-fi {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  color: #626262;
  margin-bottom: 1vh;
}

@media (max-width: 770px) {
  .ci-fi {
    gap: 6vw;
    justify-content: flex-start;
  }
}
/* goa tour package btn end */

/* packages start */
.main {
  max-width: 1200px;
  margin: 0 auto;
}

.cards {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 0;
}

.cards_item {
  display: flex;
  padding: 1rem;
  height: fit-content !important;
}

.card_image:hover .ci-img {
  height: 45vh !important;
}

.cards_item:hover button {
  background-color: #198e9f;
  border: none;
}

.cards_item:hover a {
  background-color: #198e9f;
  border: none;
}

.card_image {
  position: relative;
  max-height: 250px;
}

.card_image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.card_price {
  position: absolute;
  bottom: 8px;
  right: 8px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 80px;
  height: 45px;
  border-radius: 0.25rem;
  background-color: #fff;
  /* color: white; */
  font-weight: 700;
  color: #004375;
  font-size: 20px;
  font-weight: 700;
}

.card_price span {
  font-size: 12px;
  margin-top: -2px;
}

.note {
  position: absolute;
  top: 8px;
  left: 0;
  padding: 4px 8px;
  border-radius: 0.6rem;
  background-color: #fff;
  color: #000;
  font-size: 14px;
  font-weight: 700;
}

@media (min-width: 40rem) {
  .cards_item {
    width: 50%;
  }
}

@media (min-width: 56rem) {
  .cards_item {
    width: 33.3333%;
  }
}

.card {
  background-color: white;
  border-radius: 0.25rem;
  box-shadow: 0 20px 40px -14px rgba(0, 0, 0, 0.25);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 1rem;
}

.card_content {
  position: relative;
  padding: 16px 12px 32px 24px;
  margin: 16px 8px 8px 0;
  max-height: 290px;
}

.card_content::-webkit-scrollbar {
  width: 8px;
}

.card_content::-webkit-scrollbar-track {
  box-shadow: 0;
  border-radius: 0;
}

.card_content::-webkit-scrollbar-thumb {
  background: #c89b3f;
  border-radius: 15px;
}

.card_title {
  position: relative;
  margin: 0 0 24px;
  padding-bottom: 10px;
  text-align: center;
  font-size: 20px;
  font-weight: 700;
}

.hr-2 {
  margin: 24px auto;
  width: 50px;
  border-top: 2px solid #c89b3f;
}

.card_text p {
  margin: 0 0 24px;
  font-size: 14px;
  line-height: 1.5;
}

.card_text p:last-child {
  margin: 0;
}

.star {
  color: #ffda00;
  font-size: 15px;
}

.p1-price {
  font-size: 20px;
  font-weight: 700;
  background-color: #198e9f;
  color: white;
  height: fit-content;
  padding-left: 10px;
  padding-right: 10px;
  border-radius: 12px;
}

.fac {
  color: #198e9f;
}

.fap {
  padding: 4px;
}

@media (max-width: 767.98px) {
  .f-small {
    font-size: 13px !important;
  }
}
/* packages end */

/* ocean section start */
.wave-section {
  height: 90vh;
}

.elementor-shape .elementor-shape-fill {
  fill: #fff;
  transform-origin: center;
  transform: rotateY(0deg);
}
/* ocean section end */

/* flip card start */
.wrapper {
  max-width: 100% !important;
  margin: 0 auto;
  max-width: 80rem;
  flex-wrap: wrap;
}

.wrapper {
  width: 100%;
}

@media (max-width: 900px) {
  .wrapper {
    flex-direction: column;
    flex-wrap: wrap;
  }
}

.cols {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.col {
  width: calc(25% - 2rem);
  margin: 1rem;
}

.container {
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
  -webkit-perspective: 1000px;
  perspective: 1000px;
}

.front,
.back {
  background-size: cover;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.25);
  border-radius: 10px;
  background-position: center;
  -webkit-transition: -webkit-transform 0.7s cubic-bezier(0.4, 0.2, 0.2, 1);
  transition: -webkit-transform 0.7s cubic-bezier(0.4, 0.2, 0.2, 1);
  -o-transition: transform 0.7s cubic-bezier(0.4, 0.2, 0.2, 1);
  transition: transform 0.7s cubic-bezier(0.4, 0.2, 0.2, 1);
  transition: transform 0.7s cubic-bezier(0.4, 0.2, 0.2, 1),
    -webkit-transform 0.7s cubic-bezier(0.4, 0.2, 0.2, 1);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  text-align: center;
  min-height: 280px;
  height: auto;
  border-radius: 10px;
  color: #fff;
  font-size: 1.5rem;
}

.front:after {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  content: "";
  display: block;
  opacity: 0.6;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  border-radius: 10px;
}

.container:hover .front,
.container:hover .back {
  -webkit-transition: -webkit-transform 0.7s cubic-bezier(0.4, 0.2, 0.2, 1);
  transition: -webkit-transform 0.7s cubic-bezier(0.4, 0.2, 0.2, 1);
  -o-transition: transform 0.7s cubic-bezier(0.4, 0.2, 0.2, 1);
  transition: transform 0.7s cubic-bezier(0.4, 0.2, 0.2, 1);
  transition: transform 0.7s cubic-bezier(0.4, 0.2, 0.2, 1),
    -webkit-transform 0.7s cubic-bezier(0.4, 0.2, 0.2, 1);
}

.back {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}

.inner {
  -webkit-transform: translateY(-50%) translateZ(60px) scale(0.94);
  transform: translateY(-50%) translateZ(60px) scale(0.94);
  top: 50%;
  position: absolute;
  left: 0;
  width: 100%;
  padding: 2rem;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  outline: 1px solid transparent;
  -webkit-perspective: inherit;
  perspective: inherit;
  z-index: 2;
}

.container .back {
  -webkit-transform: rotateY(180deg);
  transform: rotateY(180deg);
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
}

.container .front {
  -webkit-transform: rotateY(0deg);
  transform: rotateY(0deg);
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
}

.container:hover .back {
  -webkit-transform: rotateY(0deg);
  transform: rotateY(0deg);
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
}

.container:hover .front {
  -webkit-transform: rotateY(-180deg);
  transform: rotateY(-180deg);
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
}

.front .inner p {
  font-size: 3rem;
  /* margin-bottom: 2rem; */
  margin: 0;
  position: relative;
}

.front .inner p:after {
  /* content: ""; */
  width: 4rem;
  height: 2px;
  position: absolute;
  background: #c6d4df;
  display: block;
  left: 0;
  right: 0;
  margin: 0 auto;
  bottom: -0.75rem;
}

.front .inner span {
  color: rgba(255, 255, 255, 0.7);
  font-family: "Montserrat";
  font-weight: 300;
}

@media screen and (max-width: 64rem) {
  .col {
    width: calc(33.333333% - 2rem);
  }
}
@media screen and (max-width: 48rem) {
  .col {
    width: calc(50% - 2rem);
  }
}
@media screen and (max-width: 32rem) {
  .col {
    width: 100%;
    margin: 0 0 2rem 0;
  }
}

.in1:hover button {
  color: rgb(1, 117, 78) !important;
}

.in2:hover button {
  color: rgb(123, 3, 123) !important;
}

.in3:hover button {
  color: rgb(205, 123, 1) !important;
}

.in4:hover button {
  color: rgb(5, 64, 135) !important;
}
/* flip card end */

/* tour package card start */
.container-tp {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-evenly;
}

/* Card container */
.card-tp {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 350px;
  padding: 20px;
  border-radius: 10px;
  margin: 10px;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
  background-color: #fff;
}

/* Package image */
.card-tp img {
  width: 100%;
  height: 270px;
  object-fit: cover;
  border-radius: 8px;
  margin-bottom: 20px;
}

/* Package details */
.card-tp .details {
  text-align: center;
  margin-bottom: 20px;
}

/* Package title */
.title {
  color: #000;
}

.card-tp .details .title {
  font-weight: bold;
  font-size: 24px;
  margin-bottom: 10px;
}

/* Price container */
.price-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 10px;
}

/* Previous price */
.previous-price {
  text-decoration: line-through;
  color: #999;
  font-size: 16px;
  margin-bottom: 5px;
}

/* Current price */
.price {
  font-size: 24px;
  font-weight: bold;
  color: #333;
}

/* Book now button */
.card-tp .book-now {
  padding: 10px 20px;
  background-color: #4f9bd4;
  color: white;
  font-weight: bold;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.card-tp .book-now:hover {
  background-color: #e53935;
}

/* 30% off sticker */
.card-tp .discount-sticker {
  position: absolute;
  background-color: #f44336;
  color: white;
  font-weight: bold;
  padding: 5px;
  border-radius: 5px;
}

/* Package features */
.card-tp .features {
  text-align: left;
  margin-bottom: 20px;
}

.card-tp .features .feature {
  display: flex;
  align-items: center;
  margin-bottom: 5px;
}

.card-tp .features .feature i {
  margin-right: 5px;
}

/* Package details */
.card-tp .package-details {
  text-align: left;
  margin-bottom: 20px;
}

.card-tp .package-details .detail-item {
  display: flex;
  align-items: baseline;
  margin-bottom: 5px;
}

.card-tp .package-details .detail-item i {
  margin-right: 5px;
}

.sd-price {
  background: #01539d;
  color: #faeaeb;
  font-size: 20px;
  font-weight: 700;
  height: fit-content;
  padding-left: 10px;
  padding-right: 10px;
  border-radius: 12px;
}

/* Responsive styles */
@media screen and (max-width: 700px) {
  .container-tp {
    width: 100vw;
    justify-content: center;
    flex-wrap: wrap;
  }
  .card-tp {
    width: 90vw !important;
    margin-left: auto;
    margin-right: auto;
  }

  .card-tp .details .title {
    font-size: 30px;
  }
}
/* tour package card end */

/* modal window start */
.modal {
  display: none;
  position: fixed;
  z-index: 999;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  overflow: auto;
  background-color: rgba(0, 0, 0, 0.9);
}

.modal-content {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: auto;
  max-width: 90vw;
  max-height: 100vh;
}

.close {
  color: #fff;
  position: absolute;
  top: 15px;
  right: 25px;
  font-size: 35px;
  font-weight: bold;
  cursor: pointer;
}

.close:hover,
.close:focus {
  color: #bbb;
  text-decoration: none;
  cursor: pointer;
}
/* modal window end */
