:root {
  /*===================================
      BRAND IDENTITY
  ===================================*/

  --brand-primary: #d4af37;
  --brand-primary-dark: #b8860b;
  --brand-primary-light: #f6e7a8;
  --yellow: #ffca20;

  --brand-secondary: #1a1a1a;
  --brand-secondary-dark: #0f0f0f;
  --brand-secondary-light: #2c2c2c;
  --white: #fff;
  --black: #000;

  /*===================================
      BORDER COLORS
  ===================================*/

  --border-color: #e8e8e8;
  --border-light: #f1f1f1;

  /*===================================
      BRAND GRADIENTS
  ===================================*/

  --gradient-primary: linear-gradient(
    135deg,
    #fff4c9 0%,
    #f6d365 20%,
    #e7b93d 45%,
    #d4af37 70%,
    #b8860b 100%
  );

  --gradient-primary-alt: linear-gradient(90deg, #d4af37, #ffd76a, #b8860b);

  --gradient-dark: linear-gradient(135deg, #2b2b2b, #111111, #000000);

  --gradient-overlay: linear-gradient(
    90deg,
    rgba(0, 0, 0, 0.9),
    rgba(0, 0, 0, 0.65),
    rgba(0, 0, 0, 0.2)
  );

  /*===================================
      OVERLAYS
  ===================================*/

  --overlay-dark: rgba(0, 0, 0, 0.7);
  --overlay-light: rgba(255, 255, 255, 0.85);

  /*===================================
      GLASS EFFECT
  ===================================*/

  --glass-bg: rgba(255, 255, 255, 0.1);
  --glass-border: rgba(255, 255, 255, 0.2);

  /*===================================
      TYPOGRAPHY
  ===================================*/

  --body-font: "Poppins", sans-serif;
  --heading-font: "DM Serif Display", serif;
  --cursive-font: "Manrope", sans-serif;
}

/*
    font-family: "DM Serif Display", serif;
    font-family: "Poppins", sans-serif;
    font-family: "Manrope", sans-serif;
 */

html,
body {
  overflow-x: hidden;
  scroll-behavior: smooth;
}

body {
  font-family: var(--body-font);
  -webkit-font-smoothing: antialiased;
  font-size: 15px;
  line-height: 27px;
}

a {
  text-decoration: none !important;
  display: inline-block;
}

p:last-of-type {
  margin-bottom: 0px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--heading-font);
}

img {
  width: 100%;
  height: 100%;
}

/*=== Common Css Start ===*/

/*--- Section Spacing Start ---*/

.sec-space-40 {
  padding: 40px 0;
}

.sec-space-50 {
  padding: 50px 0;
}

.sec-space-60 {
  padding: 60px 0;
}

.sec-space-70 {
  padding: 70px 0;
}

.sec-space {
  padding: 80px 0;
}

.sec-space-top {
  padding: 80px 0 0;
}

.sec-space-bottom {
  padding: 0 0 80px;
}

/*--- Section Spacing End ---*/

/*--- Section Heading Start ---*/

.section-heading {
  margin-bottom: 50px;
}

.section-heading h2 {
  position: relative;
  font-weight: 500;
  font-size: 48px;
  line-height: normal;
}

.section-heading h6 {
  font-size: 16px;
  font-weight: 700;
  font-family: var(--cursive-font);
  margin-bottom: 10px;
  width: fit-content;
  background: #000000;
  color: #ffcd10;
  padding: 10px 17px;
  border-radius: 30px;
  text-transform: uppercase;
}

.div-head h3 {
  position: relative;
  padding-bottom: 20px;
  margin-bottom: 25px;
  font-size: 30px;
  font-weight: 600;
}

.div-head h3::after {
  position: absolute;
  left: 0;
  bottom: 0;
  background: var(--silver);
  content: "";
  width: 150px;
  height: 3px;
}

.w-60 {
  width: 60%;
}

.bg-yellow {
  background: var(--yellow);
}

.text-yellow {
  color: var(--yellow);
}

/*--- Section Heading End ---*/

/*--- Button Start ---*/

.btn {
  font-size: 14px;
  border-radius: 0px;
  padding: 17px 30px;
  letter-spacing: 1px;
  position: relative;
  border: 0px;
  z-index: 1;
}

.btn:focus {
  outline: none;
  box-shadow: none;
}

.btn-yellow {
  background: var(--yellow);
  color: var(--black);
  transition: all 0.3s;
}

.btn-yellow:hover {
  background: #333;
  color: var(--white);
  transition: all 0.3s;
}

.btn-black {
  background: var(--black);
  color: var(--white);
  transition: all 0.3s;
}

.btn-black:hover {
  background: #333;
  color: var(--yellow);
  transition: all 0.3s;
}

.play-cover {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  background: rgba(0, 0, 0, 0.3);
  transition: all 0.5s;
}

.play-btn {
  position: relative;
  display: inline-block;
  width: 54px;
  height: 54px;
  border-radius: 50%;
  line-height: 56px;
  text-align: center;
  background: #000;
  color: var(--white);
  font-size: 19px;
  z-index: 1;
  transition: all 0.5s;
}

.play-btn-cover {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.play-btn i {
  margin-left: 3px;
}

.play-btn:hover {
  color: var(--white);
}

.play-btn:before {
  content: "";
  position: absolute;
  z-index: 0;
  left: 50%;
  top: 50%;
  transform: translateX(-50%) translateY(-50%);
  display: block;
  width: 60px;
  height: 60px;
  background: #000;
  border-radius: 50%;
  z-index: -1;
  -webkit-animation: pulse-border 1500ms ease-out infinite;
  animation: pulse-border 1500ms ease-out infinite;
}

@-webkit-keyframes pulse-border {
  0% {
    transform: translateX(-50%) translateY(-50%) translateZ(0) scale(1);

    opacity: 1;
  }

  100% {
    transform: translateX(-50%) translateY(-50%) translateZ(0) scale(1.5);

    opacity: 0;
  }
}

@keyframes pulse-border {
  0% {
    transform: translateX(-50%) translateY(-50%) translateZ(0) scale(1);

    opacity: 1;
  }

  100% {
    transform: translateX(-50%) translateY(-50%) translateZ(0) scale(1.5);

    opacity: 0;
  }
}

.btn-video {
  color: var(--white);
}

.filler {
  width: 70px;
}

.filler-2 {
  width: 90px;
}

/*--- Button End ---*/

@-webkit-keyframes animationFade {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@-o-keyframes animationFade {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    -o-transform: none;
    transform: none;
  }
}

@keyframes animationFade {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    -o-transform: none;
    transform: none;
  }
}

/*====== Common Css End ======*/

/*==========================================
            HEADER
==========================================*/

.top-header {
  background: var(--gradient-dark);
  color: var(--text-white);
  font-size: 14px;
  padding: 5px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.top-contact {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 30px;
}

.top-contact li {
  margin: 0;
  color: var(--white);
}

.top-contact li a {
  color: var(--white);
  text-decoration: none;
  transition: var(--transition);
}

.top-contact li a:hover {
  color: var(--brand-primary);
}

.top-contact i {
  color: var(--brand-primary);
  margin-right: 8px;
}

.top-social {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
}

.top-social span {
  color: #ccc;
}

.top-social a {
  width: 34px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: var(--white);
  transition: var(--transition);
}

.top-social a:hover {
  background: var(--gradient-primary);
  color: #111;
  border-color: transparent;
}

/*==========================================
            MAIN HEADER
==========================================*/

.header-main {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 999;
}

.navbar {
  padding: 0;
  background: #fff;
}

.navbar-brand {
  width: 100px;
  padding: 5px 0;
}

.navbar-brand img {
  width: 100%;
}

.navbar-nav .nav-item {
  position: relative;
  margin: 0 18px;
}

.navbar-nav .nav-link {
  color: var(--text-heading);
  font-size: 15px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 35px 0 !important;
  transition: var(--transition);
  position: relative;
}

.navbar-nav .nav-link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 22px;

  width: 0;
  height: 2px;

  background: var(--gradient-primary);

  transition: var(--transition);
}

.navbar-nav .nav-link:hover,
.navbar-nav .nav-link.active {
  color: #d5a300;
}

.navbar-nav .nav-link:hover::after,
.navbar-nav .nav-link.active::after {
  width: 100%;
}

/*==========================================
            DROPDOWN
==========================================*/

.dropdown-links {
  position: absolute;
  top: 100%;
  left: 0;

  width: 280px;

  padding: 15px;

  background: var(--white);

  border-radius: 12px;

  box-shadow: var(--shadow-lg);

  opacity: 0;
  visibility: hidden;

  transform: translateY(20px);

  transition: all 0.5s;
}

.nav-item:hover .dropdown-links {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition: all 0.5s;
}

.dropdown-links li {
  margin-bottom: 6px;
}

.dropdown-links li:last-child {
  margin-bottom: 0;
}

.dropdown-links li a {
  display: block;

  color: var(--text-heading);

  padding: 12px 15px;

  border-radius: 8px;

  transition: var(--transition);
}

.dropdown-links li a:hover {
  background: var(--gradient-primary);

  color: #111;

  padding-left: 22px;
}

/*==========================================
            BUTTON
==========================================*/

.btn-header {
  display: inline-flex;

  align-items: center;

  gap: 8px;

  padding: 13px 28px;

  color: #111;

  font-weight: 600;

  border-radius: 50px;

  background: var(--gradient-primary);

  transition: all 0.4s;
}

.btn-header:hover {
  transform: translateY(-3px);

  color: #111;

  filter: brightness(1.05);
}

/*==========================================
            MENU BUTTON
==========================================*/

.canvas-btn {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  padding: 0px;
  background: #000;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all 0.5s;
  font-size: 18px;
}

.canvas-btn:hover {
  background: var(--gradient-primary);
  border-color: transparent;
  color: #111;
  transform: rotate(90deg);
  transition: all 0.5s;
}

/*==========================================
            STICKY HEADER
==========================================*/

.header-show {
  background: var(--white);
  position: fixed !important;
  top: -1px;
  z-index: 999;
  width: 100%;
  transform: translateY(0px);
  -webkit-animation-name: animationFade;
  -o-animation-name: animationFade;
  animation-name: animationFade;
  -webkit-animation-duration: 1s;
  -o-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  -o-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-box-shadow: 0 10px 10px -10px rgba(0, 0, 0, 0.35);
  box-shadow: 0 10px 10px -10px rgba(0, 0, 0, 0.35);
}

.header-show .navbar {
  background: transparent;

  border: none;

  border-radius: 0;

  backdrop-filter: none;
}

.header-show .navbar-brand {
  width: 90px;
}

.header-show .navbar-nav .nav-link {
  padding: 26px 0 !important;
}

/* End  */

/*==================================
        HERO BANNER
==================================*/

.carousel-item {
  position: relative;
  height: 800px;
  overflow: hidden;
  background: #000;
}

.carousel-item img,
.banner-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.banner-video {
  position: absolute;
  inset: 0;
}

.banner-overlay {
  position: absolute;
  inset: 0;

  background: linear-gradient(
    90deg,
    rgba(0, 0, 0, 0.88) 10%,
    rgba(0, 0, 0, 0.55) 55%,
    rgba(0, 0, 0, 0.2) 100%
  );

  z-index: 1;
}

.banner-content-wrapper {
  position: absolute;

  inset: 0;

  display: flex;

  align-items: center;

  z-index: 2;
  width: 100%;
  height: fit-content;
  top: 50%;
  transform: translateY(-50%);
}

.banner-tag {
  display: inline-block;

  padding: 10px 22px;

  margin-bottom: 25px;

  color: var(--brand-primary);

  border: 1px solid rgba(212, 175, 55, 0.35);

  border-radius: 50px;

  background: rgba(212, 175, 55, 0.08);

  letter-spacing: 2px;

  font-size: 14px;
}

.banner-content-wrapper h1,
.banner-content-wrapper h2 {
  font-size: 72px;

  color: #fff;

  font-weight: 500;

  line-height: 1.15;

  margin-bottom: 25px;

  font-family: var(--heading-font);
}

.banner-content-wrapper p {
  color: #ddd;

  font-size: 19px;

  line-height: 1.9;

  max-width: 650px;

  margin-bottom: 40px;
}

.banner-btns {
  display: flex;

  gap: 20px;

  flex-wrap: wrap;
}

.btn-outline-banner {
  padding: 14px 35px;

  color: #fff;

  border: 1px solid rgba(255, 255, 255, 0.35);

  border-radius: 50px;

  transition: 0.4s;
}

.btn-outline-banner:hover {
  background: #fff;

  color: #111;
}

.carousel-control-prev,
.carousel-control-next {
  width: 58px;
  height: 58px;

  top: 50%;

  transform: translateY(-50%);

  border-radius: 50%;

  background: rgba(255, 255, 255, 0.08);

  backdrop-filter: blur(12px);

  border: 1px solid rgba(255, 255, 255, 0.15);

  opacity: 1;

  transition: 0.4s;
}

.carousel-control-prev {
  left: 40px;
}

.carousel-control-next {
  right: 40px;
}

.carousel-control-prev:hover,
.carousel-control-next:hover {
  background: var(--gradient-primary);

  color: #111;
}

.carousel-control-prev i,
.carousel-control-next i {
  font-size: 18px;
}

/*------ Banner Form Start  ------*/

.banner-form {
  position: absolute;
  bottom: 120px;
  width: max-content;
  height: max-content;
  z-index: 99;
  background: var(--white);
  left: 50%;
  transform: translateX(-50%);
}

.about-home-image::before {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  content: "";
  background: url(../images/about-us/about_shape_1.webp) no-repeat center;
  background-size: contain;
  z-index: -1;
}

.form-container > h5 {
  width: fit-content;
  background: #198754;
  padding: 10px 15px;
  color: var(--white);
  position: absolute;
  top: -38px;
  left: 0;
  font-size: 15px;
  border-bottom: 1px solid #ffffff1a;
  font-family: var(--body-font);
  font-weight: 400;
}

.form-container {
  padding: 30px 35px;
}

.form-banner .single-input {
  margin-bottom: 0px;
  background: var(--white);
  padding: 2px 15px;
  position: relative;
  padding-left: 40px;
  border: 1px solid #dedede;
  border-left: 0px;
}

.form-banner .single-input:nth-child(1) {
  border-left: 1px solid #dedede;
}

.input-icon {
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
}

.form-banner .single-input .form-control {
  margin-bottom: 0px;
  border: 0px;
  padding: 0px;
  border-radius: 0px;
  box-shadow: none !important;
  outline: none !important;
  height: auto;
  line-height: 22px;
}

.form-banner .single-input .form-control:focus {
  box-shadow: none !important;
  outline: none !important;
  border: 0px !important;
}

.form-banner .single-input .form-control::placeholder {
  font-size: 15px;
  color: var(--black);
}

.form-banner .single-input p {
  font-size: 13px;
}

/*------ Banner Form End  ------*/

/*------ About Home Start ------*/

.about-home-image {
  border-radius: 10px;
  padding-right: 120px;
  padding-bottom: 80px;
}

.about-home-image img {
  object-fit: cover;
}

.img-main {
  border-radius: 50%;
}

.center-image {
  position: absolute;
  right: 0;
  bottom: 0;
  width: calc(55%);
  height: calc(70%);
  border: 8px solid var(--white);
}

.center-image img {
  object-fit: cover;
}

.home-about-feature .icon {
  background: #f7f7f7;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 50px;
  height: 50px;
  padding: 5px;
  border-radius: 5px;
}

.home-about-feature .content h5 {
  font-size: 26px;
  font-weight: 500;
}

/*------ About Home End ------*/

/*------ Features Start  ------*/

.features-home::before {
  position: absolute;
  bottom: 45%;
  right: 0;
  background-size: contain;
  height: 500px;
  width: 400px;
  content: "";
  opacity: 0.1;
}

.feature-box {
  padding: 30px 25px;
  background: #fcfcfc;
  height: 100%;
}

.feature-content h4 {
  font-size: 21px;
}

.feature-icon {
  width: 80px;
  height: 80px;
  background: #5d4b16;
  border-radius: 50%;
  padding: 15px;
  position: relative;
  margin-bottom: 22px;
}

.feature-icon::before {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -23px;
  width: 8px;
  height: 8px;
  border-radius: 10px;
  background: var(--color-pink);
  content: "";
}

.feature-row > [class^="col-"]:last-child .feature-box {
  border-right: none;
}

.feature-content a {
  color: #ff00cc;
  font-weight: 500;
  font-size: 15px;
}

/*------ Features End  ------*/

/*------ Event Start  ------*/

.events-home {
  background: #fcfcfc;
}

.event-box {
  position: relative;
  z-index: 1;
  transition: all 0.5s;
}

.event-image {
  height: 400px;
}

.event-image img {
  object-fit: cover;
}

.event-image a {
  height: 100%;
  width: 100%;
}

.alter-title {
  position: absolute;
  bottom: 0px;
  text-align: center;
  width: 100%;
  background: linear-gradient(
    1deg,
    rgba(0, 0, 0, 1) 0%,
    rgba(255, 255, 255, 0) 100%
  );
  padding: 25px 35px;
  transition: all 0.4s;
}

.alter-title h5 {
  color: var(--white);
  font-size: 24px;
}

.event-box:hover .alter-title {
  opacity: 0;
  transition: all 0.4s;
}

.event-box::before {
  position: absolute;
  left: 0;
  bottom: 0;
  height: 0;
  width: 100%;
  content: "";
  background: rgba(0, 0, 0, 0.6);
  transition: all 0.5s;
}

.event-box:hover::before {
  height: 100%;
  transition: all 0.5s;
}

.loc-icon {
  width: 24px;
}

.event-content {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: max-content;
  padding: 10px 15px;
  transition: all 0.4s;
}

.event-box:hover .event-content {
  transform: translateY(0px);
  transition: all 0.4s;
}

.event-thumb-title a {
  display: block;
  color: #ffeeae;
  margin: 15px 0;
}

.event-thumb-title a {
  font-size: 30px;
  text-shadow:
    0px 4px 3px rgba(0, 0, 0, 0.4),
    0px 8px 13px rgba(0, 0, 0, 0.1),
    0px 18px 23px rgba(0, 0, 0, 0.1);
}

.event-thumb-para {
  color: var(--white);
  opacity: 0;
  margin-bottom: -75px !important;
  transition: all 0.4s;
}

.event-box:hover .event-thumb-para {
  margin-bottom: 10px !important;
  opacity: 1;
  transition: all 0.4s;
}

.style-heading {
  font-family: var(--cursive-font);
  font-weight: 500;
  font-size: 24px;
  color: var(--yellow);
  opacity: 0;
}

.read-btn {
  color: var(--yellow);
  padding: 8px 0;
  border-radius: 6px;
}

.event-slider .owl-nav {
  opacity: 1;
  transition: all 0.8s;
}

.event-slider .owl-nav .owl-prev,
.event-slider .owl-nav .owl-next {
  background: #222 !important;
  color: var(--white) !important;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 48px;
  height: 48px;
  transition: all 0.5s;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  margin: 0px;
  border-radius: 50%;
}

.event-slider .owl-nav .owl-prev:hover,
.event-slider .owl-nav .owl-next:hover {
  background: var(--color-pink) !important;
  color: var(--white) !important;
  transition: all 0.5s;
}

.event-slider .owl-nav .owl-next {
  right: -70px;
}

.event-slider .owl-nav .owl-prev {
  left: -70px;
}

.owl-theme .owl-nav.disabled + .owl-dots {
  margin-top: 40px;
}

/*------ Event End ------*/

/*------ Why Choose Us Start ------*/

.why-point {
  margin-bottom: 10px;
}

.why-icon {
  flex: 0 0 80px;
  height: 80px;
  background: #464b57;
  border-radius: 50%;
  border: 3px solid #696969;
  padding: 15px;
}

.why-content {
  flex: 0 0 calc(100% - 100px);
  color: #afafaf;
}

.why-content h5 {
  font-weight: 500;
  font-size: 28px;
  font-family: var(--heading-font);
  color: var(--yellow);
}

.bg-panda {
  padding: 70px;
}

.bg-panda::after {
  position: absolute;
  top: 0;
  right: 0;
  width: 400px;
  height: 300px;
  background: url(../images/panda.png) no-repeat right;
  background-size: contain;
  content: "";
  opacity: 0.15;
}

.why-choose-image img {
  object-fit: cover;
}

/*------ Why Choose Us End ------*/

/*------ Tour Two Start ------*/

.tour-home {
  background: #f9f9f9;
}

.tour-image {
  height: 220px;
}

.tour-image img {
  object-fit: cover;
}

.tour-box {
  border-radius: 10px;
  overflow: hidden;
}

.tour-content {
  background: var(--white);
  padding: 20px 25px;
}

.tour-location span,
.time-duration span,
.people-no span {
  color: #089700;
}

.tour-thumb-title a {
  font-family: var(--heading-font);
  font-weight: 600;
  color: var(--black);
}

.tour-btn {
  border-top: 1px dashed #a0a0a0;
  width: 100%;
  padding-top: 15px;
  margin-top: 10px;
  color: #687179;
  font-weight: 600;
  text-transform: uppercase;
  font-size: 14px;
}

.tour-btn span {
  color: #00711e;
  margin-left: 5px;
}

/*------ Tour Two Start  ------*/

/*------ Category Start   ------*/

.category-grid {
  display: grid;

  grid-template-columns: 1fr 1.1fr 1fr;

  grid-gap: 15px;
}

.category-grid .cg-box {
  overflow: hidden;

  display: block;

  position: relative;
}

.category-grid .cg-box img {
  object-fit: cover;
  transition: all 0.4s;
  -webkit-transition: all 0.4s;
}

.category-grid .cg-box:hover img {
  transform: scale(1.1);
  transition: all 0.4s;
  -webkit-transition: all 0.4s;
}

.category-grid .cg-box:nth-child(1) {
  grid-column: span 2;
  height: 400px;
}

.category-grid .cg-box:nth-child(2) {
  grid-row: span 2;
  height: 100%;
}

.category-grid .cg-box:nth-child(3),
.category-grid .cg-box:nth-child(4) {
  height: 300px;
}

.style-text {
  font-family: var(--cursive-font);
  font-weight: 700;
  color: var(--yellow);
  font-size: 20px;
  text-shadow:
    0px 4px 3px rgba(0, 0, 0, 0.4),
    0px 8px 13px rgba(0, 0, 0, 0.1),
    0px 18px 23px rgba(0, 0, 0, 0.1);
}

.cover-cat {
  position: absolute;
  bottom: 0;
  left: 40px;
  width: 100%;
  height: fit-content;
  padding: 20px 0 20px;
  transition: all 0.5s;
  -webkit-transition: all 0.5s;
}

.category-grid .cg-box:after {
  position: absolute;
  width: 100%;
  height: 100%;
  background: rgb(56 0 0 / 20%);
  content: "";
  top: 0;
  left: 0;
  z-index: -1;
}

.cover-cat h5 {
  font-size: 36px;
  color: var(--white);
  text-shadow:
    0px 4px 3px rgba(0, 0, 0, 0.4),
    0px 8px 13px rgba(0, 0, 0, 0.1),
    0px 18px 23px rgba(0, 0, 0, 0.1);
}

/*------ Category End ------*/

/*==========================================
            WORK PROCESS
==========================================*/

.work-process {
  background: #f8fafc;
}

.process-box {
  position: relative;

  background: #fff;

  padding: 50px 30px;

  border-radius: 16px;

  box-shadow: var(--shadow-sm);

  transition: var(--transition);

  height: 100%;

  overflow: hidden;
  transition: all 0.5s;
}

.process-box:hover {
  transform: translateY(-10px);

  box-shadow: var(--gold-shadow);
  transition: all 0.5s;
}

.process-number {
  position: absolute;

  top: 20px;

  right: 20px;

  font-size: 52px;

  font-weight: 700;

  color: rgba(212, 175, 55, 0.12);

  line-height: 1;
}

.process-icon {
  width: 80px;

  height: 80px;

  margin: 0 auto 25px;

  border-radius: 50%;

  background: var(--gold-gradient);

  display: flex;

  justify-content: center;

  align-items: center;

  color: #111;

  font-size: 48px;
}

.process-box h4 {
  margin-bottom: 15px;

  font-size: 24px;
}

.process-box p {
  margin-bottom: 0;

  color: var(--gray);

  line-height: 1.8;
}

/*------ Testimonials Start ------*/

.video-home {
  position: relative;
  margin-bottom: -280px;
  z-index: 9;
}

.testimonial-video {
  border-radius: 30px;
  overflow: hidden;
}

.testimonial-video img {
  object-fit: cover;
}

.testimonial-home {
  position: relative;
  margin: 80px 0px 0px;
  padding-top: 80px;
  z-index: 1;
}

.testimonial-content::after {
  position: absolute;
  right: 30px;
  bottom: 30px;
  width: 60px;
  height: 60px;
  content: "";
  background: url(../images/other-icons/quote.svg) no-repeat;
  background-size: contain;
  opacity: 0.2;
}

.testimonial-content {
  padding: 25px 35px;
  border: 1px solid #ededed;
  margin-bottom: 15px;
  background: #fff;
  position: relative;
}

.reviewer-image {
  flex: 0 0 70px;
  height: 70px;
  border-radius: 50%;
  overflow: hidden;
  margin-right: 15px;
}

.reviewer-image img {
  object-fit: cover;
}

.client-review p {
  margin: 15px 0;
  height: 120px;
  overflow-y: auto;
  font-weight: 300;
  letter-spacing: 0.5px;
}

.rating ul li {
  color: var(--yellow);
  margin-right: 8px;
}

.testimonial-content p::-webkit-scrollbar {
  width: 3px;
}

.testimonial-content p::-webkit-scrollbar-track {
  background: #f1f1f1;
}

.testimonial-content p::-webkit-scrollbar-thumb {
  border-radius: 10px;
  background: var(--black);
}

.testimonial-content p::-webkit-scrollbar-thumb:hover {
  background: var(--green);
}

.testimonial-content h6 {
  font-weight: 600;
  font-size: 18px;
}

.testimonial-rating li {
  color: goldenrod;
}

.reviewer-name {
  font-size: 20px;

  font-family: var(--alter-font);

  color: var(--white);

  margin-bottom: 0px;

  font-weight: 600;
}

.reviewer-designation {
  color: #fff5ce;
  font-size: 15px;
  font-weight: 600;
  text-transform: uppercase;
}

.testimonial-content::after {
  position: absolute;
  right: 30px;
  bottom: 20px;
  width: 40px;
  height: 40px;
  content: "";
  background: url(../images/other-icons/quote.svg) no-repeat;
  background-size: contain;
  opacity: 0.2;
}

/*------ Testimonials End ------*/

.contact-form-box {
  background: #fff;
  padding: 40px;
  border-radius: 16px;
  box-shadow: var(--shadow-lg);
}

.contact-form-box .form-control,
.contact-form-box .form-select {
  height: 55px;
  border-radius: 8px;
  border: 1px solid #ddd;
}

.contact-form-box textarea.form-control {
  height: auto;
  resize: none;
}

.contact-icon {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: var(--gradient-primary);
  color: #111;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 22px;
  margin-right: 20px;
  flex-shrink: 0;
}

.contact-info h5 {
  color: #000000;
  margin-bottom: 5px;
}

.contact-info p,
.contact-info a {
  color: #353535;
  text-decoration: none;
}

.contact-info a:hover {
  color: var(--brand-primary);
}

/*------ Tour Type  Start  ------*/

.tour-type {
  padding: 140px 0;
  position: relative;
  background: url(../images/backgrounds/bg-tour.webp) no-repeat center;
  background-size: cover;
  background-attachment: fixed;
  z-index: 1;
}

.tour-type::before {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  content: "";
  z-index: -1;
}

.tt-icon {
  width: 64px;
  height: 64px;
}

.tt-icon img {
  object-fit: contain;
  filter: brightness(0) invert(1);
  transition: all 0.5s;
}

.tt-box:hover .tt-icon img {
  filter: none;
  transition: all 0.5s;
}

.tt-title {
  margin-top: 25px;
  font-family: var(--heading-font);
}

.tt-title a {
  font-size: 24px;
  color: var(--white);
}

/* ------ Tour Type  End ------*/

/*------ Offer Blog Start  ------*/

.offer-blog {
  display: flex;
  flex-direction: column;
  margin-bottom: 0px;
  justify-content: center;
  height: 100%;
}

.bg-offer {
  padding: 70px;
  background: #f7f7f7;
  z-index: 1;
}

.bg-offer::before {
  position: absolute;
  bottom: -90px;
  right: -20px;
  width: 550px;
  height: 510px;
  content: "";
  background: url(../images/line-art/elephant.webp) no-repeat center;
  background-size: 100%;
  z-index: -1;
  opacity: 0.1;
}

.offer-blog .btn {
  width: fit-content;
}

.offer-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 200px;
  font-weight: 800;
  color: var(--white);
  font-family: var(--heading-font);
}

