*{
	margin: 0;
	padding: 0;
	font-family: Arial, sans-serif;
}

/* Estilos para el login*/
.container-login {
  width: 100%;
  height: calc(100vh - 10vh);
  background-color: white;
  display: flex;
  align-items: flex-start;
  padding-bottom: 70%; /* Oiriginally in 70% */
  box-sizing: border-box;
}
  
.group-1 {
	flex: 1;
}
  
.group-2 {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
  	height: calc(100% - 10vh);
  	overflow-y: auto; 
}

.img-logo{
    width: 40%;
    height: 22%;
	object-fit: contain;
	transform: translate(60%, 100%);
}

.container-form{
	width: 50% ;
	position: absolute;
	background-color: #e3e3e3;
	border-radius: 10px;
	transform: translate(-20%, 0%);
	box-shadow: 0 1px 6px rgba(0, 0, 0, 0.12), 0 1px 4px rgba(0, 0, 0, 0.24);
  	margin: 5%;
}

#form-pic{
	width: 120px;
	height: 120px;
	border-radius: 50%;
	position: relative;
	top: -60px;
	left: 40%;
}

.login-head h1 {
	font-size: 2em;
	color: black;
	text-align: center;
	margin-bottom: 10px;
	margin-top: -40px;
}

.form-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}

.form-group {
  flex: 1;
}

.form-group label {
	font-size: 1.2em;
	display: block;
	margin-bottom: 5px;
	margin-left: 25px;
}

.form-group input {
	width: calc(100% - 40px);
	height: 40px;
	display: block;
	margin: auto;
	padding: 0 10px;
	box-sizing: border-box;
  	border-radius: 5px;
	background-color: white;
	border: none;

}

.form-group button[type="submit"] {
	width: calc(100% - 40px);
	margin-left: 20px;
	background-color: #000000;
	color: white;
	border-radius: 5px;
	border: none;
	cursor: pointer;
	font-size: 1.2em;
	padding: 10px;
	transition: background-color 0.2s ease-in-out;
}

.form-group button[type="submit"]:hover {
	background-color: #833982;
}

/* Estilos para los radio buttons y etiquetas */
.radio-container {
  display: inline-flex;
  align-items: center;
  margin-bottom: 10px;
  margin-left: 30px;
}

.radio-container input[type="radio"] {
  margin-right: -15px;
}

.radio-container label {
  cursor: pointer;
}

.errorlist {
  color: #721c24; /* Color del mensaje de error */
  list-style: none; /* Quita los puntos de la lista */
  margin: 0; /* Elimina el margen predeterminado de la lista */
  padding: 0; /* Elimina el relleno predeterminado de la lista */
}

/* Estilos para los errores que no están asociados a un campo específico */
.nonfield {
  color: #721c24;
  background-color: #f8d7da;
  border-color: #f5c6cb;
}

.form-footer {
	margin-top: 20px;
	margin-bottom: 20px;
	text-align: center;
}

.form-footer p {
	font-size: 1.2em;
	color: black;
}

.form-footer a {
	color: #833982;
} 

::placeholder{
	letter-spacing: 2px;
	color: rgb(148, 146, 146);
}


 /* Estilos para el pie de pagina*/  
 footer {
  background-color: #000000;
  height: 10vh;
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed; /* Cambia la posición a fixed para que el footer se mantenga en la parte inferior */
  bottom: 0; /* Asegura que el footer esté alineado en la parte inferior de la pantalla */
  left: 0;
  right: 0;
}
  
.social a {
	margin: 0 0px;
	display: flex;
	flex-direction: column;
	align-items: center;
}
  
.social img {
	height: 5vh;
}
  
.social small {
	color: white;
}



