@charset "utf-8";

@font-face {
  font-family: "Mr De Haviland";
  src: url("../../fonts/mr-de-haviland/MrDeHaviland-Regular.eot");
  src: url("../../fonts/mr-de-haviland/MrDeHaviland-Regular.woff") format("woff"),
    url("../../fonts/mr-de-haviland/MrDeHaviland-Regular.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: "montserrat";
  src: url("../../fonts/montserrat/montserrat-regular.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: "montserrat";
  src: url("../../fonts/montserrat/montserrat-thin.woff2") format("woff2");
  font-weight: 200;
  font-style: normal;
}

@font-face {
  font-family: "montserrat";
  src: url("../../fonts/montserrat/montserrat-light.woff2") format("woff2");
  font-weight: 300;
  font-style: normal;
}

@font-face {
  font-family: "montserrat";
  src: url("../../fonts/montserrat/montserrat-bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
}

@font-face {
  font-family: "montserrat";
  src: url("../../fonts/montserrat/montserrat-semi-bold.woff2")
    format("woff2");
  font-weight: 600;
  font-style: normal;
}

:root {
  --color-white: #fff;
  --color-white-transparent: rgba(255, 255, 255, 0.6);

  --color-black: #0a1329;
  --color-filter-icon-primary: invert(65%) sepia(25%) saturate(504%)
    hue-rotate(160deg) brightness(89%) contrast(87%);
  --color-filter-icon-white: invert(100%) sepia(0%) saturate(7482%)
    hue-rotate(35deg) brightness(103%) contrast(93%);

  /* Color grey: #f8f8f8 */
  --grey-h: 0;
  --grey-s: 0%;
  --grey-l: 97%;
  --color-grey: hsl(var(--grey-h), var(--grey-s), var(--grey-l));
  --color-grey-soft: hsl(
    var(--grey-h),
    var(--grey-s),
    calc(var(--grey-l) - 5%)
  );

  /* Color primary: #739eba */
  --primary-h: 204;
  --primary-s: 34%;
  --primary-l: 59%;
  --color-primary: hsl(var(--primary-h), var(--primary-s), var(--primary-l));
  --color-primary-hover: hsl(
    var(--primary-h),
    var(--primary-s),
    calc(var(--primary-l) - 5%)
  );

  --font-title-size: 44px;
  --font-subtitle-size: 24px;
  --font-subtitle-cursive-size: 43px;
  --font-text-size: 16px;
  --font-viewMore-size: 16px;

  --font-text-family: "montserrat";
  --font-cursive-family: "Mr De Haviland";
  --font-title-family: "montserrat";

  --container-width: 1170px;
  --container-padding: calc((100vw - var(--container-width)) / 2);
  --litepickerMonthWidth: calc(32px * 7);
  --litepickerDayIsStartBg: var(--color-primary);
  --litepickerDayIsStartColor: #0a1329;
  --litepickerDayIsInRange: #ebebeb;
  --litepickerDayIsEndColor: #0a1329;
  --litepickerDayIsEndBg: var(--color-primary);

  /* ESPACIO ENTRE SECCIONES */
  --space-between-sections: 100px;
}

@media (max-width: 922px) {
  :root {
    --space-between-sections: 50px;
    --font-title-size: 35px;
    --font-subtitle-size: 23px;
    --font-subtitle-cursive-size: 34px;
    --font-text-size: 16px;
    --font-viewMore-size: 14px;
  }
}

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

body {
  padding: 0;
  margin: 0;

  /* Evita que el navegador reajuste el scroll (CSS Scroll Anchoring) cuando algo por
     encima del viewport cambia de tamano (imagenes/fuentes cargando tarde). Con la
     pagina recargada con el scroll bajado, esos reajustes disparan varios eventos
     "scroll" intermedios que WOW usa para revelar bloques, dando una aparicion
     desordenada mientras el scroll aun se esta asentando (ver advantages-slider). */
  overflow-anchor: none;

  background-color: var(--color-white);
  font-family: var(--font-text-family);
  font-size: 16px;
  color: var(--color-black);
  font-weight: 400;
  line-height: 1.5;
  overflow-x: hidden;
}

body.no-scroll {
  overflow: hidden;
}

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

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

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

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

.white-cta,
.primary-cta {
  padding: 13px 25px;
  text-transform: uppercase;
  font-weight: 700;
  display: inline-block;
  transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
  line-height: 20px;
  height: fit-content;
  width: fit-content;
}

.white-cta {
  color: var(--color-primary);
  background-color: transparent;
  border: 1px solid var(--color-primary);
}

.white-cta:hover {
  background-color: var(--color-primary-hover);
  color: var(--color-white);
}

.primary-cta {
  color: var(--color-white);
  background-color: var(--color-primary);
  border: 1px solid var(--color-primary);
}

.primary-cta:hover {
  background-color: var(--color-primary-hover);
  color: var(--color-white);
}

.link {
  display: inline-flex;
  align-items: center;
  grid-gap: 20px;
  margin: 20px 0 0 0;
  font-size: var(--font-viewMore-size);
  color: var(--color-black);
  font-weight: 700;
  line-height: 30px;
  text-transform: uppercase;
  transition: all 0.3s ease-in-out;
}

.link:after {
  content: "";
  width: 40px;
  border-top: 1px solid;
  transition: all 0.3s ease-in-out;
}

.link:hover {
  color: var(--color-primary);
}

.link:hover:after {
  width: 60px;
}

@media (max-width: 959px) {
  .link {
    margin: 0;
    line-height: 20px;
  }
}

button {
  background-color: var(--color-primary);
  color: var(--color-white);
}

button:hover {
  background-color: var(--color-primary-hover);
  color: var(--color-white);
}

.owl-theme .owl-dots .owl-dot span {
  color: var(--color-primary);
  background: var(--color-primary);
}

.owl-theme .owl-dots .owl-dot.active span,
.owl-theme .owl-dots .owl-dot:hover span {
  color: var(--color-primary-hover);
  background: var(--color-primary-hover);
}

.owl-theme .owl-dots .owl-dot.active {
  border-color: var(--color-primary);
}

.owl-theme .owl-dots .owl-dot:before,
.owl-theme .owl-dots .owl-dot:after {
  background: var(--color-primary-hover);
}

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

.subtitle {
  color: var(--color-primary);
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  font-weight: 400;
}

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

#header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  float: left;
  width: 100%;
  background-color: transparent;
  padding: 20px 40px;
  position: absolute;
  z-index: 10000;
  transition: background-color 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
}

@media (max-width: 991px) {
	#header {
		z-index: 50
	}
}

#header .logo {
  float: left;
  width: 172px;
  margin: 0 40px;
  transition: width 0.3s ease-in-out;
}

