/* fuentes */
@font-face {
    font-family: "neue-plak-regular";
    src: url(https://2107306.fs1.hubspotusercontent-na1.net/hubfs/2107306/font/neue-plak-regular.ttf);
}
@font-face {
    font-family: "neue-plak-bold";
    src: url(https://2107306.fs1.hubspotusercontent-na1.net/hubfs/2107306/font/neue-plak-bold.ttf);
}
@font-face {
    font-family: "neue-plak-condensed-bold";
    src: url(https://2107306.fs1.hubspotusercontent-na1.net/hubfs/2107306/font/neue-plak-condensed-bold.ttf);
}
@font-face {
    font-family: "neue-plak-narrow-bold";
    src: url(https://2107306.fs1.hubspotusercontent-na1.net/hubfs/2107306/font/neue-plak-narrow-bold.ttf);
}
@font-face {
    font-family: "neue-plak-narrow-regular";
    src: url(https://2107306.fs1.hubspotusercontent-na1.net/hubfs/2107306/font/neue-plak-narrow-regular.ttf);
}
@keyframes zoomInOut {
    0% {
        transform: scale(1); /* Estado original del botón */
    }
    50% {
        transform: scale(1.1); /* Aumenta el tamaño */
    }
    100% {
        transform: scale(1); /* Vuelve al tamaño original */
    }
}
@keyframes moveUpDown {
    0% {
        transform: translateY(0); /* Empieza en su posición original */
    }
    50% {
        transform: translateY(20px); /* Baja a 20px hacia arriba */
    }
    100% {
        transform: translateY(0); /* Vuelve a la posición original */
    }
}
@keyframes zoomOut {
    0% {
        transform: scale(1.5); /* Empieza más grande, 150% del tamaño original */
    }
    100% {
        transform: scale(1); /* Vuelve al tamaño original */
    }
}
@keyframes zoomIn {
    0% {
        transform: scale(0.5); /* Empieza más pequeña, 00% del tamaño original */
    }
    100% {
        transform: scale(1); /* Vuelve al tamaño original */
    }
}
@keyframes fadeInZoom {
  0% {
    opacity: 0;
    transform: scale(1.05); /* Apenas más grande para el efecto */
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes zoomOutBG {
  to {
    transform: scale(1);
  }
}

body{
  font-family: "neue-plak-narrow-regular";
  margin:0;
}
*{
  outline:none !important;
  box-sizing: border-box;
}

/* header */

.flex{
  display:flex;
}
.space-b{
  justify-content:space-between;
}
.item-center{
  align-items:center;
}
.logo_uc img{ /*izquierda*/
  /*max-width:350px;*/
  max-height:3.1vw;
  width:100%;
}
.logo_adicional img{ /*derecha*/
  max-height:3.1vw;
  width: auto;
  height:100%;
}
.text-center{
  text-align:center;
}
.text-left{
  text-align:left;
}
.text-right{
  text-align:right;
}

#header{
  position:absolute;
  width:100%;
  padding:23px 0 23px;
  /*-webkit-backdrop-filter: blur(50px);
  backdrop-filter: blur(50px);*/
  background-color: none;
  /*opacity: 0.2;*/
  border-bottom: 0.5px solid #ffffff!important;
  z-index:9999;
}
.flex.center{
  justify-content:center;
}
.row-fluid [class*="span"]{
    min-height:0 !important;
}
.rb{
    display:none;
}
.rd{
    display:block;
}

/* home */
#home{
  padding-top:5vw;
  padding-bottom:5vw;
  position: relative;
  overflow: hidden;  
}
#home::before {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transform: scale(1.2); /* Zoom inicial */
  animation: zoomOutBG 12s ease forwards;
  opacity: 1!important;
  z-index: -2;
}
#home::after {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background-color: rgba(33, 35, 34, 0.6);
  z-index: -1;
}
/*#home *{
  position:relative;
  overflow: hidden;
  z-index:3;
}*/
#home h2{
  font-size: 4vw;
  font-family: "neue-plak-narrow-regular";
  font-style: normal;
  font-stretch: normal;
  line-height: 1.2;
  letter-spacing: 1.8px;
  margin-bottom: 0;
  color: white;
  margin-top: 4vw;
  text-align: left;
  transform: scale(0.8); /* Comienza con zoom out */
  transform-origin: center!important;
  transition: opacity 0.3s ease, transform 0.3s ease; /* Para la transición de opacidad y escala */
}
#home h2.visible{
  animation: fadeInZoom 2s forwards; /* Aplica la animación de zoom out */
  opacity: 1; /* Se hace visible */
}
#home h1{
  font-size: 5vw;
  font-family: "neue-plak-narrow-bold";
  font-style: normal;
  font-stretch: normal;
  line-height: 1.2;
  letter-spacing: 2;  
  color: #cec182;
  text-align: left;
  margin-top: 0;
  margin-bottom: 0;
  transform: scale(0.8); /* Comienza con zoom out */
  transform-origin: center!important;
  transition: opacity 0.3s ease, transform 0.3s ease; /* Para la transición de opacidad y escala */
}
#home h1.visible{
  animation: zoomOut 2s forwards; /* Aplica la animación de zoom out */
  opacity: 1; /* Se hace visible */
}
#home h3{
  font-size: 1.3vw;
  font-family: "neue-plak-narrow-regular";
  font-style: normal;
  font-stretch: normal;
  line-height: 1.2;
  letter-spacing: 1.5px;
  margin-bottom: 0;
  color: white;
  margin-top: 1.3vw;
  text-align: left;
  transform: scale(0.8); /* Comienza con zoom out */
  transform-origin: center!important;
  transition: opacity 0.3s ease, transform 0.3s ease; /* Para la transición de opacidad y escala */
}
#home h3.visible{
  animation: fadeInZoom 2s forwards; /* Aplica la animación de zoom out */
  opacity: 1; /* Se hace visible */
}
#home .titulo-con-bandera img{
  height: 5.2vw; /* ajusta tamaño relativo al texto */
  width: auto;
  vertical-align: -0.1em;     /* afina alineación con la línea de base */
  /*margin-left: 0.06em; */
  transform: scale(0.8); /* Comienza con zoom out */
  transform-origin: center!important;
  transition: opacity 0.3s ease, transform 0.3s ease; /* Para la transición de opacidad y escala */
}
#home .titulo-con-bandera{
  animation: fadeInZoom 2s forwards; /* Aplica la animación de zoom out */
  opacity: 1; /* Se hace visible */
}

