@charset "utf-8";

@font-face {
  font-family: "Nunito Sans";
  src: url("../../../fonts/NunitoSans.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Nunito Sans";
  src: url("../../../fonts/NunitoSans-Italic.ttf") format("truetype");
  font-weight: normal;
  font-style: italic;
  font-display: swap;
}

::selection {
  background-color: var(--primary-color);
  color: #fff;
}



:root {
  --section-space: 120px;
  --icons-filter-white: invert(100%) sepia(0%) saturate(7427%) hue-rotate(23deg) brightness(118%) contrast(118%);
  --icon-filter-primary: brightness(0) saturate(100%) invert(26%) sepia(49%) saturate(560%) hue-rotate(8deg) brightness(94%) contrast(92%);
  --icon-filter-primary-hover: brightness(0) saturate(100%) invert(40%) sepia(38%) saturate(380%) hue-rotate(8deg) brightness(114%) contrast(82%);
  --primary-color: #5a4524;
  --accent-color: #f0e4d0;
  --text-color: rgba(90, 69, 36, 1);
  --text-muted: #555555;

  --filter-icon-green: brightness(0) saturate(100%) invert(42%) sepia(19%) saturate(434%) hue-rotate(42deg) brightness(94%) contrast(83%);

  --font-family-title: "EB Garamond", serif;
  --font-family-text: "Libre Caslon Display", serif;
  --font-family-subtitle: "Libre Caslon Display", serif;
  --font-family-body: "Nunito Sans", sans-serif;

  /* VARIABLES PARA CIRCULO DE PALABRAS */
  --radius: 12vmin;
  --frame-size: calc(var(--radius) / 3);
  --d-outer: calc(var(--radius) * 2);
  --d-inner: calc(var(--d-outer) - var(--frame-size));
  --font-size: calc(var(--radius) / 10);
}

/* Skeleton */
@media only screen and (min-width: 1180px) and (max-width: 1366px) {
  :root {
    --section-space: 100px;
  }
}

@media only screen and (min-width: 959px) and (max-width: 1180px) {
  :root {
    --section-space: 70px;
  }
}

@media only screen and (min-width: 768px) and (max-width: 959px) {
  :root {
    --section-space: 70px;
  }
}

@media only screen and (max-width: 767px) {
  :root {
    --section-space: 50px;
  }

  .rightNav .returnChain {
    display: none;
  }

  .rightNav .headerPhone {
    display: flex !important;
  }

  .rightNav .headerPhone img {
    filter: invert(1);
    transition: all 0.3s;
    max-width: 20px;
  }
}

body {
  padding: 0;
  margin: 0;
  background-color: #f9f6f3;
  font-family: var(--font-family-body);
  font-size: 16px;
  color: var(--primary-color);
  font-weight: 400;
  line-height: normal;
  overflow-x: hidden;
}

body.no-scroll {
  overflow: hidden;
  position: fixed;
  width: 100%;
}

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

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

img {
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -o-user-select: none;
  user-select: none;
}

#cboxPhoto img {
  background-image: url("../../../images/fancybox_loading.gif");
  background-size: contain;
  background-repeat: no-repeat;
}

.right-arrow {
  background-image: url("../../../images/icons/right-arrow.svg");
  background-size: cover;
  width: 14px;
  height: 13px;
}

.button-container {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 15px;
  flex-direction: row;
}

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

.wow.fadeInUp {
  visibility: hidden;
}

@media (max-width: 992px) {
  .wow.fadeInUp {
    visibility: visible;
  }
}

.ml-60 {
  margin-left: 60px;
}

.padding-t-0 {
  padding-top: 0 !important;
}

.padding-b-0 {
  padding-bottom: 0 !important;
}

.button,
button,
[type="button"],
[type="reset"],
[type="submit"] {
  display: inline-block;
  padding: 9px 30px;
  outline: 0;
  border: none;
  border-radius: 30px;
  font-size: 0.844rem;
  background: transparent;
  border: solid 1px var(--primary-color);
  color: var(--text-color);
  font-weight: bold;
  text-transform: none;
  text-decoration: none;
  transition: 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.button:hover,
button:hover,
[type="button"]:hover,
[type="reset"]:hover,
[type="submit"]:hover {
  background-color: var(--primary-color);
  color: #fff;
  text-decoration: none;
}

/* Colores unificados para todos los botones de reserva */
.btn-booking {
  background-color: var(--primary-color);
  color: #fff;
  border: none;
}

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

.returnChain:hover a {
  color: white !important;
}

#wrap {
  float: left;
  width: 100%;
  overflow: hidden;
}

:root {
  --container-width: 1170px;
  --container-padding: calc((100vw - var(--container-width)) / 2);
}

.container {
  max-width: 1500px;
  padding: 0;
}

.noise {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 0;
  opacity: 0.75;
  pointer-events: none;
}

.noise:before {
  content: "";
  width: calc(100% + 20rem);
  height: calc(100% + 20rem);
  background-image: url(../../../images/noise.png);
  background-position: 50%;
  position: absolute;
  top: -10rem;
  left: -10rem;
  pointer-events: none;
  animation: noise 2s steps(2) infinite;
}

.swiperNavDots .swiper-pagination.linear-dots {
  pointer-events: all;
}

.swiperNavDots .swiper-pagination.linear-dots .swiper-pagination-bullet {
  margin: 0;
  border-radius: 0;
  mask: none;
  width: 32px;
  height: 2px;
  background-color: rgba(230, 230, 230, 1);
}

.swiperNavDots .swiper-pagination.linear-dots .swiper-pagination-bullet-active {
  background-color: var(--primary-color);
}

#header {
  position: fixed;
  top: 0;
  float: left;
  width: 100%;
  background-color: transparent;
  z-index: 10;
  transition: 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#header:after {
  content: "";
  width: 100%;
  height: 100%;
  background-color: transparent;
  backdrop-filter: blur(0px);
  -webkit-backdrop-filter: blur(0px);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  transition: 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#header>.container {
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  max-width: 100%;
}

#header .top-content {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: 25px 50px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
  transition: all 0.3s ease-in-out;
}

#header .logo {
  float: left;
  width: 212px;
  margin: 0 40px;
  z-index: 99;
  transition: 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#header .logo img {
  width: 100%;
  height: auto;
  filter: brightness(0) invert(1);
}

#header .leftNav {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  grid-gap: 30px;
  width: calc(50% - 147px);
  margin-left: 0;
  margin-right: auto;
}

#header .leftNav .hamburger {
  position: relative;
  float: left;
  width: auto;
}

#header .leftNav .hamburger #nav-btn,
#header .leftNav .hamburger #nav-btn+label {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: 36px;
  height: 36px;
  margin: 0;
  padding: 0;
  border: 0px solid #ffffff;
  border-radius: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 131;
  cursor: pointer;
}

#header .leftNav .hamburger #nav-btn {
  position: relative;
  opacity: 0;
  z-index: 132;
}

#header .leftNav .hamburger #nav-btn+label span {
  display: block;
  width: 28px;
  height: 1px;
  background-color: #ffffff;
  border-radius: 10px;
  position: relative;
  z-index: 131;
  cursor: pointer;
  transition: 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#header .leftNav .hamburger #nav-btn+label span::before,
#header .leftNav .hamburger #nav-btn+label span::after {
  content: "";
  display: block;
  width: 36px;
  height: 1px;
  background-color: #ffffff;
  border-radius: 10px;
  position: absolute;
  left: 0;
  transition: 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#header .leftNav .hamburger #nav-btn+label span::before {
  width: 20px;
  top: -9px;
}

#header .leftNav .hamburger #nav-btn+label span::after {
  width: 36px;
  bottom: -9px;
}

#header .leftNav .hamburger #nav-btn:checked+label span,
#header .leftNav .hamburger #nav-btn:hover+label span,
#header .leftNav .hamburger #nav-btn:hover+label span::before,
#header .leftNav .hamburger #nav-btn:hover+label span::after {
  width: 36px;
}

#header .leftNav .hamburger #nav-btn:checked+label span {
  background-color: var(--primary-color);
  border-radius: 10px;
  transform: rotate(45deg);
}

#header .leftNav .hamburger #nav-btn:checked+label span::before,
#header .leftNav .hamburger #nav-btn:checked+label span::after {
  width: 36px;
  max-width: 100%;
  background-color: var(--primary-color);
  top: 0;
  transform: rotate(90deg);
}

#header .leftNav .hamburger #nav-btn:checked+label span::after {
  opacity: 0;
}

#header .leftNav .hamburger #nav-btn:checked~nav {
  opacity: 1;
  visibility: visible;
  -webkit-transition: -webkit-opacity 0.5s, -webkit-visibility 0.5s;
  transition: opacity 0.5s, visibility 0.5s;
}

#header .leftNav .hamburger nav {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 120px 0 40px 0;
  background: #ffffff;
  opacity: 0;
  visibility: hidden;
  z-index: 130;
  -webkit-transition: -webkit-opacity 0.5s, -webkit-visibility 0.5s;
  transition: opacity 0.5s, visibility 0.5s;
  transition-delay: 1s;
  overflow: hidden;
}

#header .leftNav .hamburger nav:before,
#header .leftNav .hamburger nav:after {
  content: "";
  width: 700px;
  height: 700px;
  border-radius: 100%;
  box-shadow: inset 0 0 0 1px rgba(180, 180, 180, 0.2);
  -webkit-clip-path: polygon(0 0, 0 2px, 0 2px, 0 2px, 0 0);
  clip-path: polygon(0 0, 0 2px, 0 2px, 0 2px, 0 0);
  position: absolute;
  top: -80%;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
}

#header .leftNav .hamburger nav:after {
  top: auto;
  bottom: -80%;
}

#header .leftNav .hamburger #nav-btn:checked~nav:before,
#header .leftNav .hamburger #nav-btn:checked~nav:after {
  animation-name: drawDecorLine;
  animation-duration: 1.5s;
  animation-fill-mode: forwards;
  animation-delay: 1s;
  animation-timing-function: ease-in;
}

#header .leftNav .hamburger nav .nav_middle {
  height: 100%;
  overflow: auto;
}

#header .leftNav .hamburger nav .nav_middle::-webkit-scrollbar {
  width: 14px;
}

#header .leftNav .hamburger nav .nav_middle::-webkit-scrollbar-track {
  background: transparent;
  -webkit-border-radius: 10px;
  border-radius: 10px;
}

#header .leftNav .hamburger nav .nav_middle::-webkit-scrollbar-thumb {
  min-height: 40px;
  border: 4px solid #ffffff;
  background: #e0e0e0;
  -webkit-border-radius: 10px;
  border-radius: 10px;
  visibility: hidden;
}

#header .leftNav .hamburger nav .nav_middle:hover::-webkit-scrollbar-thumb {
  visibility: visible;
}

#header .leftNav .hamburger nav .nav_middle .container {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  grid-gap: 40px;
  height: 100%;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-name: fadeOutUp;
  animation-name: fadeOutUp;
  animation-delay: 0.5s;
}

#header .leftNav .hamburger nav .nav_middle .container.active {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp;
  animation-delay: 0.5s;
}

#header .leftNav .hamburger nav .nav_middle ul.language {
  width: 100%;
  padding: 0;
  margin: 0;
  list-style-type: none;
}

#header .leftNav .hamburger nav .nav_middle ul.language li {
  position: relative;
  float: left;
  width: auto;
  padding: 0;
  padding-right: 25px;
  font-size: 1rem;
  color: var(--primary-color);
  font-weight: 300;
  line-height: 1.625rem;
}

#header .leftNav .hamburger nav .nav_middle ul.language li:after {
  content: "/";
  position: absolute;
  top: 0;
  right: 10px;
}

#header .leftNav .hamburger nav .nav_middle ul.language li:last-child {
  padding-right: 0;
}

#header .leftNav .hamburger nav .nav_middle ul.language li:last-child:after {
  display: none;
}

#header .leftNav .hamburger nav .nav_middle ul.language li a {
  color: var(--primary-color);
  text-decoration: none;
  transition: 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#header .leftNav .hamburger nav .nav_middle ul.language>li>a:hover,
#header .leftNav .hamburger nav .nav_middle ul.language>li.current>a {
  color: var(--primary-color);
  text-decoration: underline;
  text-underline-offset: 4px;
}

#header .leftNav .hamburger nav .nav_middle .menu {
  width: calc(70% - 20px);
}

#header .leftNav .hamburger nav .nav_middle .menu ul {
  padding: 0;
  margin: 0;
  list-style-type: none;
}

#header .leftNav .hamburger nav .nav_middle .menu ul li {
  margin: 0 0 10px 0;
  font-family: "Noto Serif Display";
  font-size: 36px;
  color: var(--primary-color);
  font-weight: 250;
}

#header .leftNav .hamburger nav .nav_middle .menu ul li:last-child {
  margin-bottom: 0;
}