#header .logo img {
  width: 100%;
  height: auto;
  /* Logo en blanco cuando el header es transparente (no sticky) */
  filter: brightness(0) saturate(100%) invert(98%) sepia(2%) saturate(234%) hue-rotate(176deg) brightness(119%) contrast(100%);
}

/* Logo a color (sin filtro) cuando el header es sticky (fondo blanco) */
#header.sticky .logo img {
  filter: none;
}

#header .leftNav {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  grid-gap: 40px;
  width: calc(50% - 126px);
}

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

#header .leftNav .hamburger #nav-btn,
#header .leftNav .hamburger #nav-btn + label {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 30px;
  height: 30px;
  margin: 0;
  padding: 0;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 99;
  cursor: pointer;
}

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

#header .leftNav .hamburger #nav-btn + label span {
  display: block;
  width: 30px;
  height: 3px;
  background-color: transparent;
  position: relative;
  z-index: 99;
  cursor: pointer;
  transition: background-color 0.3s ease-in-out, transform 0.3s ease-in-out, width 0.3s ease-in-out;
}

#header .leftNav .hamburger #nav-btn + label span::before,
#header .leftNav .hamburger #nav-btn + label span::after {
  content: "";
  display: block;
  width: 30px;
  height: 3px;
  border-radius: 10px;
  background-color: var(--color-white);
  position: absolute;
  left: 0;
  transition: background-color 0.3s ease-in-out, transform 0.3s ease-in-out, top 0.3s ease-in-out, width 0.3s ease-in-out;
}

#header.sticky .leftNav .hamburger #nav-btn + label span::before,
#header.sticky .leftNav .hamburger #nav-btn + label span::after {
  background-color: var(--color-primary);
}

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

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

#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: 30px;
}

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

#header.sticky .leftNav .hamburger #nav-btn:checked + label span {
  background-color: var(--color-white);
}

#header .leftNav .hamburger #nav-btn:checked:hover + label span {
  background-color: var(--color-white);
  border-radius: 10px;
}

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

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

#header .leftNav .hamburger #nav-btn:checked ~ nav {
  visibility: visible;
  -webkit-transform: translateX(0%);
  transform: translateX(0%);
  -webkit-transition: -webkit-transform 0.5s;
  transition: transform 0.5s;
  overflow: hidden;
}

#header .leftNav .hamburger nav {
  position: fixed;
  top: 0;
  left: 0;
  width: 400px;
  height: 100%;
  background: var(--color-primary);
  box-shadow: 13px 0px 87px var(--color-primary);
  opacity: 1;
  z-index: 98;
  visibility: hidden;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: translateX(-100%);
  transform: translateX(-100%);
  -webkit-transition: -webkit-transform 0.5s, visibility 0s 0.5s;
  transition: transform 0.5s, visibility 0s 0.5s;
  overflow: hidden;
}

#header .leftNav .hamburger nav .nav_middle {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  grid-gap: 40px;
  height: 100%;
  padding: 120px 40px 40px 40px;
  overflow: auto;
}

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

#header .leftNav .hamburger nav .nav_middle::-webkit-scrollbar-track {
  background: var(--color-black);
  -webkit-border-radius: 10px;
  border-radius: 10px;
}

#header .leftNav .hamburger nav .nav_middle::-webkit-scrollbar-thumb {
  min-height: 40px;
  background: rgb(255 255 255 / 40%);
  -webkit-border-radius: 10px;
  border-radius: 10px;
}

