@import url('https://fonts.googleapis.com/css2?family=Geom:ital,wght@0,300..900;1,300..900&display=swap');

.geom-<uniquifier> {
  font-family: "Geom", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}

*{
	box-sizing:border-box;
}

body{
	margin:0;	
    font-family: "Geom", sans-serif;
	font-size:16px;
}
 /*------------------- Estilos header ------------------- */
.logo{	
	width: 90%;
	max-width:300px;
	z-index: 1000;
}


.container{
	width:70%;
	margin:auto;
	}
.container--flex{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	align-items: center;
}

	

.header .contenedor2{
	display:flex;
	justify-content: center;
	background:#D90000;

}

#hero{
	min-height:80vh;
	position:relative;
}

video{
	position:absolute;;
	left:0;
	width:100%;
	height:100%;
	object-fit: cover;	
}
.fondo_blanco{		
	background-image: linear-gradient(to bottom, rgba(255,255,255,1), rgba(255,255,255,0));
}
.capa{	
	position:absolute;
	top:30%;
	left:50%;
	transform: translateX(-50%) translateY(-50%);
	width:100%;
	color:#000;
	text-align:center;
}
	
.slogan{
	justify-content:center;
}
.banner_titulo{ 
	font-size:20px;
	font-weight:800;
	margin-top:150px;
}	


.sloganbotones{
	display:flex;
	 flex-direction: column;
  align-items: center;
}
.boton{	
	width:70%;
	background:rgba(255,255,255,0.90);
	color:#000;	
	font-size:20px;
	padding:15px;
	margin:5px;
	cursor: pointer;
	border: solid 1 px #CCC;	
	text-decoration:none;
}

.borde1
{	border-radius:50px;}
.borde2
{	border-radius:10px;}
.borde3
{	border-radius:10px;}

.boton:hover{	
	background:rgba(000,000,000,0.90);
	color:#FFF;
}

/*--------------------------Estilos Letras-----------------------*/

.letras {
  display:inline-block;
  overflow:hidden;
  white-space:nowrap;
  font-size:24px;
  font-weight:bold;
  text-shadow: 2px 2px 4px #FFF;
}

.letras2 {
  font-size:14px;
  font-weight: bold;
  margin-left:-30px;
}
.letras:first-of-type {    /* For increasing performance 
                       ID/Class should've been used. 
                       For a small demo 
                       it's okaish for now */
  animation: showup 7s infinite;
}
.letras:last-of-type {
  width:0px;
  animation: reveal 7s infinite;
}
.letras:last-of-type span {
  margin-left:-300px;
  animation: slidein 7s infinite;
}
/*************************************/

.letras3 {
  display:inline-block;
  overflow:hidden;
  white-space:nowrap;
  font-size:18px;
  font-weight:bold;opacity:0;
  text-shadow: 2px 2px 4px #FFF;
}

.letras4 {
  font-size:12px;
  font-weight: 500;
}
.letras3:first-of-type {    /* For increasing performance 
                       ID/Class should've been used. 
                       For a small demo 
                       it's okaish for now */
  animation: showup 7s infinite;
  animation-delay: 1s;
}

.letras3:last-of-type {
  width:0px;
  animation: reveal 7s infinite;
  animation-delay: 1s;
}

.letras3:last-of-type span {
  margin-left:-30px;
  animation: slidein 7s infinite;
  animation-delay: 1s;
}


@keyframes showup {
    0% {opacity:0;}
    20% {opacity:1;}
    80% {opacity:1;}
    100% {opacity:0;}
}

@keyframes slidein {
    0% { margin-left:-100px; }
    20% { margin-left:-100px;  }
    35% { margin-left:0px; }
    100% { margin-left:0px;  }
}

@keyframes reveal {
    0% {opacity:0;width:0px;}
    20% {opacity:1;width:0px;}
    30% {width:170px;}
    80% {opacity:1;}
    100% {opacity:0;width:170px;}
}


/* ------------------- Estilos del Menu ------------------- */

.main-nav{
	width:100%;
	position:relative;
	z-index:2000;
	/*padding:10px;	*/
	background:#FFF;/*#E0D0B1;*/
	border-bottom: 3px solid #EEE;

}

.icon-menu{
	display:block;
	margin-top:20px;
	color:#FFF;
	border: 1px solid #FFF;
	border-radius:3px;
	width:40px;
	height:40px;
	line-height:45px;
	text-align:center;
	cursor:pointer;
	font-size:1.5em;}
	

