/*
_____________________________________________________

	Neobookings
	Version: 1.0 (update - xx.Apr.20)
	Created By: Neobookings
	Support: web@neobookings.com
_____________________________________________________

COLORS:

GOLD:
	HEX: #A1988F
	RGBA: rgba(163,152,143,1)

BLACK:
	HEX: #41474B
	RGBA: rgba(65, 71, 75,1)

*/

/* --------------------------------------------------
	0.1 Settigns
-------------------------------------------------- */

/* ---- General ---- */
/* ---- Header ---- */

/* ---- Drop smoth transitions ---- */

/* ---- General ---- */

@font-face {
  font-family: Roboto;
  src: url(../fonts/Roboto-Regular.woff);
  font-weight: normal;
  font-display: fallback;
}

@font-face {
  font-family: Montserrat-Light;
  src: url(../fonts/Montserrat-Light.woff);
  font-weight: lighter;
  font-display: fallback;
}

@font-face {
  font-family: Montserrat-Regular;
  src: url(../fonts/Montserrat-Regular.woff);
  font-weight: normal;
  font-display: fallback;
}

@font-face {
  font-family: Montserrat-Medium;
  src: url(../fonts/Montserrat-Medium.woff);
  font-weight: bold;
  font-display: fallback;
}

@font-face {
  font-family: Montserrat-Semibold;
  src: url(../fonts/Montserrat-SemiBold.woff);
  font-weight: bolder;
  font-display: fallback;
}

@font-face {
  font-family: Berlingske;
  src: url(../fonts/BerlingskeSerif-Regular.woff);
  font-weight: normal;
  font-display: fallback;
}

@font-face {
  font-family: EBGaramond-Regular;
  src: url(../fonts/EBGaramond-Regular.ttf);
  font-weight: normal;
  font-display: fallback;
}

@font-face {
  font-family: Arkibal-Display-Bold;
  src: url(../fonts/Arkibal-Display-Bold.ttf);
  font-weight: normal;
  font-display: fallback;
}

@font-face {
  font-family: Arkibal-Display-Light;
  src: url(../fonts/Arkibal-Display-Light.ttf);
  font-weight: normal;
  font-display: fallback;
}

html {
  scroll-behavior: smooth;
  /*Suavizado de scroll en página*/
}

body {
  font-size: 1em;
  font-family: EBGaramond-Regular;
  margin: 0;
  text-rendering: optimizeLegibility;
  background-color: #f6f6f6;
}

/* body de prueba para form suscripciones */
body.white {
  background-color: #000;
}

body * {
  box-sizing: border-box;
}

::-moz-selection {
  background: #a1988f;
  color: #41474b;
}

::selection {
  background: #a1988f;
  color: #41474b;
}

p {
  text-align: justify;
  text-justify: inter-word;
}

a {
  text-decoration: none;
}

.margin-top-25 {
  margin-top: 25px !important;
}

.section a:not(.cta):not(.circle):not(.btn) {
  color: #a1988f;
}

.hotel-name {
  font-family: Arkibal-Display-Light !important;
}

.hotel-name strong {
  font-family: Arkibal-Display-Bold !important;
}

a:focus,
input:focus,
textarea:focus,
button:focus {
  outline: none;
}

input {
  padding: 0 15px;
  line-height: 57px;
}

hr {
  background-color: #a1988f;
  border: 0;
  height: 1px;
}

.hidden-desktop {
  display: none;
}

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

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

.padding-bottom-100 {
  padding-bottom: 100px !important;
}

@media screen and (max-width: 991px) {
  .padding-bottom-xs-0 {
    padding-bottom: 0px !important;
  }
}

.cta {
  color: #fff;
  background-color: #41474b;
  position: relative;
  padding: 0 40px;
  line-height: 60px;
  display: inline-block;
  text-transform: uppercase;
  border: 0;
  font-family: Roboto;
}

.cta:hover {
  background-color: #0f161b;
}

.cta.reservar:before,
.cta.reservar:after,
.info__phone:before {
  content: "";
  height: 28px;
  width: 25px;
  position: absolute;
  right: 40px;
  background: transparent url(../images/icons.svg) no-repeat top center;
  background-size: 100% auto;
  top: 50%;
  margin-top: -15px;
  background-position: center -1px;
}

.cta.reservar.book {
  padding: 0;
  width: 100px;
  height: 100px;
  border: 1px solid #fff;
  border-radius: 100%;
  padding-top: 20px;
  cursor: pointer;
}

.cta.reservar:after {
  background: transparent url(../images/star.svg) no-repeat center;
  width: 10px;
  height: 10px;
  margin-top: -5px;
  right: 47.5px;
}

.cta.reservar.book:before {
  position: relative;
  display: block;
  left: 50%;
  margin-left: -10px;
  top: 12px;
}

.cta.reservar.book:after {
  width: 11px;
  height: 11px;
  margin-top: -22px;
  right: 41px;
}

.info__phone:before {
  content: "";
  height: 28px;
  width: 25px;
  position: absolute;
  right: 70px;
  background-position: 0 -50px;
}

.cta.arrow {
  padding-right: 70px;
}

.cta.arrow:before {
  content: "";
  height: 20px;
  width: 40px;
  position: absolute;
  right: 15px;
  background: transparent url(../images/icons.svg) no-repeat top center;
  background-size: 100% auto;
  background-position: 0 -532.5px;
  top: 50%;
  transform: translateY(-50%);
}

.cta.loading:before {
  background: url(../images/loading.png);
  background-size: cover;
  height: 30px;
  width: 30px;
  -webkit-animation-name: rotate;
  -webkit-animation-duration: 2s;
  -webkit-animation-iteration-count: infinite;
  -webkit-transition-timing-function: linear;
  animation-name: rotate;
  animation-duration: 2s;
  animation-iteration-count: infinite;
  transition-timing-function: linear;
  animation-timing-function: linear;
}

@-webkit-keyframes rotate {
  from {
    -webkit-transform: rotate(0deg);
  }

  to {
    -webkit-transform: rotate(360deg);
  }
}

a.circle {
  color: #000;
  text-transform: uppercase;
  font-family: Roboto;
  font-weight: lighter;
  position: relative;
}

a.circle:after {
  content: "";
  display: inline-block;
  width: 45px;
  height: 45px;
  border: 1px solid #41474b;
  border-radius: 100%;
  position: relative;
  margin-left: 10px;
  margin-bottom: -15px;
}

a.circle span {
  position: relative;
}

a.circle span:after {
  content: "";
  display: inline-block;
  position: absolute;
  width: 30px;
  height: 30px;
  background-image: url(../images/to.svg);
  background-repeat: no-repeat;
  background-size: 100% auto;
  right: -48px;
  top: -1px;
}

.moreinfo a.circle span:after {
  top: 3px;
}

a.info {
  color: #41474b;
  margin-right: 15px;
}

a.info:hover {
  text-decoration: underline;
}

a.info:before {
  content: "";
  height: 30px;
  width: 30px;
  display: inline-block;
  margin-right: 5px;
  background: transparent url(../images/icons.svg) no-repeat top center;
  background-size: 100% auto;
  background-position: 0 -603px;
  margin-bottom: -7px;
}

a.info.book:before {
  background-position: 0 -632px;
  margin-bottom: -9px;
}

a.info.icon-virtual-tour:before {
  background-position: 0 -781px;
}

a.info.menu:before {
  background-position: 0 -748px;
  margin-bottom: -9px;
}

a.info--see-more:before {
  background-position: 0 -814px;
  margin-bottom: -9px;
}

.btn {
  display: inline-block;
  width: auto;
  font-family: Roboto;
  font-size: 100%;
  text-transform: uppercase;
  border: 1px solid;
  padding: 15px 20px;
  letter-spacing: 1px;
  transition: all 0.25s ease-in;
}

.btn--grey,
.btn--grey:visited,
.btn--grey:focus {
  color: #ffffff;
  border-color: #41474b;
  background-color: #41474b;
  text-align: center;
}

.btn--grey:hover {
  color: #fff;
  border-color: #0f161b;
  background-color: #0f161b;
  text-decoration: none;
  text-align: center;
}

.icon.close {
  text-decoration: none;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  color: white;
}

.icon.close:hover {
  text-decoration: none !important;
  color: white !important;
}

.icon.adult,
.icon.child {
  position: relative;
}

.icon.adult::after,
.icon.child::after {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  position: absolute;
  top: 15px;
  right: 40px;
  background-image: url(../images/guests-mask/adult-icon.png);
  background-size: cover;
}

.icon.child::after {
  background-image: url(../images/guests-mask/children-icon.png);
}

.header,
.section,
.footer {
  display: inline-block;
  width: 100%;
}

.noHeroSlider section.section > *:first-child {
  margin-top: 80px;
}

h1,
.title {
  color: #41474b;
}

h1,
h2,
.title {
  font-family: Montserrat-Medium;
  font-weight: 300;
  font-size: 400%;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.article.details h1 {
  font-family: Montserrat-Medium;
  font-weight: 300;
  font-size: 400%;
  margin-bottom: 0;
  color: rgba(161, 152, 143, 1);
}

.article.details h2,
.fancybox_content h2 {
  font-family: Montserrat-Medium;
  font-weight: 300;
  font-size: 250%;
  color: #a1988f;
}

.fancybox_content p {
  line-height: 2em;
  font-size: 110%;
}

body.rooms h1,
body.room .room_detail h2.title,
body.default-list .onthebeach h1,
body.offers .onthebeach h1,
.products h3,
body.default-list-all-description .onthebeach h1 {
  font-family: Montserrat-Medium;
  font-weight: 300;
  text-align: center;
  font-size: 250%;
  color: #a1988f;
  padding: 60px 0 40px;
  position: relative;
  margin-bottom: 0;
}

body.rooms p.subtitle,
body.room p.subtitle,
body.default-list p.subtitle,
body.offers p.subtitle,
body.default-list-all-description p.subtitle {
  text-align: center;
  margin: 0 0 70px;
  font-family: Roboto;
  font-weight: lighter;
  font-size: 20px;
  line-height: 35px;
}

body.rooms h1:before,
body.room .room_detail h2.title:before,
body.default-list .onthebeach h1:before,
.products h3:before,
body.offers .onthebeach h1:before,
body.default-list-all-description .onthebeach h1:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background: url(../images/logo-small-white.svg) no-repeat center center;
  background-size: auto 85%;
  left: 0;
  top: 0;
  z-index: -1;
  filter: invert(1);
  opacity: 0.05;
}

label {
  line-height: 2em;
}

textarea {
  line-height: 2em;
  padding: 20px 30px;
}

button {
  cursor: pointer;
}

.title {
  font-weight: bolder;
  width: 100%;
}

.subtitle {
  font-family: Roboto;
  width: 100%;
  letter-spacing: 1px;
}

h3 {
  font-family: Montserrat-Medium;
  font-size: 250%;
  font-weight: 300;
  text-transform: uppercase;
  letter-spacing: 1px;
  position: relative;
  display: inline-block;
}

h3.lines,
h5.lines {
  width: auto;
  padding: 0 75px;
}

h3.lines:before,
h3.lines:after,
h5.lines:before,
h5.lines:after {
  content: "";
  display: inline-block;
  width: 60px;
  height: 3px;
  background-color: rgba(255, 255, 255, 1);
  position: absolute;
  top: 30px;
  left: 0;
  margin-top: -2px;
  float: left;
}

h3.lines span,
h5.lines span {
  float: left;
}

h3.lines:after,
h5.lines:after {
  left: inherit;
  right: 0;
}

.crop {
  display: block;
  width: 80%;
  margin: 0 auto;
  position: relative;
}

.col-2 {
  width: 48.5%;
  float: left;
  position: relative;
}

.col-2_long {
  width: 63.5%;
}

.col-2_short {
  width: 33.5%;
}

.col-2:nth-child(odd) {
  margin-right: 3%;
}

.col-2:nth-child(odd) {
  margin-right: 3%;
}

.col-2.no-gap {
  width: 50%;
}

.col-2.no-gap:nth-child(odd) {
  margin-right: 0;
}

.col-3 {
  width: 31.3335%;
  float: left;
  position: relative;
}

.col-3 {
  margin-right: 3%;
}

.col-3:nth-child(3n) {
  margin-right: 0;
}

.col-4 {
  width: 22.75%;
  float: left;
  position: relative;
}

.col-4 {
  margin-right: 3%;
}

.col-4:nth-child(4n) {
  margin-right: 0;
}

.fancybox_content {
  width: 100%;
  max-width: 800px !important;
  display: none;
}

.darken:before {
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  display: inline-block;
  position: absolute;
  background-color: rgba(0, 0, 0, 0.3);
}

.slider_hero .owl-stage-outer {
  height: 100vh;
  width: 100%;
}

.slider_hero .moreinfo p {
  margin: 0;
}

.slider_hero .link.white {
  display: inline-block;
  width: auto;
  font-family: Roboto;
  font-size: 130%;
  color: #fff !important;
  text-transform: uppercase;
  border: 1px solid;
  padding: 15px 20px;
  letter-spacing: 1px;
  margin: 0 5px;
  transition: all 0.25s ease-in;
}

.slider_hero .link.white:hover {
  color: #41474b !important;
  border: 1px solid #fff;
  background-color: #fff;
  text-decoration: none;
  text-shadow: none;
}

/* ---- Header ---- */

