@font-face{
	font-family: "Aldrich-Regular";
	src:url(fonts/Aldrich-Regular.ttf);
	font-weight: normal;
	font-style: normal;
}

@font-face{
	font-family: "BebasNeue";
	src:url(fonts/BebasNeue.otf);
	font-weight: normal;
	font-style: normal;
}

@font-face{
	font-family: "icons";
	src:url(fonts/websymbols-regular-webfont.eot);
	src:url(fonts/websymbols-regular-webfont.eot?#iefix) format('embedded-opentype'),
		url(fonts/websymbols-regular-webfont.woff) format('woff'),
		url(fonts/websymbols-regular-webfont.ttf) format('trueType'),
		url(fonts/websymbols-regular-webfont.svg#WebSymbolsRegular) format('svg');
	font-weight: normal;
	font-style: normal;
}

/*General*/

*{
	margin: 0px;
	padding:0px;
}

body {
    background-image: url("../img/Ge_Ge_Image_23c.jfif");
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    background-attachment: fixed;
}
.wrap{
	width: 1250px;
	margin:0px auto;
}


.icon{
	font-family: "icons";
}

.clearfix{
	float: none;
	clear: both;
}

/*Cabecera logo luishdzm*/

#header{
	width:100%;
	height: 70px;
	background-color: rgba(0,0,0,0.7);
	font-family: "Aldrich-Regular";
	color: #FFFDD0;
	border-bottom: 2px solid #FFFDD0;

}

#logo{
	float:left;
	width: 200px;
	/*background-color: #37bcf9;*/
	text-align: center;
	margin-top: 13px;
	margin-left: 20px;
	letter-spacing: 1px;
	cursor:pointer;
	overflow: hidden;
	transition: all 300ms;
}

#logo h3{
	display: inline-block;
	width: 196px;
	/*float: right;*/
	font-size:35px;
	margin-top: 5px auto 0;
	/*margin-right: 65px;*/
	transition: all 300ms;
}

#logo h3 span{
	display: inline-block;
	overflow:hidden;
	white-space: nowrap;
	position:relative;
}


/*Fin logo luishzm*/

/*menu de secciones*/
#menu{
	float: right;
    height: 68px;
    width: 1000px;
    margin-right: 130px;
    background: transparent;
}


#menu ul li{
	font-size: 13px;
    display: inline-block;
    letter-spacing: 2px;
    line-height: 70px;
    position: relative;
    transition: all 200ms ease-in-out;
}/*este estilo recae en el sub menu*/

#menu ul li a{
	color: #FFFDD0;
	display: inline-block;
	text-decoration: none;
	transform: none;
	transition: color:200ms ease-in-out;
	
}/*este estilo recae en el submenu*/

#menu ul li a span {
    /* margin: 5px 15px; */
    display: inline-block;
    overflow: hidden;
    white-space: nowrap;
    position: relative;
    vertical-align: middle;
    transition: width 0.2s ease;
}

.span1{
	width: 65px;
	margin-right: 15px;
}
.span2{
	width: 62px;
	margin-right: 15px;
}
.span3{
	width: 95px;
	margin-right: 15px;
}
.span4{
	width: 80px;
	margin-right: 15px;
}
.span5{
	width: 115px;
	margin-right: 15px;
}
.span6{
	width: 105px;
	margin-right: 15px;
}
.span7{
	width: 105px;
	margin-right: 15px;
}
.span8{
	width: 65px;
	margin-right: 15px;
}

#menu ul li:hover a span{
	 transform: scale(1.1);
	 color: #37bcf9;
}


/*fin de menu de secciones */

/*eSTILOS SUBMENU*/
#menu ul li .submenu{ /* <-- Aumenta la especificidad */
    list-style: none;
    padding: 0px;
    margin: 0px;
    background-color: rgba(0,0,0);
    position: absolute;
    top: 95%;
    left: 0px;
    min-width: 100%;
    z-index: 1000;
    display: none;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    transform: none !important;
}

/* Selector más específico para los LI del submenú */
#menu ul li .submenu li{ /* <-- Aumenta la especificidad */
    display: block;
    /*line-height: normal;*/ /* Define tu line-height aquí para el submenú si necesitas uno diferente */
    margin: 0;
    font-size: 14px; /* Define tu font-size aquí para el submenú si necesitas uno diferente */
    transform: none !important;
    transition: background-color 0.2s ease;
    cursor: pointer;
    position: relative;
}

/* Selector más específico para los A del submenú */
#menu ul li .submenu li a{ /* <-- Aumenta la especificidad */
    display: block;
    padding: 10px 15px; /* Define tu padding aquí para el submenú */
    color: #FFFDD0;
    text-decoration: none;
    white-space:nowrap;
    height: 100%;
    width: 100%;
    box-sizing: border-box;
}

/* Selectores de hover para el submenú, también con especificidad aumentada */
#menu ul li .submenu li:hover{ /* <-- Aumenta la especificidad */
    background-color: #2a2a2a;
    transform: none !important;
}

#menu ul li .submenu li:hover a{ /* <-- Aumenta la especificidad */
    color: #37bcf9;
    transform: none !important;
}

/* Este ya era específico y controla la visibilidad del submenú completo */
#menu ul li:hover .submenu{
    display: block;
    opacity: 1;
    visibility: visible;
    transform: none !important;
}

/* Nuevo estilo para la sección activa */
#menu ul li.activa {
    background-color: #37bcf9; /* Color de fondo que se mantiene */
}

/* Estilo para el texto dentro de la sección activa */
#menu ul li.activa a span {
    color: #FFFDD0; /* Color del texto cuando la sección está activa */
}


/*Banne sliderr*/
#banner{
	width: 80%;
	height: 100px;
	border:10px solid #FFFDD0;
	box-shadow: 0px 0px 2px gray;
	background: url("../img/Ge_banner.jpg");
	background-position: -200px -200px;
	margin: 20px auto;
	overflow: hidden;
	animation:backBanner 10s linear;
	margin-top: 27px;
}

