:root {
  --bs-primary: #bf935b !important;
  --bs-primary-rgb: 191, 147, 91;
  --bs-secondary-rgb: 250, 249, 247;
  --bs-secondary: #faf9f7 !important;
  --bs-tertiary: #aaaaaa !important;
  --fancybox-accent-color: var(--bs-primary);
  --swiper-theme-color: var(--bs-primary);
  --swiper-navigation-size: 35px;
}

.montserrat-<uniquifier > {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}

.btn-primary {
  --bs-btn-active-bg: #ac8451 !important;
  --bs-btn-active-border-color: #ac8451 !important;
}

.btn-outline-primary {
  --bs-btn-color: #bf935b;
  --bs-btn-border-color: #bf935b;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #bf935b;
  --bs-btn-hover-border-color: #bf935b;
  --bs-btn-focus-shadow-rgb: 13, 110, 253;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #bf935b;
  --bs-btn-active-border-color: #bf935b;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #bf935b;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #bf935b;
  --bs-gradient: none;
}

.wa-chat-box-poweredby{
    display: none !important;
}

html.lenis,
html.lenis body {
  height: auto;
}
.lenis.lenis-smooth {
  scroll-behavior: auto !important;
}
.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}
.lenis.lenis-stopped {
  overflow: hidden;
}
.lenis.lenis-smooth iframe {
  pointer-events: none;
}

@media (min-width: 1400px) {
  .container,
  .container-lg,
  .container-md,
  .container-sm,
  .container-xl,
  .container-xxl {
    max-width: 1400px;
  }
}

.fs-1,
.fs-2,
.fs-3,
.fs-4,
.fs-5,
.fs-6 {
  font-weight: 600;
}

/*Fonts*/

body {
  color: #000;
  background-color: #fff;
  overflow-x: clip;
  font-family: "Montserrat", sans-serif;
}

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

/*Scroll Indicator*/
.scroll-indicator {
  position: relative;
  width: 1px;
  height: 50px;
  background-color: rgba(255, 255, 255, 0.5);
  overflow: hidden;
}
.scroll-indicator span {
  position: absolute;
  top: 0;
  left: 0;
  background-color: #fff;
  width: 100%;
  height: 100%;
  transform: translateY(-100%);
  -webkit-transform: translateY(-100%);
  -webkit-animation: scrollIndicator 2s infinite ease-in-out;
  animation: scrollIndicator 2s infinite ease-in-out;
}

@keyframes scrollIndicator {
  0% {
    transform: translateY(-100%);
  }
  50% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(100%);
  }
}

.nav-link {
  color: #fff;
  position: relative;
  overflow: hidden;
  text-transform: uppercase;
  font-size: 0.9rem;
}
footer .nav-item a,
nav .nav-link span {
  position: relative;
}

nav .nav-link span:after {
  content: "";
  width: 0;
  background: #fff;
  height: 1px;
  position: absolute;
  bottom: -4px;
  left: 0;
  transition: all 0.3s ease-in-out;
}
footer .nav-item a:after{
    content: "";
    width: 0;
    background: #aaa;
    height: 1px;
    position: absolute;
    bottom: -4px;
    left: 0;
    transition: all 0.3s ease-in-out;
}

footer .nav-item a:hover:after,
nav .nav-link:hover span:after {
  width: 100%;
}

.nav-link:focus,
.nav-link:hover {
  color: #fff;
}

a {
  color: var(--bs-primary);
  text-decoration: none;
}

a.btn,
.hover-primary {
  transition: all 0.3s ease-in-out;
}

.hover-primary:hover {
  color: var(--bs-primary) !important;
}

.navbar-toggler:focus {
  box-shadow: none;
}

/*Newsletter Modal*/
.newsletter-modal .modal-dialog {
  max-width: 960px;
}
.newsletter-modal .modal-content {
  background-color: #fff;
  box-shadow: 0 30px 60px rgba(0, 0, 0, 0.15);
}
.newsletter-modal .btn-close {
  width: 44px;
  height: 44px;
  opacity: 1;
  background-size: 0.75rem;
}
.newsletter-modal__image {
  background-color: #d8d3cc;
}
.newsletter-modal__title {
  font-size: clamp(2rem, 1.5rem + 1vw, 2rem);
  line-height: 1.2;
  color: #111;
}
.newsletter-modal__eyebrow {
  letter-spacing: 0.2em;
  color: rgba(17, 17, 17, 0.6);
}
.newsletter-modal__divider {
  width: 64px;
  height: 2px;
  background-color: rgba(17, 17, 17, 0.2);
}
.newsletter-modal__form {
  max-width: 380px;
}
.newsletter-modal__input {
  border: none;
  border-radius: 999px;
  background-color: #f3f3f3;
  padding: 0.85rem 1.5rem;
  font-size: 1rem;
}
.newsletter-modal__input:focus {
  box-shadow: 0 0 0 2px rgba(191, 147, 91, 0.35);
  background-color: #fff;
}
.newsletter-modal__button {
  border-radius: 999px;
  padding: 0.95rem 1.5rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 600;
}
.newsletter-modal__button:hover,
.newsletter-modal__button:focus {
  background-color: #111;
}
.newsletter-modal .form-check-input {
  width: 1.15rem;
  height: 1.15rem;
  margin-top: 0.15rem;
  border-radius: 0.35rem;
  border-color: #c9c9c9;
}
.newsletter-modal .form-check-input:checked {
  background-color: #111;
  border-color: #111;
}
.newsletter-modal .form-check-label a {
  color: inherit;
}