#home ul{
  display: flex;
  margin: 0;
  padding: 0;
  color: #fff;
  justify-content: center;
  width: 100%;
}
#home ul.m{
  font-size: 1.25vw;
  margin-top:4.25vw;
  margin-bottom:1.5vw;
  letter-spacing: 1px;
  transform: scale(0.8); /* Comienza con zoom out */
  transform-origin: center!important;
  transition: opacity 0.3s ease, transform 0.3s ease; /* Para la transición de opacidad y escala */
}
#home ul.m.visible{
  animation: zoomIn 2s forwards; /* Aplica la animación de zoom out */
  opacity: 1; /* Se hace visible */
}
#home ul li{
  display:flex;
  align-items:center;
}
#home ul li img{
  width: 2vw;
  padding-top: 0.25vw;
  margin-right: 0.5vw;
}
#home ul.m li:nth-child(1){
  margin-right:3.80vw;
}
#home ul li{
  list-style:none;
}
#home .btn-b{  
  color: #ffffff;
  padding: 0.6vw 1.6vw;
  display:inline-block; 
  font-size: 1.1vw!important;
  margin-top: 2.1vw;
  line-height: 1.2;
  transition:all 0.5s;
  border: 1px solid white;
  border-radius: 30px;
  transition: transform 0.2s ease-in-out;
  animation: zoomInOut 4s infinite; 
}
#home .btn-b:hover{      
/*  transition: 0.5s;
  box-shadow: 0 20px 38px rgba(0,0,0,.16)!important;
  -ms-transform: translateY(-3px);
  transform: translateY(-3px);
  -webkit-transform: translateY(-3px);*/
}
.material-symbols-outlined {
  display: inline-block;
  text-align: center;
  vertical-align: middle;
  margin-left: 0.4vw;
  margin-right: 0vw;
  color: #cec182;
  font-variation-settings:
  'FILL' 0,
  'wght' 400,    
  'GRAD' 0,
  'opsz' 48
}