.menu{
	position:absolute;
	color:#000;
	top:0;
	left: 0;
	width:100%;
	background:#FFF;/*#E0D0B1;*/
	padding:0;
	margin:0;
	list-style:none;
	text-align:center;
	height:0;
	overflow:hidden;
	transition: height .3s 	linear;
}


.menu__link{
	display:block;
	padding:15px;
	color:#000;
	text-decoration:none;
}

.menu__link:hover{
	background:#D90000;
	color:#FFF;}

.menu__link--select{
	background:#E0D0B1; 
	color:#000;}


.mostrar {
	height: 220px;}
	
	
	
.menu_boton{
	display:block;
	padding:15px;
	color:#FFF;/*#E0D0B1;*/
	text-decoration:none;
}


/* ------------------- Estilos Generales ------------------- */

.derecha{	text-align:right; }
.centrado{	text-align: center; }
.izquierda{	text-align: left; }

.margenes{	margin:10px;}
.espacios{ padding: 10px;}
.margen-izq{
	margin-left:100px;
	margin-top:50px;}
.rojo{		
	font-size:16px;
	color:#D90000; /*#BF0000rojo*/
}
.gris{ color:#CCC;}
.blanco{ color:#FFF;}
.amarillo{ color:#FFF500;}
.azul{ color: #466FAA;}

.negrita{ 
	font-weight:bold;}
.iconchico{ 
	font-size:16px;}
.icongrande{ 
	font-size:16px;}
.mayuscula{
	text-transform:uppercase;}
	
.caja_gris{		
	background:rgba(FFF,FFF,FFF,0.70);
	color:#000;
	border-radius:10px;
	padding:5px;
	margin-top:-150px;
	}
	
.barra_amarilla{
	border-bottom:rgb(240,225,47) 3px solid;
	}	

.enlaceblanco:link,.enlaceblanco:visited ,.enlaceblanco:active {
	color:#FFF; 
	font-weight:bold;
	text-decoration: none;
}
.enlaceblanco:hover {
	color: #FF0;
	font-weight:bold;
}	
.enlaceazul:link,.enlaceazul:visited ,.enlaceazul:active {
	color:#466FAA; 
	font-weight:bold;
	text-decoration: none;
}
.enlaceazul:hover {
	color: #000;
	font-weight:bold;
}	
.enlacerojo:link,.enlacerojo:visited ,.enlacerojo:active {
	color:#BF0000; 
	font-weight:bold;
	text-decoration: none;
}
.enlacerojo:hover {
	color: #000;
	font-weight:bold;
}	
/* ------------------- Estilos Secciones ------------------- */
/*#nosotros{
	padding: 10px;
	width:100%;
	background-image: linear-gradient(to right, rgba(255,255,255,0), rgba(200,200,200,1));

}*/
.contenedorcentro{
	display:flex;
	justify-content:center;
}
.centro{
	width:100%;
	max-width: 1200px;
	display:flex;
	justify-content: center;
	flex-wrap:wrap;
	}

.contenido {
	max-width: 100%;
	padding:5px;
}

.titulo{ font-size:18px;
padding:5px;}

.boton-sub{	
	color:#333;	
	cursor: pointer;
	text-align:	center;
	border: none;
	text-decoration:none;
}
.boton-sub:hover{
	font-weight:bold;	
	color:#000;
	border-bottom:#000 3px solid;
}
.filtros{
	margin:1px;
}

.borde1
{	
  padding: 18px 36px;
  display: inline-block;
  letter-spacing: 1px;
  cursor: pointer;
  box-shadow: inset 0 0 0 0 #FFF;
  -webkit-transition: ease-out 0.4s;
  -moz-transition: ease-out 0.4s;
  transition: ease-out 0.4s;
}




/*--------------------Estilos de Resultados-------------------*/

.container_resultados{
	margin-top: -50px;
	}

.contenido_resultados{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	width:100%;
	max-width:1700px;
	padding: 50px 0;
}

	
	/**/
.cursos_descripcion{
	position:relative;
	top:50px;
	left:10px;
	color:#000;
	background:	rgba(255,255,255,0.7);
	border-radius:10px;
	padding:10px;
	font-size:14px;
	}
	
	/**/
	

.foto_thumb{
	width:180px;
	height:100px;
	object-fit:cover;
	display: inline;
	
}

.caracteristicas_grupo{
	display:flex;
	color: #333 ;
	flex-wrap: wrap;
	justify-content: left;
	width:100%;
	background:#FFF;
}
.caracteristica{
	margin:1px;
	width:32%;
	text-align:center;
	background-image: linear-gradient(to top right, rgba(220,220,220,0.5), rgba(255,255,255,1));
}
.caracteristica4{
	padding: 2px;
	margin:1px;
	width:33%;
	text-align:center;
	border-left:#CCC 2px solid;
}
.caracteristica4a{
	padding: 2px;
	margin:1px;
	width:30%;
	text-align:center;
	border-left:#CCC 2px solid;
	border-right:#CCC 2px solid;
}

.letragrande{
	font-size:28px;
	font-weight:bold;}

.letrachica{
	font-size:12px;}
	
.letragrande4{
	font-size:14px;
	font-weight:bold;}

.letrachica4{
	font-size:10px;}
	
.espaciosresultado{ padding: 0 5px;}

.cajaresultado{	
	margin: 0 5px 20px 5px;
	max-width:180px;
/*	border-bottom: #CCC solid 2px;
	border-radius:50px;


  border-image: linear-gradient(to right, #ccc 0%, #fff 100%) 1;
  border-width: 1px;
  padding: 5px;
	border-left: #CCC solid 1px;
		
box-shadow: 2px 2px 10px 5px rgba(0, 0, 0, 0.2);*/
	}



/*--------------------Estilos de Novedades-------------------*/
#novedades{
	margin:0;
	color:#FFF;
	background:#D90000;
	text-align:center;
}
#novedades article{
	margin: 0 10px 0 10px;
	width:90%;
}	

#novedades .contenedor_seccion{
	flex-wrap: column;
	}

#novedades .recuadro{
	width:100%;
	border:1px solid #FFF;
	margin:20px;
	padding: 10px;
	height: 100%;
}



/*--------------------Estilos de Areas-------------------*/
#areas{
	margin:0;
	text-align:center;
}
#areas article{
	margin: 0 10px 0 10px;
	width:23%;
}	
.fotoprop{
	width: 100%;
	height: 200px;
	object-fit: cover;
	border-radius:5px;
	z-index:-1000;
}