#header .leftNav .hamburger nav .nav_middle ul.language {
  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: 16px;
  text-transform: uppercase;
  color: rgb(255 255 255 / 70%);
  font-weight: 300;
  line-height: 20px;
}

#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: rgb(255 255 255 / 70%);
  text-decoration: none;
  transition: color 0.3s ease-in-out;
}

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

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

#header .leftNav .hamburger nav .nav_middle ul.menu li {
  margin: 0 0 20px 0;
  font-family: var(--font-title-family);
  font-size: 22px;
  color: var(--color-white);
  font-weight: 300;
  line-height: 22px;
  text-transform: uppercase;
}

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

#header .leftNav .hamburger nav .nav_middle ul.menu li a {
  display: inline-block;
  padding-left: 0;
  color: var(--color-white);
  text-decoration: none;
  transition: color 0.3s ease-in-out, padding-left 0.3s ease-in-out;
}

#header .leftNav .hamburger nav .nav_middle ul.menu li a:hover {
  padding-left: 4px;
  color: var(--color-white);
  text-decoration: none;
}

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

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

#header .leftNav .hamburger nav .nav_middle ul.info li {
  position: relative;
  margin: 0 0 10px 0;
  padding: 0 0 0 20px;
  font-size: 16px;
  color: var(--color-white);
  font-weight: 300;
  line-height: 30px;
}

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

#header .leftNav .hamburger nav .nav_middle ul.info li img {
  position: absolute;
  top: 8px;
  left: 0;
}

#header .leftNav .hamburger nav .nav_middle ul.info li a {
  color: var(--color-white);
  text-decoration: none;
  transition: color 0.3s ease-in-out;
}

#header .leftNav .hamburger nav .nav_middle ul.info li a:hover {
  color: var(--color-white);
  text-decoration: none;
}

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

#header .leftNav .hamburger nav .nav_middle ul.social li {
  float: left;
  width: auto;
  margin-right: 10px;
}

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

#header .leftNav .hamburger nav .nav_middle ul.social li a {
  display: block;
  filter: none;
  transition: filter 0.3s ease-in-out, opacity 0.3s ease-in-out;
  filter: var(--color-filter-icon-white);
}

#header .leftNav .languageMenu {
  width: 47px;
  position: relative;
  z-index: 1;
}

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

#header .leftNav .languageMenu label a {
  display: block;
  padding: 2px 3px;
  padding-right: 10px;
  background: url(../../images/icons/arrow-language.png) no-repeat right
    center;
  background-size: 15px;
  font-size: 20px;
  color: #000;
  text-transform: uppercase;
  filter: var(--color-filter-icon-white);
}

#header.sticky .leftNav .languageMenu label a {
  filter: var(--color-filter-icon-primary);
}

#header .leftNav .languageMenu label a.open {
  background-image: url(../../images/icons/arrow-language-open.png);
  filter: var(--color-filter-icon-white);
}

#header.sticky .leftNav .languageMenu label a.open {
  filter: var(--color-filter-icon-primary);
}

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

#header .leftNav .languageMenu ul li a {
  display: block;
  padding: 5px 10px;
  font-size: 20px;
  text-transform: uppercase;
  color: var(--color-primary);
  transition: color 0.3s ease-in-out;
}

#header .leftNav .languageMenu ul li a:hover {
  color: var(--color-primary-hover);
}

#header .leftNav .phoneIcon {
  display: block;
}

#header .leftNav .phoneIcon a {
  display: block;
}

#header .leftNav .phoneIcon a img {
  filter: var(--color-filter-icon-white);
}

#header.sticky .leftNav .phoneIcon a img {
  filter: var(--color-filter-icon-primary);
}

#header .rightNavMobile {
  display: none;
  align-items: center;
  justify-content: flex-end;
  width: calc(50% - 126px);
}

#header .rightNavMobile .phoneIcon {
  display: block;
}

#header .rightNavMobile .phoneIcon a {
  display: block;
}

#header .rightNavMobile .phoneIcon a img {
  filter: var(--color-filter-icon-primary);
}

@media (max-width: 959px) {
  #header .rightNavMobile .phoneIcon a img {
    filter: var(--color-filter-icon-white);
  }

  #header.sticky .rightNavMobile .phoneIcon a img {
    filter: var(--color-filter-icon-primary);
  }
}

#header .rightNav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  width: calc(50% - 126px);
}

#header .rightNav ul {
  display: flex;
  align-items: center;
  grid-gap: 40px;
  padding: 0;
  margin: 0;
  list-style-type: none;
}

#header .rightNav ul li {
  float: left;
  width: auto;
}

#header .rightNav ul li a:not(.primary-cta) {
  position: relative;
  display: block;
  padding-bottom: 0px;
  font-size: 16px;
  color: var(--color-white);
  line-height: 20px;
  text-decoration: none;
  transition: color 0.3s ease-in-out;
}

#header.sticky .rightNav ul li a:not(.primary-cta) {
  color: var(--color-primary);
}

#header .rightNav ul li a:not(.primary-cta):hover {
  color: var(--color-white);
  text-decoration: none;
}