@media (min-width: 1200px) {
  .fs-1 {
    font-size: 3rem !important;
  }
  .fs-2 {
    font-size: 2.725rem !important;
  }
  .fs-3 {
    font-size: 2.235rem !important;
  }
  .fs-4 {
    font-size: 2rem !important;
  }
  .fs-5 {
    font-size: 1.5rem !important;
  }
  .fs-6 {
    font-size: 1.125rem !important;
  }
}

.py-mid {
  padding-top: 10%;
  padding-bottom: 10%;
}
.py-small {
  padding-top: 5%;
  padding-bottom: 5%;
}

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

.bg-primary {
  background-color: var(--bs-primary) !important;
}

.text-primary {
  color: var(--bs-primary) !important;
}

.text-secondary {
  color: var(--bs-secondary) !important;
}

.text-tertiary {
  color: #1a1a1a !important;
}

.text-alt {
  color: #e6e6e6;
}

.bg-secondary {
  background-color: var(--bs-secondary) !important;
}

.bg-tertiary {
  background-color: var(--bs-tertiary);
}

.bg-alt {
  background-color: #f1f1f1;
}
.bg-grey {
  background-color: #f6f6f6;
}
.bg-alt-2 {
  background-color: #fcfcfc;
}

.btn, .bokunButton {
  font-weight: 600;
  --bs-btn-padding-x: 1.25rem;
  border-radius: var(--bs-border-radius-lg);
  font-size: 16px;
  text-transform: uppercase;
}

.bokunButton{
    background-color: #000;
    border:1px solid #000;
    padding: 0.375rem 1.25rem;
    font-size: 1rem;
    font-weight: 600;
    font-size: 16px;
    white-space: nowrap;
    border-radius: 0.5rem;
    text-transform: uppercase;
    display: inline-block;
    color: #fff;
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}
.bokunButton:hover{
    color: #fff;
    background-color: #424649;
    border-color: #424649;
}

.btn-primary {
  background-color: var(--bs-primary);
  border-color: var(--bs-primary);
  color: #fff;
}

.btn-primary:hover {
  background-color: var(--bs-secondary);
  border-color: var(--bs-secondary);
  color: #fff;
}

.btn-secondary {
  background-color: var(--bs-secondary);
  border-color: var(--bs-secondary);
  color: var(--bs-primary);
}

.btn-secondary:hover {
  background-color: transparent;
  border-color: var(--bs-primary);
  color: var(--bs-secondary);
}

.btn-outline-dark:hover {
  background: #000;
  color: #fff;
}

.btn-dark {
  --bs-btn-bg: #000;
  --bs-btn-border-color: #000;
}

nav {
  z-index: 9;
}

.border-primary {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-primary-rgb), var(--bs-border-opacity)) !important;
}

.no-wrap {
  white-space: nowrap;
}

/*Navbar*/
#navbar,
#navbarInner {
  transition: all 0.3s ease;
}

#navbar {
  background-color: transparent;
  box-shadow: none;
}

#navbarLogo {
  max-width: 241px;
}

/*Footer*/
.footer-logo {
  max-height: 45px;
}
.drible-foot {
  max-width: 60px;
}
footer a,
footer p {
  color: #1a1a1a;
  transition: all 0.3s ease-in-out;
}
footer a:hover {
  color: var(--bs-tertiary);
}
footer svg:hover circle {
  fill: var(--bs-primary);
}
footer svg:hover g path {
  fill: #fff;
}
footer svg * {
  transition: all 0.3s ease-in-out;
}
.footer-premios img {
  height: 100px;
  width: auto;
}

/*Video Hero*/
.video-background-holder {
  position: relative;
  background-color: black;
  height: 100dvh;
  min-height: 25rem;
  width: 100%;
  overflow: hidden;
}

.video-background-holder video {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  z-index: 0;
  -ms-transform: translateX(-50%) translateY(-50%);
  -moz-transform: translateX(-50%) translateY(-50%);
  -webkit-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
}

.video-background-content {
  position: relative;
  z-index: 2;
}

.video-background-overlay {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background-color: black;
  opacity: 0.2;
  z-index: 1;
}
.hero-content {
  max-width: 655px;
}
.contain {
  max-width: 768px;
}
.contain-lg {
  max-width: 1000px;
}
.contain-sm {
  max-width: 550px;
}

#langSelect .dropdown-menu {
  min-width: auto;
}

/*CTA Tours*/
#ctaTours {
  background-image: url("/assets/img/cta-tours.jpg");
  background-size: cover;
  background-position: center;
}

