
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body, input {
    font-family: 'Poppins', sans-serif;
}


body {  
    background: #E5E5E5;
}

body::before {
    content: '';
    width: 100%;
    height: 436px;
    
    position: absolute;
    left: 0px;
    top: -2px;
    
    z-index: -1;
    
    background: #535971;
}

.page {
    width: 750px;
    margin: auto;
}

header {
    width: 417px;
    margin-top: 138px;
}

header h1 {
    font-family: 'Staatliches', cursive;
    font-size: 48px;
    line-height: 60px;
    
    color: #FFFFFF;

    margin-bottom: 24px;
}

header p {
    font-family: 'Poppins', sans-serif;
    
    font-size: 20px;
    line-height: 30px;

    color: #FFFFFF;
}

form {
    margin-top: 58px;
    border-radius: 8px 8px 0 0;
    background: #FFFFFF;

    min-height: 300px;

    padding: 64px;

    display: flex;
    flex-direction: column;
    gap: 40px;

    position: absolute;  
    width: 750px;
    /*margin-left: 345px;*/
}

fieldset {
    border: none;
}

.fieldset-wrapper {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

fieldset legend {
    font-family: 'Staatliches', cursive;
    font-weight: 400;
    font-size: 24px; 
    line-height: 34px;

    width: 100%;

    border-bottom: 1px solid #E6E6EF;
    padding-bottom: 16px;

    color: #535971;
}

fieldset legend span {
    font-size: 20px;
    line-height: 34px;
}

.input-wrapper {
    display: flex;
    flex-direction: column;
}

.input-wrapper label {
    font-size: 14px;
    line-height: 24px;

    color: #4b4951;

    margin-bottom: 8px;
}

.input-wrapper label span {
    padding-left: 12px;
    
    font-size: 13px;
    line-height: 20px;

    color: #cec8da
}

.input-wrapper label span:hover {
    color: #80798f;
}

.input-wrapper input {
    background: #FAFAFC;

    border: 1px solid #E6E6F0;
    border-radius: 8px;

    height: 56px;
    padding: 0 24px;

    font-size: 16px;
    line-height: 26px;

    color: #4b4951;
}

.col-2 {
    display: flex;
    gap: 22px;
}

.col-2 > div:nth-child(1){
    width: 50%;
}

.col-2 > div:nth-child(2){
    width: 50%;
}

.col-3 {
    display: flex;
    gap: 20px;
}

.col-3 > div:nth-child(1){
    width: 100%;
}

footer {
    background: #535971;

    height: 160px;

    display: flex;
    flex-direction: column;

    padding: 50px 70px;

    margin-bottom: 100px;

    border-radius: 0 0 8px 8px;
}

footer .button {
    height: 56px;

    background: #FF5374;
    border: 0;
    border-radius: 20px;

    font-family: 'Staatliches', cursive;
    font-weight: 400;
    font-size: 20px;
    line-height: 26px;
    
    color: #FFFFFF;
}

footer .button:hover {
    background: #ba1636;;
}

input:invalid {
    border: 1px solid rgb(224, 28, 28);
}


