/* CSS Document */
body {
	font: 100%/1.4 Verdana, Arial, Helvetica, sans-serif;
	background-color:#FFF;
	margin: 0;
	padding: 0;
	color: #000; }

ul, ol, dl { 
	padding: 0;
	margin: 0; }

h1, h2, h3, h4, h5, h6, p {
	margin-top: 0;	 
	padding-right: 15px;
	padding-left: 15px; }

a img { 
	border: none; }

a:hover, a:active, a:focus { 
	text-decoration: none; }

.container {
	/*width: 960px;
	background-color: #FFF;*/
	margin: 0 auto;
	margin-top: 60px; }

.content {
 padding: 10px 0; }

.footer {
	background-color: #0061AA;
	color: #FFF;
	font-size: 14px;
	text-align: center;
	padding: 12px 5px;
	margin: 0; }

.fltrt {  
	float: right;
	margin-left: 8px; }

.fltlft { 
	float: left;
	margin-right: 8px; }

.clearfloat { 
	clear:both;
	height:0;
	font-size: 1px;
	line-height: 0px; }

h1 { font-size:28px; }
h2 { font-size:26px; }
h3 { font-size:18px; }
h4 { font-size:16px; }
h5 { font-size:14px; }
h6 { font-size:12px; }
h1,h2,h3,h4,h5,h6 { color:#563D64; }
small { font-size:10px; }
b, strong { font-weight:bold; }
a { text-decoration: none; }
a:hover { text-decoration: underline; }
.left { float:left; }
.right { float:right; }
.alignleft { float: left; margin-right: 15px; }
.alignright { float: right; margin-left: 15px; }

.clearfix:after,
form:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden; }

#content {
	background: #f9f9f9;
	background: -moz-linear-gradient(top,  rgba(248,248,248,1) 0%, rgba(249,249,249,1) 100%);
	background: -webkit-linear-gradient(top,  rgba(248,248,248,1) 0%,rgba(249,249,249,1) 100%);
	background: -o-linear-gradient(top,  rgba(248,248,248,1) 0%,rgba(249,249,249,1) 100%);
	background: -ms-linear-gradient(top,  rgba(248,248,248,1) 0%,rgba(249,249,249,1) 100%);
	background: linear-gradient(top,  rgba(248,248,248,1) 0%,rgba(249,249,249,1) 100%);
	/*filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f8f8f8', endColorstr='#f9f9f9',GradientType=0 );*/
	-webkit-box-shadow: 0 1px 0 #fff inset;
	-moz-box-shadow: 0 1px 0 #fff inset;
	-ms-box-shadow: 0 1px 0 #fff inset;
	-o-box-shadow: 0 1px 0 #fff inset;
	box-shadow: 0 1px 0 #fff inset;
	border: 1px solid #c4c6ca;
	margin: 0 auto;
	padding: 25px 0 0;
	position: relative;
	text-align: center;
	text-shadow: 0 1px 0 #fff;
	width: 400px;
	margin-top: 45px;
    margin-bottom: 45px; }

#content h1 {
	color: #7E7E7E;
	font: bold 25px Helvetica, Arial, sans-serif;
	letter-spacing: -0.05em;
	line-height: 20px;
	margin: 10px 0 30px; }

#content h1:before,
#content h1:after {
	content: "";
	height: 1px;
	position: absolute;
	top: 10px;
	width: 27%; }

#content h1:after {
	background: rgb(126,126,126);
	background: -moz-linear-gradient(left,  rgba(126,126,126,1) 0%, rgba(255,255,255,1) 100%);
	background: -webkit-linear-gradient(left,  rgba(126,126,126,1) 0%,rgba(255,255,255,1) 100%);
	background: -o-linear-gradient(left,  rgba(126,126,126,1) 0%,rgba(255,255,255,1) 100%);
	background: -ms-linear-gradient(left,  rgba(126,126,126,1) 0%,rgba(255,255,255,1) 100%);
	background: linear-gradient(left,  rgba(126,126,126,1) 0%,rgba(255,255,255,1) 100%);
    right: 0; }

#content h1:before {
	background: rgb(126,126,126);
	background: -moz-linear-gradient(right,  rgba(126,126,126,1) 0%, rgba(255,255,255,1) 100%);
	background: -webkit-linear-gradient(right,  rgba(126,126,126,1) 0%,rgba(255,255,255,1) 100%);
	background: -o-linear-gradient(right,  rgba(126,126,126,1) 0%,rgba(255,255,255,1) 100%);
	background: -ms-linear-gradient(right,  rgba(126,126,126,1) 0%,rgba(255,255,255,1) 100%);
	background: linear-gradient(right,  rgba(126,126,126,1) 0%,rgba(255,255,255,1) 100%);
    left: 0; }

#content:after,
#content:before {
	background: #f9f9f9;
	background: -moz-linear-gradient(top,  rgba(248,248,248,1) 0%, rgba(249,249,249,1) 100%);
	background: -webkit-linear-gradient(top,  rgba(248,248,248,1) 0%,rgba(249,249,249,1) 100%);
	background: -o-linear-gradient(top,  rgba(248,248,248,1) 0%,rgba(249,249,249,1) 100%);
	background: -ms-linear-gradient(top,  rgba(248,248,248,1) 0%,rgba(249,249,249,1) 100%);
	background: linear-gradient(top,  rgba(248,248,248,1) 0%,rgba(249,249,249,1) 100%);
	/*filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f8f8f8', endColorstr='#f9f9f9',GradientType=0 );*/
	border: 1px solid #c4c6ca;
	content: "";
	display: block;
	height: 100%;
	left: -1px;
	position: absolute;
	width: 100%; }

