.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 →
×
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();
}
});