diff --git a/erpnext/templates/pages/demo.html b/erpnext/templates/pages/demo.html
deleted file mode 100644
index f9934a3..0000000
--- a/erpnext/templates/pages/demo.html
+++ /dev/null
@@ -1,77 +0,0 @@
-{% extends "templates/web.html" %}
-
-{% block script %}
-<script>
-$(document).ready(function() {
-    $("#login_btn").click(function() {
-        var me = this;
-        $(this).html("Logging In...").prop("disabled", true);
-        frappe.call({
-            "method": "login",
-            args: {
-                usr: "demo@erpnext.com",
-                pwd: "Demo1234567!!!",
-                lead_email: $("#lead-email").val(),
-            },
-            callback: function(r) {
-                $(me).prop("disabled", false);
-                if(r.exc) {
-                    alert("Error, please contact support@erpnext.com");
-                } else {
-                    console.log("Logged In");
-                    window.location.href = "desk";
-                }
-            }
-        })
-        return false;
-    })
-    .prop("disabled", false);
-})
-
-</script>
-{% endblock %}
-
-{% block style %}
-<style>
-	footer, .navbar {
-		display: none;
-	}
-	.page-content {
-		right: 0%;
-		width: 100%;
-	}
-    {% include "templates/styles/card_style.css" %}
-    header, footer {
-        display: none;
-    }
-    html, body {
-        background-color: #f5f7fa;
-    }
-</style>
-{% endblock %}
-
-{% block title %}
-{{ _("ERPNext Demo") }}
-{% endblock %}
-
-{% block page_content %}
-<div class='page-card'>
-
-	<div class='page-card-head'>
-		<span class='indicator blue'>
-			{{ _("ERPNext Demo") }}</span>
-	</div>
-	<!-- <img src="/assets/erpnext/images/erp-icon.svg" style="max-width: 40px; max-height: 40px;"> -->
-	<p>Some functionality is disabled for the demo and the data will be cleared regularly.</p>
-	<div><button type="submit" id="login_btn" class="btn btn-primary btn-sm">Launch Demo</button></div>
-</div>
-
-
-<p class='text-muted text-center small' style='margin-top: -20px;'><a href="https://erpnext.com/pricing">Start a free 14-day trial </a>
-</p>
-<style>
-html, body {
-	background-color: #f5f7fa;
-}
-</style>
-{% endblock %}