#header .leftNav .hamburger nav .nav_middle .menu ul li a {
  display: inline-block;
  color: var(--primary-color);
  text-decoration: none;
  transition: 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#header .leftNav .hamburger nav .nav_middle .menu ul li a:hover,
#header .leftNav .hamburger nav .nav_middle .menu ul li.current>a {
  color: var(--primary-color);
  font-weight: 500;
  text-decoration: none;
}

#header .leftNav .hamburger nav .nav_middle .menu ul.sub-menu {
  margin-left: 40px;
}

#header .leftNav .hamburger nav .nav_middle .menu ul.sub-menu li {
  font-size: 26px;
  position: relative;
}

#header .leftNav .hamburger nav .nav_middle .menu ul.sub-menu li::before {
  content: "";
  position: absolute;
  width: 32px;
  height: 1px;
  top: 50%;
  left: -40px;
  transform: translateY(-50%);
  background-color: #000;
}

#header .leftNav .hamburger nav .nav_middle .info {
  width: calc(30% - 20px);
}

#header .leftNav .hamburger nav .nav_middle .info .nav-logo{
  max-width: 200px;
  padding-bottom: 18px;
}

#header .leftNav .hamburger nav .nav_middle .info .box {
  margin-bottom: 30px;
}

#header .leftNav .hamburger nav .nav_middle .info .box:last-child {
  margin-bottom: 0;
}

#header .leftNav .hamburger nav .nav_middle .info h6 {
  margin: 0 0 5px 0;
  font-size: 1rem;
  color: var(--primary-color);
  font-weight: 700;
  line-height: 1.625rem;
}

#header .leftNav .hamburger nav .nav_middle .info ul {
  padding: 0;
  margin: 0;
  list-style-type: none;
}

#header .leftNav .hamburger nav .nav_middle .info ul li {
  font-size: 1rem;
  color: var(--primary-color);
  font-weight: 300;
  line-height: 1.625rem;
}

#header .leftNav .hamburger nav .nav_middle .info ul li:last-child {
  margin-bottom: 0;
}

#header .leftNav .hamburger nav .nav_middle .info ul li a {
  position: relative;
  display: inline-block;
  color: var(--primary-color);
  text-decoration: none;
  transition: 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#header .leftNav .hamburger nav .nav_middle .info ul li a:after {
  content: "";
  width: 100%;
  height: 1px;
  background: var(--primary-color);
  position: absolute;
  bottom: 0;
  left: 0;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.4s cubic-bezier(0, 0, 0.57, 1);
}

#header .leftNav .hamburger nav .nav_middle .info ul li a:hover:after {
  transform: scaleX(1);
  transform-origin: left;
}

#header .leftNav .hamburger nav .nav_middle .info ul.social {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  padding: 0;
  margin: 0;
  list-style-type: none;
}

#header .leftNav .hamburger nav .nav_middle .info ul.social li {
  display: block;
}

#header .leftNav .hamburger nav .nav_middle .info ul.social li a {
  display: block;
  transition: 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#header .leftNav .hamburger nav .nav_middle .info ul.social li a:after {
  display: none;
}

#header .leftNav .hamburger nav .nav_middle .info ul.social li img {
  width: 24px;
  filter: var(--icon-filter-primary);
  transition: 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#header .leftNav .hamburger nav .nav_middle .info ul.social li a:hover img {
  filter: var(--icon-filter-primary-hover);
}

#header .leftNav .hamburger nav .nav_middle .links-text {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  grid-gap: 15px;
  width: 100%;
}

#header .leftNav .hamburger nav .nav_middle .links-text .text {
  font-size: 16px;
  color: var(--primary-color);
  font-weight: 400;
  line-height: 26px;
}

#header .bottom-content ul.mainMenu {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  padding: 0;
  margin: 0;
  list-style-type: none;
}

#header .bottom-content ul.mainMenu li {
  position: relative;
  padding: 10px 0;
  font-size: 18px;
  font-family: var(--font-family-subtitle);
  color: #ffffff;
  text-transform: uppercase;
  font-weight: 400;
}

#header .bottom-content ul.mainMenu li.current {
  font-weight: 800;
}

#header .bottom-content ul.mainMenu li a {
  position: relative;
  display: block;
  color: #ffffff;
  text-decoration: none;
  transition: 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#header .bottom-content ul.mainMenu li a:after {
  content: "";
  width: 100%;
  height: 1px;
  background: #ffffff;
  position: absolute;
  bottom: 0;
  left: 0;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.4s cubic-bezier(0, 0, 0.57, 1);
}

#header .bottom-content ul.mainMenu>li>a:hover:after,
#header .bottom-content ul.mainMenu>li:hover>a:after,
#header .bottom-content ul.mainMenu>li.current>a:after {
  transform: scaleX(1);
  transform-origin: left;
}

#header .bottom-content ul.mainMenu li ul.sub-menu {
  max-height: 0px;
  overflow: hidden;
  margin: 0;
  list-style-type: none;
  min-width: 150px;
  background-color: #ffffff;
  box-shadow: 0 0 15px 0 rgb(41 51 88 / 10%);
  transform: translateY(0.5em);
  opacity: 0;
  position: absolute;
  top: 80%;
  left: 0;
  z-index: 2;
  transition: opacity, height 0.1s;
}

#header .bottom-content ul.mainMenu li:hover>ul.sub-menu {
  padding: 10px 10px;
  opacity: 1;
  max-height: 800px;
}

#header .bottom-content ul.mainMenu li ul.sub-menu li {
  position: relative;
  padding: 5px 10px;
  font-size: 16px;
  color: #8a8a8a;
  font-weight: 400;
  white-space: nowrap;
  text-transform: none;
}

#header .bottom-content ul.mainMenu li ul.sub-menu li a {
  display: inline-block;
  color: #8a8a8a;
}

#header .bottom-content ul.mainMenu li ul.sub-menu li a:after {
  background: #8a8a8a;
}

#header .bottom-content ul.mainMenu li ul.sub-menu li a:hover:after {
  transform: scaleX(1);
  transform-origin: left;
}

#header .bottom-content ul.mainMenu li ul.sub-menu :has(a:hover)>a {
  color: #8a8a8a;
}

#header .bottom-content ul.mainMenu li ul.sub-menu li.current>a {
  color: var(--primary-color);
  font-weight: 700;
  text-decoration: none;
}

#header .bottom-content ul.mainMenu li ul li ul.sub-menu {
  margin-top: -5px;
  top: 0;
  left: 100%;
}

#header .bottom-content ul.mainMenu>li>ul>li:hover>ul.sub-menu {
  opacity: 1;
  visibility: visible;
}

@media (max-width: 1444px) {
  #header .bottom-content ul.mainMenu {
    display: none;
  }
}

#header .rightNav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  grid-gap: 30px;
  width: calc(50% - 147px);
  margin-right: 0;
  margin-left: auto;
}

#header .rightNav .languageMenu {
  position: relative;
  z-index: 1;
}

#header .rightNav .languageMenu label {
  display: block;
  width: 100%;
  margin: 0;
}

#header .rightNav .languageMenu label a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 36px;
  height: 36px;
  padding: 2px 3px;
  background: transparent;
  background-image: repeating-linear-gradient(-45deg,
      rgb(255 255 255 / 40%) 0,
      currentColor 0.5px,
      transparent 0,
      transparent 50%);
  background-size: 4px 4px;
  border-radius: 100%;
  font-size: 0.844rem;
  color: #ffffff;
  font-weight: 800;
  line-height: 1.25rem;
  transition: 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#header .rightNav .languageMenu label a:hover,
#header .rightNav .languageMenu label a.open {
  background: #ffffff;
  color: var(--primary-color);
}

#header .rightNav .languageMenu ul {
  display: none;
  width: 100%;
  padding: 0;
  margin: 15px 0 0 0;
  list-style-type: none;
  background-color: #ffffff;
  box-shadow: 0 0 15px 0 rgb(41 51 88 / 10%);
  border-radius: 0px;
  position: absolute;
  top: 100%;
  left: 0;
}

#header .rightNav .languageMenu ul li a {
  display: block;
  padding: 2px 7px;
  font-size: 0.844rem;
  color: #8a8a8a;
  font-weight: 700;
  line-height: 1.25rem;
  text-decoration: none;
  transition: 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#header .rightNav .languageMenu ul li a:hover,
#header .rightNav .languageMenu ul li.current>a {
  color: var(--primary-color);
}

#header .rightNav .bookNowBtn {
  display: flex;
  width: 143px;
  padding: 8px 10px;
  border-radius: 30px;
  font-size: 0.844rem;
  font-weight: 800;
  line-height: 1.25rem;
  text-transform: none;
  text-decoration: none;
  overflow: hidden;
  user-select: none;
  transition: 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#header .rightNav .bookNowBtn:hover {
  text-decoration: none;
}

#header .rightNav .bookNowBtn span {
  display: flex;
  justify-content: space-around;
  min-width: 100%;
}

#header ul.hotelMenu {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  padding: 25px 0 0 0;
  margin: 25px 0 -70px 0;
  list-style-type: none;
}

#header ul.hotelMenu li {
  padding: 0;
  font-size: 0.844rem;
  color: #ffffff;
  font-weight: 800;
  line-height: 1.25rem;
  text-transform: uppercase;
}

#header ul.hotelMenu li a {
  position: relative;
  display: block;
  color: #ffffff;
  text-decoration: none;
  transition: 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#header ul.hotelMenu li a:after {
  content: "";
  width: 100%;
  height: 1px;
  background: #ffffff;
  position: absolute;
  bottom: 0;
  left: 0;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.4s cubic-bezier(0, 0, 0.57, 1);
}

#header ul.hotelMenu>li>a:hover:after,
#header ul.hotelMenu>li:hover>a:after,
#header ul.hotelMenu>li.current>a:after {
  transform: scaleX(1);
  transform-origin: left;
}

/*-------------- Sticky Header Start --------------*/
#header.sticky {
  position: fixed;
  top: 0;
}

#header.sticky:after {
  background-color: rgb(255 255 255);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}

#header.sticky .top-content {
  padding: 10px 50px;
}

#header.sticky .bottom-content {
  display: none;
}

#header.black .logo img,
#header.sticky .logo img {
  width: 100%;
  height: auto;
  filter: none;
}

#header.black .leftNav .hamburger #nav-btn+label span,
#header.sticky .leftNav .hamburger #nav-btn+label span {
  background-color: #0a0e28;
}

#header.black .leftNav .hamburger #nav-btn+label span::before,
#header.black .leftNav .hamburger #nav-btn+label span::after,
#header.sticky .leftNav .hamburger #nav-btn+label span::before,
#header.sticky .leftNav .hamburger #nav-btn+label span::after {
  background-color: #0a0e28;
}

#header.black .leftNav ul.mainMenu li a,
#header.sticky .leftNav ul.mainMenu li a {
  color: var(--primary-color);
}

#header.black .leftNav ul.mainMenu li a:after,
#header.sticky .leftNav ul.mainMenu li a:after {
  background: var(--primary-color);
}

#header.black .rightNav .languageMenu label a,
#header.sticky .rightNav .languageMenu label a {
  background-image: repeating-linear-gradient(-45deg,
      rgb(0 0 0 / 40%) 0,
      currentColor 0.5px,
      transparent 0,
      transparent 50%);
  color: var(--primary-color);
}

#header.black .rightNav .languageMenu label a:hover,
#header.black .rightNav .languageMenu label a.open,
#header.sticky .rightNav .languageMenu label a:hover,
#header.sticky .rightNav .languageMenu label a.open {
  background: var(--primary-color);
  color: #ffffff;
}

#header.black .rightNav .bookNowBtn,
#header.sticky .rightNav .bookNowBtn {
  /* colores heredados de .btn-booking */
}

#header.black ul.hotelMenu,
#header.sticky ul.hotelMenu {
  margin: 0;
}

#header.black ul.hotelMenu li a,
#header.sticky ul.hotelMenu li a {
  color: var(--primary-color);
}

#header.black ul.hotelMenu li a:after,
#header.sticky ul.hotelMenu li a:after {
  background: var(--primary-color);
}

#slider {
  float: left;
  width: 100%;
  overflow: hidden;
  position: relative;
  z-index: 3;
}

#slider>.container {
  position: absolute;
  height: 100%;
  right: 0;
  left: 0;
}

#slider,
#slider .home-slider {
  width: 100vw;
  height: 100dvh;
}

#slider .home-slider .swiper-slide {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

#slider .home-slider .swiper-slide:before {
  content: "";
  width: 100%;
  height: 100%;
  background: rgb(0 0 0 / 35%);
  background: linear-gradient(180deg,
      rgba(0 0 0 / 35%) 0%,
      rgba(255 255 255 / 0%) 50%,
      rgba(0 0 0 / 35%) 100%);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

