/*--------------------------------------------------------------
# Estilos generales
--------------------------------------------------------------*/

/* Variables */
:root {
  --c-brand: purple;
  --c-bannd-ccss: #1a57a9;
  --c-bannd-success: #087d0cd6;
  --c-bannd-orange: #f19507d6;
  --c-brand-rgb: 248, 54, 145;
  --c-dark: #303050;
  --c-body: #444;
  --c-light: #f6f6f6;
  --f-main: "Bai Jamjuree", sans-serif;
  --transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
  --shadow: 0px 15px 40px rgba(0, 0, 0, 0.1);
}

a {
  text-decoration: none;
  /* color: var(--c-dark); */
  transition: var(--transition);
}

a:hover {
  color: var(--c-brand);
}

img {
  width: 100%;
}

/* Home */
#home {
  background-image: url(../images/9.jpg);
  background-position: center;
  background-size: cover;
}

/* Project 1 */
.project {
  position: relative;
  overflow: hidden;
}

/* Imagen: se mantiene fija */
.project img {
  width: 100%;
  height: auto;
  transition: opacity 0.3s ease-in-out;
  display: block;
}

/* Contenido: ocupa el mismo lugar que la imagen, pero comienza oculto */
.project .content {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--c-bannd-ccss, rgba(0,0,0,0.6)); /* Ajusta el color/transparencia a tu gusto */
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;               /* Oculto al inicio */
  transition: opacity 0.3s ease-in-out; /* Transición suave */
}

/* Al hacer hover, el contenido se vuelve visible con un fade */
.project:hover .content {
  opacity: 0.8;
}


/* .project {
  overflow: hidden;
  position: relative;
}

.project .content {
  position: absolute;
  top: 100%;
  left: 0;
  background-color: var(--c-bannd-ccss);
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.project img,
.project .content {
  transition: var(--transition);
}

.project:hover .content {
  top: 0;
}

.project:hover img {
  transform: translateY(-100%);
} */

/* Project 2 */
.project2 {
  overflow: hidden;
  position: relative;
}

