.form {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 50vw;
    margin-top: 2vh;
}

.form h2 {
    font-size: 2.1em;
}

.form-element {
    display: flex;
    width: 70%;
    justify-content: space-between;
    align-items: center;
    margin: 1vh 0;
    font-size: 1.1em;
}

.form-element input, 
.form-element select {
    font-size: 1em;
    padding: .3vh .3vw;
}

.form input[type="checkbox"] {
    width: 1em;
    height: 1em;
}

.form-element button, 
.form-element a, 
.form-element input[type="submit"],
.form-element input[type="button"] {
    font-size: 1em;
    font-weight: bold;
    border-radius: var(--border-radius);
    padding: 1vh 1vw;
    background-color: var(--color-main-faded);
    transition-duration: var(--transition-delay-short);
    border: none;
    cursor: pointer;
    width: fit-content;
}

.form-element button:hover, 
.form-element a:hover, 
.form-element input[type="submit"]:hover,
.form-element input[type="button"]:hover {
    box-shadow: .5em .5em .5em var(--color-grey);
    padding: 1vh 1.5vw;
}

.form-element-items {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.form-element-items-item {
    display: flex;
    width: 100%;
    justify-content: space-around;
    align-items: center;
    margin: .5vh 0;
}


@media screen and (max-width: 1250px) {
    .form {
        width: 80vw;
    }
    .form-element {
        width: 80%;
    }   
     .form-element *:first-child {
        margin-right: 2vw;
    }
}

@media screen and (max-width: 650px) {
    .form-element input {
        width: 10vw;
    }

}

@media screen and (max-width: 450px) {
    
    .form {
        text-align: center;
        width: 94vw;
        font-size: 1em;
    }
    .form-element {
        width: 90%;
    }   
    .form-element input {
        width: 40vw;
    }
}