@keyframes backBanner{
	0%{
		background-position: -200px -200px;
	}
	
	50%{
		background-position: -200px -880px;
	}
	75%{
		background-position: 10px -880px;	
	}
	100%{
		background-position: -200px -200px;
	}
}

#banner h1{
	display: block;
	width: 800px;
	font-family: "Aldrich-Regular";
	color: #FFFDD0;
	font-size: 25px;
	letter-spacing: 2px;
	font-weight: normal;
	margin: 35px auto;
	text-shadow: 2px 2px 1px black;
	animation:showText 10s linear;
	text-align: center;
}

@keyframes showText{
	0%{
		transform: translateX(-600%) scale(5,5);
		opacity: 1;
	}
	50%{
		transform: translateX(600%) scale(5,5);
		opacity: 1;	
	}
	75%{
		transform: translateX(-600%) scale(5,5);
		text-shadow: none;
		color: transparent;
		opacity: 0;
	}
	100%{
		transform: translateX(0%) scale(1,1);
		text-shadow: 2px 2px 1px black;
		color: #FFFDD0;
		opacity: 1;
	}
}

.contenedor-slider-fondo{
	position: relative;
    left: 115px;
    z-index: 0;
    width: 80%;
    height: 170px;
    max-height: 500px;
    overflow: hidden;
    margin-top: 20px;
    /* --- Propiedades de la imagen de fondo --- */
    background-image: url('../img/franjas_blancas.png'); /* ¡La ruta a tu imagen de fondo! */
    background-size: cover; /* Ajusta la imagen para cubrir todo el contenedor sin distorsión, recortando si es necesario */
    background-position: center center; /* Centra la imagen de fondo dentro del contenedor */
    background-repeat: no-repeat; /* Evita que la imagen se repita */

    /* Opcional: Para que la imagen de fondo sea fija mientras el contenido se desplaza */
    /* background-attachment: fixed; */
}
/*Fin de banner slider*/

/*Tarjetas*/
.card-link {
display: block;
text-decoration: none;
color: inherit;
float: left; /* Añade esta línea*/ 
width: 204px; /* Asegúrate de que tenga el mismo ancho que .card */
margin: 20px; /* Mantén el margen */
margin-top: 40px;
}

.card-link:last-child {
margin-right: 0px; /* Mantén este estilo para la última tarjeta */
}

.card {
width: 204px;
height: 305px;
border: 1px solid #ccc;
box-shadow: 1px 1px 2px #ddd;
background: #FFFDD0;
overflow: hidden;
/* Elimina o reduce el margen directamente en .card */
margin: 0;
cursor: pointer;
transition: all 300ms;
}

/*.card{
	float: left;
	width: 204px;
	height: 305px;
	border:1px solid #ccc;
	box-shadow: 1px 1px 2px #ddd;
	background: #FFFDD0;
	overflow: hidden;
	margin: 20px;
	margin-top: 40px;
	cursor: pointer;
	transition: all 300ms;
	
}*/

.card:hover{
	background:#2A2A2A;
}

.card:last-child{
	margin-right: 0px;
}

.card .icon{
	display: block;
	width: 100%;
	height: 130px;
	font-size: 50px;
	line-height: 110px;
	text-align: center;
	margin: 0px auto;	
	transition: all 300ms;
}

.card:hover .icon{
	font-size: 70px;
	color: #37bcf9;
	animation: showIcon 300ms linear;
}

@keyframes showIcon{
	from{
		transform: translateY(-200%);
	}
	to{
		transform:translateY(0%);
	}
}

.card .category{
	width: 100%;
	height: 50px;
	font-family:"Aldrich-Regular";
	font-size: 21px;
	font-weight: bold;
	text-align: center;
	color: #00538c;
	transition: all 300ms;
}

.card:hover .category{
	color:#FFFDD0;
	animation:showCategory 400ms linear;
}

@keyframes showCategory{
	from{
		transform: translateY(-300%);
		color: black;
	}
	to{
		transform: translateY(0%);
		color: #FFFDD0;
	}
}

.card .description{
	font-family:"Aldrich-Regular";
	text-align: center;
	color: #0037b9;
	font-size: 15px;
	transition: all 300ms;
}

.card:hover .description{
	color: #FFFDD0;
	animation:showDescription 400ms linear;
}

@keyframes showDescription{
	from{
		transform: translateX(-300%);
		color: black;
	}
	to{
		transform: translateX(0%);
	}
}

/*Barra lateral*/
#lateral{
	width: 300px;
	min-height: 1200px;
	font-family: "Aldrich-Regular";
	float: right;
	margin: 20px;
}

aside h3{
    display: block;
    width: 250px;
    height: 45px;
    line-height: 49px;
    background: url(../img/pxgray.png), rgba(0,0,0,0.5);
    color: #FFFDD0;
    /* box-shadow: 0px 1px 0px #393d3f, 1px 2px 0px #393d3f, 2px 3px 0px #393d3f, 3px 4px 0px #393d3f; */
    font-size: 20px;
    font-family: "Aldrich-Regular";
    font-weight: normal;
    letter-spacing: 2px;
    padding-left: 15px;
    margin-top: 30px;
    margin-bottom: 15px;
    margin-left: 17px;
    text-align: center;
}

aside h3:first-child{
	margin-top: 20px;
}

/*Estilo del buscador*/

#search{
	width: 90%;
	height: 30px;
	margin: 10px auto;
	background-color: #FFFDD0;
	border:1px solid #ccc;
	border-radius: 5px;
	box-shadow: 1px 0px 4px #ccc inset;
}

/* Estilos para el mensaje de advertencia (no hay resultados) */
.alert.alert-warning {
    /* Fondo oscuro para que combine con el tema principal */
    background-color: #2a2a2a;
    /* Texto en color crema para un contraste suave y elegante */
    color: #FFFDD0;
    padding: 1.5rem; /* Relleno amplio para mayor visibilidad */
    border: 1px solid #FFFDD0; /* Borde sutil en color crema */
    border-radius: 8px; /* Esquinas redondeadas */
    font-size: 1.1rem; /* Fuente un poco más grande para destacar */
}