.header {
  font-family: Roboto;
  color: #fff;
  position: absolute;
  z-index: 2;
  letter-spacing: 1px;
  background: linear-gradient(
    0deg,
    rgba(0, 0, 0, 0) 2%,
    rgba(0, 0, 0, 0.3) 50%,
    rgba(0, 0, 0, 0.5) 100%
  );
}

.noHeroSlider .header {
  background: #41474b;
}

.header.fixed {
  position: fixed;
}

.header a {
  color: #fff;
}

.header_top {
  text-align: center;
  text-transform: uppercase;
  height: 100px;
  position: relative;
}

.header.fixed .header_top {
  height: 41px;
  background-color: rgba(161, 152, 143, 0.9);
  overflow: hidden;
}

.header a.logo {
  position: absolute;
  width: 100px;
  left: 50%;
  margin-left: -50px;
  height: 100%;
  background: url(../images/logo-small-white.svg) no-repeat center center;
  background-size: auto 85%;
}

.header a.logo:hover {
  background-color: transparent;
}

.toggle-menu:not(.nav-main__close) {
  line-height: 99px;
  float: left;
  border-right: 1px solid #fff;
  padding: 0 40px;
}

.header.fixed .toggle-menu {
  line-height: 40px;
  padding: 0 40px;
}

.toggle-menu_line {
  width: 24px;
  height: 1px;
  background-color: #fff;
  display: inline-block;
  position: absolute;
  top: 40px;
}

.header.fixed .toggle-menu_line {
  top: 10px;
}

.toggle-menu_line_1 {
  animation: toggle-menu-animation-one 0.5s 1;
  transform: rotate(0);
  margin-top: 0;
}

.toggle-menu_line_2 {
  animation: toggle-menu-animation-two 0.5s 1;
  transform: rotate(0deg);
  margin-top: 8px;
}

.toggle-menu_line_3 {
  animation: toggle-menu-animation-three 0.5s 1;
  transform: rotate(0deg);
  margin-top: 16px;
}

.toggle-menu_text {
  margin-left: 33px;
}

.toggle-lang {
  float: left;
  line-height: 99px;
  padding: 0 40px;
  cursor: pointer;
  display: inline-block;
  position: relative;
}

.header.fixed .toggle-lang {
  line-height: 40px;
}

.toggle-lang > * {
  float: left;
}

.toggle-lang > span {
  cursor: pointer;
}

.toggle-lang:before {
  animation: toggle-lang-animation 0.5s 1;
  content: "";
  position: absolute;
  top: 43px;
  right: 22px;
  width: 7px;
  height: 7px;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  transform: rotate(45deg);
}

.header.fixed .toggle-lang:before {
  top: 13px;
}

.toggle-lang.active:before {
  animation: toggle-lang-animation-ac 0.5s 1;
  transform: rotate(135deg);
  top: 45px;
}

.toggle-lang > ul {
  animation: toggle-lang-ul-animation 0.5s 1;
  margin: 0;
  padding-left: 5px;
  width: 0;
  overflow: hidden;
  list-style: none;
  text-align: center;
  height: 99px;
  text-align: left;
}

.toggle-lang > ul {
  animation: toggle-lang-ul-animation 0.5s 1;
  margin: 0;
  padding-left: 5px;
  width: 0;
  overflow: hidden;
  list-style: none;
  text-align: center;
  height: 99px;
  text-align: left;
}

.header.fixed .toggle-lang > ul {
  height: 40px;
}

.toggle-lang.active ul {
  animation: toggle-lang-ul-animation-ac 0.5s 1;
  width: 81px;
  padding-left: 0;
}

.toggle-lang > ul > li {
  display: inline-block;
}

.toggle-lang.active span {
  padding: 0 5px 0 0;
}

.toggle-lang > ul > li a {
  color: #ccc;
  padding: 0 5px 0 0;
}

.header .toggle-lang > ul > li a:hover {
  color: #fff;
  background-color: transparent;
}

.header .cta,
.info__phone {
  line-height: 99px;
  float: right;

  padding: 0 75px 0 40px;
  position: relative;
}

/* HEADER CHECKIN TEL */

.header .info {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  float: right;
  padding-top: 16px;
  gap: 8px;
  position: relative;
}

.info__phone {
  line-height: 15px;
  text-align: left;
}

.info__checkin {
  float: right;
  padding: 0 75px 0 40px;
  position: relative;
}

@media screen and (max-width: 1023px) {
  .header .info {
    display: flex;
    flex-direction: row;
    float: right;
    padding-top: 0;
  }

  .info__checkin {
    float: right;
    line-height: 44px;
    padding: 0;
    position: relative;
  }

  .info__checkin span {
    text-align: center;
  }

  .info__phone {
    line-height: 15px;
    text-align: left;
  }
}

@media screen and (max-width: 580px) {
  .info__checkin span {
    display: inline-block;
    width: 100px;
    text-align: center;
    line-height: 12px;
    padding-top: 11px;
  }

  .header .info {
    gap: 0;
  }

  .info__phone:before {
    top: 21px;
  }
}

@media screen and (max-width: 480px) {
  .info__checkin {
    left: 40px;
  }

  .info__phone:before {
    left: 35px;
  }
}

@media screen and (max-width: 379px) {
  .info__checkin span {
    display: block;
    width: auto;
    line-height: 15px;
    padding-top: 13px;
  }

  .header .info {
    gap: 35px;
  }

  .info__phone:before {
    left: 20px;
  }
}

/* FIN HEADER CHECKIN TEL */

.nav_main {
  height: 0;
  overflow: hidden;
  background: transparent;
  width: 100%;
}

.nav_main.active {
  height: auto;
  transition: all 0.2;
}

.nav_main.sticky {
  position: fixed;
  top: 0;
  background-color: #41474b;
}

.nav_main.sticky ul a {
  margin: 15px 0;
}

.nav > ul {
  margin: 0;
  padding: 0;
  text-align: center;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
}

.nav > ul > li {
  display: inline-block;
}

.nav ul a {
  margin-top: 20px;
}

.nav_main li a,
.footer_links li a {
  line-height: 35px;
  display: inline-block;
  height: 32px;
  overflow-y: hidden;
}

.nav_main li a {
  padding: 0 25px;
  border-right: 1px solid rgba(255, 255, 255, 0.3);
}

.nav_main li:last-child a {
  border-right: 0;
}

.nav_main li a p,
.footer_links li a p {
  transition: all 0.4s;
  position: relative;
  bottom: 0px;
  text-align: center;
  margin: 0;
}

.footer_links li a p {
  text-align: left;
}

.nav_main li a p::first-line,
.footer_links li a p::first-line {
  font-weight: bold;
}

.nav_main li a:hover p,
.footer_links ul a p {
  position: relative;
  bottom: 35px;
}

.nav > ul > li ul {
  display: none;
}

.nav > ul > li.active ul {
  display: block;
}

/* End Header */

/* Hero Slider */

.slider .item {
  position: relative;
  background-size: cover;
  background-position: center;
}

.hero-shot {
  position: relative;
  height: 100vh;
}

.hero-shot #home-video {
  display: flex;
  width: 100%;
}

.slider_hero .caption-title {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.slider_hero .title {
  color: #fff;
  left: 0;
  padding: 0 5%;
  text-shadow: 5px 6px 25px black;
}

.slider_hero .subtitle {
  font-size: 130%;
  color: #fff;
  text-transform: capitalize;
  margin: 0;
  padding: 20px 0;
  text-align: center;
  text-shadow: 1px 1px 4px black;
}

.slider_hero .link {
  width: 100%;
  text-align: center;
  margin-top: 0px !important;
  text-shadow: 1px 1px 4px black;
}

.owl-nav.disabled {
  display: none;
}

.slider > .owl-nav > button:after {
  background-image: url(../images/to.svg) !important;
  background-size: 100% auto !important;
  background-position: center;
  transform: rotate(180deg);
  background-position: 49% 48%;
}

.slider.no-slides .owl-nav,
.slider.no-slides .owl-dots {
  display: none;
}

.slider_hero__buttons {
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
  display: flex;
}
.slider_hero_bottom {
  position: absolute;
  width: 100%;
  display: flex;
  left: 0;
  bottom: 0;
  flex-direction: column;
}

.slider_hero__button {
  background-color: rgba(255, 255, 255, 0.5);
  font-family: "Roboto", sans-serif;
  font-size: 1.125rem;
  color: #41474b !important;
  padding: 16px 24px;
  text-align: center;
  text-decoration: none !important;
  width: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.slider_hero__button:hover {
  background-color: rgba(255, 255, 255, 0.9);
}
.slider_hero__button-current {
  font-weight: 700;
  color: #fff !important;
  background-color: rgba(65, 71, 75, 0.6);
}
.slider_hero__button-current:hover {
  background-color: rgba(65, 71, 75, 0.6);
}
@media (width >= 512px) {
  .slider_hero__button {
    min-width: 11.25rem;
    width: auto;
  }
}
@media (width >= 797px) {
  .slider_hero__button {
    font-size: 1.5rem;
    padding: 16px 32px;
  }
}

.home .slider_benefits {
  font-family: Roboto;
  color: #000;
  height: 105px;
  line-height: 125px;
  cursor: grab;
  max-width: 1000px;
  margin: 0 auto;
  display: block;
  margin-top: 60px;
  margin-bottom: 70px;
}

.home .slider_benefits .item {
  display: flex;
  align-items: center;
  justify-content: center;
}

.slider_benefits:active {
  cursor: grabbing;
}

.slider_benefits .item span {
  padding-left: 35px;
  position: relative;
  display: flex;
}

.footer .copy:before {
  content: "";
  height: 30px;
  width: 30px;
  background: transparent url(../images/icons.svg) no-repeat top center;
  background-size: cover;
  background-position: 0 0;
  position: absolute;
  display: inline-block;
  top: 12%;
  padding: 0px;
}
.social a {
  padding: 5px 7px;
}
.social .social__icons {
  content: "";
  height: 18px;
  width: 18px;
  position: relative;
  display: inline-block;
  top: 12%;
  padding: 0px;
  filter: invert(100%);
}

.slider_benefits .item span:before {
  content: "";
  height: 30px;
  width: 30px;
  background: transparent url(../images/icons.svg) no-repeat top center;
  background-size: 30px;
  background-position: 0 0;
  position: absolute;
  display: inline-block;
  top: 37%;
  left: 0px;
  padding: 0px;
}

.slider_benefits .item span:before {
  filter: brightness(0.1);
}

.slider_benefits .item span.team:before {
  background-position: center -629px;
}

.slider_benefits .item span.cancel:before {
  background-position: center -721px;
}

.slider_benefits .item span.gift:before {
  background-position: center -363px;
}

.slider_benefits .item span.price:before {
  background-position: center -354px;
}

.social a.facebook:before {
  background-position: center -481px;
}

.social a.twitter:before {
  background-position: center -509px;
}

.social a.linkedin:before {
  background-position: center -570px;
}

.social a.instagram:before {
  background-position: center -538px;
}

/* End hero Slider */

/* Máscara de reservas */

body.open .header,
body.thickbox .header {
  display: none;
}

body.open {
  margin-left: 280px;
  overflow: hidden;
}

/*body.calendar,
	body.thickbox {
		overflow: hidden;
	}*/

body .thickbox {
  display: none;
  z-index: 100;
}

.active > .thickbox {
  position: fixed;
  width: 100%;
  left: 0%;
  height: 100%;
  top: 0;
  display: block;
  background-color: rgba(0, 0, 0, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
}

.active > .thickbox > div {
  position: fixed;
  background-color: #fff;
  width: 100%;
  max-width: 525px;
  padding: 15px 35px;
  line-height: 1.2em;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-family: EBGaramond-Regular;
}

.active > .thickbox > div a {
  font-family: EBGaramond-Regular;
}

.active > .thickbox input {
  text-align: center;
  border: 0;
  border-bottom: 1px solid #555;
}

.thickbox > div > .cta {
  position: relative;
  display: inline-flex;
  margin-top: 15px;
  cursor: pointer;
  display: inline-flex;
  margin-top: 30px;
  padding: 10px 20px;
  background-color: #41474b;
  color: white;
  height: auto;
  line-height: 30px;
  text-transform: uppercase;
}

.thickbox > .close:first-child {
  position: absolute;
  right: 20px;
  top: 20px;
  background-color: rgba(255, 255, 255, 0.2);
  border-radius: 100%;
  padding: 5px;
  width: 50px;
  height: 50px;
  z-index: 99999;
}

.thickbox > .close:first-child:hover {
  background-color: rgba(255, 0, 0, 0.8);
}

.thickbox > .close:before {
  float: right;
  width: 25px;
  height: 25px;
  position: relative;
  margin: 0;
  padding: 0;
  cursor: pointer;
  background-position: 98% 66.5%;
  filter: invert(100);
}

body.thickbox > #header,
body.calendar > #header {
  z-index: 1;
}

form#neobookings-form {
  position: relative;
  width: 100%;
  z-index: 1;
  font-family: Roboto;
  display: inline-block;
  background-color: rgba(65, 71, 75, 0.6);
}

form#neobookings-form > b {
  display: block;
  text-transform: uppercase;
  text-align: center;
  color: #fff;
  margin-bottom: 10px;
}

form#neobookings-form > *:not(b) {
  width: 20%;
  border-right: 1px solid rgb(255, 255, 255, 0.5);
  display: inline-block;
  float: left;
  color: #fff;
  text-align: center;
  height: 100px;
  line-height: 100px;
  cursor: pointer;
  font-family: Roboto;
}