.offer-content span {
  font-weight: 400;
  display: block;
  font-size: 78px;
  color: var(--yellow);
  font-family: var(--cursive-font);
  transform: translate(80px, 80px) rotate(352deg);
}

.offer-image {
  z-index: 1;
  height: 570px;
}

.offer-image::before {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  content: "";
  background: rgba(0, 0, 0, 0.15);
}

/*------ Offer Blog End  ------*/

/*------ Newsletter Start  ------*/

.newsletter {
  background: url(../images/backgrounds/newsletter-bg.jpeg) no-repeat center;
  background-size: cover;
  padding: 20px 30px;
  margin: 0 13% -50px;
  z-index: 2;
}

.input-box-news {
  flex: 0 0 60%;
}

.newsletter-heading {
  flex: 0 0 auto;
}

.newsletter-heading h2 {
  font-size: 38px;
}

.input-box-news .single-input input.form-control {
  border: 0px !important;
  height: 55px;
  line-height: 55px;
  margin-bottom: 0px;
  border-radius: 0px;
  transition: all 0.4s;
  -webkit-transition: all 0.4s;
  box-shadow: none !important;
  outline: none !important;
}

.input-box-news .single-input {
  width: 100%;
}

/*------ Newsletter End  ------*/

/* --------- Blog Start ------- */