/*  Extra large devices (large desktops, 1020px and up / Desktop */
/* add all content */
@media only screen and (min-width: 1024px) {
	/* Estilos para el login*/
.container-login {
	width: 100%;
	height: calc(100vh - 10vh);
	background-color: white;
	display: flex;
	align-items: flex-start;
	padding-bottom: 70%; /* Oiriginaly in 70% */
	box-sizing: border-box;
  }
	
  .group-1 {
	  flex: 1;
  }
	
  .group-2 {
	  flex: 1;
	  display: flex;
	  flex-direction: column;
	  align-items: center;
		height: calc(100% - 10vh);
		overflow-y: auto; 
  }
  
  .img-logo{
	  width: 40%;
	  height: 22%;
	  object-fit: contain;
	  transform: translate(60%, 100%);
  }
  
  .container-form{
	  width: 50% ;
	  position: absolute;
	  background-color: #e3e3e3;
	  border-radius: 10px;
	  transform: translate(-20%, 0%);
	  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.12), 0 1px 4px rgba(0, 0, 0, 0.24);
		margin: 5%;
  }
  
  #form-pic{
	  width: 120px;
	  height: 120px;
	  border-radius: 50%;
	  position: relative;
	  top: -60px;
	  left: 40%;
  }
  
  .login-head h1 {
	  font-size: 2em;
	  color: black;
	  text-align: center;
	  margin-bottom: 10px;
	  margin-top: -40px;
  }
  
  .form-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 20px;
  }
  
  .form-group {
	flex: 1;
  }
  
  .form-group label {
	  font-size: 1.2em;
	  display: block;
	  margin-bottom: 5px;
	  margin-left: 25px;
  }
  
  .form-group input {
	  width: calc(100% - 40px);
	  height: 40px;
	  display: block;
	  margin: auto;
	  padding: 0 10px;
	  box-sizing: border-box;
		border-radius: 5px;
	  background-color: white;
	  border: none;
  
  }
  
  .form-group button[type="submit"] {
	  width: calc(100% - 40px);
	  margin-left: 20px;
	  background-color: #000000;
	  color: white;
	  border-radius: 5px;
	  border: none;
	  cursor: pointer;
	  font-size: 1.2em;
	  padding: 10px;
	  transition: background-color 0.2s ease-in-out;
  }
  
  .form-group button[type="submit"]:hover {
	  background-color: #833982;
  }
  
  /* Estilos para los radio buttons y etiquetas */
  .radio-container {
	display: inline-flex;
	align-items: center;
	margin-bottom: 10px;
	margin-left: 30px;
  }
  
  .radio-container input[type="radio"] {
	margin-right: -15px;
  }
  
  .radio-container label {
	cursor: pointer;
  }
  
  .errorlist {
	color: #721c24; /* Color del mensaje de error */
	list-style: none; /* Quita los puntos de la lista */
	margin: 0; /* Elimina el margen predeterminado de la lista */
	padding: 0; /* Elimina el relleno predeterminado de la lista */
  }
  
  /* Estilos para los errores que no están asociados a un campo específico */
  .nonfield {
	color: #721c24;
	background-color: #f8d7da;
	border-color: #f5c6cb;
  }
  
  .form-footer {
	  margin-top: 20px;
	  margin-bottom: 20px;
	  text-align: center;
  }
  
  .form-footer p {
	  font-size: 1.2em;
	  color: black;
  }
  
  .form-footer a {
	  color: #833982;
  } 
  
  ::placeholder{
	  letter-spacing: 2px;
	  color: rgb(148, 146, 146);
  }
  
  
   /* Estilos para el pie de pagina*/  
   footer {
	background-color: #000000;
	height: 10vh;
	display: flex;
	justify-content: center;
	align-items: center;
	position: fixed; /* Cambia la posición a fixed para que el footer se mantenga en la parte inferior */
	bottom: 0; /* Asegura que el footer esté alineado en la parte inferior de la pantalla */
	left: 0;
	right: 0;
  }
	
  .social a {
	  margin: 0 0px;
	  display: flex;
	  flex-direction: column;
	  align-items: center;
  }
	
  .social img {
	  height: 5vh;
  }
	
  .social small {
	  color: white;
  }

}