#header.sticky .rightNav ul li a:not(.primary-cta):hover {
  color: var(--color-primary-hover);
}

#header .rightNav ul li a:not(.primary-cta):after {
  content: "";
  width: 100%;
  height: 2px;
  background-color: var(--color-white);
  position: absolute;
  bottom: -15px;
  left: 0;
  opacity: 0;
  visibility: hidden;
  transition: 0.3s;
}

#header.sticky .rightNav ul li a:not(.primary-cta):after {
  background-color: var(--color-primary-hover);
}

#header .rightNav ul li a:not(.primary-cta):hover:after {
  bottom: -10px;
  opacity: 1;
  visibility: visible;
}

#header:not(.sticky) .rightNav .primary-cta {
  border-color: var(--color-white);
  background-color: transparent;
  color: var(--color-white);
}

#header:not(.sticky) .rightNav .primary-cta:hover {
  background-color: var(--color-white);
  color: var(--color-primary);
}

/*-------------- Sticky Header Start --------------*/
#header.sticky {
  background-color: var(--color-white);
  box-shadow: 0px 10px 20px rgb(0 4 16 / 70%);
  position: fixed;
  top: 0;
}

#header.sticky .logo {
  width: 130px;
}

#caption {
  width: 100%;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  text-align: center;
  overflow: hidden;
}

#caption .title {
  display: block;
  margin: 0;
  font-family: var(--font-title-family);
  font-size: 72px;
  color: var(--color-white);
  line-height: 72px;
  text-transform: uppercase;
}

#caption .subtitle {
  display: block;
  margin: 20px 0 0 0;
  font-size: 22px;
  color: var(--color-white);
  font-weight: 300;
  line-height: 36px;
}

#caption .subtitle br {
  display: block;
}

#searchForm {
  display: flex;
  align-items: flex-end;
  grid-gap: 30px;
  position: absolute;
  width: 100%;
  bottom: 40px;
  z-index: 2;
}

#searchForm a.searchFormClose {
  display: none;
  width: 15px;
  position: absolute;
  top: 15px;
  right: 15px;
  z-index: 1;
}

#searchForm .field {
  position: relative;
  float: left;
  width: 25%;
  padding: 0 0px;
}

#searchForm .field h3 {
  margin: 0 0 10px 0;
  font-size: 14px;
  color: var(--color-white);
  font-weight: 400;
  line-height: 20px;
  text-transform: uppercase;
}

#searchForm .field.dateinout {
  width: 33%;
}

#searchForm .field.adultschildren {
  width: 33%;
}

#searchForm .field.promocode {
  width: 17%;
}

#searchForm .field.button {
  width: 17%;
}

#searchForm .field .form-control {
  height: 54px;
  padding: 0 20px 0 0;
  border: none;
  border-bottom: 1px solid var(--color-black);
  background-color: transparent;
  background-image: url(../../images/design/arrow-search-fields.png);
  background-repeat: no-repeat;
  background-position: right center;
  border-radius: 0px;
  font-size: var(--font-text-size);
  color: var(--color-black);
  font-weight: 700;
}

#searchForm .field .form-control::placeholder {
  color: var(--color-black);
}

#searchForm .field button {
  display: block;
  width: 100%;
  padding: 17px 15px;
  outline: 0;
  border: none;
  background-color: var(--color-primary);
  border-radius: 0px;
  font-size: 16px;
  color: #000000;
  font-weight: 700;
  line-height: 20px;
  text-transform: uppercase;
  text-decoration: none;
  transition: all 0.3s ease-in-out;
}

#searchForm .field button:hover {
  background-color: var(--color-black);
}

#searchForm .field .popups {
  display: none;
  align-items: center;
  padding: 30px;
  padding-bottom: 160px;
  background-color: var(--color-black);
  background-repeat: no-repeat;
  background-position: center bottom 30px;
  position: absolute;
  min-width: 100%;
  bottom: 100%;
  /*left: 50%;
    transform: translateX(-50%);*/
  z-index: 1;
}

#searchForm .field .popups[style*="display: block"] {
  display: flex !important;
}

#searchForm .field .popups.no-bg {
  padding-bottom: 30px;
  background-image: none;
}

#searchForm .field .popups .popupsCancel {
  width: 15px;
  position: absolute;
  top: 15px;
  right: 15px;
  z-index: 1;
}

#searchForm .field .popups .calendar {
  float: left;
  width: 544px;
}

#searchForm .field .popups .calendar .daterangepicker {
  display: block !important;
  float: left;
  width: 100%;
  margin: 0 auto;
  border: none;
  background-color: transparent;
  border-radius: 0;
  font-family: var(--font-text-family);
  font-weight: normal;
  position: static;
}

#searchForm .field .popups .calendar .daterangepicker:before,
#searchForm .field .popups .calendar .daterangepicker:after {
  display: none;
}

#searchForm .field .popups .calendar .daterangepicker .ranges {
  display: none;
}

#searchForm .field .popups .calendar .daterangepicker .drp-calendar.left {
  padding: 0;
  margin-right: 30px;
}