/* Ventajas */
#ventajas{
  padding-top:3.5vw;
  padding-bottom:3.6vw;
  background-color: #000000;
}
#ventajas h2{
  font-size: 2.1vw; 
  font-family: "neue-plak-narrow-bold";
  color: white;
  text-align: center;
  margin-bottom: 3vw; 
  line-height: normal;
  margin-top: 0;
  line-height: 1.2;
  letter-spacing: 0.1vw;
  transform: scale(0.8); /* Comienza con zoom out */
  transform-origin: center!important;
  transition: opacity 0.3s ease, transform 0.3s ease; /* Para la transición de opacidad y escala */
}
#ventajas h2.visible{
  animation: zoomIn 2s forwards; /* Aplica la animación de zoom in */
  opacity: 1; /* Se hace visible */
}
#ventajas .item{
  min-height: 300px;
  text-align:center;
  background-color: white;
  padding: 2.2vw 1vw;
  margin: 0 1.25vw;
  border-radius: 0;
  transition: transform 0.6s;
}
#ventajas h4{
  font-size: 1.2vw; 
  /*color: white;*/
  line-height: 1.23;
  margin-bottom: 0;
  letter-spacing: 0.05vw;
}
#ventajas .vector_box img{
  border-radius: 0;
  border: 0;
  margin: 0 auto 0;
  max-width:4.1vw;
}
#ventajas p{
  font-size: 1vw;
  margin-top: 0.8vw;
  margin-bottom: 0!important;
}

/* Ruta de aprendizaje */

#ruta-aprendizaje{
  padding-top:3.5vw;
  padding-bottom:5vw;
  background-color: #ededed;
}
.ruta-aprendizaje-cont{
  max-width:82vw;
  margin:auto;
}
#ruta-aprendizaje h2{
  font-size: 2.1vw; 
  font-family: "neue-plak-narrow-bold";
  color: #000000;
  text-align: center;
  margin-bottom: 3vw; 
  line-height: normal;
  margin-top: 0;
  line-height: 1.2;
  letter-spacing: 0.1vw;
  transform: scale(0.8); /* Comienza con zoom out */
  transform-origin: center!important;
  transition: opacity 0.3s ease, transform 0.3s ease; /* Para la transición de opacidad y escala */
}
#ruta-aprendizaje h2.visible{
  animation: zoomIn 2s forwards; /* Aplica la animación de zoom in */
  opacity: 1; /* Se hace visible */
}
#ruta-aprendizaje h4{
  font-size: 1.3vw; 
  font-family: "neue-plak-narrow-bold";
  color: #000000;
  margin-top: 0;
  margin-bottom: 0;
}
#ruta-aprendizaje h5{
  font-size: 1.1vw; 
  font-family: "neue-plak-narrow-bold";
  color: #cec182;
  margin-top: 0.4vw;
  margin-bottom: 0;
}
.bloque {
  display: flex;
  margin-bottom: 0!important;
}
.columna-lateral {
  background-color: #000000;
  font-family: "neue-plak-narrow-bold";
  letter-spacing: 0.05vw;
  min-width: 13vw;
  color: white;
  display: flex;
  align-items: center;
  /*writing-mode: vertical-rl;
  transform: rotate(180deg);*/
  padding: 30px;
  text-align: center;
  font-size: 1.3vw;
}
.columna-obligatorio-1 {
  background-color: #ffffff; 
  flex: 1;
  padding: 40px;
  display: flex;
  align-items: center; /* Centra verticalmente */
}
.columna-obligatorio-2 {
  background-color: #cec182; 
  flex: 1;
  padding: 40px;
  display: flex;
  align-items: center; /* Centra verticalmente */
}
.columna-opcional {
  background-color: #ffffff; 
  flex: 1;
  padding: 40px;
  display: flex;
  align-items: center; /* Centra verticalmente */
}
.fila {
  display: flex;
  align-items: center;
}
#ruta-aprendizaje .logo img {
  max-width: 14vw;
  height: auto;
  display: flex;
  align-items: center;
  margin-right: 2.5vw;
}
#ruta-aprendizaje ul {
  color: #000000;
  margin: 0;
  padding-left: 23px;
}
#ruta-aprendizaje ul li {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 1vw;
}
.signo-mas {
  display: flex;
  justify-content: center;   
  align-items: center;     
  margin: 1.1vw 0; 
}
.signo-mas svg {
  width: 3vw;  
  height: 3vw;
  display: block;
}

