*, *:after, *:before{margin:0; padding:0; -webkit-box-sizing: border-box;  -moz-box-sizing: border-box;  box-sizing: border-box;  -webkit-text-size-adjust: none;}

input[type="submit"],
button{
    -webkit-appearance: none;
    -webkit-border-radius: 0;
}

textarea,input {
  font-family:inherit;
  font-size: 16px;
  box-shadow:none!important;
}
*::-webkit-input-placeholder {
    /* Google Chrome y Safari */
    font-size:16px;
}
*:-moz-placeholder {
    /* Firefox anterior a 19 */
   font-size:16px;
}
*::-moz-placeholder {
    /* Firefox 19 y superior */
    font-size:16px;
}
*:-ms-input-placeholder {
    /* Internet Explorer 10 y superior */
    font-size:16px;
}
		
/* Formulario con titulos */
.form.titles .field[data-title]:before{ display:block;content:attr(data-title) ':';display:block;padding-bottom:8px;}
.form.titles .field[data-title]{margin-bottom:16px;}

.form.titles *::-webkit-input-placeholder {
    /* Google Chrome y Safari */
    font-size:0px;
}
.form.titles *:-moz-placeholder {
    /* Firefox anterior a 19 */
   font-size:0px;
}
.form.titles *::-moz-placeholder {
    /* Firefox 19 y superior */
    font-size:0px;
}
.form.titles *:-ms-input-placeholder {
    /* Internet Explorer 10 y superior */
    font-size:0px;
}

.form .contform.bloque2{display:flex;flex-wrap:wrap;justify-content:center;}
		
/* Formulario estilo 1*/
.form.form1 .contform.bloque1{display:flex;justify-content:space-between;flex-wrap:wrap;}
.form.form1 .contform.bloque1 .bloque-datos{width:calc(50% - 6px);}
.form.form1 .contform.bloque1 .bloque-mensaje{width:calc(50% - 6px);display:flex;flex-direction:column;}
.form.form1 .contform.bloque1 .bloque-mensaje #dvFile{display:block;flex:0;}
.form.form1 .contform.bloque1 .bloque-mensaje > div{display:flex;flex-direction:column;}
.form.form1 .contform.bloque1 .bloque-mensaje > div:last-child{flex:1;}
.form.form1 .contform.bloque1 .bloque-mensaje > div .mensaje{flex:1;height:auto;margin:0;}
.form.form1 .cntboton{width:100%;}

/* Formulario estilo 2*/

.form.form2 .cntboton{width:100%;}

/* Formulario estilo 3*/
.form.form3 .field{margin-bottom:4px;}
.form.form3 .mensaje{height:80px;}
.form.form3 .contform.bloque2{display:flex;flex-wrap:wrap;}
.form.form3 .cntboton{width:100%;}
.form.form3 .bloque-mensaje .field{margin-bottom:12px;}

/* Formulario estilo 4*/
.form.form4 .contform.bloque1 .bloque-datos{display:flex;flex-wrap:wrap;justify-content:space-between;}
.form.form4 .contform.bloque1 .bloque-datos > div{ width:calc(50% - 6px);}
.form.form4 .contform.bloque1 .bloque-datos > div:last-child{width:100%;}
.form.form4 .contform.bloque2{display:flex;flex-wrap:wrap;}
.form.form4 .cntboton{width:100%;}

/* input */
.form .field{margin-bottom:12px;position:relative;}
.form .input{border:1px solid #DEDEDF;padding:0px 12px;border-radius:3px;width:100%;display:block;outline: 0;height:48px;line-height:48px;color:#333;}
.form .input:focus{background:#f5f5f5;outline:0;}


/* BOTON ENVIAR */
.form .btn_enviar{background:#333;color:white;border:0;border-radius:3px;margin:0;flex:1;padding:12px;width:100%;cursor:pointer;font-weight:bold;font-size:20px;letter-spacing:1px;}
.form  .btn_enviar:hover{opacity:0.85;}

/* MENSAJE */
.form  .mensaje{margin:0;height:120px;line-height:140%;padding:8px;resize: none;}

/* CAPTCHA */
#recaptcha{position: fixed;bottom:0;left: 0;}

/* TEXTO LEGAL */
.pLegal {font-size: 80%;line-height: 140%;margin-bottom:12px;width: 100%;opacity: .7; text-align:center;}
.pLegal a{color:inherit;}

/* Listas */
.form  .list{padding:0 0 0 20px}
.form  .list li{margin:4px 0;}

/* Checks */
.terminos,.news{margin:0px 12px 12px!important;}
.check label{display: flex;align-items: center; margin-left: 0;position:relative;overflow:hidden;}
input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;margin-right:8px;border:1px solid #ccc;background-color:#fff;border-radius:4px;outline:0;flex-shrink:0}input[type="checkbox"] ~ span:before{content:"\f00c";font-family:'Font Awesome 5 Pro';position:absolute;left:0;top:50%;transform:translateY(-50%) scale(0);opacity:.5;transition:all 150ms ease;color:#ed782b;height:20px;width:20px;display:flex;align-items:center;justify-content:center;z-index:1;font-weight:600;font-size:12px}
input[type=checkbox]:checked~span:before{transform:translateY(-50%) scale(1);opacity:1}


/*Input File */

.inputfile{z-index:-1;width: 1px;height: 1px;opacity: 0;overflow: hidden;position: absolute; z-index: -1;left: 0;left: 50%; top: 50%; transform: translate(-50%,-50%); }
.inputfile+label{width:100%;height:48px;line-height:48px;display:flex;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;overflow:hidden}
.inputfile+label svg{fill:currentColor;flex-shrink:0;display:block;margin:0 8px 4px 0}
.inputfile+label{background-color:#fff;padding:0}
.inputfile+label .inputfile-btn,.inputfile+label span{display:block;padding:0 12px}
.inputfile+label .inputfile-archivo{width:100%;background:#fff;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;border:1px solid #dededf;color:#757575;border-radius:3px 0 0 3px}
.inputfile+label .inputfile-btn{color:#f1e5e6;background-color:#333;font-size:15px;display:flex;align-items:center;border-radius:0 3px 3px 0}
.inputfile+label:hover .inputfile-btn,.inputfile.has-focus+label .inputfile-btn,.inputfile:focus+label .inputfile-btn{opacity:.85}


/* Mensajes de error y de enviado */
.form  .green{background-color: #fcfff5; color: #2c662d;border-color: #2c662d;}
.form  .message,#envio_error{height:auto;line-height:140%;padding:12px;margin-top:12px;}
.form  .message.error{display:none;}
.form  .field.error .input,.message.error,#envio_error{background: #fff6f6 none repeat scroll 0 0;border:1px solid #e0b4b4;color: #9f3a38;}
.form  #formulario.error .message.error{display:block;}

 
@media screen and (max-width: 800px) {
	.form.form1 .contform.bloque1 .bloque-datos{width:100%;}
	.form.form1 .contform.bloque1 .bloque-mensaje{width:100%;}
	.form.form1 .contform.bloque1 .bloque-mensaje > div .mensaje{height:120px;flex:auto;}
}
@media screen and (max-width: 500px) {
	.form .inputfile + label .inputfile-btn{font-size:14px;}
	.form .inputfile + label svg{width:16px;}
	.form.form4 .contform.bloque1 .bloque-datos > div{ width:100%;}
}