*:focus, *:focus-within {
  outline: none!important;
}
.btn-primary.focus, .btn-primary:focus, [type=button], [type=reset], [type=submit], button {
    box-shadow: none!important;
}

div.formulario {
	margin:						30px -10px !important;
}

label {
    display:					block;
	margin-bottom:  			2px!important;
}

div.f_campo {
	float:						left;
	margin-right:				2%;	
	min-width:					100px;
	min-height: 				60px;
	font-size:  				16px;
}

div.f_campo_ch {
	float:						left;
	max-width:					85%;
	margin-right:				2%;	
	min-width:					200px;
}
div.f_campo_ch div {
	float:						left;
	font-size: 					22px;
	line-height: 				35px;
	font-weight: 				400;
	padding-right: 				8px;
}
@media screen and (max-width: 1690px) and (min-width: 1291px) {
div.f_campo_ch div { font-size: 21px; }
div.f_campo { font-size: 15px; }
}

@media screen and (max-width: 1290px) and (min-width: 992px) {
div.f_campo_ch div { font-size: 20px; }
div.f_campo { font-size: 14px; }
}

@media screen and (max-width: 991px) and (min-width: 768px) {
div.f_campo_ch div { font-size: 18px; }
div.f_campo { font-size: 14px; }
}

@media screen and (max-width: 767px) {
div.f_campo_ch div { font-size: 16px; }
div.f_campo { font-size: 14px; }
}

div.f_campo table {
	width: 						100%;
}
div.f_campo table tr td {
	font-weight:  				400;
	padding:  					0px 6px 0px 0px;
}

div.f_campo table tr td.txfield {
	width:  					50px;
}

div.f_campo table td.txlabel {
	width:  					100px;
	text-align:  				right;
	color: 						#ca1c1e;
	line-height:  				1.1em;
	letter-spacing: 			-0.5px;
}

[type=button], [type=reset], [type=submit], button {
	display:  					block;
    max-width: 					350px;
    margin: 					auto;
}

input {
	padding:					10px;
	margin:						0px 30px 10px 10px;
	-ms-transition: 			all ease-in-out .2s;
    -moz-transition: 			all ease-in-out .2s;	
    -webkit-transition: 		all ease-in-out .2s;
    transition: 				all ease-in-out .2s;
	width:						100%;
	border-radius: 				3px 3px 3px 3px;
	-moz-border-radius: 		3px 3px 3px 3px;
	-webkit-border-radius: 		3px 3px 3px 3px;
    border:						1px #ccc solid;
}

select {
	padding:					9px 10px;
	border-radius: 				3px 3px 3px 3px;
	-moz-border-radius: 		3px 3px 3px 3px;
	-webkit-border-radius: 		3px 3px 3px 3px;
    border:						1px #ccc solid;
    min-height: 				44px;
	margin:						0px 30px 10px 10px;
	-ms-transition: 			all ease-in-out .2s;
    -moz-transition: 			all ease-in-out .2s;	
    -webkit-transition: 		all ease-in-out .2s;
    transition: 				all ease-in-out .2s;
	width:						100%;
}

input[type="checkbox"] {
  	width: 						25px;
	height: 					25px;
	line-height:				30px;
	margin: 					0px 10px!important;
}
input[type="radio"] {
  	width: 						25px;
	height: 					25px;
	line-height:				30px;
	margin: 					0px 10px!important;
}

textarea {
	border-radius: 				3px 3px 3px 3px;
	-moz-border-radius: 		3px 3px 3px 3px;
	-webkit-border-radius: 		3px 3px 3px 3px;
	border:						1px #ccc solid;
	padding:					10px;
	margin:						0px;
	-ms-transition: 			all ease-in-out .2s;
    -moz-transition: 			all ease-in-out .2s;	
    -webkit-transition: 		all ease-in-out .2s;
    transition: 				all ease-in-out .2s;
	width:						100%;
}

input[type="number"] {
	padding:					5px;
	margin:						10px 20px;
	-ms-transition: 			all ease-in-out .2s;
    -moz-transition: 			all ease-in-out .2s;	
    -webkit-transition: 		all ease-in-out .2s;
    transition: 				all ease-in-out .2s;
	width:						100%;
	height: 					40px;
}

input[type="number"] {
	border-radius: 				3px 3px 3px 3px;
	-moz-border-radius: 		3px 3px 3px 3px;
	-webkit-border-radius: 		3px 3px 3px 3px;
   border:						1px #0ca4de solid;
}
input[type="number"]:focus {
    background-color: 			#0ca4de;
	color:						#fff;
}

table.tab_form tr td {
	padding:					2px;
	font-size:					16px;
	border-bottom:				1px #ddd dotted;
}
@media screen and (max-width: 1290px) {
  table.tab_form tr td {
	padding:					1px;
	font-size:					14px;
}
}

div.legal {
	padding:					0.6% 15% 0.6% 1% !important;
	margin:						0.6% !important;
	background-color:			#eee;
	color:						#000;
	font-size:					14px !important;
}
div.legal h4 {
	font-weight:				700;
	font-size:					16px !important;
}
@media screen and (max-width: 1290px) and (min-width: 992px) {
div.legal {
	padding:					1.5% 10% 1.5% 1% !important;
	font-size:					13px !important;
}
div.legal h4 {
	font-size:					16px !important;
}
}

@media screen and (max-width: 991px) {
div.legal {
	padding:					1.5% !important;
	font-size:					12px !important;
}
div.legal h4 {
	font-size:					14px !important;
}
}