.owl-carousel .owl-nav button.owl-prev,
.owl-carousel .owl-nav button.owl-next {
  background: var(--title);
  height: 40px;
  width: 40px;
  border-radius: 0px;
}

.blog-box {
  box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 2px;
  overflow: hidden;
  background: #fff;
}

.blog-image {
  height: 300px;
  position: relative;
}

.blog-image a {
  display: inline-block;
  width: 100%;
  height: 100%;
}

.blog-image img {
  object-fit: cover;
  transition: all 0.5s;
  -webkit-transition: all 0.5s;
}

.blog-content {
  padding: 25px;
}

.blog-date,
.blog-author {
  color: #7d7d7d;
}

.blog-thumb-title {
  color: var(--black);
  font-family: var(--heading-font);
  font-size: 24px;
  line-height: 34px;
  display: block;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.btn-blog {
  font-size: 16px;
  font-weight: 500;
  color: #e7c335;
  position: relative;
  padding-bottom: 5px;
  transition: all 0.5s;
  -webkit-transition: all 0.5s;
}

.btn-all {
  display: inline-block;
  cursor: pointer;
  outline: none;
  vertical-align: middle;
  background: var(--yellow);
  padding: 12px 30px;
  color: var(--white);
  font-size: 15px;
  font-weight: 500;
  position: relative;
  z-index: 9;
  border-radius: 6px;
  background-size: 100% auto;
  transition: background-position 0.5s ease;
  height: max-content;
}

/*----  Blog End  ---*/

/* ====== Footer Start ====== */
.footer-main {
  z-index: 9;
  padding-bottom: 40px;
  position: relative;
  background: url(../images/backgrounds/footer-bg.webp) no-repeat center;
  background-size: cover;
}

.footer-main::before {
  position: absolute;
  background: linear-gradient(
    180deg,
    rgba(0, 0, 0, 1) 0%,
    rgba(0, 0, 0, 1) 100%
  );

  left: 0;
  bottom: 0;
  width: 100%;
  height: calc(100%);
  content: "";
  z-index: -1;
}

.footer-logo {
  width: 200px;
  margin: 0 auto 25px;
}

.footer-links ul li {
  margin-right: 50px;
}

.footer-links ul li:last-child {
  margin-right: 0px;
}

.footer-links ul li a {
  color: var(--white);
  font-weight: 300;
  font-size: 20px;
  font-family: var(--heading-font);
}

.footer-box {
  height: 100%;
  padding: 15px;
}

.footer-address-icon {
  flex: 0 0 70px;
  height: 70px;
  margin-right: 20px;
  border-radius: 50%;
  background: #2b2b2b;
  color: var(--yellow);
  font-size: 24px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.footer-address-text h5 {
  font-size: 22px;
  color: var(--yellow);
}

.footer-address-text a {
  font-size: 16px;
  font-weight: 400;
  color: var(--white);
}

.copyright {
  padding: 10px 0;
  max-width: 60%;
  margin: 0 auto;
  border-radius: 25px;
  margin-top: 40px;
}

.company-right,
.developer-right {
  font-size: 14px;
  font-weight: 600;
  color: var(--white);
}

.developer-right a {
  color: #ffffff;
}

.developer-right a:hover {
  color: var(--theme-orange);
}

/* ====== Footer End ====== */

/*-- CMS BANNER Start  --*/

.cms-banner img {
  object-fit: cover;
}

.cms-bann-img {
  height: auto;
}

.cms-bann-img::before {
  background: linear-gradient(180deg, rgb(0 2 49) 5%, rgb(0 102 255) 100%);
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  z-index: 1;
  opacity: 0.3;
}

/*--- CMS Banner End  ---*/

/*--- Breadcrumb Start  ---*/

.breadcrumb-cover {
  text-align: center;
  background: #f9f9f9;
}

.breadcrumb-cover h1 {
  font-family: var(--heading);
  font-weight: 700;
  font-size: 48px;
  color: var(--white);
}

.breadcrumb {
  justify-content: center;
  margin-bottom: 0px;
}

.breadcrumb-item.active {
  color: #696969;
}

.breadcrumb-item + .breadcrumb-item::before {
  display: none;
}

.breadcrumb .breadcrumb-divider {
  color: var(--gradient-color-2);
  margin-right: 8px;
  margin-left: 8px;
  font-size: 14px;
  line-height: 30px;
}

.breadcrumb li {
  font-size: 16px;
  font-weight: 500;
  color: #777;
}

.breadcrumb li:first-child {
  padding-left: 0px;
}

.breadcrumb li:last-child {
  padding-right: 0px;
}

.breadcrumb a {
  color: var(--gradient-color-2);
}

/*--- Breadcrumb End ---*/

/*====== About CMS Start  ======*/
.about-home {
  z-index: 1;
}

.about-home::after {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 100%;
  content: "";
  background: url(../images/line-art/map.png) no-repeat center;
  background-size: contain;
  opacity: 0.04;
  z-index: -1;
}

.about-cms-image {
  padding-right: 100px;
  padding-bottom: 80px;
}

.about-home-image > img {
  height: 550px;
}

.secondary-image {
  position: absolute;
  right: 0;
  bottom: 0;
  width: auto;
  height: auto;
  object-fit: cover;
}

.g-title {
  position: absolute;
  right: 30px;
  top: 0px;
  writing-mode: vertical-rl;
  font-size: 64px;
  color: transparent;
  -webkit-text-stroke: 1px #e3e3e3;
  font-weight: bold;
  letter-spacing: 15px;
}

/*====== About CMS End  ======*/

/* Mission Vision Start  */
.mission-vision {
  z-index: 1;
}

.mission-vision::after {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 40%;
  height: 450px;
  background: url(../images/line-art/jungle-art.svg) no-repeat center;
  background-size: cover;
  content: "";
  opacity: 0.1;
  z-index: -1;
}

.mv-cover {
  background: #fff;
  border-radius: 16px;
  padding: 40px 30px;
  box-shadow: var(--shadow-md);
  transition: var(--transition);
  border-top: 4px solid var(--primary);
}

.mv-cover:hover {
  transform: translateY(-8px);
  box-shadow: var(--gold-shadow);
}

.mv-icon {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--gold-gradient);
  color: #111;
  font-size: 32px;
  margin-bottom: 25px;
}

.mv-cover h3 {
  margin-bottom: 0;
  color: var(--heading-color);
}

.mv-content {
  padding: 0 !important;
}

.mv-content p {
  margin-bottom: 0;
  color: var(--text-color);
  line-height: 1.9;
}

.mv-content ul li {
  font-weight: 500;
  color: var(--text-color);
}

.fit-content {
  width: fit-content;
}

/* Mission Vision End  */

/* FAQ  */
/* .stats-faq {
  background: linear-gradient(135deg, var(--black) 0%, #1a1a1a 100%);
  padding: 100px 0;
  color: #fff;
  position: relative;
  overflow: hidden;
} */

.stats-faq::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: url("https://images.unsplash.com/photo-1622290291469-2f5f8b1f9c4d?w=1200")
    center/cover no-repeat;
  opacity: 0.08;
  z-index: 0;
}