/* Estilos para el mensaje informativo (introduce una palabra clave) */
.alert.alert-info {
    /* Fondo con el color azul vibrante para un tono informativo y amigable */
    background-color: rgba(55, 188, 249, 0.2); /* Azul semi-transparente para no ser tan agresivo */
    /* Texto en un tono oscuro para un excelente contraste */
    color: #2a2a2a;
    padding: 1rem; /* Relleno estándar */
    border: 1px solid #37bcf9; /* Borde del mismo azul vibrante */
    border-radius: 8px; /* Esquinas redondeadas */
    font-size: 1rem;
}

/* Estilos para el mensaje de éxito (se encontraron resultados) */
/* El .text-center y .mb-4 ya manejan la alineación y el margen inferior */
.text-center.mb-4 {
    /* Color de texto principal para un resultado positivo */
    color: #37bcf9;
    font-size: 1.5rem; /* Fuente grande para un título llamativo */
    font-weight: bold; /* Negrita para mayor énfasis */
    text-transform: uppercase; /* Convertir a mayúsculas para un estilo moderno */
    letter-spacing: 1px; /* Espaciado entre letras */
}

/* Estilos para que el texto se centre */
.text-center {
    text-align: center;
}

/* Estilos para el mensaje de advertencia (no hay resultados) */
.alert.alert-warning {
    /* Fondo oscuro para que combine con el tema principal */
    background-color: #2a2a2a;
    /* Texto en color crema para un contraste suave y elegante */
    color: #FFFDD0;
    padding: 1.5rem; /* Relleno amplio para mayor visibilidad */
    border: 1px solid #FFFDD0; /* Borde sutil en color crema */
    border-radius: 8px; /* Esquinas redondeadas */
    font-size: 1.1rem; /* Fuente un poco más grande para destacar */
}

/* Estilos para el mensaje informativo (introduce una palabra clave) */
.alert.alert-info {
    /* Fondo con el color azul vibrante para un tono informativo y amigable */
    background-color: rgba(55, 188, 249, 0.2); /* Azul semi-transparente para no ser tan agresivo */
    /* Texto en un tono oscuro para un excelente contraste */
    color: #2a2a2a;
    padding: 1rem; /* Relleno estándar */
    border: 1px solid #37bcf9; /* Borde del mismo azul vibrante */
    border-radius: 8px; /* Esquinas redondeadas */
    font-size: 1rem;
}

/* Estilos para el mensaje de éxito (se encontraron resultados) */
/* El .text-center y .mb-4 ya manejan la alineación y el margen inferior */
.text-center.mb-4 {
    /* Color de texto principal para un resultado positivo */
    color: #37bcf9;
    font-size: 1.5rem; /* Fuente grande para un título llamativo */
    font-weight: bold; /* Negrita para mayor énfasis */
    text-transform: uppercase; /* Convertir a mayúsculas para un estilo moderno */
    letter-spacing: 1px; /* Espaciado entre letras */
}

/* Estilos para que el texto se centre */
.text-center {
    text-align: center;
}

/* Estilos para el mensaje de búsqueda de información (ej. "Se encontraron X resultados...") */
.search-info.mb-4 {
    color: #FFFDD0; /* Color crema para el texto, contrastando con el fondo oscuro */
    font-size: 1.25rem; /* Tamaño de fuente notable */
    font-weight: 600; /* Negrita semidura */
    text-align: center; /* Centrar el texto */
    margin-bottom: 1.5rem; /* Equivalente a mb-4 */
}

/* Estilos para el contenedor de opciones de filtro */
.filter-options.mt-3 {
    display: flex; /* Usar Flexbox para alinear los elementos de filtro */
    justify-content: center; /* Centrar los filtros horizontalmente */
    align-items: center; /* Centrar los filtros verticalmente */
    gap: 1rem; /* Espacio entre los elementos de filtro */
    margin-top: 1rem; /* Equivalente a mt-3 */
}

/* Estilos para el mensaje de advertencia (no hay resultados) */
.alert.alert-warning {
    /* Fondo oscuro para que combine con el tema principal */
    background-color: #2a2a2a;
    /* Texto en color crema para un contraste suave y elegante */
    color: #FFFDD0;
    padding: 1.5rem; /* Relleno amplio para mayor visibilidad */
    border: 1px solid #FFFDD0; /* Borde sutil en color crema */
    border-radius: 8px; /* Esquinas redondeadas */
    font-size: 1.1rem; /* Fuente un poco más grande para destacar */
}

/* Estilos para el mensaje informativo (introduce una palabra clave) */
.alert.alert-info {
    /* Fondo con el color azul vibrante para un tono informativo y amigable */
    background-color: rgba(55, 188, 249, 0.2); /* Azul semi-transparente para no ser tan agresivo */
    /* Texto en un tono oscuro para un excelente contraste */
    color: #2a2a2a;
    padding: 1rem; /* Relleno estándar */
    border: 1px solid #37bcf9; /* Borde del mismo azul vibrante */
    border-radius: 8px; /* Esquinas redondeadas */
    font-size: 1rem;
}

/* Estilos para el mensaje de éxito (se encontraron resultados) */
/* El .text-center y .mb-4 ya manejan la alineación y el margen inferior */
.text-center.mb-4 {
    /* Color de texto principal para un resultado positivo */
    color: #37bcf9;
    font-size: 1.5rem; /* Fuente grande para un título llamativo */
    font-weight: bold; /* Negrita para mayor énfasis */
    text-transform: uppercase; /* Convertir a mayúsculas para un estilo moderno */
    letter-spacing: 1px; /* Espaciado entre letras */
}

/* Estilos para que el texto se centre */
.text-center {
    text-align: center;
}

/* Estilos para el mensaje de búsqueda de información (ej. "Se encontraron X resultados...") */
.search-info.mb-4 {
    color: #FFFDD0; /* Color crema para el texto, contrastando con el fondo oscuro */
    font-size: 1.25rem; /* Tamaño de fuente notable */
    font-weight: 600; /* Negrita semidura */
    text-align: center; /* Centrar el texto */
    margin-bottom: 1.5rem; /* Equivalente a mb-4 */
}