#slider .home-slider .swiper-slide picture,
#slider .home-slider .swiper-slide picture img,
#slider .home-slider .swiper-slide video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#slider .home-slider .swiper-pagination {
  width: 100%;
  margin: 0 auto;
  position: absolute;
  bottom: 30px;
  right: 0;
  left: 0;
}

#slider .home-slider .swiper-pagination span {
  width: 10px;
  height: 10px;
  margin: 0 7px;
  outline: 0;
  border: none;
  mask: linear-gradient(#ffffff 0 0) 50% / 2px 100% no-repeat,
    linear-gradient(#ffffff 0 0) 0% / 100% 2px no-repeat;
  -webkit-mask: linear-gradient(#ffffff 0 0) 50% / 2px 100% no-repeat,
    linear-gradient(#ffffff 0 0) 0% / 100% 2px no-repeat;
  background: #ffffff;
  border-radius: 10px;
  opacity: 1;
  transition: 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
  transform: rotate(45deg);
}

#slider .home-slider .swiper-pagination span:hover,
#slider .home-slider .swiper-pagination span.swiper-pagination-bullet-active {
  mask: linear-gradient(#ffffff 0 0) 50% / 100% 100% no-repeat,
    linear-gradient(#ffffff 0 0) 0% / 100% 100% no-repeat;
  -webkit-mask: linear-gradient(#ffffff 0 0) 50% / 100% 100% no-repeat,
    linear-gradient(#ffffff 0 0) 0% / 100% 100% no-repeat;
}

#caption {
  width: 100%;
  position: absolute;
  bottom: 100px;
  left: 0;
  z-index: 2;
  overflow: hidden;
}

#caption .subtitle {
  display: block;
  margin: 0 0 20px 0;
  font-size: 0.844rem;
  color: #ffffff;
  font-family: var(--font-family-subtitle);
  line-height: 1.25rem;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  text-align: center;
}

#caption .subtitle br {
  display: block;
}

#caption .title {
  display: block;
  margin: 0;
  font-family: var(--font-family-title);
  font-size: 3.552rem;
  color: #ffffff;
  font-weight: 250;
  line-height: 4.177rem;
  text-align: center;
}

#caption .title br {
  display: block;
}

#caption .title strong {
  font-weight: 500;
  font-style: italic;
}

#middle {
  float: left;
  width: 100%;
  position: relative;
}

#welcomeSec {
  position: relative;
  padding-top: 120px;
  padding-bottom: 120px;
  overflow: hidden;
}

#welcomeSec:before {
  content: "";
  width: 900px;
  height: 900px;
  border-radius: 100%;
  box-shadow: inset 0 0 0 1px rgba(180, 180, 180, 0.2);
  -webkit-clip-path: polygon(0 0, 0 2px, 0 2px, 0 2px, 0 0);
  clip-path: polygon(0 0, 0 2px, 0 2px, 0 2px, 0 0);
  position: absolute;
  top: 50%;
  left: -2%;
  transform: translateY(-50%);
  z-index: -1;
  pointer-events: none;
}

#welcomeSec.in-viewport:before {
  animation-name: drawDecorLine;
  animation-duration: 1.5s;
  animation-fill-mode: forwards;
  animation-delay: 1s;
  animation-timing-function: ease-in;
}

#welcomeSec .welcome {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

#welcomeSec .welcome .image1 {
  order: 1;
  float: left;
  width: 25%;
}

#welcomeSec .welcome .image1 img {
  width: 100%;
  height: auto;
}

#welcomeSec .welcome .image2 {
  order: 3;
  float: left;
  width: 25%;
}

#welcomeSec .welcome .image2 img {
  width: 100%;
  height: auto;
}

#welcomeSec .welcome .content {
  order: 2;
  float: left;
  width: 50%;
  padding: 0 80px;
  align-self: center;
  text-align: center;
}

#welcomeSec .welcome .content .h1 {
  display: block;
  margin: 0 0 20px 0;
  font-family: var(--font-family-title);
  font-size: 3.552rem;
  color: var(--primary-color);
  font-weight: 250;
  line-height: 4.177rem;
}

#welcomeSec .welcome .content .h1 strong {
  font-weight: 400;
  font-style: italic;
}

#welcomeSec .welcome .content .h2 {
  display: block;
  margin: 0 0 70px 0;
  font-family: var(--font-family-subtitle);
  font-size: 0.844rem;
  color: var(--primary-color);
  font-weight: 500;
  line-height: 1.25rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

#welcomeSec .welcome .content p {
  margin: 0 0 20px 0;
  font-size: 1.125rem;
  text-align: justify;
  color: var(--primary-color);
  font-weight: 200;
  line-height: 1.75rem;
}

#welcomeSec .welcome .content p:last-child {
  margin-bottom: 0;
}

#welcomeSec .welcome .content p strong {
  font-weight: 500;
}

#welcomeSec .welcome .content button {
  margin-top: 30px;
}

#hotelsVillasSec {
  position: relative;
  padding-top: 120px;
  padding-bottom: 120px;
  overflow: hidden;
}

#hotelsVillasSec .topContent {
  position: relative;
  width: 100%;
  margin: 0 auto 20px auto;
  text-align: center;
}

#hotelsVillasSec .topContent .h3 {
  display: block;
  margin: 0;
  font-family: var(--font-family-title);
  font-size: 3.552rem;
  color: var(--primary-color);
  font-weight: 250;
  line-height: 4.177rem;
}

#hotelsVillasSec .topContent .h3 strong {
  font-weight: 300;
  font-style: italic;
}

#hotelsVillasSec .hotels-villas-slider .swiper-wrapper {
  transition-timing-function: linear;
}

#hotelsVillasSec .hotels-villas-slider .swiper-slide .image {
  display: block;
}

#hotelsVillasSec .hotels-villas-slider .swiper-slide .image img {
  width: 100%;
}

#hotelsVillasSec .hotels-villas-slider .swiper-slide .image:before {
  content: "";
  width: 100%;
  height: 100%;
  background: rgb(0 0 0 / 35%);
  background: linear-gradient(180deg,
      rgba(0 0 0 / 35%) 0%,
      rgba(255 255 255 / 0%) 50%,
      rgba(0 0 0 / 35%) 100%);
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  transition: opacity 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#hotelsVillasSec .hotels-villas-slider .swiper-slide:hover .image:before {
  opacity: 1;
}

#hotelsVillasSec .hotels-villas-slider .swiper-slide .info {
  display: flex;
  flex-direction: column;
  justify-content: end;
  align-items: center;
  gap: 20px;
  text-align: center;
  position: absolute;
  top: 50px;
  bottom: 30px;
  right: 50px;
  left: 50px;
  z-index: 2;
}

#hotelsVillasSec .hotels-villas-slider .swiper-slide .info .name {
  display: block;
  margin: 0;
  font-size: 0.844rem;
  color: #ffffff;
  font-weight: 700;
  line-height: 1.25rem;
  text-transform: uppercase;
  letter-spacing: 0.2em;
}

#hotelsVillasSec .hotels-villas-slider .swiper-slide .info .button {
  position: relative;
  display: block;
  padding: 8px 30px;
  border: none;
  background-color: transparent;
  border-radius: 30px;
  font-size: 0.844rem;
  color: #ffffff;
  font-weight: 700;
  line-height: 1.25rem;
  text-transform: none;
  text-decoration: none;
  overflow: hidden;
  transition: 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#hotelsVillasSec .hotels-villas-slider .swiper-slide .info .button:after {
  content: none;
}

#hotelsVillasSec .hotels-villas-slider .swiper-slide .info .button:hover {
  background-color: rgb(255 255 255 / 80%);
  color: var(--primary-color);
  text-decoration: none;
}

#hotelsVillasSec .hotels-villas-slider .swiper-slide .logo {
  filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(142deg) brightness(105%) contrast(101%);
  opacity: 0.8;
}

@media (max-width: 767px) {
  #hotelsVillasSec .hotels-villas-slider .swiper-slide .image:before {
    opacity: 1;
  }
}

#defaultSliderSec {
  position: relative;
  padding-top: 120px;
  padding-bottom: 120px;
  overflow: hidden;
}

#defaultSliderSec .default-slider-container .swiper-wrapper {
  transition-timing-function: linear;
}

#defaultSliderSec .default-slider-container .swiper-slide .default-slider-image {
  display: block;
}

#defaultSliderSec .default-slider-container .swiper-slide .default-slider-image img {
  width: 100%;
}

#defaultSliderSec .default-slider-container .swiper-slide .default-slider-image:before {
  content: "";
  width: 100%;
  height: 100%;
  background: rgb(0 0 0 / 35%);
  background: linear-gradient(180deg,
      rgba(0 0 0 / 35%) 0%,
      rgba(255 255 255 / 0%) 50%,
      rgba(0 0 0 / 35%) 100%);
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  transition: opacity 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#defaultSliderSec .default-slider-container .swiper-slide:hover .default-slider-image:before {
  opacity: 1;
}

#defaultSliderSec .default-slider-container .swiper-slide .default-slider-info {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  text-align: center;
  position: absolute;
  top: 50px;
  bottom: 50px;
  right: 50px;
  left: 50px;
  z-index: 2;
}

#defaultSliderSec .default-slider-container .swiper-slide .default-slider-info .name {
  display: block;
  margin: 60px 0 0 0;
  font-family: var(--font-family-title);
  font-size: 2rem;
  color: #ffffff;
  font-weight: 250;
  line-height: 2.5rem;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  pointer-events: none;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}

#defaultSliderSec .default-slider-container .swiper-slide .default-slider-info .button {
  position: relative;
  display: block;
  padding: 8px 30px;
  border: none;
  background-color: transparent;
  border-radius: 30px;
  font-size: 0.844rem;
  color: #ffffff;
  font-weight: 700;
  line-height: 1.25rem;
  text-transform: none;
  text-decoration: none;
  overflow: hidden;
  transition: 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#defaultSliderSec .default-slider-container .swiper-slide .default-slider-info .button:after {
  content: none;
}

#defaultSliderSec .default-slider-container .swiper-slide .default-slider-info .button:hover {
  background-color: rgb(255 255 255 / 80%);
  color: var(--primary-color);
  text-decoration: none;
}

#defaultSliderSec .default-slider-container .swiper-slide .default-slider-logo {
  filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(142deg) brightness(105%) contrast(101%);
  opacity: 0.8;
}

#defaultSliderSec .default-slider-container .swiper-slide .default-slider-info .description {
  margin: auto 0;
  font-size: 1.125rem;
  color: #ffffff;
  font-weight: 200;
  line-height: 1.75rem;
  font-family: var(--font-family-text);
  opacity: 0;
  pointer-events: none;
  overflow: hidden;
  text-overflow: ellipsis;
  transform: translateY(30px);
  transition: opacity 0.25s ease-out, transform 0.25s ease-out;
}

#defaultSliderSec .default-slider-container .swiper-slide:hover .default-slider-info .description {
  margin: auto 0;
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}


@media (max-width: 767px) {
  #defaultSliderSec .default-slider-container .swiper-slide .default-slider-image:before {
    opacity: 1;
  }
}

/* FLECHAS DEL DEFAULT SLIDER - Estilo círculo (igual que rooms-list / room-detail) */
#defaultSliderSec .default-slider-container .swiper-button-next,
#defaultSliderSec .default-slider-container .swiper-button-prev {
  width: 57px;
  height: 57px;
  margin: 0;
  border: 1px solid var(--primary-color);
  border-radius: 100%;
  background-color: var(--primary-color);
  opacity: 1;
  transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  display: flex;
  align-items: center;
  justify-content: center;
}

#defaultSliderSec .default-slider-container .swiper-button-next:after,
#defaultSliderSec .default-slider-container .swiper-button-prev:after {
  display: none;
}

#defaultSliderSec .default-slider-container .swiper-button-next img,
#defaultSliderSec .default-slider-container .swiper-button-prev img {
  width: 24px;
  filter: var(--icons-filter-white);
}

#defaultSliderSec .default-slider-container .swiper-button-next:hover,
#defaultSliderSec .default-slider-container .swiper-button-prev:hover {
  background-color: #000;
  border-color: #000;
}

#defaultSliderSec .default-slider-container .swiper-button-next.swiper-button-disabled,
#defaultSliderSec .default-slider-container .swiper-button-prev.swiper-button-disabled,
#defaultSliderSec .default-slider-container .swiper-button-next.swiper-button-disabled:hover,
#defaultSliderSec .default-slider-container .swiper-button-prev.swiper-button-disabled:hover {
  opacity: .3;
  background-color: var(--primary-color);
  border-color: var(--primary-color);
  cursor: not-allowed;
  pointer-events: none;
}

/* En móvil ocultamos las flechas porque tapan el texto del slide */
@media (max-width: 767px) {
  #defaultSliderSec .default-slider-container .swiper-button-next,
  #defaultSliderSec .default-slider-container .swiper-button-prev {
    display: none;
  }
}


