* {
    padding: 0;
    margin: 0;   
    font-family: "Roboto", sans-serif;
}
body { background-color: #511c87; overflow-x: hidden; border: none; min-height: 100vh; }
a { text-decoration: none; }

#bg-page {
    position: relative;
    width: 100%;
    height: auto;
}
    #bg-page img {
        width: 100%;
        height: auto;
        margin-bottom: -5px;
    }
.video-bg {
  position: relative;
    width: 100%;
    height: auto;
}
#video-bg-atras {
  z-index: 65;
}
#video-bg-inicial {
  z-index: 66;
}
#sec-carrucel {
  position: absolute;
  top: unset;
  bottom: 160px;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  height: auto;
  margin: 0;
  z-index: 88;
}
.tema-item {
    position: relative;
    width: 700px;
    height: 700px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}
.tema-cont {
    position: relative;
    width: inherit;
    height: inherit;
    display: flex;
    align-items: center;
    justify-content: center;
}
.tema-fondo {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 45;
}
.tema-centro {
    position: relative;
    width: 400px;
    height: 400px;
}
.tema-figura {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 55;
}
.tema-titulo {
    position: absolute;
    bottom: -120px;
    width: 120% !important;
    z-index: 66;
    left: -40px;
    right: 0;
}

video::cue {
  font-size: 20px !important;
  color: white !important;
  background: rgba(0, 0, 0, 0.7) !important;
  padding: 6px 10px !important;
  border-radius: 6px !important;
  line-height: 1.4 !important;
}

/* Animaciones */