/* Estilos para el contenedor de opciones de filtro */
.filter-options.mt-3 {
    display: flex; /* Usar Flexbox para alinear los elementos de filtro */
    justify-content: center; /* Centrar los filtros horizontalmente */
    align-items: center; /* Centrar los filtros verticalmente */
    gap: 1rem; /* Espacio entre los elementos de filtro */
    margin-top: 1rem; /* Equivalente a mt-3 */
}

/* Estilos para los botones de productos y cursos */
.btn.btn-info.btn-sm.product-button,
.btn.btn-info.btn-sm.course-button {
    text-decoration: none;
    color: #FFFDD0; /* Color crema */
    border-radius: 5px;
    background-color: #37bcf9; /* Color azul */
    padding: 5px;
    font-size: 16px;
}

.mb-4{
	
      width: auto; /* O cualquier ancho deseado */
      margin-top: 60px;
      margin-bottom: 20px;
      margin-left: auto;
      margin-right: auto;
    
} 
/*.mb-4 img{
width: 100%;
height: auto;
border-radius: 8px;
}*/
 .mb-4 img {
    width: 100%;
    height: auto;
    border-radius: 8px;
    display: block;
    margin: 0 auto;
    }

.btn-primary{
	text-decoration: none;
    color: #FFFDD0;
    border-radius: 5px;
    background-color: #37bcf9;
    padding: 5px;
    margin-bottom: 15px;
    font-size: 16px;

}

.btn-primary-2{
	text-decoration: none;
    color: #FFFDD0;
    border-radius: 5px;
    background-color: #37bcf9;
    padding: 5px;
    margin-right: 10px;
    margin-bottom: 15px;
    font-size: 16px;
}

.precio-moneda-cursos{
	width: 100%;
    height: 35px;
    text-decoration: none;
    color: #2a2a2a;
    border-radius: 5px;
    background-color: #ffea6d;
    padding: 5px;
    font-size: 16px;
}

.precio-moneda-servicios{
	width: 30%;
    text-decoration: none;
    color: #2a2a2a;
    border-radius: 5px;
    background-color: #ffea6d;
    padding: 5px;
    font-size: 16px;
}

.precio-moneda-productos {
    width: 100%;
    height: 35px;
    text-decoration: none;
    color: #2a2a2a;
    border-radius: 5px;
    background-color: #ffea6d;
    padding: 5px;
    font-size: 16px;
}


#lateral input[type="text"]{
	width: 85%;
	height: 30px;
	border:none;
	padding-left: 5px;
	border-radius: 5px;
	background-color:#FFFDD0;
	color: #ccc; 
	transition: all 300ms;
}

#lateral input[type="text"]:focus,
#lateral input[type="email"]:focus{
	
	color: #555;

}

#lateral input[type="button"],
#lateral input[type="submit"]{
	height: 30px;
	cursor: pointer;
	font-size: 16px;
	background-color: transparent;
	border:none;
	border-left: 1px solid #ccc;
	color: #555;
	padding-left: 6px;
}

.aside-box{
	width: 85%;
	height: 300px;
	margin:0px auto;
	margin-top: 20px;
	padding-top: 2px;
	background: rgba(0,0,0,0.7);
	border:1px solid #FFFDD0;
	/*box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.3), 0px 3px 7px rgba(0, 0, 0, 0.3), 0px 1px white inset, 0px -3px 2px rgba(0, 0, 0, 0.3) inset;*/
}

#login input[type="email"],
#login input[type="text"]{
display: block;
margin:0px auto;
margin-top: 20px;
width: 80%;
height: 30px;
border:1px solid #ccc;
box-shadow: 1px 1px 1px #ccc inset;
border-radius: 5px;
padding-left: 30px;
color: gray;
}

#login input[type="email"]:focus,
#login input[type="text"]:focus{
	color: #555;
	box-shadow: 1px 1px 1px gray inset;

}

#login #email,
#login #usuario{
	text-align: center;
	display: block;
	position: absolute;
	margin-left: 15px;
	margin-top: 6px;
	height: 30px;
}

#login #usuario{
    margin-left: 12px;
    margin-top: 3px;
    font-size: 20px;
}

#login #email{
 
    margin-left: 12px;
    margin-top: 23px;
    font-size: 20px;
}

#login input[type="submit"],
#login button{
	/*display: block;*/
	text-align: center;
	width: 100px;
	height: 35px;
	margin-top: 5px;
	color:#FFFDD0;
    background: linear-gradient(to bottom, #3c3c3c 0%, #3c3c3c 100%);
    border: 3px solid #FFFDD0;
	border-radius: 0px;
	cursor:pointer;
	font-size: 15px;
	font-family: "Aldrich-Regular";
	font-weight: lighter;
	margin-left: 76px;
	margin-bottom: 20px;
	transition: all 300ms;
}

#login input[type="checkbox"]{	
    width: 100px;
    height: 20px;
    margin-top: 15px;
    cursor: pointer;
    margin-left: 75px;
    margin-bottom: 10px;
}

#login input[type="submit"]:hover,
#login input[type="button"]:hover,
#login input[type="reset"]:hover,
#login button:hover{
	box-shadow: 0px 0px 3px gray;
	}

#login a{
	margin-top: 20px;
	display: block;
	font-size: 14px;
	text-decoration: none;
	margin-left: 18px;
	color:#FFFDD0;
	text-align: center;	
}

#login a:hover{
	text-decoration: underline;
	color:#2f78bc;
}

#social{
	height: 70px;
}

#social a{
	display: block;
	color: #333;
	text-decoration: none;
	font-size: 30px;
	margin-left: 20px;
	margin-top:10px;
	margin-bottom: 20px;
	color: #FFFDD0;
}

#social .overlay{
	display: block;
	height: 20px;
	font-family: Aldrich-Regular, helvetica, sans-serif;
	font-weight: bold;
	letter-spacing: 1px;
	text-shadow: 0px 0px 1px #ccc;
	border:3px solid #FFFDD0;
	box-shadow: 0px 0px 4px #ccc;
	background:#f4f7fe;
	position: absolute;
	padding: 5px;
	margin-left: 70px;
	margin-top: -52px;
	cursor: pointer;
	transform:  translateX(-80%);
	opacity: 0;
	transition: all 400ms;
}