#destiniesSec {
  position: relative;
  padding-top: 120px;
  padding-bottom: 120px;
  overflow: hidden;
}

#destiniesSec .destinies {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 10%;
}

#destiniesSec .leftBox {
  width: 45%;
}

#destiniesSec .rightBox {
  width: 45%;
}

#destiniesSec .destinies .h3 {
  display: block;
  margin: 70px 0 70px -100px;
  font-family: var(--font-family-title);
  font-size: 3.552rem;
  color: var(--primary-color);
  font-weight: 250;
  line-height: 4.177rem;
}

#destiniesSec .destinies .h3 strong {
  font-weight: 500;
  font-style: italic;
}

#destiniesSec .destinies p {
  margin: 20px 0 0 100px;
  font-size: 1.125rem;
  color: var(--primary-color);
  font-weight: 200;
  line-height: 1.75rem;
}

#destiniesSec .destinies .button {
  margin: 70px 0 0 100px;
}

#destiniesSec .destinies .image {
  position: relative;
  display: inline-block;
  margin: 0 0 70px 0;
  opacity: 0;
  transform: scaleX(1.07) scaleY(1.07);
  transition-property: transform, opacity;
  transition-duration: 1000ms;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

#destiniesSec .destinies .image.in-viewport {
  opacity: 1;
  transform: scaleX(1) scaleY(1);
}

#destiniesSec .destinies .image:last-child {
  margin-bottom: 0;
}

#destiniesSec .destinies .image:before {
  content: "";
  width: 100%;
  height: 100%;
  background: rgb(0 0 0 / 35%);
  background: linear-gradient(180deg,
      rgba(0 0 0 / 35%) 0%,
      rgba(255 255 255 / 0%) 50%,
      rgba(0 0 0 / 35%) 100%);
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  transition: opacity 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#destiniesSec .destinies .image:hover:before {
  opacity: 1;
}

#destiniesSec .destinies .image .info {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
  text-align: left;
  position: absolute;
  bottom: 20px;
  right: 50px;
  left: 50px;
  z-index: 2;
}

#destiniesSec .destinies .image .info .name {
  display: block;
  margin: 0;
  font-family: "Noto Serif Display", sans-serif;
  font-size: 2rem;
  color: #ffffff;
  font-weight: 250;
  line-height: 2.5rem;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  text-align: right;
}

#destiniesSec .destinies .image .info .button {
  position: relative;
  display: block;
  margin: 0;
  padding: 8px 30px;
  border: none;
  background-color: transparent;
  border-radius: 30px;
  font-size: 0.844rem;
  color: #ffffff;
  font-weight: 700;
  line-height: 1.25rem;
  text-transform: none;
  text-decoration: none;
  overflow: hidden;
  transition: 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#destiniesSec .destinies .image .info .button:after {
  content: none;
}

#destiniesSec .destinies .image .info .button:hover {
  background-color: rgb(255 255 255 / 80%);
  color: var(--primary-color);
  text-decoration: none;
}

@media (max-width: 767px) {
  #destiniesSec .destinies .image:before {
    opacity: 1;
  }
}

@media (max-width: 1700px) {
  #destiniesSec .destinies .h3 {
    margin: 70px 0 70px 0;
  }
}

#experiencesSec {
  position: relative;
  padding: 120px 0;
  margin-bottom: 120px;
  overflow: hidden;
  background-color: var(--accent-color);
}

#experiencesSec .container {
  max-width: 1500px;
}

#experiencesSec .topContent {
  position: relative;
  width: 100%;
  margin: 0 auto 70px auto;
  text-align: center;
}

#experiencesSec .topContent .h3 {
  display: block;
  margin: 0 auto 20px auto;
  font-family: var(--font-family-title);
  font-size: 3.552rem;
  color: var(--primary-color);
  font-weight: 250;
  line-height: 4.177rem;
  width: 40%;
}

#experiencesSec .topContent span {
  color: var(--primary-color);
  font-family: var(--font-family-subtitle);
}

#experiencesSec .topContent .h3 span {
  color: var(--primary-color);
  font-family: var(--font-family-title);
}

#experiencesSec .topContent .h3 .left-part {
  display: block;
  text-align: left;
}

#experiencesSec .topContent .h3 .right-part {
  display: block;
  text-align: left;
  padding-left: 0;
}

#experiencesSec .topContent .h3 br {
  display: block;
}

#experiencesSec .topContent .h3 strong {
  font-weight: 400;
  font-style: italic;
}

#experiencesSec .topContent p {
  display: block;
  margin: 0 0 20px 0;
  font-family: "Roboto Condensed";
  font-size: 0.844rem;
  color: var(--primary-color);
  font-weight: 500;
  line-height: 1.25rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

#experiencesSec .topContent p:last-child {
  margin-bottom: 0;
}

#experiencesSec .experiences {
  position: relative;
}

#experiencesSec .experiences-slider .swiper-slide {
  transition: 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
  margin-top: 30px;
}

#experiencesSec .experiences-slider .swiper-slide-active {
  margin-top: 0;
}

#experiencesSec .experiences-slider .swiper-slide-next {
  margin-top: 70px;
}

#experiencesSec .experiences-slider .swiper-slide .image {
  display: block;
}

#experiencesSec .experiences-slider .swiper-slide .image img {
  width: 100%;
}

#experiencesSec .experiences-slider .swiper-slide .image:before {
  content: "";
  width: 100%;
  height: 100%;
  background: rgb(90 69 36 / 45%);
  background: linear-gradient(to bottom,
      rgba(255, 255, 255, 0) 0%,
      rgba(90, 69, 36, 0.5) 0%,
      rgba(90, 69, 36, 0.7) 100%);

  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  transition: opacity 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#experiencesSec .experiences-slider .swiper-slide:hover .image:before {
  opacity: 1;
}

#experiencesSec .experiences-slider .swiper-slide .info {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  text-align: center;
  position: absolute;
  top: 50px;
  bottom: 50px;
  right: 50px;
  left: 50px;
  z-index: 2;
}

#experiencesSec .experiences-slider .swiper-slide .info .name {
  display: block;
  margin: 60px 0 0 0;
  font-family: "Noto Serif Display";
  font-size: 2rem;
  color: #ffffff;
  font-weight: 250;
  line-height: 2.5rem;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  pointer-events: none;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}

#experiencesSec .experiences-slider .swiper-slide .info .name:has(~ p) {
  margin: auto 0 0 0;
}

#experiencesSec .experiences-slider .swiper-slide .info .description {
  margin: auto 0;
  font-size: 1.125rem;
  color: #ffffff;
  font-weight: 200;
  line-height: 1.75rem;
  font-family: var(--font-family-text);
  opacity: 0;
  pointer-events: none;
  display: -webkit-box;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  transform: translateY(30px);
  transition:
    opacity 0.25s ease-out,
    transform 0.25s ease-out;
}

#experiencesSec .experiences-slider .swiper-slide:hover .info .description {
  margin: auto 0;
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}


#experiencesSec .experiences-slider .swiper-slide .info .button {
  margin: 20px 0 0 0;
  background-color: rgb(255 255 255 / 80%);
}

#experiencesSec .experiences-slider .swiper-slide .info .button:hover {
  background-color: var(--primary-color);
  color: #fff;
}

#experiencesSec .swiperNavDots {
  display: flex;
  justify-content: space-between;
  width: 100%;
  margin-top: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
}

#experiencesSec .swiperNavDots .swiper-button-prev {
  margin-left: -77px;
}

#experiencesSec .swiperNavDots .swiper-button-next {
  margin-right: -77px;
}

/* Estados de las flechas del experiences-slider (igual que rooms / room-detail) */
#experiencesSec .swiperNavDots [class*=swiper-button-] {
  background-color: var(--primary-color);
  border-color: var(--primary-color);
  opacity: 1;
}

#experiencesSec .swiperNavDots [class*=swiper-button-] img {
  filter: var(--icons-filter-white);
}

#experiencesSec .swiperNavDots [class*=swiper-button-]:hover {
  background-color: #000;
  border-color: #000;
}

#experiencesSec .swiperNavDots [class*=swiper-button-].swiper-button-disabled,
#experiencesSec .swiperNavDots [class*=swiper-button-].swiper-button-disabled:hover {
  opacity: .3;
  background-color: var(--primary-color);
  border-color: var(--primary-color);
  cursor: not-allowed;
  pointer-events: none;
}

/* Flechas: el container es 1500px → necesita 1500 + 77×2 = 1654px para mostrarlas fuera */
@media (min-width: 992px) and (max-width: 1654px) {
  #experiencesSec .swiperNavDots .swiper-button-prev {
    margin-left: 0;
  }
  #experiencesSec .swiperNavDots .swiper-button-next {
    margin-right: 0;
  }
}

@media (max-width: 767px) {
  #experiencesSec .experiences-slider .swiper-slide .image:before {
    opacity: 1;
  }

  /* En móvil mostramos siempre la descripción (no hay hover) */
  #experiencesSec .experiences-slider .swiper-slide .info .description {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
  }
}

#experiencesSec .experiencies--location .experiences-slider .swiper-slide .info  {
  top: 50%;
  transform: translateY(-50%);
  bottom: auto;
  display: block;
}

#experiencesSec .experiencies--location .experiences-slider .swiper-slide .name  {
  margin-top: 0;
  margin-bottom: 32px;
}

#experiencesSec .experiencies--location .experiences-slider .swiper-slide .info .description {
  display: -webkit-box;
  -webkit-line-clamp: 50;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  height: auto;
}


#promoted-section {
  position: relative;
  padding-top: 120px;
  padding-bottom: 120px;
  overflow: hidden;
}

#promoted-section .promoted-section__content {
  width: 100%;
  padding: 0 70px;
}

#promoted-section .promoted-section__content .image {
  position: relative;
  float: left;
  width: calc(100% + 140px);
  margin: 0 -70px;
}

#promoted-section .promoted-section__content .image::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  background: linear-gradient(to bottom,
      rgba(255, 255, 255, 0) 0%,
      rgba(90, 69, 36, 0.5) 45%,
      rgba(90, 69, 36, 0.7) 65%);
  pointer-events: none;
}

#promoted-section .promoted-section__content .image img {
  width: 100%;
  height: 770px;
  object-fit: cover;
}

#promoted-section .promoted-section__content .image .info {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-self: center;
  width: 30%;
  margin: 100px;
  text-align: left;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 2;
  align-items: flex-start;
}

#promoted-section .promoted-section__content .image .info.left {
  align-items: flex-start;
  margin: auto auto 100px 100px;
  text-align: left;
}

#promoted-section .promoted-section__content .image .info .h3 {
  display: block;
  margin: 0;
  font-family: var(--font-family-title);
  font-size: 3.552rem;
  color: #ffffff;
  font-weight: 250;
  line-height: 4.177rem;
}

#promoted-section .promoted-section__content .image .info .h3 br {
  display: block;
}

#promoted-section .promoted-section__content .image .info .h3 strong {
  font-weight: 400;
  font-style: italic;
}

#promoted-section .promoted-section__content .image .info p {
  display: block;
  margin: 30px 0 0 0;
  font-family: var(--font-family-subtitle);
  font-size: 0.844rem;
  color: #ffffff;
  font-weight: 500;
  line-height: 1.25rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

#promoted-section .promoted-section__content .image .info .button {
  margin-top: 20px;
  background-color: rgb(255 255 255 / 80%);
}

#promoted-section .promoted-section__content .image .info .button:hover {
  background-color: var(--primary-color);
}

#newsletterSec {
  position: relative;
  padding-bottom: 120px;
  padding-top: 120px;
  overflow: hidden;
  background-color: var(--accent-color);
  z-index: 1;
}

#newsletterSec:before {
  display: none;
}

#newsletterSec.in-viewport:before {
  animation-name: drawDecorLine;
  animation-duration: 1.5s;
  animation-fill-mode: forwards;
  animation-delay: 1s;
  animation-timing-function: ease-in;
}

#newsletterSec .newsletter {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 10%;
  padding: 0 14rem;
}

#newsletterSec .content {
  width: 45%;
}

#newsletterSec .content span {
  margin: 0;
  font-size: 0.844rem;
  color: var(--primary-color);
  font-family: var(--font-family-subtitle);
  font-weight: 300;
  line-height: 1.25rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

#newsletterSec .content .h4 {
  display: block;
  margin: 40px 0 0 0;
  font-family: var(--font-family-title);
  font-size: 76px;
  color: var(--primary-color);
  font-weight: 250;
  line-height: 72px;
}

#newsletterSec .content .h4 strong {
  font-weight: 500;
  font-style: italic;
}

#newsletterSec .content .h4 br {
  display: block;
}

#newsletterSec .content p {
  margin: 20px 0 0 40px;
  font-family: var(--font-family-subtitle);
  font-size: 0.844rem;
  color: var(--primary-color);
  font-weight: 500;
  line-height: 1.25rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

