
/*RESPONSIVE
   ========================================================================= */

form.form-basico {
	color:#005656;
	padding:10px 0;
	box-shadow: 5px 5px 5px #aaa;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	border:1px solid #ccc;
	margin-bottom:20px;
	padding:10px;
  	font-size:100%;
	margin:10px auto;
	letter-spacing: .09em;
}

form.form-basico p {
	width:95%;
	margin:0 auto;
}
form.form-basico legend {
	display:block;
	margin:10px auto;
	color:#005656;                          
	border:0;
	padding:10px 0;
	border-bottom:1px solid #005656;
	width:100%;
}

form.form-basico label {
	text-transform: uppercase;
}

form.form-basico p {
	margin-top:10px;
}

form.form-basico input, 
form.form-basico textarea, 
form.form-basico select {
	border:1px solid  #005656;
	color: #005656;
	font-size:110%;
}

form.form-basico input:focus,
form.form-basico textarea:focus, 
form.form-basico select:focus {
	background:#ddd;
}
form.form-basico textarea {
	font-size:140%;
}


form.form-basico div > label, 
form.form-basico div > label + * {
	display:block;
	width:100%;
}
form.form-basico div > label + input[type="checkbox"] {
	display:inline-block;
	width:20px;
}
form.form-basico div > span, 
form.form-basico div > span + label {
	display:inline-block;
	vertical-align: top;
}
form.form-basico div > span + label {
	width:90%;
}

form.form-basico div > label, 
form.form-basico div > span, 
form.form-basico div > label + *, 
form.form-basico div > span + *,
form.form-basico span > label,
 form.form-basico span > label + * {
	padding:8px 0;
}

form.form-basico div.botonera {
	text-align:center;
	margin-top:20px;
}

form.form-basico button, 
form.form-basico input[type="submit"], 
form.form-basico input[type="reset"],
form.form-basico input[type="button"],
form.form-basico input[type="file"] {
	padding: 8px 16px;
	border: none;
	background: #333;
	color: #f2f2f2;
	text-transform: uppercase;
	letter-spacing: .09em;
	border-radius: 2px;
	-webkit-border-radius: 2px;
	cursor: pointer;
}

form.form-basico input[type="file"] {
	padding:0;
}
form.form-basico button:hover, 
form.form-basico input[type="submit"]:hover, 
form.form-basico input[type="reset"]:hover,
form.form-basico input[type="button"]:hover,
form.form-basico input[type="file"]:hover {
	background: #444;
}

form.form-basico > div.block {
	display: -webkit-flex;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}	

form.form-basico span.flex-centrado {
	display: -webkit-flex;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;	
	align-items: center;
}

form.form-basico span.flex-centrado > * {
	margin:5px 10px;
}
form.form-basico span.flex-centrado > label + input {
	flex:40% 1 0;
}

form.form-basico > div.block div {
	flex-basis:99%;
}

form.form-basico div.block > div > label,
form.form-basico div.block > div > label + * {
	display:block;
	width:100%;
	text-align:left;
	padding:8px 0 8px 4px;
}
form.form-basico div.block > div > span {
	display:inline-block;
	width:20px;
	padding:8px 0;

}
form.form-basico div.block > div > span + * {
	display:inline-block;
	width:90%;
	padding:8px 0;
	vertical-align: top;
}
form.form-basico fieldset {
	margin:0;
	padding:5px 10px;
	color:#005656;
	margin-top:10px;
}
form.form-basico fieldset legend {
	border: 1px solid;
	padding:3px;
	background:#c5ebeb;
}
form.form-basico input[type="text"],
form.form-basico input[type="search"],
form.form-basico input[type="password"] {
	padding-left:4px;
}
/* Móviles en horizontal o tablets en vertical
   ------------------------------------------------------------------------- */
@media (min-width: 768px) {
	form.form-basico div.dos-columnas, 
	form.form-basico div.tres-columnas {
		display:inline-block;
		width:48%;
		vertical-align: top;
	}

	div.dos-columnas > div.dos-columnas,
	div.dos-columnas > div.tres-columnas,
	div.tres-columnas > div.dos-columnas,
	div.tres-columnas > div.tres-columnas {
		display:block;
		width:100%;
	}
	form.form-basico div > span + label {
		width:80%;
	}
	form.form-basico > div.block div.dos-columnas, 
	form.form-basico > div.block div.tres-columnas {
		flex: 1 1 48%;
		text-align:left;
		margin-right:1%;
	}
}

/* Tablets en horizonal y escritorios normales
   ------------------------------------------------------------------------- */
@media (min-width: 1024px) {
	form.form-basico div {
		margin-bottom:10px;
	}
	form.form-basico div.dos-columnas,
	div.dos-columnas > div.dos-columnas,
	div.tres-columnas > div.dos-columnas {
		display:inline-block;
		width:48%;		
	}

	form.form-basico div.tres-columnas,
	div.dos-columnas > div.tres-columnas,
	div.tres-columnas > div.tres-columnas
	 {
		display:inline-block;
		width:30%;
	}
	form.form-basico div > label,
	form.form-basico div > label + * {
		display:inline-block;
		vertical-align: middle;
	}

	form.form-basico > div.block div.tres-columnas {
		flex-basis:32%;
	}


	form.form-basico div > label {
		width:35%;
		text-align: right;

	}
	form.form-basico div > span + label {
		text-align:left;
	}
	form.form-basico div > label + * {
		width:60%;	
	}

	form.form-basico > div.tamano-pequeno > label + * {
		width:20%;
	}
	form.form-basico > div.tamano-mediano > label + * {
		width:40%;
	}
	/*form.form-basico > div:hover {
		background:transparent;
	}*/
	form.form-basico span.flex-centrado {
		padding:0 100px;
	}
}

/* Escritorios grandes
   ------------------------------------------------------------------------- */
@media (min-width: 1200px) {
	form.form-basico span.flex-centrado {
		padding:0 150px;
	}
}


/*Fin delform.form-basico básico
/*A partir de aquí las clases personalizadas que lo modifiquen
   ------------------------------------------------------------------------- */


div.g-recaptcha > div {
	margin:20px auto;
	width:150px;
}
/*RESPONSIVE, PARA TODOS LOS DISPOSITIVOS
========================================================================= */

form.sin-borde {
	border:0;
	box-shadow: none;
}

/* Móviles en horizontal o tablets en vertical
   ------------------------------------------------------------------------- */
@media (min-width: 768px) {

}

/* Tablets en horizonal y escritorios normales
   ------------------------------------------------------------------------- */
@media (min-width: 1024px) {

}

/* Escritorios grandes
   ------------------------------------------------------------------------- */
@media (min-width: 1200px) {

}