.form-box {
    background: #f3f3f3;
    border-radius: 8px;
    font-size: 18px;
    margin-top: 48px;
    padding: 40px 30px;
}

.sq-form-required-field-note {
    display: block;
    margin-bottom: 30px;
}

.sq-form-section {
    margin-top: 36px;
}

.sq-form-section-title {
    border: none;
    margin-bottom: 16px;
}

#content .sq-form-section-title h2 {
    font-size: inherit;
    margin-bottom: 0;
}

.sq-form-question-title {
    display: block;
}

fieldset fieldset {
    border-bottom: 1px solid #c0c0c2;
    margin-bottom: 36px;
    padding-bottom: 36px;
}

fieldset fieldset .sq-form-section-title {
    border-top: 1px solid #c0c0c2;
    padding-top: 24px;
}

.sq-form-question {
    margin-bottom: 24px;
}

.sq-form-question:last-child {
    margin-bottom: 0;
}

.sq-form-question-text input,
.sq-form-question-text textarea,
.sq-form-question-numeric input,
.sq-form-question-email-address input {
    display: block;
    width: 10000px;
    max-width: 100%;
    height: 54px;
    font-size: 16px;
    border: 1px solid #c0c0c2;
    margin: 0;
    box-shadow: none;
    color: #686868;
    padding: 5px 20px;
    line-height: 26px;
    background-image: none;
    border-radius: 0;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
    -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
    -o-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
    transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}

.sq-form-question-text textarea {
    height: auto;
}

.jcf-select {
    height: 54px;
    border: 1px solid #c0c0c2;
    display: block;
    width: 10000px;
    max-width: 100%;
    font-size: 16px;
}

.jcf-select .jcf-select-text {
    line-height: 54px;
    font-size: 16px;
    color: #686868;
}

.jcf-select .jcf-select-opener:before {
    color: #676767;
    top: 50%;
    margin-top: -11px;
}

.sq-form-question-note {
    display: block;
    margin-bottom: 5px;
}

.sq-form-error,
#content .sq-form-error {
    margin-bottom: 0px;
}

.sq-form-question-error input,
.sq-form-question-error .jcf-select {
    border-color: red;
}

.sq-form-errors-message,
.sq-form-error {
    color: red;
}

.jcf-select, .jcf-list {
    background-color: #ffffff;
}

.jcf-select-drop {
    height: fit-content;
}

.recaptcha-box {
    margin: 48px auto;
}

input[type="submit"],
.btn-primary {
    background-color: #021b36 !important;
    border: 2px solid #021b36 !important;
    border-radius: 8px;
    color: #ffffff !important;
    margin: 10px;
    padding: 10px 13px 10px 20px;
    font-size: 20px;
    text-transform: uppercase;
}

input[type="submit"]:hover, input[type="submit"]:focus,
.btn-primary:hover, .btn-primary:focus {
    background-color: transparent !important;
    border: 2px solid #021b36 !important;
    color: #021b36 !important;
}

input[type="submit"]:hover .icon:before,
.btn-primary:hover .icon:before {
    color: #021b36 !important;
}

input[type="submit"] .icon,
.btn-primary .icon {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    font-size: 27px;
    display: inline-block;
    vertical-align: top;
    -webkit-transition: all 0.3s ease-in-out 0s;
    transition: all 0.3s ease-in-out 0s;
    overflow: hidden;
}

@media screen and (min-width: 768px) {
    .sq-form-section-title {
        border: none;
        margin-bottom: 24px;
    }
    
    .sq-form-question-title {
        flex: 1 1 0;
        margin-bottom: auto;
        margin-top: auto;
        min-width: 200px;
    }
    
    .sq-form-question {
        display: flex;
        flex-wrap: wrap;
        column-gap: 30px;
        justify-content: space-between;
    }
    
    .narrow-form .sq-form-question {
        display: block;
    }

    .sq-form-question-answer,
    .sq-form-question-text .sq-form-question-answer,
    .sq-form-question-email-address .sq-form-question-answer,
    .sq-form-question-numeric .sq-form-question-answer {
        flex: 0 0 0;
        max-width: calc(100% - 200px - 30px);
    }

    .sq-form-question-text input.narrow-field,
    .sq-form-question-numeric input.narrow-field,
    .sq-form-question-email-address input.narrow-field,
    .jcf-select-narrow-field {
        max-width: 210px;
    }

    .sq-form-question-note,
    .sq-form-error,
    #content .sq-form-error {
        width: calc(100% - 200px - 30px);
        margin-bottom: 0;
        margin-left: auto;
        order: 1;
    }
    
    .sq-form-question-note {
        order: 2;   
    }
    
    .sq-form-question-answer:has(> .narrow-field) + .sq-form-error {
        max-width: 210px !important;
        justify-self: flex-end;
        flex: 0 0 auto;
    }
    
    .sq-form-question-note:has(~ .sq-form-question-answer > .narrow-field) {
        order: 1;
        margin-left: 0;
        min-width: 210px;
        flex: 1 1 0;
    }
    
    .narrow-form .sq-form-question-answer,
    .narrow-form .sq-form-question-text .sq-form-question-answer,
    .narrow-form .sq-form-question-email-address .sq-form-question-answer,
    .narrow-form .sq-form-question-numeric .sq-form-question-answer,
    .narrow-form .sq-form-question-text input.narrow-field,
    .narrow-form .sq-form-question-numeric input.narrow-field,
    .narrow-form .sq-form-question-email-address input.narrow-field,
    .narrow-form .jcf-select-narrow-field,
    .narrow-form .sq-form-question-note,
    .narrow-form .sq-form-error,
    .narrow-form #content .sq-form-error,
    .narrow-form .sq-form-question-answer:has(> .narrow-field) + .sq-form-error {
        width: 100%;
        max-width: unset;
        min-width: unset;
    }
}