*{
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}

html{
    font-size: 16px;
}

body{
    font-family: "Inter", sans-serif;
    background-color: #020002;
    color: #fff;
    padding: 50px;
    background-color: #0e0a10;
}
section{
    position: relative;
    padding: 150px clamp(20px, 8%, 8%);
}

a{
    color: #ffffff;
    opacity: 0.5;
    font-weight: 300;
    transition: 0.6s ease;
}
a:hover{
    opacity: 1;
    transition: 0.3s ease;
}


h1{ font-size: 3.5rem; }
h2{ font-size: 2.5rem; }
h3{ font-size: 2.0rem; }

h1 > b,
h2 > b,
h3 > b,
h4 > b,
h5 > b,
h6 > b {
    color: #8509ba;
    text-shadow: 4px 4px 20px #8509ba80;
}

section h1,
section h2,
section h3,
section h4,
section h5,
section h6 { 
    max-width: 800px;
}

p{
    font-size: 1rem;
    color: #ffffff80;
}
section p { 
    max-width: 900px;
}

hr{
    width: 100%;
    border: 0;
    border-bottom: 1px solid #ffffff10;
}









#questionnaire-head{
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    font-size: 24px;
}

#questionnaire-head > img{
    width: 50px;
}

#questionnaire-head > span > b{
    font-weight: 600;
}

#questionnaire-head > span > i{
    font-weight: 500;
    color: #8509ba;
    font-style: normal;
}





#questionnaire-text{
    max-width: 900px;
    width: 100%;
    margin: 100px auto;
    text-align: center;
}

#questionnaire-text > h3{
    font-weight: 500;
    color: #8509ba;
}




#questionnaire-form{
    max-width: 600px;
    margin: auto;
    padding: 36px;
    border-radius: 16px;
    background-color: #1b131e;
}

#questionnaire-form > form{
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    flex-flow: column;
    gap: 32px;
}

#questionnaire-form > form > h3{
    text-align: center;
    margin-bottom: 20px;
}

.form-item{
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    flex-flow: column;
    gap: 7px;
}

.form-item label.required::after{
    content: "*";
    color: #8509ba;
}

.form-item input[type="text"],
.form-item input[type="email"],
.form-item input[type="number"],
.form-item textarea {
    padding: 10px;
    border-radius: 8px;
    border: 0;
    outline: 1px solid #8509ba00;
    background-color: #1B202A;
    font-family: "Inter", sans-serif;
    transition: 0.2s ease outline;
    color: #ffffff;
}

.form-item input[type="text"]:focus,
.form-item input[type="email"]:focus,
.form-item input[type="number"]:focus,
.form-item textarea:focus {
    outline: 1px solid #8509ba;
}

.form-item textarea {
    resize: vertical;
    height: 200px;
}

.form-item-radio{
    list-style: none;
    font-size: 14px;
}

.form-item-radio li{
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 7px;
}
.form-item-radio li input{
    margin-top: 2px;
}

.form-item-submit{
    display: flex;
    justify-content: center;
    align-items: center;
}

.form-item input[type="submit"]{
    background-color: #8509ba;
    color: white;
    padding: 12px 35px;
    border-radius: 1000px;
    border: 0;
    cursor: pointer;
    font-size: 16px;
}



#questionnaire-end{
    text-align: center;
    min-height: 100vh;
    display: flex;
    justify-content: flex-start;
    flex-flow: column;
    align-items: center;
    gap: 30px;
    padding: 60px clamp(20px, 8%, 8%);
}

#questionnaire-end svg{
    width: 80px;
    height: 80px;
}





@media screen and (max-width: 400px) {
    body{
        padding: 50px 20px;
    }

    #questionnaire-head{
        justify-content: center;
        align-items: center;
        flex-flow: column;
        text-align: center;
    }

    #questionnaire-text h1{
        font-size: 30px;
    }

    #questionnaire-form{
        padding: 0;
        background-color: unset;
    }
}