@-webkit-keyframes rotating /* Safari and Chrome */ {
  from {
    -webkit-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes rotating {
  from {
    -ms-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -ms-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -webkit-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
.rotating {
  -webkit-animation: rotating 120s linear infinite;
  -moz-animation: rotating 120s linear infinite;
  -ms-animation: rotating 120s linear infinite;
  -o-animation: rotating 120s linear infinite;
  animation: rotating 120s linear infinite;
}

.animate__animated.animate__shakeY {
  --animate-duration: 5s;
}
.animate__animated.animate__pulse {
  --animate-duration: 4s;
}
.animate__animated.animate__headShake {
  --animate-duration: 3s;
}
.animate__animated.animate__zoomIn {
  --animate-duration: 2s;
}
.animate__animated.animate__fadeIn {
  --animate-duration: 3s;
}
.animate__animated.animate__heartBeat {
  --animate-duration: 9s;
}
.animate__animated.animate__fadeInUp {
  --animate-duration: 4s;
}
.animate__animated.animate__flash {
  --animate-duration: 6s;
}
.animate__animated.animate__flipInY {
  --animate-duration: 3s;
}
.animate__animated.animate__fadeInLeft {
  --animate-duration: 3s;
}

/* CARRUSEL */

 .carousel {
    position: relative;
    width: 100%;
    overflow: hidden;
  }

  .carousel-track {
    display: flex;
    transition: transform 0.4s ease;
  }

  .carousel-item {
    width: 100%;
    margin: 0 20px;
    background: transparent;
    border-radius: 20px;
    text-align: center;
    font-size: 1.5em;
    height: auto;
    opacity: 0.6;
    transition: opacity 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .carousel-item.active {
    opacity: 1;
  }

.slick-slide {
  opacity: 0.4;
  transition: opacity .3s;
}
.slick-center {
  opacity: 1;
}

  /* Efecto de desvanecimiento en bordes */
  .carousel::before,
  .carousel::after {
    content: '';
    position: absolute;
    top: 0;
    width: 10%;
    height: 100%;
    pointer-events: none;
    z-index: 2;
  }
  .carousel::before {
    left: 0;
    /*background: linear-gradient(to right, #f8f8ff 80%, transparent);*/
  }
  .carousel::after {
    right: 0;
    /*background: linear-gradient(to left, #f8f8ff 80%, transparent);*/
  }

  /* Flechas */
  .arrow {
    position: absolute;
    top: 40%;
    transform: translateY(-50%);
    background: transparent;
    color: #b68f54;
    border: none;
    font-size: 100pt;
    cursor: pointer;
    z-index: 3;
    border-radius: 50%;
    width: 40px;
    height: 40px;
  }
  .arrow.left { left: 20%; }
  .arrow.right { right: 20%; }


footer {
  position: absolute;
  width: 100%;
  height: auto;
  /*padding: 25px 0 12px 0;*/
  z-index: 99;
}
#footer-cont {
  width: 100%;
  height: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
  #footer-cont h3 a {
    font-size: 11pt;
    color: #f8f8f8;
  }
  #footer-cont h3 a:hover {
    color: #a3804a;
  }

  /* MODAL */
  #modal-area {
    position: fixed;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100vh;
    top: 0;
    left: 0;
    z-index: 150;
  }
  #modal-areaNegativa {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.8);
    z-index: 180;
  }
  #modal-areaCont {
    position: relative;
    width: 100%;
    max-width: 450px;
    height: auto;
    min-height: 520px;
    border-radius: 8px;
    padding: 0;
    /*margin: 0;*/
    margin-top: -50px;
    z-index: 190;
    overflow: hidden;
  }
  #modal-areaContPersonajes {
    position: relative;
    height: auto;
    border-radius: 8px;
    padding: 0;
    margin: 0;
    z-index: 195;
    overflow: hidden;
  }
  #modal-areaCont-banner {
    position: relative;
    width: 100%;
    height: 240px;
    background-position: center center;
    background-size: cover;
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
  }
  #logo_450 {
    position: absolute;
    width: 20%;
    height: auto;
    top: 8px;
    left: 12px;
    z-index: 210;
  }
    #logo_450 img {
      width: 100%;
      height: auto;
    }
  #modal-close {
    position: absolute;
    width: auto;
    height: auto;
    top: 8px;
    right: 12px;
    font-size: 38px;
    color: #fff;
    text-shadow: 1px 1px 2px black;
    cursor: pointer;
    z-index: 210;
  }
    #modal-close:hover {
      color: #a3804a;
    }
  .videoExp, #video-cortina-final {
    width: 100%;
    border-radius: 8px;
    z-index: 192;
  }
  #modal-banner-descripcion {
    position: absolute;
    bottom: 8px;
    left: 5px;
    font-size: 11pt;
    color: #fff;
    text-shadow: 1px 1px 2px black;
  }
  #modal-areaCont-texto {
    padding-top: 35px;
    padding-left: 55px;
    padding-right: 55px;
    padding-bottom: 12px;
    background-color: #f8f8f8;
  }
    #modal-areaCont-texto p {
      text-align: justify;
    }

#video-cortina-final {
  position: absolute;
  top: -1px;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 200;
  /*background-color: rgba(0, 0, 0, 0.8);*/
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 32pt;
}
  #video-cortina-final img {
    width: 100%;
    height: auto;
    cursor: pointer;
  }

/*Modal Personajes */
#menuPersonajes {
  display: flex;
  align-items: center;
  justify-content: center;
}
#menuPersonajes-tit {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
#menuPersonajes-tit img {
  width: 80%;
  max-width: 380px;
}
#menuPersonajes-galeria {
  display: flex;
}
#menuPersonajes-items-1 img, #menuPersonajes-items-2 img, #menuPersonajes-items-3 img {
  width: 250px;
  cursor: pointer;
}
#menuPersonajes-items-2 {
  display: flex;
  align-items: center;
  justify-content: center;
}

.videoAntSig {
  position: absolute;
  bottom: 40px;
  width: 100%;
  height: auto;
  display: block;
}
  .videoAnt, .videoSig {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14pt;
    z-index: 1001;
  }
.videoAnt div{
  width: 35%;
  height: 85px;
  justify-content: start;
  background-image: url(../images/btn_ver.png);
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center;
  cursor: pointer;
}
  .videoAnt div:hover {
    background-image: url(../images/btn_ver.png);
  }