#social div:hover .overlay{
	opacity: 1;
	transform: translateX(0%);
}

.contenedor-lateral-fondo{
	z-index: 0;
    height: 80px;
    overflow: hidden;
    margin-top: 20px;
    background-image: url(../img/franjas_blancas.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    /* background-attachment: fixed;
    /* Opcional: Para que la imagen de fondo sea fija mientras el contenido se desplaza */
    /* background-attachment: fixed; */
}

/*FIN BARRA LATERAL*/
.suscribete{
	color: #FFFDD0;
	letter-spacing: 2px;
	font-family: "Aldrich-Regular";
	text-align: center;
}
/*Articulos*/
#articles{
	width: 860px;
	float: left;

}

.contenedor-articulos-fondo{
	background-image: url(../img/franjas_blancas.png);
	height: 120px;
	display: flex;
	/*justify-content: center;*/
	/*display: flex;*/
	align-items: center;
	padding-top: 17px;
}

#articles h2{
	display: block;
	width: 90%;
	height: 75px;
	line-height:75px; 
	text-align: center;
	font-family: "Aldrich-Regular";
	font-size: 40px;
	font-weight: normal;
	letter-spacing: 2px;
	/*background: url('../img/pxgray.png'), white;*/
	background: rgba(0,0,0,0.6);
	color: #FFFDD0;
	/*box-shadow: 0px 1px 0px #393d3f, 1px 2px 0px #393d3f, 2px 3px 0px #393d3f, 3px 4px 0px #393d3f;*/
	margin:0px auto;
	margin-top: 20px;
	margin-bottom: 20px;
}



#articles article{
	width: 97.5%;
	height: auto;
	border:1px solid #ccc;
	margin: 40px auto;
	padding:10px;
	font-family: "Aldrich-Regular";
	background:rgb(42,42,42);
	color:#FFFDD0;
	box-shadow:1px 1px 2px #ddd; 
}

#articles article h4{
	display: block;
	font-size: 23px;
	margin:1px;
}

#articles article h4 a{
text-decoration: none;
color: #37bcf9;
}

#articles article h4 a:hover{
	text-decoration: underline;
}

#articles .data{
	float: right;
	background: rgb(77,77,77);
	color: #FFFDD0;
	height: 30px;
	line-height: 30px;
	margin: 0px;
	padding:4px;
	font-size: 13px;
	border-radius: 0px 0px 0px 5px;
}

#articles .data span{
	margin: 1px;
}

#articles article p{
	margin-top: 10px;
	margin-bottom: 10px;
	font-size: 16px;

	font-family: "Arial", sans-serif; /*  O elige tu fuente preferida */
  	line-height: 1.6; /* Altura de línea para mejor lectura */
  	color: #FFFDD0; /* Color de texto oscuro */
  	text-align: justify; /* Justificado para párrafos largos */
  	margin-bottom: 1em; /* Espacio entre párrafos */
  	padding: 0.5em; /* Espacio interno alrededor del texto */
}

article > a{
text-decoration: none;
    color: #FFFDD0;
    border-radius: 5px;
    background-color: #37bcf9;
    padding: 5px;
    font-size: 16px;

}

#blog{
	text-align: center;
    width: 110px;
    height: 20px;
    border: 1px solid #FFFDD0;
    margin: 5px auto;
    padding: 10px;
    font-family: "Aldrich-Regular";
    background: #2A2A2A;
    color: #FFFDD0;
    transition: all 1s;
}


#blog a{
	display: block;
	font-family: "Aldrich-Regular";
	font-size: 15px;
	letter-spacing: 3px;
	color: #FFFDD0;
	text-decoration: none;
	transition: all 1s;
	margin-top: 1px;
}

#blog:hover{
background-color: #333;
border:5px solid #37bcf9;
border-radius: 240px;
box-shadow: 0px 0px 10px gray;
animation: blink 3s infinite linear;
}

#blog:hover a{
	color: #FFFDD0;
	text-shadow: 1px 1px 1px black, 1px 2px 1px black, 1px 3px 1px black, 1px 4px 1px black, 1px 5px 1px black, 1px 6px 1px black;
}

@keyframes blink{
	0%{
		border:3px solid #37bcf9;
	}
	50%{
		border:3px solid #FFFDD0;
	}
	100%{
		border:3px solid #37bcf9;
	}
}

/*Estilos sobre mi*/
.contenidoPrincipal{
display: flex;
align-items: baseline;
flex-wrap: wrap;
justify-content: center;
}
.perfil img{
margin: 50px;
width: 250px;
border-radius: 250px;
border:4px solid #37bcf9;
}

.sobreMi{
	border: 2px solid #37bcf9;
	background-color: rgba(0,0,0,0.7);
	margin: 10px;
	padding: 30px;
	width: 450px;
}

.sobreMi p{
	text-align: center;
	font-family: "Aldrich-Regular";
	color: #FFFDD0;
	letter-spacing: 2px;
}
/*Fin estilos sobre mi*/

/*Cursos, productos, servicios*/
.contenedor-articulos-fondo{
	background-image: url(../img/franjas_blancas.png);
	height: 120px;
	display: flex;
	/*justify-content: center;*/
	/*display: flex;*/
	align-items: center;
	padding-top: 17px;
}

#productos{
	width: 860px;
	float: left;

}

.contenedor-articulos-fondo{
	background-image: url(../img/franjas_blancas.png);
	height: 120px;
	display: flex;
	/*justify-content: center;*/
	/*display: flex;*/
	align-items: center;
	padding-top: 17px;
}

