body {
  background-color: #fafafa; line-height:1.6;
}

.lead { font-size: 1.5rem; font-weight: 300; }
.container { margin: 150px auto 30px auto; max-width: 960px; }

[data-invalid-input] {
    border: 1px solid #f93154;
}

[data-invalid-message] {
    color: #f93154;
    font-weight: bold;
    display: block;
    margin-bottom: 10px;
    font-style: italic;
    font-size: 0.8rem;
}

form {
    display: flex;
    flex-direction: column;
    max-width: 640px;
    margin: auto;
    border-radius: 8px;
    box-shadow: 1px 1px 5px grey;
    padding: 10px;
}

label {
    font-weight: bold;
}

input,
select {
    padding: 10px;
    border-radius: 8px;
    border: 1px solid rgb(206, 194, 194);
    margin: 5px 0;
    background-color: white;
}

div {
    border-radius: 8px;
    display: flex;
    padding: 5px;
    flex-direction: column;
}

button {
    padding: 0.5rem 1.5rem;
    background-color: #f93154;
    color: white;
    cursor: pointer;
    border-radius: 8px;
    border: 2px solid white;
    box-shadow: 1px 1px 5px #f93154;
    font-size: 1.2rem;
}