.videoSig div {
  width: 35%;
  height: 85px;
  justify-content: end;
  background-image: url(../images/btn_sig.png);
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center;
  cursor: pointer;
  padding-top: 45px;
}
  .videoSig div:hover {
    background-image: url(../images/btn_sig_over.png);
  }
.cargandoVideo {
  width: 100%;
  height: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14pt;
  padding-top: 25px;
}
  .cargandoVideo img {
    width: 90px !important;
  }

@media screen and (min-width: 900px) and (orientation: portrait) {
  .tema-item {
    width: 500px;
    height: 500px;
  }
  .tema-centro {
    width: 300px;
    height: 300px;
  }
  #modal-areaCont {
    max-width: 85% !important;
    max-width: 620px;
  }
  #modal-close {
    right: 28px;
  }
  #sec-carrucel {
    top: 800px;
  }  
  .videoExp, #video-cortina-final {
    max-width: 900px;
  }
  /* Modal Persoanjes */
  #modal-areaContPersonajes {
    width: 100%;
  }
  #menuPersonajes-tit img {
    max-width: 450px;
  }
  #menuPersonajes-items-1 img, #menuPersonajes-items-2 img, #menuPersonajes-items-3 img {
    width: 300px;
    cursor: pointer;
  }
  .videoAntSig div {
    font-size: 20pt;
  }
  footer {
    bottom: 20px;
  }
}

@media screen and (max-width: 900px) {
  #modal-areaCont {
    max-width: 85% !important;
    max-width: 620px;
  }
  #sec-carrucel {
    top: unset;
    bottom: 65px;
  }
  .slick-slide{
    transform: scale(.70);
    transition: transform .4s;
  }

  .slick-center{
    transform: scale(1);
  }  
  .tema-item {
    width: 500px;
    height: 500px;
    margin: 0 10px;
  }
  .tema-centro {
    width: 200px;
    height: 200px;
  }
  .tema-titulo {
    width:  140%;
      bottom: -30px;
      left: -25px;
      right: 0;
  }
    .arrow {
      top: 25%;
      width: 15px;
      height: 15px;
    }
    .arrow.left { left: 0%; }
    .arrow.right { right: 6%; }

  footer {
    padding-top: 75px;
  }
  #footer-cont h3 a {
    font-size: 8.5pt;
  }
  #modal-areaContPersonajes {
    width: 100%;
  }
  #menuPersonajes-tit img {
    width: 60%;
  }
  #menuPersonajes-items-1, #menuPersonajes-items-2, #menuPersonajes-items-3 {
    width: 33%;
    text-align: center;
  }
  #menuPersonajes-items-1 img, #menuPersonajes-items-2 img, #menuPersonajes-items-3 img {
    width: 70%;
  }
/*
  #menuPersonajes-items-1, #menuPersonajes-items-3 {
    padding-top: 85px;
  }
  #menuPersonajes-refugio img {
    margin-left: 25px;
  }
  #menuPersonajes-satirnino img {
    margin-right: 120px;
  }
  #menuPersonajes-items-2 {
    align-items: start;
  }*/

  /*.slick-list {
    padding: 0 !important;
    padding-left: 20% !important;
  }*/
  .videoAnt div{
    width: 40%;
    height: 100px;
  }
  .videoSig div {
    width: 40%;
    height: 100px;
  }

  footer {
    bottom: 20px;
  }
  .cargandoVideo {
    font-size: 12pt;
  }
  .cargandoVideo img {
    width: 80px !important;
  }
}

@media screen and (max-width: 640px) {
  .tema-item {
    width: 300px;
    height: 300px;
  }
  .videoAntSig {
    bottom: 65px;
  }
  #sec-carrucel {
    bottom: -80px;
  }
  .videoAnt div{
    height: 50px;
  }
  .videoSig div {
    height: 50px;
  }
}
@media screen and (max-width: 480px) {
  .tema-item {
    width: 250px;
    height: 250px;
  }
  .tema-titulo {
    width:  100%;
      bottom: 0px;
  }
    .arrow {
      width: 10px;
      height: 10px;
    }
}

@media screen and (max-width: 380px) {
  .tema-item {
    width: 200px;
    height: 200px;
  }
}