form#neobookings-form > button.cta span {
  font-size: 110%;
}

form#neobookings-form > #date_range_picker {
  padding: 0;
  width: 40%;
}

form#neobookings-form > #date_range_picker .values {
  padding: 0;
  display: inline-block;
  width: 100%;
  height: 100%;
}

form#neobookings-form > #date_range_picker .values .value span {
  display: inline-block;
  position: relative;
  width: 100%;
}

form#neobookings-form > #date_range_picker .values .value span:after {
  content: "";
  display: inline-block;
  background-image: url(../images/icons.svg);
  width: 35px;
  height: 35px;
  float: right;
  background-size: 100% auto;
  background-position: center -844px;
  filter: brightness(10);
  margin-top: -17px;
  right: 20px;
  position: absolute;
  top: 50%;
}

form#neobookings-form .thickbox {
  cursor: initial;
}

form#neobookings-form > *:not(b):not(#promo):not(.cta):hover {
  color: #fff;
  background-color: rgba(161, 152, 143, 0.8);
}

form#neobookings-form > #date_range_picker .calendar {
  color: #000;
}

form#neobookings-form > #date_range_picker .calendar em {
  display: none;
}

form#neobookings-form > #date_range_picker.active .calendar em {
  display: block;
  position: absolute;
  left: 20px;
  color: #c00;
  bottom: -35px;
}

form#neobookings-form > #date_range_picker span:hover {
  color: #fff;
}

form#neobookings-form > div > span:not(.code) {
  display: inline-block;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  max-width: 90%;
}

form#neobookings-form > div > input#predictor {
  display: none;
}

form#neobookings-form > *:not(b):not(.cta):hover {
  color: #000;
}

form#neobookings-form > #date_range_picker {
  cursor: default;
}

form#neobookings-form .date_range_picker .calendar td.intermediate-hover,
form#neobookings-form .date_range_picker .calendar td.valid:hover {
  background: rgba(163, 152, 143, 0.3) !important;
}

form#neobookings-form .date_range_picker .calendar td.valid.start,
form#neobookings-form .date_range_picker .calendar td.valid.end,
form#neobookings-form .date_range_picker .calendar td.valid.hovered {
  background-color: rgba(163, 152, 143, 1) !important;
}

form#neobookings-form .date_range_picker .calendar td.valid.intermediate {
  background-color: rgba(163, 152, 143, 0.7) !important;
}

form#neobookings-form .box-rooms {
  position: relative;
  display: flex;
  justify-content: center;
}

form#neobookings-form #promocodeFake {
  max-width: 60%;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}

form#neobookings-form .box-rooms:before {
  content: "";
  display: inline-block;
  background-image: url(../images/icons.svg);
  width: 35px;
  height: 35px;
  background-size: 100% auto;
  background-position: center -807px;
  filter: brightness(10);
  margin-top: -17px;
  right: 20px;
  position: absolute;
  float: right;
  top: 50%;
}

form#neobookings-form > #promo {
  padding: 0;
}

form#neobookings-form > #promo .close {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: white;
  position: absolute;
  top: 30px;
  right: 15px;
  text-decoration: none;
  font-size: 21px;
  color: #000;
}

form#neobookings-form > #promo .close:hover {
  color: white;
  background-color: rgba(255, 0, 0, 0.8);
}

form#neobookings-form > #promo > *:not(.thickbox) {
  display: block;
  border-top: 1px solid #e9e9e9;
}

form#neobookings-form > #promo > span.code {
  /*color: rgba(44,69,146,1);*/
  border-top: 0;
  background-position: right 44.6%;
  border-top: 0;
  line-height: 100px;
  position: relative;
}

form#neobookings-form > #promo span.code:before {
  content: "";
  display: inline-block;
  background-image: url(../images/icons.svg);
  width: 35px;
  height: 35px;
  float: right;
  background-size: 100% auto;
  background-position: center -774px;
  filter: brightness(10);
  margin-top: -17px;
  right: 20px;
  position: absolute;
  top: 50%;
}

form#neobookings-form > #promo a.access {
  color: #555;
  display: block;
  white-space: nowrap;
  text-overflow: ellipsis;
}

form#neobookings-form > #promo > *:not(.thickbox):hover {
  color: #fff;
  background-color: rgba(161, 152, 143, 0.8);
}

form#neobookings-form > #promo a.access:before {
  width: 35px;
  height: 19px;
  float: right;
  background-position: right 33.6%;
  margin-right: 3px;
}

form#neobookings-form > #promo a.access:hover:before {
  filter: brightness(100);
}

form#neobookings-form > #submit-form {
  border: 0;
}

form#neobookings-form .date_range_picker .values .to {
  width: 16px;
  background-image: url(../images/icons.svg);
  background-size: 200%;
  background-position: right 71%;
  padding-top: 18px;
  margin-top: 14px;
}

form#neobookings-form .date_range_picker .values .value {
  display: inline-block;
  width: 50%;
  float: left;
}

form#neobookings-form .date_range_picker .values .clear {
  display: inline-block;
  vertical-align: top;
  position: absolute;
}

form#neobookings-form .date_range_picker:hover .values .clear {
  filter: invert(100%);
}

form#neobookings-form .values:hover .value > span {
  color: #fff;
}

form#neobookings-form .values:hover .to {
  filter: invert(100%);
}

form#neobookings-form #date_range_picker .value.date_at {
  border-right: 1px solid rgb(255, 255, 255, 0.5);
  margin-right: -1px;
  margin-left: 1px;
}

form#neobookings-form #date_range_picker .date_at {
  z-index: 6;
}

.hero-shot a.next {
  position: absolute;
  left: 50%;
  margin-left: -20px;
  bottom: 0;
  margin-bottom: -15px;
  width: 40px;
  height: 40px;
  background-color: #fff;
  border-radius: 100%;
  z-index: 1;
}

.hero-shot a.next:before {
  content: "";
  width: 10px;
  height: 10px;
  border-bottom: 1px solid #000;
  border-right: 1px solid #000;
  position: absolute;
  margin-top: 13px;
  margin-left: 14px;
  transform: rotate(45deg);
}

.hero-shot a.next:hover {
  background-color: #000;
}

.hero-shot a.next:hover:before {
  border-bottom: 1px solid #fff;
  border-right: 1px solid #fff;
}

/* Fin máscara de reservas */

.section .article {
  padding: 70px 15px 100px;
  clear: both;
}

.section h2 {
  font-family: Montserrat-Medium;
  color: rgba(161, 152, 143, 1);
  font-weight: 300;
  font-size: 400%;
  margin-bottom: 40px;
}

.section :where(p, ul) {
  line-height: 35px;
  font-size: 20px;
}

.section div.line,
.section #home_rooms-info div.line,
.fancybox_content h2 + *,
.section .details .book-button {
  padding-left: 190px;
  position: relative;
}

.section div.line:before,
.section #home_rooms-info div.line:before,
.fancybox_content h2 + *:before {
  content: "";
  display: inline-block;
  width: 170px;
  height: 3px;
  background-color: rgba(161, 152, 143, 1);
  position: absolute;
  left: 0;
  top: 15px;
}

.section .center,
.section .center h2 {
  text-align: center;
}

.section .center div.line {
  text-align: center;
  padding-left: 0;
}

.section .center div.line:before {
  position: relative;
  top: inherit;
  display: block;
  left: 50%;
  margin-left: -95px;
  margin-bottom: 44px;
}

.section .center div.line p:first-child {
  margin-top: 0;
}

.section p.moreinfo {
  margin: 50px 0 0;
}

.section .center #home_rooms-info div.line {
  padding-left: 70px;
  margin-left: 1em;
  white-space: inherit;
  text-align: left;
  max-width: 80%;
  padding-right: 35px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.section .center #home_rooms-info div.line:before {
  margin-left: 0;
  width: 60px;
  background-color: #fff;
}

.section .welcome {
  padding-bottom: 0;
}

.section .welcome div.line,
.section .why-choose div.line,
.section .details div.line {
  width: 65%;
  line-height: 35px;
  font-size: 20px;
}

.section .welcome h1,
.section .welcome h2 {
  width: 100%;
  font-family: Montserrat-Medium;
  color: rgba(161, 152, 143, 1);
  font-weight: 300;
  font-size: 400%;
}

.section .details .book-button {
  display: inline-flex;
  margin-bottom: 16px;
}
.section .details p.moreinfo {
  display: inline-flex;
  margin-left: auto;
  margin-right: 0;
  margin-top: 0;
  float: right;
}
.section .details p.moreinfo .circle {
  top: 0;
  left: 0;
  right: auto;
  bottom: auto;
}

@media screen and (max-width: 991px) {
  .section .welcome h1,
  .section .welcome h2 {
    font-size: 280%;
  }
  .section .details p.moreinfo {
    float: none;
    width: 100%;
  }
}

.section .welcome .circle,
.section .details .circle {
  left: 80%;
  position: relative;
  right: 0;
  top: -30px;
}

.section .rooms-info {
  padding-top: 0;
}

.section .rooms-info div.line {
  margin-bottom: 40px;
  font-family: EBGaramond-Regular;
  line-height: 35px;
  font-size: 20px;
}

.section .rooms-info .owl-stage-outer {
  overflow: hidden;
}

.section .rooms-info .owl-item.active {
  filter: grayscale(100);
}

.section .rooms-info .owl-item.active.center {
  filter: grayscale(0);
}

.section .rooms-info .owl-item {
  filter: grayscale(100);
}

.section .rooms-info .owl-item,
.section .rooms-info .item {
  overflow: visible;
}

.section .rooms-info .room-desc {
  width: 85%;
  background-color: #41474b;
  color: #fff;
  position: relative;
  margin-top: -100px;
  display: none;
}

.section .rooms-info .owl-item.active.center .room-desc {
  display: inline-block;
}

.section
  .rooms-info
  .owl-item.active
  + .owl-item.active
  + .owl-item.active
  .room-desc {
  display: none;
}

.section .rooms-info .home_rooms-info_image {
  height: calc(100vw / 2.5);
  width: 100%;
  display: inline-block;
  background-size: cover;
}

.section .rooms-info .room-desc h3 {
  font-size: 160%;
  width: 100%;
  text-align: left;
  padding-left: 1em;
}

.section .rooms-info .room-desc a {
  color: white;
  display: block;
}

.section .rooms-info .room-desc .cta.reservar.book {
  position: absolute;
  top: 60px;
  right: 30px;
}

.section .rooms-info .room-desc p.info {
  font-family: Montserrat-Medium;
  display: flex;
  margin: 0 0 16px 45px;
  font-size: 200%;
}

.section .rooms-info .room-desc p.info span {
  opacity: 0.5;
}

.section .rooms-info .room-desc p.info span.actual {
  opacity: 1;
  font-size: 150%;
}

.section .rooms-info .slider > .owl-nav > button {
  left: 15%;
  top: calc(40vw + 35px);
  border: 1px solid #41474b;
  border-radius: 100%;
  padding: 6px;
}

.section .rooms-info .slider > .owl-nav > button.owl-next {
  left: inherit;
  right: 15%;
}

.home_offers {
  display: inline-block;
  padding-top: 50px;
  width: 100%;
}

.home_offers .offer {
  background-size: cover;
  background-position: center;
  position: relative;
  display: inline-block;
  color: #fff;
  text-align: center;
  width: 100%;
  overflow: hidden;
}

.home_offers .offer.darken:before {
  background-color: rgba(0, 0, 0, 0.6);
  transition: all 0.6s;
}

.home_offers .offer.darken:hover:before {
  background-color: rgba(0, 0, 0, 0.3);
}

.home_offers .div_1 .offer,
.home_offers .div_3 .offer {
  height: calc(100vw * 0.25);
}

.home_offers .div_1 .offer:nth-child(odd),
.home_offers .div_3 .offer:nth-child(even) {
  height: calc(100vw * 0.35);
}

.home_offers .div_2 .offer {
  height: calc(100vw * 0.3);
}

.home_offers .offer h3 {
  position: relative;
  display: block;
  color: #fff;
  font-size: 200%;
  text-align: center;
  margin-top: 40%;
  margin-bottom: 0;
}

.home_offers .div_1 .offer:nth-child(odd):hover h3,
.home_offers .div_3 .offer:nth-child(even):hover h3 {
  margin-top: 30%;
}

.home_offers .div_2 .offer:hover h3 {
  margin-top: 20%;
}

.home_offers .div_1 .offer:nth-child(even):hover h3,
.home_offers .div_3 .offer:nth-child(odd):hover h3 {
  margin-top: 15%;
}

.home_offers .offer .offer_info {
  display: none;
  position: relative;
  width: 100%;
  margin: 0;
}

.home_offers .offer .offer_info * {
  text-align: center;
}

.home_offers .offer:hover .offer_info {
  display: block;
}

.home_offers .offer:hover .offer_info {
  display: inline-block;
}

.home_offers .offer .offer_info p {
  margin: 20px 20px 30px;
  color: white;
}

.home_offers .offer .offer_info .white {
  color: white;
  margin-right: 15px;
}

.section .footer-article {
  padding: 0 0 100px;
  border-top: 90px solid rgba(161, 152, 143, 0.9);
  margin-top: 40px;
}

.section .footer-article header h2 {
  margin-top: 40px;
}