/* Small devices (landscape phones, 1024px and down ) */
@media not screen, (orientation: landscape) and (max-width: 1024px) {
	/* Estilos para el login*/
	.container-login {
	  width: 100%;
	  height: calc(100vh + 10vh);
	  background-color: white;
	  display: flex;
	  align-items: flex-start;
	  padding-bottom: 100%; /* Oiriginaly in 70% */
	  box-sizing: border-box;
	}
	  
	.group-1 {
		flex: 1;
	}
	  
	.group-2 {
		flex: 1;
		display: flex;
		flex-direction: column;
		align-items: center;
		height: calc(100% - 10vh);
		overflow-y: auto; 
	}
	
	.img-logo{
		width: 40%;
		height: 40%;
		object-fit: contain;
		transform: translate(60%, 100%);
	}
	
	.container-form{
		width: 50% ;
		position: absolute;
		background-color: #e3e3e3;
		border-radius: 10px;
		transform: translate(-20%, 0%);
		box-shadow: 0 1px 6px rgba(0, 0, 0, 0.12), 0 1px 4px rgba(0, 0, 0, 0.24);
		  margin: 5%;
	}
	
	#form-pic{
		width: 30px;
		height: 30px;
		border-radius: 50%;
		position: relative;
		top: -15px;
		left: 45%;
	}
	
	.login-head h1 {
		/*font-size: 2em;*/
		font-size: 24px;
		color: black;
		text-align: center;
		margin-bottom: 10px;
		margin-top: -20px;
	}
	
	.form-row {
	  display: block;
	  align-items: center;
	  margin-bottom: 15px;
	}
	
	.form-group {
	  display: block;
	  margin-bottom: 15px;
	}
	
	.form-group label {
		/*font-size: 1.2em;*/
		font-size: 12px;
		display: block;
		margin-bottom: 5px;
		margin-left: 25px;
	}
	
	.form-group input {
		width: calc(100% - 40px);
		height: 22px;
		display: block;
		margin: auto;
		padding: 0 10px;
		box-sizing: border-box;
		border-radius: 5px;
		background-color: white;
		border: none;
	
	}
	
	.form-group button[type="submit"] {
		width: calc(100% - 40px);
		margin-left: 20px;
		background-color: #000000;
		color: white;
		border-radius: 5px;
		border: none;
		cursor: pointer;
		/*font-size: 1.2em;*/
		font-size: 14px;
		font-weight: 500;
		padding: 10px;
		transition: background-color 0.2s ease-in-out;
	}
	
	.form-group button[type="submit"]:hover {
		background-color: #833982;
	}
	
	/* Estilos para los radio buttons y etiquetas */
	.radio-container {
	  display: inline-flex;
	  align-items: center;
	  margin-bottom: 10px;
	  margin-left: 30px;
	}
	
	.radio-container input[type="radio"] {
	  margin-right: -15px;
	}
	
	.radio-container label {
	  cursor: pointer;
	}
	
	.errorlist {
	  color: #721c24; /* Color del mensaje de error */
	  list-style: none; /* Quita los puntos de la lista */
	  margin: 0; /* Elimina el margen predeterminado de la lista */
	  padding: 0; /* Elimina el relleno predeterminado de la lista */
	}
	
	/* Estilos para los errores que no están asociados a un campo específico */
	.nonfield {
	  color: #721c24;
	  background-color: #f8d7da;
	  border-color: #f5c6cb;
	}
	
	.form-footer {
		margin-top: 10px; /* Pendiente revisar landscape 2px */
		margin-bottom: 10px;
		text-align: center;
	}
	
	.form-footer p {
		/*font-size: 1.2em;*/
		font-size: 12px;
		color: black;
	}
	
	.form-footer a {
		color: #833982;
	} 
	
	::placeholder{
		letter-spacing: 2px;
		color: rgb(148, 146, 146);
		font-size: 12px; /* Placeholder */
	}

	input:not(:placeholder-shown) {
		font-size: 12px; /* Tamaño de fuente para el input cuando se ha ingresado texto */
	}
	
	
	 /* Estilos para el pie de pagina*/  
	 footer {
	  background-color: #000000;
	  height: 15vh;
	  display: flex;
	  justify-content: center;
	  align-items: center;
	  position: fixed; /* Cambia la posición a fixed para que el footer se mantenga en la parte inferior */
	  bottom: 0; /* Asegura que el footer esté alineado en la parte inferior de la pantalla */
	  left: 0;
	  right: 0;
	}
	  
	.social a {
		margin: 0 0px;
		display: flex;
		flex-direction: column;
		align-items: center;
	}
	  
	.social img {
		height: 8vh;
	}
	  
	.social small {
		color: white;
		font-size: 10px; /* Reduciendo espacio entre elementos sociales */
	}
	
}