.project2 .content {
  position: absolute;
  top: 100%;
  left: 0;
  background-color: var(--c-bannd-success);
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.project2 img,
.project2 .content {
  transition: var(--transition);
}

.project2:hover .content {
  top: 0;
}

.project2:hover img {
  transform: translateY(-100%);
}

/* Project 3 */
.project3 {
  overflow: hidden;
  position: relative;
}

.project3 .content {
  position: absolute;
  top: 100%;
  left: 0;
  background-color: var(--c-bannd-orange);
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.project3 img,
.project3 .content {
  transition: var(--transition);
}

.project3:hover .content {
  top: 0;
}

.project3:hover img {
  transform: translateY(-100%);
}

.parallax-container-video {
  position: relative;
  height: 100vh;
  /* Altura de la pantalla completa */
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.parallax-video {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  min-width: 100%;
  min-height: 70%;
  width: auto;
  height: auto;
  z-index: -1;
  /* Detrás del contenido */
  object-fit: cover;
}

.parallax-content {
  position: relative;
  z-index: 1;
  /* Frente al video */
  text-align: center;
  color: white;
  font-family: Arial, sans-serif;
}

.parallax-content h1 {
  font-size: 3rem;
  margin: 0;
  font-weight: bold;
}

.parallax-content p {
  font-size: 1.5rem;
  margin: 10px 0 0;
}

.video-section {
  position: relative;
  height: 50vh;
  /* Altura de la sección ajustable */
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

/* Video de fondo */
.background-video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  /* Ajusta el video para cubrir toda la sección */
  z-index: 1;
}

/* Fondo negro con opacidad */
.video-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  /* Fondo negro al 50% de opacidad */
  z-index: 2;
  /* Sobre el video pero debajo del contenido */
}

/* Contenido sobre el video */
.video-content {
  position: relative;
  z-index: 3;
  /* Por encima del video y el overlay */
  color: white;
  text-align: center;
  padding: 20px;
}

.video-content h1 {
  font-size: 2rem;
  margin-bottom: 10px;
}

.video-content p {
  font-size: 1rem;
}

/* Botón en la esquina inferior derecha */
.video-button {
  position: absolute;
  bottom: 20px;
  right: 20px;
  background-color: #6f42c1;
  /* Morado Bootstrap */
  color: white !important;
  border: none;
  border-radius: 50%;
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  cursor: pointer;
  z-index: 3;
  /* Sobre el overlay */
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.video-button i {
  font-size: 20px;
}

/* Animación al pasar el cursor */
.video-button:hover {
  transform: scale(1.1);
  box-shadow: 0 6px 10px rgba(0, 0, 0, 0.2);
}

/*--------------------------------------------------------------
# Listas ocultas (videos y puntos de pago)
--------------------------------------------------------------*/

.listadevideos {
  padding: 0;
  border-radius: 20px;
}

/* .videos {
  background-color: #faa0a0;
} */

.h-lg-540 {
  height: 300px !important;
}

.icon-lg {
  width: 4.5rem;
  height: 4.5rem;
  line-height: 4.5rem;
  text-align: center;
  font-size: 2rem;
}

.separador {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  margin: 0;
}

.listadevideos .card {
  border: none;
  border-right: 2px solid transparent;
  transition: border 0.3s ease-in-out;
}

.listadevideos .bi {
  font-size: 1.5rem;
  opacity: 0.3;
  transition: all 0.5s ease;
}

.listadevideos .card:hover {
  border-right: 2px solid #0d6efd;
}

.enlace-video:hover {
  color: #0d6efd !important;
}

.enlace-video:hover::before {
  background-color: #0d6efd;
  width: 100%;
}

.listadevideos .card:hover .bi {
  color: #0d6efd;
  opacity: 1;
  transition: all 0.5s ease;
}

.enlace-video::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 0%; /* Inicia sin mostrarse */
  height: 1px;
  background-color: #0d6efd; /* Color azul por defecto */
  transition: width 0.3s ease-in-out; /* Suaviza la transición */
}

.enlace-video:hover::before {
  width: 100%; /* Se expande al hacer hover */
  background-color: #0d6efd; /* Mantiene el color azul en hover */
}

/* Flechas next y ant de carousel */

.custom-nav-container .owl-nav,
.custom-nav2-container .owl-nav {
  position: static;
  display: flex;
  justify-content: flex-end;
}

.custom-nav-container .owl-nav button,
.custom-nav-container2 .owl-nav button {
  background-color: #fff;
  border: 1px solid #ccc;
  font-size: 1.1rem;
  color: #333;
  padding: 5px 10px;
  border-radius: 3px;
  margin-left: 5px;
  transition: all 0.3s ease;
}

.custom-nav-container .owl-nav button:hover,
.custom-nav-container2 .owl-nav button:hover {
  background-color: #005588;
  color: #fff;
  transition: all 0.3s ease;
}

/*--------------------------------------------------------------
# Preguntas frecuentes
--------------------------------------------------------------*/

.tab .nav-tabs {
  border: none;
  margin: 0;
  --bs-nav-tabs-border-width: 0;
  border-bottom: 1px solid #eee;
}

.nav-tabs .nav-item.show .nav-link,
.nav-tabs .nav-link.active {
  color: var(--bs-nav-tabs-link-active-color);
  background-color: var(--bs-nav-tabs-link-active-bg);
  border-color: var(--bs-nav-tabs-link-active-border-color);
  border-bottom: 2px solid #005588;
  border-radius: 0;
  cursor: pointer;
}

.tab .tab-content {
  padding: 15px 0;
  margin-top: 20px;
  font-size: 1rem;
  min-height: 190px;
  /* color: #444;
  background: #fff; */
  position: relative;
}

.tab .tab-content p {
  padding: 0 20px;
}

@media only screen and (max-width: 479px) {
  .tab .nav-tabs li {
    width: auto;
    text-align: center;
  }
}

/*--------------------------------------------------------------
# Puntos de pago
--------------------------------------------------------------*/

.wrapper {
  width: 100%;
}

.carousel {
  width: 100%;
  max-width: 1200px;
  margin: auto;
}

.carousel .card {
  color: #fff;
  text-align: center;
  font-size: 20px;
  width: 220px;
  height: 200px;
  border-radius: 10px;
}

.owl-nav {
  display: flex;
  justify-content: right;
}

.owl-item {
  display: flex;
  justify-content: center;
}

.owl-carousel .owl-nav button.owl-prev,
.owl-carousel .owl-nav button.owl-next {
  display: inline-block;
  font-size: 3rem !important;
  transition: all 0.3s ease;
}

.owl-carousel .owl-nav button.owl-prev:hover,
.owl-carousel .owl-nav button.owl-next:hover {
  color: #005588;
  transition: all 0.3s ease;
}

.owl-theme .owl-nav [class*="owl-"]:hover {
  background: transparent !important;
}

.owl-theme .owl-nav {
  margin-top: 0px !important;
  -webkit-tap-highlight-color: transparent;
}

.unique-card img {
  opacity: 0.5;
  transition: 0.3s;
}

.unique-card:hover img {
  opacity: 1;
}

.play-boton {
  display: inline-block;
  padding: 0;
  height: 75px;
  width: 75px;
  text-align: center;
  position: absolute;
  border-radius: 50%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.play-boton i::after {
  content: "";
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  z-index: -1;
  background-color: crimson;
  border-radius: 50px;
  animation: ripple-wave 1s linear infinite;
  -webkit-transform: scale(1);
  transform: scale(1);
  transition: all 0.5s ease-in-out;
}

.play-boton i {
  position: relative;
  display: inline-block;
  padding: 0;
  height: 50px;
  width: 50px;
  line-height: 50px;
  font-size: 25px;
  text-align: center;
  background-color: crimson;
  color: #fff !important;
  border-radius: 50%;
  z-index: 1;
}

@keyframes ripple-wave {
  0% {
    opacity: 0.8;
    -webkit-transform: scale(0.9);
    transform: scale(0.9);
  }

  100% {
    opacity: 0;
    -webkit-transform: scale(2);
    transform: scale(2);
  }
}

.enlace {
  text-decoration: none;
  position: relative;
}

.enlace:before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 0%;
  height: 1px;
  background-color: orange !important;
  transition: width 0.3s;
}

.btn-enlace2 {
  border-style: none;
  background-color: #ffffff00;
  /* color: var(--main-color); */
  text-decoration: none;
  transition: var(--transition-sm);
}

/* Acordeón en Tabs */
.accordion-button:not(.collapsed) {
  color: #fff !important;
  background-color: purple !important;
}

.accordion.accordion-custom .accordion-button:not(.collapsed)::after {
  background-image: none;
  transform: rotate(0);
  color: #eff1f4;
}

.section-title h2::after {
  content: "";
  position: absolute;
  display: block;
  width: 60px;
  height: 3px;
  background:
#fe7b29;
  left: 0;
  right: 0;
  bottom: 0;
  margin:
auto;
}


.text-warning {
  --bs-text-opacity: 1;
  color: #fe7b29 !important;
}

.bg-teal {
  background-color: #fe7b29 !important;
}

.text-white, .text-light {
  color: #FFFFFF !important;
}

/*--------------------------------------------------------------
# Swiper noticias
--------------------------------------------------------------*/

/* Ajustes del Swiper */
.swiper {
   width: 100%;
   /* max-width: 500px; */
   height: auto;
   position: relative;
   padding-bottom: 35px;
   border: 1px solid var(--bs-body-bg);
   overflow: hidden;
   background-color: var(--bs-body-bg);
}

/* Centrar y alinear los slides */
.swiper-slide {
   display: flex;
   justify-content: center;
}

/* Contenedor para las flechas de navegación (debajo del Swiper) */
.swiper-navigation-container {
   display: flex;
   justify-content: center;
   align-items: center;
   gap: 10px;
   margin-top: 7px;
}

/* Flechas de navegación */
.swiper-button-next,
.swiper-button-prev {
   color: #ffffff;
   background-color: rgb(85, 80, 166);
   padding: 10px;
   border-radius: 50%;
   width: 40px;
   height: 40px;
   position: static;
}

.swiper-button-next:after,
.swiper-button-prev:after {
   font-family: swiper-icons;
   font-size: .9rem;
   text-transform: none !important;
   letter-spacing: 0;
   font-variant: initial;
   line-height: 1;
}



/*--------------------------------------------------------------
  # Posteo
  --------------------------------------------------------------*/
/* .posteo {
  padding: 60px 0;
} */

.posteo .member {
  text-align: center;
  background: #343a40;
  position: relative;
  overflow: hidden;
  border-radius: 10px;
border: 1px solid #CFD7E9
}

.posteo .member .member-info {
  opacity: 0;
  position: absolute;
  bottom: 0;
  top: 0;
  left: 0;
  right: 0;
  transition: 0.2s;
}

.posteo .member .social {
  position: absolute;
  left: 0;
  bottom: -38px;
  right: 0;
  height: 70px;
  transition: bottom ease-in-out 0.4s;
  text-align: center;
}

.posteo .member .social a {
  transition: color 0.3s;
  color: #fff;
  margin: 0 10px;
  display: inline-block;
}

.posteo .member .social a:hover {
  color: #ff1317;
}

.posteo .member .social i {
  font-size: 3rem;
  margin: 0 2px;
}

.posteo .member:hover .member-info {
  background: rgba(0, 0, 0, 0.6);
  opacity: 1;
  transition: 0.4s;
}

.posteo .member:hover .social {
  bottom: 40%;
  transition: bottom ease-in-out 0.4s;
}
.parallax {
  /* The image used */
  background-image: url("../../assets/img/parallax1.png");

  /* Set a specific height */
  min-height: 500px;

  /* Create the parallax scrolling effect */
  background-attachment: fixed;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.btn-get-started {
  font-family: "Open Sans", sans-serif;
  text-transform: uppercase;
  font-weight: 500;
  font-size: 14px;
  display: inline-block;
  padding: 10px 35px 10px 35px;
  border-radius: 4px;
  transition: 0.5s;
  color: #fff;
  background: #005588;
  border: 2px solid #005588;
}

.boton {
  font-family: "Open Sans", sans-serif;
  text-transform: uppercase;
  font-weight: 500;
  font-size: 14px;
  padding: 10px 35px 10px 35px;
  border-radius: 4px;
  transition: 0.5s;
  color: #fff;
  background: #0176be;
  display: inline-block;
}

.btn-get-started:hover {
  border-color: #fff;
  background: rgba(255, 255, 255, 0.1);
}

.animated-audio-icon {
  animation: pulseAudio 1.5s infinite ease-in-out;
}

@keyframes pulseAudio {
  0% {
    transform: scale(1);
    opacity: 0.9;
  }
  50% {
    transform: scale(1.2);
    opacity: 1;
  }
  100% {
    transform: scale(1);
    opacity: 0.9;
  }
}

.subtitle-modern {
  font-size: 1.1rem;
  letter-spacing: 0.5px;
  max-width: 600px;
  margin: 0 auto;
}

.underline-accent {
  width: 60px;
  height: 4px;
  background: linear-gradient(90deg, #3366cc, #9933cc);
  border-radius: 5px;
}