.onthebeach div.line.desc {
  margin-bottom: 50px;
  width: 65%;
  line-height: 35px;
  font-size: 20px;
}

.onthebeach .item {
  display: inline-block;
  width: 100%;
  position: relative;
  margin-bottom: 100px;
}

.onthebeach:not(.professional-area) .item:last-child {
  margin-bottom: 0px;
}

@media screen and (max-width: 1300px) {
  .onthebeach .item:last-child {
    margin-bottom: 0px;
  }
}

.onthebeach .item .image {
  width: 60%;
  margin-right: -10%;
  float: left;
  height: 100%;
  background-size: cover;
  background-position: center;
  display: inline-block;
  position: absolute;
}

.rooms .onthebeach_rooms {
  padding-bottom: 0px;
}

.onthebeach_rooms .item .image {
  width: 70%;
}

.onthebeach_rooms .item .image .owl-item a,
body.room .images .owl-item a {
  display: block;
  height: 100%;
}

.onthebeach_rooms .item .image .owl-item a:after,
body.room .images .owl-item a:after {
  content: "";
  height: 55px;
  width: 55px;
  position: absolute;
  left: 0;
  bottom: 0;
  background: transparent url(../images/icons.svg) no-repeat top center;
  background-size: 85% auto;
  background-position: 0 -45px;
  background-color: #f8f4f3;
}

.onthebeach_rooms .item:nth-child(even) .image .owl-item a:after {
  left: inherit;
  right: 0;
}

.onthebeach_rooms .item .image .owl-nav > button,
body.room .images .owl-nav > button {
  top: 94%;
  left: 70px;
}

.onthebeach_rooms .item .image .owl-nav > button.owl-next,
body.room .images .owl-nav > button.owl-next {
  right: inherit;
  left: 140px;
}

.onthebeach:not(.professional-area) .item:nth-child(even) .image {
  right: 0;
  margin-right: inherit;
  margin-left: -10%;
}

@media screen and (max-width: 1300px) {
  .onthebeach .item:nth-child(even) .image {
    right: 0;
    margin-right: inherit;
    margin-left: -10%;
  }
}

.onthebeach_rooms .item:nth-child(even) .image .owl-nav > button {
  left: inherit;
  right: 140px;
}

.onthebeach_rooms .item:nth-child(even) .image .owl-nav > button.owl-next {
  right: 70px;
  left: inherit;
}

.onthebeach .beach-info {
  width: 50%;
  right: 0;
  margin-top: 50px;
  margin-bottom: 50px;
  background-color: #fff;
  display: inline-block;
  padding: 50px;
  margin-left: 50%;
  position: relative;
}

.onthebeach_rooms .beach-info {
  width: 35%;
  margin-left: 60%;
  background-color: rgba(248, 244, 243, 0.9);
}

body.room .room-info {
  padding: 30px;
}

.onthebeach:not(.professional-area) .item:nth-child(even) .beach-info {
  right: inherit;
  margin-left: inherit;
}

.onthebeach_rooms .item:nth-child(even) .beach-info {
  right: inherit;
  margin-left: 5%;
}

.onthebeach .beach-info .num {
  font-size: 300%;
  font-family: Roboto;
  font-weight: lighter;
  color: #ccc;
}

.onthebeach .beach-info h3 {
  font-size: 300%;
  color: rgba(161, 152, 143, 1);
  margin-top: 0;
}

.onthebeach_rooms .beach-info h2 {
  font-size: 200%;
  margin: 0;
  color: #41474b;
}

@media screen and (max-width: 991px) {
  .onthebeach div.line.desc {
    width: 90%;
    left: 15px;
    padding-left: 75px;
  }

  .section div.line:before {
    left: 3px;
  }

  .onthebeach.footer-article header {
    padding-left: 15px;
  }

  .section .footer-article header h2 {
    margin-bottom: 20px;
  }

  .onthebeach .beach-info h3 {
    font-size: 240%;
  }

  .onthebeach .beach-info {
    padding: 15px;
    padding-bottom: 20px;
  }

  .onthebeach .beach-info {
    margin-top: 40px;
  }

  .section .footer-article {
    padding-bottom: 0;
  }
}

body.room .room-info h1 {
  font-family: Montserrat-Medium;
  font-weight: 300;
  font-size: 32px;
  margin: 0;
  color: #41474b;
}

.onthebeach .beach-info a.circle {
  margin-left: 0px;
  display: block;
}

.onthebeach .beach-info a.cta {
  float: right;
}

.onthebeach_rooms .beach-info .beach-info_desc:not(.all-description) {
  overflow: hidden;
  margin-bottom: 30px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.onthebeach_rooms .beach-info .beach-info_desc.all-description {
  overflow: hidden;
  margin-bottom: 30px;
}

.onthebeach_rooms .beach-info .beach-info_desc p,
body.room .room-info .room-info_desc p {
  line-height: 1.5em;
}

.onthebeach_rooms .item .beach-info h4 {
  font-size: 115%;
}

.onthebeach .beach__reserva {
  height: auto;
  width: 100%;
  display: flex;
  gap: 16px;
  align-content: center;
  flex-direction: row;
  flex-wrap: wrap;
}

.onthebeach .beach__reserva .cta {
  float: none;
  line-height: normal;
  padding: 15px;
  text-align: center;
}

@media screen and (max-width: 500px) {
  .onthebeach .beach__reserva {
  }
}

.newsletter {
  text-align: center;
  background-attachment: fixed;
  background-position: center center;
  background-size: cover;
  position: relative;
  color: #fff;
}

.newsletter header {
  display: inline-block;
}

.newsletter h4 {
  color: #fff;
  padding-top: 100px;
  font-family: Montserrat-Medium;
  font-weight: 300;
  font-size: 400%;
  margin-bottom: 40px;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.newsletter h4:before {
  content: "";
  width: 60px;
  height: 60px;
  padding: 10px;
  margin: 10px;
  display: inline-block;
  position: absolute;
  margin-top: -120px;
  left: 50%;
  margin-left: -30px;
  background: transparent url(../images/icons.svg) no-repeat top center;
  background-size: 75% auto;
  background-position: center -833px;
  border: 1px solid #fff;
  border-radius: 100%;
  zoom: 1.2;
}

.newsletter h5 {
  margin: 0 0 20px;
  font-family: Roboto;
  font-size: 250%;
  font-weight: lighter;
  text-transform: uppercase;
  letter-spacing: 1px;
  position: relative;
  display: inline-block;
  width: auto;
  max-width: 100%;
  padding: 0 75px;
}

.newsletter p {
  font-family: EBGaramond-Regular;
  font-weight: lighter;
  font-size: 20px;
  text-align: center;
}

.newsletter p b {
  text-transform: uppercase;
}

.newsletter .form_suscribe {
  color: #fff;
  background-color: rgba(255, 255, 255, 0.1);
  border: 1px solid #fff;
  display: inline-flex;
  padding: 5px;
  position: relative;
  width: 60%;
  margin-top: 30px;
}

.newsletter .form_suscribe:before {
  content: "";
  width: 40px;
  height: 40px;
  min-width: 40px;
  min-height: 40px;
  margin: 10px;
  background: transparent url(../images/icons.svg) no-repeat top center;
  background-size: 100% auto;
  background-position: 0 -602px;
  opacity: 0.6;
}

.newsletter .form_suscribe input {
  color: #fff;
  background-color: transparent;
  border: 0;
  width: 75%;
}

.newsletter .form_suscribe a.cta {
  float: right;
}

#newsletter_notice input[type="checkbox"] {
  position: absolute;
}

#newsletter_notice > span {
  padding-left: 30px;
  display: inline-block;
  margin-bottom: 40px;
}

#newsletter_notice button[type="submit"] {
  float: right;
}

.message-news {
  margin-top: 30px;
  color: green;
}

.message-news.error {
  color: red;
}

.section .why-choose .slider {
  margin-top: 50px;
}

.section .why-choose .item > div {
  display: block;
  width: 100%;
  height: 90%;
  background-size: cover;
  position: relative;
}

.section .why-choose .owl-item:nth-child(odd) .item > div {
  margin-top: 10%;
}

.section .why-choose .slider label {
  position: absolute;
  width: 100%;
  text-align: center;
  color: #fff;
  height: 50%;
  text-transform: uppercase;
  font-size: 170%;
  line-height: 1.2em;
  background-image: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.8));
  left: 0;
  bottom: 0;
  padding: 12% 25%;
  font-family: Roboto;
  font-weight: lighter;
}

body.room .col-2.slider {
  width: 63.5%;
  height: 500px;
}

body.room .col-2.room-info {
  width: 33.5%;
}

.slider_default.images div.info {
  text-align: left;
  padding-left: 10%;
}

.slider_default.images div.info p.numImg {
  padding-top: 70px;
}

.slider_default.images div.info p.numImg strong {
  margin-right: 10px;
  font-size: 140%;
}

.slider_default.images div.info h3 {
  font-size: 180%;
  font-family: Roboto;
  font-weight: normal;
  margin-top: 10px;
}

.slider_default.images div.image {
  height: 100%;
  background-position: center;
  background-size: cover;
}

.slider_default.images div.image a {
  display: inline-block;
  width: 100%;
  height: 100%;
}

/*ITEMS DE LA GALERÍA QUE SÓN TOURS VIRTUALES*/
.slider_default.images div.image .virtual-tour {
  display: flex;
  width: 100%;
  height: 100%;
  background-color: rgba(65, 71, 75, 0.6);
  align-items: center;
  justify-content: center;
  color: #fff;
  opacity: 0;
  transition: all 0.6s;
}

.slider_default.images div.image .virtual-tour:hover {
  color: #fff !important;
  opacity: 1;
  text-decoration: none !important;
}

@media screen and (max-width: 991px) {
  .slider_default.images div.image {
    height: 65%;
  }

  .slider_default.images div.image .virtual-tour {
    opacity: 1;
  }
}

/*FIN ITEMS DE LA GALERÍA QUE SÓN TOURS VIRTUALES*/

.slider_default.images .owl-stage-outer {
  zoom: 133.3335%;
  padding-left: 5%;
}

.slider_default.images .owl-item {
  visibility: hidden;
  opacity: 0;
}

.slider_default.images .owl-item.active {
  visibility: visible;
  opacity: 1;
}

.slider_default.images .owl-item.active + .owl-item.active div.info {
  visibility: hidden;
  opacity: 0;
  width: 0px;
  padding-left: 0;
  margin-right: 0;
}

.slider_default.images > .owl-nav > button {
  left: 11%;
  top: 20px;
}

.slider_default.images > .owl-nav > button.owl-next {
  margin-left: 70px;
  left: 11%;
}

.slider_default.images > .owl-nav > button:after,
.slider_default.images > .owl-nav > button:before {
  filter: invert(100%);
}

/* Footer */

.footer {
  font-family: EBGaramond-Regular;
  background-color: #1f262b;
  color: #fff;
  padding: 80px 0;
  line-height: 30px;
  font-size: 16px;
}

.footer .crop {
  display: flex;
  align-items: stretch;
  justify-content: center;
  flex-direction: row;
  flex-wrap: wrap;
}

.footer h3 {
  font-weight: lighter;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.6);
  font-size: 160%;
  height: 100px;
}

.footer h3:after {
  content: "";
  display: block;
  width: 45px;
  height: 3px;
  background-color: rgba(255, 255, 255, 0.2);
  margin: 30px 0 35px;
}

.footer ul {
  list-style: none;
  padding-left: 0;
}

.footer li:first-child a {
  margin-top: -7px;
}

.footer a {
  color: #fff;
  display: inline-block;
}

.footer .footer_about {
  width: 35%;
  padding-right: 3%;
  display: inline-block;
  float: left;
}

.footer .social {
  padding: 40px 0;
  position: relative;
}

.footer .footer_links {
  width: 65%;
  padding-left: 5%;
  display: inline-flex;
  align-items: stretch;
  justify-content: center;
  flex-direction: row;
}

.footer .footer_links .col-3 {
  display: inline-block;
  width: 31.3335%;
  margin-right: 2%;
  padding-left: 5%;
}

.footer .footer_links a {
  padding: 7px 0 7px;
  width: 100%;
}

.footer .footer_links a:hover {
  text-decoration: underline;
}

@media screen and (max-width: 991px) {
  .footer .footer_links a * {
    text-align: center;
  }

  .footer .footer_links {
    flex-direction: column;
  }
}

.copy {
  display: inline-block;
  margin-top: 70px;
  padding-top: 70px;
  width: 100%;
  text-align: center;
  border-top: 1px solid rgba(255, 255, 255, 0.6);
  position: relative;
  color: rgba(255, 255, 255, 0.7);
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  font-size: 14px;
}

@media screen and (max-width: 991px) {
  .copy {
    flex-direction: column;
    padding: 15px;
  }

  .copy p {
    margin-top: 60px;
  }

  .copy .neobookings-powered-by > div {
    white-space: inherit !important;
  }
}

.footer .copy:before {
  background: url(../images/logo-small-white-square.png) no-repeat center center;
  background-position: center 40%;
  background-size: cover;
  height: 124px;
  width: 121px;
  position: absolute;
  left: 50%;
  margin-top: -78px;
  background-color: #1f262b;
  margin-left: -50px;
}

/* End Footer */

/** PLANTILLA HOTEL **/
.services-container {
  display: flex;
  justify-content: center;
  margin: 60px 0px 0px;
}