/* Pantallas de escritorio menores a 1024px  hasta 992px */
@media only screen and (min-width: 992px) and (max-width: 1023px) {
	/* Estilos para el login*/
	.container-login {
		width: 100%;
		height: calc(100vh - 10vh);
		background-color: white;
		display: flex;
		align-items: flex-start;
		padding-bottom: 70%; /* Oiriginaly in 70% */
		box-sizing: border-box;
	}
		
	.group-1 {
		flex: 1;
	}
		
	.group-2 {
		flex: 1;
		display: flex;
		flex-direction: column;
		align-items: center;
		height: calc(100% - 10vh);
		overflow-y: auto; 
	}
	
	.img-logo{
		width: 40%;
		height: 22%;
		object-fit: contain;
		transform: translate(60%, 100%);
	}
	
	.container-form{
		width: 50% ;
		position: absolute;
		background-color: #e3e3e3;
		border-radius: 10px;
		transform: translate(-20%, 0%);
		box-shadow: 0 1px 6px rgba(0, 0, 0, 0.12), 0 1px 4px rgba(0, 0, 0, 0.24);
		margin: 5%;
	}
	
	#form-pic{
		width: 80px;
		height: 80px;
		border-radius: 50%;
		position: relative;
		top: -40px;
		left: 40%;
	}
	
	.login-head h1 {
		/*font-size: 2em;*/
		font-size: 30px;
		color: black;
		text-align: center;
		margin-bottom: 10px;
		margin-top: -40px;
	}
	
	.form-row {
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin-bottom: 20px;
	}
	
	.form-group {
		flex: 1;
	}
	
	.form-group label {
		/*font-size: 1.2em;*/
		font-size: 17.2px;
		display: block;
		margin-bottom: 5px;
		margin-left: 25px;
	}
	
	.form-group input {
		width: calc(100% - 40px);
		height: 40px;
		display: block;
		margin: auto;
		padding: 0 10px;
		box-sizing: border-box;
		border-radius: 5px;
		background-color: white;
		border: none;
	
	}
	
	.form-group button[type="submit"] {
		width: calc(100% - 40px);
		margin-left: 20px;
		background-color: #000000;
		color: white;
		border-radius: 5px;
		border: none;
		cursor: pointer;
		/*font-size: 1.2em;*/
		font-size: 17.2px;
		padding: 10px;
		transition: background-color 0.2s ease-in-out;
	}
	
	.form-group button[type="submit"]:hover {
		background-color: #833982;
	}
	
	/* Estilos para los radio buttons y etiquetas */
	.radio-container {
		display: inline-flex;
		align-items: center;
		margin-bottom: 10px;
		margin-left: 30px;
	}
	
	.radio-container input[type="radio"] {
		margin-right: -15px;
	}
	
	.radio-container label {
		cursor: pointer;
	}
	
	.errorlist {
		color: #721c24; /* Color del mensaje de error */
		list-style: none; /* Quita los puntos de la lista */
		margin: 0; /* Elimina el margen predeterminado de la lista */
		padding: 0; /* Elimina el relleno predeterminado de la lista */
	}
	
	/* Estilos para los errores que no están asociados a un campo específico */
	.nonfield {
		color: #721c24;
		background-color: #f8d7da;
		border-color: #f5c6cb;
	}
	
	.form-footer {
		margin-top: 20px;
		margin-bottom: 20px;
		text-align: center;
	}
	
	.form-footer p {
		/*font-size: 1.2em;*/
		color: black;
		font-size: 17.2px;
	}
	
	.form-footer a {
		color: #833982;
	} 
	
	::placeholder{
		letter-spacing: 2px;
		color: rgb(148, 146, 146);
		font-size: 12px;
	}
	
	input:not(:placeholder-shown) {
		font-size: 12px; /* Tamaño de fuente para el input cuando se ha ingresado texto */
	}
	
	/* Estilos para el pie de pagina*/  
	footer {
		background-color: #000000;
		height: 10vh;
		display: flex;
		justify-content: center;
		align-items: center;
		position: fixed; /* Cambia la posición a fixed para que el footer se mantenga en la parte inferior */
		bottom: 0; /* Asegura que el footer esté alineado en la parte inferior de la pantalla */
		left: 0;
		right: 0;
	}
		
	.social a {
		margin: 0 0px;
		display: flex;
		flex-direction: column;
		align-items: center;
	}
		
	.social img {
		height: 5vh;
	}
		
	.social small {
		color: white;
	}
}

