*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body{
    font-family: 'Poppins', sans-serif;

    background: #EFEFEF;
}

body::before{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;

    background: #535971;
    width: 100%;
    height: 436px;
}

h1, h2, legend, button{
    font-family: 'Staatliches', cursive;
}

.page{
    width: 750px;
    margin: auto;
}

header{
    display: flex;
    flex-direction: column;
    gap: 18px;
    width: 417px;
    padding: 140px 0 58px;
}

h1{
    font-size: 48px;
    font-weight: 400;
    color: white;
}

h2{
    padding-top: 16px;

    line-height: 34px;
    font-size: 20px;
    font-weight: 400;
    color: #535971;
}

p{
    font-size: 20px;
    color: white;
}

#my-form{
    background: white;
    padding: 64px;
    border-radius: 20px 20px 0 0;
}

fieldset{
    border: none;
}

.fieldset-wrapper{
    display: flex;
    flex-direction: column;
    gap: 30px;
}

fieldset legend{
    text-transform: uppercase;
    font-size: 24px;
    color: #535971;

    width: 100%;
    border-bottom: 1px solid #E6E6F0;
    padding-bottom: 16px;
    margin-bottom: 20px;
}

.col-2, .col-3{
    display: flex;
    gap: 22px;
}

.col-2 div{
    width: 50%;
}

.wrapper-col-3{
    display: flex;
    flex-direction: column;
}

.col-3 > div:nth-child(1){
    width: 100%;
}

.input-wrapper{
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding-top: 16px;
}

.input-wrapper label{
    display: flex;
    gap: 10px;
    align-items: center;

    font-size: 14px;
    color: #535971;
}

.input-wrapper label span{
    font-size: 12px;
    line-height: 20px;

    color: #C1BCCC;
}

.input-wrapper label span:hover{
    color: #616161;
}

.input-wrapper input{
    height: 56px;
    background: #FAFAFC;
    border: 1px solid #E6E6F0;
    border-radius: 8px;

    color: #C1BCCC;

    padding: 0 24px;
}

.input-wrapper input:focus{
    color: #616161;
}

input:invalid:focus{
    outline: 2px solid #FF5374;
}

footer{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    margin-bottom: 300px;
    background: #535971;
    height: 160px;
    border-radius: 0 0 20px 20px;
}

footer .button{
    width: 608px;
    height: 56px;
    border: none;
    border-radius: 20px;

    font-size: 20px;
    line-height: 26px;
    font-weight: normal;

    background: #FF5374;
    color:white;

    cursor: pointer;

    transition: 0.7s;
}

footer .button:hover{
    background: #e24262;
    transform: scale(1.01);
}
