#login {
	background: #0077B2;
	min-height: 100%;
	display: flex;
    justify-content: center;
    align-items: center;
    margin: 0;
}

.ancho-100 {
	height: 100vh;
	display: flex;
    justify-content: center;
    align-items: center;
}

.c-bl {
	color: #fff;
}

.c-az {
	color: #0077B2;
}

.c-ve {
	color: #16A38B;
}

#btn_login {
	width: 100%;
	padding: 12px;
	background: #16A38B;
	border: none;
	border-radius: 25px;
	color: #fff;
	font-size: 1rem;
	cursor: pointer;
	font-weight: bold;
}

#btn_login:hover {
	background: #9AA8AD;
}

.input-groupLogin {
	position: relative;
	margin-bottom: 20px;
}

.input-groupLogin input {
	width: 100%;
	padding: 12px 40px;
	border-radius: 25px !important;
	border: none;
	outline: none;
	font-size: 1rem;
}

.input-groupLogin label {
	display: block;
	text-align: left;
	margin-bottom: 5px;
	color: #fff;
	font-weight: bold;
}

.input-groupLogin i {
	position: absolute;
	top: 60%;
	left: 25px;
	transform: translate(-50%);
	color: #0077B2;
	font-size: 18px;
}

.login-container {
	width: 100%;
	max-width: 400px;
}

.btn-gen {
	border: 1px solid #0077B2;
}

.btn-gen:hover {
	border: 1px solid #9AA8AD;
}

#img_perfil {
	height: 3rem;
    border-radius: 25px;
    border: 3px solid transparent;
    background: linear-gradient(#0000, #0000) padding-box, linear-gradient(90deg, #16A38B, #0178B1) border-box;
}

.headr-styl {
  	position: relative;
}

.headr-styl::after{
  	content: "";
  	position: absolute;
  	left: 0; right: 0; bottom: 0;
  	height: 5px;             /* grosor de la línea */
  	background: linear-gradient(90deg, #16A38B, #0178b1);
  	pointer-events: none;
}

#prim_sec {
	display: flex;
    align-items: center;
    padding-left: 3rem;
}

#seg_sec {
	display: flex;
    align-items: center;
    padding-right: 3rem;
    justify-content: right;
}

:root{
  	--footer-h: 35px; /* alto del footer */
}

/* Evita que el contenido quede debajo del footer */
html, body { height: 100%; }
body{
  	margin: 0;
  	padding-bottom: calc(var(--footer-h) + env(safe-area-inset-bottom, 0px));
}

.footer-fixed{
  	position: fixed;
  	left: 0; right: 0; bottom: 0;
  	height: var(--footer-h);
  	/* si no quieres texto, puedes bajar el font-size o quitar el contenido */
  	display: flex; align-items: center; justify-content: center;
  	z-index: 9999;

  	/* Estilo: sólido o degradado; elige uno */
  	/* Sólido */
  	background: #16A38B; color: #fff;

  	/* Degradado (izq→der) */
  	/*background: linear-gradient(90deg, #16A38B 0%, #0178b1 100%);
  	color: #fff;*/

  	/* Safe area iOS */
  	padding-bottom: env(safe-area-inset-bottom, 0px);

  	/* Línea sutil arriba (opcional) */
  	box-shadow: 0 -1px 0 rgba(0,0,0,.08) inset;
}