.stats-faq .container {
  position: relative;
  z-index: 1;
}

/* Counter Boxes */
.counter-box {
  background: rgba(26, 26, 26, 0.95);
  border: 2px solid var(--brand-primary);
  border-radius: 12px;
  padding: 32px 20px;
  text-align: center;
  transition: all 0.4s ease;
  height: 100%;
  color: #d5d5d5;
}

.counter-box:hover {
  transform: translateY(-8px);
  background: rgba(40, 40, 40, 0.98);
}

.counter-box h2 {
  color: var(--yellow);
  font-size: 3.2rem;
  font-weight: 500;
  margin-bottom: 8px;
}

.counter-box h5 {
  color: #ffffff;
  font-size: 22px;
  font-weight: 400;
}

/* FAQ Accordion */
.faq-accordion .accordion-item {
  background: rgba(26, 26, 26, 0.95);
  border: 1px solid rgba(212, 175, 55, 0.3);
  margin-bottom: 16px;
  border-radius: 12px;
  overflow: hidden;
}

.faq-accordion .accordion-button {
  background: var(--dark);
  color: #fff;
  padding: 22px 28px;
  font-size: 1.15rem;
  font-weight: 500;
  border: none;
  box-shadow: none;
  position: relative;
}

.faq-accordion .accordion-button::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' fill='%23d4af37' viewBox='0 0 16 16'%3E%3Cpath d='M8 4a.5.5 0 0 1 .5.5v5.793l2.146-2.147a.5.5 0 0 1 .708.708l-3 3a.5.5 0 0 1-.708 0l-3-3a.5.5 0 1 1 .708-.708L7.5 10.293V4.5A.5.5 0 0 1 8 4z'/%3E%3C/svg%3E");
  filter: brightness(1.1);
}