#content:after {
	-webkit-transform: rotate(2deg);
	-moz-transform: rotate(2deg);
	-ms-transform: rotate(2deg);
	-o-transform: rotate(2deg);
	transform: rotate(2deg);
	top: 0;
	z-index: -1; }

#content:before {
	-webkit-transform: rotate(-3deg);
	-moz-transform: rotate(-3deg);
	-ms-transform: rotate(-3deg);
	-o-transform: rotate(-3deg);
	transform: rotate(-3deg);
	top: 0;
	z-index: -2; }

#content form { margin: 0 20px; position: relative }
#content form input[type="text"],
#content form input[type="password"] {
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	-ms-border-radius: 3px;
	-o-border-radius: 3px;
	border-radius: 3px;
	-webkit-box-shadow: 0 1px 0 #fff, 0 -2px 5px rgba(0,0,0,0.08) inset;
	-moz-box-shadow: 0 1px 0 #fff, 0 -2px 5px rgba(0,0,0,0.08) inset;
	-ms-box-shadow: 0 1px 0 #fff, 0 -2px 5px rgba(0,0,0,0.08) inset;
	-o-box-shadow: 0 1px 0 #fff, 0 -2px 5px rgba(0,0,0,0.08) inset;
	box-shadow: 0 1px 0 #fff, 0 -2px 5px rgba(0,0,0,0.08) inset;
	-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	-ms-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	transition: all 0.5s ease;
	background: #eae7e7 url(../images/8bcLQqF.png) no-repeat;
	border: 1px solid #c8c8c8;
	color: #777;
	font: 13px Helvetica, Arial, sans-serif;
	margin: 0 0 10px;
	padding: 15px 10px 15px 40px;
	width: 80%; }

#content form input[type="text"]:focus,
#content form input[type="password"]:focus {
	-webkit-box-shadow: 0 0 2px #ed1c24 inset;
	-moz-box-shadow: 0 0 2px #ed1c24 inset;
	-ms-box-shadow: 0 0 2px #ed1c24 inset;
	-o-box-shadow: 0 0 2px #ed1c24 inset;
	box-shadow: 0 0 2px #ed1c24 inset;
	background-color: #fff;
	border: 1px solid #ed1c24;
	outline: none; }

#cedula { background-position: 10px 10px !important }
#password { background-position: 10px -53px !important }

#content form div a {
	color: #004a80;
    float: right;
    font-size: 12px;
    margin: 30px 15px 0 0;
    text-decoration: underline; }

#text-form {
 margin:0px 135px;
 font-size:14px; }

#info-contrasena {
  text-align:center; 
  margin-bottom:10px;
  font-size:14px; }

#button-login {	
	height:45px; 
	width:120px; 
	background:#5454e9; 
	color:#FFF; 
	font-size:14px; 
	margin-bottom:10px;
	border-style: none;
	
     /*border-radius: 10px;*/ }

#encabezado {
	text-align: center;
	margin: 0px auto 15px auto;
}

#colophon, #footer {
	background-color: #5454e9; 
	color: #FFF;
	font-size: 14px;
	text-align:center;
	clear: both;
	height:50px;
	width:100%;
	margin-top: -5px;
	padding-top: 5px; }

body section input.error {
    background: rgb(251, 227, 228) !important;
    border: 1px solid #fbc2c4 !important;
    color: #8a1f11 !important; }

body section label.error {
    color: #8a1f11;
    display: inline-block;
    margin-left: 1.5em; }

.tit-azul{
	color:#5454e9; 
	text-align: center;
	font-family: "Plus Jakarta Sans", Arial;
	font-weight: bold;
	font-size: 2.1em;
}

.enlace-icesi, .enlace-icesi:visited, .enlace-icesi:hover{
	color:antiquewhite;
	text-decoration: underline;
}


/* ESTILOS PARA FOOTER FIJO - SIN ESPACIOS BLANCOS */
html, body {
    height: 100%;
    margin: 0;
    padding: 0;
}

body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.container {
    flex: 1 0 auto;
    width: 100%;
}

footer {
    flex-shrink: 0;
    background-color: #5454e9;
    color: white;
    width: 100%;
}

/* Ajustes específicos para responsive */
@media (max-width: 960px) {
    body {
        /* display: block; */
        min-height: 100vh;
        position: relative;
    }
    
    .container {
        padding-bottom: 20px;
    }
    
    footer {
        position: relative;
        margin-top: 20px;
    }
}

/* Para navegadores antiguos que no soportan flexbox */
.no-flexbox body {
    height: auto;
    min-height: 100vh;
    position: relative;
}

.no-flexbox .container {
    padding-bottom: 100px; /* Altura aproximada del footer + espacio */
}

.no-flexbox footer {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 80px; /* Ajusta según la altura real de tu footer */
}


@media (max-width:768px){
	.tit-azul{
		display:none;
	}
 
	a img {
	    width: 100vw;
	}	
}