#searchForm .field .popups .calendar .daterangepicker .drp-calendar.right {
  padding: 0;
}

#searchForm .field .popups .calendar .daterangepicker .calendar-table {
  padding: 0;
  border: none;
  border-radius: 0px;
  background-color: transparent;
}

#searchForm .field .popups .calendar .daterangepicker .calendar-table table {
  border-spacing: 4px;
  border-collapse: inherit;
}

#searchForm .field .popups .calendar .daterangepicker .calendar-table th,
#searchForm .field .popups .calendar .daterangepicker .calendar-table td {
  min-width: 32px;
  width: 32px;
  height: 32px;
  border: none;
  background-color: transparent;
  border-radius: 100%;
  font-size: 13px;
  color: rgb(10 19 41 / 80%);
  line-height: normal;
}

#searchForm .field .popups .calendar .daterangepicker .calendar-table th {
  color: #0a1329;
  font-family: var(--font-text-family);
  font-size: 11px;
  font-weight: normal;
}

#searchForm .field .popups .calendar .daterangepicker .calendar-table th.month {
  width: auto;
  font-family: var(--font-text-family);
  font-size: 16px;
  color: #0a1329;
  text-transform: uppercase;
}

#searchForm
  .field
  .popups
  .calendar
  .daterangepicker
  .calendar-table
  .next
  span,
#searchForm
  .field
  .popups
  .calendar
  .daterangepicker
  .calendar-table
  .prev
  span {
  border-color: #0a1329;
}

#searchForm
  .field
  .popups
  .calendar
  .daterangepicker
  .calendar-table
  .next:hover
  span,
#searchForm
  .field
  .popups
  .calendar
  .daterangepicker
  .calendar-table
  .prev:hover
  span {
  border-color: var(--color-black);
}

#searchForm
  .field
  .popups
  .calendar
  .daterangepicker
  .calendar-table
  th.available:hover,
#searchForm
  .field
  .popups
  .calendar
  .daterangepicker
  .calendar-table
  td.available:hover {
  background-color: #0a1329;
  color: var(--color-black);
}

#searchForm .field .popups .calendar .daterangepicker .calendar-table td.off,
#searchForm
  .field
  .popups
  .calendar
  .daterangepicker
  .calendar-table
  td.off.in-range,
#searchForm
  .field
  .popups
  .calendar
  .daterangepicker
  .calendar-table
  td.off.start-date,
#searchForm
  .field
  .popups
  .calendar
  .daterangepicker
  .calendar-table
  td.off.end-date {
  background-color: transparent;
  color: rgb(10 19 41 / 20%);
}

#searchForm
  .field
  .popups
  .calendar
  .daterangepicker
  .calendar-table
  td.in-range {
  background-color: #ebebeb;
  border-color: transparent;
  color: #0c2340;
}

#searchForm .field .popups .calendar .daterangepicker .calendar-table td.active,
#searchForm
  .field
  .popups
  .calendar
  .daterangepicker
  .calendar-table
  td.active:hover {
  background-color: var(--color-primary);
  color: #0a1329;
}

#searchForm .field .popups .calendar .daterangepicker .drp-buttons {
  padding: 10px 0 0 0;
  border-color: rgb(255 255 255 / 20%);
}

#searchForm .field .popups .calendar .daterangepicker .drp-selected {
  font-size: 13px;
  color: var(--color-black);
}

#searchForm .field .popups .calendar .daterangepicker .drp-buttons .btn {
  padding: 4px 15px;
  box-shadow: none;
  font-family: var(--font-text-family);
  font-size: 16px;
  font-weight: normal;
  line-height: 20px;
}

#searchForm .field .popups .calendar .daterangepicker .drp-buttons .btn:hover {
  border-color: #0ed6ef;
  background-color: #0ed6ef;
  color: #0c2340;
}

#searchForm .field .popups .roomsbox {
  float: left;
  width: 537px;
  margin-top: 10px;
}

#searchForm .field .popups .roomsbox #rooms {
  display: flex;
  flex-direction: column;
  grid-gap: 30px;
  min-height: 153px;
  max-height: 153px;
  padding-right: 30px;
  overflow-y: auto;
}

#searchForm .field .popups .roomsbox #rooms::-webkit-scrollbar {
  width: 2px;
}

#searchForm .field .popups .roomsbox #rooms::-webkit-scrollbar-track {
  background: rgb(0 0 0 / 20%);
  -webkit-border-radius: 10px;
  border-radius: 10px;
}

#searchForm .field .popups .roomsbox #rooms::-webkit-scrollbar-thumb {
  min-height: 40px;
  background: #0e1933;
  -webkit-border-radius: 10px;
  border-radius: 10px;
}

#searchForm .field .popups .roomsbox #rooms .room {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  grid-gap: 30px;
}

#searchForm .field .popups .roomsbox #rooms .room .room-title {
  display: flex;
  align-items: center;
  min-width: 70px;
  max-width: 70px;
  font-size: 16px;
  color: #3d3d3d;
  font-weight: 400;
  line-height: 20px;
}