.faq-accordion .accordion-button:not(.collapsed) {
  background: linear-gradient(90deg, var(--dark), #1f1f1f);
  color: var(--yellow);
  border-bottom: 1px solid var(--border-primary);
}

.faq-accordion .accordion-button:focus {
  box-shadow: none;
  border-color: var(--gold);
}

.faq-accordion .accordion-body {
  background: #1a1a1a;
  color: #ddd;
  padding: 28px;
  font-size: 1.05rem;
  line-height: 1.7;
}

/* Responsive */
@media (max-width: 992px) {
  .section-heading h2 {
    font-size: 2.4rem;
  }
  .counter-box h2 {
    font-size: 2.6rem;
  }
}
/* FAQ  */

/* Gallery Start  */

.gallery-cms ul {
  column-count: 3;
  column-gap: 15px;
}

.gallery-cms ul li {
  margin-bottom: 15px;
}

/* Gallery End  */

/*----   Contact Us  Start  ---*/
.contact-form {
  background: #f7f7f7;
  padding: 30px 60px;
  height: 100%;
}

.bg-contact {
  background: url(../images/contact.webp) no-repeat center;
  background-size: cover;
  height: 100%;
  position: relative;
  z-index: 1;
}

.bg-contact::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  background: rgba(0, 0, 0, 0.5);
  z-index: -11;
}

.contact-info {
  background: #f7f7f7;
  padding: 30px 60px;
}

.contact-info h3 {
  font-size: 28px;
  color: #0b0c54;
  padding-bottom: 25px;
  position: relative;
  width: fit-content;
  font-family: var(--heading);
  font-weight: 400;
}

.ci-icon {
  height: 44px;
  width: 44px;
  text-align: center;
  line-height: 44px;
  font-size: 20px;
  border-radius: 50%;
  display: inline-block;
  flex: 0 0 44px;
  color: var(--white);
  background: var(--black);
  margin-right: 15px;
}

.ci-wrap {
  margin-bottom: 30px;
}

.ci-content h6 {
  font-weight: 400;
  font-size: 18px;
  color: #000;
  margin-bottom: 5px;
}

.ci-content p a {
  color: #000;
}

.contact-info .ci-wrap:last-child {
  margin-bottom: 0px;
}

.con-map {
  height: 100%;
}

.con-map iframe {
  height: 400px;
  width: 100%;
  object-fit: cover;
}

.single-input input.form-control {
  border: 1px solid var(--black);
  height: 44px;
  line-height: 44px;
  margin-bottom: 15px;
  transition: all 0.4s;
  -webkit-transition: all 0.4s;
}

.single-input input.form-control:focus {
  border: 1px solid var(--black);
  transition: all 0.4s;
  -webkit-transition: all 0.4s;
}

.single-input textarea.form-control {
  border: 1px solid var(--black);
  height: 130px;
}

.single-input textarea.form-control:focus {
  border: 1px solid var(--black);
  transition: all 0.4s;
  -webkit-transition: all 0.4s;
}

/*----   Contact Us  End  ---*/

/* ------ Event Details Start ------ */

#thumb-carousel .item {
  margin: 0px;
  cursor: pointer;
  opacity: 0.6;
  border: 2px solid transparent;
  transition: all 0.3s ease;
}

#thumb-carousel .item.current {
  border-color: #007bff;
  opacity: 1;
}

#thumb-carousel img {
  width: 100%;
  height: auto;
}

.main-carousel .owl-nav {
  opacity: 1;
  transition: all 0.8s;
}

.main-slider .owl-nav .owl-prev,
.main-slider .owl-nav .owl-next {
  background: #222 !important;
  color: var(--white) !important;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  transition: all 0.5s;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  margin: 0px;
}

.main-slider .owl-nav .owl-prev:hover,
.main-slider .owl-nav .owl-next:hover {
  background: var(--white) !important;
  color: var(--black) !important;
  transition: all 0.5s;
}

.main-slider .owl-nav .owl-next {
  right: -20px;
}

.main-slider .owl-nav .owl-prev {
  left: -20px;
}

.events-details .event-title {
  background: linear-gradient(to right, #001573, #f100ff);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  font-weight: 700;
  font-size: 32px;
  letter-spacing: 1px;
}

.event-title-caption {
  font-size: 26px;
  margin-top: 10px;
  font-weight: 500;
}

.events-details .filler {
  margin-top: -5px;
}

.why-choose-event h5 {
  font-size: 26px;
  margin-top: 10px;
  font-weight: 500;
}

.why-choose-event ul {
  padding-left: 4px;
}

.why-choose-event ul li {
  font-size: 16px;
  line-height: 28px;
  margin-bottom: 12px;
  padding-left: 26px;
  position: relative;
}

.why-choose-event ul li span {
  height: 16px;
  position: absolute;
  left: 0;
}

.perfect-for ul li {
  margin-right: 15px;
  margin-bottom: 10px;
}

/* ------ Event Details End ------ */

/* Offcanvas Start  */

.offcanvas-contact .offcanvas-body {
  background: var(--black);
  padding: 70px 35px 30px;
}

.offcanvas-contact {
  width: 470px !important;
}

.offcanvas-backdrop.show {
  opacity: 0.86;
}

.offcanvas-contact button.btn-close {
  background: #ffffff;
  opacity: 1;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  position: absolute;
  right: 10px;
  top: 10px;
  font-size: 15px;
  padding: 0px;
}

.offcanvas-contact .ci-icon {
  height: 44px;
  width: 44px;
  line-height: 44px;
  font-size: 20px;
  border: 2px solid #1e1e1e;
  margin-right: 20px;
  background: #141414;
}

.offcanvas-contact .social-header ul li a {
  transition: all 0.3s;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
}

.offcanvas-contact .social-header ul li a:hover {
  background: var(--color-gradient-btn);
  color: var(--white);
  transition: all 0.3s;
}

/*------ Offcanvas End  ------*/

/*------ Scroll To Top Button Start  ------*/

#scrollToTopBtn {
  display: none;
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 99;
  background-color: #f98a4f;
  color: white;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  height: 50px;
  width: 50px;
  text-align: center;
  line-height: 40px;
  font-size: 20px;
  transition: all 0.4s;
}

#scrollToTopBtn:hover {
  background-color: #000;
  transition: all 0.4s;
}

/*------ Scroll To Top Button End  ------*/

/* Adventure Blog Start  */

.adventure-sundarban {
  background: #111;
}

.sundar-blog {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-bottom: 0px;
  height: 100%;
}

.bg-sundarban {
  z-index: 1;
}

.bg-sundarban::before {
  position: absolute;
  bottom: -30px;
  left: 50%;
  transform: translateX(-50%);
  width: 500px;
  height: 430px;
  content: "";
  background: url(../images/line-art/tiger.webp) no-repeat center;
  background-size: contain;
  z-index: -1;
  opacity: 0.1;
  filter: grayscale(1);
}

.wildlife-slider-image img {
  object-fit: cover;
}

/* Adventure Blog End  */

/* --- Tour Package Details --- */

.grid-box {
  padding: 10px;
  border-radius: 15px;
  background: var(--white);
  box-shadow:
    rgba(17, 17, 26, 0.05) 0px 1px 0px,
    rgba(17, 17, 26, 0.1) 0px 0px 8px;
}

.grid-container {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr;
  /* Adjust columns: 1.5fr for the first, 1fr for others */
  gap: 9px;
}

.grid-item {
  position: relative;
}

.image-link {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 30px;
  height: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0;
  transform: translate(-50%, -50%);
  background: rgba(0, 0, 0, 0.55);
  transition: all 0.5s;
  color: #ffbc74;
  font-size: 22px;
}

.grid-item:hover .image-link {
  opacity: 1;
  width: 100%;
  height: 100%;
  color: #ffbc74;
  transition: all 0.5s;
}

.video-link {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  background: rgba(0, 0, 0, 0.55);
  color: #ffbc74;
}

.grid-item:hover .video-link {
  color: #ffbc74;
}

.fa-circle-play {
  font-size: 30px;
}

.item-1 {
  grid-column: 1 / 2;
  grid-row: 1 / 3;
  height: 500px;
  border-radius: 10px;
  overflow: hidden;
}

.item-2,
.item-3,
.item-4,
.item-5 {
  height: 245px;
  border-radius: 10px;
  overflow: hidden;
}

.item-2 {
  grid-column: 2 / 3;
  grid-row: 1 / 2;
}

.item-3 {
  grid-column: 3 / 4;
  grid-row: 1 / 2;
}

.item-4 {
  grid-column: 2 / 3;
  grid-row: 2 / 3;
}

.item-5 {
  grid-column: 3 / 4;
  grid-row: 2 / 3;
}

.grid-item img,
.grid-item video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.note {
  padding: 15px;
  background: #f7f7f7;
}

.tour-attraction ul li {
  margin-bottom: 15px;
}

.div-title h4 {
  font-size: 21px;
  font-weight: 500;
}

.included-package ul li,
.excluded-package ul li {
  padding-left: 22px;
  position: relative;
  margin-bottom: 28px;
  font-size: 15px;
  line-height: 20px;
}

.included-package ul li:last-child,
.excluded-package ul li:last-child {
  margin-bottom: 0;
}

.included-package ul li span,
.excluded-package ul li span {
  position: absolute;
  left: 0;
  top: 0px;
  border-radius: 50%;
  font-size: 17px;
  color: var(--green);
}

.excluded-package ul li span {
  color: var(--red);
  font-size: 20px;
}

.highlight-tour ul li {
  padding-left: 35px;
  position: relative;
  margin-bottom: 28px;
  font-size: 15px;
  line-height: 26px;
}

.highlight-tour ul li:last-child {
  margin-bottom: 0;
}

