@import url(https://fonts.googleapis.com/css?family=IBM+Plex+Serif:300,400,700);
@import url(https://fonts.googleapis.com/css?family=IBM+Plex+Mono:300,400,700);
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

* {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}

.invisible {
  visibility: hidden;
}

.novisible {
  display: none;
}

.no-desktop {
  display: none;
}

.no-responsive {
  display: initial;
}

.no-mobile {
  display: initial;
}

.no-scroll {
  overflow: hidden;
}

.clearfix:after {
  content: "";
  display: table;
  clear: both;
}

.fleft {
  float: left;
  text-align: left;
}

.tleft {
  text-align: left;
}

.fright {
  float: right;
  text-align: right;
}

.tright {
  text-align: right;
}

.fcenter {
  float: right;
  text-align: right;
}

.tcenter {
  text-align: center;
}

.wfull {
  width: 100%;
}

.w100 {
  max-width: 1600px;
  margin: auto;
  padding: 0 90px;
}

.w80 {
  width: 80%;
  max-width: 1400px;
  margin: auto;
}

.ofcover {
  height: 100%;
  width: 100%;
  object-fit: cover;
}

.ofcontain {
  height: 100%;
  width: 100%;
  object-fit: contain;
}

.vcenter {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
} /* siempre dentro de un relative */
.slider .flickity-page-dots {
  bottom: -30px;
}

.slider .flickity-page-dots .dot {
  background: none;
  border: solid 1px #000000;
}

.slider.dots-dentro .flickity-page-dots {
  bottom: 20px;
}

.slider.dots-dentro .flickity-page-dots .dot {
  background: none;
  border: solid 1px #FFFFFF;
}

.col {
  padding: 0px 3%;
  float: left;
}

.w14 {
  width: 25%;
}

.w13 {
  width: 33%;
}

.w12 {
  width: 50%;
}

.w23 {
  width: 66%;
}

.w34 {
  width: 75%;
}

.w15 {
  width: 20%;
}

.w25 {
  width: 40%;
}

.w35 {
  width: 60%;
}

.w45 {
  width: 80%;
}

.w11 {
  width: 10%;
}

.w21 {
  width: 20%;
}

.w31 {
  width: 30%;
}

.w41 {
  width: 40%;
}

.w51 {
  width: 50%;
}

.w61 {
  width: 60%;
}

.w71 {
  width: 70%;
}

.w81 {
  width: 80%;
}

.w91 {
  width: 90%;
}

.transitionall {
  -webkit-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}

.arrow {
  border: solid black;
  border-width: 0 1px 1px 0;
  display: inline-block;
  padding: 2.5px;
}

.right {
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}

.left {
  transform: rotate(135deg);
  -webkit-transform: rotate(135deg);
}

.up {
  transform: rotate(-135deg);
  -webkit-transform: rotate(-135deg);
}

.down {
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
}

.overflowhidden {
  overflow: hidden;
}

.bounce-v {
  animation-name: bounce-v;
  animation-timing-function: ease;
  animation-duration: 1s;
  animation-iteration-count: infinite;
}

@keyframes bounce-v {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-12px);
  }
  100% {
    transform: translateY(0);
  }
}
.bounce-h {
  animation-name: bounce-h;
  animation-timing-function: ease;
  animation-duration: 1s;
  animation-iteration-count: infinite;
}

