.formulario{
    padding: 0;
    margin: auto;
    position: relative;
    color: #464444;
}
@media screen and (min-width: 35.5em){
    .formulario{
        padding: 20px 30px;
    }
}
.div_input{
    padding: 5px 10px;
    margin: 0;
}
.form-center_elements{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
.group-input-hz{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    margin: 5px 0;
}
.group-input-hz > label{
    line-height: 3;
}
.pure-form .group-input-hz input,
.pure-form .group-input-hz select,
.pure-form .group-input-hz textarea,
.pure-form .group-input-hz .box_select{
    border-radius: 0;
    margin: 0;
}
.pure-form .group-input-hz input:disabled,
.pure-form .group-input-hz input[readonly],
.pure-form .group-input-hz select:disabled,
.pure-form .group-input-hz select[readonly],
.pure-form .group-input-hz textarea:disabled,
.pure-form .group-input-hz textarea[readonly]{
    border-color: #ccc
}
.pure-form .group-input-hz input:first-child,
.pure-form .group-input-hz select:first-child,
.pure-form .group-input-hz textarea:first-child,
.pure-form .group-input-hz .box_select:first-child,
.pure-form .group-input-hz a:first-child,
.pure-form .group-input-hz button:first-child{
    border-radius: 12px 0 0 12px;
}
.pure-form .group-input-hz input:last-child,
.pure-form .group-input-hz select:last-child,
.pure-form .group-input-hz textarea:last-child,
.pure-form .group-input-hz .box_select:last-child,
.pure-form .group-input-hz a:last-child,
.pure-form .group-input-hz button:last-child{
    border-radius: 0 12px 12px 0;
}
.group-input-icon{
    position: relative;
    display: table;
    margin: 0.25em 0 1em 0;
}
.group-input-icon > .input_icon{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: absolute;
    height: 100%;
    /*width: 35px;*/
    top: 0;
    left: 0;
    margin: 0;
    padding: 5px 2px 5px 10px;
}
.group-input-icon > .input_icon > img{
    width: 20px;
}
.group-input-icon.g-icon--right > .input_icon{
    right: 10px;
    left: auto;
}
.group-input-icon > input,
.group-input-icon > select,
.group-input-icon > .box_select select,
.group-input-icon .g-input-icon--input{
    padding-left: 40px!important;
    margin: 0!important;
}
.group-input-icon.g-icon--right > input,
.group-input-icon.g-icon--right > select,
.group-input-icon.g-icon--right .g-input-icon--input{
    padding-left: 0.6em!important;
    padding-right: 50px!important;
}
.group-input-icon > .input_icon > *{
    width: 100%;
}
.group-input-icon > .input_icon i{
    color: #000840;
}
.group-input-icon > .input_icon i:hover{
    color: #e65100;
}
.group-input-icon .group-input-hz{
    margin: 0;
}
.box_select{
    border: 1px solid #ccc;
    border-radius: 12px;
    overflow: hidden;
    margin: 4px 0;
}
.box_select::after{
    content: "\e92f";
    position: absolute;
    top: 0;
    right: 0;
    padding-right: 10px;
    padding-left: 3px;
    width: 25px;
    height: 100%;
    text-align: center;
    pointer-events: none;

    font-size: 1.3em;
    line-height: 2.5;
    color: #777;

    font-family: 'sin-fronteras', sans-serif !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    -webkit-font-smoothing: antialiased;
}
.box_select > select{
    width: calc(100% + 20px);
    margin: 0;
    cursor: pointer;
    border: none;
}

.box__bordered {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-box-shadow: 1px 1px 3px 1px #cbcbcb;
    box-shadow: 1px 1px 3px 1px #cbcbcb;
    position: relative;
    padding: 10px 15px!important;
    border-radius: 2px;
    margin: 25px 2px 20px 2px!important;
}
.box__bordered > legend {
    position: absolute;
    padding: 0;
    top: -1.25em;
    left: 0;
    color: #666;
    border: none;
}
fieldset.box__bordered{
    height: calc(100% - 45px);
}

.pure-form-stacked input{
    color: #777;
}
/*.pure-form-stacked input[type="date"] {
    padding: .3em .6em;
}*/
.pure-form .g-inputs-narrow div label{
    line-height: 2;
    margin: .4em 0 0;
}
.pure-form .g-inputs-narrow div input,
.pure-form .g-inputs-narrow div:not(.box_select) > select,
.pure-form .g-inputs-narrow div textarea{
    padding-top: 0;
    padding-bottom: 0;
}
.pure-form-stacked input.no_box,
.pure-form-stacked select.no_box,
.pure-form-stacked textarea.no_box{
    background: transparent!important;
    border: none;
    -webkit-box-shadow: none;
    box-shadow: none;
}
.incorrect{
    border-color: #e9322d!important;
}
.asterisk_required,
.asterisk_optional{
    position: absolute;
    right: 5px;
    top: 10px;
    /*transform: translateY(-50%);*/
    font-weight: 300;
    font-size: 30px;
    line-height: .4;
    z-index: 20;
}
.box_select > .asterisk_required,
.box_select > .asterisk_optional{
    top: 5px;
}
[class*="-23-24"] ~ .asterisk_required,
[class*="-23-24"] ~ .asterisk_optional{
    right: calc(4.2% + 10px);
}
[class*="-22-24"] ~ .asterisk_required,
[class*="-22-24"] ~ .asterisk_optional{
    right: calc(4.5% + 10px);
}
.asterisk_required{
    color: #eb6767;
    display: none;
}
.asterisk_optional{
    color: #129fea;
}
.asterisk_optional::after,
.asterisk_required::after{
    display: block;
    position: absolute;
    right: 0;
    background-color: #95A5A6;
    color: #fff;
    padding: 5px 15px;
    white-space: nowrap;
    line-height: 1.2;
    font-size: .8em;
}
.asterisk_optional.align_right::after,
.asterisk_required.align_right::after{
    right: auto;
    left: 0;
}
.asterisk_required:hover::after{
    content: "Este campo es requerido";
}
.asterisk_optional:hover::after{
    content: "Este campo es opcional";
}
[required] ~ .asterisk_required{
    display: block;
}
[required] ~ .asterisk_optional{
    display: none;
}
textarea.no_resize{
    resize: none;
}
.pure-form label,
.label{
    margin: 1em 0 0;
    font-weight: bold;
    font-size: 120%;
}
/*----------> INPUTS FILE<-----------*/

.div_file {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 200px;
    width: 100%;
}
.div_file > label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    border: 3px dashed #777;
    cursor: pointer;
    padding: 20px 10px;
    border-radius: 2px;
    color: #888;
    -webkit-animation: all 2s;
    animation: all 2s;
    height: 100%;
    width: 100%;
    z-index: 20;
}

.div_file > label:hover{
    border-style: solid;
}

.div_file > label.done{
    border-color: #4CAF50;
    border-style: solid;
}

.div_file > label:active {
    -webkit-transform: scale(.99);
    -ms-transform: scale(.99);
    transform: scale(.99);
}

.div_file > label.done + i{
    color: #4CAF50;
}
.div_file > i {
    position: absolute;
    display: table;
    font-size: 100px;
    color: rgb(166, 166, 166);
    z-index: 10;
}

.div_file > input[type='file'] {
    display: none;
}
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
input[type=number] { -moz-appearance:textfield; }
/*----------> FIN INPUTS FILE<-----------*/

.pure-form input[readonly],
.pure-form input:disabled,
.pure-form select:disabled,
.pure-form textarea[readonly],
.pure-form textarea:disabled{
    background-color: #FDFDFD; /* menu hover bg color */
    color: #777; /* menu text color */
    border-color: #888;
}
.input_icon .float_box_text{
    top: 40px;
    left: 10px;
}