#newsletterSec .newsform {
  width: 45%;
}

#newsletterSec .newsform .form-group {
  position: relative;
  display: flex;
  grid-gap: 20px;
  margin-top: 20px;
  margin-bottom: 0;
}

#newsletterSec .newsform .form-group.newsletter-alerts {
  display: none;
}

#newsletterSec .newsform .form-group.newsletter-alerts .alert {
  margin-bottom: 0;
}

#newsletterSec .newsform .form-group:first-child {
  margin-top: 0;
}

#newsletterSec .newsform .form-group .form-control {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  width: 1%;
  height: 64px;
  padding: 10px 20px;
  padding-right: 150px;
  border: 1px solid rgba(180, 180, 180, 0.2);
  background-color: #fff;
  border-radius: 100px;
  box-shadow: none;
  font-size: 18px;
  line-height: 27px;
  color: var(--primary-color);
  font-weight: 400;
}

#newsletterSec .newsform .form-group .form-control::placeholder {
  color: var(--primary-color);
  font-style: italic;
  font-family: var(--font-family-text);
}

#newsletterSec .newsform .form-group label.checkbox {
  position: relative;
  margin: 0;
  padding-left: 50px;
  font-size: 0.844rem;
  color: var(--primary-color);
  font-weight: 300;
  line-height: 1.063rem;
  font-family: var(--font-family-text);
}

#newsletterSec .newsform .form-group label input {
  appearance: none;
  width: 18px;
  height: 18px;
  outline: 0;
  border: 1px solid var(--primary-color);
  background-color: #ffffff;
  border-radius: 100%;
  vertical-align: text-top;
  position: absolute;
  top: 0;
  left: 20px;
  cursor: pointer;
}

#newsletterSec .newsform .form-group label input:checked:before {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  background: var(--primary-color);
  border-radius: 100%;
  position: relative;
  top: 2px;
  left: 2px;
}

#newsletterSec .newsform .form-group label strong {
  font-weight: 700;
}

#newsletterSec .newsform .form-group label a {
  font-weight: 700;
  color: var(--primary-color);
}

#newsletterSec .newsform .form-group button {
  position: relative;
  display: block;
  margin: 0;
  padding: 8px 30px;
  border: none;
  background-color: transparent;
  border-radius: 30px;
  font-size: 0.844rem;
  color: var(--primary-color);
  border: solid 1px var(--primary-color);
  font-weight: 700;
  line-height: 1.25rem;
  text-transform: none;
  text-decoration: none;
  overflow: hidden;
  position: absolute;
  top: 13px;
  right: 13px;
  bottom: 13px;
  transition: 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#newsletterSec .newsform .form-group button:hover {
  color: #ffffff;
  background-color: var(--primary-color);
  text-decoration: none;
}

#newsletterSec .newsform .form-group button:after {
  content: "";
  width: 100%;
  height: 100%;
  background-color: rgba(248, 246, 244, 1);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  transition: 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#newsletterSec .newsform .form-group button:hover:after {
  background-color: var(--primary-color);
}

#footer {
  float: left;
  width: 100%;
  background-color: #F9F6F3;
  position: relative;
  z-index: 3;
  margin-bottom: 95px;
}

@media (max-width: 959px) {
  #footer {
    margin-bottom: 55px;
  }
}


#footer .decor-circle1 {
  display: none;
}

#footer .decor-circle2 {
  display: none;
}

.footerSection {
  position: relative;
  padding: 0 50px;
  display: flex;
  flex-direction: row;
}

.footerSection:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  border-top: 1px solid rgba(180, 180, 180, 0.2);
  border-bottom: 1px solid rgba(180, 180, 180, 0.2);
  transition: -webkit-clip-path 2000ms cubic-bezier(0.4, 0, 0.09, 0.98);
  transition: clip-path 2000ms cubic-bezier(0.4, 0, 0.09, 0.98);
  transition: clip-path 2000ms cubic-bezier(0.4, 0, 0.09, 0.98),
    -webkit-clip-path 2000ms cubic-bezier(0.4, 0, 0.09, 0.98);
  -webkit-clip-path: circle(0% at 0 0);
  clip-path: circle(0% at 0 0);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

.footerSection.in-viewport:after {
  -webkit-clip-path: circle(142% at 0 0);
  clip-path: circle(142% at 0 0);
}

.footerSection .row {
  margin-right: -50px;
  margin-left: -50px;
}

.footerSection [class*="ftr_"] {
  position: relative;
  padding: 0 50px;
  padding-top: 50px;
  padding-bottom: 50px;
  width: 33%;
}

.footerSection [class*="ftr_"]:after {
  content: "";
  display: block;
  width: 0;
  height: 100%;
  border-right: 1px solid rgba(180, 180, 180, 0.2);
  transition: -webkit-clip-path 1000ms cubic-bezier(0.4, 0, 0.09, 0.98);
  transition: clip-path 1000ms cubic-bezier(0.4, 0, 0.09, 0.98);
  transition: clip-path 1000ms cubic-bezier(0.4, 0, 0.09, 0.98),
    -webkit-clip-path 1000ms cubic-bezier(0.4, 0, 0.09, 0.98);
  -webkit-clip-path: circle(0% at 0 0);
  clip-path: circle(0% at 0 0);
  position: absolute;
  top: 0;
  right: 0;
  z-index: -1;
}

.footerSection.in-viewport [class*="ftr_"]:nth-child(1):after {
  -webkit-clip-path: circle(150% at 50% 0);
  clip-path: circle(150% at 50% 0);
  transition-delay: 1500ms;
}

.footerSection.in-viewport [class*="ftr_"]:nth-child(2):after {
  -webkit-clip-path: circle(150% at 50% 0);
  clip-path: circle(150% at 50% 0);
  transition-delay: 2000ms;
}

.footerSection [class*="ftr_"] h3 {
  margin: 0 0 20px 0;
  font-size: 0.844rem;
  color: var(--primary-color);
  font-weight: 700;
  line-height: 1.25rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.footerSection .ftr_info .logo {
  width: 307px;
  max-width: 100%;
}

.footerSection .ftr_info .logo a {
  display: block;
}

.footerSection .ftr_menu {
  display: flex;
  justify-content: space-between;
  gap: 50px;
  width: 40%;
}

.footerSection .ftr_menu .box {
  width: 50%;
}

.footerSection .ftr_menu ul {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  padding: 0;
  margin: 0;
  list-style-type: none;
}

.footerSection .ftr_menu ul li {
  font-size: 1.125rem;
  color: var(--primary-color);
  font-weight: 400;
  line-height: 1.438rem;
}

.footerSection .ftr_menu ul li a {
  position: relative;
  display: block;
  color: var(--primary-color);
  text-decoration: none;
  transition: 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.footerSection .ftr_menu ul li a:after {
  content: "";
  width: 100%;
  height: 1px;
  background: var(--primary-color);
  position: absolute;
  bottom: 0;
  left: 0;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.4s cubic-bezier(0, 0, 0.57, 1);
}

.footerSection .ftr_menu ul li a:hover:after {
  transform: scaleX(1);
  transform-origin: left;
}

.footerSection .ftr_policy {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 50px;
  width: 33%;
}

.footerSection .ftr_policy .box {
  width: 100%;
}

.footerSection .ftr_policy ul {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  padding: 0;
  margin: 0;
  list-style-type: none;
}

.footerSection .ftr_policy ul li {
  font-size: 1.125rem;
  color: var(--primary-color);
  font-weight: 400;
  line-height: 1.438rem;
}

.footerSection .ftr_policy ul li a {
  position: relative;
  display: block;
  color: var(--primary-color);
  text-decoration: none;
  transition: 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.footerSection .ftr_policy ul li a:after {
  content: "";
  width: 100%;
  height: 1px;
  background: var(--primary-color);
  position: absolute;
  bottom: 0;
  left: 0;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.4s cubic-bezier(0, 0, 0.57, 1);
}

.footerSection .ftr_policy ul li a:hover:after {
  transform: scaleX(1);
  transform-origin: left;
}

.footerSection .ftr_socials {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 33%;
}

.footerSection .ftr_socials h3 {
  margin-bottom: 10px;
}

.footerSection .ftr_socials .social {
  display: flex;
  flex-direction: row;
  gap: 10px;
  list-style: none;
  padding: 0;
  margin: 0;
}

#footer .footerSection .social li {
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
}

#footer .footerSection .social li a {
  display: inline-block;
}

#footer .footerSection .social li img {
  width: 24px;
  height: 24px;
  filter: var(--icon-filter-primary);
  transition: 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#footer .footerSection .social li a:hover img {
  filter: var(--icon-filter-primary-hover);
}

.footerSection .ftr_links ul {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  padding: 0;
  margin: 0;
  list-style-type: none;
}

.footerSection .ftr_links ul li {
  font-size: 1.125rem;
  color: var(--primary-color);
  font-weight: 400;
  line-height: 1.438rem;
}

.footerSection .ftr_links ul li a {
  position: relative;
  display: block;
  color: var(--primary-color);
  text-decoration: none;
  transition: 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.footerSection .ftr_links ul li a:after {
  content: "";
  width: 100%;
  height: 1px;
  background: var(--primary-color);
  position: absolute;
  bottom: 0;
  left: 0;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.4s cubic-bezier(0, 0, 0.57, 1);
}

.footerSection .ftr_links ul li a:hover:after {
  transform: scaleX(1);
  transform-origin: left;
}

.footerBottom {
  position: relative;
  flex-direction: row-reverse;
  display: flex;
  justify-content: space-between;
  align-items: center;
  grid-gap: 20px;
  padding: 20px 50px;
}

.footerBottom .copy_text {
  font-size: 0.844rem;
  color: var(--primary-color);
  font-weight: 400;
  line-height: 1.25rem;
}

.footerBottom .copy_text img {
  filter: var(--icon-filter-primary);
}

#contactInfoSec img.icon,
#contactInfoSec img.arrow {
  filter: var(--icon-filter-primary);
  transition: 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#modal_welcome .close img {
  filter: var(--icon-filter-primary);
  transition: 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#cboxClose img {
  filter: var(--icon-filter-primary);
  transition: 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.bookMobileButton {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100vw;
  z-index: 5;
}

.bookMobileButton .bookNowBtn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 55px;
  text-align: center;
}

/*----------------- Modal Design -----------------*/
.modal-backdrop {
  background-color: var(--primary-color);
}

.modal-backdrop.show {
  opacity: 0.6;
}

.modalDesign::-webkit-scrollbar {
  width: 14px;
}

.modalDesign::-webkit-scrollbar-track {
  background: transparent;
  -webkit-border-radius: 10px;
  border-radius: 10px;
}

.modalDesign::-webkit-scrollbar-thumb {
  min-height: 40px;
  border: 4px solid rgb(38 38 38);
  background: rgb(0 0 0 / 70%);
  -webkit-border-radius: 10px;
  border-radius: 10px;
  visibility: hidden;
}

.modalDesign:hover::-webkit-scrollbar-thumb {
  visibility: visible;
}

.modalDesign .modal-content {
  background-color: #fff;
  border: none;
  border-radius: 0px;
}

.modalDesign .modal-body {
  padding: 50px 50px;
  overflow: hidden;
}

.modalDesign .modal-body:before,
.modalDesign .modal-body:after {
  content: "";
  width: 600px;
  height: 600px;
  border-radius: 100%;
  box-shadow: inset 0 0 0 1px rgba(180, 180, 180, 0.2);
  -webkit-clip-path: polygon(0 0, 0 2px, 0 2px, 0 2px, 0 0);
  clip-path: polygon(0 0, 0 2px, 0 2px, 0 2px, 0 0);
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(-50%, -72%);
  z-index: 0;
}

.modalDesign .modal-body:after {
  top: auto;
  left: auto;
  bottom: 0;
  right: 0;
  transform: translate(57%, 86%);
}

.modalDesign.show .modal-body:before,
.modalDesign.show .modal-body:after {
  animation-name: drawDecorLine;
  animation-duration: 1.5s;
  animation-fill-mode: forwards;
  animation-delay: 0s;
  animation-timing-function: ease-in;
}

.modalDesign .close {
  float: right;
  margin: -30px -30px 0 0;
  padding: 0;
  outline: 0;
  border: none;
  background-color: #e6e6e6;
  opacity: 1;
}

.modalDesign .close:hover {
  opacity: 1;
  background-color: #f2f2f2;
}

.modalDesign .modal-body h2 {
  margin: 0 0 20px 0;
  font-family: "Noto Serif Display";
  font-size: 2.665rem;
  color: var(--primary-color);
  font-weight: 250;
  line-height: 3.29rem;
}

.modalDesign .modal-body h2 strong {
  font-weight: 500;
  font-style: italic;
}