.services-container__slider {
  max-width: 850px;
}

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

.services-container__slider.slider .owl-nav button.owl-next {
  right: -70px;
}

.services-container__slider.slider .owl-nav .owl-prev::after,
.services-container__slider.slider .owl-nav button.owl-next::after {
  background-image: url("../images/to.svg") !important;
  background-position: center !important;
}

.services-container__item {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.services-container__item img {
  height: 65px;
  margin-bottom: 15px;
}

.map-container {
  padding-top: 90px;
}

.map-container a {
  display: flex;
}

.map-container img {
  width: 100%;
  display: flex;
}

.hotel-description-container {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
}

.hotel-description-container__container {
  width: 50%;
}

.hotel-description-container__container--description {
  padding: 30px;
}

.hotel-description-container__container--description * {
  text-align: center;
  width: 100%;
}

.hotel-description-container__container--description h4 {
  line-height: 35px;
  font-family: EBGaramond-Regular;
  font-size: 20px;
}

.hotel-description-container__container--image img {
  width: 100%;
}

@media screen and (max-width: 991px) {
  .hotel-description-container {
    flex-direction: column;
    margin-top: 60px;
  }

  .hotel-description-container__container {
    width: 100%;
  }

  .services-container__slider.slider .owl-nav .owl-prev {
    left: 0px;
  }

  .services-container__slider.slider .owl-nav button.owl-next {
    right: 0px;
  }

  a.circle span:after {
    top: -4px;
  }

  .beach-info__button-container a.circle:before {
    right: -45px;
    top: 0px;
  }

  .contact-form {
    padding: 0 15px;
  }
}

/** FIN PLANTILLA HOTEL **/
.section_482 #contact {
  padding-top: 100px;
}

.section_482 .buttons-container {
  padding-left: 190px;
  margin-bottom: 16px;
  flex-direction: row;
  align-items: start;
  justify-content: start;
  margin-top: 16px;
}

.section_482 .buttons-container .cta {
  text-transform: unset;
}

@media screen and (max-width: 1193px) {
  .section_482 .buttons-container {
    padding-left: 90px;
    flex-direction: column;
  }
}

@media screen and (max-width: 991px) {
  .section_482 .buttons-container {
    padding-left: 0;
    align-items: center;
  }
}

#contactMessage {
  margin-top: 30px;
  padding: 10px 20px;
  font-size: 16px;
  display: inline-flex;
}

#contactMessage.successful {
  color: green;
  background-color: #bbeae1;
  border: 1px solid green;
}

#contactMessage.error {
  color: red;
  background-color: #fad9d9;
  border: 1px solid red;
}

@media screen and (max-width: 1300px) {
  .home_offers .offer h3 {
    margin-top: 30%;
  }

  .home_offers .div_1 .offer:nth-child(odd):hover h3,
  .home_offers .div_3 .offer:nth-child(even):hover h3 {
    margin-top: 20%;
  }

  .home_offers .div_2 .offer:hover h3 {
    margin-top: 10%;
  }

  .home_offers .div_1 .offer:nth-child(even):hover h3,
  .home_offers .div_3 .offer:nth-child(odd):hover h3 {
    margin-top: 5%;
  }
}

@media screen and (max-width: 1193px) {
  body {
    font-size: 0.9em;
  }

  .section div.line,
  .section .center #home_rooms-info div.line,
  .fancybox_content h2 + *,
  .section .details .book-button,
  .section .details p.moreinfo {
    padding-left: 90px;
  }

  .section .center #home_rooms-info div.line {
    max-width: 70%;
  }

  .section div.line:before,
  .section #home_rooms-info div.line:before,
  .fancybox_content h2 + *:before {
    width: 70px;
    height: 3px;
  }

  .slider_hero .link.white {
    font-size: 100%;
  }

  .home_offers .offer h3 {
    margin-top: 30%;
  }
}

@media screen and (min-width: 1023px) {
  .nav_main {
    height: auto !important;
  }
}

@media screen and (max-width: 1023px) {
  .section h2,
  .section .center div.line:before {
    margin-bottom: 40px;
  }

  .hidden-desktop {
    display: block;
  }

  .hidden-responsive {
    display: none !important;
  }

  .toggle-menu:not(.nav-main__close) {
    line-height: 45px;
    padding: 0 15px;
  }

  .col-2,
  .col-3,
  .col-4 {
    width: 100% !important;
    display: inline-block !important;
  }

  .header_top {
    height: 45px;
    background-color: #41474b;
  }

  .header.fixed .header_top {
    background-color: #41474b;
  }

  .nav_main.sticky {
    top: 40px;
  }

  .toggle-menu_line {
    top: 13px;
  }

  .toggle-menu,
  .header.fixed .toggle-menu {
    line-height: 44px;
    padding: 0 25px 0 35px;
  }

  .toggle-lang,
  .header .cta,
  .info__phone {
    line-height: 44px;
    padding: 0 30px;
  }

  .toggle-lang:before {
    top: 15px;
  }

  .toggle-lang.active:before {
    top: 16px;
  }

  .toggle-lang > ul {
    height: 44px;
  }

  .header .cta span,
  .header .info__phone span,
  .toggle-menu .toggle-menu_text {
    width: 0;
    height: 0;
    overflow: hidden;
    display: inline-block;
  }

  .cta.reservar:before {
    right: 18px;
  }

  .cta.reservar:after {
    right: 25.5px;
  }

  .info__phone:before {
    right: 15px;
  }

  .nav_main li {
    width: 100%;
  }

  .nav_main li a {
    width: 100%;
    border-bottom: 1px solid #fff;
  }

  @media screen and (max-width: 1023px) {
    .nav_main li:first-child {
      border-top: 1px solid white;
    }
  }

  .header .nav ul a:hover {
    text-decoration: none;
  }

  .section .welcome {
    padding: 0 15px 50px 15px;
  }

  .section .welcome h2 {
    width: 100%;
  }

  .section .center #home_rooms-info div.line {
    padding-right: 2em;
    height: 100px;
    max-width: 90%;
  }

  .section .welcome .circle,
  .section .details .circle {
    left: 50%;
    top: 30px;
  }

  .home .slider_benefits {
    margin-top: 20px;
    margin-bottom: 20px;
  }

  .section .rooms-info div.line {
    padding: 0 15px 0px 15px;
    margin-bottom: 90px;
  }

  .section .rooms-info .crop div.line {
    margin-bottom: 40px;
  }

  .section .rooms-info .crop header h2 {
    margin-bottom: 20px;
  }

  .section .rooms-info .room-desc .cta.reservar.book {
    position: absolute;
    top: auto;
    right: 15px;
    bottom: 35px;
  }

  .home_offers .div_1 .offer:nth-child(odd),
  .home_offers .div_1 .offer:nth-child(even),
  .home_offers .div_2 .offer,
  .home_offers .div_3 .offer:nth-child(odd),
  .home_offers .div_3 .offer:nth-child(even) {
    height: calc(100vw * 0.7);
    margin-bottom: 10px;
  }

  .home_offers .offer h3 {
    margin-top: 35%;
  }

  .home_offers .offer:hover h3 {
    margin-top: 15% !important;
  }

  .home_offers .div_1 .offer:nth-child(odd):hover h2,
  .home_offers .div_1 .offer:nth-child(even):hover h2,
  .home_offers .div_2 .offer:hover h2,
  .home_offers .div_3 .offer:nth-child(odd):hover h2,
  .home_offers .div_3 .offer:nth-child(even):hover h2 {
    margin-top: 10%;
  }

  .onthebeach .item {
    width: 100%;
    margin-bottom: 10px;
  }

  .onthebeach .item .image {
    width: 100%;
    margin-right: 0;
    float: inherit;
    height: 380px;
    position: relative;
  }

  .onthebeach .item:nth-child(even) .image {
    right: 0;
    margin-right: inherit;
    margin-left: inherit;
  }

  .onthebeach .beach-info {
    width: 90%;
    right: 0;
    margin-top: 20px;
    margin-left: 5%;
  }

  .onthebeach .item:nth-child(even) .beach-info {
    margin-left: 5%;
  }

  .onthebeach .item:last-child .beach-info {
    margin-bottom: 0;
  }

  .onthebeach .info {
    display: inline-block;
    margin-right: 0;
    padding: 2.5px;
  }

  .onthebeach .info:before {
    margin-right: 0;
  }

  .onthebeach .buttons-container {
    display: flex;
    align-items: center;
    justify-content: left;
  }

  .section .newsletter .form_suscribe {
    width: 100%;
  }

  .slider_default.images .owl-stage-outer {
    height: calc(100vh - 200px) !important;
  }

  .slider_default.images .owl-stage-outer {
    zoom: inherit;
    padding-left: inherit;
  }

  .slider_default.images > .owl-nav > button {
    left: 9%;
  }

  .footer h3:after {
    margin: 30px auto 35px;
  }

  .footer .footer_about,
  .footer .footer_links {
    width: 100%;
    padding-left: 15px;
    text-align: center;
  }

  .footer .footer_links .col-3 {
    width: 100%;
    margin-right: 0;
    padding-left: 0;
  }

  .footer h3 {
    height: 50px;
  }
}

@media screen and (max-width: 796px) {
  body {
    font-size: 0.8em;
  }

  .nav_main ul {
    flex-direction: column;
  }

  .hotel-description-container__container--description h4 {
    font-size: 20px;
    margin: 15px 0px;
  }

  .section .welcome div.line,
  .section .why-choose div.line {
    width: 90%;
    padding-left: 70px;
  }

  .section div.line:before,
  .fancybox_content h2 + *:before {
    width: 50px;
  }

  .section .rooms-info .owl-stage {
    zoom: inherit;
    margin-left: 0;
  }

  .section .rooms-info .owl-item .room-desc {
    margin-top: 0;
    width: 100%;
    display: inline-block;
    zoom: inherit;
  }

  .section .rooms-info .owl-item .home_rooms-info_image {
    height: calc(100vw / 1.7);
    zoom: inherit;
  }

  .section .rooms-info .cta.reservar.book:after {
    background-position: center -1px;
    zoom: 0.99;
    margin-top: -22px;
    right: 41px;
  }

  .section .rooms-info .slider > .owl-nav > button {
    left: 0;
    top: calc(40vw / 1.4);
    filter: invert(0);
  }

  .section .rooms-info .slider > .owl-nav > button.owl-next {
    left: inherit;
    right: 0;
  }

  .slider_benefits,
  form#neobookings-form > *:not(b),
  form#neobookings-form > #promo > span.code {
    height: 75px;
    line-height: 75px;
  }

  form#neobookings-form > *:not(b) {
    width: 50%;
  }

  form#neobookings-form > #date_range_picker,
  form#neobookings-form > #submit-form {
    width: 100%;
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
    position: relative;
  }

  .hero-shot a.next {
    display: none;
  }

  /*HOME OFFERS*/
  .home_offers .offer h3 {
    margin-top: 25%;
  }

  .home_offers .offer:hover .offer_info p {
    display: none;
  }

  .home_offers .offer:hover .offer_info a {
    font-size: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 15px;
    margin-right: 0 !important;
  }

  /*FIN HOME OFFERS*/

  /* MÁSCARA */
  form#neobookings-form #promocodeFake {
    max-width: 45%;
  }

  .active > .thickbox > div {
    height: 100vh;
  }

  /* FIN MÁSCARA */

  /* MAIN SLIDER */
  .slider_hero .owl-stage-outer {
    height: 80vh;
  }

  /* FIN MAIN SLIDER */
}

@media screen and (max-width: 512px) {
  .section h2,
  .section h3.lines,
  .section h5.lines,
  .section .welcome h2,
  header h1 {
    font-size: 240%;
  }

  .section h5.lines {
    font-size: 200%;
  }

  .section .center div.line:before {
    margin-left: -35px;
  }

  .section .newsletter h4,
  .section .newsletter h5.lines {
    font-size: 200%;
  }

  form#neobookings-form {
    margin-top: 0;
  }

  .crop {
    width: 100%;
  }

  .slider_benefits,
  form#neobookings-form > *:not(b),
  form#neobookings-form > #promo > span.code {
    height: 45px;
    line-height: 45px;
  }

  .toggle-menu,
  .header.fixed .toggle-menu {
    padding: 0 11px 0 21px;
  }

  .toggle-lang {
    padding: 0 20px;
    text-align: left;
  }

  .toggle-lang:hover {
    background-color: transparent;
  }

  .toggle-lang > * {
    float: none;
  }

  .toggle-lang:before {
    top: 15px;
    right: initial;
    left: 45px;
  }

  .toggle-lang ul {
    position: absolute;
  }

  .toggle-lang.active ul {
    width: 42px;
    background-color: #41474b;
    display: flex;
    flex-direction: column;
    height: auto;
    align-items: center;
    justify-content: center;
  }

  .nav_main {
    width: 100vw;
    background: rgb(65, 71, 75);
  }

  .header,
  .footer {
    width: 100vw;
  }

  .hero-shot a.next {
    bottom: 88px;
  }

  .article.details h1 {
    font-size: 200%;
  }

  .section .welcome div.line,
  .section .why-choose div.line,
  .section .details div.line {
    width: 90%;
  }
}

/* FACILITIES - libreria de font-icons de los facilities */
.facilities-slider {
  margin: 30px 0;
}

.facilities-slider .item {
  width: 118px;
  margin: 0 1px;
}