/* Medium devices (tablets, 768px and up)  */
@media not screen, (orientation: portrait) and (min-width: 768px) and (max-width: 991px) {
	/* Estilos para el login*/
	.container-login {
		width: 100%;
		height: calc(100vh + 40vh);
		background-color: white ;
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		padding-bottom: 70%;
		box-sizing: border-box;
	}
	
	.group-1 {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		height: auto;
	}
	
	.group-2 {
		display: flex;
		justify-content: center;
		align-items: center;
	}
	
	.img-logo{
		width: 40%;
		height: 40%;
		object-fit: contain;
		transform: translate(0%, -60%);
	}
	
	.container-form{
		width: 80%;
		display: block;
		position: absolute;
		background-color: #e3e3e3;
		border-radius: 10px;
		/*transform: translate(62.5%, 10%);*/ /* Centrar form */
		transform: translate(62.5%, 0%);
		box-shadow: 0 1px 6px rgba(0, 0, 0, 0.12), 0 1px 4px rgba(0, 0, 0, 0.24);
		margin: 5%;
	}
	
	#form-pic{
		width: 70px;
		height: 70px;
		border-radius: 50%;
		position: relative;
		object-fit: contain; /* Imagen fija */
		top: -40px;
		left: 45%;
	}
	
	.login-head h1 {
		/*font-size: 2em;*/
		font-size: 30px;
		color: black;
		text-align: center;
		margin-bottom: 10px;
		margin-top: -20px;
	}
	
	.form-row {
		display: block; /* Elementos de línea */
		align-items: center;
		margin-bottom: 15px;
	}
	
	.form-group {
		display: block; /* Elementos de línea */
		margin-bottom: 15px;
	}
	
	.form-group label {
		/*font-size: 1.2em;*/
		font-size: 18px;
		display: block;
		margin-bottom: 6px; /* Espacio entre label y placeholder */
		margin-left: 25px; /* Estatico */
	}
	
	.form-group input {
		width: calc(100% - 40px);
		height: 30px; /* altura input */
		display: block;
		margin: auto;
		padding: 0 10px;
		box-sizing: border-box;
		border-radius: 5px;
		background-color: white;
		border: none;
	
	}
	
	.form-group button[type="submit"] {
		width: calc(100% - 40px);
		margin-left: 20px;
		background-color: #000000;
		color: white;
		border-radius: 5px;
		border: none;
		cursor: pointer;
		/*font-size: 1.2em;*/
		font-size: 20px;
		font-weight: 500;
		padding: 8px;
		transition: background-color 0.2s ease-in-out;
	}
	
	.form-group button[type="submit"]:hover {
		background-color: #833982;
	}
	
	/* Estilos para los radio buttons y etiquetas */
	.radio-container {
		display: inline-flex;
		align-items: center;
		margin-bottom: 10px;
		margin-left: 30px;
	}
	
	.radio-container input[type="radio"] {
		margin-right: -15px;
	}
	
	.radio-container label {
		cursor: pointer;
	}
	
	.errorlist {
		color: #721c24; /* Color del mensaje de error */
		list-style: none; /* Quita los puntos de la lista */
		margin: 0; /* Elimina el margen predeterminado de la lista */
		padding: 0; /* Elimina el relleno predeterminado de la lista */
	}

	.alert-danger li:last-child {
		margin-left: 10px; /* Margin left para el último li de la lista de errores, necesario para las alertas */
	}
	
	/* Estilos para los errores que no están asociados a un campo específico */
	.nonfield {
		color: #721c24;
		background-color: #f8d7da;
		border-color: #f5c6cb;
		list-style: none;
	}
	
	.form-footer {
		margin-top: 10px;
		margin-bottom: 10px;
		text-align: center;
	}
	
	.form-footer p {
		/*font-size: 1.2em;*/
		font-size: 20px;
		color: black;
	}
	
	.form-footer a {
		color: #833982;
	} 
	
	::placeholder{
		letter-spacing: 2px;
		color: rgb(148, 146, 146);
		font-size: 16px; /* Placeholder */
	}
	
	input:not(:placeholder-shown) {
		font-size: 16px; /* Tamaño de fuente para el input cuando se ha ingresado texto */
	}
	
	/* Estilos para el pie de pagina*/  
	footer {
		background-color: #000000;
		height: 10vh;
		display: flex;
		justify-content: center;
		align-items: center;
		position: fixed; /* Cambia la posición a fixed para que el footer se mantenga en la parte inferior */
		bottom: 0; /* Asegura que el footer esté alineado en la parte inferior de la pantalla */
		left: 0;
		right: 0;
	}
		
	.social a {
		margin: 0 0px;
		display: flex;
		flex-direction: column;
		align-items: center;
	}
		
	.social img {
		height: 6vh;
	}
		
	.social small {
		color: white;
		font-size: 16px; /* Reduciendo espacio entre elementos sociales */
	}
}