/* acerca */

#acerca{
  padding-top:3.5vw;
  padding-bottom:3.6vw;
}
.cont{
  max-width:90.05vw;
  margin:auto;
}
.cont-acerca{
  max-width:82vw;
  margin:auto;
}
#acerca h2{
  font-size: 1.6vw; 
  text-align: center;
  margin-bottom: 1.8vw; 
  line-height: normal;
  margin-top: 0;
  line-height: 1.2;
  letter-spacing: normal;
  transform: scale(0.8); /* Comienza con zoom out */
  transform-origin: center!important;
  transition: opacity 0.3s ease, transform 0.3s ease; /* Para la transición de opacidad y escala */
}
#acerca h2.visible{
  animation: zoomIn 2s forwards; /* Aplica la animación de zoom in */
  opacity: 1; /* Se hace visible */
}
#acerca p{
  font-size: 0.95vw;
  font-style: normal;
  font-stretch: normal;
  color: white;
  text-align: left;
  /*transform: scale(0.8); 
  transform-origin: center!important;
  transition: opacity 0.3s ease, transform 0.3s ease;  */
}
/*#acerca p.visible{
  animation: fadeInZoom 2s forwards; 
  opacity: 1; 
} */
a,a:hover{
  text-decoration:none;
}

/* Tabla eventos */

#tabla-eventos{
  padding: 3.6vw 0 5vw;
  margin: auto;
}
.tabla-eventos-cont{
  max-width:82vw;
  margin:auto;
}
#tabla-eventos h2{
  font-size: 2.1vw; 
  font-family: "neue-plak-narrow-bold";
  color: #212322;
  text-align: center;
  margin-bottom: 3vw; 
  line-height: normal;
  margin-top: 0;
  line-height: 1.2;
  letter-spacing: normal;
  transform: scale(0.8); /* Comienza con zoom out */
  transform-origin: center!important;
  transition: opacity 0.3s ease, transform 0.3s ease; /* Para la transición de opacidad y escala */
}
#tabla-eventos h2.visible{
  animation: zoomIn 2s forwards; /* Aplica la animación de zoom in */
  opacity: 1; /* Se hace visible */
}
.ts_botones{
  display: flex;
  gap: 1vw; 
}
.ts_botones img{
  max-height: 1.5vw;
  padding-top: 0.25vw;
  width: auto;
}
.btn_tabulador{
  background-color: #ededed;
  color: #212322;
  border: 0;
  font-size: 1.4vw;
  font-family: "neue-plak-narrow-bold";
  text-transform: uppercase;
  letter-spacing: 0.2px;
  line-height: 1.25;
  text-align: left;
  padding: 1.2vw 1.8vw 1.4vw;
  cursor: pointer;
  flex: 1;
  display: flex;
  align-items: center; /* Alinea verticalmente */
  gap: 0.8vw; /* Espacio entre imagen y texto */
}
.btn_tabulador.active{
  color: #ffffff;
  background-color: #212322;
}
.ts_contenido >div{
  display: none;
}
.ts_contenido >div.active{
  display: flex;  
}
.ts_contenido {
  background-color: #ededed;
  padding: 2.5vw 3vw 3vw;
  margin-top: 1vw;
  display: flex;
  flex-direction: column;
}
.info_general .btn-b{  
  color: #ffffff;
  padding: 0.5vw 1.6vw 0.7vw 1.6vw;
  display: inline-flex; 
  align-items: center;  
  justify-content: center; 
  font-size: 1vw!important;
  margin-top: 2vw;
  border: 1px solid white;
  border-radius: 30px;
  line-height: normal; 
}

