/* Typo */
@font-face {
    font-family: 'm-regular';
    src: url('fonts/montserrat-regular.woff2') format('woff2'), url('../fonts/montserrat-regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
	font-display: swap;
}
@font-face {
    font-family: 'm-medium';
    src: url('fonts/montserrat-medium.woff2') format('woff2'), url('../fonts/montserrat-medium.woff') format('woff');
    font-weight: normal;
    font-style: normal;
	font-display: swap;
}
@font-face {
    font-family: 'm-bold';
    src: url('fonts/montserrat-bold.woff2') format('woff2'), url('../fonts/montserrat-bold.woff') format('woff');
    font-weight: normal;
    font-style: normal;
	font-display: swap;
}
@font-face {
    font-family: 'm-black';
    src: url('fonts/montserrat-black.woff2') format('woff2'), url('../fonts/montserrat-black.woff') format('woff');
    font-weight: normal;
    font-style: normal;
	font-display: swap;
}
* {
    font-family: "m-bold";
}
form {
    display:block;
    padding:0;
}
label {
    display:block;
    padding:0;
    font-family: "m-regular";
    color:#666666;
    font-size:.85em;
    margin-bottom:8px;
}
label[for="OptinWhatsapp"], label[for="TyC"] {
    padding-left:35px;
    margin-bottom: 15px;
}
input, select {
    padding:10px 15px 10px 35px;
    font-family: "m-medium";
    color:#00335b;
    font-size:1.05rem;
    position:relative;
}
input[type="text"], input[type="tel"], input[type="email"], input[type="number"], select {
    width:100%;
    border:none;
    margin-bottom:15px;
    background-image:url('img/req1.png');
    background-size: 18px;
    background-repeat: no-repeat;
    background-position: 4px center;
    box-sizing: border-box;
    background-color:#f3f3f3;
    border-radius:8px;
}
input[type="date"] {
    border:none;
    margin-bottom:20px;
    background-color:#f3f3f3;
    border-radius:8px;
    padding-right:15px;
}
input[type="checkbox"] {
    float:left;
    position: relative;
    top: -30px;
    transform: scale(1.2);
}
button[type="submit"] {
    background-color:#207ac4;
    cursor:pointer;
    color:#fff;
    border:none;
    padding:15px 45px;
    border-radius:5px;
}
button[type="submit"]:hover {
    background-color:#00335b;
}
.text-right {
    text-align:right;
}

input:valid,
input:in-range,
select:valid,
select:in-range {
    border-color:#00335b;
    background-repeat:no-repeat;
    background-image:url('img/ok1.png');
}

input:invalid,
input:out-of-range {
    border-color:#ccc;
    color:#d73811;
}

input:in-range::after {
    display:block;
    content:"";
    position:absolute;
    background-image:url('img/ok1.png');
    width: 25px;
    height: 25px;
    background-size: 25px;
    left: 0;
    margin-top:-25px;
}

input:out-of-range::after {
    display:block;
    content:"";
    position:absolute;
    background-image:url('img/req1.png');
    width: 25px;
    height: 25px;
    background-size: 25px;
    left: 0;
    margin-top:-25px;
}

input:valid::after {
    display:block;
    content:"";
    position:absolute;
    background-image:url('img/ok1.png');
    width: 25px;
    height: 25px;
    background-size: 25px;
    left: 0;
    margin-top:-25px;
}

input:invalid::after {
    display:block;
    content:"";
    position:absolute;
    background-image:url('img/req1.png');
    width: 25px;
    height: 25px;
    background-size: 25px;
    left: 0;
    margin-top:-25px;
}

input:invalid + span,
input:out-of-range + span {
    color:#d73811;
}
#OptinWhatsapp::after, #TyC::after {
    display:none !important;
}
input[type="date"]:valid,
input[type="date"]:in-range {
    background-image:none;
}
.icono {
    width:85px;
    height:auto;
    filter: opacity(0.25);
    margin:1rem;
}
.icono1 {
    width:70px;
    height:auto;
    filter: opacity(0.25);
    margin:1rem;
}

input.noreq {
    background-image:url('img/dot.png') !important;
}
.fs-phone {
    display:flex;
    flex-flow:row;
    border: none;
    padding: 0;
    align-items: end;
}
.fs-phone > div:first-child {
    width:30%;
    border-right:8px solid #fff;
}
.fs-phone > div:last-child {
    width:70%;
}
.fs-phone > div:first-child span:before {
    content:"+";
    display:block;
    position:absolute;
    left: 22px;
    top: 31px;
    z-index: 1;
}

hr {
    border-top:1px solid #ddd;
    margin:12px 0;
}
.sub-label {display:block; position:relative; margin-bottom:5px;}
.sub-label small {font-size:.75rem; color:#666; font-family: "m-regular";}

.fila {
    display:flex;
    flex-flow:row;
    align-items: center;
}
.col {
    
}
.p15 {
    padding:15px;
}
.regular {
    font-family: "m-regular";
}