/* Medium devices (tablets, 768px and up)  */
@media not screen, (orientation: portrait) and (min-width: 577px) and (max-width: 767px) {
	/* Estilos para el login*/
	.container-login {
		width: 100%;
		height: calc(100vh + 40vh);
		background-color: white ;
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		padding-bottom: 70%;
		box-sizing: border-box;
	}
	
	.group-1 {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		height: auto;
	}
	
	.group-2 {
		display: flex;
		justify-content: center;
		align-items: center;
	}
	
	.img-logo{
		width: 40%;
		height: 40%;
		object-fit: contain;
		transform: translate(0%, -60%);
	}
	
	.container-form{
		width: 80%;
		display: block;
		position: absolute;
		background-color: #e3e3e3;
		border-radius: 10px;
		/*transform: translate(62.5%, 10%);*/ /* Centrar form */
		transform: translate(62.5%, 0%);
		box-shadow: 0 1px 6px rgba(0, 0, 0, 0.12), 0 1px 4px rgba(0, 0, 0, 0.24);
		margin: 5%;
	}
	
	#form-pic{
		width: 70px;
		height: 70px;
		border-radius: 50%;
		position: relative;
		object-fit: contain; /* Imagen fija */
		top: -40px;
		left: 45%;
	}
	
	.login-head h1 {
		/*font-size: 2em;*/
		font-size: 30px;
		color: black;
		text-align: center;
		margin-bottom: 10px;
		margin-top: -20px;
	}
	
	.form-row {
		display: block; /* Elementos de línea */
		align-items: center;
		margin-bottom: 15px;
	}
	
	.form-group {
		display: block; /* Elementos de línea */
		margin-bottom: 15px;
	}
	
	.form-group label {
		/*font-size: 1.2em;*/
		font-size: 17px;
		display: block;
		margin-bottom: 6px; /* Espacio entre label y placeholder */
		margin-left: 25px; /* Estatico */
	}
	
	.form-group input {
		width: calc(100% - 40px);
		height: 30px;
		display: block;
		margin: auto;
		padding: 0 10px;
		box-sizing: border-box;
		border-radius: 5px;
		background-color: white;
		border: none;
	
	}
	
	.form-group button[type="submit"] {
		width: calc(100% - 40px);
		margin-left: 20px;
		background-color: #000000;
		color: white;
		border-radius: 5px;
		border: none;
		cursor: pointer;
		/*font-size: 1.2em;*/
		font-size: 18px;
		font-weight: 500;
		padding: 8px;
		transition: background-color 0.2s ease-in-out;
	}
	
	.form-group button[type="submit"]:hover {
		background-color: #833982;
	}
	
	/* Estilos para los radio buttons y etiquetas */
	.radio-container {
		display: inline-flex;
		align-items: center;
		margin-bottom: 10px;
		margin-left: 30px;
	}
	
	.radio-container input[type="radio"] {
		margin-right: -15px;
	}
	
	.radio-container label {
		cursor: pointer;
	}
	
	.errorlist {
		color: #721c24; /* Color del mensaje de error */
		list-style: none; /* Quita los puntos de la lista */
		margin: 0; /* Elimina el margen predeterminado de la lista */
		padding: 0; /* Elimina el relleno predeterminado de la lista */
	}

	.alert-danger li:last-child {
		margin-left: 10px; /* Margin left para el último li de la lista de errores, necesario para las alertas */
	}
	
	/* Estilos para los errores que no están asociados a un campo específico */
	.nonfield {
		color: #721c24;
		background-color: #f8d7da;
		border-color: #f5c6cb;
		list-style: none;
	}
	
	.form-footer {
		margin-top: 10px;
		margin-bottom: 10px;
		text-align: center;
	}
	
	.form-footer p {
		/*font-size: 1.2em;*/
		font-size: 18px;
		color: black;
	}
	
	.form-footer a {
		color: #833982;
	} 
	
	::placeholder{
		letter-spacing: 2px;
		color: rgb(148, 146, 146);
		font-size: 15px; /* Placeholder */
	}

	input:not(:placeholder-shown) {
		font-size: 15px; /* Tamaño de fuente para el input cuando se ha ingresado texto */
	}
	
	
	/* Estilos para el pie de pagina*/  
	footer {
		background-color: #000000;
		height: 10vh;
		display: flex;
		justify-content: center;
		align-items: center;
		position: fixed; /* Cambia la posición a fixed para que el footer se mantenga en la parte inferior */
		bottom: 0; /* Asegura que el footer esté alineado en la parte inferior de la pantalla */
		left: 0;
		right: 0;
	}
		
	.social a {
		margin: 0 0px;
		display: flex;
		flex-direction: column;
		align-items: center;
	}
		
	.social img {
		height: 6vh;
	}
		
	.social small {
		color: white;
		font-size: 16px; /* Reduciendo espacio entre elementos sociales */
	}
}

