main{

}

section.form .flex{
    display: flex;
    align-items: flex-start;
    flex-wrap: nowrap;
}
section.form .flex .w-1{
    /*flex: auto*/
}
section.form .flex .w-66{
    flex: 1 1 66%;
}
section.form .flex .w-33{
    flex: 1 1 33%;
}
section.form .flex .w-99{
    flex: 1;
}
@media only screen and (max-width: 540px), only screen and (max-device-width: 540px) {
    section.form .flex{
        flex-wrap: wrap;
        gap: 0;
    }
    section.form .flex .w-33{
        flex: 100%;
    }
}

section.form .estado-cidade{
    display: flex;
    gap: 0.5em;
}
section.form .estado-cidade .estado{
    flex: 0 0 225px;
    white-space: nowrap;
}
section.form .estado-cidade .cidade{
    flex: 1;
}
section.form .campo-pequeno{
    width: 225px;
}
@media only screen and (max-width: 540px), only screen and (max-device-width: 540px) {
    section.form .estado-cidade .estado{
        flex: 0 0 100px;
    }
}

section.form .idades{
    display: flex;
    align-items: flex-start;
    flex-wrap: nowrap;
    border: 1px solid #DCDFEA;
    border-radius: 4px;
}
section.form .idades div{
    padding: 0.4em;
    line-height: 12px;
    font-size: 12px;
    text-align: center;
    border-right: 1px solid #DCDFEA;
}
section.form .idades div:last-child{
    border: none;
}
section.form .idades input[type="number"]{
    height: 21px;
    margin-top: 0.3em;
    line-height: 13px;
    font-size: 13px;
    text-align: center;
}
section.form .idades input[type="number"]{
    -webkit-appearance: textfield;
    -moz-appearance: textfield;
    appearance: textfield;
}
section.form .idades input[type=number]::-webkit-inner-spin-button,
section.form .idades input[type=number]::-webkit-outer-spin-button{
    -webkit-appearance: none;
}
.dados{
    display: flex;
    flex-wrap: nowrap;
    gap: 1em;
}
.dados .w-33{
    flex: 1 1 33%;
}
@media only screen and (max-width: 800px), only screen and (max-device-width: 800px) {
    section.form .idades{
        flex-wrap: wrap;
        border: none;
    }
    section.form .idades div{
        flex: 0 0 16.6%;
        border: 1px solid #DCDFEA !important;
    }
}
@media only screen and (max-width: 540px), only screen and (max-device-width: 540px) {
    section.form .idades div{
        flex: 0 0 25%;
    }
    .dados{
        flex-wrap: wrap;
        gap: 0;
    }
    .dados .w-33{
        flex: 100%;
    }
}