/* FORMULARIOS */

form {
	display: block;
	margin: 0;
	padding: 0;
	background-color: inherit;
	}
	

/* Fieldset */

form fieldset {
	display: block;
	background-color: #E9EEFB;
	clear: both;
	padding: 5px 0 0 0;
	margin: 15px 0 0 0;
	position: relative;
	border: 1px solid #D3DFF9;
	}

/* Legend */
form legend {
	width: 100%;
	margin: 0px 0px 0px 0px;
	clear: both;
	font-size: inherit;
	font-weight: bold;
	border-bottom: 1px dashed #9d7c41;
	color: #9d7c41;
	background-color: transparent;
	}
	
* html form legend{
	margin: 0 -10px;
	padding: 0;
	text-indent: 10px;
}


/*Los campos van incluidos en divs para organizarlos como bloques completos que contienen tanto las etiquetas como los textos de ayuda. Hay dos clases principales flotante y bloque:
flotante: pone los campos como componentes inline
bloque: pone los campos como bloques, uno encima de otro. Es especialmente interesante para formulario que tengan que ser muy claros para cubrir*/

/* div */
form div{
	display: block;
	position: relative;
	clear: both;
	margin-bottom: 2px;
	padding: 2px;
	}
	
form div.bloque {
	border-top: 1px solid #ABC1F1;
}
	
form.horizontal div, 
form div.flotante {
	float: left;
	margin: 0 2px 2px 0;
	clear: none;
	width: auto;
	position: static;
	}

* html form div {
	height: 10px;
	}

/* Etiquetas de campos */

form label {
	display: block;
	font-weight: normal;
	text-transform: none;
	color: #475A84;
	text-align: left;
	}

form div.bloque label {
	float: left;
	width: 75px;
	padding: 3px 10px 3px 3px;
	}
	
form.horizontal label, 
form div.flotante label {
	}
	
form span.radio label {
	width: 50px;
	font-weight: normal;
	text-align: left;
	}

/* Texto de ayuda para cada campo */

form span.ayuda {
	padding: 3px;
	font-style: italic;
	color: #627BB4;
	display: block;
	}
	
* html form span.ayuda {
	}
	
form div.bloque span.ayuda {
	width: 90px;
	padding: 3px 10px 3px 3px;
	float: left;
}

form div.flotante span.ayuda {
}

/* Retornos actúan como separadores clarificadores*/

form br {
	display: inline;
	clear: both;
	}

/* Formato de los campos */

form input, form textarea, form select, form option {
	padding: 3px;
	margin: 3px;
	border: 1px solid #ABC1F1;
	font-family: Verdana, sans-serif;
	}

* html form textarea, * html form input {
	padding: 0px 3px;
}

form select {
	max-width: 150px;
	padding: 2px;
	min-width: 5em;
	} 

form p {
	margin: 3px;
	clear: left;
	}

/* Tratamiento especial para campos basados en botones radio o checkboxes*/

form span.radio, form div#lista_archivos{
	display: block;
	margin-left: 90px;
	padding: 2px;
	margin-right: 10px;
	background-color: transparent;
	}
	
form.horizontal span.radio, 
form div.flotante span.radio {
	padding: 3px 0;
	margin: 0;
	}
	
	
form span.radio span input{
	margin-right: 5px;
	}
	
form span.radio span{
	display: block;
	float: left;
	margin-right: 10px;
	}
	
form.horizontal table span.radio {
	padding: 0;
	}
	
form.horizontal table span.radio input[type="checkbox"] {
	margin-top: 2px;
	}

form p span.radio_vertical {
	margin-right: 1em;
	display: block;
	margin-left: 100px;
	}

/* Si hay una imagen en un formulario, la metemos en una cajita */
form img {
	border-top: 1px solid #444;
	border-left: 1px solid #444;
	border-bottom: 1px solid #eee;
	border-right: 1px solid #eee;
	background-color: #fff;
	padding: 4px;
	margin-right: 10px;
	font-size: 8px;
	}

/* Si está asociada a un campo lo bajamos un poquito*/

form img + input {
	position: absolute;
	margin-top: 30px;
	}

/* Cuadros de marcar */

input[type="checkbox"] {
	margin-top: 4px;
	}

/* Botones */

/* Aquí también defino reglas generales para los botones que no son de formularios*/

form div.campos_globales, form div.campos_seleccion {
	clear: left;
	border-top: 1px solid #444;
	width: 100%;
	}

/* Barra de botones en un formulario */

.botones {
	clear: left;
	text-align: right;
	background-color: transparent;
	padding: 0.3em 0.5em;
	margin: 0.5em 0 0 0;
	}

.botones input[type="submit"] {
	margin-right: 5px;
	}

.botones input[type="submit"]:hover {
	}

/* Botones sueltos */
button, a.boton, .boton a, input[type="submit"] {
	margin: 0.3em;
	padding: 0.2em .5em;
	color: #2A3E6B;
	text-decoration: none;
	background: #ABC1F1 url(graficos/fondo_botones.jpg) repeat-x center left;
	
	border: 1px solid #627BB4;
	border-top: 1px solid #D3DFF9;
	border-left: 1px solid #D3DFF9;
	font-family: verdana, arial, helvetica, sans-serif;
	font-size: 90%;
	}
	
a.boton {
}

button:hover, a.boton:hover, .boton a:hover, input[type="submit"]:hover {
	background-image: url(graficos/fondo_botones_hover.jpg);
	background-color: #ABC1F1;
	color: #0D1C3D;
	}


.subForm {
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
}

.subForm div {
	background: #DDD url(graficos/menu_hover.jpg) repeat-x top left;
}

* html .subForm {
	height: auto;
}



.aForm, .tForm {
	border-top: 1px solid red;
	border-bottom: 1px solid red;
}

form table td, form table tr{
	text-align: left;
	font-size: 10px;
	padding: 1px 2px;
	vertical-align: top;
	border: none;}
	
form table td {
	}

form table tr {
	background: #fff url(graficos/alt.jpg) repeat-x bottom left;
	}


form table th {
	border: none;
}

	
/* Clases especiales: tratamiento de campos con significados particulares*/

/* En los formularios indica los campos requeridos y los que tienen errores */

label.requerido {
	color: #336600;
	font-weight: bold;
	}
	
.error {
	color: #f33;
	background-color: #ffe;
}

/* Tablas y formularios*/

/* Elementos de formulario dentro de tablas*/

form table select {
	max-width: 100px;
	border: none;
	} /*Para evitar que se desmadren demasiado*/
	
* html form table select {
	width: 100px;
	}

/*  */

form.horizontal fieldset {
	position: relative;
}