#areas .contenedor_areas{
	display:flex;
	justify-content: center;
	flex-wrap:wrap;}
	
.detalle_areas{
background-image: linear-gradient(to top, rgba(255,255,255,0), rgba(164,175,180,0.5));
}

#areas .recuadro{
	width:90%;
}

/*--------------------Estilos de Servicios-------------------*/

#blog .contenedor_seccion{
	flex-wrap: column;
	height: 100%;
}

	
#blog article{
	margin: 20px;
	width:90%;
}	

#blog .recuadro{
	width:300px;
	border-radius:100%;
	background:#FFF;
	margin:10px;
	height: 300px;
}

.fotoquienes{
	width:300px;
	border: 5px solid #FFF;
	border-radius:100%;
	background:#FFF;
	margin:10px;
	height: 300px;
}
	
.servicios{
	position:relative;	
	margin-top:-100px;
	z-index:2000;
	background-image: linear-gradient(to bottom, rgba(255,255,255,0), rgba(164,175,180,0.5));
	
}
.empresa{
	left: 50%;
	background-image: linear-gradient(to bottom, rgba(255,255,255,0), rgba(200,200,200,1));
}

.redondo{margin-top:-50px;
    border-radius: 50%;
	padding:15px;
	background-color:#FFF;
 /*   border-radius: 50%;
	border: solid 20px #0A0B0C;*/}
	
.material-symbols-outlined { 
  font-variation-settings:
  'FILL' 0,
  'wght' 500,
  'GRAD' 200,
  'opsz' 48
}
.material{
  font-size:50px;
}

.pulse {
  animation: pulse 3s infinite;
}

@keyframes pulse {
  0% {
    font-variation-settings: 'wght' 100;
  }
  50% {
    font-variation-settings: 'wght' 700;
  }
  100% {
    font-variation-settings: 'wght' 100;
  }
}

/***************************Estillos de pie**********************/
.footer{
	background: #D90000;
	color: #FFF;
	padding:10px;
	text-align:center;
	background-image:url(imagenes/fondopie.jpg);
	background-size:cover;	
	}
	