#productos h2{
	display: block;
	width: 90%;
	height: 75px;
	line-height:75px;
	text-align: center;
	font-family: "Aldrich-Regular";
	font-size: 40px;
	font-weight: normal;
	letter-spacing: 2px;
	/*background: url('../img/pxgray.png'), white;*/
	background: rgba(0,0,0,0.6);
	color: #FFFDD0;
	/*box-shadow: 0px 1px 0px #393d3f, 1px 2px 0px #393d3f, 2px 3px 0px #393d3f, 3px 4px 0px #393d3f;*/
	margin:0px auto;
	margin-top: 20px;
	margin-bottom: 20px;
}

#productos img{
	width: 100%; /* Tamaño de imagen modificado a 200px */
	height: 210px; /* Altura de imagen modificada a 200px */
	border:2px solid #37bcf9; /* Borde azul sólido 2px */
	border-radius: 8px; /* Borde redondeado para la imagen, similar a services */
	margin: 0; /* Elimina margen, el gap del grid lo gestionará */
    grid-column: 1 / 2; /* Coloca la imagen en la primera columna */
    grid-row: 2 / 3; /* Coloca la imagen en la segunda fila (junto al extracto) */
    align-self: start; /* Alinea la imagen al inicio de su celda */
}

#productos article{
	width: 100%;
    height: auto; /* La altura se ajustará al contenido */
    border: 1px solid #ddd; /* Borde más suave, similar a services */
    margin: 40px auto;
    padding: 0; /* Se elimina el padding del article, el div interno lo gestionará */
    font-family: "Aldrich-Regular";
    background: rgb(42,42,42); /* Fondo blanco para el artículo, similar a services */
    color: #FFFDD0; /* Color de texto para el artículo */
    display: block; /* El artículo es un bloque */
    position: relative;
    border-radius: 8px; /* Borde redondeado de 8px, similar a services */
}

#productos article div{
	margin-left: 0; /* Elimina el margen izquierdo, el padding del grid lo gestionará */
    flex-grow: 1; /* Permite que este div ocupe el espacio restante en ancho */
    /* min-height ya no es tan crítico, el grid se ajustará al contenido */
    box-sizing: border-box; /* Incluye padding en el tamaño */
    position: relative; /* Necesario para que los elementos se posicionen dentro de él */

    display: grid; /* Convierte este div en un contenedor de cuadrícula */
    /* Define 2 columnas: auto para la imagen, 1fr para el extracto */
    grid-template-columns: auto 1fr;
    /* Define 3 filas:
       1. auto: para el título y la fecha (se ajusta al contenido)
       2. 1fr: para la imagen y el extracto (ocupa el espacio restante y se expande)
       3. auto: para el botón (se ajusta al contenido) */
    grid-template-rows: auto 1fr auto;
    padding: 10px; /* Padding general dentro del contenedor grid, similar al ejemplo de services */
    gap: 15px; /* Espacio entre los elementos de la cuadrícula, similar al ejemplo de services */
}

#productos article h4{
	display: block;
	font-size: 23px;
	margin: 0; /* Elimina márgenes por defecto */
    grid-column: 1 / span 2; /* Ocupa ambas columnas en la primera fila */
    grid-row: 1 / 2; /* Se coloca en la primera fila */
    align-self: start; /* Alinea al inicio (arriba) de la celda */
    justify-self: start; /* Alinea al inicio (izquierda) de la celda */
    z-index: 10; /* Asegura que esté por encima de otros elementos */
    color: #333; /* Color de texto similar a services */
}

#productos article h4 a{
text-decoration: none;
color: #37bcf9; /* Hereda el color del h4 padre */
}

#productos article h4 a:hover{
	text-decoration: underline;
}

#productos .data{
	background: rgba(77,77,77); /* Restaura el fondo negro */
	color: #FFFDD0; /* Restaura el color de letra blanco */
	height: 30px; /* Restaura la altura compacta */
	line-height: 30px; /* Restaura el line-height para centrar el texto verticalmente */
	margin: 0; /* Elimina márgenes por defecto */
	padding:4px; /* Restaura el padding */
	font-size: 13px; /* Restaura el tamaño de fuente */
	border-radius: 0px 0px 0px 5px; /* Restaura el border-radius */
    grid-column: 2 / 3; /* Se coloca en la segunda columna */
    grid-row: 1 / 2; /* Se coloca en la primera fila */
    align-self: start; /* Alinea al inicio (arriba) de la celda */
    justify-self: end; /* Alinea al final (derecha) de la celda */
    white-space: nowrap; /* Evita que la fecha se rompa en varias líneas */
    z-index: 10; /* Asegura que esté por encima de otros elementos */
}

#productos .data span{
	margin: 0; /* Elimina margen, ya que el padding del .data lo gestiona */
}

#productos article p{
	margin: 0; /* Reinicia los márgenes */
	font-size: 0.95em; /* Tamaño de fuente similar al ejemplo de services */
    font-family: "Aldrich-Regular"; /* Asegura el tipo de letra Aldrich Regular */
    color: #FFFDD0; /* Color de texto más suave, similar al ejemplo de services */
    text-align: left; /* Alinea el texto a la izquierda */
    grid-column: 2 / 3; /* Se coloca en la segunda columna (junto a la imagen) */
    grid-row: 2 / 3; /* Se coloca en la segunda fila (la del extracto y la imagen) */
    overflow: visible; /* Asegura que el texto se envuelva y no aparezca scrollbar */
    max-height: none; /* Permite que el párrafo se expanda verticalmente según el contenido */
    box-sizing: border-box; /* Incluye padding en el tamaño */
    line-height: 1.5; /* Line-height para mejor legibilidad */
}

#productos button{
	border: none; /* Elimina el borde */
    background-color: #37bcf9; /* Color de fondo similar al ejemplo de services */
    color: #FFFDD0; /* Letras blancas para el botón */
    font-size: 16px;
    margin: 0; /* Elimina márgenes por defecto */
    padding: 8px 15px; /* Padding similar al ejemplo de services */
    width: auto; /* Ancho automático */
    height: auto; /* Altura automática */
    font-family: "Aldrich-Regular";
    grid-column: 2 / 3; /* Se coloca en la segunda columna */
    grid-row: 3 / 4; /* Se coloca en la tercera fila */
    align-self: end; /* Alinea al final (abajo) de la celda */
    justify-self: end; /* Alinea al final (derecha) de la celda */
    border-radius: 5px; /* Borde redondeado similar al ejemplo de services */
    text-decoration: none; /* Elimina subrayado */
    display: inline-block; /* Comportamiento de bloque en línea */
    z-index: 10;
   
}

