AmazonS3
tcp/443
Apache
tcp/443 tcp/80
CloudFront
tcp/80
Open service 18.171.152.203:443 · watersedge.elysiumcode.co.uk
2026-01-09 17:23
HTTP/1.1 200 OK Date: Fri, 09 Jan 2026 17:23:31 GMT Server: Apache Link: <https://watersedge.elysiumcode.co.uk/wp-json/>; rel="https://api.w.org/" Content-Length: 0 Connection: close Content-Type: text/html; charset=UTF-8
Open service 18.171.152.203:80 · watersedge.elysiumcode.co.uk
2026-01-09 17:23
HTTP/1.1 302 Found Date: Fri, 09 Jan 2026 17:24:10 GMT Server: Apache Location: https://watersedge.elysiumcode.co.uk/ Content-Length: 221 Connection: close Content-Type: text/html; charset=iso-8859-1 Page title: 302 Found <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>302 Found</title> </head><body> <h1>Found</h1> <p>The document has moved <a href="https://watersedge.elysiumcode.co.uk/">here</a>.</p> </body></html>
Open service 2600:9000:213f:6a00:f:2e55:d000:93a1:443 · elysiumcode.co.uk
2026-01-07 01:48
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 123107
Connection: close
Last-Modified: Wed, 01 Oct 2025 13:18:44 GMT
Server: AmazonS3
Date: Tue, 06 Jan 2026 17:35:52 GMT
ETag: "612ec9697ce7b508e594db94f2b6386c"
X-Cache: Hit from cloudfront
Via: 1.1 e71b2a73b6598bfbcb4d4e5eff30bb0a.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: FRA56-P15
X-Amz-Cf-Id: 4gnRzvxHlFTrxLIo5JzJeRN2Y2zZ3yqDEkpdjvBcMBqFTFhpu7-3Rw==
Age: 29560
Page title: Elysium Code
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link
rel="icon"
type="image/x-icon"
href="https://elysium-assets.s3.eu-west-2.amazonaws.com/wp-content/uploads/favicon.webp"
/>
<title>Elysium Code</title>
<style>
img:is([sizes="auto" i], [sizes^="auto," i]) {
contain-intrinsic-size: 3000px 1500px;
}
</style>
<meta name="description" content="by Dave Henderson" />
<meta name="robots" content="index, follow" />
<meta
name="googlebot"
content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"
/>
<meta
name="bingbot"
content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"
/>
<link rel="canonical" href="/" />
<script>
document.addEventListener("DOMContentLoaded", function () {
const form = document.getElementById("contact-form");
const statusDiv = document.getElementById("form-status");
form.addEventListener("submit", async function (e) {
e.preventDefault(); // Prevent default form submission
statusDiv.style.display = "block";
statusDiv.textContent = "Sending...";
statusDiv.classList.remove(
"alert-success",
"alert-danger",
"alert-info"
);
statusDiv.classList.add("alert-info");
// Ensure elements exist before accessing their values
const nameInput = document.getElementById("full-name");
const emailInput = document.getElementById("email");
const subjectInput = document.getElementById("subject");
const messageInput = document.getElementById("message");
const budgetInput = document.getElementById("budget");
const phoneInput = document.getElementById("phone");
if (
!nameInput ||
!emailInput ||
!subjectInput ||
!messageInput ||
!budgetInput ||
!phoneInput
) {
console.error("One or more form elements are missing.");
statusDiv.textContent = "Form error: missing input fields.";
statusDiv.classList.add("alert-danger");
return;
}
// Collect form data safely
const formData = {
name: nameInput.value.trim(),
email: emailInput.value.trim(),
subject: subjectInput.value.trim(),
message: messageInput.value.trim(),
budget: budgetInput.value.trim() || "unknown",
phone: phoneInput.value.trim(),
};
try {
const response = await fetch(
"https://api.elysiumcode.co.uk/v2/contact",
{
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify(formData),
}
);
const result = await response.json(); // Parse JSON response
if (response.ok && result.statusCode === 200) {
statusDiv.textContent =
result.message || "Thank you! Your message has been sent.";
statusDiv.classList.add("alert-success");
form.reset(); // Reset form after success
} else {
statusDiv.textContent =
result.message || "An error occurred. Please try again.";
statusDiv.classList.add("alert-danger");
}
} catch (error) {
console.error("Error:", error);
statusDiv.textContent =
"An unexpected error occurred. Please try again later.";
statusDiv.classList.add("alert-danger");
}
});
});
</script>
<script type="application/ld+json">
{
"@context": "https:\/\/schema.org",
"@type": "W
Open service 2600:9000:26db:dc00:f:2e55:d000:93a1:80 · www.elysiumcode.co.uk
2026-01-07 01:48
HTTP/1.1 301 Moved Permanently Server: CloudFront Date: Wed, 07 Jan 2026 01:48:31 GMT Content-Type: text/html Content-Length: 167 Connection: close Location: https://www.elysiumcode.co.uk/ X-Cache: Redirect from cloudfront Via: 1.1 3346ad1679ff01fe81e117084323b814.cloudfront.net (CloudFront) X-Amz-Cf-Pop: MUC50-P3 X-Amz-Cf-Id: fFrFiAcxD0qjLdZRxNGJTz5FcmHcLVC0vGwhF6zDAtWmDG-aGSEsoQ== Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>CloudFront</center> </body> </html>
Open service 2600:9000:2130:bc00:f:2e55:d000:93a1:80 · elysiumcode.co.uk
2026-01-07 01:48
HTTP/1.1 301 Moved Permanently Server: CloudFront Date: Wed, 07 Jan 2026 01:48:31 GMT Content-Type: text/html Content-Length: 167 Connection: close Location: https://elysiumcode.co.uk/ X-Cache: Redirect from cloudfront Via: 1.1 030df12889597763d790d77135c16596.cloudfront.net (CloudFront) X-Amz-Cf-Pop: FRA56-P15 X-Amz-Cf-Id: QwstPkdK12lRwXmRExFzZjBhM3WDqjme0NZt97SfFORpz-crsvujNw== Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>CloudFront</center> </body> </html>
Open service 2600:9000:26db:3600:f:2e55:d000:93a1:80 · www.elysiumcode.co.uk
2026-01-07 01:48
HTTP/1.1 301 Moved Permanently Server: CloudFront Date: Wed, 07 Jan 2026 01:48:31 GMT Content-Type: text/html Content-Length: 167 Connection: close Location: https://www.elysiumcode.co.uk/ X-Cache: Redirect from cloudfront Via: 1.1 2dd902cd86ee8f22d66046533880d3e8.cloudfront.net (CloudFront) X-Amz-Cf-Pop: MUC50-P3 X-Amz-Cf-Id: j3E8lHriZk5pxPVnBF3aQmPnxDM6ljGE3UwrfTnENuN8rO7gJXyt-Q== Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>CloudFront</center> </body> </html>
Open service 2600:9000:26db:2800:f:2e55:d000:93a1:443 · www.elysiumcode.co.uk
2026-01-07 01:48
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 123107
Connection: close
Date: Wed, 07 Jan 2026 01:48:29 GMT
Last-Modified: Wed, 01 Oct 2025 13:18:44 GMT
ETag: "612ec9697ce7b508e594db94f2b6386c"
Server: AmazonS3
X-Cache: Hit from cloudfront
Via: 1.1 129b4a1f09d5313624ec15fced944d6e.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: MUC50-P3
X-Amz-Cf-Id: cygSMfqzzR7qvwBnNsmWys4PxDxfrFfbhknfqt9m9WRyGaRyE6J4Gw==
Age: 3
Page title: Elysium Code
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link
rel="icon"
type="image/x-icon"
href="https://elysium-assets.s3.eu-west-2.amazonaws.com/wp-content/uploads/favicon.webp"
/>
<title>Elysium Code</title>
<style>
img:is([sizes="auto" i], [sizes^="auto," i]) {
contain-intrinsic-size: 3000px 1500px;
}
</style>
<meta name="description" content="by Dave Henderson" />
<meta name="robots" content="index, follow" />
<meta
name="googlebot"
content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"
/>
<meta
name="bingbot"
content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"
/>
<link rel="canonical" href="/" />
<script>
document.addEventListener("DOMContentLoaded", function () {
const form = document.getElementById("contact-form");
const statusDiv = document.getElementById("form-status");
form.addEventListener("submit", async function (e) {
e.preventDefault(); // Prevent default form submission
statusDiv.style.display = "block";
statusDiv.textContent = "Sending...";
statusDiv.classList.remove(
"alert-success",
"alert-danger",
"alert-info"
);
statusDiv.classList.add("alert-info");
// Ensure elements exist before accessing their values
const nameInput = document.getElementById("full-name");
const emailInput = document.getElementById("email");
const subjectInput = document.getElementById("subject");
const messageInput = document.getElementById("message");
const budgetInput = document.getElementById("budget");
const phoneInput = document.getElementById("phone");
if (
!nameInput ||
!emailInput ||
!subjectInput ||
!messageInput ||
!budgetInput ||
!phoneInput
) {
console.error("One or more form elements are missing.");
statusDiv.textContent = "Form error: missing input fields.";
statusDiv.classList.add("alert-danger");
return;
}
// Collect form data safely
const formData = {
name: nameInput.value.trim(),
email: emailInput.value.trim(),
subject: subjectInput.value.trim(),
message: messageInput.value.trim(),
budget: budgetInput.value.trim() || "unknown",
phone: phoneInput.value.trim(),
};
try {
const response = await fetch(
"https://api.elysiumcode.co.uk/v2/contact",
{
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify(formData),
}
);
const result = await response.json(); // Parse JSON response
if (response.ok && result.statusCode === 200) {
statusDiv.textContent =
result.message || "Thank you! Your message has been sent.";
statusDiv.classList.add("alert-success");
form.reset(); // Reset form after success
} else {
statusDiv.textContent =
result.message || "An error occurred. Please try again.";
statusDiv.classList.add("alert-danger");
}
} catch (error) {
console.error("Error:", error);
statusDiv.textContent =
"An unexpected error occurred. Please try again later.";
statusDiv.classList.add("alert-danger");
}
});
});
</script>
<script type="application/ld+json">
{
"@context": "https:\/\/schema.org",
"@type": "W
Open service 2600:9000:213f:ec00:f:2e55:d000:93a1:80 · elysiumcode.co.uk
2026-01-07 01:48
HTTP/1.1 301 Moved Permanently Server: CloudFront Date: Wed, 07 Jan 2026 01:48:30 GMT Content-Type: text/html Content-Length: 167 Connection: close Location: https://elysiumcode.co.uk/ X-Cache: Redirect from cloudfront Via: 1.1 bdc2f66522ff252ddfe00f314b451db4.cloudfront.net (CloudFront) X-Amz-Cf-Pop: FRA56-P15 X-Amz-Cf-Id: xQtsBAzPX_K7eyuC5Gn9Z7_PpCheB-zXUtN2d1bcRJpd0ZIbbyn7Nw== Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>CloudFront</center> </body> </html>
Open service 2600:9000:2130:7400:f:2e55:d000:93a1:443 · elysiumcode.co.uk
2026-01-07 01:48
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 123107
Connection: close
Last-Modified: Wed, 01 Oct 2025 13:18:44 GMT
Server: AmazonS3
Date: Tue, 06 Jan 2026 17:35:52 GMT
ETag: "612ec9697ce7b508e594db94f2b6386c"
X-Cache: Hit from cloudfront
Via: 1.1 047c5fa8575511b704166d760b62c2de.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: FRA56-P15
X-Amz-Cf-Id: XVR5y_UUfylIYIq1oiBQN8_zP38NF_-7onKACj9aFYlksQbWxPnFFw==
Age: 29560
Page title: Elysium Code
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link
rel="icon"
type="image/x-icon"
href="https://elysium-assets.s3.eu-west-2.amazonaws.com/wp-content/uploads/favicon.webp"
/>
<title>Elysium Code</title>
<style>
img:is([sizes="auto" i], [sizes^="auto," i]) {
contain-intrinsic-size: 3000px 1500px;
}
</style>
<meta name="description" content="by Dave Henderson" />
<meta name="robots" content="index, follow" />
<meta
name="googlebot"
content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"
/>
<meta
name="bingbot"
content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"
/>
<link rel="canonical" href="/" />
<script>
document.addEventListener("DOMContentLoaded", function () {
const form = document.getElementById("contact-form");
const statusDiv = document.getElementById("form-status");
form.addEventListener("submit", async function (e) {
e.preventDefault(); // Prevent default form submission
statusDiv.style.display = "block";
statusDiv.textContent = "Sending...";
statusDiv.classList.remove(
"alert-success",
"alert-danger",
"alert-info"
);
statusDiv.classList.add("alert-info");
// Ensure elements exist before accessing their values
const nameInput = document.getElementById("full-name");
const emailInput = document.getElementById("email");
const subjectInput = document.getElementById("subject");
const messageInput = document.getElementById("message");
const budgetInput = document.getElementById("budget");
const phoneInput = document.getElementById("phone");
if (
!nameInput ||
!emailInput ||
!subjectInput ||
!messageInput ||
!budgetInput ||
!phoneInput
) {
console.error("One or more form elements are missing.");
statusDiv.textContent = "Form error: missing input fields.";
statusDiv.classList.add("alert-danger");
return;
}
// Collect form data safely
const formData = {
name: nameInput.value.trim(),
email: emailInput.value.trim(),
subject: subjectInput.value.trim(),
message: messageInput.value.trim(),
budget: budgetInput.value.trim() || "unknown",
phone: phoneInput.value.trim(),
};
try {
const response = await fetch(
"https://api.elysiumcode.co.uk/v2/contact",
{
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify(formData),
}
);
const result = await response.json(); // Parse JSON response
if (response.ok && result.statusCode === 200) {
statusDiv.textContent =
result.message || "Thank you! Your message has been sent.";
statusDiv.classList.add("alert-success");
form.reset(); // Reset form after success
} else {
statusDiv.textContent =
result.message || "An error occurred. Please try again.";
statusDiv.classList.add("alert-danger");
}
} catch (error) {
console.error("Error:", error);
statusDiv.textContent =
"An unexpected error occurred. Please try again later.";
statusDiv.classList.add("alert-danger");
}
});
});
</script>
<script type="application/ld+json">
{
"@context": "https:\/\/schema.org",
"@type": "W
Open service 2600:9000:2130:7400:f:2e55:d000:93a1:80 · elysiumcode.co.uk
2026-01-07 01:48
HTTP/1.1 301 Moved Permanently Server: CloudFront Date: Wed, 07 Jan 2026 01:48:31 GMT Content-Type: text/html Content-Length: 167 Connection: close Location: https://elysiumcode.co.uk/ X-Cache: Redirect from cloudfront Via: 1.1 d993fa3990c2c3b77bd6ce348bd4d906.cloudfront.net (CloudFront) X-Amz-Cf-Pop: FRA56-P15 X-Amz-Cf-Id: 91pY5Dag_E2ATWwxupoiDlk0wc9S5YyzCLqHMcyuP1I1pDLlB-nM4A== Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>CloudFront</center> </body> </html>
Open service 54.192.35.61:443 · elysiumcode.co.uk
2026-01-07 01:48
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 123107
Connection: close
Last-Modified: Wed, 01 Oct 2025 13:18:44 GMT
Server: AmazonS3
Date: Tue, 06 Jan 2026 17:35:52 GMT
ETag: "612ec9697ce7b508e594db94f2b6386c"
X-Cache: Hit from cloudfront
Via: 1.1 3d480488f7a8eb5936707daa5d7639b4.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: FRA56-P15
X-Amz-Cf-Id: d5rEGoRDFT35R_h207KSccri1nm3LR0Ei4kOUE09LQUJyEw7G4KEzA==
Age: 29560
Page title: Elysium Code
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link
rel="icon"
type="image/x-icon"
href="https://elysium-assets.s3.eu-west-2.amazonaws.com/wp-content/uploads/favicon.webp"
/>
<title>Elysium Code</title>
<style>
img:is([sizes="auto" i], [sizes^="auto," i]) {
contain-intrinsic-size: 3000px 1500px;
}
</style>
<meta name="description" content="by Dave Henderson" />
<meta name="robots" content="index, follow" />
<meta
name="googlebot"
content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"
/>
<meta
name="bingbot"
content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"
/>
<link rel="canonical" href="/" />
<script>
document.addEventListener("DOMContentLoaded", function () {
const form = document.getElementById("contact-form");
const statusDiv = document.getElementById("form-status");
form.addEventListener("submit", async function (e) {
e.preventDefault(); // Prevent default form submission
statusDiv.style.display = "block";
statusDiv.textContent = "Sending...";
statusDiv.classList.remove(
"alert-success",
"alert-danger",
"alert-info"
);
statusDiv.classList.add("alert-info");
// Ensure elements exist before accessing their values
const nameInput = document.getElementById("full-name");
const emailInput = document.getElementById("email");
const subjectInput = document.getElementById("subject");
const messageInput = document.getElementById("message");
const budgetInput = document.getElementById("budget");
const phoneInput = document.getElementById("phone");
if (
!nameInput ||
!emailInput ||
!subjectInput ||
!messageInput ||
!budgetInput ||
!phoneInput
) {
console.error("One or more form elements are missing.");
statusDiv.textContent = "Form error: missing input fields.";
statusDiv.classList.add("alert-danger");
return;
}
// Collect form data safely
const formData = {
name: nameInput.value.trim(),
email: emailInput.value.trim(),
subject: subjectInput.value.trim(),
message: messageInput.value.trim(),
budget: budgetInput.value.trim() || "unknown",
phone: phoneInput.value.trim(),
};
try {
const response = await fetch(
"https://api.elysiumcode.co.uk/v2/contact",
{
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify(formData),
}
);
const result = await response.json(); // Parse JSON response
if (response.ok && result.statusCode === 200) {
statusDiv.textContent =
result.message || "Thank you! Your message has been sent.";
statusDiv.classList.add("alert-success");
form.reset(); // Reset form after success
} else {
statusDiv.textContent =
result.message || "An error occurred. Please try again.";
statusDiv.classList.add("alert-danger");
}
} catch (error) {
console.error("Error:", error);
statusDiv.textContent =
"An unexpected error occurred. Please try again later.";
statusDiv.classList.add("alert-danger");
}
});
});
</script>
<script type="application/ld+json">
{
"@context": "https:\/\/schema.org",
"@type": "W
Open service 54.192.35.73:80 · elysiumcode.co.uk
2026-01-07 01:48
HTTP/1.1 301 Moved Permanently Server: CloudFront Date: Wed, 07 Jan 2026 01:48:31 GMT Content-Type: text/html Content-Length: 167 Connection: close Location: https://elysiumcode.co.uk/ X-Cache: Redirect from cloudfront Via: 1.1 bdc2f66522ff252ddfe00f314b451db4.cloudfront.net (CloudFront) X-Amz-Cf-Pop: FRA56-P15 X-Amz-Cf-Id: hJl_1H6hJQ_AvZOm_txxXOtOxjSCeY47exvnQXIBOw1zgwVzGcKNkQ== Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>CloudFront</center> </body> </html>
Open service 54.192.35.73:443 · elysiumcode.co.uk
2026-01-07 01:48
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 123107
Connection: close
Last-Modified: Wed, 01 Oct 2025 13:18:44 GMT
Server: AmazonS3
Date: Tue, 06 Jan 2026 17:35:52 GMT
ETag: "612ec9697ce7b508e594db94f2b6386c"
X-Cache: Hit from cloudfront
Via: 1.1 c683ff121fe088b26b026e31d2d1adce.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: FRA56-P15
X-Amz-Cf-Id: hgR7TWFAXRrdJ3tAXfe5mqzKjncmJhuVIIU11I2UP7LyYedTibMRVg==
Age: 29560
Page title: Elysium Code
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link
rel="icon"
type="image/x-icon"
href="https://elysium-assets.s3.eu-west-2.amazonaws.com/wp-content/uploads/favicon.webp"
/>
<title>Elysium Code</title>
<style>
img:is([sizes="auto" i], [sizes^="auto," i]) {
contain-intrinsic-size: 3000px 1500px;
}
</style>
<meta name="description" content="by Dave Henderson" />
<meta name="robots" content="index, follow" />
<meta
name="googlebot"
content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"
/>
<meta
name="bingbot"
content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"
/>
<link rel="canonical" href="/" />
<script>
document.addEventListener("DOMContentLoaded", function () {
const form = document.getElementById("contact-form");
const statusDiv = document.getElementById("form-status");
form.addEventListener("submit", async function (e) {
e.preventDefault(); // Prevent default form submission
statusDiv.style.display = "block";
statusDiv.textContent = "Sending...";
statusDiv.classList.remove(
"alert-success",
"alert-danger",
"alert-info"
);
statusDiv.classList.add("alert-info");
// Ensure elements exist before accessing their values
const nameInput = document.getElementById("full-name");
const emailInput = document.getElementById("email");
const subjectInput = document.getElementById("subject");
const messageInput = document.getElementById("message");
const budgetInput = document.getElementById("budget");
const phoneInput = document.getElementById("phone");
if (
!nameInput ||
!emailInput ||
!subjectInput ||
!messageInput ||
!budgetInput ||
!phoneInput
) {
console.error("One or more form elements are missing.");
statusDiv.textContent = "Form error: missing input fields.";
statusDiv.classList.add("alert-danger");
return;
}
// Collect form data safely
const formData = {
name: nameInput.value.trim(),
email: emailInput.value.trim(),
subject: subjectInput.value.trim(),
message: messageInput.value.trim(),
budget: budgetInput.value.trim() || "unknown",
phone: phoneInput.value.trim(),
};
try {
const response = await fetch(
"https://api.elysiumcode.co.uk/v2/contact",
{
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify(formData),
}
);
const result = await response.json(); // Parse JSON response
if (response.ok && result.statusCode === 200) {
statusDiv.textContent =
result.message || "Thank you! Your message has been sent.";
statusDiv.classList.add("alert-success");
form.reset(); // Reset form after success
} else {
statusDiv.textContent =
result.message || "An error occurred. Please try again.";
statusDiv.classList.add("alert-danger");
}
} catch (error) {
console.error("Error:", error);
statusDiv.textContent =
"An unexpected error occurred. Please try again later.";
statusDiv.classList.add("alert-danger");
}
});
});
</script>
<script type="application/ld+json">
{
"@context": "https:\/\/schema.org",
"@type": "W
Open service 2600:9000:2130:0:f:2e55:d000:93a1:80 · elysiumcode.co.uk
2026-01-07 01:48
HTTP/1.1 301 Moved Permanently Server: CloudFront Date: Wed, 07 Jan 2026 01:48:30 GMT Content-Type: text/html Content-Length: 167 Connection: close Location: https://elysiumcode.co.uk/ X-Cache: Redirect from cloudfront Via: 1.1 173e1f9e40c2df572d404097afea2570.cloudfront.net (CloudFront) X-Amz-Cf-Pop: FRA56-P15 X-Amz-Cf-Id: Z7kl9LrpgBsgG7RwG7hAnnlbB_5zPX0QXIZL2KPYq24B0N_fXjCxoA== Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>CloudFront</center> </body> </html>
Open service 2600:9000:26db:0:f:2e55:d000:93a1:80 · www.elysiumcode.co.uk
2026-01-07 01:48
HTTP/1.1 301 Moved Permanently Server: CloudFront Date: Wed, 07 Jan 2026 01:48:30 GMT Content-Type: text/html Content-Length: 167 Connection: close Location: https://www.elysiumcode.co.uk/ X-Cache: Redirect from cloudfront Via: 1.1 50cfe0dc07dec77718bfa8346e608936.cloudfront.net (CloudFront) X-Amz-Cf-Pop: MUC50-P3 X-Amz-Cf-Id: OsYdLrmPNSx9oxJ_TJg1HiB8nBz_IFHcSWWapK3GeA1n4SJnUVxf_A== Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>CloudFront</center> </body> </html>
Open service 2600:9000:2130:bc00:f:2e55:d000:93a1:443 · elysiumcode.co.uk
2026-01-07 01:48
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 123107
Connection: close
Last-Modified: Wed, 01 Oct 2025 13:18:44 GMT
Server: AmazonS3
Date: Tue, 06 Jan 2026 17:35:52 GMT
ETag: "612ec9697ce7b508e594db94f2b6386c"
X-Cache: Hit from cloudfront
Via: 1.1 2ce2e2dbbabc50ee771ee7128c823f30.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: FRA56-P15
X-Amz-Cf-Id: YW9Ph0OxYUC_uGry86Y9AEztwFsgGuWR5xBfJ9bIfxwTPdnU7nDSyQ==
Age: 29559
Page title: Elysium Code
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link
rel="icon"
type="image/x-icon"
href="https://elysium-assets.s3.eu-west-2.amazonaws.com/wp-content/uploads/favicon.webp"
/>
<title>Elysium Code</title>
<style>
img:is([sizes="auto" i], [sizes^="auto," i]) {
contain-intrinsic-size: 3000px 1500px;
}
</style>
<meta name="description" content="by Dave Henderson" />
<meta name="robots" content="index, follow" />
<meta
name="googlebot"
content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"
/>
<meta
name="bingbot"
content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"
/>
<link rel="canonical" href="/" />
<script>
document.addEventListener("DOMContentLoaded", function () {
const form = document.getElementById("contact-form");
const statusDiv = document.getElementById("form-status");
form.addEventListener("submit", async function (e) {
e.preventDefault(); // Prevent default form submission
statusDiv.style.display = "block";
statusDiv.textContent = "Sending...";
statusDiv.classList.remove(
"alert-success",
"alert-danger",
"alert-info"
);
statusDiv.classList.add("alert-info");
// Ensure elements exist before accessing their values
const nameInput = document.getElementById("full-name");
const emailInput = document.getElementById("email");
const subjectInput = document.getElementById("subject");
const messageInput = document.getElementById("message");
const budgetInput = document.getElementById("budget");
const phoneInput = document.getElementById("phone");
if (
!nameInput ||
!emailInput ||
!subjectInput ||
!messageInput ||
!budgetInput ||
!phoneInput
) {
console.error("One or more form elements are missing.");
statusDiv.textContent = "Form error: missing input fields.";
statusDiv.classList.add("alert-danger");
return;
}
// Collect form data safely
const formData = {
name: nameInput.value.trim(),
email: emailInput.value.trim(),
subject: subjectInput.value.trim(),
message: messageInput.value.trim(),
budget: budgetInput.value.trim() || "unknown",
phone: phoneInput.value.trim(),
};
try {
const response = await fetch(
"https://api.elysiumcode.co.uk/v2/contact",
{
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify(formData),
}
);
const result = await response.json(); // Parse JSON response
if (response.ok && result.statusCode === 200) {
statusDiv.textContent =
result.message || "Thank you! Your message has been sent.";
statusDiv.classList.add("alert-success");
form.reset(); // Reset form after success
} else {
statusDiv.textContent =
result.message || "An error occurred. Please try again.";
statusDiv.classList.add("alert-danger");
}
} catch (error) {
console.error("Error:", error);
statusDiv.textContent =
"An unexpected error occurred. Please try again later.";
statusDiv.classList.add("alert-danger");
}
});
});
</script>
<script type="application/ld+json">
{
"@context": "https:\/\/schema.org",
"@type": "W
Open service 54.192.35.68:443 · elysiumcode.co.uk
2026-01-07 01:48
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 123107
Connection: close
Last-Modified: Wed, 01 Oct 2025 13:18:44 GMT
Server: AmazonS3
Date: Tue, 06 Jan 2026 17:35:52 GMT
ETag: "612ec9697ce7b508e594db94f2b6386c"
X-Cache: Hit from cloudfront
Via: 1.1 8ea9a6eb93f7fd49bf84cfddbbf8b7b2.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: FRA56-P15
X-Amz-Cf-Id: FOgCxneUjQ8erhc4oyLFSPewyW5JoAAuS7rwzsZTc7Gl0mWqZxD1XQ==
Age: 29560
Page title: Elysium Code
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link
rel="icon"
type="image/x-icon"
href="https://elysium-assets.s3.eu-west-2.amazonaws.com/wp-content/uploads/favicon.webp"
/>
<title>Elysium Code</title>
<style>
img:is([sizes="auto" i], [sizes^="auto," i]) {
contain-intrinsic-size: 3000px 1500px;
}
</style>
<meta name="description" content="by Dave Henderson" />
<meta name="robots" content="index, follow" />
<meta
name="googlebot"
content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"
/>
<meta
name="bingbot"
content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"
/>
<link rel="canonical" href="/" />
<script>
document.addEventListener("DOMContentLoaded", function () {
const form = document.getElementById("contact-form");
const statusDiv = document.getElementById("form-status");
form.addEventListener("submit", async function (e) {
e.preventDefault(); // Prevent default form submission
statusDiv.style.display = "block";
statusDiv.textContent = "Sending...";
statusDiv.classList.remove(
"alert-success",
"alert-danger",
"alert-info"
);
statusDiv.classList.add("alert-info");
// Ensure elements exist before accessing their values
const nameInput = document.getElementById("full-name");
const emailInput = document.getElementById("email");
const subjectInput = document.getElementById("subject");
const messageInput = document.getElementById("message");
const budgetInput = document.getElementById("budget");
const phoneInput = document.getElementById("phone");
if (
!nameInput ||
!emailInput ||
!subjectInput ||
!messageInput ||
!budgetInput ||
!phoneInput
) {
console.error("One or more form elements are missing.");
statusDiv.textContent = "Form error: missing input fields.";
statusDiv.classList.add("alert-danger");
return;
}
// Collect form data safely
const formData = {
name: nameInput.value.trim(),
email: emailInput.value.trim(),
subject: subjectInput.value.trim(),
message: messageInput.value.trim(),
budget: budgetInput.value.trim() || "unknown",
phone: phoneInput.value.trim(),
};
try {
const response = await fetch(
"https://api.elysiumcode.co.uk/v2/contact",
{
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify(formData),
}
);
const result = await response.json(); // Parse JSON response
if (response.ok && result.statusCode === 200) {
statusDiv.textContent =
result.message || "Thank you! Your message has been sent.";
statusDiv.classList.add("alert-success");
form.reset(); // Reset form after success
} else {
statusDiv.textContent =
result.message || "An error occurred. Please try again.";
statusDiv.classList.add("alert-danger");
}
} catch (error) {
console.error("Error:", error);
statusDiv.textContent =
"An unexpected error occurred. Please try again later.";
statusDiv.classList.add("alert-danger");
}
});
});
</script>
<script type="application/ld+json">
{
"@context": "https:\/\/schema.org",
"@type": "W
Open service 2600:9000:26db:ac00:f:2e55:d000:93a1:80 · www.elysiumcode.co.uk
2026-01-07 01:48
HTTP/1.1 301 Moved Permanently Server: CloudFront Date: Wed, 07 Jan 2026 01:48:30 GMT Content-Type: text/html Content-Length: 167 Connection: close Location: https://www.elysiumcode.co.uk/ X-Cache: Redirect from cloudfront Via: 1.1 918459d66ab0cca4258acacb6d3f6edc.cloudfront.net (CloudFront) X-Amz-Cf-Pop: MUC50-P3 X-Amz-Cf-Id: pCArjU5LpeMWyuUQwLunU3et1qXXSeDfC6arndor1POVWqJX91xJCg== Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>CloudFront</center> </body> </html>
Open service 2600:9000:26db:7200:f:2e55:d000:93a1:443 · www.elysiumcode.co.uk
2026-01-07 01:48
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 123107
Connection: close
Date: Wed, 07 Jan 2026 01:48:29 GMT
Last-Modified: Wed, 01 Oct 2025 13:18:44 GMT
ETag: "612ec9697ce7b508e594db94f2b6386c"
Server: AmazonS3
X-Cache: Hit from cloudfront
Via: 1.1 18d0e038a55eccdc9f0ad716edf64962.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: MUC50-P3
X-Amz-Cf-Id: RaSsfZcnFwqidd8rJSNRa5_uJAAxtE0tlsAwugUIBRpb0MeJdq0aSw==
Age: 2
Page title: Elysium Code
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link
rel="icon"
type="image/x-icon"
href="https://elysium-assets.s3.eu-west-2.amazonaws.com/wp-content/uploads/favicon.webp"
/>
<title>Elysium Code</title>
<style>
img:is([sizes="auto" i], [sizes^="auto," i]) {
contain-intrinsic-size: 3000px 1500px;
}
</style>
<meta name="description" content="by Dave Henderson" />
<meta name="robots" content="index, follow" />
<meta
name="googlebot"
content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"
/>
<meta
name="bingbot"
content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"
/>
<link rel="canonical" href="/" />
<script>
document.addEventListener("DOMContentLoaded", function () {
const form = document.getElementById("contact-form");
const statusDiv = document.getElementById("form-status");
form.addEventListener("submit", async function (e) {
e.preventDefault(); // Prevent default form submission
statusDiv.style.display = "block";
statusDiv.textContent = "Sending...";
statusDiv.classList.remove(
"alert-success",
"alert-danger",
"alert-info"
);
statusDiv.classList.add("alert-info");
// Ensure elements exist before accessing their values
const nameInput = document.getElementById("full-name");
const emailInput = document.getElementById("email");
const subjectInput = document.getElementById("subject");
const messageInput = document.getElementById("message");
const budgetInput = document.getElementById("budget");
const phoneInput = document.getElementById("phone");
if (
!nameInput ||
!emailInput ||
!subjectInput ||
!messageInput ||
!budgetInput ||
!phoneInput
) {
console.error("One or more form elements are missing.");
statusDiv.textContent = "Form error: missing input fields.";
statusDiv.classList.add("alert-danger");
return;
}
// Collect form data safely
const formData = {
name: nameInput.value.trim(),
email: emailInput.value.trim(),
subject: subjectInput.value.trim(),
message: messageInput.value.trim(),
budget: budgetInput.value.trim() || "unknown",
phone: phoneInput.value.trim(),
};
try {
const response = await fetch(
"https://api.elysiumcode.co.uk/v2/contact",
{
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify(formData),
}
);
const result = await response.json(); // Parse JSON response
if (response.ok && result.statusCode === 200) {
statusDiv.textContent =
result.message || "Thank you! Your message has been sent.";
statusDiv.classList.add("alert-success");
form.reset(); // Reset form after success
} else {
statusDiv.textContent =
result.message || "An error occurred. Please try again.";
statusDiv.classList.add("alert-danger");
}
} catch (error) {
console.error("Error:", error);
statusDiv.textContent =
"An unexpected error occurred. Please try again later.";
statusDiv.classList.add("alert-danger");
}
});
});
</script>
<script type="application/ld+json">
{
"@context": "https:\/\/schema.org",
"@type": "W
Open service 2600:9000:26db:3600:f:2e55:d000:93a1:443 · www.elysiumcode.co.uk
2026-01-07 01:48
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 123107
Connection: close
Date: Wed, 07 Jan 2026 01:48:29 GMT
Last-Modified: Wed, 01 Oct 2025 13:18:44 GMT
ETag: "612ec9697ce7b508e594db94f2b6386c"
Server: AmazonS3
X-Cache: Hit from cloudfront
Via: 1.1 a29f8f45a0707c5c9e054636ff51dce8.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: MUC50-P3
X-Amz-Cf-Id: 0mHe9rkEmYqxCZ55ZFAffI1z2TYj94EefsRQViQM-TH94bMHK3cvow==
Age: 2
Page title: Elysium Code
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link
rel="icon"
type="image/x-icon"
href="https://elysium-assets.s3.eu-west-2.amazonaws.com/wp-content/uploads/favicon.webp"
/>
<title>Elysium Code</title>
<style>
img:is([sizes="auto" i], [sizes^="auto," i]) {
contain-intrinsic-size: 3000px 1500px;
}
</style>
<meta name="description" content="by Dave Henderson" />
<meta name="robots" content="index, follow" />
<meta
name="googlebot"
content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"
/>
<meta
name="bingbot"
content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"
/>
<link rel="canonical" href="/" />
<script>
document.addEventListener("DOMContentLoaded", function () {
const form = document.getElementById("contact-form");
const statusDiv = document.getElementById("form-status");
form.addEventListener("submit", async function (e) {
e.preventDefault(); // Prevent default form submission
statusDiv.style.display = "block";
statusDiv.textContent = "Sending...";
statusDiv.classList.remove(
"alert-success",
"alert-danger",
"alert-info"
);
statusDiv.classList.add("alert-info");
// Ensure elements exist before accessing their values
const nameInput = document.getElementById("full-name");
const emailInput = document.getElementById("email");
const subjectInput = document.getElementById("subject");
const messageInput = document.getElementById("message");
const budgetInput = document.getElementById("budget");
const phoneInput = document.getElementById("phone");
if (
!nameInput ||
!emailInput ||
!subjectInput ||
!messageInput ||
!budgetInput ||
!phoneInput
) {
console.error("One or more form elements are missing.");
statusDiv.textContent = "Form error: missing input fields.";
statusDiv.classList.add("alert-danger");
return;
}
// Collect form data safely
const formData = {
name: nameInput.value.trim(),
email: emailInput.value.trim(),
subject: subjectInput.value.trim(),
message: messageInput.value.trim(),
budget: budgetInput.value.trim() || "unknown",
phone: phoneInput.value.trim(),
};
try {
const response = await fetch(
"https://api.elysiumcode.co.uk/v2/contact",
{
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify(formData),
}
);
const result = await response.json(); // Parse JSON response
if (response.ok && result.statusCode === 200) {
statusDiv.textContent =
result.message || "Thank you! Your message has been sent.";
statusDiv.classList.add("alert-success");
form.reset(); // Reset form after success
} else {
statusDiv.textContent =
result.message || "An error occurred. Please try again.";
statusDiv.classList.add("alert-danger");
}
} catch (error) {
console.error("Error:", error);
statusDiv.textContent =
"An unexpected error occurred. Please try again later.";
statusDiv.classList.add("alert-danger");
}
});
});
</script>
<script type="application/ld+json">
{
"@context": "https:\/\/schema.org",
"@type": "W
Open service 2600:9000:213f:6a00:f:2e55:d000:93a1:80 · elysiumcode.co.uk
2026-01-07 01:48
HTTP/1.1 301 Moved Permanently Server: CloudFront Date: Wed, 07 Jan 2026 01:48:30 GMT Content-Type: text/html Content-Length: 167 Connection: close Location: https://elysiumcode.co.uk/ X-Cache: Redirect from cloudfront Via: 1.1 6b8312e115a12f6d9b6300d563e527ba.cloudfront.net (CloudFront) X-Amz-Cf-Pop: FRA56-P15 X-Amz-Cf-Id: pXh5eikppQ7rbqTJEO5QcgNioFS2ujKWTYeAMP-kzRciq_r_9WSFTw== Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>CloudFront</center> </body> </html>
Open service 2600:9000:213f:ce00:f:2e55:d000:93a1:443 · elysiumcode.co.uk
2026-01-07 01:48
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 123107
Connection: close
Last-Modified: Wed, 01 Oct 2025 13:18:44 GMT
Server: AmazonS3
Date: Tue, 06 Jan 2026 17:35:52 GMT
ETag: "612ec9697ce7b508e594db94f2b6386c"
X-Cache: Hit from cloudfront
Via: 1.1 262e9bd80864e82dd3bf98eedc41b28e.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: FRA56-P15
X-Amz-Cf-Id: A-I02ZXTIMuuPpe7ii1NyHjqN5piqfQoCa-Qe_vlDN2IP-ww0ASsoQ==
Age: 29559
Page title: Elysium Code
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link
rel="icon"
type="image/x-icon"
href="https://elysium-assets.s3.eu-west-2.amazonaws.com/wp-content/uploads/favicon.webp"
/>
<title>Elysium Code</title>
<style>
img:is([sizes="auto" i], [sizes^="auto," i]) {
contain-intrinsic-size: 3000px 1500px;
}
</style>
<meta name="description" content="by Dave Henderson" />
<meta name="robots" content="index, follow" />
<meta
name="googlebot"
content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"
/>
<meta
name="bingbot"
content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"
/>
<link rel="canonical" href="/" />
<script>
document.addEventListener("DOMContentLoaded", function () {
const form = document.getElementById("contact-form");
const statusDiv = document.getElementById("form-status");
form.addEventListener("submit", async function (e) {
e.preventDefault(); // Prevent default form submission
statusDiv.style.display = "block";
statusDiv.textContent = "Sending...";
statusDiv.classList.remove(
"alert-success",
"alert-danger",
"alert-info"
);
statusDiv.classList.add("alert-info");
// Ensure elements exist before accessing their values
const nameInput = document.getElementById("full-name");
const emailInput = document.getElementById("email");
const subjectInput = document.getElementById("subject");
const messageInput = document.getElementById("message");
const budgetInput = document.getElementById("budget");
const phoneInput = document.getElementById("phone");
if (
!nameInput ||
!emailInput ||
!subjectInput ||
!messageInput ||
!budgetInput ||
!phoneInput
) {
console.error("One or more form elements are missing.");
statusDiv.textContent = "Form error: missing input fields.";
statusDiv.classList.add("alert-danger");
return;
}
// Collect form data safely
const formData = {
name: nameInput.value.trim(),
email: emailInput.value.trim(),
subject: subjectInput.value.trim(),
message: messageInput.value.trim(),
budget: budgetInput.value.trim() || "unknown",
phone: phoneInput.value.trim(),
};
try {
const response = await fetch(
"https://api.elysiumcode.co.uk/v2/contact",
{
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify(formData),
}
);
const result = await response.json(); // Parse JSON response
if (response.ok && result.statusCode === 200) {
statusDiv.textContent =
result.message || "Thank you! Your message has been sent.";
statusDiv.classList.add("alert-success");
form.reset(); // Reset form after success
} else {
statusDiv.textContent =
result.message || "An error occurred. Please try again.";
statusDiv.classList.add("alert-danger");
}
} catch (error) {
console.error("Error:", error);
statusDiv.textContent =
"An unexpected error occurred. Please try again later.";
statusDiv.classList.add("alert-danger");
}
});
});
</script>
<script type="application/ld+json">
{
"@context": "https:\/\/schema.org",
"@type": "W
Open service 54.192.35.61:80 · elysiumcode.co.uk
2026-01-07 01:48
HTTP/1.1 301 Moved Permanently Server: CloudFront Date: Wed, 07 Jan 2026 01:48:30 GMT Content-Type: text/html Content-Length: 167 Connection: close Location: https://elysiumcode.co.uk/ X-Cache: Redirect from cloudfront Via: 1.1 3ef5c03dd71c86534626e0ed026ad3d2.cloudfront.net (CloudFront) X-Amz-Cf-Pop: FRA56-P15 X-Amz-Cf-Id: YIzSFhLtFG1Pbu4Lmn5UnY-gtUIc3gL5Kn5q_xNt0tmqbj4jfvmVpg== Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>CloudFront</center> </body> </html>
Open service 54.192.35.55:443 · elysiumcode.co.uk
2026-01-07 01:48
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 123107
Connection: close
Last-Modified: Wed, 01 Oct 2025 13:18:44 GMT
Server: AmazonS3
Date: Tue, 06 Jan 2026 17:35:52 GMT
ETag: "612ec9697ce7b508e594db94f2b6386c"
X-Cache: Hit from cloudfront
Via: 1.1 a16f1fe9224bb87d6515221a5b907364.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: FRA56-P15
X-Amz-Cf-Id: lse4ssRkVIx6w-Fb9xppX5zr-Lvfwn-lXDxPcXldY1PPjZp0fJMWgw==
Age: 29560
Page title: Elysium Code
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link
rel="icon"
type="image/x-icon"
href="https://elysium-assets.s3.eu-west-2.amazonaws.com/wp-content/uploads/favicon.webp"
/>
<title>Elysium Code</title>
<style>
img:is([sizes="auto" i], [sizes^="auto," i]) {
contain-intrinsic-size: 3000px 1500px;
}
</style>
<meta name="description" content="by Dave Henderson" />
<meta name="robots" content="index, follow" />
<meta
name="googlebot"
content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"
/>
<meta
name="bingbot"
content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"
/>
<link rel="canonical" href="/" />
<script>
document.addEventListener("DOMContentLoaded", function () {
const form = document.getElementById("contact-form");
const statusDiv = document.getElementById("form-status");
form.addEventListener("submit", async function (e) {
e.preventDefault(); // Prevent default form submission
statusDiv.style.display = "block";
statusDiv.textContent = "Sending...";
statusDiv.classList.remove(
"alert-success",
"alert-danger",
"alert-info"
);
statusDiv.classList.add("alert-info");
// Ensure elements exist before accessing their values
const nameInput = document.getElementById("full-name");
const emailInput = document.getElementById("email");
const subjectInput = document.getElementById("subject");
const messageInput = document.getElementById("message");
const budgetInput = document.getElementById("budget");
const phoneInput = document.getElementById("phone");
if (
!nameInput ||
!emailInput ||
!subjectInput ||
!messageInput ||
!budgetInput ||
!phoneInput
) {
console.error("One or more form elements are missing.");
statusDiv.textContent = "Form error: missing input fields.";
statusDiv.classList.add("alert-danger");
return;
}
// Collect form data safely
const formData = {
name: nameInput.value.trim(),
email: emailInput.value.trim(),
subject: subjectInput.value.trim(),
message: messageInput.value.trim(),
budget: budgetInput.value.trim() || "unknown",
phone: phoneInput.value.trim(),
};
try {
const response = await fetch(
"https://api.elysiumcode.co.uk/v2/contact",
{
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify(formData),
}
);
const result = await response.json(); // Parse JSON response
if (response.ok && result.statusCode === 200) {
statusDiv.textContent =
result.message || "Thank you! Your message has been sent.";
statusDiv.classList.add("alert-success");
form.reset(); // Reset form after success
} else {
statusDiv.textContent =
result.message || "An error occurred. Please try again.";
statusDiv.classList.add("alert-danger");
}
} catch (error) {
console.error("Error:", error);
statusDiv.textContent =
"An unexpected error occurred. Please try again later.";
statusDiv.classList.add("alert-danger");
}
});
});
</script>
<script type="application/ld+json">
{
"@context": "https:\/\/schema.org",
"@type": "W
Open service 54.192.35.55:80 · elysiumcode.co.uk
2026-01-07 01:48
HTTP/1.1 301 Moved Permanently Server: CloudFront Date: Wed, 07 Jan 2026 01:48:31 GMT Content-Type: text/html Content-Length: 167 Connection: close Location: https://elysiumcode.co.uk/ X-Cache: Redirect from cloudfront Via: 1.1 8cada61dd7719c6c0ad123c11e1964f6.cloudfront.net (CloudFront) X-Amz-Cf-Pop: FRA56-P15 X-Amz-Cf-Id: 8MCtpcFu_zCOk_BfuSzLwgMJsV6wrmlq2YpDZT-ewZqcosr4gqdrwA== Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>CloudFront</center> </body> </html>
Open service 18.173.154.6:443 · www.elysiumcode.co.uk
2026-01-07 01:48
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 123107
Connection: close
Date: Wed, 07 Jan 2026 01:48:29 GMT
Last-Modified: Wed, 01 Oct 2025 13:18:44 GMT
ETag: "612ec9697ce7b508e594db94f2b6386c"
Server: AmazonS3
X-Cache: Hit from cloudfront
Via: 1.1 d45f06116647d4cd21c9ad69cb1b14fc.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: MUC50-P3
X-Amz-Cf-Id: j6J2VGs764gFRPrQFDy0opjXW1_k_mVL4DRdJL-bTxk5PfJHMphd7A==
Age: 2
Page title: Elysium Code
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link
rel="icon"
type="image/x-icon"
href="https://elysium-assets.s3.eu-west-2.amazonaws.com/wp-content/uploads/favicon.webp"
/>
<title>Elysium Code</title>
<style>
img:is([sizes="auto" i], [sizes^="auto," i]) {
contain-intrinsic-size: 3000px 1500px;
}
</style>
<meta name="description" content="by Dave Henderson" />
<meta name="robots" content="index, follow" />
<meta
name="googlebot"
content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"
/>
<meta
name="bingbot"
content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"
/>
<link rel="canonical" href="/" />
<script>
document.addEventListener("DOMContentLoaded", function () {
const form = document.getElementById("contact-form");
const statusDiv = document.getElementById("form-status");
form.addEventListener("submit", async function (e) {
e.preventDefault(); // Prevent default form submission
statusDiv.style.display = "block";
statusDiv.textContent = "Sending...";
statusDiv.classList.remove(
"alert-success",
"alert-danger",
"alert-info"
);
statusDiv.classList.add("alert-info");
// Ensure elements exist before accessing their values
const nameInput = document.getElementById("full-name");
const emailInput = document.getElementById("email");
const subjectInput = document.getElementById("subject");
const messageInput = document.getElementById("message");
const budgetInput = document.getElementById("budget");
const phoneInput = document.getElementById("phone");
if (
!nameInput ||
!emailInput ||
!subjectInput ||
!messageInput ||
!budgetInput ||
!phoneInput
) {
console.error("One or more form elements are missing.");
statusDiv.textContent = "Form error: missing input fields.";
statusDiv.classList.add("alert-danger");
return;
}
// Collect form data safely
const formData = {
name: nameInput.value.trim(),
email: emailInput.value.trim(),
subject: subjectInput.value.trim(),
message: messageInput.value.trim(),
budget: budgetInput.value.trim() || "unknown",
phone: phoneInput.value.trim(),
};
try {
const response = await fetch(
"https://api.elysiumcode.co.uk/v2/contact",
{
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify(formData),
}
);
const result = await response.json(); // Parse JSON response
if (response.ok && result.statusCode === 200) {
statusDiv.textContent =
result.message || "Thank you! Your message has been sent.";
statusDiv.classList.add("alert-success");
form.reset(); // Reset form after success
} else {
statusDiv.textContent =
result.message || "An error occurred. Please try again.";
statusDiv.classList.add("alert-danger");
}
} catch (error) {
console.error("Error:", error);
statusDiv.textContent =
"An unexpected error occurred. Please try again later.";
statusDiv.classList.add("alert-danger");
}
});
});
</script>
<script type="application/ld+json">
{
"@context": "https:\/\/schema.org",
"@type": "W
Open service 18.173.154.41:80 · www.elysiumcode.co.uk
2026-01-07 01:48
HTTP/1.1 301 Moved Permanently Server: CloudFront Date: Wed, 07 Jan 2026 01:48:30 GMT Content-Type: text/html Content-Length: 167 Connection: close Location: https://www.elysiumcode.co.uk/ X-Cache: Redirect from cloudfront Via: 1.1 a29f8f45a0707c5c9e054636ff51dce8.cloudfront.net (CloudFront) X-Amz-Cf-Pop: MUC50-P3 X-Amz-Cf-Id: 4Ja6mx6YuS0Z8sRa94u9_ghiLLqicE4_nGhYl2EscQBSg0B7Z2iHXg== Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>CloudFront</center> </body> </html>
Open service 2600:9000:2130:3c00:f:2e55:d000:93a1:443 · elysiumcode.co.uk
2026-01-07 01:48
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 123107
Connection: close
Last-Modified: Wed, 01 Oct 2025 13:18:44 GMT
Server: AmazonS3
Date: Tue, 06 Jan 2026 17:35:52 GMT
ETag: "612ec9697ce7b508e594db94f2b6386c"
X-Cache: Hit from cloudfront
Via: 1.1 6b8312e115a12f6d9b6300d563e527ba.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: FRA56-P15
X-Amz-Cf-Id: -Ar5KRCVnrs-v8F9zuMBXtPmz34GOTQIHGElFznjq8_LnbzozG44gA==
Age: 29559
Page title: Elysium Code
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link
rel="icon"
type="image/x-icon"
href="https://elysium-assets.s3.eu-west-2.amazonaws.com/wp-content/uploads/favicon.webp"
/>
<title>Elysium Code</title>
<style>
img:is([sizes="auto" i], [sizes^="auto," i]) {
contain-intrinsic-size: 3000px 1500px;
}
</style>
<meta name="description" content="by Dave Henderson" />
<meta name="robots" content="index, follow" />
<meta
name="googlebot"
content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"
/>
<meta
name="bingbot"
content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"
/>
<link rel="canonical" href="/" />
<script>
document.addEventListener("DOMContentLoaded", function () {
const form = document.getElementById("contact-form");
const statusDiv = document.getElementById("form-status");
form.addEventListener("submit", async function (e) {
e.preventDefault(); // Prevent default form submission
statusDiv.style.display = "block";
statusDiv.textContent = "Sending...";
statusDiv.classList.remove(
"alert-success",
"alert-danger",
"alert-info"
);
statusDiv.classList.add("alert-info");
// Ensure elements exist before accessing their values
const nameInput = document.getElementById("full-name");
const emailInput = document.getElementById("email");
const subjectInput = document.getElementById("subject");
const messageInput = document.getElementById("message");
const budgetInput = document.getElementById("budget");
const phoneInput = document.getElementById("phone");
if (
!nameInput ||
!emailInput ||
!subjectInput ||
!messageInput ||
!budgetInput ||
!phoneInput
) {
console.error("One or more form elements are missing.");
statusDiv.textContent = "Form error: missing input fields.";
statusDiv.classList.add("alert-danger");
return;
}
// Collect form data safely
const formData = {
name: nameInput.value.trim(),
email: emailInput.value.trim(),
subject: subjectInput.value.trim(),
message: messageInput.value.trim(),
budget: budgetInput.value.trim() || "unknown",
phone: phoneInput.value.trim(),
};
try {
const response = await fetch(
"https://api.elysiumcode.co.uk/v2/contact",
{
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify(formData),
}
);
const result = await response.json(); // Parse JSON response
if (response.ok && result.statusCode === 200) {
statusDiv.textContent =
result.message || "Thank you! Your message has been sent.";
statusDiv.classList.add("alert-success");
form.reset(); // Reset form after success
} else {
statusDiv.textContent =
result.message || "An error occurred. Please try again.";
statusDiv.classList.add("alert-danger");
}
} catch (error) {
console.error("Error:", error);
statusDiv.textContent =
"An unexpected error occurred. Please try again later.";
statusDiv.classList.add("alert-danger");
}
});
});
</script>
<script type="application/ld+json">
{
"@context": "https:\/\/schema.org",
"@type": "W
Open service 2600:9000:2130:0:f:2e55:d000:93a1:443 · elysiumcode.co.uk
2026-01-07 01:48
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 123107
Connection: close
Last-Modified: Wed, 01 Oct 2025 13:18:44 GMT
Server: AmazonS3
Date: Tue, 06 Jan 2026 17:35:52 GMT
ETag: "612ec9697ce7b508e594db94f2b6386c"
X-Cache: Hit from cloudfront
Via: 1.1 e71b2a73b6598bfbcb4d4e5eff30bb0a.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: FRA56-P15
X-Amz-Cf-Id: 1cx07qm2-x_tz6-8ZzMdJRYWt8iwgBEudgKjYA77Rv22W_cZ1hKodQ==
Age: 29559
Page title: Elysium Code
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link
rel="icon"
type="image/x-icon"
href="https://elysium-assets.s3.eu-west-2.amazonaws.com/wp-content/uploads/favicon.webp"
/>
<title>Elysium Code</title>
<style>
img:is([sizes="auto" i], [sizes^="auto," i]) {
contain-intrinsic-size: 3000px 1500px;
}
</style>
<meta name="description" content="by Dave Henderson" />
<meta name="robots" content="index, follow" />
<meta
name="googlebot"
content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"
/>
<meta
name="bingbot"
content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"
/>
<link rel="canonical" href="/" />
<script>
document.addEventListener("DOMContentLoaded", function () {
const form = document.getElementById("contact-form");
const statusDiv = document.getElementById("form-status");
form.addEventListener("submit", async function (e) {
e.preventDefault(); // Prevent default form submission
statusDiv.style.display = "block";
statusDiv.textContent = "Sending...";
statusDiv.classList.remove(
"alert-success",
"alert-danger",
"alert-info"
);
statusDiv.classList.add("alert-info");
// Ensure elements exist before accessing their values
const nameInput = document.getElementById("full-name");
const emailInput = document.getElementById("email");
const subjectInput = document.getElementById("subject");
const messageInput = document.getElementById("message");
const budgetInput = document.getElementById("budget");
const phoneInput = document.getElementById("phone");
if (
!nameInput ||
!emailInput ||
!subjectInput ||
!messageInput ||
!budgetInput ||
!phoneInput
) {
console.error("One or more form elements are missing.");
statusDiv.textContent = "Form error: missing input fields.";
statusDiv.classList.add("alert-danger");
return;
}
// Collect form data safely
const formData = {
name: nameInput.value.trim(),
email: emailInput.value.trim(),
subject: subjectInput.value.trim(),
message: messageInput.value.trim(),
budget: budgetInput.value.trim() || "unknown",
phone: phoneInput.value.trim(),
};
try {
const response = await fetch(
"https://api.elysiumcode.co.uk/v2/contact",
{
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify(formData),
}
);
const result = await response.json(); // Parse JSON response
if (response.ok && result.statusCode === 200) {
statusDiv.textContent =
result.message || "Thank you! Your message has been sent.";
statusDiv.classList.add("alert-success");
form.reset(); // Reset form after success
} else {
statusDiv.textContent =
result.message || "An error occurred. Please try again.";
statusDiv.classList.add("alert-danger");
}
} catch (error) {
console.error("Error:", error);
statusDiv.textContent =
"An unexpected error occurred. Please try again later.";
statusDiv.classList.add("alert-danger");
}
});
});
</script>
<script type="application/ld+json">
{
"@context": "https:\/\/schema.org",
"@type": "W
Open service 2600:9000:213f:ce00:f:2e55:d000:93a1:80 · elysiumcode.co.uk
2026-01-07 01:48
HTTP/1.1 301 Moved Permanently Server: CloudFront Date: Wed, 07 Jan 2026 01:48:30 GMT Content-Type: text/html Content-Length: 167 Connection: close Location: https://elysiumcode.co.uk/ X-Cache: Redirect from cloudfront Via: 1.1 460946b9bf86c48cb663dc3e1d9d233e.cloudfront.net (CloudFront) X-Amz-Cf-Pop: FRA56-P15 X-Amz-Cf-Id: 3IVR6rsbgc_zcfkMZQ0D6QG6iRKWSDOvFzocumRdyHX9r_VWZZxvMA== Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>CloudFront</center> </body> </html>
Open service 18.173.154.41:443 · www.elysiumcode.co.uk
2026-01-07 01:48
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 123107
Connection: close
Date: Wed, 07 Jan 2026 01:48:29 GMT
Last-Modified: Wed, 01 Oct 2025 13:18:44 GMT
ETag: "612ec9697ce7b508e594db94f2b6386c"
Server: AmazonS3
X-Cache: Hit from cloudfront
Via: 1.1 667b60dd320c04dc9adf041517122fc2.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: MUC50-P3
X-Amz-Cf-Id: nzdiYu8h5LYX7wMDTfLqzfR7weBRxMQecb3EP6H6nW6fhBSIIHlRBg==
Age: 2
Page title: Elysium Code
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link
rel="icon"
type="image/x-icon"
href="https://elysium-assets.s3.eu-west-2.amazonaws.com/wp-content/uploads/favicon.webp"
/>
<title>Elysium Code</title>
<style>
img:is([sizes="auto" i], [sizes^="auto," i]) {
contain-intrinsic-size: 3000px 1500px;
}
</style>
<meta name="description" content="by Dave Henderson" />
<meta name="robots" content="index, follow" />
<meta
name="googlebot"
content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"
/>
<meta
name="bingbot"
content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"
/>
<link rel="canonical" href="/" />
<script>
document.addEventListener("DOMContentLoaded", function () {
const form = document.getElementById("contact-form");
const statusDiv = document.getElementById("form-status");
form.addEventListener("submit", async function (e) {
e.preventDefault(); // Prevent default form submission
statusDiv.style.display = "block";
statusDiv.textContent = "Sending...";
statusDiv.classList.remove(
"alert-success",
"alert-danger",
"alert-info"
);
statusDiv.classList.add("alert-info");
// Ensure elements exist before accessing their values
const nameInput = document.getElementById("full-name");
const emailInput = document.getElementById("email");
const subjectInput = document.getElementById("subject");
const messageInput = document.getElementById("message");
const budgetInput = document.getElementById("budget");
const phoneInput = document.getElementById("phone");
if (
!nameInput ||
!emailInput ||
!subjectInput ||
!messageInput ||
!budgetInput ||
!phoneInput
) {
console.error("One or more form elements are missing.");
statusDiv.textContent = "Form error: missing input fields.";
statusDiv.classList.add("alert-danger");
return;
}
// Collect form data safely
const formData = {
name: nameInput.value.trim(),
email: emailInput.value.trim(),
subject: subjectInput.value.trim(),
message: messageInput.value.trim(),
budget: budgetInput.value.trim() || "unknown",
phone: phoneInput.value.trim(),
};
try {
const response = await fetch(
"https://api.elysiumcode.co.uk/v2/contact",
{
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify(formData),
}
);
const result = await response.json(); // Parse JSON response
if (response.ok && result.statusCode === 200) {
statusDiv.textContent =
result.message || "Thank you! Your message has been sent.";
statusDiv.classList.add("alert-success");
form.reset(); // Reset form after success
} else {
statusDiv.textContent =
result.message || "An error occurred. Please try again.";
statusDiv.classList.add("alert-danger");
}
} catch (error) {
console.error("Error:", error);
statusDiv.textContent =
"An unexpected error occurred. Please try again later.";
statusDiv.classList.add("alert-danger");
}
});
});
</script>
<script type="application/ld+json">
{
"@context": "https:\/\/schema.org",
"@type": "W
Open service 2600:9000:2130:3c00:f:2e55:d000:93a1:80 · elysiumcode.co.uk
2026-01-07 01:48
HTTP/1.1 301 Moved Permanently Server: CloudFront Date: Wed, 07 Jan 2026 01:48:30 GMT Content-Type: text/html Content-Length: 167 Connection: close Location: https://elysiumcode.co.uk/ X-Cache: Redirect from cloudfront Via: 1.1 c683ff121fe088b26b026e31d2d1adce.cloudfront.net (CloudFront) X-Amz-Cf-Pop: FRA56-P15 X-Amz-Cf-Id: NNNk0RL8w6I0j6AFo1pFyUoeBVIMBAE6u64_m1BYtSy8fdt2Kj8-cQ== Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>CloudFront</center> </body> </html>
Open service 2600:9000:26db:2800:f:2e55:d000:93a1:80 · www.elysiumcode.co.uk
2026-01-07 01:48
HTTP/1.1 301 Moved Permanently Server: CloudFront Date: Wed, 07 Jan 2026 01:48:30 GMT Content-Type: text/html Content-Length: 167 Connection: close Location: https://www.elysiumcode.co.uk/ X-Cache: Redirect from cloudfront Via: 1.1 306e1cc20ffb597e5d6d7d7cc23384f4.cloudfront.net (CloudFront) X-Amz-Cf-Pop: MUC50-P3 X-Amz-Cf-Id: woIsoeanZiKMuRnkKb7XHqp5kLjDNIYt7-NEtokPYbsQDO_G3NYhpQ== Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>CloudFront</center> </body> </html>
Open service 2600:9000:26db:ac00:f:2e55:d000:93a1:443 · www.elysiumcode.co.uk
2026-01-07 01:48
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 123107
Connection: close
Date: Wed, 07 Jan 2026 01:48:29 GMT
Last-Modified: Wed, 01 Oct 2025 13:18:44 GMT
ETag: "612ec9697ce7b508e594db94f2b6386c"
Server: AmazonS3
X-Cache: Hit from cloudfront
Via: 1.1 ac174bd7948c4e669be0382ce2c052e8.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: MUC50-P3
X-Amz-Cf-Id: 0J15TCKlm5139l10SZVsO7hzHjWckrxUvX_bC1H86ZKqRwv6wPUdvA==
Age: 2
Page title: Elysium Code
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link
rel="icon"
type="image/x-icon"
href="https://elysium-assets.s3.eu-west-2.amazonaws.com/wp-content/uploads/favicon.webp"
/>
<title>Elysium Code</title>
<style>
img:is([sizes="auto" i], [sizes^="auto," i]) {
contain-intrinsic-size: 3000px 1500px;
}
</style>
<meta name="description" content="by Dave Henderson" />
<meta name="robots" content="index, follow" />
<meta
name="googlebot"
content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"
/>
<meta
name="bingbot"
content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"
/>
<link rel="canonical" href="/" />
<script>
document.addEventListener("DOMContentLoaded", function () {
const form = document.getElementById("contact-form");
const statusDiv = document.getElementById("form-status");
form.addEventListener("submit", async function (e) {
e.preventDefault(); // Prevent default form submission
statusDiv.style.display = "block";
statusDiv.textContent = "Sending...";
statusDiv.classList.remove(
"alert-success",
"alert-danger",
"alert-info"
);
statusDiv.classList.add("alert-info");
// Ensure elements exist before accessing their values
const nameInput = document.getElementById("full-name");
const emailInput = document.getElementById("email");
const subjectInput = document.getElementById("subject");
const messageInput = document.getElementById("message");
const budgetInput = document.getElementById("budget");
const phoneInput = document.getElementById("phone");
if (
!nameInput ||
!emailInput ||
!subjectInput ||
!messageInput ||
!budgetInput ||
!phoneInput
) {
console.error("One or more form elements are missing.");
statusDiv.textContent = "Form error: missing input fields.";
statusDiv.classList.add("alert-danger");
return;
}
// Collect form data safely
const formData = {
name: nameInput.value.trim(),
email: emailInput.value.trim(),
subject: subjectInput.value.trim(),
message: messageInput.value.trim(),
budget: budgetInput.value.trim() || "unknown",
phone: phoneInput.value.trim(),
};
try {
const response = await fetch(
"https://api.elysiumcode.co.uk/v2/contact",
{
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify(formData),
}
);
const result = await response.json(); // Parse JSON response
if (response.ok && result.statusCode === 200) {
statusDiv.textContent =
result.message || "Thank you! Your message has been sent.";
statusDiv.classList.add("alert-success");
form.reset(); // Reset form after success
} else {
statusDiv.textContent =
result.message || "An error occurred. Please try again.";
statusDiv.classList.add("alert-danger");
}
} catch (error) {
console.error("Error:", error);
statusDiv.textContent =
"An unexpected error occurred. Please try again later.";
statusDiv.classList.add("alert-danger");
}
});
});
</script>
<script type="application/ld+json">
{
"@context": "https:\/\/schema.org",
"@type": "W
Open service 2600:9000:213f:e00:f:2e55:d000:93a1:443 · elysiumcode.co.uk
2026-01-07 01:48
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 123107
Connection: close
Last-Modified: Wed, 01 Oct 2025 13:18:44 GMT
Server: AmazonS3
Date: Tue, 06 Jan 2026 17:35:52 GMT
ETag: "612ec9697ce7b508e594db94f2b6386c"
X-Cache: Hit from cloudfront
Via: 1.1 e71b2a73b6598bfbcb4d4e5eff30bb0a.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: FRA56-P15
X-Amz-Cf-Id: 2uTifZ8aZMc03-vkM6Eyiiy0xKoyZfsIP9wNhLBp8wCCU_JnlOW-9A==
Age: 29559
Page title: Elysium Code
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link
rel="icon"
type="image/x-icon"
href="https://elysium-assets.s3.eu-west-2.amazonaws.com/wp-content/uploads/favicon.webp"
/>
<title>Elysium Code</title>
<style>
img:is([sizes="auto" i], [sizes^="auto," i]) {
contain-intrinsic-size: 3000px 1500px;
}
</style>
<meta name="description" content="by Dave Henderson" />
<meta name="robots" content="index, follow" />
<meta
name="googlebot"
content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"
/>
<meta
name="bingbot"
content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"
/>
<link rel="canonical" href="/" />
<script>
document.addEventListener("DOMContentLoaded", function () {
const form = document.getElementById("contact-form");
const statusDiv = document.getElementById("form-status");
form.addEventListener("submit", async function (e) {
e.preventDefault(); // Prevent default form submission
statusDiv.style.display = "block";
statusDiv.textContent = "Sending...";
statusDiv.classList.remove(
"alert-success",
"alert-danger",
"alert-info"
);
statusDiv.classList.add("alert-info");
// Ensure elements exist before accessing their values
const nameInput = document.getElementById("full-name");
const emailInput = document.getElementById("email");
const subjectInput = document.getElementById("subject");
const messageInput = document.getElementById("message");
const budgetInput = document.getElementById("budget");
const phoneInput = document.getElementById("phone");
if (
!nameInput ||
!emailInput ||
!subjectInput ||
!messageInput ||
!budgetInput ||
!phoneInput
) {
console.error("One or more form elements are missing.");
statusDiv.textContent = "Form error: missing input fields.";
statusDiv.classList.add("alert-danger");
return;
}
// Collect form data safely
const formData = {
name: nameInput.value.trim(),
email: emailInput.value.trim(),
subject: subjectInput.value.trim(),
message: messageInput.value.trim(),
budget: budgetInput.value.trim() || "unknown",
phone: phoneInput.value.trim(),
};
try {
const response = await fetch(
"https://api.elysiumcode.co.uk/v2/contact",
{
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify(formData),
}
);
const result = await response.json(); // Parse JSON response
if (response.ok && result.statusCode === 200) {
statusDiv.textContent =
result.message || "Thank you! Your message has been sent.";
statusDiv.classList.add("alert-success");
form.reset(); // Reset form after success
} else {
statusDiv.textContent =
result.message || "An error occurred. Please try again.";
statusDiv.classList.add("alert-danger");
}
} catch (error) {
console.error("Error:", error);
statusDiv.textContent =
"An unexpected error occurred. Please try again later.";
statusDiv.classList.add("alert-danger");
}
});
});
</script>
<script type="application/ld+json">
{
"@context": "https:\/\/schema.org",
"@type": "W
Open service 2600:9000:213f:e00:f:2e55:d000:93a1:80 · elysiumcode.co.uk
2026-01-07 01:48
HTTP/1.1 301 Moved Permanently Server: CloudFront Date: Wed, 07 Jan 2026 01:48:30 GMT Content-Type: text/html Content-Length: 167 Connection: close Location: https://elysiumcode.co.uk/ X-Cache: Redirect from cloudfront Via: 1.1 6b8312e115a12f6d9b6300d563e527ba.cloudfront.net (CloudFront) X-Amz-Cf-Pop: FRA56-P15 X-Amz-Cf-Id: 23SkuTsBTzdfjGBJW9-3HPg4VsGVIGWg00BIIkqIVa7CvwSvJbup_Q== Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>CloudFront</center> </body> </html>
Open service 2600:9000:26db:7a00:f:2e55:d000:93a1:443 · www.elysiumcode.co.uk
2026-01-07 01:48
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 123107
Connection: close
Date: Wed, 07 Jan 2026 01:48:29 GMT
Last-Modified: Wed, 01 Oct 2025 13:18:44 GMT
ETag: "612ec9697ce7b508e594db94f2b6386c"
Server: AmazonS3
X-Cache: Hit from cloudfront
Via: 1.1 bc8243121fd94c5b2714caac07caccde.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: MUC50-P3
X-Amz-Cf-Id: 46Ohuzia0HdV9_fmpJ6SUgx2kqjl6JiBOd-bDvdddned1FL974kKDw==
Age: 2
Page title: Elysium Code
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link
rel="icon"
type="image/x-icon"
href="https://elysium-assets.s3.eu-west-2.amazonaws.com/wp-content/uploads/favicon.webp"
/>
<title>Elysium Code</title>
<style>
img:is([sizes="auto" i], [sizes^="auto," i]) {
contain-intrinsic-size: 3000px 1500px;
}
</style>
<meta name="description" content="by Dave Henderson" />
<meta name="robots" content="index, follow" />
<meta
name="googlebot"
content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"
/>
<meta
name="bingbot"
content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"
/>
<link rel="canonical" href="/" />
<script>
document.addEventListener("DOMContentLoaded", function () {
const form = document.getElementById("contact-form");
const statusDiv = document.getElementById("form-status");
form.addEventListener("submit", async function (e) {
e.preventDefault(); // Prevent default form submission
statusDiv.style.display = "block";
statusDiv.textContent = "Sending...";
statusDiv.classList.remove(
"alert-success",
"alert-danger",
"alert-info"
);
statusDiv.classList.add("alert-info");
// Ensure elements exist before accessing their values
const nameInput = document.getElementById("full-name");
const emailInput = document.getElementById("email");
const subjectInput = document.getElementById("subject");
const messageInput = document.getElementById("message");
const budgetInput = document.getElementById("budget");
const phoneInput = document.getElementById("phone");
if (
!nameInput ||
!emailInput ||
!subjectInput ||
!messageInput ||
!budgetInput ||
!phoneInput
) {
console.error("One or more form elements are missing.");
statusDiv.textContent = "Form error: missing input fields.";
statusDiv.classList.add("alert-danger");
return;
}
// Collect form data safely
const formData = {
name: nameInput.value.trim(),
email: emailInput.value.trim(),
subject: subjectInput.value.trim(),
message: messageInput.value.trim(),
budget: budgetInput.value.trim() || "unknown",
phone: phoneInput.value.trim(),
};
try {
const response = await fetch(
"https://api.elysiumcode.co.uk/v2/contact",
{
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify(formData),
}
);
const result = await response.json(); // Parse JSON response
if (response.ok && result.statusCode === 200) {
statusDiv.textContent =
result.message || "Thank you! Your message has been sent.";
statusDiv.classList.add("alert-success");
form.reset(); // Reset form after success
} else {
statusDiv.textContent =
result.message || "An error occurred. Please try again.";
statusDiv.classList.add("alert-danger");
}
} catch (error) {
console.error("Error:", error);
statusDiv.textContent =
"An unexpected error occurred. Please try again later.";
statusDiv.classList.add("alert-danger");
}
});
});
</script>
<script type="application/ld+json">
{
"@context": "https:\/\/schema.org",
"@type": "W
Open service 54.192.35.68:80 · elysiumcode.co.uk
2026-01-07 01:48
HTTP/1.1 301 Moved Permanently Server: CloudFront Date: Wed, 07 Jan 2026 01:48:30 GMT Content-Type: text/html Content-Length: 167 Connection: close Location: https://elysiumcode.co.uk/ X-Cache: Redirect from cloudfront Via: 1.1 6b8312e115a12f6d9b6300d563e527ba.cloudfront.net (CloudFront) X-Amz-Cf-Pop: FRA56-P15 X-Amz-Cf-Id: fSSGFmUH3sRuBYLSG4IUhRZVBcIQtfxvU6S4aInNxInIN9fPdZMbPw== Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>CloudFront</center> </body> </html>
Open service 18.173.154.33:80 · www.elysiumcode.co.uk
2026-01-07 01:48
HTTP/1.1 301 Moved Permanently Server: CloudFront Date: Wed, 07 Jan 2026 01:48:30 GMT Content-Type: text/html Content-Length: 167 Connection: close Location: https://www.elysiumcode.co.uk/ X-Cache: Redirect from cloudfront Via: 1.1 2d22bd8fe92380401bbc1d8cc010e5a0.cloudfront.net (CloudFront) X-Amz-Cf-Pop: MUC50-P3 X-Amz-Cf-Id: HEEluyH9LmXxqLc_FXxxB1oaazBqh5sjcQmL5zgNwVSgkVAXhlgoDw== Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>CloudFront</center> </body> </html>
Open service 2600:9000:213f:ec00:f:2e55:d000:93a1:443 · elysiumcode.co.uk
2026-01-07 01:48
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 123107
Connection: close
Last-Modified: Wed, 01 Oct 2025 13:18:44 GMT
Server: AmazonS3
Date: Tue, 06 Jan 2026 17:35:52 GMT
ETag: "612ec9697ce7b508e594db94f2b6386c"
X-Cache: Hit from cloudfront
Via: 1.1 b2e05e88d38ace0a7e0759002147babc.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: FRA56-P15
X-Amz-Cf-Id: DO_Qf3nSBjtww8Di5L51g7nitxrRLBgPnrPWwXckbww-XqrSDIPPpA==
Age: 29559
Page title: Elysium Code
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link
rel="icon"
type="image/x-icon"
href="https://elysium-assets.s3.eu-west-2.amazonaws.com/wp-content/uploads/favicon.webp"
/>
<title>Elysium Code</title>
<style>
img:is([sizes="auto" i], [sizes^="auto," i]) {
contain-intrinsic-size: 3000px 1500px;
}
</style>
<meta name="description" content="by Dave Henderson" />
<meta name="robots" content="index, follow" />
<meta
name="googlebot"
content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"
/>
<meta
name="bingbot"
content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"
/>
<link rel="canonical" href="/" />
<script>
document.addEventListener("DOMContentLoaded", function () {
const form = document.getElementById("contact-form");
const statusDiv = document.getElementById("form-status");
form.addEventListener("submit", async function (e) {
e.preventDefault(); // Prevent default form submission
statusDiv.style.display = "block";
statusDiv.textContent = "Sending...";
statusDiv.classList.remove(
"alert-success",
"alert-danger",
"alert-info"
);
statusDiv.classList.add("alert-info");
// Ensure elements exist before accessing their values
const nameInput = document.getElementById("full-name");
const emailInput = document.getElementById("email");
const subjectInput = document.getElementById("subject");
const messageInput = document.getElementById("message");
const budgetInput = document.getElementById("budget");
const phoneInput = document.getElementById("phone");
if (
!nameInput ||
!emailInput ||
!subjectInput ||
!messageInput ||
!budgetInput ||
!phoneInput
) {
console.error("One or more form elements are missing.");
statusDiv.textContent = "Form error: missing input fields.";
statusDiv.classList.add("alert-danger");
return;
}
// Collect form data safely
const formData = {
name: nameInput.value.trim(),
email: emailInput.value.trim(),
subject: subjectInput.value.trim(),
message: messageInput.value.trim(),
budget: budgetInput.value.trim() || "unknown",
phone: phoneInput.value.trim(),
};
try {
const response = await fetch(
"https://api.elysiumcode.co.uk/v2/contact",
{
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify(formData),
}
);
const result = await response.json(); // Parse JSON response
if (response.ok && result.statusCode === 200) {
statusDiv.textContent =
result.message || "Thank you! Your message has been sent.";
statusDiv.classList.add("alert-success");
form.reset(); // Reset form after success
} else {
statusDiv.textContent =
result.message || "An error occurred. Please try again.";
statusDiv.classList.add("alert-danger");
}
} catch (error) {
console.error("Error:", error);
statusDiv.textContent =
"An unexpected error occurred. Please try again later.";
statusDiv.classList.add("alert-danger");
}
});
});
</script>
<script type="application/ld+json">
{
"@context": "https:\/\/schema.org",
"@type": "W
Open service 2600:9000:26db:0:f:2e55:d000:93a1:443 · www.elysiumcode.co.uk
2026-01-07 01:48
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 123107
Connection: close
Date: Wed, 07 Jan 2026 01:48:29 GMT
Last-Modified: Wed, 01 Oct 2025 13:18:44 GMT
ETag: "612ec9697ce7b508e594db94f2b6386c"
Server: AmazonS3
X-Cache: Hit from cloudfront
Via: 1.1 5951b29f5460c0b6d21eb11bce7b8168.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: MUC50-P3
X-Amz-Cf-Id: JWREuVewxGkaYlTowRcHCAEo86HN9bMKc6P_tCqYE0Fh63jlM_CsxA==
Age: 2
Page title: Elysium Code
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link
rel="icon"
type="image/x-icon"
href="https://elysium-assets.s3.eu-west-2.amazonaws.com/wp-content/uploads/favicon.webp"
/>
<title>Elysium Code</title>
<style>
img:is([sizes="auto" i], [sizes^="auto," i]) {
contain-intrinsic-size: 3000px 1500px;
}
</style>
<meta name="description" content="by Dave Henderson" />
<meta name="robots" content="index, follow" />
<meta
name="googlebot"
content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"
/>
<meta
name="bingbot"
content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"
/>
<link rel="canonical" href="/" />
<script>
document.addEventListener("DOMContentLoaded", function () {
const form = document.getElementById("contact-form");
const statusDiv = document.getElementById("form-status");
form.addEventListener("submit", async function (e) {
e.preventDefault(); // Prevent default form submission
statusDiv.style.display = "block";
statusDiv.textContent = "Sending...";
statusDiv.classList.remove(
"alert-success",
"alert-danger",
"alert-info"
);
statusDiv.classList.add("alert-info");
// Ensure elements exist before accessing their values
const nameInput = document.getElementById("full-name");
const emailInput = document.getElementById("email");
const subjectInput = document.getElementById("subject");
const messageInput = document.getElementById("message");
const budgetInput = document.getElementById("budget");
const phoneInput = document.getElementById("phone");
if (
!nameInput ||
!emailInput ||
!subjectInput ||
!messageInput ||
!budgetInput ||
!phoneInput
) {
console.error("One or more form elements are missing.");
statusDiv.textContent = "Form error: missing input fields.";
statusDiv.classList.add("alert-danger");
return;
}
// Collect form data safely
const formData = {
name: nameInput.value.trim(),
email: emailInput.value.trim(),
subject: subjectInput.value.trim(),
message: messageInput.value.trim(),
budget: budgetInput.value.trim() || "unknown",
phone: phoneInput.value.trim(),
};
try {
const response = await fetch(
"https://api.elysiumcode.co.uk/v2/contact",
{
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify(formData),
}
);
const result = await response.json(); // Parse JSON response
if (response.ok && result.statusCode === 200) {
statusDiv.textContent =
result.message || "Thank you! Your message has been sent.";
statusDiv.classList.add("alert-success");
form.reset(); // Reset form after success
} else {
statusDiv.textContent =
result.message || "An error occurred. Please try again.";
statusDiv.classList.add("alert-danger");
}
} catch (error) {
console.error("Error:", error);
statusDiv.textContent =
"An unexpected error occurred. Please try again later.";
statusDiv.classList.add("alert-danger");
}
});
});
</script>
<script type="application/ld+json">
{
"@context": "https:\/\/schema.org",
"@type": "W
Open service 2600:9000:26db:dc00:f:2e55:d000:93a1:443 · www.elysiumcode.co.uk
2026-01-07 01:48
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 123107
Connection: close
Date: Wed, 07 Jan 2026 01:48:29 GMT
Last-Modified: Wed, 01 Oct 2025 13:18:44 GMT
ETag: "612ec9697ce7b508e594db94f2b6386c"
Server: AmazonS3
X-Cache: Hit from cloudfront
Via: 1.1 55965767fb32678a90a721ccc878aa86.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: MUC50-P3
X-Amz-Cf-Id: E530e0b0qegR5dW4VI6PTXbe65KgXOzR7yy3xU6xELORhKZv3wF1hw==
Age: 2
Page title: Elysium Code
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link
rel="icon"
type="image/x-icon"
href="https://elysium-assets.s3.eu-west-2.amazonaws.com/wp-content/uploads/favicon.webp"
/>
<title>Elysium Code</title>
<style>
img:is([sizes="auto" i], [sizes^="auto," i]) {
contain-intrinsic-size: 3000px 1500px;
}
</style>
<meta name="description" content="by Dave Henderson" />
<meta name="robots" content="index, follow" />
<meta
name="googlebot"
content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"
/>
<meta
name="bingbot"
content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"
/>
<link rel="canonical" href="/" />
<script>
document.addEventListener("DOMContentLoaded", function () {
const form = document.getElementById("contact-form");
const statusDiv = document.getElementById("form-status");
form.addEventListener("submit", async function (e) {
e.preventDefault(); // Prevent default form submission
statusDiv.style.display = "block";
statusDiv.textContent = "Sending...";
statusDiv.classList.remove(
"alert-success",
"alert-danger",
"alert-info"
);
statusDiv.classList.add("alert-info");
// Ensure elements exist before accessing their values
const nameInput = document.getElementById("full-name");
const emailInput = document.getElementById("email");
const subjectInput = document.getElementById("subject");
const messageInput = document.getElementById("message");
const budgetInput = document.getElementById("budget");
const phoneInput = document.getElementById("phone");
if (
!nameInput ||
!emailInput ||
!subjectInput ||
!messageInput ||
!budgetInput ||
!phoneInput
) {
console.error("One or more form elements are missing.");
statusDiv.textContent = "Form error: missing input fields.";
statusDiv.classList.add("alert-danger");
return;
}
// Collect form data safely
const formData = {
name: nameInput.value.trim(),
email: emailInput.value.trim(),
subject: subjectInput.value.trim(),
message: messageInput.value.trim(),
budget: budgetInput.value.trim() || "unknown",
phone: phoneInput.value.trim(),
};
try {
const response = await fetch(
"https://api.elysiumcode.co.uk/v2/contact",
{
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify(formData),
}
);
const result = await response.json(); // Parse JSON response
if (response.ok && result.statusCode === 200) {
statusDiv.textContent =
result.message || "Thank you! Your message has been sent.";
statusDiv.classList.add("alert-success");
form.reset(); // Reset form after success
} else {
statusDiv.textContent =
result.message || "An error occurred. Please try again.";
statusDiv.classList.add("alert-danger");
}
} catch (error) {
console.error("Error:", error);
statusDiv.textContent =
"An unexpected error occurred. Please try again later.";
statusDiv.classList.add("alert-danger");
}
});
});
</script>
<script type="application/ld+json">
{
"@context": "https:\/\/schema.org",
"@type": "W
Open service 18.173.154.36:80 · www.elysiumcode.co.uk
2026-01-07 01:48
HTTP/1.1 301 Moved Permanently Server: CloudFront Date: Wed, 07 Jan 2026 01:48:30 GMT Content-Type: text/html Content-Length: 167 Connection: close Location: https://www.elysiumcode.co.uk/ X-Cache: Redirect from cloudfront Via: 1.1 595547cdc2fce94aba8498c84797701a.cloudfront.net (CloudFront) X-Amz-Cf-Pop: MUC50-P3 X-Amz-Cf-Id: r3vMCrqP5zaHk2vLof1eilUbGaQzmp8KwDN6ppPWA9M97CvDFfq26A== Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>CloudFront</center> </body> </html>
Open service 2600:9000:26db:7a00:f:2e55:d000:93a1:80 · www.elysiumcode.co.uk
2026-01-07 01:48
HTTP/1.1 301 Moved Permanently Server: CloudFront Date: Wed, 07 Jan 2026 01:48:30 GMT Content-Type: text/html Content-Length: 167 Connection: close Location: https://www.elysiumcode.co.uk/ X-Cache: Redirect from cloudfront Via: 1.1 fd4a06b35c482e680f7f3fd9baaa0090.cloudfront.net (CloudFront) X-Amz-Cf-Pop: MUC50-P3 X-Amz-Cf-Id: n8DIFUoWjJDLd92wb38SFvtrsTX5UPSmdR-7KNSHiP-8dC8JI_Kh-w== Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>CloudFront</center> </body> </html>
Open service 2600:9000:26db:7200:f:2e55:d000:93a1:80 · www.elysiumcode.co.uk
2026-01-07 01:48
HTTP/1.1 301 Moved Permanently Server: CloudFront Date: Wed, 07 Jan 2026 01:48:30 GMT Content-Type: text/html Content-Length: 167 Connection: close Location: https://www.elysiumcode.co.uk/ X-Cache: Redirect from cloudfront Via: 1.1 9564791ed47030dad53c797ee814c66e.cloudfront.net (CloudFront) X-Amz-Cf-Pop: MUC50-P3 X-Amz-Cf-Id: V5p1CH_xuJIfrLYi6014pqY7-sYKnKxSJYORDaurBL-NqXf7fFirZw== Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>CloudFront</center> </body> </html>
Open service 2600:9000:26db:fc00:f:2e55:d000:93a1:443 · www.elysiumcode.co.uk
2026-01-07 01:48
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 123107
Connection: close
Date: Wed, 07 Jan 2026 01:48:29 GMT
Last-Modified: Wed, 01 Oct 2025 13:18:44 GMT
ETag: "612ec9697ce7b508e594db94f2b6386c"
Server: AmazonS3
X-Cache: Hit from cloudfront
Via: 1.1 d11d7fba872e54649066e59f703ad3e6.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: MUC50-P3
X-Amz-Cf-Id: Yc_MFPiICeHmKvsv2y5TONzjbTDOt8feRl1-osnFfGCZF2XAehrSyA==
Age: 2
Page title: Elysium Code
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link
rel="icon"
type="image/x-icon"
href="https://elysium-assets.s3.eu-west-2.amazonaws.com/wp-content/uploads/favicon.webp"
/>
<title>Elysium Code</title>
<style>
img:is([sizes="auto" i], [sizes^="auto," i]) {
contain-intrinsic-size: 3000px 1500px;
}
</style>
<meta name="description" content="by Dave Henderson" />
<meta name="robots" content="index, follow" />
<meta
name="googlebot"
content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"
/>
<meta
name="bingbot"
content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"
/>
<link rel="canonical" href="/" />
<script>
document.addEventListener("DOMContentLoaded", function () {
const form = document.getElementById("contact-form");
const statusDiv = document.getElementById("form-status");
form.addEventListener("submit", async function (e) {
e.preventDefault(); // Prevent default form submission
statusDiv.style.display = "block";
statusDiv.textContent = "Sending...";
statusDiv.classList.remove(
"alert-success",
"alert-danger",
"alert-info"
);
statusDiv.classList.add("alert-info");
// Ensure elements exist before accessing their values
const nameInput = document.getElementById("full-name");
const emailInput = document.getElementById("email");
const subjectInput = document.getElementById("subject");
const messageInput = document.getElementById("message");
const budgetInput = document.getElementById("budget");
const phoneInput = document.getElementById("phone");
if (
!nameInput ||
!emailInput ||
!subjectInput ||
!messageInput ||
!budgetInput ||
!phoneInput
) {
console.error("One or more form elements are missing.");
statusDiv.textContent = "Form error: missing input fields.";
statusDiv.classList.add("alert-danger");
return;
}
// Collect form data safely
const formData = {
name: nameInput.value.trim(),
email: emailInput.value.trim(),
subject: subjectInput.value.trim(),
message: messageInput.value.trim(),
budget: budgetInput.value.trim() || "unknown",
phone: phoneInput.value.trim(),
};
try {
const response = await fetch(
"https://api.elysiumcode.co.uk/v2/contact",
{
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify(formData),
}
);
const result = await response.json(); // Parse JSON response
if (response.ok && result.statusCode === 200) {
statusDiv.textContent =
result.message || "Thank you! Your message has been sent.";
statusDiv.classList.add("alert-success");
form.reset(); // Reset form after success
} else {
statusDiv.textContent =
result.message || "An error occurred. Please try again.";
statusDiv.classList.add("alert-danger");
}
} catch (error) {
console.error("Error:", error);
statusDiv.textContent =
"An unexpected error occurred. Please try again later.";
statusDiv.classList.add("alert-danger");
}
});
});
</script>
<script type="application/ld+json">
{
"@context": "https:\/\/schema.org",
"@type": "W
Open service 18.173.154.6:80 · www.elysiumcode.co.uk
2026-01-07 01:48
HTTP/1.1 301 Moved Permanently Server: CloudFront Date: Wed, 07 Jan 2026 01:48:30 GMT Content-Type: text/html Content-Length: 167 Connection: close Location: https://www.elysiumcode.co.uk/ X-Cache: Redirect from cloudfront Via: 1.1 cb7ecd2473bf95a71af8d1ff8d1034fa.cloudfront.net (CloudFront) X-Amz-Cf-Pop: MUC50-P3 X-Amz-Cf-Id: qF1iwsS_fSrMIH7HMCfMmNEMpX89L3Y0UEapEhBP7qhhT1SLXOxWxQ== Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>CloudFront</center> </body> </html>
Open service 2600:9000:26db:fc00:f:2e55:d000:93a1:80 · www.elysiumcode.co.uk
2026-01-07 01:48
HTTP/1.1 301 Moved Permanently Server: CloudFront Date: Wed, 07 Jan 2026 01:48:30 GMT Content-Type: text/html Content-Length: 167 Connection: close Location: https://www.elysiumcode.co.uk/ X-Cache: Redirect from cloudfront Via: 1.1 bc5539655ffc88be2596a0239ddfae52.cloudfront.net (CloudFront) X-Amz-Cf-Pop: MUC50-P3 X-Amz-Cf-Id: iKra_z55tWBHRuZXpWvSJgOVgKq_UMYV7HgW35y0hVZiGliB5lYbHw== Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>CloudFront</center> </body> </html>
Open service 18.173.154.36:443 · www.elysiumcode.co.uk
2026-01-07 01:48
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 123107
Connection: close
Date: Wed, 07 Jan 2026 01:48:29 GMT
Last-Modified: Wed, 01 Oct 2025 13:18:44 GMT
ETag: "612ec9697ce7b508e594db94f2b6386c"
Server: AmazonS3
X-Cache: Hit from cloudfront
Via: 1.1 106a2e3801afa4dfd5bd4bfaeb93d526.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: MUC50-P3
X-Amz-Cf-Id: n0IJQtAtEXkyIHaGtrgl6WBid-k8KbhaSxDtMHzEy0shDk-cpw81Fg==
Age: 2
Page title: Elysium Code
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link
rel="icon"
type="image/x-icon"
href="https://elysium-assets.s3.eu-west-2.amazonaws.com/wp-content/uploads/favicon.webp"
/>
<title>Elysium Code</title>
<style>
img:is([sizes="auto" i], [sizes^="auto," i]) {
contain-intrinsic-size: 3000px 1500px;
}
</style>
<meta name="description" content="by Dave Henderson" />
<meta name="robots" content="index, follow" />
<meta
name="googlebot"
content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"
/>
<meta
name="bingbot"
content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"
/>
<link rel="canonical" href="/" />
<script>
document.addEventListener("DOMContentLoaded", function () {
const form = document.getElementById("contact-form");
const statusDiv = document.getElementById("form-status");
form.addEventListener("submit", async function (e) {
e.preventDefault(); // Prevent default form submission
statusDiv.style.display = "block";
statusDiv.textContent = "Sending...";
statusDiv.classList.remove(
"alert-success",
"alert-danger",
"alert-info"
);
statusDiv.classList.add("alert-info");
// Ensure elements exist before accessing their values
const nameInput = document.getElementById("full-name");
const emailInput = document.getElementById("email");
const subjectInput = document.getElementById("subject");
const messageInput = document.getElementById("message");
const budgetInput = document.getElementById("budget");
const phoneInput = document.getElementById("phone");
if (
!nameInput ||
!emailInput ||
!subjectInput ||
!messageInput ||
!budgetInput ||
!phoneInput
) {
console.error("One or more form elements are missing.");
statusDiv.textContent = "Form error: missing input fields.";
statusDiv.classList.add("alert-danger");
return;
}
// Collect form data safely
const formData = {
name: nameInput.value.trim(),
email: emailInput.value.trim(),
subject: subjectInput.value.trim(),
message: messageInput.value.trim(),
budget: budgetInput.value.trim() || "unknown",
phone: phoneInput.value.trim(),
};
try {
const response = await fetch(
"https://api.elysiumcode.co.uk/v2/contact",
{
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify(formData),
}
);
const result = await response.json(); // Parse JSON response
if (response.ok && result.statusCode === 200) {
statusDiv.textContent =
result.message || "Thank you! Your message has been sent.";
statusDiv.classList.add("alert-success");
form.reset(); // Reset form after success
} else {
statusDiv.textContent =
result.message || "An error occurred. Please try again.";
statusDiv.classList.add("alert-danger");
}
} catch (error) {
console.error("Error:", error);
statusDiv.textContent =
"An unexpected error occurred. Please try again later.";
statusDiv.classList.add("alert-danger");
}
});
});
</script>
<script type="application/ld+json">
{
"@context": "https:\/\/schema.org",
"@type": "W
Open service 18.173.154.33:443 · www.elysiumcode.co.uk
2026-01-07 01:48
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 123107
Connection: close
Date: Wed, 07 Jan 2026 01:48:29 GMT
Last-Modified: Wed, 01 Oct 2025 13:18:44 GMT
ETag: "612ec9697ce7b508e594db94f2b6386c"
Server: AmazonS3
X-Cache: Hit from cloudfront
Via: 1.1 cb7ecd2473bf95a71af8d1ff8d1034fa.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: MUC50-P3
X-Amz-Cf-Id: ZqI-pMgJPa1fEYd9bz5rUkXciwrMhyZovtOffOdU2N_vg5TnCaeCJw==
Age: 2
Page title: Elysium Code
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link
rel="icon"
type="image/x-icon"
href="https://elysium-assets.s3.eu-west-2.amazonaws.com/wp-content/uploads/favicon.webp"
/>
<title>Elysium Code</title>
<style>
img:is([sizes="auto" i], [sizes^="auto," i]) {
contain-intrinsic-size: 3000px 1500px;
}
</style>
<meta name="description" content="by Dave Henderson" />
<meta name="robots" content="index, follow" />
<meta
name="googlebot"
content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"
/>
<meta
name="bingbot"
content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"
/>
<link rel="canonical" href="/" />
<script>
document.addEventListener("DOMContentLoaded", function () {
const form = document.getElementById("contact-form");
const statusDiv = document.getElementById("form-status");
form.addEventListener("submit", async function (e) {
e.preventDefault(); // Prevent default form submission
statusDiv.style.display = "block";
statusDiv.textContent = "Sending...";
statusDiv.classList.remove(
"alert-success",
"alert-danger",
"alert-info"
);
statusDiv.classList.add("alert-info");
// Ensure elements exist before accessing their values
const nameInput = document.getElementById("full-name");
const emailInput = document.getElementById("email");
const subjectInput = document.getElementById("subject");
const messageInput = document.getElementById("message");
const budgetInput = document.getElementById("budget");
const phoneInput = document.getElementById("phone");
if (
!nameInput ||
!emailInput ||
!subjectInput ||
!messageInput ||
!budgetInput ||
!phoneInput
) {
console.error("One or more form elements are missing.");
statusDiv.textContent = "Form error: missing input fields.";
statusDiv.classList.add("alert-danger");
return;
}
// Collect form data safely
const formData = {
name: nameInput.value.trim(),
email: emailInput.value.trim(),
subject: subjectInput.value.trim(),
message: messageInput.value.trim(),
budget: budgetInput.value.trim() || "unknown",
phone: phoneInput.value.trim(),
};
try {
const response = await fetch(
"https://api.elysiumcode.co.uk/v2/contact",
{
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify(formData),
}
);
const result = await response.json(); // Parse JSON response
if (response.ok && result.statusCode === 200) {
statusDiv.textContent =
result.message || "Thank you! Your message has been sent.";
statusDiv.classList.add("alert-success");
form.reset(); // Reset form after success
} else {
statusDiv.textContent =
result.message || "An error occurred. Please try again.";
statusDiv.classList.add("alert-danger");
}
} catch (error) {
console.error("Error:", error);
statusDiv.textContent =
"An unexpected error occurred. Please try again later.";
statusDiv.classList.add("alert-danger");
}
});
});
</script>
<script type="application/ld+json">
{
"@context": "https:\/\/schema.org",
"@type": "W
Open service 18.133.210.212:443 · api.elysiumcode.co.uk
2026-01-07 00:19
HTTP/1.1 403 Forbidden
Date: Wed, 07 Jan 2026 00:19:24 GMT
Content-Type: application/json
Content-Length: 23
Connection: close
x-amzn-RequestId: bae07140-0336-4da5-81d7-7bb29352b1b4
x-amzn-ErrorType: ForbiddenException
x-amz-apigw-id: Wyb2BGs5rPEEEkw=
{"message":"Forbidden"}
Open service 3.8.214.178:443 · api.elysiumcode.co.uk
2026-01-07 00:19
HTTP/1.1 403 Forbidden
Date: Wed, 07 Jan 2026 00:19:24 GMT
Content-Type: application/json
Content-Length: 23
Connection: close
x-amzn-RequestId: 80c98613-c0e2-4837-8dcd-b0d7c69893b1
x-amzn-ErrorType: ForbiddenException
x-amz-apigw-id: Wyb1_EM4rPEEKCQ=
{"message":"Forbidden"}
Open service 18.133.12.107:443 · api.elysiumcode.co.uk
2026-01-07 00:19
HTTP/1.1 403 Forbidden
Date: Wed, 07 Jan 2026 00:19:23 GMT
Content-Type: application/json
Content-Length: 23
Connection: close
x-amzn-RequestId: 4118f435-688b-4aa2-9572-d26e00777f3d
x-amzn-ErrorType: ForbiddenException
x-amz-apigw-id: Wyb13FFhrPEEWFA=
{"message":"Forbidden"}
18.171.152.203 2 2600:9000:213f:6a00:f:2e55:d000:93a1 1 2600:9000:26db:dc00:f:2e55:d000:93a1 1 2600:9000:2130:bc00:f:2e55:d000:93a1 1 2600:9000:26db:3600:f:2e55:d000:93a1 1 2600:9000:26db:2800:f:2e55:d000:93a1 1 2600:9000:213f:ec00:f:2e55:d000:93a1 1 2600:9000:2130:7400:f:2e55:d000:93a1 1 54.192.35.61 1 54.192.35.73 1 2600:9000:2130:0:f:2e55:d000:93a1 1 2600:9000:26db:0:f:2e55:d000:93a1 1 54.192.35.68 1 2600:9000:26db:ac00:f:2e55:d000:93a1 1 2600:9000:26db:7200:f:2e55:d000:93a1 1 2600:9000:213f:ce00:f:2e55:d000:93a1 1 54.192.35.55 1 18.173.154.6 1 18.173.154.41 1 2600:9000:2130:3c00:f:2e55:d000:93a1 1 2600:9000:213f:e00:f:2e55:d000:93a1 1 2600:9000:26db:7a00:f:2e55:d000:93a1 1 18.173.154.33 1 18.173.154.36 1 2600:9000:26db:fc00:f:2e55:d000:93a1 1 18.133.210.212 1 3.8.214.178 1 18.133.12.107 1