/* Gratis Forms — front-end form styles. */
.gratis-form {
    max-width: 640px;
    margin: 0 0 1.5rem;
}

.gratis-form-field {
    margin: 0 0 1rem;
}

/* Fields hidden by a conditional rule (see assets/forms.js). */
.gratis-form-field[hidden] {
    display: none !important;
}

.gratis-form-field label,
.gratis-form-field legend {
    display: block;
    margin-bottom: 0.35rem;
    font-weight: 600;
}

.gratis-form-field input[type="text"],
.gratis-form-field input[type="email"],
.gratis-form-field input[type="file"],
.gratis-form-field textarea,
.gratis-form-field select {
    width: 100%;
    padding: 0.55rem 0.65rem;
    border: 1px solid #ccd0d4;
    border-radius: 4px;
    font: inherit;
    box-sizing: border-box;
}

.gratis-form-field textarea {
    min-height: 120px;
    resize: vertical;
}

.gratis-form-choice {
    display: block;
    font-weight: 400;
    margin-bottom: 0.25rem;
}

.gratis-form-field fieldset {
    border: 0;
    padding: 0;
    margin: 0;
}

.gratis-form-required {
    color: #d63638;
}

.gratis-form-field.has-error input,
.gratis-form-field.has-error textarea,
.gratis-form-field.has-error select {
    border-color: #d63638;
    outline-color: #d63638;
}

.gratis-form-submit {
    padding: 0.6rem 1.4rem;
    border: 0;
    border-radius: 4px;
    background: #2271b1;
    color: #fff;
    font: inherit;
    cursor: pointer;
}

.gratis-form-submit:disabled {
    opacity: 0.6;
    cursor: default;
}

.gratis-form-feedback {
    margin: 0.75rem 0;
    min-height: 1.2em;
}

.gratis-form-feedback.is-error {
    color: #d63638;
}

.gratis-form-feedback.is-success {
    color: #00824a;
}

@media (prefers-reduced-motion: reduce) {
    .gratis-form-submit {
        transition: none;
    }
}