#productos button:hover{
	cursor: pointer;
}

/*Fin cursos, productos, sevicios*/

/* Estilos para el contenedor de la cuadrícula de servicios */
.services-grid {
    /* Puedes añadir aquí estilos para la cuadrícula si necesitas un layout de múltiples columnas */
    /* Por ejemplo:
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 30px;
    */
}

/* Estilos para cada artículo de servicio (la tarjeta individual) */
.service-card {
    border: 1px solid #ddd;
    padding: 15px;
    border-radius: 8px;
    background-color: #FFFDD0;
    margin-bottom: 30px; /* Margen inferior entre tarjetas */
    display: flex;
    flex-direction: column; /* Apila los elementos internos verticalmente */
}

/* Estilos para el encabezado de la tarjeta (título y fecha) */
.service-card-header {
    display: flex;
    justify-content: space-between; /* Espacia el título y la fecha */
    align-items: center; /* Alinea verticalmente el título y la fecha */
    margin-bottom: 10px;
}

/* Estilos para el título del servicio */
.service-card-title {
    margin: 0; /* Elimina márgenes por defecto */
    flex-grow: 1; /* Permite que el título ocupe el espacio disponible */
}

/* Estilos para el enlace del título del servicio */
.service-card-title-link {
    color: #333; /* Color de texto oscuro */
    text-decoration: none; /* Sin subrayado */
}

.service-card-title-link:hover {
    text-decoration: underline; /* Subrayado al pasar el ratón */
}

/* Estilos para la fecha del servicio (basado en la clase 'data' existente) */
.service-card-date {
    font-size: 0.85em; /* Tamaño de fuente más pequeño */
    color: #777; /* Color de texto gris */
    white-space: nowrap; /* Evita que el texto de la fecha se rompa en varias líneas */
}

/* Estilos para el contenido principal de la tarjeta (imagen y extracto) */
.service-card-content {
    display: flex; /* Usa flexbox para alinear imagen y extracto horizontalmente */
    align-items: flex-start; /* Alinea la imagen y el texto al inicio (arriba) */
    gap: 15px; /* Espacio entre la imagen y el extracto */
    margin-bottom: 15px;
    flex-grow: 1; /* Permite que este contenedor ocupe el espacio restante verticalmente */
}

/* Estilos para el contenedor de la imagen del servicio */
.service-card-image-wrapper {
    flex: 0 0 25%; /* No crece, no se encoge, base del 25% del ancho del contenedor padre */
    max-width: 25%; /* Asegura que no exceda el 25% del ancho */
}

/* Estilos para la imagen real del servicio */
.service-card-image {
    width: 100%; /* La imagen ocupa el 100% de su contenedor (service-card-image-wrapper) */
    height: auto; /* Altura automática para mantener la proporción */
    border-radius: 8px; /* Esquinas redondeadas para la imagen */
    border:2px solid #37bcf9;
}

/* Estilos para el extracto del servicio */
.service-card-extract {
    margin: 0; /* Elimina márgenes por defecto */
    flex: 1; /* Permite que el párrafo ocupe el espacio restante horizontalmente */
    font-size: 0.95em;
    color: #FFFDD0; /* Color de texto gris más oscuro */
    line-height: 1.5; /* Espaciado entre líneas para mejor legibilidad */
}

/* Estilos para el pie de página de la tarjeta (contiene el botón) */
.service-card-footer {
    text-align: right; /* Alinea el contenido (el botón) a la derecha */
    margin-top: auto; /* Empuja el footer hacia abajo si hay espacio disponible */
}

/* Estilos para el botón "Ver Detalles" */
.service-card-button {
    background-color: #37bcf9; /* Color de fondo azul verdoso */
    border-color: #37bcf9; /* Borde del mismo color */
    color: #FFFDD0; /* Texto blanco */
    padding: 8px 15px; /* Relleno interno */
    border-radius: 5px; /* Esquinas redondeadas */
    text-decoration: none; /* Sin subrayado */
    display: inline-block; /* Se comporta como un bloque pero en línea con el texto */
}





/*Formulario contacto*/
.contenidoPrincipal form{
	width: 500px;
    margin: 60px;
    padding: 40px;
    border: 2px solid #39bcf9;
    background: rgb(42, 42, 42);
    border-radius: 20px;
}

.Nombre,.Correo,.Mensaje, .Asunto{
 	display: block;
    margin-bottom: 5px;
    font-weight: bold;
    font-size: 15px;
    color: #FFFDD0;
    font-family: "Aldrich-Regular";
    letter-spacing: 2px;
}

#contacto_nombre,
#contacto_email,
#contacto_mensaje,
#contacto_asunto {
  width: 100%;
  padding: 10px;
  margin-bottom: 15px;
  border: 1px solid #ddd;
  border-radius: 4px;
  box-sizing: border-box; /* Evita que el padding afecte el ancho total */

}

#mensaje{
	height: 200px;
	margin-bottom: 50px;
}


.contenidoPrincipal form button[type="submit"] {
  background-color:#37bcf9;
  font-family: "Aldrich-Regular";
  color: #FFFDD0;
  padding: 12px 20px;
  border-radius: 5px;
  cursor: pointer;
  width: 25%;
}

.contenidoPrincipal form button{
	display: block;
  margin: 0 auto;
}

.contenidoPrincipal form button[type="submit"]:hover {
  background-color: #17a2d8;
  color: black;
  transition: 0.5s ease;
  font-family: "Aldrich-Regular";
  border-radius: 5px;
}

/*Fin formulario contacto*/

/* Estilos para el Modal de Advertencia Personalizado (JS Puro) */
.custom-modal-overlay {
    position: fixed; /* Mantiene el overlay fijo en la ventana */
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5); /* Fondo oscuro semitransparente */
    display: none; /* Oculto por defecto, JS lo muestra */
    z-index: 1050; /* Z-index alto para que esté por encima de todo */
    justify-content: center; /* Centra horizontalmente el contenido del modal */
    align-items: center;   /* Centra verticalmente el contenido del modal */
}