/* Hacer que info_general use todo el ancho */
.info_general {
  width: 100%;
}
.info_general h3{
  font-size: 1.45vw;  
  font-style: normal;
  font-stretch: normal;
  line-height: 1.2;
  letter-spacing: 1.25px;
  text-align: left;
  margin-top: 0;
  padding-bottom: 0.8vw;
  border-bottom: 1px solid #000000;
}
.info_general h4{
  font-size: 1.15vw;  
  font-family: neue-plak-narrow-bold;
  font-style: normal;
  font-stretch: normal;
  line-height: 1.2;
  letter-spacing: 1px;
  text-align: left;
  margin-bottom: 0;
}
.info_general p{
  font-size: 1vw;  
}
.info_general ul li{
  font-size: 1vw;  
}
/* Estilos opcionales para los expositores */
.rayas-finales {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
.raya {
  height: 0.4vw;
  width: 100%;
}
.espacio {
  height: 0.4vw;
}
/* form */
#form{
  font-family: "neue-plak-narrow-regular";
  background-color: #f5f5f5;
  padding: 3.6vw 0 5vw;  
}
.cont-form{
  max-width:70vw;
  margin:auto;
}
#form h2{
  font-size: 2.1vw; 
  font-family: "neue-plak-narrow-bold";
  color: #212322;
  text-align: center;
  margin-bottom: 1.4vw; 
  line-height: normal;
  margin-top: 0;
  line-height: 1.2;
  letter-spacing: normal;
  transform: scale(0.8); /* Comienza con zoom out */
  transform-origin: center!important;
  transition: opacity 0.3s ease, transform 0.3s ease; /* Para la transición de opacidad y escala */
}
#form h2.visible{
  animation: zoomIn 2s forwards; /* Aplica la animación de zoom in */
  opacity: 1; /* Se hace visible */
}
#form h4{
  font-family: "neue-plak-narrow-regular";
  font-size: 1vw;  
  margin-bottom: 2.2vw;
  text-align: center;
  font-weight: normal;
  line-height: 1.25!important;
  transform: scale(0.8); /* Comienza con zoom out */
  transform-origin: center!important;
  transition: opacity 0.3s ease, transform 0.3s ease; /* Para la transición de opacidad y escala */
}
#form h4.visible{
  animation: fadeInZoom 2s forwards; /* Aplica la animación de zoom out */
  opacity: 1; /* Se hace visible */
}
#form p{
  font-family: "neue-plak-narrow-regular";
  font-size: 1.1vw;
  line-height: 1.25;
}
#form ul li{
  list-style-type: none; 
}
.inputs-list {
	margin:0;
  padding:0;
  text-align: left;
}
input[type="checkbox"] {
  margin-right: 5px;
  margin-left: 0px;
  position: relative;
  top: 1px;
  box-sizing: border-box;
  padding: 0;
  text-align: left;
}
/*.inputs-list li label span {
  text-align: left;
}*/
.hs-form fieldset{
  max-width:100%!important;
}
.hs-form-required{
  display:none;
}
.hs-input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]){
  font-family: "neue-plak-narrow-regular";
  font-size: 0.9vw;
  padding: 10px;
  width:100% !important;
  max-width:100% !important;
  margin-top: 0.3vw;
  margin-bottom: 10px;
  box-sizing: border-box;
  /*border-radius: 10px;*/
  height:3vw;
}
/*.hs-input[type="checkbox"], .hs-input[type="radio"]{
  padding-top: 25px;
  padding-left: 0;
  margin-left: 0;
}*/
select{
  /*  -webkit-appearance: listitem !important; */
  -webkit-appearance: none;
  font-family: "neue-plak-narrow-regular";
  background-color: white;
  background-image: url("https://cdn2.hubspot.net/hubfs/3814320/drop-down-arrow.png") !important;
  background-position: 97% center !important;
  background-repeat: no-repeat !important;
  background-size: 12px !important;
  display: block;
  margin-top: 0.3vw;
  width: 100%;
  padding: 0px 10px;
  /*border-radius: 10px;*/
  height: 3vw;
}
select:focus {
  font-family: "neue-plak-narrow-regular";
}
#form .hs-button{
  font-family: "neue-plak-narrow-bold";
  color:#ffffff;
  font-size: 1.11vw;
  margin-top: 1vw; 
  line-height: 1vw;
  padding: 13px 38px 18px;
  display:inline-block; 
  cursor: pointer;
  transition:all 0.5s;
  border-radius: 30px;  
}
#form .hs-button:hover{  
  transition: 0.5s;
  box-shadow: 0 20px 38px rgba(0,0,0,.16)!important;
  -ms-transform: translateY(-3px);
  transform: translateY(-3px);
  -webkit-transform: translateY(-3px);
}
#form .hs-error-msg{
  font-size: 0.8vw;
  color: #ea0303;
}
.hs-error-msgs li {
  font-size: 0.8vw!important;
  color: #ea0303!important;
  margin-bottom: 0.5vw!important;
}
.white{
  color: #ffffff;
}
.text-left{
  text-align:left;
}