/* Small devices (phones, 576px and up ) */
@media not screen and (min-width: 576px) {
	/* Estilos para el login*/
	.container-login {
		width: 100%;
		height: calc(100vh + 30vh);
		background-color: white ;
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		padding-bottom: 90%;
		box-sizing: border-box;
	}
	
	.group-1 {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		height: auto;
	}
	
	.group-2 {
		display: flex;
		justify-content: center;
		align-items: center;
	}
	
	.img-logo{
		width: 40%;
		height: 40%;
		object-fit: contain;
		transform: translate(0%, -60%);
	}
	
	.container-form{
		width: 80%;
		display: block;
		position: absolute;
		background-color: #e3e3e3;
		border-radius: 10px;
		/*transform: translate(62.5%, 10%);*/ /* Centrar form */
		transform: translate(62.5%, 0%);
		box-shadow: 0 1px 6px rgba(0, 0, 0, 0.12), 0 1px 4px rgba(0, 0, 0, 0.24);
		margin: 5%;
	}
	
	#form-pic{
		width: 60px;
		height: 60px;
		border-radius: 50%;
		position: relative;
		object-fit: contain; /* Imagen fija */
		top: -30px;
		left: 40%;
	}
	
	.login-head h1 {
		/*font-size: 2em;*/
		font-size: 24px;
		color: black;
		text-align: center;
		margin-bottom: 10px;
		margin-top: -20px;
	}
	
	.form-row {
		display: block; /* Elementos de línea */
		align-items: center;
		margin-bottom: 15px;
	}
	
	.form-group {
		display: block; /* Elementos de línea */
		margin-bottom: 15px;
	}
	
	.form-group label {
		/*font-size: 1.2em;*/
		font-size: 12px;
		display: block;
		margin-bottom: 6px; /* Espacio entre label y placeholder */
		margin-left: 25px; /* Estatico */
	}
	
	.form-group input {
		width: calc(100% - 40px);
		height: 30px;
		display: block;
		margin: auto;
		padding: 0 10px;
		box-sizing: border-box;
		border-radius: 5px;
		background-color: white;
		border: none;
	
	}
	
	.form-group button[type="submit"] {
		width: calc(100% - 40px);
		margin-left: 20px;
		background-color: #000000;
		color: white;
		border-radius: 5px;
		border: none;
		cursor: pointer;
		/*font-size: 1.2em;*/
		font-size: 16px;
		padding: 6px;
		transition: background-color 0.2s ease-in-out;
	}
	
	.form-group button[type="submit"]:hover {
		background-color: #833982;
	}
	
	/* Estilos para los radio buttons y etiquetas */
	.radio-container {
		display: inline-flex;
		align-items: center;
		margin-bottom: 10px;
		margin-left: 30px;
	}
	
	.radio-container input[type="radio"] {
		margin-right: -15px;
	}
	
	.radio-container label {
		cursor: pointer;
	}
	
	.errorlist {
		color: #721c24; /* Color del mensaje de error */
		list-style: none; /* Quita los puntos de la lista */
		margin: 0; /* Elimina el margen predeterminado de la lista */
		padding: 0; /* Elimina el relleno predeterminado de la lista */
	}

	.alert-danger li:last-child {
		margin-left: 10px; /* Margin left para el último li de la lista de errores, necesario para las alertas */
	}
	
	/* Estilos para los errores que no están asociados a un campo específico */
	.nonfield {
		color: #721c24;
		background-color: #f8d7da;
		border-color: #f5c6cb;
		list-style: none;
	}
	
	.form-footer {
		margin-top: 10px;
		margin-bottom: 10px;
		text-align: center;
	}
	
	.form-footer p {
		/*font-size: 1.2em;*/
		font-size: 12px;
		color: black;
	}
	
	.form-footer a {
		color: #833982;
	} 
	
	::placeholder{
		letter-spacing: 2px;
		color: rgb(148, 146, 146);
		font-size: 12px; /* Placeholder */
	}
	
	input:not(:placeholder-shown) {
		font-size: 12px; /* Tamaño de fuente para el input cuando se ha ingresado texto */
	}
	
	/* Estilos para el pie de pagina*/  
	footer {
		background-color: #000000;
		height: 10vh;
		display: flex;
		justify-content: center;
		align-items: center;
		position: fixed; /* Cambia la posición a fixed para que el footer se mantenga en la parte inferior */
		bottom: 0; /* Asegura que el footer esté alineado en la parte inferior de la pantalla */
		left: 0;
		right: 0;
	}
		
	.social a {
		margin: 0 0px;
		display: flex;
		flex-direction: column;
		align-items: center;
	}
		
	.social img {
		height: 4vh;
	}
		
	.social small {
		color: white;
		font-size: 10px;
	}
}

/* Dispositivos con pantalla muy pequeña */
@media not screen and (min-width: 376px) {
	.container-login {
		width: 100%;
		height: calc(100vh + 60vh);
		background-color: white ;
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		padding-bottom: 90%;
		box-sizing: border-box;
	}
}