#searchForm .field .popups .roomsbox #rooms .room .icon.adult,
#searchForm .field .popups .roomsbox #rooms .room .icon.child,
#searchForm .field .popups .roomsbox #rooms .room .icon.baby {
  position: relative;
}

#searchForm .field .popups .roomsbox #rooms .room .icon.adult::after,
#searchForm .field .popups .roomsbox #rooms .room .icon.child::after,
#searchForm .field .popups .roomsbox #rooms .room .icon.baby::after {
  content: "";
  width: 17px;
  height: 17px;
  background-size: cover;
  position: absolute;
  top: 6px;
  right: 25px;
}

#searchForm .field .popups .roomsbox #rooms .room .icon.adult::after {
  background-image: url("../../images/icons/adult-icon.png");
}

#searchForm .field .popups .roomsbox #rooms .room .icon.child::after {
  background-image: url("../../images/icons/children-icon.png");
}

#searchForm .field .popups .roomsbox #rooms .room .icon.baby::after {
  background-image: url("../../images/icons/baby-icon.png");
}

#searchForm .field .popups .roomsbox #rooms .room select {
  width: 115px;
  padding: 5px 10px;
  outline: 0;
  border: none;
  border-bottom: 1px solid #0a1329;
  background-color: transparent;
  background-position: right 0px center;
  font-size: 16px;
  color: #3d3d3d;
  font-weight: 400;
  line-height: 20px;
}

#searchForm .field .popups .roomsbox #rooms .room .icon.remove {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #0a1329;
  text-decoration: none;
  position: absolute;
  top: 7px;
  right: -22px;
}

#searchForm .field .popups .roomsbox #rooms .room .ages-inputs {
  display: flex;
  align-items: center;
  grid-gap: 30px;
  width: 100%;
}

#searchForm .field .popups .roomsbox #rooms .room .ages-inputs .ages-label {
  display: flex;
  align-items: center;
  min-width: 70px;
  max-width: 70px;
}

#searchForm .field .popups .roomsbox #rooms .room .ages-inputs .ages-container {
  display: flex;
  align-items: center;
  grid-gap: 30px;
}

#searchForm .roomsbox .action-buttons {
  display: flex;
  justify-content: center;
  align-items: center;
  grid-gap: 15px;
  margin-top: 30px;
}

#searchForm .roomsbox .action-buttons .plus,
#searchForm .roomsbox .action-buttons .accept {
  display: inline-block;
  width: auto;
  padding: 10px 20px;
  border: 1px solid #020815;
  background-color: transparent;
  font-size: 16px;
  color: #020815;
  font-weight: 400;
  line-height: 20px;
  text-transform: none;
}

#searchForm .roomsbox .action-buttons .plus:hover,
#searchForm .roomsbox .action-buttons .accept:hover {
  border-color: var(--color-primary);
  background-color: var(--color-primary);
  color: #000000;
}

#searchForm .roomsbox .action-buttons .accept {
  background-color: #020815;
  color: var(--color-black);
}

#searchForm .field .popups .promocodebox {
  float: left;
  width: 210px;
  text-align: center;
}

#searchForm .field .popups .promocodebox .form-control {
  display: block;
  width: 100%;
  height: 40px;
  margin-top: 10px;
  padding: 7px 20px;
  border: none;
  border-bottom: 1px solid #0a1329;
  background-color: transparent;
  background-image: none;
  border-radius: 0px;
  font-size: 14px;
  color: #0a1329;
  font-weight: 400;
  text-align: center;
}

#searchForm .field .popups .promocodebox .form-control::placeholder {
  color: #0a1329;
}

#searchForm .field .popups .promocodebox .apply-btn {
  display: inline-block;
  width: auto;
  margin-top: 30px;
  padding: 10px 37px;
  background-color: #020815;
  font-size: 16px;
  color: var(--color-black);
  font-weight: 400;
  line-height: 20px;
  text-transform: none;
}

#searchForm .field .popups .promocodebox .apply-btn:hover {
  background-color: var(--color-primary);
  color: #000000;
}

#searchFormBtn {
  display: none;
  width: calc(100% - 30px);
  position: absolute;
  bottom: 15px;
  z-index: 3;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-duration: 0.5s;
  animation-duration: 0.5s;
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
  animation-delay: 0.2s;
}

#searchFormBtn.sticky {
  width: 100%;
  position: fixed;
  bottom: 0;
  right: 0;
  left: 0;
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp;
  animation-delay: 0.2s;
}

#searchFormBtn button {
  width: 100%;
}

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

.text-center span.title {
  display: block;
  margin: 0 0 40px 0;
  font-family: var(--font-cursive-family);
  font-size: var(--font-subtitle-cursive-size);
  color: var(--color-primary);
  line-height: 60px;
  text-align: center;
}

.text-center h2 {
  width: 80%;
  margin: 0 auto 40px auto;
  font-family: var(--font-title-family);
  font-size: var(--font-title-size);
  color: var(--color-black);
  line-height: 58px;
  text-transform: uppercase;
  text-align: center;
}

#footer {
  position: relative;
  float: left;
  width: 100%;
  background-color: var(--color-primary);
  overflow: hidden;
}

