*{
    box-sizing: border-box;
}

main{
display: flex;
width: 100%;
justify-content: center;
flex-direction: column;
align-items: center;
}
main h2{
    font-size: 2rem;
    text-align: center;
    text-wrap: balance;
    text-transform: uppercase;
}
main h3{
    text-align: center;
    text-wrap: balance;

}
main form{
    border: 1px solid #eee;
    padding: 1em;
    width: 40%;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 1em;
}
p{
    color: inherit;
    font-size: .8rem;
}
form span{

    width: 100%;
}

form label{
    display: inline;
 
}

.forms-elements{
    display: flex;
    gap: 1em;
    width: 100%;
    justify-content: center;
    align-items: center;
    align-content: center;
}
.forms-elements label{
    margin-top: .5em;
}
.forms-elements span{
    display: flex;
    flex-direction: column;
    gap: .4em
}
.forms-elements input{
    padding: .5em;
}
.forms-elements input:valid{
    border: 1.5px solid rgb(74, 101, 234);
}

.forms-elements textarea{
    width: 100%;
    resize: vertical;
    padding: 10px;
}
form button{
    width: 90%;
    margin-top: 1em;
}

p:nth-last-child(2){
    color: rgb(226, 2, 2);
    font-size: .9rem;
}

.msjError{
    color: #d66c6b;
    margin: 10px;
    background-color:#fff4f5;
    width: 100%;
    border: 1px solid #d66c6b;
}

@media only screen and (max-width: 750px){
    main{
        padding: 1em;
    }
    main form{
        width: 100%;
    }
    .forms-elements{
        width: 100%;
        flex-direction: column;
    }
   
}