*:focus {
    outline: none;
}
.form_row, .form_line {
	display:  			flex;
	flex-wrap:  		wrap;
	width:  			100%;
	padding:  			10px 0;
	margin:  			0;
	justify-content:  	flex-start;
}
.form_line {
	padding:  			0;
}
.form_row ul, .form_line ul {
    position: 			relative;
    margin-left: 		10px;
    list-style-type: 	none;
}
.form_row li, .form_line li {
    margin-left: 		-15px;
}
.form_row li::before, .form_line li::before {
    position: 			absolute;
    left: 				4px;
    content: 			"\25A0";
}

div.f_campo {
    display: 			flex;
    flex-wrap: 			wrap;
    padding: 			8px 12px 8px 0;
	min-width:			100px;
	font-weight: 		400;
	align-content: 		flex-end;
}
@media screen and (max-width: 800px) {
	div.f_campo {
		width:  			100%!important;
	}
}
label {
	padding:  			6px;	
}
input {
	margin:				0;
    transition: 		all ease-in-out .1s;
	width:				100%;
}
input[type="text"], input[type="email"], textarea, select {
	border-radius: 		3px;
    border:				1px #ccc solid;
	font-size: 			14px;
	height:  			40px;
	width:  			100%;
	font-weight: 		400;
	padding:  			0 10px;
}
select {
	height:  			42px;
}
textarea {
	height:  			100px;
	padding:  			10px;
}
input[type="text"]:focus, input[type="email"]:focus, select:focus, textarea:focus {
    box-shadow: 		0 0 15px rgba(0, 0, 0, 0.5);
}

input[type="checkbox"], input[type="radio"] {
  	width: 				25px;
	height: 			25px;
	line-height:		30px;
	cursor:  			pointer;
}

.frm_titular, .frm_sub_titular {
	padding: 			10px;
    font-weight: 		400;
    font-size: 			2em;
	line-height:  		1.2em;
	width: 				calc(100% - 20px);
	text-align:  		center;
	justify-content:  	center;
}
.frm_sub_titular {
	font-size: 			1.3em;	
}
.obligatorios {
    background-color: 	#eee;
    padding: 			10px;
    font-weight: 		400;
    font-size: 			14px;
	width: 				calc(100% - 20px);
}
.consentimiento {
	font-weight: 		400;
	font-size:  		1.2em;
	padding:  			10px 4px;
}
.boton_submit {
    padding: 			20px;
    justify-content: 	center;
}
.toolbar {
	background-color: 	#eee;
	padding: 			0 10px 20px 10px;
    width: 				calc(100% - 20px);
}
.compo a {
	display:  			flex;
	flex-wrap:  		wrap;
	align-content: 		center;
	margin:  			0;
	padding:  			0;
	text-decoration:  	none;			
}
.compo td {
	padding:  			0 4px;
	font-weight: 		400;
    font-size: 			0.9em;
}
.compo td img {
	display:  			block;
	width: 				30px;
    height: 			30px;
    margin: 			0px 0px 6px -3px;
}
/* MENSAJES FLOTANTES */
#mensaje {
	display:  			none;
	position:			fixed;	
	top: 				0;
	padding:			50px 0;
	text-align:			center;
	left:				0px;
	width:				100%;
	margin:				5% 0px 5% 0px !important;
	border:				1px solid #fff;
	z-index:			999;
	color:				#fff;
}
#mensaje .mensaje_ico, #mensaje .mensaje_txt, #mensaje .mensaje_but {
	display:  			flex;
	flex-wrap:  		wrap;
	padding:  			10px 50px;
	width:  			100%;
	justify-content:  	center;
	text-align:  		center;
}
#mensaje .mensaje_ico img {
	display:  			block;
	width:  			128px;
	height:  			auto;
}
#mensaje .mensaje_txt span {
	display:  			block;
	padding:  			10px 0;
	width:  			100%;
	text-align:  		center;
    font-weight: 		400;
    font-size: 			1.4em;
	line-height:  		1em;
}
/* BOTONES */
.btn {
	transition: 		all ease-in-out .2s; 		
	padding:			15px 30px !important;
	cursor:  			pointer;
	font-weight: 		500;
	font-size:  		1.1em;
	border: 			1px solid #ccc;
	border-radius: 		3px;
}
.btn.verde {
	color: 				white;
	background-color:   green!important;
	border-color: 		darkgreen!important;
}
.btn.verde:hover {
	background-color:  	darkgreen!important;
}

.btn.minidark {	
	font-size:  			0.8em;
	background-color:  		#444;
	color: 					white;
	border-color:  			#444;
	padding: 				10px 20px!important;
}
.btn.minidark:hover {	
	background-color:  		#999;
}

#mensaje .btn {
}