.custom-modal-content {
    background-color: #f9f9f9; /* Fondo ligeramente gris para la caja del mensaje */
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    position: relative; /* Cambiado a relative para que no se posicione de forma absoluta */
    border: 1px solid #e0e0e0; /* Borde gris sutil */
    box-sizing: border-box; /* Asegura que el padding y el borde se incluyan en el ancho */
    width: 90%; /* Ancho responsivo */
    max-width: 500px; /* Ancho máximo */
}

.custom-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 15px;
    margin-bottom: 15px;
    border-bottom: 1px solid #e0e0e0; /* Línea gris debajo del header */
}

.custom-modal-title {
    margin: 0;
    font-size: 1.25rem; /* Tamaño de fuente para el título */
    color: #333;
}

.custom-close-button {
    background: none;
    border: none;
    font-size: 1.5rem;
    cursor: pointer;
    color: #aaa;
    line-height: 1;
    padding: 0;
}

.custom-close-button:hover {
    color: #666;
}

.custom-modal-body {
    padding-bottom: 20px;
    color: #555;
    line-height: 1.5;
}

.custom-modal-footer {
    display: flex;
    justify-content: flex-end; /* Alinea los botones a la derecha */
    gap: 10px; /* Espacio entre botones */
    padding-top: 15px;
    border-top: 1px solid #e0e0e0; /* Línea gris encima del footer */
}

/* Estilos para los botones del modal */
.custom-btn {
    padding: 10px 20px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-size: 1rem;
    text-decoration: none; /* Para el botón Continuar que es un <a> */
    display: inline-block; /* Asegura que el <a> se comporte como botón */
    text-align: center;
    white-space: nowrap;
}

.custom-cancel-btn {
    background-color: #dc3545; /* Rojo */
    color: #FFFDD0;
    transition: background-color 0.3s ease;
}

.custom-cancel-btn:hover {
    background-color: #c82333;
}

.custom-continue-btn {
    background-color: #39bcf9; /* Azul claro */
    color:#FFFDD0;
    transition: background-color 0.3s ease;
}

.custom-continue-btn:hover {
    background-color: #00a0e9; /* Un poco más oscuro al pasar el ratón */
}


/* Estilos para el contenedor de la paginación */
#paginacion {
    margin-top: 2rem; /* Mantener tu margen superior */
}

/* Alineación y espaciado de los elementos de la lista */
.pagination {
    display: flex;
    justify-content: center;
    list-style: none; /* Quitar los puntos de la lista */
    padding: 0;
    margin: 20px;
}

/* Estilos para cada elemento de la paginación (cuadrado) */
.page-item {
    margin: 0 5px; /* Espacio entre los cuadrados */
}

/* Estilos generales para los enlaces de la paginación */
.page-link {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 40px; /* Ancho para que sea un cuadrado */
    height: 40px; /* Alto para que sea un cuadrado */
    background-color: #000;
    border: 1px solid #FFFDD0;
    color: #fff;
    text-decoration: none;
    font-size: 1rem;
    transition: background-color 0.3s, color 0.3s;
}

/* Estilo para los elementos activos (página actual) */
.page-item.active .page-link {
    background-color: #FFFDD0; /* Invertir colores para el activo */
    color: #000;
}

/* Estilo para el hover en los enlaces */
.page-link:hover {
    background-color: #333;
}

/* Estilo para los botones deshabilitados */
.page-item.disabled .page-link {
    opacity: 0.5;
    cursor: not-allowed;
}

/* Ocultar los símbolos HTML por defecto */
.page-link span {
    display: none;
}

/* Estilos para el botón "Anterior" con un triángulo hacia la izquierda */
.page-link[aria-label="Previous"]::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-right: 6px solid #FFFDD0;
    transform: translateX(-1px); /* Ajuste visual para el centro */
}

/* Estilos para el botón "Siguiente" con un triángulo hacia la derecha */
.page-link[aria-label="Next"]::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-left: 6px solid #FFFDD0;
    transform: translateX(1px); /* Ajuste visual para el centro */
}

/*Estilo de los avisos*/
#global-aviso{
	width:65%;
	margin:0px auto;
	margin-top:30px;
	padding:20px;
	background:#fafafa;
	/*background:#f5f3f0;*/
	box-shadow: 1px 1px 10px gray;
}

#acordeon{
	margin-top:1px;
	font-size: 16px;
	font-family: Aldrich;
}
/*Fin de los estilos de los avisos*/


/*Footer*/

#footer{
	width: 100%;
	height: 60px;
	background: rgba(0,0,0,0.6);
	color: #FFFDD0;
	overflow: hidden;
	border-top: 2px solid #FFFDD0;
	display: flex;
    justify-content: center;
    margin: 0px;
	padding: 0px;
}

#footer p{
    font-family: "Aldrich-Regular";
    text-align: center;
	font-size: 15px;
	letter-spacing: 2px;
	margin-top: 20px;
}

/*----------------------SUBIR-----------------------*/

.subir{
	color:white;
	text-decoration: none;
	cursor:pointer;

}

/*-----------Papadea--------------*/
.parpadea {
  
  animation-name: parpadeo;
  animation-duration: 1s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;

  -webkit-animation-name:parpadeo;
  -webkit-animation-duration: 1s;
  -webkit-animation-timing-function: linear;
  -webkit-animation-iteration-count: infinite;
}

@-moz-keyframes parpadeo{  
  0% { opacity: 1.0; }
  50% { opacity: 0.0; }
  100% { opacity: 1.0; }
}

@-webkit-keyframes parpadeo {  
  0% { opacity: 1.0; }
  50% { opacity: 0.0; }
   100% { opacity: 1.0; }
}

@keyframes parpadeo {  
  0% { opacity: 1.0; }
   50% { opacity: 0.0; }
  100% { opacity: 1.0; }
}
/*------------fin parpadeo-----------------*/


}