html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

img,
svg,
video,
iframe {
  max-width: 100%;
}

.navbar-area {
  width: 100%;
}

.navbar-area.sticky {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  z-index: 1200 !important;
  padding: 12px 0 !important;
}

.navbar-area.style-three.sticky {
  background-color: var(--codColor, #10251f) !important;
}

.navbar-wrapper {
  gap: 14px;
}

.navbar-wrapper > a:first-child {
  flex: 0 1 auto;
  min-width: 0;
}

.navbar-wrapper > a:first-child span {
  display: inline-block;
  max-width: min(52vw, 280px);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  line-height: 1.2;
}

.menu-mobile-header button {
  border: 0;
  background: transparent;
}

body.mobile-menu-open {
  overflow: hidden;
  touch-action: none;
}

@media only screen and (min-width: 992px) {
  .navbar-area.sticky + .hero-area,
  .navbar-area.sticky + main,
  .navbar-area.sticky + .breadcrumb-area {
    margin-top: 0;
  }
}

@media only screen and (max-width: 991px) {
  .navbar-area {
    position: relative;
    margin: 0 !important;
    padding: 12px 0 !important;
    background-color: var(--codColor, #10251f) !important;
    z-index: 1200 !important;
  }

  .navbar-area.bg-transparent {
    background-color: var(--codColor, #10251f) !important;
  }

  .navbar-area.sticky {
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.14);
  }

  .navbar-wrapper {
    min-height: 48px;
  }

  .other-options {
    flex: 0 0 auto;
  }

  .menu-mobile-trigger {
    width: 32px;
    height: 24px;
    padding: 0;
  }

  .navbar-area.style-three .menu-mobile-trigger span,
  .menu-mobile-trigger span {
    height: 3px;
    border-radius: 8px;
    background-color: #fff !important;
  }

  .menu {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: min(86vw, 340px) !important;
    height: 100dvh !important;
    max-height: 100dvh;
    border-radius: 0 !important;
    overflow: hidden !important;
    transform: translateX(-105%) !important;
    transition: transform 0.28s ease !important;
    z-index: 1301 !important;
    background-color: #fff !important;
  }

  .menu.active {
    transform: translateX(0) !important;
  }

  .menu .menu-mobile-header {
    display: flex !important;
    min-height: 56px;
    height: 56px;
    background-color: #fff;
  }

  .menu .menu-mobile-header .menu-mobile-close,
  .menu .menu-mobile-header .menu-mobile-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 56px;
    height: 56px;
    color: #121212;
  }

  .menu .menu-mobile-header .menu-mobile-title {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-align: center;
  }

  .menu .menu-section {
    height: calc(100dvh - 56px) !important;
    padding: 10px 0 28px !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  .menu > ul > li > a {
    margin: 0 !important;
    padding: 17px 22px !important;
    border-radius: 0 !important;
    color: #121212 !important;
  }

  .menu > ul > li > a:before,
  .menu > ul > li > a:after {
    display: none !important;
  }

  .menu > ul > li > a:hover,
  .menu > ul > li > a.active {
    color: var(--primaryColor, #eb4d2d) !important;
    background-color: #f8f3ef !important;
  }

  .menu > ul > li .menu-subs {
    height: calc(100dvh - 56px) !important;
    padding-top: 10px !important;
    background-color: #fff !important;
    z-index: 3 !important;
  }

  .overlay {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    z-index: 1300 !important;
    background: rgba(0, 0, 0, 0.56) !important;
  }

  .breadcrumb-area {
    margin-top: 0 !important;
    padding-top: 72px !important;
  }

  .hero-area.style-three {
    margin-top: 0 !important;
  }

  .hero-area.style-three .hero-slide-item {
    border-radius: 0 0 24px 24px;
  }

  .tour-card.style-one,
  .tour-card.style-two {
    height: auto;
  }
}

@media only screen and (max-width: 575px) {
  .container-fluid,
  .container-fluid.style-one,
  .container-fluid.style-two,
  .container-fluid.style-three,
  .container-fluid.style-four {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }

  .navbar-wrapper > a:first-child span {
    max-width: 58vw;
    font-size: 21px !important;
  }

  .callback-modal {
    width: calc(100vw - 28px) !important;
    max-width: 390px !important;
    padding: 38px 20px 30px !important;
    border-radius: 18px !important;
  }
}