.modalDesign .modal-body h3 {
  display: block;
  margin: 0 0 20px 0;
  font-family: "Roboto Condensed";
  font-size: 0.844rem;
  color: var(--primary-color);
  font-weight: 500;
  line-height: 1.25rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.modalDesign .modal-body ul,
.modalDesign .modal-body p {
  margin: 0 0 20px 0;
  font-size: 16px;
  color: var(--primary-color);
  font-weight: 300;
  line-height: 26px;
}

.modalDesign .modal-body p:last-child {
  margin-bottom: 0;
}

.modalDesign .modal-body p strong {
  font-weight: 700;
}

/*----------------- Inner Pages -----------------*/
#innerBanner {
  float: left;
  width: 100%;
  overflow: hidden;
  position: relative;
  z-index: 3;
}

#innerBanner>.container {
  position: absolute;
  height: 100%;
  right: 0;
  left: 0;
}

#innerBanner,
#innerBanner .inner-slider {
  width: 100vw;
  height: 80dvh;
}

#innerBanner .inner-slider .swiper-slide {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  overflow: hidden;
  opacity: 1;
}

#innerBanner .inner-slider .swiper-slide:before {
  content: "";
  width: 100%;
  height: 100%;
  background: rgb(0 0 0 / 35%);
  background: linear-gradient(180deg,
      rgba(0 0 0 / 35%) 0%,
      rgba(255 255 255 / 0%) 50%,
      rgba(0 0 0 / 35%) 100%);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

#innerBanner .inner-slider .swiper-slide picture,
#innerBanner .inner-slider .swiper-slide picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#innerBanner .inner-slider .swiper-pagination {
  width: 100%;
  margin: 0 auto;
  position: absolute;
  bottom: 30px;
  right: 0;
  left: 0;
}

#innerBanner .inner-slider .swiper-pagination span {
  width: 10px;
  height: 10px;
  margin: 0 7px;
  outline: 0;
  border: none;
  mask: linear-gradient(#ffffff 0 0) 50% / 2px 100% no-repeat,
    linear-gradient(#ffffff 0 0) 0% / 100% 2px no-repeat;
  -webkit-mask: linear-gradient(#ffffff 0 0) 50% / 2px 100% no-repeat,
    linear-gradient(#ffffff 0 0) 0% / 100% 2px no-repeat;
  background: #ffffff;
  border-radius: 10px;
  opacity: 1;
  transition: 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#innerBanner .inner-slider .swiper-pagination span:hover,
#innerBanner .inner-slider .swiper-pagination span.swiper-pagination-bullet-active {
  mask: linear-gradient(#ffffff 0 0) 50% / 100% 100% no-repeat,
    linear-gradient(#ffffff 0 0) 0% / 100% 100% no-repeat;
  -webkit-mask: linear-gradient(#ffffff 0 0) 50% / 100% 100% no-repeat,
    linear-gradient(#ffffff 0 0) 0% / 100% 100% no-repeat;
}

#breadCrumb {
  float: left;
  width: 100%;
  padding: 40px 50px;
}

#breadCrumb ol {
  float: left;
  width: 100%;
  padding: 0;
  margin: 0;
  list-style-type: none;
}

#breadCrumb ol>li {
  float: left;
  font-size: 0.844rem;
  color: var(--primary-color);
  font-weight: 700;
  line-height: 1.25rem;
}

#breadCrumb ol>li:after {
  content: "";
  display: inline-block;
  width: 18px;
  height: 1px;
  margin: 0 10px;
  background-color: #b4b4b4;
}

#breadCrumb ol>li:last-child:after {
  display: none;
}

#breadCrumb ol>li a {
  color: #b4b4b4;
  font-weight: 500;
  text-decoration: none;
  transition: all 0.3s ease-in-out;
}

#breadCrumb ol>li a:hover {
  color: var(--primary-color);
  text-decoration: none;
}

/*----------------- Hotel Page -----------------*/
#hotelIntroSec {
  position: relative;
  padding-top: var(--section-space);
  padding-bottom: var(--section-space);
  overflow: hidden;
}

#hotelIntroSec .hotelintro {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

#hotelIntroSec .hotelintro .content {
  width: 70%;
  text-align: center;
}

#hotelIntroSec .hotelintro .content .h1,
#hotelIntroSec .hotelintro .content h2 {
  display: block;
  margin: 0 0 20px 0;
  font-family: var(--font-family-title);
  font-size: 3.552rem;
  color: var(--primary-color);
  font-weight: 250;
  line-height: 4.177rem;
}

#hotelIntroSec .hotelintro .content .h1 strong {
  font-weight: 400;
  font-style: italic;
}

#hotelIntroSec .hotelintro .content .h2,
#hotelIntroSec .hotelintro .content h3 {
  display: block;
  margin: 0 0 40px 0;
  font-family: var(--font-family-subtitle);
  font-size: 0.844rem;
  color: var(--primary-color);
  font-weight: 500;
  line-height: 1.25rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

#hotelIntroSec .hotelintro .content p {
  margin: 0 22% 20px;
  font-size: 1.125rem;
  color: var(--primary-color);
  font-weight: 200;
  line-height: 1.75rem;
  font-family: var(--font-family-text);
}

#hotelIntroSec .hotelintro .content p:last-child {
  margin-bottom: 0;
}

#hotelIntroSec .hotelintro.wide-text .content p {
  margin-inline: 0;
}

#hotelIntroSec .hotelintro .content p strong {
  font-weight: 500;
}

#hotelIntroSec .hotelintro .content button {
  margin-top: 30px;
}

#hotelsSec {
  position: relative;
  padding-top: 120px;
  padding-bottom: 120px;
  overflow: hidden;
}

#hotelsSec .hotels {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row-reverse;
  align-items: center;
  margin-bottom: 120px;
  justify-content: space-between;
}

#hotelsSec .hotels:last-child {
  margin-bottom: 0;
}

#hotelsSec .hotels .image {
  width: 55%;
  opacity: 0;
  transform: scaleX(1.07) scaleY(1.07);
  transition-property: transform, opacity;
  transition-duration: 1000ms;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

#hotelsSec .hotels.rowReverse {
  flex-direction: row;
  align-items: center;
}

#hotelsSec .hotels.rowReverse .image {
  width: 55%;
}

#hotelsSec .hotels .image.in-viewport {
  opacity: 1;
  transform: scaleX(1) scaleY(1);
}

#hotelsSec .hotels .image .circle {
  position: absolute;
  width: var(--d-outer);
  height: var(--d-outer);
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  top: 0;
  left: 0;
  transform: translate(-50%, -50%);
}

#hotelsSec .hotels .image .circle .text {
  position: absolute;
  width: 100%;
  height: 100%;
  /* 	animation: rotateText 10s linear infinite; */
}

#hotelsSec .hotels .image .circle .text p span {
  position: absolute;
  left: 50%;
  font-family: var(--font-family-subtitle);
  font-size: 16px;
  transform-origin: 0 var(--radius);
  color: var(--primary-color);
  text-shadow: 0 0 0 var(--accent-color);
}

#hotelsSec .hotels .image .vertical {
  position: absolute;
  bottom: 30px;
  left: 0;
  transform: translate(-60%, -100%) rotate(-90deg);
}

#hotelsSec .hotels .image .vertical p {
  color: var(--primary-color);
  font-family: var(--font-family-subtitle);
}

#hotelsSec .hotels .image img {
  width: 100%;
  height: auto;
}

#hotelsSec .hotels .content {
  display: flex;
  flex-direction: column;
  width: 35%;
}

#hotelsSec .hotels .content .box {
  width: 100%;
}

#hotelsSec .hotels .content span {
  display: block;
  margin: 0 0 40px 0;
  font-size: 0.844rem;
  font-family: var(--font-family-subtitle);
  color: var(--primary-color);
  font-weight: 300;
  line-height: 1.25rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

#hotelsSec .hotels .content .h3 {
  display: block;
  margin: 0 0 20px 0;
  font-family: var(--font-family-title);
  font-size: 2.665rem;
  color: var(--primary-color);
  font-weight: 250;
  line-height: 3.29rem;
}

#hotelsSec .hotels .content .h3 strong {
  font-weight: 500;
  font-style: italic;
}

#hotelsSec .hotels .content p {
  margin: 0 0 20px 0;
  font-size: 1.125rem;
  color: var(--primary-color);
  text-align: justify;
  font-weight: 200;
  line-height: 1.75rem;
  font-family: var(--font-family-text);
}

#hotelsSec .hotels .content p:last-child {
  margin-bottom: 0;
}

#hotelsSec .hotels .content p strong {
  font-weight: 500;
}

#hotelsSec .hotels .content .button {
  margin-top: 50px;
}

#hotelsSec .hotels .content .button:hover {
  background-color: var(--primary-color);
  color: #fff;
}

#hotelsSec .hotels.reverse {
  flex-direction: row-reverse;
}

@media (min-width: 992px) and (max-width: 1199px) {
  #hotelsSec .hotels.reverse .image {
    width: 52%;
  }
  #hotelsSec .hotels.reverse .content {
    width: 42%;
    margin-left: 0;
  }
}

#hotelsSec .hotels.columnReverse {
  display: flex;
  flex-direction: column-reverse;
  align-items: flex-end;
}


#hotelsSec .hotels.columnReverse .image {
  width: 70%;
}

#hotelsSec .hotels.columnReverse .content {
  display: flex;
  flex-direction: row;
  gap: 70px;
  width: 70%;
  padding: 0 0 70px 0;
}

#contactInfoSec {
  position: relative;
  padding-top: 120px;
  padding-bottom: 120px;
  overflow: hidden;
}

#contactInfoSec .contactinfo {
  display: flex;
  flex-wrap: wrap;
  padding: 0 50px;
  justify-content: space-between;
}

#contactInfoSec .contactinfo .image {
  width: 55%;
  opacity: 0;
  transform: scaleX(1.07) scaleY(1.07);
  transition-property: transform, opacity;
  transition-duration: 1000ms;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

#contactInfoSec .contactinfo .image.in-viewport {
  opacity: 1;
  transform: scaleX(1) scaleY(1);
}

#contactInfoSec .contactinfo .image iframe {
  max-width: 100%;
  width: 100%;
  height: auto;
  min-height: 590px;
}

#contactInfoSec .contactinfo .content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 45%;
  padding: 0 100px;
}

#contactInfoSec .contactinfo .content span {
  display: block;
  margin: 0 0 40px 0;
  font-size: 0.844rem;
  color: var(--primary-color);
  font-weight: 300;
  font-family: var(--font-family-subtitle);
  line-height: 1.25rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

#contactInfoSec .contactinfo .content .h3 {
  display: block;
  margin: 0 0 20px 0;
  font-family: var(--font-family-title);
  font-size: 2.665rem;
  color: var(--primary-color);
  font-weight: 250;
  line-height: 3.29rem;
}

#contactInfoSec .contactinfo .content .h3 strong {
  font-weight: 500;
  font-style: italic;
}

#contactInfoSec .contactinfo .content ul {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 15px;
  padding: 0;
  margin: 0;
  list-style-type: none;
}

#contactInfoSec .contactinfo .content ul li {
  padding: 0 30px;
  font-size: 1.125rem;
  color: var(--primary-color);
  font-weight: 200;
  line-height: 1.75rem;
}

#contactInfoSec .contactinfo .content ul li a {
  position: relative;
  display: block;
  color: var(--primary-color);
  text-decoration: none;
  transition: 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
  font-family: var(--font-family-text);
}

#contactInfoSec .contactinfo .content ul li a:after {
  content: "";
  width: 100%;
  height: 1px;
  background: var(--primary-color);
  position: absolute;
  bottom: 0;
  left: 0;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.4s cubic-bezier(0, 0, 0.57, 1);
}

#contactInfoSec .contactinfo .content ul li a:hover:after {
  transform: scaleX(1);
  transform-origin: left;
}

#contactInfoSec .contactinfo .content ul li br {
  display: block;
}

#contactInfoSec .contactinfo .content ul li .icon {
  position: absolute;
  top: 4px;
  left: -30px;
}

#contactInfoSec .contactinfo .content ul li .arrow {
  display: inline-block;
  vertical-align: middle;
  margin-left: 10px;
}

#contactInfoSec .contactinfo .content ul li strong {
  font-weight: 700;
}

/*----------------- Rooms Page -----------------*/
#roomIntroSec {
  position: relative;
  padding-top: 120px;
  padding-bottom: 120px;
}

#roomIntroSec:before {
  content: "";
  width: 900px;
  height: 900px;
  border-radius: 100%;
  box-shadow: inset 0 0 0 1px rgba(180, 180, 180, 0.2);
  -webkit-clip-path: polygon(0 0, 0 2px, 0 2px, 0 2px, 0 0);
  clip-path: polygon(0 0, 0 2px, 0 2px, 0 2px, 0 0);
  position: absolute;
  top: 64%;
  left: 9.5%;
  transform: translate(-100%, -50%);
  z-index: -1;
  pointer-events: none;
}