.highlight-tour ul li span {
  position: absolute;
  left: 0;
  top: 2px;
  font-size: 11px;
  height: 22px;
  width: 22px;
  color: var(--green);
  border-radius: 50%;
  background: #deffe0;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* --- */
.tour-plan .accordion-item {
  margin-bottom: 15px;
  border: 0px;
}

.tour-plan .accordion-button {
  position: relative;
  padding-left: 100px;
  border: 1px solid #dedede;
  color: var(--black);
  background: var(--white);
  font-size: 19px;
  font-weight: 500;
}

.tour-plan .accordion-button:focus {
  box-shadow: none !important;
}

.tour-plan .accordion-button:not(.collapsed) {
  background: var(--white);
}

.tour-plan .accordion-button span {
  background: var(--red);
  color: var(--white);
  font-size: 18px;
  font-weight: 500;
  position: absolute;
  left: 0;
  top: 0;
  width: 90px;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.tour-plan .accordion-body {
  border: 1px solid#dedede;
  border-top: 0px;
}

/* --- */

/* --- Tour Package Details --- */

/* Destination Lists Start */
.category-area .nav-tabs {
  justify-content: center;
}

.category-area .nav-tabs .nav-item {
  margin-right: 0px;
}

.category-area .nav-tabs .nav-link {
  background: var(--black);
  color: var(--yellow);
  border-radius: 0px;
  border: 0px;
  border-right: 1px solid rgba(255, 255, 255, 0.4);
  min-width: 180px;
  padding: 10px 30px;
}

.category-area .nav-tabs .nav-link .destination-box {
  border: 1px solid #ddd;
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 20px;
  transition: all 0.3s ease-in-out;
  position: relative;
  height: 400px;
}

.destination-box {
  height: 350px;
  position: relative;
  overflow: hidden;
}

.destination-box a {
  height: 100%;
  width: 100%;
}

.destination-box a img {
  object-fit: cover;
  transition: all 0.5s;
}

.destination-box img:hover {
  transform: scale(1.02);
  transition: all 0.5s;
}

.destination-box a h5 {
  position: absolute;
  bottom: 0;
  width: 100%;
  left: 0;
  padding: 10px 20px;
  color: var(--white);
}

.category-area .nav-tabs {
  row-gap: 2px;
}

/* Destination Lists End */

/* Destination Single Start  */
.query-form {
  background: #f9f9f9;
  margin-top: 15px;
  padding: 30px 25px;
}

.tour-common {
  margin-bottom: 30px;
}

.tour-box-title {
  margin-bottom: 12px;
  position: relative;
  z-index: 1;
}

.tour-common h3 {
  font-size: 28px;
  font-weight: 500;
  margin-bottom: 0px;
  width: fit-content;
  background: var(--white);
  padding-right: 10px;
}

.tour-box-title::before {
  position: absolute;
  bottom: 2px;
  height: 1px;
  width: 100%;
  background: var(--black);
  content: "";
  z-index: -1;
}

.tour-attraction ul {
  list-style: none;
  padding: 0px;
}

.tour-attraction ul li {
  position: relative;
  padding: 12px 20px;
  background: #f7f7f7;
  margin-top: 50px;
}

.tour-attraction ul li strong {
  position: absolute;
  top: -30px;
  width: fit-content;
  left: 0;
  height: fit-content;
  padding: 1px 10px;
  background: #0b0c54;
  color: var(--white);
  font-weight: 400;
  font-size: 13px;
  min-width: 130px;
}

.tour-common .accordion-button {
  background: #f7f7f7;
  border: 0px;
  color: var(--black);
  font-size: 16px;
  font-weight: 500;
  font-family: var(--body-font);
  outline: none !important;
  box-shadow: none !important;
}

/* .tour-common .accordion-button::after {
    filter: brightness(0) invert(1);
} */

.tour-box-title h3 {
  margin-bottom: 15px;
}

.tour-detailed-itenary h5 {
  font-size: 17px;
  font-family: var(--body-font);
  background: var(--black);
  color: var(--white);
  padding: 10px 25px;
  margin-bottom: 0px;
}

.itenary-image {
  height: 350px;
  margin-top: 10px;
}

.itenary-image img {
  object-fit: cover;
}

/* Destination Single End  */

.hill-station-listing .cg-box {
  height: 350px;
  width: 100%;
}

.hill-station-listing .cg-box img {
  object-fit: cover;
}

/*====================================================
    SERVICES PAGE
====================================================*/

.services-intro {
  position: relative;
  overflow: hidden;
}

.services-intro-image {
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-lg);
}

.services-intro-image img {
  width: 100%;
  height: 620px;
  object-fit: cover;
  border-radius: var(--radius-lg);
  transition: all 0.5s;
}

.services-intro-image:hover img {
  transform: scale(1.05);
}

.experience-box {
  position: absolute;
  left: 35px;
  bottom: 35px;
  background: var(--gold-gradient);
  color: var(--white);
  width: 180px;
  height: 180px;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  box-shadow: var(--gold-shadow);
  padding: 20px;
}

.experience-box h2 {
  font-size: 56px;
  font-weight: 700;
  color: var(--secondary-dark);
  line-height: 1;
  margin-bottom: 10px;
}

.experience-box span {
  color: var(--secondary-dark);
  font-size: 15px;
  font-weight: 600;
  line-height: 24px;
}

/*------------------------------------
Service Points
------------------------------------*/

.service-point {
  align-items: flex-start;
  background: linear-gradient(356deg, #b4b3c7, #fff0da);
  padding: 15px 10px;
  border-radius: 15px;
  overflow: hidden;
}

.service-point .icon {
  width: 48px;
  height: 48px;
  background: #147900;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-size: 18px;
  flex-shrink: 0;
}

.service-point h5 {
  font-size: 20px;
  margin-bottom: 8px;
  color: var(--heading-color);
}

.service-point p {
  margin: 0;
  color: var(--text-color);
  line-height: 28px;
}

/*====================================================
    SERVICE BOX
====================================================*/

.service-box {
  background: var(--white);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-lg);
  padding: 40px 30px;
  transition: all 0.5s;
  height: 100%;
  position: relative;
  overflow: hidden;
  box-shadow: var(--shadow-sm);
}

.service-box::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 5px;
  height: 0;
  background: var(--gold-gradient);
  transition: 0.4s;
}

.service-box:hover::before {
  height: 100%;
}

.service-box:hover {
  transform: translateY(-10px);
  box-shadow: var(--shadow-lg);
}

.service-icon {
  width: 80px;
  height: 80px;
  background: var(--gold-gradient);
  border-radius: var(--radius-circle);
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 34px;
  color: var(--secondary-dark);
  margin-bottom: 25px;
  box-shadow: var(--gold-shadow);
}

.service-box h4 {
  font-size: 26px;
  margin-bottom: 18px;
  color: var(--heading-color);
}

.service-box p {
  margin-bottom: 25px;
  color: var(--text-color);
  line-height: 30px;
}

.service-box .read-btn {
  color: var(--primary);
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  transition: 0.3s;
}

.service-box .read-btn span {
  margin-left: 10px;
  transition: 0.3s;
}

.service-box:hover .read-btn {
  color: var(--primary-dark);
}

.service-box:hover .read-btn span {
  transform: translateX(8px);
}

/*------------------------------------
Background
------------------------------------*/

.our-services {
  background: var(--off-white);
}

/*====================================================
Responsive
====================================================*/

@media (max-width: 991px) {
  .services-intro-image {
    margin-top: 40px;
  }

  .services-intro-image img {
    height: 500px;
  }

  .experience-box {
    width: 150px;
    height: 150px;
  }

  .experience-box h2 {
    font-size: 42px;
  }

  .service-box {
    padding: 35px 25px;
  }
}

@media (max-width: 767px) {
  .services-intro-image img {
    height: 350px;
  }

  .experience-box {
    width: 120px;
    height: 120px;
    left: 20px;
    bottom: 20px;
  }

  .experience-box h2 {
    font-size: 34px;
  }

  .experience-box span {
    font-size: 12px;
    line-height: 18px;
  }

  .service-box {
    text-align: center;
  }

  .service-icon {
    margin: 0 auto 20px;
  }

  .service-point {
    margin-bottom: 25px;
  }

  .service-point .icon {
    width: 45px;
    height: 45px;
    font-size: 16px;
  }

  .service-point h5 {
    font-size: 18px;
  }
}

/*==============================
Industries Page
===============================*/

.industries-page {
  background: #f7f9fc;
  overflow: hidden;
}

.industry-card {
  position: relative;
  background: #fff;
  border-radius: 18px;
  padding: 40px 35px;
  height: 100%;
  transition: 0.45s;
  overflow: hidden;
  border: 1px solid #ececec;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.05);
}

.industry-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 5px;
  background: linear-gradient(90deg, var(--primary), var(--yellow));
}

.industry-card::after {
  content: "";
  position: absolute;
  width: 180px;
  height: 180px;
  right: -70px;
  top: -70px;
  background: rgba(212, 175, 55, 0.08);
  border-radius: 50%;
  transition: 0.5s;
}

.industry-card:hover::after {
  transform: scale(1.4);
}

.industry-card:hover {
  transform: translateY(-12px);
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.12);
}

.industry-icon {
  width: 78px;
  height: 78px;
  border-radius: 18px;
  background: linear-gradient(135deg, var(--primary), var(--yellow));
  color: #fff;
  font-size: 34px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 25px;
  transition: 0.4s;
}

.industry-card:hover .industry-icon {
  transform: rotateY(180deg);
}

.industry-card h4 {
  font-size: 24px;
  font-weight: 400;
  color: var(--black);
  margin-bottom: 18px;
}

.industry-card p {
  color: #666;
  line-height: 30px;
  margin-bottom: 25px;
}

.industry-card ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.industry-card ul li {
  position: relative;
  padding-left: 28px;
  margin-bottom: 12px;
  color: #555;
  font-weight: 500;
}

.industry-card ul li::before {
  content: "\f058";
  font-family: "Font Awesome 6 Pro";
  font-weight: 900;
  color: var(--yellow);
  position: absolute;
  left: 0;
}

/*==============================
Process
===============================*/

.industry-process {
  background: #fff;
}

.process-box {
  position: relative;
  background: #fff;
  border-radius: 18px;
  padding: 45px 25px;
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.05);
  transition: 0.4s;
}

.process-box:hover {
  transform: translateY(-10px);
}

.process-box span {
  width: 65px;
  height: 65px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--brand-primary), var(--yellow));
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 24px;
  font-weight: 700;
  margin: auto;
  margin-bottom: 20px;
}

.process-box h5 {
  font-size: 22px;
  margin-bottom: 15px;
}

.process-box p {
  color: #666;
  line-height: 28px;
}

/*==============================
CTA
===============================*/