.facilities-slider .item span {
  font-family: Roboto;
  font-weight: lighter;
  padding: 5px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.facilities-slider .ft-icon img {
  width: 50px;
  margin-bottom: 15px;
}

@font-face {
  font-family: "facilities";
  src: url("../fonts/facilities/Flaticon.eot");
  src: url("../fonts/facilities/Flaticon.eot?#iefix")
      format("embedded-opentype"),
    url("../fonts/facilities/Flaticon.woff") format("woff"),
    url("../fonts/facilities/Flaticon.ttf") format("truetype"),
    url("../fonts/facilities/Flaticon.svg#Flaticon") format("svg");
  font-weight: normal;
  font-style: normal;
}

@media screen and (-webkit-min-device-pixel-ratio: 0) {
  @font-face {
    font-family: "facilities";
    src: url("../fonts/facilities/Flaticon.svg#Flaticon") format("svg");
  }
}

[class^="facilities-"]:before,
[class*=" facilities-"]:before,
[class^="facilities-"]:after,
[class*=" facilities-"]:after {
  font-family: facilities;
  font-size: 40px;
  font-style: normal;
  display: block;
  padding: 5px;
}

/*****************************HUÉSPEDES*****************************/

body.no-scroll {
  overflow: hidden;
  height: 100vh;
}

.d-none {
  display: none !important;
}

body.guest-open .menu-language-container,
body.guest-open .logo-slider,
body.guest-open .booking-mask .closemask {
  display: none;
}

body .thickbox.rooms-data {
  position: fixed;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100vw;
  background-color: rgba(0, 0, 0, 0.8);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 101;
  color: #41474b;
}

body .thickbox.rooms-data a {
  font-family: EBGaramond-Regular;
}

body .thickbox.rooms-data > div {
  background-color: white;
  padding: 15px 35px;
}

body .thickbox.rooms-data > .close {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: white;
  position: absolute;
  top: 30px;
  right: 15px;
  text-decoration: none;
  font-size: 21px;
  color: #000;
}

body .thickbox.rooms-data > div .room {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  width: 470px;
  position: relative;
}

body .thickbox.rooms-data > div .room .ages-inputs {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
}

body .thickbox.rooms-data > div .room .ages-inputs .ages-label {
  margin: 15px;
  min-width: 58px;
}

body .thickbox.rooms-data > div .room .ages-inputs .ages-container {
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
}

body .thickbox.rooms-data > div .room select {
  min-width: 150px;
  margin: 15px;
  position: relative;
  border: 0px;
  border-bottom: 1px solid black;
  padding: 5px 10px;
}

body .thickbox.rooms-data > div .room .icon.adult,
body .thickbox.rooms-data > div .room .icon.child {
  position: relative;
}

body .thickbox.rooms-data > div .room .icon.adult::after,
body .thickbox.rooms-data > div .room .icon.child::after {
  content: "";
  position: absolute;
  top: 19px;
  right: 51px;
  width: 17px;
  height: 17px;
  background-image: url("../images/guests-mask/adult-icon.png");
  background-size: cover;
}

body .thickbox.rooms-data > div #rooms {
  max-height: 80vh;
  overflow-y: auto;
}

body .thickbox.rooms-data > div .room .icon.remove {
  color: black;
  text-decoration: none;
  display: flex;
  align-items: center;
  position: absolute;
  right: 0;
  top: 15px;
}

body .thickbox.rooms-data > div .room .icon.child::after {
  background-image: url("../images/guests-mask/children-icon.png");
}

body .thickbox.rooms-data > div .room .room-title {
  margin: 15px;
  display: flex;
  align-items: center;
  min-width: 60px;
}

body .thickbox.rooms-data > div .action-buttons-container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

body .thickbox.rooms-data > div .plus,
body .thickbox.rooms-data > div .cta {
  cursor: pointer;
  display: inline-flex;
  margin-top: 30px;
  padding: 10px 20px;
  background-color: #000000;
  color: white;
  height: auto;
  line-height: 30px;
  text-transform: uppercase;
}

body .thickbox.rooms-data > div .plus:hover,
body .thickbox.rooms-data > div .cta:hover {
  color: white !important;
}

body .thickbox.rooms-data > div .cta {
  background-color: #41474b;
  margin-top: 15px;
}

@media screen and (max-width: 519px) {
  body .thickbox.rooms-data > div {
    padding: 70px 15px 15px 15px;
    width: 100vw;
    height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  body .thickbox.rooms-data > div .room {
    flex-direction: column;
    width: 100%;
  }

  body .thickbox.rooms-data > div .room select,
  body .thickbox.rooms-data > div .promo-code-container input {
    width: calc(100% - 30px);
  }

  body .thickbox.rooms-data > div .room .ages-inputs select:nth-child(4) {
    margin-left: 15px;
  }

  body .thickbox.rooms-data > div .room .icon.remove {
    justify-content: center;
  }
}

/*****************************FIN HUÉSPEDES*****************************/

/*CALENDARIOS*/
.date_range_picker {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
}

.litepicker .container__months .month-item-header .button-previous-month,
.litepicker .container__months .month-item-header .button-next-month,
body > #section > #hero form > #date_range_picker,
.neobookings-form__param__date,
.litepicker .container__days .day-item {
  cursor: pointer;
}

.neobookings-form__param__date {
  max-width: 45%;
  background-color: transparent;
  border: 0px;
  font-size: 0.8em;
  color: #fff;
}

.neobookings-form__param__date::placeholder {
  color: #fff;
}

body.sticked .neobookings-form__param__date {
  color: #000;
}

body.sticked .date_range_picker__arrow {
  color: rgba(0, 0, 0, 0.7);
}

body.sticked .neobookings-form__param__date::placeholder {
  color: rgba(0, 0, 0, 0.7);
}

.neobookings-form__param__date--start {
  text-align: right;
}

.date_range_picker__arrow {
  display: inline-flex;
  width: 10%;
  color: #fff;
  justify-content: center;
}

.litepicker .container__days .day-item.is-start-date,
.litepicker .container__days .day-item.is-end-date {
  background-color: #a3988f;
}

.litepicker .container__days .day-item.is-in-range {
  background-color: rgba(255, 234, 232, 0.6);
}

@media (max-width: 991px) {
  body.calendar-open {
    overflow: hidden;
    max-height: 100vh;
  }

  .litepicker {
    top: 35vh !important;
    left: 0 !important;
    width: 100vw !important;
  }

  .litepicker .container__main {
    flex-direction: column;
  }

  .litepicker .container__main .date-title {
    background-color: #fff;
    justify-content: center;
    align-items: center;
    display: flex;
    width: 100%;
    height: 30px;
    position: absolute;
    top: 0px;
    font-weight: bolder;
    text-transform: uppercase;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
      "Helvetica Neue", Arial, sans-serif;
    font-size: 0.8em;
    color: var(--litepickerMonthHeaderTextColor);
  }

  .litepicker .container__months {
    width: 100% !important;
    display: flex;
    justify-content: center;
    max-height: 65vh;
    overflow: auto;
    padding: 30px 0px;
  }

  .litepicker.end-picker .day-item.is-locked + .day-item:not(.is-locked) {
    background-color: #a3988f;
    color: #fff;
  }

  .litepicker-backdrop {
    width: 100vw;
  }
}

/*FIN CALENDARIOS*/

/* MODAL */

/**
 * Magnific PopUp
 */

.mfp-bg {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10000;
  overflow: hidden;
  position: fixed;
  background: #0b0b0b;
  opacity: 0.9;
}

.mfp-wrap {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 99999;
  position: fixed;
  outline: none !important;
  -webkit-backface-visibility: hidden;
}

.mfp-container {
  text-align: center;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  padding: 0 8px;
  box-sizing: border-box;
}

.mfp-container:before {
  content: "";
  display: inline-block;
  height: 100%;
  vertical-align: middle;
}

.mfp-align-top .mfp-container:before {
  display: none;
}

.mfp-content {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 0 auto;
  text-align: left;
  z-index: 1045;
}

.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content {
  width: 100%;
  cursor: auto;
}

.mfp-ajax-cur {
  cursor: progress;
}

.mfp-zoom-out-cur,
.mfp-zoom-out-cur .mfp-image-holder .mfp-close {
  cursor: -moz-zoom-out;
  cursor: -webkit-zoom-out;
  cursor: zoom-out;
}

.mfp-zoom {
  cursor: pointer;
  cursor: -webkit-zoom-in;
  cursor: -moz-zoom-in;
  cursor: zoom-in;
}

.mfp-auto-cursor .mfp-content {
  cursor: auto;
}

.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.mfp-loading.mfp-figure {
  display: none;
}

.mfp-hide {
  display: none !important;
}

.mfp-preloader {
  color: #ccc;
  position: absolute;
  top: 50%;
  width: auto;
  text-align: center;
  margin-top: -0.8em;
  left: 8px;
  right: 8px;
  z-index: 1044;
}

.mfp-preloader a {
  color: #ccc;
}

.mfp-preloader a:hover {
  color: #fff;
}

.mfp-s-ready .mfp-preloader {
  display: none;
}

.mfp-s-error .mfp-content {
  display: none;
}

button.mfp-close,
button.mfp-arrow {
  overflow: visible;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
  display: block;
  outline: 0;
  padding: 0;
  z-index: 1046;
  box-shadow: none;
  touch-action: manipulation;
}

button::-moz-focus-inner {
  padding: 0;
  border: 0;
}

.mfp-close {
  width: 44px;
  height: 44px;
  line-height: 44px;
  position: absolute;
  right: 0;
  top: 0;
  text-decoration: none;
  text-align: center;
  opacity: 0.65;
  padding: 0 0 18px 10px;
  color: #fff;
  font-style: normal;
  font-size: 28px;
  font-family: Arial, Baskerville, monospace;
}

.mfp-close:hover,
.mfp-close:focus {
  opacity: 1;
}

.mfp-close:active {
  top: 1px;
}

.mfp-close-btn-in .mfp-close {
  color: #333;
}

.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
  color: #fff;
  right: -6px;
  text-align: right;
  padding-right: 6px;
  width: 100%;
}

.mfp-counter {
  position: absolute;
  top: 0;
  right: 0;
  color: #ccc;
  font-size: 12px;
  line-height: 18px;
  white-space: nowrap;
}

.mfp-arrow {
  position: absolute;
  opacity: 0.65;
  margin: 0;
  top: 50%;
  margin-top: -55px;
  padding: 0;
  width: 90px;
  height: 110px;
  -webkit-tap-highlight-color: transparent;
}

.mfp-arrow:active {
  margin-top: -54px;
}

.mfp-arrow:hover,
.mfp-arrow:focus {
  opacity: 1;
}

.mfp-arrow:before,
.mfp-arrow:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  left: 0;
  top: 0;
  margin-top: 35px;
  margin-left: 35px;
  border: medium inset transparent;
}

.mfp-arrow:after {
  border-top-width: 13px;
  border-bottom-width: 13px;
  top: 8px;
}

.mfp-arrow:before {
  border-top-width: 21px;
  border-bottom-width: 21px;
  opacity: 0.7;
}

.mfp-arrow-left {
  left: 0;
}

.mfp-arrow-left:after {
  border-right: 17px solid #fff;
  margin-left: 31px;
}

.mfp-arrow-left:before {
  margin-left: 25px;
  border-right: 27px solid #3f3f3f;
}

.mfp-arrow-right {
  right: 0;
}

.mfp-arrow-right:after {
  border-left: 17px solid #fff;
  margin-left: 39px;
}

.mfp-arrow-right:before {
  border-left: 27px solid #3f3f3f;
}

.mfp-iframe-holder {
  padding-top: 40px;
  padding-bottom: 40px;
}

.mfp-iframe-holder .mfp-content {
  line-height: 0;
  width: 100%;
  max-width: 900px;
}

.mfp-iframe-holder .mfp-close {
  top: -40px;
}

.mfp-iframe-scaler {
  width: 100%;
  height: 0;
  overflow: hidden;
  padding-top: 56.25%;
}

.mfp-iframe-scaler iframe {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #000;
}

img.mfp-img {
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
  line-height: 0;
  box-sizing: border-box;
  padding: 40px 0;
  margin: 0 auto;
}

.mfp-figure {
  line-height: 0;
}

.mfp-figure:after {
  content: "";
  position: absolute;
  left: 0;
  top: 40px;
  bottom: 40px;
  display: block;
  right: 0;
  width: auto;
  height: auto;
  z-index: -1;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #444;
}

.mfp-figure small {
  color: #bdbdbd;
  display: block;
  font-size: 12px;
  line-height: 14px;
}

.mfp-figure figure {
  margin: 0;
}

.mfp-bottom-bar {
  margin-top: -36px;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  cursor: auto;
}

.mfp-title {
  text-align: left;
  line-height: 18px;
  color: #f3f3f3;
  word-wrap: break-word;
  padding-right: 36px;
}

.mfp-image-holder .mfp-content {
  max-width: 100%;
}

.mfp-gallery .mfp-image-holder .mfp-figure {
  cursor: pointer;
}