#roomIntroSec.in-viewport:before {
  animation-name: drawDecorLine;
  animation-duration: 1.5s;
  animation-fill-mode: forwards;
  animation-delay: 0.5s;
  animation-timing-function: ease-in;
}

#roomIntroSec .roomintro {
  display: flex;
  flex-wrap: wrap;
}

#roomIntroSec .roomintro .content {
  display: flex;
  flex-direction: row;
  gap: 70px;
  width: 100%;
}

#roomIntroSec .roomintro .content .box {
  width: 55%;
}

#roomIntroSec .roomintro .content .box+.box {
  width: 45%;
}

#roomIntroSec .roomintro .content .h1 {
  display: block;
  margin: 0 0 20px 0;
  margin-left: 50px;
  font-family: var(--font-family-title);
  font-size: 3.552rem;
  color: var(--primary-color);
  font-weight: 250;
  line-height: 4.177rem;
}

#roomIntroSec .roomintro .content .h1 strong {
  font-weight: 400;
  font-style: italic;
}

#roomIntroSec .roomintro .content .h2 {
  display: block;
  margin: 0 0 20px 0;
  font-family: var(--font-family-subtitle);
  font-size: 0.844rem;
  margin-left: 50px;
  color: var(--primary-color);
  font-weight: 500;
  line-height: 1.25rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

#roomIntroSec .roomintro .content p {
  margin: 0 10% 20px 0;
  font-size: 1.125rem;
  font-family: var(--font-family-text);
  color: var(--primary-color);
  text-align: justify;
  font-weight: 200;
  line-height: 1.75rem;
}

#roomIntroSec .roomintro .content p:last-child {
  margin-bottom: 0;
}

#roomIntroSec .roomintro .content p strong {
  font-weight: 500;
}

#roomIntroSec .roomintro .content button {
  margin-top: 30px;
}

/*----------------- Default List Page -----------------*/
#defaultListSec {
  position: relative;
  padding-top: 80px;
  padding-bottom: 80px;
  overflow: hidden;
}

#defaultListSec .defaultList {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 80px;
}

#defaultListSec .defaultList:last-child {
  margin-bottom: 0;
}

#defaultListSec .defaultList .image {
  width: 55%;
  opacity: 0;
  transform: scaleX(1.07) scaleY(1.07);
  transition-property: transform, opacity;
  transition-duration: 1000ms;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

#defaultListSec .defaultList .image.in-viewport {
  opacity: 1;
  transform: scaleX(1) scaleY(1);
}

#defaultListSec .defaultList .image img {
  width: 100%;
  height: auto;
  max-height: 70vh;
  object-fit: cover;
}

#defaultListSec .defaultList .content {
  width: 45%;
  padding: 0 50px;
}

#defaultListSec .defaultList .content span {
  display: block;
  margin: 0 0 20px 0;
  font-size: 0.844rem;
  color: var(--primary-color);
  font-weight: 300;
  line-height: 1.25rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

#defaultListSec .defaultList .content .h3 {
  display: block;
  margin: 0 0 20px 0;
  font-family: var(--font-family-title);
  font-size: 2.665rem;
  color: var(--primary-color);
  font-weight: 250;
  line-height: 3.29rem;
}

#defaultListSec .defaultList .content .h3 strong {
  font-weight: 500;
  font-style: italic;
}

#defaultListSec .defaultList .content p {
  margin: 0 0 20px 0;
  font-size: 1.125rem;
  text-align: justify;
  color: var(--primary-color);
  font-family: var(--font-family-text);
  font-weight: 200;
  line-height: 1.75rem;
}

#defaultListSec .defaultList .content p:last-child {
  margin-bottom: 0;
}

#defaultListSec .defaultList .content p strong {
  font-weight: 500;
}

#defaultListSec .defaultList .content .button {
  margin-top: 30px;
}

#defaultListSec .defaultList:nth-child(odd) {
  flex-direction: row-reverse;
}

#defaultListSec .defaultList.half .image {
  padding-left: 0;
}

#defaultListSec .defaultList:nth-child(odd).half .image {
  padding-left: 0;
  padding-right: 0;
}

/*----------------- Contact Page -----------------*/
#contactFormSec {
  position: relative;
  overflow: hidden;
}

#contactFormSec .contactform {
  display: flex;
  flex-wrap: wrap;
  padding: 0 50px;
  justify-content: center;
}

#contactFormSec .contactform .image {
  width: 55%;
  opacity: 0;
  transform: scaleX(1.07) scaleY(1.07);
  transition-property: transform, opacity;
  transition-duration: 1000ms;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

#contactFormSec .contactform .image.in-viewport {
  opacity: 1;
  transform: scaleX(1) scaleY(1);
}

#contactFormSec .contactform .image p,
#contactFormSec .contactform .image iframe {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#contactFormSec .contactform .content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 45%;
  padding: 30px 70px;
}

#contactFormSec .contactform .content .h3 {
  display: block;
  margin: 0 0 30px 0;
  font-family: var(--font-family-title);
  font-size: 2.665rem;
  color: var(--primary-color);
  font-weight: 250;
  line-height: 3.29rem;
}

#contactFormSec .contactform .content .h3 strong {
  font-weight: 500;
  font-style: italic;
}

#contactFormSec .contactform .content form {
  display: flex;
  flex-wrap: wrap;
  grid-gap: 30px;
}

#contactFormSec .contactform .content .form-group {
  width: 100%;
}

#contactFormSec .contactform .content .form-group.half {
  width: calc(50% - 15px);
}

#contactFormSec .contactform .content .form-group label {
  margin: 0;
  font-family: "Roboto Condensed";
  font-size: 0.844rem;
  color: var(--primary-color);
  font-weight: 500;
  line-height: 1.25rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

#contactFormSec .contactform .content .form-group .form-control {
  width: 100%;
  height: 30px;
  padding: 0px 0;
  border: none;
  background-color: transparent;
  background-image: linear-gradient(var(--primary-color), var(--primary-color)),
    linear-gradient(#b0b0b0, #b0b0b0);
  background-repeat: no-repeat;
  background-position-x: right;
  background-position-y: bottom;
  background-size: 0% 1px, 100% 1px;
  border-radius: 0px;
  box-shadow: none;
  font-size: 1.125rem;
  color: var(--primary-color);
  font-weight: 300;
  transition: background-size 0.4s cubic-bezier(0, 0, 0.57, 1);
}

#contactFormSec .contactform .content .form-group .form-control:hover,
#contactFormSec .contactform .content .form-group:focus-within .form-control {
  background-position-x: left, left, right;
  background-size: 100% 1px, 100% 1px, auto;
}

#contactFormSec .contactform .content .form-group .form-control::placeholder,
#contactFormSec .contactform .content .form-group select.form-control:required:invalid {
  margin: 0;
  font-family: "Roboto Condensed";
  font-size: 0.844rem;
  color: var(--primary-color);
  font-weight: 500;
  line-height: 1.25rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

#contactFormSec .contactform .content .form-group select.form-control {
  background-image: linear-gradient(var(--primary-color), var(--primary-color)),
    linear-gradient(#b0b0b0, #b0b0b0), url(../images/select-menu-icon.svg);
  background-repeat: no-repeat;
  background-position-x: right, right, right;
  background-position-y: bottom, bottom, center;
  background-size: 0% 1px, 100% 1px, auto;
}

#contactFormSec .contactform .content .form-group select.form-control option {
  color: var(--primary-color);
  font-style: normal;
}

#contactFormSec .contactform .content .form-group textarea.form-control {
  overflow: auto;
  height: auto;
  resize: vertical;
}

#contactFormSec .contactform .content .form-group label.checkbox {
  position: relative;
  margin: 0;
  padding-left: 30px;
  font-family: inherit;
  font-size: 0.844rem;
  color: var(--primary-color);
  font-weight: 300;
  line-height: 1.063rem;
  letter-spacing: inherit;
  text-transform: inherit;
}

#contactFormSec .contactform .content .form-group label.checkbox input {
  appearance: none;
  width: 18px;
  height: 18px;
  outline: 0;
  border: 1px solid rgba(180, 180, 180, 0.8);
  background-color: #ffffff;
  border-radius: 100%;
  vertical-align: text-top;
  position: absolute;
  top: 0;
  left: 0;
  cursor: pointer;
}

#contactFormSec .contactform .content .form-group label.checkbox input:checked:before {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  background: var(--primary-color);
  border-radius: 100%;
  position: relative;
  top: 2px;
  left: 2px;
}

#contactFormSec .contactform .content .form-group label.checkbox strong {
  font-weight: 700;
}

#contactFormSec .contactform .content .form-group label.checkbox a {
  position: relative;
  color: var(--primary-color);
  font-weight: 700;
}

#contactFormSec .contactform .content .form-group label.checkbox a:after {
  content: "";
  width: 100%;
  height: 1px;
  background: var(--primary-color);
  position: absolute;
  bottom: 0;
  left: 0;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.4s cubic-bezier(0, 0, 0.57, 1);
}

#contactFormSec .contactform .content .form-group label.checkbox a:hover:after {
  transform: scaleX(1);
  transform-origin: left;
}

#contactFormSec .contactform .content .form-group .send_btn {
  position: relative;
  width: 180px;
  height: 37px;
  left: 0;
  transition: all 0.25s ease-out;
}

#contactFormSec .contactform .content .form-group .send_btn.onclic {
  width: 35px;
  height: 35px;
  padding: 0;
  border-color: #bbbbbb;
  border-left-color: var(--primary-color);
  background-color: transparent;
  font-size: 0;
  left: 0;
  animation: rotating 2s 0.25s linear infinite;
}

#contactFormSec .contactform .content .form-group .send_btn.onclic:after {
  content: "";
}

#contactFormSec .contactform .content .form-group .send_btn.validate {
  padding: 0;
  background: var(--primary-color);
  font-size: 1.063rem;
  color: white;
  left: 0;
}

#contactFormSec .contactform .content .form-group .send_btn.validate:after {
  font-family: "FontAwesome";
  content: "\f00c";
}

#contactMoreSec {
  position: relative;
  padding-block: var(--section-space);
  overflow: hidden;
}

#contactMoreSec.bg-color {
  padding-top: var(--section-space);
}

#contactMoreSec .topContent {
  width: 100%;
  margin: 0 auto 70px auto;
  text-align: center;
}

#contactMoreSec .topContent .h3 {
  display: block;
  margin: 0 0 20px 0;
  font-family: var(--font-family-title);
  font-size: 2.665rem;
  color: var(--primary-color);
  font-weight: 250;
  line-height: 3.29rem;
}

#contactMoreSec .topContent .h3 br {
  display: block;
}

#contactMoreSec .topContent .h3 strong {
  font-weight: 500;
  font-style: italic;
}

#contactMoreSec .topContent p {
  margin: 0 21% 20px;
  font-size: 1.125rem;
  color: var(--primary-color);
  font-weight: 200;
  line-height: 1.75rem;
}

#contactMoreSec .topContent p:last-child {
  margin-bottom: 0;
}

#contactMoreSec .topContent p strong {
  font-weight: 500;
}

#contactMoreSec .contactmore {
  width: 100%;
  margin: 0 auto;
}

#contactMoreSec .contactmore ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  gap: 120px;
  padding: 0;
  margin: 0;
  list-style-type: none;
}

#contactMoreSec .contactmore ul .box {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 7px;
}

#contactMoreSec .contactmore ul li {
  padding: 0 30px;
  font-size: 1.125rem;
  color: var(--primary-color);
  font-weight: 200;
  line-height: 1.75rem;
}

#contactMoreSec .contactmore ul li a {
  position: relative;
  display: block;
  color: var(--primary-color);
  text-decoration: none;
  transition: 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
  font-family: var(--font-family-text);
}

#contactMoreSec .contactmore ul li a:after {
  content: "";
  width: 100%;
  height: 1px;
  background: var(--primary-color);
  position: absolute;
  bottom: 0;
  left: 0;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.4s cubic-bezier(0, 0, 0.57, 1);
}

#contactMoreSec .contactmore ul li a:hover:after {
  transform: scaleX(1);
  transform-origin: left;
}

#contactMoreSec .contactmore ul li br {
  display: block;
}

#contactMoreSec .contactmore ul li .icon {
  position: absolute;
  top: 4px;
  left: -30px;
  filter: var(--filter-icon-green);
}

#contactMoreSec .contactmore ul li .arrow {
  position: absolute;
  bottom: 7px;
  right: -30px;
  filter: var(--filter-icon-green);
}

#contactMoreSec .contactmore ul li strong {
  font-weight: 700;
}

#faqsSec {
  position: relative;
  margin-bottom: var(--section-space);
}

#faqsSec .faqs {
  padding: 100px;
  background-color: #e6e6e6;
  overflow: hidden;
  position: relative;
  z-index: 0;
}