.industry-cta {
  background: #091b2d;
}

.cta-box {
  padding: 70px;
  border-radius: 25px;
  background: linear-gradient(
    135deg,
    rgba(255, 255, 255, 0.05),
    rgba(255, 255, 255, 0.02)
  );
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.cta-box h2 {
  color: #fff;
  font-size: 42px;
}

.cta-box p {
  color: #d8d8d8;
  width: 70%;
  margin: auto;
  line-height: 30px;
}

.industries-page {
  position: relative;
}

.industries-page::before {
  content: "";
  position: absolute;
  width: 350px;
  height: 350px;
  background: rgba(212, 175, 55, 0.06);
  border-radius: 50%;
  top: -120px;
  left: -120px;
}

.industries-page::after {
  content: "";
  position: absolute;
  width: 300px;
  height: 300px;
  background: rgba(0, 40, 85, 0.05);
  border-radius: 50%;
  bottom: -120px;
  right: -100px;
}

.blog-details {
  background: #fff;
}

.blog-details-box {
  background: #fff;
  border-radius: 12px;
}

.blog-thumb img {
  width: 100%;
  border-radius: 12px;
}

.blog-meta {
  margin: 30px 0 15px;
  display: flex;
  gap: 25px;
  flex-wrap: wrap;
  font-size: 15px;
  color: #777;
}

.blog-meta i {
  color: var(--primary);
  margin-right: 6px;
}

.blog-title {
  font-size: 42px;
  margin-bottom: 25px;
  line-height: 1.3;
}

.blog-details p {
  color: #666;
  line-height: 30px;
  margin-bottom: 20px;
}

.blog-details h3 {
  margin: 40px 0 20px;
}

.blog-list {
  padding-left: 20px;
  margin-bottom: 30px;
}

.blog-list li {
  margin-bottom: 12px;
}

.blog-details blockquote {
  background: #f5f7fa;
  border-left: 5px solid var(--brand-primary);
  padding: 35px;
  font-size: 22px;
  font-style: italic;
  margin: 40px 0;
  border-radius: 10px;
}

.blog-tags-share {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  border-top: 1px solid #eee;
  padding-top: 30px;
  margin-top: 40px;
}

.blog-tags a {
  display: inline-block;
  padding: 8px 18px;
  background: #f5f5f5;
  border-radius: 30px;
  margin: 5px;
  color: #444;
  transition: 0.3s;
}

.blog-tags a:hover {
  background: var(--brand-primary);
  color: #fff;
}

.blog-share a {
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #f5f5f5;
  border-radius: 50%;
  color: #222;
  margin-left: 10px;
  transition: 0.3s;
}

.blog-share a:hover {
  background: var(--brand-primary);
  color: #fff;
}

.author-box {
  display: flex;
  gap: 25px;
  margin-top: 60px;
  background: #f8f8f8;
  padding: 30px;
  border-radius: 12px;
}

.author-img img {
  width: 90px;
  height: 90px;
  border-radius: 50%;
  object-fit: cover;
}

.post-navigation {
  display: flex;
  justify-content: space-between;
  margin-top: 40px;
  padding-top: 30px;
  border-top: 1px solid #eee;
}

.blog-sidebar {
  position: sticky;
  top: 120px;
}

.sidebar-widget {
  background: #fff;
  padding: 30px;
  margin-bottom: 30px;
  border-radius: 12px;
  box-shadow: 0 5px 25px rgba(0, 0, 0, 0.05);
}

.sidebar-widget h4 {
  margin-bottom: 25px;
}

.sidebar-widget form {
  display: flex;
}

.sidebar-widget input {
  width: 100%;
  border: 1px solid #ddd;
  padding: 12px 15px;
  outline: none;
}

.sidebar-widget button {
  width: 55px;
  border: none;
  background: var(--brand-primary);
  color: #fff;
}

.sidebar-widget ul {
  padding: 0;
  margin: 0;
  list-style: none;
}

.sidebar-widget ul li {
  border-bottom: 1px solid #eee;
}

.sidebar-widget ul li:last-child {
  border: none;
}

.sidebar-widget ul li a {
  display: block;
  padding: 12px 0;
  color: #555;
}

.recent-post {
  display: flex;
  gap: 15px;
  margin-bottom: 20px;
}

.recent-post img {
  width: 90px;
  height: 75px;
  object-fit: cover;
  border-radius: 8px;
}

.recent-post span {
  display: block;
  margin-top: 8px;
  color: #888;
  font-size: 14px;
}

.sidebar-cta {
  background: var(--brand-primary);
  color: #fff;
  padding: 40px 30px;
  text-align: center;
  border-radius: 12px;
}

.sidebar-cta h3 {
  color: #fff;
}

.sidebar-cta p {
  color: #fff;
}

@media (max-width: 991px) {
  .blog-sidebar {
    position: relative;
    top: 0;
    margin-top: 50px;
  }

  .blog-title {
    font-size: 32px;
  }

  .author-box {
    display: block;
  }

  .author-img {
    margin-bottom: 20px;
  }

  .post-navigation {
    display: block;
  }

  .post-navigation a:last-child {
    display: block;
    margin-top: 20px;
  }
}

.service-sidebar {
  position: sticky;
  top: 110px;

  background: #fff;

  padding: 30px;

  border-radius: 12px;

  box-shadow: 0 10px 35px rgba(0, 0, 0, 0.08);
}

.service-sidebar h4 {
  margin-bottom: 25px;

  font-size: 24px;
}

.service-sidebar ul {
  padding: 0;

  margin: 0;

  list-style: none;
}

.service-sidebar li {
  margin-bottom: 12px;
}

.service-sidebar li a {
  display: flex;

  align-items: center;

  gap: 15px;

  padding: 14px 18px;

  border-radius: 8px;

  color: #333;

  text-decoration: none;

  transition: 0.3s;

  border: 1px solid #ececec;
}

.service-sidebar li a i {
  width: 25px;

  font-size: 18px;
}

.service-sidebar li:hover a {
  background: var(--brand-primary);

  color: #fff;

  transform: translateX(6px);
}

.service-sidebar li.active a {
  background: var(--brand-primary);

  color: #fff;
}

.sidebar-contact {
  margin-top: 35px;

  background: var(--brand-primary);

  color: #fff;

  border-radius: 10px;

  padding: 25px;
}

.sidebar-contact h5 {
  color: #fff;
}

.service-banner img {
  border-radius: 18px;
  height: 350px;
  overflow: hidden;
  object-fit: cover;
}

.service-content p {
  margin-bottom: 20px;
}

.service-feature {
  padding: 35px;

  border-radius: 15px;

  border: 1px solid #ececec;

  transition: 0.35s;

  height: 100%;
}

.service-feature i {
  font-size: 40px;

  color: var(--brand-primary);

  margin-bottom: 20px;
}

.service-feature:hover {
  transform: translateY(-8px);

  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
}

.service-feature h4 {
  margin-bottom: 15px;
}

@media (max-width: 991px) {
  .service-sidebar {
    position: relative;

    top: 0;

    margin-bottom: 40px;
  }
}

/* ----------------- */

/* ========================= HERO ========================= */

.or-hero {
  min-height: 480px;
  position: relative;
  overflow: hidden;
  background:
    var(--gradient-overlay),
    url("images/overseas-recruitment/hero.webp") center/cover no-repeat;
  display: flex;
  align-items: center;
}

.or-hero:after {
  content: "";
  position: absolute;
  width: 50%;
  height: 100%;
  right: -15%;
  top: 0;
  background: var(--gradient-primary);
  opacity: 0.12;
  transform: skewX(-18deg);
}

.hero-content {
  position: relative;
  z-index: 2;
  max-width: 700px;
  color: var(--white);
}

.hero-content .tag {
  display: inline-block;
  padding: 8px 18px;
  border: 1px solid var(--brand-primary);
  color: var(--brand-primary);
  border-radius: 30px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 20px;
}

.hero-content h1 {
  font-size: 55px;
  line-height: 1.05;
  font-weight: 800;
  text-transform: uppercase;
  margin-bottom: 20px;
}

.hero-content h1 span {
  color: var(--brand-primary);
}

.hero-content p {
  font-size: 18px;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.85);
  max-width: 620px;
}

.hero-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 20px;
  padding: 13px 27px;
  background: var(--gradient-primary);
  color: var(--brand-secondary-dark);
  font-weight: 700;
  text-decoration: none;
  border-radius: 4px;
  transition: 0.3s;
}

.hero-btn:hover {
  background: var(--white);
  color: var(--brand-secondary-dark);
  transform: translateY(-2px);
}

/* ========================= COMMON ========================= */

.or-section {
  padding: 85px 0;
}

.section-title .small-title {
  color: var(--brand-primary-dark);
  font-size: 14px;
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: 2px;
  margin-bottom: 10px;
}

/* ========================= INTRO ========================= */

.intro-box {
  background: #faf8f1;
  border-left: 5px solid var(--brand-primary);
  padding: 35px;
}

.intro-box p {
  line-height: 1.8;
  margin-bottom: 0;
}

/* ========================= VISA SERVICES ========================= */

.visa-section {
  background: var(--border-light);
}

.visa-card {
  height: 100%;
  background: var(--white);
  padding: 28px 24px;
  border-radius: 8px;
  border: 1px solid var(--border-color);
  position: relative;
  overflow: hidden;
  transition: 0.35s;
}

.visa-card:before {
  content: "";
  position: absolute;
  width: 4px;
  height: 0;
  left: 0;
  top: 0;
  background: var(--gradient-primary-alt);
  transition: 0.35s;
}

.visa-card:hover {
  transform: translateY(-7px);
  border-color: var(--brand-primary-light);
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.1);
}

.visa-card:hover:before {
  height: 100%;
}

.visa-icon {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: #fff8e6;
  color: var(--brand-primary-dark);
  border: 1px solid var(--brand-primary-light);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  margin-bottom: 20px;
  transition: 0.3s;
}

.visa-card:hover .visa-icon {
  background: var(--gradient-primary);
  color: var(--brand-secondary-dark);
}