/*Tours Home*/
.tourSwiper img {
  aspect-ratio: 3 / 4;
  object-fit: cover;
}

.offerSwiper img {
  aspect-ratio: 8 / 9;
  object-fit: cover;
}

/*Team Section*/
.team-label {
  width: 90%;
}
.teamSwiper .swiper-slide > div {
  min-height: 550px;
  background-size: cover;
  background-position: center;
  align-content: center;
}
.teamSwiper .swiper-pagination {
  position: static !important;
  transform: none !important;
  left: unset !important;
}
.teamSwiper .swiper-pagination-bullet {
  --swiper-pagination-bullet-width: 14px;
  --swiper-pagination-bullet-height: 14px;
}
.team-button-next.swiper-button-disabled,
.team-button-prev.swiper-button-disabled {
  opacity: 0.5;
}
.team-button-next,
.team-button-prev {
  transition: all 0.3s ease-in-out;
}

/*Reviews*/
.revSwiper .swiper-slide.swiper-slide-active {
  opacity: 1;
}
.revSwiper .swiper-slide {
  opacity: 0.5;
  transition: all 0.3s ease-in-out;
}

/*Insta Section*/
.instaSwiper img{
    aspect-ratio: 5 / 7;
    object-fit: cover;
}

/*Form section*/
textarea.form-control {
  min-height: 150px;
}
.wf-group:has(:required) .wf-label:after {
  content: "*";
  color: red;
  margin-left: 0.25rem;
}

.grecaptcha-badge {
  visibility: hidden;
}
.form-control:focus {
  border-color: var(--bs-primary);
}

/*Tours Page*/
.background-overlay {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background-color: black;
  opacity: 0.2;
  z-index: 1;
}

.background-overlay-2 {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background-color: black;
  opacity: 0.4;
  z-index: 1;
}

.page-banner {
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  min-height: 700px;
  align-content: center;
}
.content-title {
  max-width: 500px;
}

/*Tour Individual*/
.rec-section {
  background: linear-gradient(90deg, rgba(141, 109, 67, 1) 0%, rgba(191, 147, 91, 1) 100%);
}
.rec-section img {
  max-height: 35px;
}
.content-entry {
  top: 125px;
  position: sticky;
}

/*Experiences*/
#expContent:has(.expand.collapse:not(.show)) .label-collapsed {
  display: block;
}
#expContent:has(.expand.collapse.show) .label-expanded,
#expContent:has(.expand.collapsing) .label-expanded {
  display: block;
}

.label-collapsed,
.label-expanded {
  display: none;
}

.toggle-exp svg {
  transition: transform 0.3s ease-in-out;
}

#expContent:has(.expand.collapsing) svg {
  transform: rotate(22.5deg);
}

#expContent:has(.expand.collapse.show) svg {
  transform: rotate(45deg);
}

/*Real Estate*/
#galeria img {
  cursor: pointer;
}
#form {
  background-image: url("/assets/img/form-bg.jpg");
  background-size: cover;
  background-position: center;
}
.form-container {
  max-width: 850px;
  margin: 0 auto;
}
.form-container .wf-label {
  display: none;
}
.form-container .wf-consent .wf-label {
  display: inline;
}
.form-container ::placeholder {
  color: #808080;
}
.form-control:focus {
  box-shadow: none;
}

/*Blog*/
#articles img, .article-img {
  aspect-ratio: 16 / 9;
  object-fit: cover;
}
.blog-content p {
  line-height: 1.7;
}

.blog-content img{
  max-width: 100%;
  height: auto;
}

/*Contactos*/
iframe {
  width: 100%;
  border: none;
  min-height: 630px;
  filter: grayscale(1);
}

@media only screen and (max-width: 1024px) {
  #navbarLogo {
    max-width: 185px;
  }
}

/*Mobile*/
@media only screen and (max-width: 765px) {
  .py-small {
    padding-top: 10%;
    padding-bottom: 10%;
  }
  #navbarLogo {
    max-width: 185px;
  }
  .rec-section img {
    max-height: 25px;
  }
  .tourSwiper img {
    aspect-ratio: 4 / 3;
    object-fit: cover;
  }
  .content-entry {
    top: 0;
    position: static;
  }
  /*Real Estate Page*/
  #galeria img {
    border-radius: 0 !important;
  }
  /*Blog*/
  #articles img {
    aspect-ratio: 4 / 3;
    object-fit: cover;
  }
  /*Newsletter Modal*/
  .newsletter-modal .modal-dialog {
    margin: 1.5rem;
  }
  .newsletter-modal .modal-content {
    border-radius: 1rem;
  }
  .newsletter-modal .modal-body {
    padding-top: 3rem;
  }
  .newsletter-modal__image img {
    height: 200px !important;
  }
  .newsletter-modal .modal-content {
    border-radius: 1.5rem;
  }
  .newsletter-modal .btn-close {
    width: 36px;
    height: 36px;
  }
  .newsletter-modal__form {
    max-width: 100%;
  }
  .newsletter-modal__title {
    font-size: clamp(1.75rem, 1.4rem + 1vw, 2.25rem);
  }
}
