diff --git a/index.html b/index.html
new file mode 100644
index 0000000..e05a202
--- /dev/null
+++ b/index.html
@@ -0,0 +1,44 @@
+
+
+ WebDNS
+
+
+
+
+
+
+
+
+
+
+ WebDNS
+ Coming soon...
+ Stay in the know:
+ Email:
+
+
+
+
+
+
\ No newline at end of file
diff --git a/signup.js b/signup.js
new file mode 100644
index 0000000..98af735
--- /dev/null
+++ b/signup.js
@@ -0,0 +1,26 @@
+var sent = false;
+
+function signup() {
+ if (sent) return;
+ var email = emailAddr.value;
+ if (!validateEmail(email)) return;
+ mailbtn.classList.add("fa-clock");
+ mailbtn.classList.remove("mail-button");
+ mailbtn.blur();
+ console.log("Sending request...");
+ sent = true;
+ var req = new XMLHttpRequest();
+ req.onload = function () {
+ console.log(this.status + ": " + this.responseText);
+ mailbtn.classList.remove("fa-clock");
+ mailbtn.classList.add("fa-" + (this.status === 200 ? "check" : "times"));
+ };
+ req.open("POST", "https://whserver.dforms.point0.tech/589550963468140574");
+ req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
+ req.send("email=" + encodeURIComponent(email));
+}
+
+function validateEmail(email) {
+ var re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
+ return re.test(String(email).toLowerCase());
+}
\ No newline at end of file
diff --git a/style.css b/style.css
new file mode 100644
index 0000000..f228ca6
--- /dev/null
+++ b/style.css
@@ -0,0 +1,83 @@
+body {
+ margin: 0;
+ overflow-x: hidden;
+}
+
+#zodiac {
+ width: 100%;
+ height: 100%;
+ position: absolute;
+}
+
+#container {
+ width: 100%;
+ height: 100%;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ z-index: 1;
+ animation: fadeIn 1s forwards ease;
+}
+
+main {
+ background: white;
+ padding: 50px;
+ text-align: center;
+ border-radius: 50px;
+ z-index: 1;
+}
+
+main p:nth-child(1) {
+ font-size: 50px;
+ margin: 0;
+ font-weight: bold;
+}
+
+p {
+ font-family: sans-serif;
+}
+
+input {
+ border: none;
+ border-bottom: solid #99AAB5;
+ background: none;
+}
+
+button {
+ border: solid #99AAB5 3px;
+ border-radius: 10px;
+ font-style: italic;
+ padding: 10px;
+ background: none;
+}
+
+button:active, input:focus, footer a:hover {
+ border-color: lightgrey;
+ transition-duration: 0.5s;
+}
+
+footer {
+ position: absolute;
+ bottom: 5px;
+ right: 5px;
+}
+
+footer p {
+ color: grey;
+ margin: 0;
+ text-align: right;
+}
+
+footer a {
+ color: inherit;
+ border-bottom: solid grey 1px;
+ text-decoration: none;
+}
+
+.mail-button::before {
+ content: "\f0e0";
+}
+
+.mail-button:hover::before {
+ content: "\f2b6";
+}
\ No newline at end of file
diff --git a/zodiac.min.js b/zodiac.min.js
new file mode 100644
index 0000000..72a2feb
--- /dev/null
+++ b/zodiac.min.js
@@ -0,0 +1,11 @@
+/*!
+ * Zodiac
+ *
+ * @author Stefan Keim (indus)
+ * @version 0.1.1
+ * @description canvas based particle background
+ *
+ * Inspired by https://github.com/jnicol/particleground
+ */
+"use static";var Zodiac=function(){function n(n,t){function l(n){e.x=n.pageX-window.innerWidth/2;e.y=n.pageY-window.innerHeight/2}function a(n){e.x=Math.min(Math.max(-n.gamma,-30),30)*(window.innerWidth/30);e.y=Math.min(Math.max(-n.beta,-30),30)*(window.innerHeight/30)}var h=this,n,o,s;if(t===void 0&&(t={}),this.options={directionX:-1,directionY:-1,velocityX:[.1,.2],velocityY:[.5,1],bounceX:!0,bounceY:!1,parallax:.2,pivot:0,density:6e3,dotRadius:[1,5],linkColor:"rgba(99,99,99,.8)",linkDistance:50,linkWidth:2},n=typeof n=="string"||n instanceof String?document.getElementById(n):n,n.tagName!="CANVAS")throw"no canvas";for(o in t)this.options[o]=t[o];t=this.options;var i=this._ctx=n.getContext("2d",{alpha:!t.backgroundColor}),e={x:0,y:0},r,u,f,c=function(){var l,n,o,s,v,a;for(t.backgroundColor?(i.fillStyle=t.backgroundColor,i.fillRect(0,0,u,f),i.fillStyle=t.dotColor):i.clearRect(0,0,u,f),i.beginPath(),l=0;lu)&&(t.bounceX?n.vx=-n.vx:n.x=(o+u)%u-n.dx),(s<0||s>f)&&(t.bounceY?n.vy=-n.vy:n.y=(s+f)%f-n.dy),i.moveTo(o+n.r,s),i.arc(o,s,n.r,0,Math.PI*2),a=l-1;a>=0;a--){var h=r[a],w=h.x-n.x,b=h.y-n.y,nt=Math.sqrt(w*w+b*b);if(nt=0;s--)(r[s].x>u||r[s].y>f)&&r.splice(s,1);for(ar.length;)v=o(),r.push({z:(v-t.pivot)/4,r:e[1]?v*(e[1]-e[0])+e[0]:e,x:Math.ceil(o()*u),y:Math.ceil(o()*f),vx:(t.directionX||(o()>.5?1:-1))*(o()*(c[1]-c[0])+c[0]),vy:(t.directionY||(o()>.5?1:-1))*(o()*(l[1]-l[0])+l[0]),dx:0,dy:0});i.strokeStyle=t.linkColor;i.lineWidth=t.linkWidth;i.fillStyle=t.dotColor};window.addEventListener("resize",s,!1);document.addEventListener("mousemove",l,!1);window.addEventListener("deviceorientation",a,!1);s();c()}return n}();(function(){for(var i=0,t=["ms","moz","webkit","o"],n=0;n