/* footer */

#footer {
  padding-top:2.5vw;
  padding-bottom:2.5vw;
  background-color: #212322;
}
.cont-footer{
  max-width:90.05vw;
  margin:auto;
}
#footer p{
  margin:0;
}
#footer .flex{
  justify-content:space-between;
}
@media (max-width:1400px) and (min-width:1200px){
  #home{
    padding-top:6vw;
    padding-bottom:6vw;
  }
}
@media (max-width:1199px) and (min-width:1000px){
  #home{
    padding-top:6vw;
    padding-bottom:6vw;
  }
}
@media (max-width:1024px) and (min-width:600px){
  .slider>div{
    max-width:100%;
  }
  .item img {
    margin: auto;
    max-width: 17.41vw;
  }
}
@media (max-width:765px){
  #header{
    /*background:#212322 !important;*/
    padding-top: 22px;
    padding-bottom: 22px;
  } 
  .logo_uc img{ /*izquierda*/
    max-height: 7.9vw;
    width: auto;
  }
  .logo_adicional img{ /*derecha*/
    max-height: 7.9vw;
    width: auto;
  }
  #form .flex{
    display:block;
  } 
  #home {
    padding-top: 25vw;
    padding-bottom: 15vw;
  }
  #home::before {
    background-size: auto 100%!important;
    background-position: center center !important;
  }
  #home h1{
    font-size: 13.5vw;
    line-height: 1.1;
    padding: 0;
  }
  #home h2{
    font-size: 5.6vw;
    padding: 0;
  }
  #home h3{
    font-size: 4.4vw;
    padding: 0;
    margin-top: 4vw;
  }
  #home .titulo-con-bandera{  
    align-items: flex-end;
    gap: 0.4em;
  }
  #home .titulo-con-bandera img{
    height: 1em;
  }
  #home ul{
    /*display:block !important;*/
    flex-wrap: wrap!important;
    justify-content: center;
  }
  #home ul.m img{
    width: 6.5vw;
    margin-right: 2.5vw;
    padding-top: 1vw;
  }
  #home ul.m{
    margin: 8vw auto 7vw!important;
    font-size: 5vw;
    /*padding-left: 10vw!important;*/
    /*padding-right: 20vw!important;  */
  }
  #home ul li{
    margin:1vw 0;
  }
  #home .btn-b{  
    padding:12px 25px 12px;
    display:inline-block;  
    font-size: 4vw!important;
    margin-top: 6vw;
  }
  #ventajas{
    padding-top:12vw;
    padding-bottom:18vw;
  }
  #ventajas .item{   
    min-height: 100px;
    padding: 8vw 6vw 8.5vw;
    margin: 6.5vw 1.25vw auto;
  }
  #ventajas h2{
    font-size: 6.5vw;
  }
  #ventajas h4{
    font-size: 5vw;
    margin-top: 2vw; 
  }
  #ventajas p{
    font-size: 3.8vw;
  }
  #ventajas .vector_box img{
    max-width:18vw;
    margin-bottom: 0; 
  }  
  #ruta-aprendizaje{
    padding-top:12vw;
    padding-bottom:12vw;
  }  
  #ruta-aprendizaje h2{
    font-size: 6.5vw;
    margin-bottom: 9vw; 
  }
  .ruta-aprendizaje-cont{
    max-width:90.05vw;
    margin:auto;
  }
  .columna-lateral {
    display: block;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    padding: 20px;
    font-size: 4vw;
  }
  .fila {
    flex-direction: column; /* Logo arriba, texto abajo */
    align-items: flex-start;
  }
  #ruta-aprendizaje .logo img {
    margin-right: 0;
    margin-bottom: 3vw; /* Espacio entre logo y texto */
    max-width: 40vw; 
  }
  #ruta-aprendizaje .texto {
    width: 100%;
  }
  #ruta-aprendizaje h4{
    font-size: 4.6vw;
    margin-bottom: 2.2vw;
    line-height: 1.1;
  }
  #ruta-aprendizaje h5{
    font-size: 4vw;
    margin-top: 2vw;
    margin-bottom: 0;
  }
  #ruta-aprendizaje ul li{
    font-size: 3.6vw;  
  }
  .columna-obligatorio-1, .columna-obligatorio-2{
    padding: 30px 20px;
  }
  .columna-opcional {
    padding: 30px 20px;
  }
  .signo-mas {
    margin: 3.5vw 0; 
  }
  .signo-mas svg {
    width: 8vw;  
    height: 8vw;
  }
  #tabla-eventos{
    padding-top:12vw;
    padding-bottom:12vw;
  }
  .tabla-eventos-cont{
    max-width:90.05vw;
    margin:auto;
  }
  #tabla-eventos h2{
    font-size: 6.5vw;
    margin-bottom: 9vw; 
  }
   .ts_botones {
    flex-wrap: wrap; /* o overflow-x: auto; */
    gap: 0.5rem;
  }
  .ts_botones img{
    max-height: 5.5vw;
    margin-right: 3vw;
    display: block;
    margin-bottom: 2vw;
  }
  .btn_tabulador{
    font-size: 5vw;
    line-height: 1.1!important;
    padding: 4vw 3vw;
    flex: 1;
    display: block;
    /*align-items: center; /* Alinea verticalmente */*/
    gap: 0.3vw; /* Espacio entre imagen y texto */
  }
  .ts_contenido {
    padding: 7vw 3vw 7vw;
    margin-top: 1vw;
    display: flex;
  }
  .info_general h3{
    font-size: 5.5vw;  
    padding-bottom: 2vw;
  }
  .info_general h4{
    font-size: 4.5vw;  
  }
  .info_general ul li{
    font-size: 4vw;  
  }
  .info_general .btn-b{  
    font-size: 4vw!important;
    margin-top: 4vw;
    margin-bottom: 2vw;
    padding: 2.5vw 5.5vw 3vw 5.5vw!important;
}
  .raya {
    height: 1.7vw;
  }
  .espacio {
    height: 1.7vw;
  }
  #form{
    padding-top:12vw;
    padding-bottom:12vw;
  }
  .cont-form{
    max-width:90.05vw;
  }
  #form h2{
    font-size: 6.5vw;
    margin-bottom: 4vw;
  }
  #form h4{
    font-size: 4vw;
  }
  #form p{
    font-size: 3vw;
  }
  #form .hs-button{   
    width: 100%!important;
    font-size: 4vw;
    margin-top:4vw;
    margin-bottom:6vw;
    padding: 20px 36px 26px;
  }  
  .hs-input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]){
    font-size: 3vw;
    height:10vw;
  }
  input, select, textarea {
    color: #212322; 
  }
  select([type="checkbox"]):not([type="radio"]):not([type="submit"]){
    height:10vw;
  }
  #form .hs-error-msg{
    font-size: 2.5vw;
  }  
  .hs-error-msgs li {
    font-size: 2.5vw!important;
  }
  #footer{
    padding-top:3vw;
    padding-bottom:4.5vw;
  }
  #footer .cont-footer p{
    display: block;
    font-size: 3.5vw;
  }

}