@keyframes bounce-h {
  0% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(-12px);
  }
  100% {
    transform: translateX(0);
  }
}
.marquee {
  position: relative;
  overflow: hidden;
  height: 100%;
}
.marquee .marquee__inner {
  width: fit-content;
  width: -moz-max-content;
  width: intrinsic;
  display: flex;
  position: relative;
  animation: marquee 1s linear infinite;
  height: 100%;
}
.marquee.vertical .marquee__inner {
  width: 100%;
  flex-direction: column;
  animation: marquee-vertical 1s linear infinite;
  height: auto;
}
.marquee.photo {
  width: 100%;
  height: 100%;
}
.marquee.photo .marquee__inner {
  animation: marquee-photo 1s ease-in-out infinite;
  animation-direction: alternate;
  position: absolute;
  top: 0;
}
.marquee.velocidad-1 .marquee__inner {
  animation-duration: 1s;
}
.marquee.velocidad-2 .marquee__inner {
  animation-duration: 2s;
}
.marquee.velocidad-3 .marquee__inner {
  animation-duration: 3s;
}
.marquee.velocidad-4 .marquee__inner {
  animation-duration: 4s;
}
.marquee.velocidad-5 .marquee__inner {
  animation-duration: 5s;
}
.marquee.velocidad-10 .marquee__inner {
  animation-duration: 10s;
}
.marquee.velocidad-15 .marquee__inner {
  animation-duration: 15s;
}
.marquee.velocidad-20 .marquee__inner {
  animation-duration: 20s;
}
.marquee.velocidad-30 .marquee__inner {
  animation-duration: 30s;
}
.marquee.velocidad-60 .marquee__inner {
  animation-duration: 60s;
}
.marquee.one-line {
  white-space: nowrap;
}
.marquee.direction-left .marquee__inner {
  animation-direction: reverse;
}
.marquee.direction-top .marquee__inner {
  animation-direction: reverse;
}
.marquee.stop .marquee__inner {
  animation-play-state: paused;
}
@keyframes marquee {
  0% {
    transform: translate3d(-100%, 0, 0);
  }
  100% {
    transform: translate3d(100vw, 0, 0);
  }
}
@keyframes marquee-vertical {
  0% {
    transform: translate3d(0, -100%, 0);
  }
  100% {
    transform: translate3d(0, 100vw, 0);
  }
}
@keyframes marquee-photo {
  0% {
    left: 0%;
  }
  100% {
    left: 100%;
    transform: translate3d(-100%, 0, 0);
  }
}

/* @import "./fonts.scss"; */
.flickity-viewport {
  height: 100%;
}

.flickity-button {
  background: none;
  background-size: 0.8vw;
  background-position: center center;
  background-repeat: no-repeat;
}
.flickity-button:hover {
  background: none;
  opacity: 0.5;
  background-size: 0.8vw;
  background-position: center center;
  background-repeat: no-repeat;
}

.flickity-prev-next-button:disabled {
  display: none;
}

.flickity-prev-next-button.next {
  right: 0;
  background-image: url("../img/bakea-next-button-black.svg");
}

.flickity-prev-next-button.previous {
  left: auto;
  right: 40px;
  background-image: url("../img/bakea-prev-button-black.svg");
}

.flickity-prev-next-button {
  top: -8%;
  transform: none;
}

SECTION.black .flickity-prev-next-button.next {
  background-image: url("../img/bakea-next-button-white.svg");
}
SECTION.black .flickity-prev-next-button.previous {
  background-image: url("../img/bakea-prev-button-white.svg");
}

BODY {
  background: #FFFFFF;
  font-family: "IBM Plex Mono", Helvetica, Arial, sans-serif;
  font-size: clamp(9px, 1vw, 13px);
  line-height: 140%;
  color: #000000;
  transition: background-color 1s;
  text-align: left;
  -webkit-font-smoothing: antialiased;
  letter-spacing: 0.1vw;
}
BODY A {
  text-decoration: underline;
  color: #FFFFFF;
}
BODY A.boton {
  padding: 0.8vh 2vw;
  border: 2px solid #FFFFFF;
  text-decoration: none;
  font-weight: 800;
  margin: 0.6vh 0;
  text-transform: uppercase;
  font-size: 90%;
}
BODY A.boton.negro {
  border: 2px solid #000000;
  color: #000000;
}
BODY A.boton.strong {
  background: #FFFFFF;
  color: #000000;
}
BODY P {
  line-height: 160%;
  margin-bottom: 2vh;
}
BODY H1, BODY H2, BODY H3 {
  font-size: 120%;
  font-weight: 400;
  line-height: 150%;
  letter-spacing: 0.5%;
}
BODY H1 {
  text-transform: uppercase;
}
BODY H2, BODY H3 {
  font-family: "IBM Plex Serif", Helvetica, Arial, serif;
}
BODY HR {
  border: none;
  border-bottom: 1px solid #000000;
}