@media screen and (max-width: 800px) and (orientation: landscape),
  screen and (max-height: 300px) {
  .mfp-img-mobile .mfp-image-holder {
    padding-left: 0;
    padding-right: 0;
  }

  .mfp-img-mobile img.mfp-img {
    padding: 0;
  }

  .mfp-img-mobile .mfp-figure:after {
    top: 0;
    bottom: 0;
  }

  .mfp-img-mobile .mfp-figure small {
    display: inline;
    margin-left: 5px;
  }

  .mfp-img-mobile .mfp-bottom-bar {
    background: rgba(0, 0, 0, 0.6);
    bottom: 0;
    margin: 0;
    top: auto;
    padding: 3px 5px;
    position: fixed;
    box-sizing: border-box;
  }

  .mfp-img-mobile .mfp-bottom-bar:empty {
    padding: 0;
  }

  .mfp-img-mobile .mfp-counter {
    right: 5px;
    top: 3px;
  }

  .mfp-img-mobile .mfp-close {
    top: 0;
    right: 0;
    width: 35px;
    height: 35px;
    line-height: 35px;
    background: rgba(0, 0, 0, 0.6);
    position: fixed;
    text-align: center;
    padding: 0;
  }
}

@media all and (max-width: 900px) {
  .mfp-arrow {
    -webkit-transform: scale(0.75);
    transform: scale(0.75);
  }

  .mfp-arrow-left {
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
  }

  .mfp-arrow-right {
    -webkit-transform-origin: 100%;
    transform-origin: 100%;
  }

  .mfp-container {
    padding-left: 6px;
    padding-right: 6px;
  }
}

:root {
  --modal-main-color: rgba(161, 152, 143, 1);
  --modal-complement-color: #333;
  --modal-font-family: EBGaramond-Regular;
  --white-color: #ffffff;
}

.nb-modal {
  background-color: #ffffff;
  /* fallback */
  color: #727176;
  /* fallback */
  background-color: var(--white-color);
  color: var(--modal-complement-color);
  width: 600px;
  height: auto;
  background-blend-mode: luminosity;
  background-size: cover;
  text-align: justify;
  padding: 50px;
  box-shadow: 0 0 7px 0 rgba(0, 0, 0, 0.35);
  z-index: 1600;
  margin: 0 auto;
  position: relative;
}

.mfp-bg.custom-mfp {
  opacity: 1;
  background-color: rgba(21, 21, 24, 0.45);
  z-index: 16000;
}

.mfp-wrap {
  z-index: 99999;
}

.nb-modal .mfp-close,
.nb-modal .mfp-arrow {
  color: #ffffff;
  /* fallback */
  background-color: #252525;
  /* fallback */
  color: var(--white-color);
  background-color: var(--modal-complement-color);
  opacity: 1;
  width: 30px;
  height: 30px;
  line-height: 32px;
  padding-left: 2px;
}

.nb-modal .mfp-arrow:hover,
.nb-modal .mfp-close:hover {
  background-color: #c8ad5b;
  /* fallback */
  background-color: var(--modal-main-color);
  -webkit-transition: all 0.5s ease-in-out;
  -moz-transition: all 0.5s ease-in-out;
  -ms-transition: all 0.5s ease-in-out;
  -o-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}

.nb-modal .mfp-close {
  right: 0;
}

.nb-modal-image {
}

.nb-modal-main {
  position: relative;
  width: 100%;
}

.nb-modal-content {
}

.nb-modal__logo {
  padding: 0;
  margin: 0 0 10px 0 !important;
  display: inline-block;
  position: static;
}

.nb-modal__logo img {
  max-width: 180px;
  height: auto;
}

.nb-modal__title {
  font-family: "Montserrat", sans-serif;
  /* fallback */
  color: #252525;
  /* fallback */
  display: inline-block;
  width: 100%;
  font-size: 25px;
  margin-bottom: 5px;
  letter-spacing: 0;
  font-family: var(--modal-font-family);
  font-weight: 600;
  line-height: 30px;
  color: var(--modal-complement-color);
  text-align: center;
  word-break: break-word;
  position: relative;
  padding-bottom: 15px;
  margin-bottom: 10px;
}

.nb-modal__title:after {
  content: "";
  width: 40px;
  height: 3px;
  background-color: #c8ad5b;
  background-color: var(--modal-main-color);
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
  bottom: 0;
}

.nb-modal__subtitle {
  font-family: "Montserrat", sans-serif;
  /* fallback */
  color: #252525;
  /* fallback */
  display: inline-block;
  width: 100%;
  font-size: 18px;
  margin-bottom: 20px;
  letter-spacing: 0;
  font-family: var(--modal-font-family);
  line-height: 30px;
  color: var(--modal-complement-color);
  text-align: center;
  word-break: break-word;
  font-weight: 600;
}

.nb-modal__description {
  word-break: break-word;
  text-align: inherit;
}

.nb-modal__description > * {
  font-family: "Montserrat", sans-serif;
  /* fallback */
  color: #252525;
  /* fallback */
  font-family: var(--modal-font-family);
  font-size: 20px;
  line-height: 24px;
  font-weight: 400;
  color: var(--modal-complement-color);
  margin-bottom: 10px;
}

.nb-modal__description p {
  color: #252525;
  /* fallback */
  background-color: transparent;
  overflow: visible;
  padding: 0;
  max-height: none;
  color: var(--modal-complement-color);
  margin-bottom: 10px;
}

.nb-modal__description ul {
  padding-left: 17px;
}

.nb-modal__description li {
  margin-top: 10px;
}

.nb-modal__description li:first-child {
  margin-top: 0;
}

.nb-modal__description a {
  color: #c8ad5b;
  /* fallback */
  color: var(--modal-main-color);
  text-decoration: underline;
  border-bottom: 0 none;
}

.nb-modal__description a:hover {
  color: #c8ad5b;
  /* fallback */
  color: var(--modal-main-color);
  border-bottom: 0 none;
}

.nb-modal__moreinfo a,
.nb-modal__moreinfo a:visited {
  color: #ffffff;
  /* fallback */
  border: 1px solid #c8ad5b;
  /* fallback */
  font-family: "Montserrat", sans-serif;
  /* fallback */

  display: inline-block;
  color: var(--white-color);
  font-size: 14px;
  background-color: var(--modal-main-color);
  border: 1px solid var(--modal-main-color);
  font-family: var(--modal-font-family);
  margin-top: 20px;
  text-transform: uppercase;
  transition: all 0.3s ease-in-out;
  padding: 0.6em 2em;
  white-space: normal;
  word-break: break-word;
  font-weight: 600;
}

.nb-modal__moreinfo a:hover,
.nb-modal__moreinfo a:visited:hover {
  color: #ffffff;
  /* fallback */
  background-color: #252525;
  /* fallback */
  color: var(--white-color);
  background-color: var(--modal-complement-color);
  border: 1px solid var(--modal-complement-color);
}

.nb-modal--with-image {
  padding: 0;
  display: flex;
  align-items: stretch;
  width: 800px;
  min-height: 315px;
}

.nb-modal-image {
  flex: 0 auto;
  width: 40%;
  position: relative;
}

