/* Ninja Forms 3 elements that have no counterpart in the theme stylesheet */
.nf-form-cont .nf-form-fields-required,
.nf-form-cont .nf-form-title,
.nf-form-cont .nf-before-form-content,
.nf-form-cont .lux-test-hidden {
    display: none;
}

.nf-form-cont .nf-label-span {
    display: block;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.42857;
    color: #525559;
    margin-bottom: 10px;
}

.nf-form-cont .form-controls-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.nf-form-cont .nf-field-container {
    margin: 0;
}

.nf-form-cont .nf-error .field-wrap input,
.nf-form-cont .nf-error .field-wrap textarea {
    background-color: #f7e8ea;
    border-color: #aa182c;
}

.nf-form-cont .nf-error-msg {
    font-size: 12px;
    color: #c45d6b;
    margin-top: 10px;
}

.nf-form-cont .nf-response-msg {
    margin-bottom: 30px;
    color: #62bd6d;
}

/* Ninja Forms hides nested elements of select fields, which also catches the Selectize control */
.nf-form-cont .list-select-wrap .selectize-control,
.nf-form-cont .list-select-wrap .selectize-dropdown-content,
.nf-form-cont .list-select-wrap .selectize-dropdown-content > .option {
    display: block;
}

.nf-form-cont .list-select-wrap .selectize-input,
.nf-form-cont .list-select-wrap .selectize-input > .item {
    display: inline-block;
}

/* Two column layout of the live demo form. Fields are wrapped one level deeper than in the legacy markup */
.page-apply-for-a-live-demo .form-apply-for-a-live-demo nf-fields-wrap {
    display: flex;
    flex-wrap: wrap;
    column-gap: 30px;
}

.page-apply-for-a-live-demo .form-apply-for-a-live-demo nf-field {
    display: block;
    width: calc(50% - 15px);
}

.page-apply-for-a-live-demo .form-apply-for-a-live-demo nf-field:has(.nf-desc),
.page-apply-for-a-live-demo .form-apply-for-a-live-demo nf-field:has(.form-appointment-block),
.page-apply-for-a-live-demo .form-apply-for-a-live-demo nf-field:has(.submit-wrap) {
    width: 100%;
}

.page-apply-for-a-live-demo .form-apply-for-a-live-demo nf-field .field-wrap.field-wrap:nth-child(n) {
    width: 100%;
    margin-right: 0;
}

.page-apply-for-a-live-demo .form-apply-for-a-live-demo nf-field:has(.nf-desc):not(:first-child) {
    margin-top: 32px;
}

@media (max-width: 767px) {
    .page-apply-for-a-live-demo .form-apply-for-a-live-demo nf-field {
        width: 100%;
    }
}

.nf-form-cont .nf-desc {
    display: block;
}

/* Overrides list spacing of the Ninja Forms stylesheet */
.nf-form-cont .form-controls-list .form-controls-list-item {
    margin: 0 0 20px;
    padding: 0;
}

.nf-form-cont .form-controls-list .form-controls-list-item:last-child {
    margin-bottom: 0;
}

/* Ninja Forms zeroes margins of radio items with !important, so the legacy 36px spacing is a gap of the flex list */
.page-apply-for-a-live-demo .form-apply-for-a-live-demo .form-radio-list {
    gap: 20px 36px;
}

/* The legacy stylesheet makes every .ninja-forms-field of this form a flex row, which now includes the text blocks */
.page-apply-for-a-live-demo .form-apply-for-a-live-demo .ninja-forms-field.nf-desc {
    display: block;
}

.page-apply-for-a-live-demo .form-apply-for-a-live-demo .booking-live-demo-info {
    text-align: center;
}

.page-apply-for-a-live-demo .form-apply-for-a-live-demo .booking-live-demo-info p {
    font-family: Noto Sans, sans-serif;
    font-size: 18px;
    line-height: 1.35;
    font-weight: 400;
    color: #002338;
    margin-bottom: 32px;
}

.page-apply-for-a-live-demo .form-apply-for-a-live-demo .booking-live-demo-info p:last-child {
    font-size: 14px;
}

/* Newsletter form sits on one line */
.form-newsletter-subscription nf-fields-wrap {
    display: flex;
    justify-content: center;
    gap: 10px;
}

.form-newsletter-subscription nf-field:first-child {
    flex: 0 1 515px;
}

.form-newsletter-subscription .field-wrap.field-wrap {
    margin-bottom: 0;
}

@media (max-width: 767px) {
    .form-newsletter-subscription nf-fields-wrap {
        flex-direction: column;
    }

    .form-newsletter-subscription nf-field:first-child {
        flex: 0 0 auto;
    }
}