#faqsSec .faqs:before,
#faqsSec .faqs:after {
  content: "";
  width: 600px;
  height: 600px;
  border-radius: 100%;
  box-shadow: inset 0 0 0 1px rgba(180, 180, 180, 0.2);
  -webkit-clip-path: polygon(0 0, 0 2px, 0 2px, 0 2px, 0 0);
  clip-path: polygon(0 0, 0 2px, 0 2px, 0 2px, 0 0);
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(-50%, -50%);
  z-index: -1;
  pointer-events: none;
}

#faqsSec .faqs:after {
  top: auto;
  left: auto;
  bottom: 0;
  right: 0;
  transform: translate(50%, 50%);
}

#faqsSec .faqs.in-viewport:before,
#faqsSec .faqs.in-viewport:after {
  animation-name: drawDecorLine;
  animation-duration: 1.5s;
  animation-fill-mode: forwards;
  animation-delay: 0s;
  animation-timing-function: ease-in;
}

#faqsSec .topContent {
  width: 100%;
  margin: 0 auto 70px auto;
}

#faqsSec .topContent .h3 {
  display: block;
  margin: 0 0 20px 0;
  font-family: var(--font-family-title);
  font-size: 2.665rem;
  color: var(--primary-color);
  font-weight: 250;
  line-height: 3.29rem;
}

#faqsSec .topContent .h3 br {
  display: block;
}

#faqsSec .topContent .h3 strong {
  font-weight: 500;
  font-style: italic;
}

#faqsSec .topContent p {
  display: block;
  margin: 0 0 20px 40px;
  font-family: "Roboto Condensed";
  font-size: 0.844rem;
  color: var(--primary-color);
  font-weight: 500;
  line-height: 1.25rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

#faqsContent {
  border-top: 1px solid #b0b0b0;
}

#faqsSec .faqs__item {
  border: none;
  border-bottom: 1px solid #b0b0b0;
  background-color: transparent;
  border-radius: 0px;
  transition: 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
  padding: 13px;
}

#faqsSec .faqs__item:hover {
  border-color: var(--primary-color);
}

#faqsSec .faqs__item .faqs-header h4 {
  gap: 10px;
  margin: 0;
  padding: 13px 0;
  background-color: transparent;
  box-shadow: none;
  font-family: "Noto Serif Display";
  font-size: 1.5rem;
  color: var(--primary-color);
  font-weight: 400;
  line-height: 2.125rem;
  cursor: pointer;
}

#faqsSec .faqs__item .faqs-header h4:after {
  display: none;
}

#faqsSec .faqs__item .faqs-header h4 .arrow {
  flex-shrink: 0;
  position: relative;
  width: 23px;
  height: 12px;
  margin-left: auto;
}

#faqsSec .faqs__item .faqs-header h4 .arrow:before,
#faqsSec .faqs__item .faqs-header h4 .arrow:after {
  transition: 0.15s all ease-in-out;
  position: absolute;
  content: "";
  width: 57%;
  height: 1px;
  background-color: var(--primary-color);
  top: 50%;
  border-radius: 5px;
}

#faqsSec .faqs__item .faqs-header h4 .arrow:before {
  transform: rotate(140deg);
  left: 0;
}

#faqsSec .faqs__item .faqs-header h4 .arrow:after {
  transform: rotate(-140deg);
  right: 0;
}

#faqsSec .faqs__item .faqs-header h4.collapsed .arrow:before {
  transform: rotate(220deg);
  left: 0;
}

#faqsSec .faqs__item .faqs-header h4.collapsed .arrow:after {
  transform: rotate(-220deg);
  right: 0;
}

#faqsSec .faqs__item .faqs-body {
  padding: 1rem 0;
}

#faqsSec .faqs__item .faqs-body p {
  margin: 0 0 20px 0;
  font-size: 1.125rem;
  color: var(--primary-color);
  font-weight: 200;
  line-height: 1.75rem;
}

#faqsSec .faqs__item .faqs-body p:last-child {
  margin-bottom: 0;
}

#faqsSec .faqs__item .faqs-body p strong {
  font-weight: 500;
}

/* RECAPTCHA GOOGLE */
.grecaptcha-badge {
  display: none;
}

.sticky .rightNav .returnChain {
  color: var(--primary-color);
  border-color: var(--primary-color);
}

.sticky .rightNav .returnChain:hover a {
  color: #fff;
}

.sticky .rightNav .returnChain a {
  color: var(--primary-color);
}

.rightNav .headerPhone {
  display: none;
}

.hotelMenu .headerPhone img {
  filter: invert(1);
  margin-bottom: 2px;
  max-width: 20px;
  transition: 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.sticky .headerPhone img {
  filter: invert(0);
}

.rightNav .returnChain:hover {
  background-color: #000;
  border-color: #000;
}

.rightNav .returnChain {
  color: #fff;
  border-color: #fff;
}

.rightNav .returnChain a {
  color: #fff;
  border-color: #fff;
}

@media (max-width: 992px) {
  #header .rightNav {
    grid-gap: 10px;
  }
}

.link-phone-double {
  margin: 0px 5px;
}

.logo-kitdigital {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 126px;
}

.logo-kitdigital__images {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: white;
  height: 100px;
}

.logo-kitdigital__images img {
  max-width: 177px;
  height: auto;
}

.logo-kitdigital__images__unioneuropea {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right: 57px;
}

.logo-kitdigital__images__logorecuperacion {
  margin-left: 18px;
}

/* Ajuste en el contenedor del kit digital */
@media only screen and (max-width: 768px) {
  .logo-kitdigital__images {
    max-width: 100%;
    margin: 0 auto;
    /* Centra el contenido y elimina márgenes laterales */
    padding: 0 1rem;
    box-sizing: border-box;
  }

  .logo-kitdigital__images img {
    width: 100%;
    /* Forzamos que las imágenes no excedan el ancho del contenedor */
    max-width: 100%;
    /* Evitamos desbordamientos */
    height: auto;
  }

  .logo-kitdigital__images__unioneuropea,
  .logo-kitdigital__images__logorecuperacion {
    margin: 0 0.5rem;
  }
}

@media only screen and (max-width: 992px) {
  .logo-kitdigital {
    margin-right: 0;
  }
}

#wrap:has(~ #colorbox.colorbox--zoom) {
  height: 0;
  visibility: hidden;
  opacity: 0;
}

#colorbox.colorbox--zoom {
  top: 0 !important;
  left: 0 !important;
  position: relative !important;
}

.colorbox--zoom #cboxWrapper {
  position: relative !important;
  inset: 0 !important;
}

.colorbox--zoom #cboxPrevious,
.colorbox--zoom #cboxNext,
.colorbox--zoom #cboxClose {
  position: fixed;
  width: 48px;
  height: 48px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #e6e6e6;
}

.colorbox--zoom #cboxPrevious {
  left: 10px;
}

.colorbox--zoom #cboxNext {
  right: 10px;
}

.colorbox--zoom #cboxClose {
  top: 10px;
  right: 10px;
}

.colorbox--zoom #cboxTitle,
.colorbox--zoom #cboxCurrent {
  bottom: 20px;
  background-color: #fff;
  padding: 3px 15px 5px;
  border-radius: 15px;
  position: fixed;
}

.colorbox--zoom #cboxTitle {
  left: 20px;
}

.colorbox--zoom #cboxCurrent {
  right: 20px;
}

.colorbox--zoom #cboxTitle,
.colorbox--zoom #cboxCurrent {
  font-size: 1.125rem;
}

.colorbox--zoom #cboxTitle:empty {
  background-color: transparent;
}

.colorbox--zoom #cboxLoadingOverlay,
.colorbox--zoom #cboxLoadingGraphic {
  width: 100dvw;
  height: 100dvh;
}

@media (width <=932px) and (orientation: landscape) {
  #colorbox.colorbox--zoom {
    height: auto !important;
    width: 100dvw !important;
  }

  .colorbox--zoom #cboxWrapper {
    width: 100% !important;
    height: auto !important;
  }

  .colorbox--zoom #cboxContent,
  .colorbox--zoom #cboxLoadedContent,
  .colorbox--zoom #cboxMiddleLeft,
  .colorbox--zoom #cboxMiddleRight,
  .colorbox--zoom .cboxPhoto {
    width: 100% !important;
    height: auto !important;
    margin: 0;
  }
}

@media (width <=560px) and (orientation: portrait) {

  html:has(body #colorbox.colorbox--zoom),
  body:has(#colorbox.colorbox--zoom),
  #colorbox.colorbox--zoom,
  .colorbox--zoom #cboxOverlay,
  .colorbox--zoom #cboxWrapper {
    overflow-x: auto;
    overflow-y: hidden;
  }

  #colorbox.colorbox--zoom {
    width: auto !important;
    height: 100% !important;
  }

  .colorbox--zoom #cboxWrapper,
  .colorbox--zoom #cboxContent,
  .colorbox--zoom #cboxLoadedContent,
  .colorbox--zoom .cboxPhoto {
    height: 100dvh !important;
    width: auto !important;
    margin: 0;
    float: none !important;
  }

  .colorbox--zoom #cboxPrevious,
  .colorbox--zoom #cboxNext {
    transform: translateY(calc(50% - 48px));
    top: 50%;
  }
}

/* ===== COLORBOX IMAGE HOVER OVERLAY ===== */
a.defaultgallery,
a.roomsgroup {
  position: relative;
  overflow: hidden;
  display: block;
}

a.defaultgallery img,
a.roomsgroup img {
  transition: transform 0.4s ease;
}

a.defaultgallery:hover img,
a.roomsgroup:hover img {
  transform: scale(1.05);
}

a.defaultgallery::after,
a.roomsgroup::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    rgba(0, 0, 0, 0.4)
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='40' height='40' fill='none' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E")
    center / 40px 40px no-repeat;
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
  z-index: 1;
}

a.defaultgallery:hover::after,
a.roomsgroup:hover::after {
  opacity: 1;
}

/* En el default-slider no queremos el overlay de lupa (ya tiene su propio overlay con gradiente e info) */
#defaultSliderSec a.defaultgallery::after,
#defaultSliderSec a.defaultgallery:hover::after {
  display: none;
}

/* TABLAS - Quitar fondo blanco de Bootstrap para que adopten el color del contenedor */
table,
.table {
  --bs-table-bg: transparent;
  background-color: transparent;
}

table tr,
table td,
table th,
.table > :not(caption) > * > * {
  background-color: transparent;
}

/* ===== BLOQUE DE ACCESO (hereda layout de promoted-section, texto a la izquierda) ===== */
#acces-section {
  position: relative;
  padding-top: 120px;
  padding-bottom: 120px;
  overflow: hidden;
}

#acces-section .promoted-section__content {
  width: 100%;
  padding: 0 70px;
}

#acces-section .promoted-section__content .image {
  position: relative;
  float: left;
  width: calc(100% + 140px);
  margin: 0 -70px;
}

@media (min-width: 1024px) {
  #acces-section .promoted-section__content .image {
    height: 400px;
  }
}

#acces-section .promoted-section__content .image::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  background: linear-gradient(to bottom,
      rgba(255, 255, 255, 0) 0%,
      rgba(90, 69, 36, 0.5) 45%,
      rgba(90, 69, 36, 0.7) 65%);
  pointer-events: none;
}

#acces-section .promoted-section__content .image picture {
  display: block;
  width: 100%;
}

#acces-section .promoted-section__content .image img {
  width: 100% !important;
  height: 770px;
  object-fit: cover;
}

#acces-section .promoted-section__content .image .info {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-self: center;
  width: 30%;
  margin: 100px;
  position: absolute;
  bottom: 0;
  right: 0;
  left: auto;
  z-index: 2;
  align-items: start;
}

#acces-section .promoted-section__content .image .info .h3 {
  display: block;
  margin: 0;
  font-family: var(--font-family-title);
  font-size: 3.552rem;
  color: #ffffff;
  font-weight: 250;
  line-height: 4.177rem;
}

#acces-section .promoted-section__content .image .info .h3 br {
  display: block;
}

#acces-section .promoted-section__content .image .info .h3 strong {
  font-weight: 400;
  font-style: italic;
}

#acces-section .promoted-section__content .image .info p {
  display: block;
  margin: 30px 0 0 0;
  font-family: var(--font-family-subtitle);
  font-size: 0.844rem;
  color: #ffffff;
  font-weight: 500;
  line-height: 1.25rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

#acces-section .promoted-section__content .image .info .button {
  margin-top: 20px;
  background-color: rgb(255 255 255 / 80%);
}

#acces-section .promoted-section__content .image .info .button:hover {
  background-color: var(--primary-color);
}

@media (min-width: 992px) and (max-width: 1199px) {
  #acces-section .promoted-section__content .image .info {
    padding-bottom: 30px;
  }
}