.footerSection {
  float: left;
  width: 100%;
  padding-top: 70px;
  padding-bottom: 70px;
}

.footerSection .ftr_info .logo {
  margin-bottom: 30px;
  /* Logo en blanco sobre el fondo oscuro del footer */
  filter: brightness(0) saturate(100%) invert(98%) sepia(2%) saturate(234%) hue-rotate(176deg) brightness(119%) contrast(100%);
}

.footerSection .ftr_social {
  float: left;
  width: 100%;
}

.footerSection .ftr_social ul {
  padding: 0;
  margin: 0;
  list-style-type: none;
}

.footerSection .ftr_social ul li {
  display: inline-block;
  width: auto;
  margin: 0 10px 0 0;
}

.footerSection .ftr_social ul li a {
  display: flex;
  align-items: center;
  width: auto;
  height: auto;
  filter: brightness(0) invert(1);
  transition: all 0.3s ease-in-out;
}

.footerSection .ftr_social ul li a:hover {
  filter: brightness(0) invert(1);
  opacity: 0.7;
  transition: all 0.3s ease-in-out;
}

.footerSection .ftr_menu h3 {
  margin: 0 0 20px 0;
  font-family: var(--font-text-family);
  font-weight: normal;
  font-size: var(--font-text-size);
  line-height: 28px;
  color: var(--color-white);
  text-transform: uppercase;
}

.footerSection .ftr_menu ul {
  padding: 0;
  margin: 0;
  list-style-type: none;
}

.footerSection .ftr_menu ul li {
  margin: 0;
  font-size: var(--font-text-size);
  color: var(--color-white);
  font-weight: 300;
  line-height: 36px;
}

.footerSection .ftr_menu ul li:last-child {
  margin-bottom: 0;
}

.footerSection .ftr_menu ul li a {
  position: relative;
  display: inline-block;
  color: var(--color-white);
  text-decoration: none;
  transition: all 0.3s ease-in-out;
}

.footerSection .ftr_menu ul li a:hover {
  color: var(--color-white);
  text-decoration: none;
}

.footerSection .ftr_menu ul li a::after {
  content: "";
  width: 100%;
  height: 1px;
  background: var(--color-white);
  opacity: 0;
  visibility: hidden;
  position: absolute;
  bottom: -8px;
  left: 0;
  transition: all 0.3s ease-in-out;
}

.footerSection .ftr_menu ul li a:hover::after {
  opacity: 1;
  visibility: visible;
  bottom: 0;
}

.footerSection .ftr_contact h3 {
  margin: 0 0 20px 0;
  font-family: var(--font-text-family);
  font-weight: normal;
  font-size: var(--font-text-size);
  color: var(--color-white);
  line-height: 28px;
  text-transform: uppercase;
}

.footerSection .ftr_contact ul {
  padding: 0;
  margin: 0;
  list-style-type: none;
}

.footerSection .ftr_contact ul li {
  position: relative;
  margin: 0;
  padding: 0 0 0 20px;
  font-size: 16px;
  color: var(--color-white);
  font-weight: 300;
  line-height: 36px;
}

.footerSection .ftr_contact ul li:last-child {
  margin-bottom: 0;
}

.footerSection .ftr_contact ul li img {
  position: absolute;
  top: 12px;
  left: 0;
}

.footerSection .ftr_contact ul li a {
  position: relative;
  display: inline-block;
  color: var(--color-white);
  text-decoration: none;
  transition: all 0.3s ease-in-out;
}

.footerSection .ftr_contact ul li a:hover {
  color: var(--color-white);
  text-decoration: none;
}

.footerSection .ftr_contact ul li a::after {
  content: "";
  width: 100%;
  height: 1px;
  background: var(--color-white);
  opacity: 0;
  visibility: hidden;
  position: absolute;
  bottom: -8px;
  left: 0;
  transition: all 0.3s ease-in-out;
}

.footerSection .ftr_contact ul li a:hover::after {
  bottom: 0;
  opacity: 1;
  visibility: visible;
}

.footerBottom {
  float: left;
  width: 100%;
  padding-top: 0px;
  padding-bottom: 30px;
}

.footerBottom .copy_text {
  float: left;
  width: 100%;
  font-size: 16px;
  color: var(--color-white);
  font-weight: 400;
  display: flex;
  justify-content: center;
  align-items: self-end;
  gap: 5px;
}
.footerBottom .copyright__logo {
  display: inline-flex;
  margin: auto 0;
}

.footerBottom .copy_text br {
  display: none;
}

@media (max-width: 992px) {
  .footerBottom .copy_text {
    flex-direction: column;
    align-items: center;
  }
}

/*----------------- Other Blocks -----------------*/

#facilitiesMoreSec {
  position: relative;
  padding-top: 70px;
  padding-bottom: 0px;
  margin-bottom: 70px;
  overflow: hidden;
}

#facilitiesMoreSec span.title {
  display: block;
  margin: 0 0 40px 0;
  font-family: var(--font-cursive-family);
  font-size: var(--font-subtitle-cursive-size);
  color: var(--color-primary);
  line-height: 50px;
  text-align: center;
}