/* BOTONES */
.btn {
  font-weight:					700;
  -ms-transition: 				all ease-in-out .2s;
  -moz-transition: 				all ease-in-out .2s;	
  -webkit-transition: 			all ease-in-out .2s;
  transition: 					all ease-in-out .2s;
  padding:						2% 10% !important;
}

.btn_condiciones {
  font-weight:					700;
  font-size:					14px;	
  padding:						5px !important;
  max-width: 					250px !important;
  margin:						5px !important;
  border:						1px #0ca4de solid;
  background-color: 			#0ca4de;	
  color:						#fff;	
}
.btn_condiciones:hover {
  background-color: 			#fff;	
  color:						#0ca4de;	
}

/* Acepto Condiciones Legales */
div.aceptocon div {
	float:						left;
	line-height: 				35px;
	font-size: 					16px;
	color:						#ca1c1e;
	padding-right: 				5px;
}


/* div Opciones */
div.opciones table tr {
	border-top:					1px #ccc dashed;
}
div.opciones table td {
	padding: 					5px;
	font-size: 					20px;
}
div.opciones table td.precio {
	font-weight: 				700;
	font-size: 					24px;
	text-align: 				right;
	padding-left: 				20px !important;
}

label 							{ color:		#ca1c1e; }

input[type="text"]:focus, 		
input[type="number"]:focus,
input[type="email"]:focus, 		
input[type="password"]:focus, 	
textarea:focus, 				
select:focus					{ border-color: #ca1c1e; color: #000; box-shadow: 0 0 15px rgba(150, 0, 0, 0.5); }

hr								{ border-color: #ca1c1e; }

h1,h2,h3,h4,h5					{ color:		#ca1c1e!important; }

.contecards {
	display: 					flex;
	flex-wrap: 					wrap;
	width: 						100%;
	justify-content: 			center;
}

.precard {
	display: 					flex;
	flex-wrap: 					wrap;
	width: 						50%;
	padding: 					10px;
}

.precard_3 {
	display: 					flex;
	flex-wrap: 					wrap;
	width: 						33.33%;
	padding: 					10px;
}

@media screen and (max-width: 1000px) and (min-width: 766px) {
.xshide {
	display: 					none;
}
}

@media screen and (max-width: 767px) {
.precard, .precard_3 {
	max-width:  				500px;
	width: 						100%;
	padding: 					10px;
}
}

.card {
	width:  					100%;
	border-color:  				#777;
}

@media screen and (max-width: 767px) {
.card-body {
	padding:  					6px!important; 						
}
}

.conteform {
  	display: 					flex;
	flex-wrap: 					wrap;
	width: 						100%;
}

.conteform .lineform {
	display: 					flex;
	flex-wrap: 					wrap;
	width: 						100%;
}

.conteform .lineform.titulo {
	font-size:  				1.3em;
    justify-content: 			center;
	text-align:  				center;
    font-weight: 				600;
    padding: 					0px 0px 20px 0px;
}


.lineform.titulo span {
    font-size: 					0.7em;
    height: 					40px;
    line-height: 				1.2em;
    padding: 					6px 0;
	font-weight:  				400;
    letter-spacing: 			-0.2px;
}

.bigcard {
  	display: 					flex;
	flex-wrap: 					wrap;
	width: 						90%;	
	min-width:  				350px;
	margin:  					auto;
}

.bigcard .f_campo {
	display: 					flex;
	flex-wrap: 					wrap;
	width: 						100%;	
	align-items: 				center;
	margin-right:  				0px;
	padding:  					0.5% 3%;
}

.bigcard .f_campo:nth-child(even) {
	background-color: 			#f7f7f7;
}

.bigcard .f_campo td.txlabel {
	padding: 					0px 30px 0px 0px;	
	min-width:  				400px;
}
.bigcard .f_campo td.txdatos {
	width:  					100%;
}

@media screen and (max-width: 1690px) and (min-width: 1291px) {
	.bigcard .f_campo td.txlabel {
		min-width:  			350px;
	}
}

@media screen and (max-width: 1290px) and (min-width: 992px) {
	.bigcard .f_campo td.txlabel {
		min-width:  			300px;
	}
}

@media screen and (max-width: 991px) and (min-width: 768px) {
	.bigcard .f_campo td.txlabel {
		min-width:  			250px;
	}
}

@media screen and (max-width: 767px) {
	.bigcard .f_campo td.txlabel {
		min-width:  			200px;
	}
}

.bigcard .f_botones {
    display: 					flex;
    flex-wrap: 					wrap;
    width: 						100%;
    justify-content: 			center;
	padding:  					20px 0px;
	margin:  					20px 0px 0px 0px;
	border-top: 				1px solid #eee;
}

.bigcard .f_botones table {
	width:  					100%;
	max-width:  				500px;
}


.bigcard .f_titulo {
    display:  					flex;
    flex-wrap: 					wrap;
    width: 						100%;
    align-items: 				center;
    margin: 					0px;
    padding: 					20px;
	color:  					#ca1c1e;
    font-size:  				2em;
    font-family: 'Montserrat', sans-serif; font-weight:500;
}
.bigcard .f_campo td.txlabel .fas {
    position:  					absolute;
    margin-left:  				-24px;
	font-size:  				16px;
}

.campopeq {
	max-width:  				300px;
}

.campomini {
	max-width:  				150px;
}