.nb-modal-image__bg {
  background-color: #cccccc;
  /* fallback */
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

.nb-modal--with-image .nb-modal-main {
  padding: 40px 30px;
  flex: 0 auto;
  width: 60%;
}

@media all and (max-width: 1200px) {
  .nb-modal {
    width: 70%;
  }
}

@media all and (max-width: 992px) {
  .nb-modal {
    width: 75%;
  }
}

@media all and (max-width: 767px) {
  .nb-modal {
    width: 95%;
    padding: 15px;
  }

  .nb-modal-main {
    height: auto;
    max-height: 70vh;
    overflow-y: auto;
  }

  .nb-modal-main::-webkit-scrollbar {
    width: 6px;
    border-radius: 5px;
    background-color: #f5f5f5;
  }

  .nb-modal-main::-webkit-scrollbar-thumb {
    background-color: #868686;
    border-radius: 5px;
  }

  .nb-modal-main::-webkit-scrollbar-track {
    -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
    background-color: #f5f5f5;
  }

  .nb-modal-content {
    padding: 15px;
  }

  .nb-modal--with-image {
    padding: 0;
    min-height: auto;
  }

  .nb-modal-image {
    display: none;
  }

  .nb-modal--with-image .nb-modal-main {
    width: 100%;
    padding: 30px;
  }

  .nb-modal--with-image .nb-modal-content {
    padding: 0;
  }
}

/* FIN MODAL */

/***************************************************************/
/**************** LANDING DEL MENU DE LA CARTA *****************/
/***************************************************************/

/************** PORTADA MENU HOME ***************/
/*Header de los restaurantes*/
body.restaurant-menu p,
body.restaurant-menu span,
body.restaurant-menu td,
body.restaurant-menu h1,
body.restaurant-menu h2,
body.restaurant-menu h3,
body.restaurant-menu h4,
body.restaurant-menu h5,
body.restaurant-menu a {
  text-transform: none;
  font-family: Montserrat-Light;
}

body.restaurant-menu .menu-header .toggle-menu_line {
  height: 3px;
}

body.restaurant-menu .menu-header {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  background: #fff;
  height: 115px;
}

body.restaurant-menu .menu-logo {
  width: 80%;
  padding: 0px 15px;
}

body.restaurant-menu .menu-logo a,
body.restaurant-menu .menu-logo img {
  max-width: 100%;
}

body.restaurant-menu .menu-nav {
  width: 20%;
  height: 40px;
  justify-content: flex-end;
  align-items: center;
}

body.restaurant-menu .menu-nav .nav_main {
  background-color: #f6f6f6;
}

body.restaurant-menu .menu-nav .toggle-menu {
  position: relative;
  padding: 0px;
  display: flex;
  height: 100%;
  float: right;
  padding: 0px 13px;
}

body.restaurant-menu .menu-nav .toggle-menu span {
  text-transform: uppercase;
  color: #a1988f;
  font-size: 20px;
}

body.restaurant-menu .menu-nav .nav_main.active {
  position: absolute;
  left: 0;
  top: 85px;
  z-index: 5;
}

body.restaurant-menu .menu-nav .nav_main a,
body.restaurant-menu .menu-nav .nav_main a:hover {
  color: #a1988f;
  text-decoration: none;
  border-bottom: 1px solid #a1988f;
}

body.restaurant-menu .nav_main li a:hover p {
  bottom: 0;
}

/*Slider*/
body.restaurant-menu .menu-slider {
  height: 30vh;
}

body.restaurant-menu .menu-slider .item {
  height: 100%;
  background-position: center center;
  background-size: cover;
}

body.restaurant-menu .menu-slider .caption-title {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}

body.restaurant-menu .menu-slider .title {
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  text-shadow: 5px 6px 25px black;
}

/*Título de la sección*/
body.restaurant-menu .menu-content__title h2 {
  padding: 15px 20px;
  font-size: 26px;
  margin-bottom: 0px;
  margin-top: 0px;
  text-transform: none;
  color: #848484;
  font-family: montserrat-Semibold;
}

body.restaurant-menu .menu-content__back + .menu-content__title h2 {
  padding-top: 0;
  padding-left: 25px;
}

/*Listado de cartas*/
body.restaurant-menu .menu-content__list {
  padding: 15px 20px;
}

body.restaurant-menu .content__list__item a,
body.menu-prices .content__list__item {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  padding: 20px 15px;
  margin-bottom: 15px;
  border-radius: 25px;
}

body.menu .content__list__item a {
  min-height: 138px;
}

body.menu .content__list__item__left {
  width: 33%;
  padding: 5px 5px;
  /* border: 1px solid #848484;
      border-radius: 25px; */
}

body.menu .content__list__item__left img {
  width: 100%;
}

body.menu .content__list__item__right {
  width: 67%;
  padding-left: 15px;
}

body.restaurant-menu .content__list__item__right h3 {
  font-size: 22px;
  margin: 5px 0px;
  color: #848484;
  font-family: Montserrat-Semibold;
}

body.restaurant-menu .content__list__item__right h4 {
  font-size: 16px;
  margin: 0px;
  color: #adaeae;
  font-family: Montserrat-Light;
}

/**************FIN PORTADA MENU HOME ************/

/*************PORTADA MENU CON PRECIOS**********/
/*Funcionalidad del collapse*/
.collapse-content {
  overflow: hidden;
  height: 0px;
  transition: all 0.2s;
}

.collapse-container {
  height: auto;
}

.collapse__arrow {
  display: flex;
  width: 25px;
  height: 25px;
  background-image: url("../images/menu-design/next.svg");
  background-size: cover;
  transition: all 0.2s;
}

.collapse__arrow.down {
  transform: rotate(90deg);
}

.collapse__arrow.left {
  transform: rotate(180deg);
}

body.restaurant-menu .menu-content__global-description {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  padding: 0px 20px 8px 41px;
  font-family: Montserrat-Regular;
  color: #a1988f !important;
  font-weight: bold;
}

body.restaurant-menu .menu-content__global-description p {
  font-size: 14px;
  line-height: 22px;
  margin: 0;
}

/*Estilos del volver a los restaurantes*/
body.restaurant-menu .menu-content__back a {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  padding: 20px 20px;
  font-size: 18px;
  font-family: Montserrat-Regular;
  color: #a2988d !important;
}

body.restaurant-menu .menu-content__back .collapse__arrow {
  width: 15px;
  height: 15px;
  margin-right: 5px;
}

/*Listado de items*/
body.menu-prices .content__list__item {
  padding: 5px 20px;
}

body.menu-prices .content__list__item a,
body.menu-prices .content__list__item {
  justify-content: space-between;
}

body.menu-prices .content__list__item__left {
  width: 87%;
}

body.menu-prices .content__list__item__left * {
  color: #a1988f;
  font-size: 20px;
  margin: 15px 0;
  font-family: Montserrat-Semibold;
}

body.menu-prices .content__list__item__right {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  width: 23%;
}

body.menu-prices .collapse-content table {
  width: 100%;
  padding-bottom: 15px;
}

body.menu-prices .collapse-content table tr {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  padding: 15px 25px 5px 25px;
  width: 100%;
}

body.menu-prices .collapse-content table tr:nth-child(2n) {
  border-bottom: 2px solid #fff;
  padding: 0px 25px 15px 25px;
}

body.menu-prices .collapse-content table tr:last-child {
  border-bottom: 0px;
}

body.menu-prices .collapse-content table tr td {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  height: 100%;
}

body.menu-prices .collapse-content table tr td:first-child {
  flex-direction: column;
  width: 75%;
  color: #848484;
  padding-right: 5px;
}

body.menu-prices .collapse-content table tr:nth-child(2n) td:first-child {
  width: 100%;
  padding-right: 0px;
}

body.menu-prices .collapse-content table tr td:nth-child(2) {
  width: 25%;
  justify-content: flex-end;
  flex-direction: row;
  color: #848484;
  font-family: Montserrat-Semibold;
  font-size: 20px;
}

body.menu-prices .collapse-content table tr td * {
  margin: 0px;
}

body.menu-prices .collapse-content table tr td:first-child * {
  font-family: Montserrat-Regular;
  font-size: 16px;
  letter-spacing: 1px;
  line-height: 26px;
}

body.menu-prices .collapse-content table tr td:nth-child(2) * {
  font-family: Montserrat-Semibold;
  font-size: 18px;
}

body.menu-prices .collapse-content table tr:nth-child(2n) td {
  font-size: 14px;
  color: #a2988d;
  font-family: Montserrat-Light;
  line-height: 23px;
}

/*************FIN PORTADA MENU CON PRECIOS**********/

/********* AJUSTES PARA DESKTOP*********/
@media screen and (min-width: 1023px) {
  body.restaurant-menu .menu-logo a,
  body.restaurant-menu .menu-logo img {
    max-width: 250px;
  }

  body.restaurant-menu .menu-nav {
    display: none;
  }
}

/********* FIN AJUSTES PARA DESKTOP*********/

/*PARA IMPRIMIR*/
@media print {
  * {
    page-break-after: always;
  }

  .collapse-content {
    height: auto;
  }

  .menu-content__back {
    display: none !important;
    height: 0;
    overflow: hidden;
  }

  .menu-header {
    display: none !important;
  }

  body.restaurant-menu .menu-slider .title {
    text-shadow: none;
  }

  body.restaurant-menu .menu-slider {
    height: 15vh !important;
  }

  body.menu-prices.section_301 .collapse-content table tbody {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
  }

  body.menu-prices.section_301 .collapse-content table tbody > tr {
    width: 50%;
  }

  body.menu-prices.section_301
    .collapse-content
    table
    tbody
    > tr:nth-child(2n) {
    display: none !important;
  }
}

/* FIN PARA IMPRIMIR*/

/***************************************************************/
/************** FIN LANDING DEL MENU DE LA CARTA ***************/
/***************************************************************/

/* PRODUCTS */

.section .article.products {
  padding: 0 clamp(2vw, 14em, 25vw);
}

@media screen and (max-width: 1200px) {
  .section .article.products {
    padding: 0 clamp(2vw, 4em, 10vw);
  }
}

@media screen and (max-width: 900px) {
  .section .article.products {
    padding: 0 clamp(2vw, 3em, 8vw);
  }
}

.products .items {
  height: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  gap: 4vw;
}

.products .items__item {
  display: flex;
  padding: clamp(0.5em, 1vw, 1em);
  width: 100%;
  gap: 1%;
  background-color: white;
}

.products .items__item.reverse {
  flex-direction: row-reverse;
}

.products .items__item__img {
  height: 100%;
  width: 100%;
}

.products .items__item__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.products .items__item__content {
  position: relative;
  padding: 10px 20px 10px 10px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 55%;
  background-color: white;
}

.products .items__item__content p {
  margin: 0;
  text-align: left;
}

.products .items__item__content__title {
  margin: 0;
  text-transform: none;
  font-size: 30px;
}

.products .items__item__content__description {
  text-transform: none;
  font-size: 20px;
}

.products .items__item__content__description__line {
  color: black;
  display: flex;
}

.products .items__item__content__description__line p {
  margin: 0;
}

.products .items__item__content__description__line.hosted {
  color: #d6b693;
}

.products .items__item__content__description__line__text {
  display: inherit;
  overflow: hidden;
  white-space: nowrap;
}

.products .items__item__content__description__line__text:after {
  font-weight: 600;
  font-size: smaller;
  content: " \00a0________________________________________________________________________________________________\00a0\00a0";
}

.products .items__item__content__description__line__price {
  font-size: 24px;
}

.products .items__item__content__description__line__time {
  padding: 10px 0px 0px 15px;
}

.products .items__item__content__description__line__time span {
  color: #d6b693;
}

.products .items__item__content__include p {
  margin: 0;
}

.products .items__item__content__include__includes__item li {
  list-style-type: none;
  font-size: 20px;
}

.products .items__item__content__include__includes__item ul {
  padding: 0;
  line-height: 200%;
}

.products .items__item__content__description__line i {
  margin: 0 5px 0 0;
  color: #d6b693;
}

.products .items__item__content__include__includes__item li:before {
  font-family: "FontAwesome", serif;
  content: "\f00c";
  color: #d6b693;
  margin: 0 5px 0 0;
  font-size: 20px;
}

.products .items__item__content__include__title {
  font-weight: 600;
}

.products .items__item__content__include__includes__item {
  margin-top: 5px;
  padding-left: 15px;
}

.items__item__content__extra {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
}

.items__item__content__extra__person p {
  font-weight: 550;
}

.items__item__content__extra__button a {
  line-height: 50px;
  padding: 0 30px;
}

.products h3 {
  width: 100%;
}

@media screen and (max-width: 1000px) {
  .products .items__item {
    flex-direction: column;
  }

  .products .items__item__content {
    padding: 10px;
    gap: 10px;
  }

  .products .items__item__content__title {
    font-size: 23px;
  }

  .items__item__content__extra__button a {
    line-height: 45px;
    font-size: 14px;
    padding: 0 20px;
  }

  .products .items__item__content p {
    line-height: 30px;
  }

  .products .items__item__content,
  .products .items__item__img {
    width: 100%;
  }

  .products .items__item_img {
    max-height: 300px;
  }

  .products .items__item.reverse {
    flex-direction: column;
  }
}

/*
FIN PRODUCTOS
*/

.third-parties-logos_footer--tripadvisor img {
  width: 45%;
}

.third-parties-logos_footer--tuvrheinland {
  position: absolute;
  left: 0;
  bottom: 0;
}

.third-parties-logos_footer--tuvrheinland img {
  width: 100%;
  margin: 15px 0;
}

@media (max-width: 992px) {
  .third-parties-logos_footer--tuvrheinland {
    position: relative;
  }

  .third-parties-logos_footer--tuvrheinland img {
    width: 70%;
    margin: 15px 0;
  }
}

/* ROFESSIONAL AREA*/
.professional-area .crop {
  overflow-x: hidden;
  display: flex;
  flex-direction: row;
}

.professional-area .crop .item {
  text-align: center;
  height: 650px;
}

.professional-area .crop h2 {
  font-size: 200%;
  text-align: left;
}

.professional-area .crop p {
  text-align: left;
}

.professional-area .description {
  text-align: center;
}

.professional-area .crop .image {
  width: 80%;
}

.professional-area .crop .item .beach-info {
  margin-left: 45%;
}

@media screen and (max-width: 1600px) {
  .professional-area .crop .item {
    height: 600px;
  }

  .professional-area .crop .image {
    width: 70%;
  }

  .professional-area .crop .item .beach-info {
    margin-left: 40%;
  }
}

@media screen and (max-width: 1300px) {
  .professional-area .crop {
    flex-direction: column;
  }

  .professional-area .crop .item {
    height: 500px;
  }

  .professional-area .crop .item .beach-info {
    margin-left: 40%;
  }

  .onthebeach.professional-area .item:nth-child(even) .beach-info {
    right: inherit;
    margin-left: -30%;
  }
}

/* FIN ROFESSIONAL AREA */

.default .owl-prev {
  filter: invert(100%);
}

.default .owl-next {
  filter: invert(100%);
}

/* AJUSTE BOTONES  */

.buttons-container {
  display: flex;
  flex-direction: row;
  gap: 16px;
  justify-content: space-between;
  align-items: center;
}

.buttons-container:has(.buttons-container__cta-container),
.buttons-container:has(.buttons-container__circle-btn),
.buttons-container:has(.buttons-container__view-more-items) {
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
}

.buttons-container__view-more-items {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}

.buttons-container .book-button {
  color: #fff !important;
  background-color: #41474b;
  position: relative;
  padding: 0 40px;
  line-height: 60px;
  display: inline-block;
  text-transform: uppercase;
  border: 0;
  font-family: Roboto;
}

#UCPLtzf {
  max-width: 720px; /* Ajusta el ancho máximo según necesites */
  margin: 0 auto; /* Centrado para demostración */
}

#UCPLtzf .fb-render .rendered-form {
  width: 100%;
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  color: #fff;
  background-color: rgba(255, 255, 255, 0.1);
  padding: 5px;
  position: relative;
  margin-top: 30px;
  border: 1px solid #fff;
}

#UCPLtzf .fb-render .rendered-form .field-text-1747391796306 {
  flex-basis: 70%;
}

#UCPLtzf .fb-render .rendered-form .field-pshSendButtonForm {
  flex-basis: 30%;
}

#UCPLtzf .fb-render .rendered-form:before {
  content: "";
  width: 40px;
  height: 40px;
  min-width: 40px;
  min-height: 40px;
  margin: 10px;
  background: transparent
    url("https://www.aghotelspa.com/themes/default/images/icons.svg") no-repeat
    top center;
  background-size: 100% auto;
  background-position: 0 -602px;
  opacity: 0.6;
}

/* Estilo para el Label "Email*" */
#UCPLtzf .fb-render .rendered-form .formbuilder-text-label {
  /* Daremos esta clase al label con JS o lo seleccionaremos directamente */
  color: #333; /* Color oscuro para el label */
  font-size: 14px;
  font-weight: normal; /* O 'bold' si lo prefieres */
  display: none;
}

#UCPLtzf .cb-render .rendered-form .formbuilder-checkbox-label {
  display: none;
}

#UCPLtzf .cb-render .rendered-form .formbuilder-checkbox {
  margin: 15px 0;
}

#UCPLtzf .cb-render .rendered-form .formbuilder-checkbox a {
  color: white;
  font-weight: 700;
}

#UCPLtzf .rendered-form .form-group {
  margin: 0;
  width: 100%;
}

/* Estilo para el campo de email dentro del nuevo contenedor */
#UCPLtzf input[type="email"].form-control {
  height: 100%;
  color: #fff;
  border: none; /* Sin borde propio, ya que está en el contenedor */
  background-color: transparent; /* Fondo transparente */
  font-size: 16px;
  padding: 0px 10px 0px 0px;
  outline: none; /* Quita el borde azul en focus (opcional) */
  min-width: 0; /* Necesario en flexbox para que el input pueda encogerse */
}

#UCPLtzf input[type="email"].form-control:focus {
  outline: none;
  background-color: transparent;
  box-shadow: none;
}

/* Placeholder (si decides usar uno, aunque el label ya está visible) */
#UCPLtzf input[type="email"].form-control::placeholder {
  color: #756b61;
  opacity: 1;
}

/* Estilo para el botón dentro del nuevo contenedor */
#UCPLtzf button.btn {
  background-color: #41474b; /* Gris oscuro del botón */
  color: #fff;
  border: none; /* Sin borde propio */
  padding: 0px 70px 0px 40px; /* Ajusta el padding del botón */
  line-height: 60px;
  font-size: 14px;
  font-weight: bold;
  cursor: pointer;
  text-transform: uppercase;
  white-space: nowrap; /* Evita que el texto del botón se parta */
  display: flex;
  align-items: center;
  justify-content: end;
  border-radius: 0; /* Asegurar esquinas rectas */
  transition: background-color 0.3s ease;
  font-family: Roboto;
  position: relative;
}

#UCPLtzf button.btn::before {
  content: "";
  height: 20px;
  width: 40px;
  position: absolute;
  right: 15px;
  background: transparent
    url("https://www.aghotelspa.com/themes/default/images/icons.svg") no-repeat
    top center;
  background-size: 100% auto;
  background-position: 0 -532.5px;
  top: 50%;
  transform: translateY(-50%);
}

#UCPLtzf button.btn:hover {
  background-color: #0f161b; /* Un poco más oscuro en hover */
}

#UCPLtzf button.btn:disabled {
  background-color: #6c757d;
  cursor: not-allowed;
}

/* Estilo para el mensaje de agradecimiento */
#UCPLtzf .ThankYouMessage {
  padding: 15px;
  background-color: #e9ecef;
  border: 1px solid #ced4da;
  border-radius: 4px;
  margin-top: 15px; /* Espacio después del formulario */
  text-align: center;
  color: #495057;
}