.visa-card h4 {
  font-size: 19px;
  font-weight: 700;
  color: var(--brand-secondary);
  margin-bottom: 10px;
}

.visa-card p {
  color: #777;
  font-size: 14px;
  line-height: 1.6;
  margin: 0;
}

/* ========================= RECRUITMENT ========================= */

.recruitment-wrap {
  background: var(--gradient-dark);
  color: var(--white);
  border-radius: 12px;
  overflow: hidden;
}

.recruitment-image {
  height: 100%;
  min-height: 470px;
  background:
    linear-gradient(rgba(0, 0, 0, 0.15), rgba(0, 0, 0, 0.45)),
    url("../images/visa.jpg") center/cover no-repeat;
}

.recruitment-content {
  padding: 55px;
}

.recruitment-content .small-title {
  color: var(--brand-primary);
  text-transform: uppercase;
  font-size: 13px;
  letter-spacing: 2px;
  font-weight: 700;
}

.recruitment-content h2 {
  font-size: 38px;
  font-weight: 800;
  margin: 12px 0 20px;
  color: var(--white);
}

.recruitment-content p {
  color: #ddd;
  line-height: 1.7;
}

.job-list {
  margin-top: 25px;
}

.job-item {
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  color: #eee;
}

.job-item i {
  color: var(--brand-primary);
}

/* ========================= SALARY ========================= */

.salary-box {
  background: var(--gradient-dark);
  border-radius: 10px;
  padding: 35px;
  color: var(--white);
  height: 100%;
}

.salary-box h3 {
  color: var(--brand-primary);
  font-size: 24px;
  font-weight: 700;
}

.salary-box .salary {
  font-size: 42px;
  font-weight: 800;
  margin: 15px 0;
  color: var(--white);
}

.salary-box p {
  color: #ccc;
  line-height: 1.7;
  margin: 0;
}

.salary-note {
  background: #fffaf0;
  border-left: 4px solid var(--brand-primary);
  padding: 25px;
  height: 100%;
}

.salary-note h4 {
  color: var(--brand-secondary);
  font-weight: 700;
}

.salary-note p {
  color: #666;
  line-height: 1.7;
  margin: 0;
}

/* ========================= IMMIGRATION SUPPORT ========================= */

.support-card {
  padding: 35px;
  border: 1px solid var(--border-color);
  border-radius: 8px;
  height: 100%;
  background: var(--white);
  transition: 0.3s;
}

.support-card:hover {
  border-color: var(--brand-primary);
  transform: translateY(-5px);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
}

.support-card i {
  font-size: 30px;
  color: var(--brand-primary-dark);
  margin-bottom: 20px;
}

.support-card h4 {
  font-weight: 700;
  color: var(--brand-secondary);
}

.support-card p {
  color: #666;
  line-height: 1.7;
}

/* ========================= PARTNERSHIP CTA ========================= */

.partner-cta {
  position: relative;
  overflow: hidden;
  background: var(--border-light);
  padding: 80px 0;
  color: var(--brand-secondary);
}

.partner-cta::before {
  content: "";
  position: absolute;
  width: 400px;
  height: 400px;
  top: -220px;
  left: -150px;
  background: var(--gradient-primary);
  border-radius: 50%;
  opacity: 0.08;
}

.partner-cta::after {
  content: "";
  position: absolute;
  width: 280px;
  height: 280px;
  right: -100px;
  bottom: -150px;
  background: var(--gradient-primary-alt);
  border-radius: 50%;
  opacity: 0.08;
}

.partner-cta .container {
  position: relative;
  z-index: 1;
}

.partner-cta h2 {
  font-size: 42px;
  font-weight: 800;
  color: var(--brand-secondary);
}

.partner-cta h2 span {
  color: var(--brand-primary-dark);
}

.partner-cta p {
  color: #666;
  max-width: 760px;
  margin: 15px auto 25px;
  line-height: 1.7;
}

.partner-btn {
  display: inline-block;
  background: var(--gradient-primary);
  color: var(--brand-secondary-dark);
  text-decoration: none;
  padding: 14px 30px;
  font-weight: 700;
  border-radius: 4px;
  transition: 0.3s;
}

.partner-btn:hover {
  background: var(--brand-secondary);
  color: var(--white);
  transform: translateY(-2px);
}

/* ========================= RESPONSIVE ========================= */

@media (max-width: 991px) {
  .hero-content h1 {
    font-size: 42px;
  }

  .recruitment-image {
    min-height: 350px;
  }

  .recruitment-content {
    padding: 35px;
  }
}

@media (max-width: 575px) {
  .or-hero {
    min-height: 550px;
  }

  .or-section {
    padding: 60px 0;
  }

  .hero-content h1 {
    font-size: 35px;
  }

  .hero-content p {
    font-size: 16px;
  }

  .section-title h2 {
    font-size: 30px;
  }

  .recruitment-content h2 {
    font-size: 30px;
  }

  .partner-cta h2 {
    font-size: 32px;
  }

  .recruitment-content {
    padding: 30px 25px;
  }
}

/* =========================================
   CAREER APPLICATION MODAL
========================================= */

.career-modal .modal-dialog {
  max-width: 850px;
}

.career-modal .modal-content {
  border: 0;
  border-radius: 12px;
  overflow: hidden;
  background: var(--white);
  box-shadow: 0 25px 70px rgba(0, 0, 0, 0.25);
}

/* =========================
   HEADER
========================= */

.career-modal .modal-header {
  position: relative;
  padding: 30px 35px;
  border: 0;
  background: var(--gradient-dark);
  color: var(--white);
}

.career-modal .modal-header::after {
  content: "";
  position: absolute;
  right: -80px;
  top: -100px;
  width: 250px;
  height: 250px;
  border-radius: 50%;
  background: var(--gradient-primary);
  opacity: 0.12;
}

.career-modal .modal-subtitle {
  display: block;
  color: var(--brand-primary);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  margin-bottom: 7px;
}

.career-modal .modal-title {
  font-size: 27px;
  font-weight: 800;
  color: var(--white);
  margin: 0;
}

.career-modal .btn-close {
  position: relative;
  z-index: 2;
  filter: invert(1);
  opacity: 0.8;
}

.career-modal .btn-close:hover {
  opacity: 1;
}

/* =========================
   BODY
========================= */

.career-modal .modal-body {
  padding: 30px 35px 35px;
}

/* =========================
   INTRO BOX
========================= */

.career-intro-form {
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 17px 20px;
  margin-bottom: 25px;
  background: #fffaf0;
  border-left: 4px solid var(--brand-primary);
  border-radius: 5px;
}

.career-intro-form > i {
  width: 45px;
  height: 45px;
  flex: 0 0 45px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--gradient-primary);
  color: var(--brand-secondary-dark);
  font-size: 20px;
}

.career-intro-form h5 {
  margin: 0 0 3px;
  font-size: 16px;
  font-weight: 700;
  color: var(--brand-secondary);
}

.career-intro-form p {
  margin: 0;
  font-size: 13px;
  color: #777;
}

/* =========================
   FORM LABEL
========================= */

.career-modal label {
  display: block;
  margin-bottom: 8px;
  font-size: 13px;
  font-weight: 700;
  color: var(--brand-secondary);
}

.career-modal label span {
  color: #c0392b;
}

/* =========================
   INPUT
========================= */

.input-group-custom {
  position: relative;
}

.input-group-custom > i {
  position: absolute;
  left: 15px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--brand-primary-dark);
  font-size: 16px;
  z-index: 2;
}

.input-group-custom input,
.input-group-custom select {
  width: 100%;
  height: 48px;
  border: 1px solid var(--border-color);
  border-radius: 5px;
  outline: none;
  padding: 0 15px 0 45px;
  background: var(--white);
  color: var(--brand-secondary);
  font-size: 14px;
  transition: 0.3s;
}

.input-group-custom input::placeholder {
  color: #aaa;
}

.input-group-custom input:focus,
.input-group-custom select:focus,
.textarea-box textarea:focus {
  border-color: var(--brand-primary);
  box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.1);
}

/* =========================
   SELECT
========================= */

.select-box select {
  appearance: none;
  cursor: pointer;
}

/* =========================
   FILE
========================= */

.file-box input[type="file"] {
  padding-top: 13px;
  padding-bottom: 13px;
  cursor: pointer;
}

.career-modal small {
  display: block;
  margin-top: 5px;
  font-size: 11px;
  color: #999;
}

/* =========================
   TEXTAREA
========================= */

.textarea-box {
  position: relative;
}

.textarea-box > i {
  position: absolute;
  left: 15px;
  top: 16px;
  color: var(--brand-primary-dark);
  z-index: 2;
}

.textarea-box textarea {
  width: 100%;
  resize: vertical;
  border: 1px solid var(--border-color);
  border-radius: 5px;
  outline: none;
  padding: 13px 15px 13px 45px;
  font-size: 14px;
  transition: 0.3s;
}

.textarea-box textarea::placeholder {
  color: #aaa;
}

/* =========================
   SUBMIT
========================= */

.modal-submit {
  margin-top: 25px;
  padding-top: 20px;
  border-top: 1px solid var(--border-light);
  text-align: right;
}

.modal-submit .btn {
  border: 0;
  padding: 13px 25px;
  background: var(--gradient-primary);
  color: var(--brand-secondary-dark);
  font-weight: 700;
  border-radius: 4px;
  transition: 0.3s;
}

.modal-submit .btn:hover {
  background: var(--brand-secondary);
  color: var(--white);
  transform: translateY(-2px);
}

/* =========================
   MOBILE
========================= */

@media (max-width: 575px) {
  .career-modal .modal-header {
    padding: 25px 20px;
  }

  .career-modal .modal-body {
    padding: 25px 20px;
  }

  .career-modal .modal-title {
    font-size: 22px;
  }

  .career-intro {
    align-items: flex-start;
  }

  .modal-submit {
    text-align: center;
  }

  .modal-submit .btn {
    width: 100%;
  }
}