.footer .social [class^="icon-"]
{
	display:inline-block;
	color:#FFF500;
	text-decoration:none;
	font-size:30px;
	padding:10px;
	background:white;
	border-radius: 50%;
	width:50px;
	height:50px;
	line-height:40px;
}
.copy{	font-size:14px;}

/* ------------------- Estilos responsive------------------- */



@media screen and (min-width: 580px){
.letras { font-size:40px;}
.letras2 { font-size:20px;}
.letras3 { font-size:28px;}
.letras4 { font-size:20px;}
@keyframes reveal {
    0% {opacity:0;width:0px;}
    20% {opacity:1;width:0px;}
    30% {width:255px;}
    80% {opacity:1;}
    100% {opacity:0;width:255px;}
}

}



@media screen and (min-width: 630px){
	
.cajaresultado{	width:33%;
	max-width:200px;}
	
.margen-izq{ margin-left:250px;}

.letragrande4{
	font-size:24px;
	font-weight:bold;}

.letrachica4{
	font-size:14px;}
		


.banner_titulo{ font-size:30px;}

.sloganbotones{
	display:flex;
	justify-content:center;
	 flex-direction: row;
}

.boton{	
	width:30%;
	color:#000;	
	font-size:24px;
	padding:20px;
	margin:0px;
	cursor: pointer;
	border: solid 1 px #CCC;	
	text-decoration:none;
}
#areas .recuadro{
	width:30%;
}
#blog article{
		margin: 10px; 
		width:45%;}	
}

@media screen and (min-width: 780px){
.letras { font-size:60px;}
.letras2 { font-size:30px;}
.letras3 { font-size:38px;}
.letras4 { font-size:30px;}
@keyframes reveal {
    0% {opacity:0;width:0px;}
    20% {opacity:1;width:0px;}
    30% {width:355px;}
    80% {opacity:1;}
    100% {opacity:0;width:355px;}
}


}



@media screen and (min-width: 850px){


.letragrande4{
		font-size:28px;
		font-weight:bold;}
	
.letrachica4{
		font-size:18px;}
		
.banner_titulo{ 
	font-size:40px;
	margin-top:120px;
}	
.material{
  font-size:100px;
}

.boton{	
	width:30%;
	color:#000;	
	font-size:30px;
	padding:20px;
	margin:0px;
	cursor: pointer;
	border: 1px #000;
	text-decoration:none;

}

}


@media screen and (min-width: 950px){
.titulo{ font-size:26px;
padding:10px;}
.barra_amarilla{border-bottom:rgb(240,225,47) 6px solid;	}	


.main-nav{
		padding:0 10px 0 0 ;
	}
.icon-menu{	display:none;}
	
.menu{
	position:static;
	display:flex;
	height:auto;
	width:auto;}
	
.contenido {
	max-width: 50%;
	padding:20px;
}

#quienes .contenedor_quienes
{	display:flex;
	justify-content: center;
	flex-wrap:wrap;
	align-content: center;

	width:100%;
	max-width: 1500px;
	}

	
#blog .contenedor_seccion{
	display:flex;
	justify-content: center;
	flex-wrap:wrap;
	align-content: center;
	}	
#novedades .contenedor_seccion{
	display:flex;
	justify-content: center;
	flex-wrap:wrap;
	align-content: center;
	}
#novedades article{
	margin:0 10px 0 10px;;
	width:30%;
}


}


@media screen and (min-width: 1080px){
	.titulo{ font-size:30px; padding:10px;}
	.barra_amarilla{border-bottom:rgb(240,225,47) 10px solid;	}	
	.cajaresultado{	width:24%;}
	.filtros{margin:10px;}
	.banner_titulo{ 
		font-size:50px;
		font-weight:800;
		margin-top:100px;
	}	
	#blog  article{
	margin: 0 10px 0 10px;
	width:35%;
}

}

@media screen and (min-width: 1280px){
#blog
{ max-width: 1400px; }

	.titulo{ font-size:34px; padding:10px;}
	
	.boton{	
		width:20%;
		color:#000;	
		font-size:36px;
		padding:20px;
		margin:0px;
		cursor: pointer;
		border: solid 1 px #CCC;	
		text-decoration:none;
	}
		#blog  article{
	margin: 0 10px 0 10px;
	width:23%;
}

}