HEADER {
  pointer-events: none;
  display: flex;
  padding: 2vh 1.2vw;
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 10000;
  mix-blend-mode: difference;
}
HEADER IMG {
  max-height: 6vh;
}
HEADER .boton {
  pointer-events: initial;
}
HEADER .con {
  cursor: pointer;
  display: inline-block;
  margin-left: 20px;
  pointer-events: initial;
}
HEADER .con {
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -ms-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
HEADER .con .bar {
  display: block;
  height: 1px;
  width: 40px;
  background: #FFFFFF;
  margin: 8px auto;
}
HEADER .con .middle {
  margin: 0 auto;
  background: transparent;
}
HEADER .con .bar {
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -ms-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
HEADER .con.active .top {
  -webkit-transform: translateY(9px) rotateZ(45deg);
  -moz-transform: translateY(9px) rotateZ(45deg);
  -ms-transform: translateY(9px) rotateZ(45deg);
  -o-transform: translateY(9px) rotateZ(45deg);
  transform: translateY(9px) rotateZ(45deg);
}
HEADER .con.active .bottom {
  -webkit-transform: translateY(-9px) rotateZ(-45deg);
  -moz-transform: translateY(-9px) rotateZ(-45deg);
  -ms-transform: translateY(-9px) rotateZ(-45deg);
  -o-transform: translateY(-9px) rotateZ(-45deg);
  transform: translateY(-9px) rotateZ(-45deg);
}
HEADER .con.active .middle {
  width: 0;
}
HEADER .header-nav {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
HEADER.active .bar.top, HEADER.active .bar.bottom {
  background: #FFFFFF;
}
HEADER.active A.boton {
  border-color: #FFFFFF;
  color: #FFFFFF;
}

NAV {
  position: fixed;
  right: -100vw;
  top: 0;
  width: 40vw;
  height: 100vh;
  background: #000000;
  display: flex;
  flex-direction: column;
  z-index: 9999; /* padding-top: 12vh; justify-content: space-between; */
  transition: all 0.5s ease-in-out;
}
NAV .nav-language {
  margin: 4.8vh 3vw;
}
NAV .nav-language A {
  margin-right: 2vw;
  text-decoration: none;
}
NAV .nav-language A.active {
  font-weight: bold;
}
NAV .nav-button {
  border-top: 1px solid rgba(255, 255, 255, 0.4); /* padding-bottom: 7vh; */
  flex-grow: 1;
  padding-top: 8vh;
}
NAV .nav-button A {
  color: #FFFFFF;
  text-decoration: none;
  font-weight: bold;
  text-transform: uppercase;
}
NAV .nav-button A SPAN {
  margin: 0 3vw;
}
NAV.active {
  right: 0;
}

SECTION {
  min-height: 100vh;
  padding: 2vh 1.2vw;
}
SECTION.home {
  height: 100vh;
  font-family: "IBM Plex Serif", Helvetica, Arial, serif;
  letter-spacing: 0;
  font-size: 130%;
}
SECTION.home .slide {
  position: relative;
  width: 100%;
  height: 100%;
  transition: opacity 0.8s ease-in-out;
  background: #FFFFFF;
}
SECTION.home .slide P, SECTION.home .slide IMG {
  position: absolute;
}
SECTION.home .slide:nth-of-type(1) IMG {
  width: 30%;
  bottom: 0;
  right: 0;
}
SECTION.home .slide:nth-of-type(1) P {
  top: 20vh;
  left: 20vh;
}
SECTION.home .slide:nth-of-type(2) IMG {
  width: 40%;
  top: 0;
  left: 0;
}
SECTION.home .slide:nth-of-type(2) P {
  top: 65vh;
  left: 42vw;
}
SECTION.home .slide:nth-of-type(3) IMG {
  width: 28%;
  bottom: 0;
  left: 0;
}
SECTION.home .slide:nth-of-type(3) P {
  top: 15vh;
  left: 70vw;
}
SECTION.half {
  display: flex;
  justify-content: center;
  align-items: center;
}
SECTION.half A {
  color: #000000;
}
SECTION.half .w12 {
  display: flex;
}
SECTION.half .w12 .section-info-text, SECTION.half .w12 .section-gallery-slider {
  padding: 0 5vw;
}
SECTION.half .w12 .section-info-text P {
  text-transform: uppercase;
  font-size: 90%;
  line-height: 200%;
  max-width: 720px;
}
SECTION.half .w12 .section-gallery-slider {
  width: 100%;
}
SECTION.half .w12 .section-gallery-slider .slide {
  width: 100%;
  height: 60vh;
  transition: opacity 0.8s ease-in-out;
}
SECTION.half .w12 .section-info-descargas {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
}
SECTION.half .w12 .section-info-descargas A {
  width: 180px;
  text-align: center;
}
SECTION.half .w12 .section-gallery-counter {
  font-size: 80%;
  margin-top: 1vh;
}
SECTION.half .w12 .section-gallery-carousel {
  width: 100%;
}
SECTION.half .w12 .section-gallery-carousel .slide {
  padding-right: 2vw;
}
SECTION.half .w12 .section-gallery-carousel .slide IMG {
  height: 55vh;
}
SECTION.half .w12 .section-gallery-carousel .slide P {
  margin-top: 1.2vh;
  font-size: 85%;
  letter-spacing: 0.5px;
  line-height: 150%;
  width: 400px;
}
SECTION.half .w12.section-gallery {
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
SECTION.half.scroll-carousel {
  height: 300vh;
  align-items: flex-start;
}
SECTION.half.scroll-carousel .w12 {
  position: sticky;
  top: 0;
}
SECTION.half.scroll-carousel .w12 .sticky {
  overflow: hidden;
  top: 0;
  height: 100vh;
}
SECTION.half.scroll-carousel .w12 .section-gallery-carousel {
  position: absolute;
  height: 100%;
  top: 0;
  width: 300vw;
  will-change: transform;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 5vw;
  padding-left: 200vw;
}
SECTION.half.scroll-carousel .w12 .section-gallery-carousel .gallery-vertical-center {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
}
SECTION.half.scroll-carousel .w12.section-info {
  padding-top: 30vh;
  transition: 1s all;
}
SECTION.half.scroll-carousel .w12.section-info.scrolling {
  opacity: 0.1;
}
SECTION.black {
  background: #000000;
  color: #FFFFFF;
}
SECTION.black A {
  color: #FFFFFF;
}

DIV.aviso-reservas {
  display: none;
  color: #FFFFFF;
  background: #000000;
  width: 90%;
  min-width: 300px;
  text-align: center;
  padding: 6vh 12vw;
  text-transform: uppercase;
}
DIV.aviso-reservas IMG {
  width: 12vw;
  max-width: 160px;
}
DIV.aviso-reservas H2 {
  margin: 4vh auto;
}
DIV.aviso-reservas P {
  line-height: 200%;
  padding-bottom: 4vh;
}

FOOTER {
  position: fixed;
  width: 100%;
  bottom: 0;
  left: 0;
  padding: 2vh 2vw;
  mix-blend-mode: difference;
}
FOOTER H1 {
  font-size: 100%;
  color: #FFFFFF;
}

@media (max-width: 1024px) {
  .no-desktop {
    display: initial;
  }
  BODY {
    font-size: 1.4vw;
  }
}
@media (orientation: portrait) {
  .no-desktop {
    display: initial;
  }
  .no-responsive {
    display: none;
  }
  .no-mobile {
    display: none;
  }
  .fancybox-caption__body {
    font-size: 2.8vw;
  }
  BODY {
    font-size: 3vw;
  }
  BODY P {
    line-height: 200%;
  }
  HEADER {
    padding: 4vw 4vw;
  }
  HEADER .w13 {
    width: 50%;
  }
  HEADER .w13.tcenter {
    text-align: left;
  }
  NAV {
    width: 100vw;
    padding-top: 10vh;
    text-align: center;
  }
  NAV .nav-button {
    padding-top: 7vh;
  }
  NAV .nav-button A SPAN {
    margin-left: 0;
  }
  SECTION {
    padding: 20vw 4vw 12vw 4vw;
  }
  SECTION.home .slide:nth-of-type(1) IMG {
    width: 70%;
    bottom: 0;
    right: 0;
  }
  SECTION.home .slide:nth-of-type(1) P {
    top: 6vh;
    left: 0vh;
  }
  SECTION.home .slide:nth-of-type(2) IMG {
    width: 100%;
    top: 0;
    left: 0;
  }
  SECTION.home .slide:nth-of-type(2) P {
    top: 55vh;
    left: auto;
    right: 10vw;
  }
  SECTION.home .slide:nth-of-type(3) IMG {
    width: 70%;
    bottom: 0;
    left: 0;
  }
  SECTION.home .slide:nth-of-type(3) P {
    top: 5vh;
    left: 50vw;
  }
  SECTION.half {
    flex-direction: column;
  }
  SECTION.half .w12 {
    width: 100%;
  }
  SECTION.half .w12 .section-gallery-slider {
    padding: 0;
  }
  SECTION.half .w12:nth-of-type(1) {
    margin-bottom: 8vw;
  }
  DIV.aviso-reservas {
    padding: 5vw;
    padding-bottom: 5vh;
  }
  DIV.aviso-reservas IMG {
    display: none;
  }
  DIV.aviso-reservas P {
    line-height: 160%;
    padding-bottom: 4vh;
  }
}