#facilitiesMoreSec h2 {
  width: 80%;
  margin: 0 auto 40px auto;
  font-family: var(--font-title-family);
  font-size: 48px;
  color: var(--color-black);
  line-height: 58px;
  text-transform: uppercase;
  text-align: center;
}

#facilitiesMoreSec .bgBox {
  width: 55%;
  height: 380px;
  background: var(--color-grey);
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 0;
}

#facilitiesMoreSec .slider {
  padding-bottom: 30px;
}

#facilitiesMoreSec .slider .facilities-more-slider .owl-stage-outer {
  overflow: visible;
}

#facilitiesMoreSec .slider .facilities-more-slider .owl-stage-outer:before,
#facilitiesMoreSec .slider .facilities-more-slider .owl-stage-outer:after {
  content: "";
  width: 120px;
  height: 100%;
  background: rgb(2 8 21 / 50%);
  position: absolute;
  top: 0;
  z-index: 1;
  pointer-events: none;
}

#facilitiesMoreSec .slider .facilities-more-slider .owl-stage-outer:before {
  background: linear-gradient(
    -90deg,
    rgba(2, 8, 21, 0) 5%,
    rgba(2, 8, 21, 0.7) 65%,
    rgba(2, 8, 21, 1) 95%
  );
  left: calc(0px - var(--container-padding));
}

#facilitiesMoreSec .slider .facilities-more-slider .owl-stage-outer:after {
  background: linear-gradient(
    90deg,
    rgba(2, 8, 21, 0) 5%,
    rgba(2, 8, 21, 0.7) 65%,
    rgba(2, 8, 21, 1) 95%
  );
  right: calc(0px - var(--container-padding));
}

#facilitiesMoreSec .slider .facilities-more-slider .item {
  position: relative;
  overflow: hidden;
}

#facilitiesMoreSec .slider .facilities-more-slider .item .image {
  position: relative;
}

#facilitiesMoreSec .slider .facilities-more-slider .item .image:after {
  pointer-events: none;
  content: "";
  width: 100%;
  height: 45%;
  background: rgb(2 8 21 / 50%);
  background: linear-gradient(
    180deg,
    rgba(2, 8, 21, 0) 0%,
    rgba(2, 8, 21, 0.7) 50%,
    rgba(2, 8, 21, 1) 85%
  );
  position: absolute;
  bottom: 0;
  left: 0;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-duration: 0.5s;
  animation-duration: 0.5s;
  -webkit-animation-name: fadeOut;
  animation-name: fadeOut;
  animation-delay: 0s;
}

#facilitiesMoreSec .slider .facilities-more-slider .center .item .image:after {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
  animation-delay: 0.5s;
}

#facilitiesMoreSec .slider .facilities-more-slider .item .info {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  position: absolute;
  bottom: 20px;
  right: 70px;
  left: 70px;
  z-index: 2;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-duration: 0.5s;
  animation-duration: 0.5s;
  -webkit-animation-name: fadeOutDown;
  animation-name: fadeOutDown;
  animation-delay: 0s;
}

#facilitiesMoreSec .slider .facilities-more-slider .center .item .info {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp;
  animation-delay: 0.5s;
}

#facilitiesMoreSec .slider .facilities-more-slider .item .info h3 {
  width: 100%;
  margin: 0 0 10px 0;
  font-family: var(--font-text-family);
  font-weight: 800;
  font-size: 30px;
  color: var(--color-white);
  line-height: 30px;
  text-transform: uppercase;
}

#facilitiesMoreSec .slider .facilities-more-slider .item .info .text {
  width: calc(100% - 250px);
  margin-right: 70px;
}

#facilitiesMoreSec .slider .facilities-more-slider .item .info p {
  margin: 20px 0 0 0;
  font-size: var(--font-text-size);
  color: var(--color-white-transparent);
  font-weight: 400;
  line-height: 30px;
}

#facilitiesMoreSec .slider .customNav {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin-top: 30px;
  position: relative;
  z-index: 1;
}

#facilitiesMoreSec .slider .customNav button {
  width: 17px;
  padding: 0;
  background-color: transparent;
  filter: var(--color-filter-icon-primary);
}

#facilitiesMoreSec .slider .customNav #counter {
  width: 80px;
  margin: 0 5px;
  font-family: var(--font-text-family);
  font-weight: normal;
  font-size: 17px;
  color: var(--color-black);
  line-height: 17px;
  text-align: center;
}

#facilitiesMoreSec .slider .customNav #counter span {
  font-family: "var(--font-text-family)";
  color: var(--color-primary);
  font-weight: 900;
}

/* RECAPTCHA */
.grecaptcha-badge {
  z-index: 9999 !important;
}

@media (max-width: 992px) {
  .grecaptcha-badge {
    z-index: 45 !important; /* por debajo del z-index real de #header (50 en móvil), que envuelve el menú hamburguesa */
    bottom: 75px !important; /* separado del botón fijo de reserva (.mobile-book-container, 65px de alto) */
  }
}
