body {
    background-color: rgb(0, 16, 52);
    color: whitesmoke;
    font-family: 'Times New Roman', Times, serif;
}

.container {
    background-color: rgba(1, 1, 36, 0.686);
    margin: 0 auto;
    width: 80%;
    max-width: 600px;
    border-radius: 20px;
    padding-left: 25px;
    padding-right: 25px;
    padding-bottom: 15px;
    padding-top: 15px;
    box-shadow: 0 0 30px whitesmoke;
}

.centered {
    text-align: center;
    font-size: 2.2em;
    margin: 0 auto 30px auto;
}

.subheader {
    display: block;
    font-size: 1.3rem;
    margin: 0.75em auto 0.25em auto;
}

input:not(.radio-btn),
textarea {
    width: 95%;
    padding: 0.6em;
    margin: 0 auto;
    border: 1.5px solid lightgray;
    border-radius: 8px;
    color: white;
    background-color: rgb(0, 16, 52);
    font-size: 1.1em;
    transition: all 0.5s ease-in-out;
}

select {
    width: 99%;
    padding: 0.6em;
    margin: 0 auto;
    border: 1.5px solid lightgray;
    border-radius: 8px;
    color: white;
    background-color: rgb(0, 16, 52);
    font-size: 1.1em;
    transition: all 0.5s ease-in-out;
}

input:invalid,
select:invalid,
textarea:invalid {
    border-color: red;
}

input:valid,
select:valid,
textarea:valid {
    border-color: green;
}

input:focus,
textarea:focus {
    border-color: #991a;
}

fieldset:has(input:valid) {
    border-color: green;
}

input::placeholder,
textarea::placeholder {
    color: lightgray;
    font-size: 1.1em;

}

fieldset {
    margin: 1.5em auto;
    border-radius: 10px;
}

.radio-group {
    padding: 1em;
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
    transition: all 0.3s ease-in-out;
}

.radio-group legend {
    font-size: 1.1em;
    margin-left: -7px;
    padding-left: 5px;
    padding-right: 10px;
}

.radio {
    font-size: 1.3rem;
    margin: 0 20px 30px auto;
}

.radio-btn {
    appearance: none;
    width: 25px;
    height: 25px;
    border: 2px solid lightgrey;
    border-radius: 50%;
    margin: auto;
    vertical-align: top;
}

.radio-group input[type="radio"]:checked {
    border-color: goldenrod;
    background-color: black;
    box-shadow: 0 0 10px whitesmoke;
}

.radio-group input[type="radio"]:checked+label {
    color: lightgreen;
    font-weight: 550;
}

.radio-btn::before {
    display: block;
    content: " ";
    border: 1px solid whitesmoke;
    height: 12.5px;
    width: 12.5px;
    border-radius: 50%;
    transform: translate(3.5px, 3.5px) scale(0);
    transition: all 0.3s ease-in;
}

.radio-btn:checked::before {
    transform: translate(3.5px, 3.5px) scale(1);
    background-color: lightgreen;
}

.radio-group label:checked {
    color: goldenrod;
}

h2 {
    font-size: 1.7em;
    margin: 25px auto 15px auto;
}


.submit-btn {
    display: block;
    background-color: darkgreen;
    color: azure;
    font-size: 1.1rem;
    font-family: 'Times New Roman', Times, serif;
    margin: 2em auto;
    font-weight: 550;
    border: none;
    box-shadow: -1px 1px 10px green;
    padding: 0.75em;
    width: 100%;
    border-radius: 8px;
    transition: all 0.4s ease-in-out;
}

button:hover {
    background-color: rgb(0, 16, 52);
    color: whitesmoke;
    box-shadow: -3px 3px 10px whitesmoke;
}

.submit-btn:focus {
    background-color: rgb(0, 16, 52);
    color: whitesmoke;
    box-shadow: -3px 3px 10px goldenrod;
}