/* ============================== HIDE THE ELEMENTOR FORM (e7d0f1d) No CSS class needed - it uses the widget ID ============================== */

.elementor-element-e7d0f1d { position: absolute !important; left: -9999px !important; top: 0 !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

/* ============================== ENQUIRE BUTTON ============================== */

.enquire-open-btn { background: #5571e1 !important; color: #fff !important; border: 0 !important; padding: 15px 30px; border-radius: 6px; font-size: 12px; font-weight: 700; letter-spacing: 1px; cursor: pointer; transition: 0.3s ease; }

.enquire-open-btn:hover { background: #405bc5 !important; }

/* ============================== OVERLAY ============================== */

.enquire-overlay { position: fixed; inset: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.65);

display: none; align-items: center; justify-content: center;

z-index: 999999; }

.enquire-overlay.show { display: flex !important; }

/* ============================== POPUP ============================== */

.enquire-popup { width: 550px; max-width: calc(100% - 30px);

background: #f8f6f2; overflow: hidden;

box-shadow: 0 25px 70px rgba(0,0,0,0.35);

animation: enquirePopup 0.3s ease; }

@keyframes enquirePopup { from { opacity: 0; transform: translateY(25px) scale(0.96); }

to { opacity: 1; transform: translateY(0) scale(1); } }

/* ============================== HEADER ============================== */

.enquire-header { position: relative; background: #5571e1; padding: 24px 27px; }

.enquire-title { margin: 0; color: #ffffff !important; font-family: Georgia, "Times New Roman", serif; font-size: 30px; font-weight: 400; line-height: 1.2; }

/* ============================== CLOSE ============================== */

.enquire-close { position: absolute; top: 15px; right: 15px;

width: 35px; height: 35px;

border-radius: 50%; border: 1px solid rgba(255,255,255,0.5);

background: rgba(255,255,255,0.1); color: #fff;

font-size: 25px; line-height: 25px;

cursor: pointer;

transition: 0.2s ease; }

.enquire-close:hover { background: rgba(255,255,255,0.25); transform: rotate(90deg); }

/* ============================== FORM AREA ============================== */

.enquire-form-area { padding: 25px 27px; background: #f8f6f2; }

/* ============================== ROW ============================== */

.form-row { display: flex; gap: 14px; }

.form-column { width: 50%; }

/* ============================== LABEL ============================== */

.enquire-label { display: block; margin-bottom: 6px;

color: #282828 !important;

font-size: 10px; font-weight: 600; letter-spacing: 1px;

text-transform: uppercase; }

/* ============================== INPUT ============================== */

.enquire-input, .enquire-select {

width: 100% !important; height: 43px !important;

box-sizing: border-box;

padding: 10px 13px;

background: #fff !important;

border: 1px solid #ddd7d0 !important;

border-radius: 8px !important;

color: #333 !important;

font-family: inherit;

font-size: 13px;

outline: none;

transition: 0.2s ease; }

.enquire-input:focus, .enquire-select:focus { border-color: #5571e1 !important; box-shadow: 0 0 0 1px #5571e1 !important; }

/* ============================== GROUP ============================== */

.enquire-group { margin-bottom: 15px; }

/* ============================== ERROR ============================== */

.enquire-error { display: none;

color: #df382f;

font-size: 10px;

margin-top: 5px; }

.enquire-group.error .enquire-input, .enquire-group.error .enquire-select { border-color: #df382f !important; }

.enquire-group.error .enquire-error { display: block; }

/* ============================== SUBMIT ============================== */

.enquire-submit { width: 100% !important; height: 46px;

border: 0 !important; border-radius: 8px !important;

background: #5571e1 !important; color: #fff !important;

font-size: 12px; font-weight: 700; letter-spacing: 1px;

cursor: pointer;

transition: 0.3s ease; }

.enquire-submit:hover { background: #405bc5 !important; }

.enquire-submit.loading { opacity: 0.65; pointer-events: none; }

/* ============================== SUCCESS ============================== */

.enquire-success { display: none;

text-align: center;

padding: 30px 10px; }

.success-icon { width: 50px; height: 50px;

margin: 0 auto 15px;

border-radius: 50%;

background: #5571e1;

color: #fff;

display: flex; align-items: center; justify-content: center;

font-size: 22px; }

.enquire-success h3 { margin: 0 0 8px;

font-family: Georgia, serif;

font-size: 23px; font-weight: 400;

color: #5571e1 !important; }

.enquire-success p { margin: 0;

color: #777;

font-size: 12px; }

/* ============================== MOBILE ============================== */

@media(max-width:600px) {

.enquire-popup { width: calc(100% - 20px); max-height: 92vh; overflow-y: auto; }

.enquire-header { padding: 20px; }

.enquire-title { font-size: 27px; }

.enquire-form-area { padding: 20px; }

.form-row { display: block; }

.form-column { width: 100%; }

.form-column:first-child { margin-bottom: 15px; } }

Enquire Now.

Name is required.

Phone number is required.

Valid email is required.

Please select a plot size.

✓

Thank You!

Your enquiry has been received.
Our team will contact you shortly.

/* ============================== ELEMENTOR SETTINGS ============================== */

/* Form widget ID: New Form (e7d0f1d) */ var ELEMENTOR_FORM_SELECTOR = ".elementor-element-e7d0f1d form";

/* Field IDs set in Elementor (Advanced > ID) */ var ELEMENTOR_FIELDS = { name: "name", email: "email", phone: "field_c4d05df", plot: "field_aa43c5d" };

var SUBMIT_LABEL = "SCHEDULE MY SITE VISIT →";

/* ============================== OPEN POPUP ============================== */

function openEnquirePopup() {

var popup = document.getElementById("enquirePopup");

if (popup) {

popup.classList.add("show");

document.body.style.overflow = "hidden";

}

}

/* ============================== CLOSE POPUP ============================== */

function closeEnquirePopup() {

var popup = document.getElementById("enquirePopup");

if (popup) {

popup.classList.remove("show");

document.body.style.overflow = "";

}

}

/* ============================== OUTSIDE CLICK ============================== */

function outsideEnquireClick(event) {

if (event.target.id === "enquirePopup") {

closeEnquirePopup();

}

}

/* ============================== SET VALUE IN ELEMENTOR FIELD ============================== */

function setElementorField(elForm, fieldId, value) {

var field = elForm.querySelector( '[name="form_fields[' + fieldId + ']"]' );

if (!field) {

console.warn("Elementor field not found: " + fieldId);

return false;

}

field.value = value;

field.dispatchEvent(new Event("input", { bubbles: true })); field.dispatchEvent(new Event("change", { bubbles: true }));

return true;

}

/* ============================== SUBMIT FORM ============================== */

function submitEnquireForm(event) {

event.preventDefault();

var name = document.getElementById("enquireName");

var phone = document.getElementById("enquirePhone");

var email = document.getElementById("enquireEmail");

var plot = document.getElementById("enquirePlot");

var button = document.getElementById("enquireSubmit");

var valid = true;

/* NAME */

if (name.value.trim() === "") {

name.closest(".enquire-group") .classList.add("error");

valid = false;

} else {

name.closest(".enquire-group") .classList.remove("error");

}

/* PHONE */

var phonePattern = /^[0-9+-s()]{7,18}$/;

if ( phone.value.trim() === "" || !phonePattern.test(phone.value.trim()) ) {

phone.closest(".enquire-group") .classList.add("error");

valid = false;

} else {

phone.closest(".enquire-group") .classList.remove("error");

}

/* EMAIL */

var emailPattern = /^[^s@]+@[^s@]+.[^s@]+$/;

if ( email.value.trim() === "" || !emailPattern.test(email.value.trim()) ) {

email.closest(".enquire-group") .classList.add("error");

valid = false;

} else {

email.closest(".enquire-group") .classList.remove("error");

}

/* PLOT */

if (plot.value === "") {

plot.closest(".enquire-group") .classList.add("error");

valid = false;

} else {

plot.closest(".enquire-group") .classList.remove("error");

}

/* STOP */

if (!valid) {

return;

}

/* LOADING */

button.classList.add("loading");

button.innerHTML = "SUBMITTING...";

/* FIND ELEMENTOR FORM */

var elForm = document.querySelector(ELEMENTOR_FORM_SELECTOR);

if (!elForm) {

alert("Elementor form not found. Make sure the Form widget (e7d0f1d) is on this page.");

button.classList.remove("loading"); button.innerHTML = SUBMIT_LABEL;

return;

}

/* FILL ELEMENTOR FIELDS */

setElementorField(elForm, ELEMENTOR_FIELDS.name, name.value.trim()); setElementorField(elForm, ELEMENTOR_FIELDS.email, email.value.trim()); setElementorField(elForm, ELEMENTOR_FIELDS.phone, phone.value.trim()); setElementorField(elForm, ELEMENTOR_FIELDS.plot, plot.value);

/* LISTEN FOR RESULT (Elementor fires jQuery events) */

var $ = window.jQuery;

if (!$) {

alert("jQuery not found.");

button.classList.remove("loading"); button.innerHTML = SUBMIT_LABEL;

return;

}

var $elForm = $(elForm);

$elForm.off("submit_success.enq error.enq");

$elForm.on("submit_success.enq", function () {

document.getElementById("enquireForm") .style.display = "none";

document.getElementById("enquireSuccess") .style.display = "block";

button.classList.remove("loading"); button.innerHTML = SUBMIT_LABEL;

document.getElementById("enquireForm").reset();

});

$elForm.on("error.enq", function () {

alert("Something went wrong. Please try again.");

button.classList.remove("loading"); button.innerHTML = SUBMIT_LABEL;

});

/* SUBMIT ELEMENTOR FORM */

var elSubmit = elForm.querySelector('button[type="submit"]');

if (elSubmit) {

elSubmit.click();

} else {

$elForm.trigger("submit");

}

}

/* ============================== REMOVE ERRORS ============================== */

document.addEventListener("input", function(event) {

if ( event.target.classList.contains("enquire-input") ) {

var group = event.target.closest(".enquire-group");

if (group) { group.classList.remove("error"); }

}

});

document.addEventListener("change", function(event) {

if ( event.target.classList.contains("enquire-select") ) {

var group = event.target.closest(".enquire-group");

if (group) { group.classList.remove("error"); }

}

});

/* ============================== ESCAPE KEY ============================== */

document.addEventListener("keydown", function(event) {

if (event.key === "Escape") {

closeEnquirePopup();

}

});

×