Landing: Implement using Hugo

Change-Id: I1204d0a75e73000685d3f12a52d66897fa69bbae
diff --git a/apps/landing/static/styles/style.css b/apps/landing/static/styles/style.css
new file mode 100644
index 0000000..dbe4305
--- /dev/null
+++ b/apps/landing/static/styles/style.css
@@ -0,0 +1,454 @@
+:root {
+  --bg: #d6d6d6;
+  --formBg: #3a3a3a;
+  --text: #3a3a3a;
+  --formText: #d6d6d6;
+  --button: #7f9f7f;
+  --logo: #d4888d;
+  --fontSize: 14px;
+}
+
+body {
+  background: var(--bg);
+  color: var(--text);
+  margin: 0;
+  display: flex;
+  min-height: 100vh;
+  font-family: Hack, monospace;
+  font-size: var(--fontSize);
+}
+
+a {
+  color: inherit;
+  text-decoration: none;
+}
+
+.container {
+  display: flex;
+  flex-direction: column;
+  flex: 1;
+  position: relative;
+  width: 100%;
+}
+
+.navbar {
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+  position: sticky;
+  top: 0;
+  background-color: var(--bg);
+  border-bottom: 1px dashed var(--formBg);
+  padding: 0 20px;
+  z-index: 100;
+}
+
+.logo {
+  font-weight: bold;
+  font-size: 1.6rem;
+  align-content: center;
+  height: 100%;
+  background-color: var(--formBg);
+}
+
+.logo a {
+  padding-left: 15px;
+  padding-right: 15px;
+}
+
+.links {
+  display: flex;
+  align-items: center;
+  height: 100%;
+}
+
+.links a {
+  border-right: 1px dashed var(--formBg);
+  padding: 0 20px;
+  height: 100%;
+  align-content: center;
+}
+
+.links a:hover {
+  transform: scaleX(1);
+  text-decoration-line: underline;
+  text-decoration-color: var(--logo);
+}
+
+.logo-part1 {
+  color: var(--bg);
+}
+
+.logo-part2 {
+  color: var(--logo);
+}
+
+/* FACTS Grid Container */
+
+.facts-content {
+  display: flex;
+  flex-grow: 1;
+}
+
+.grid-container {
+  display: grid;
+  grid-template-columns: repeat(4, 1fr);
+  grid-template-rows: repeat(4, 1fr);
+  grid-template-areas:
+    "fact-1 large-box large-box large-box"
+    "fact-2 large-box large-box large-box"
+    "fact-3 large-box large-box large-box"
+    "fact-4 fact-5 fact-6 fact-7";
+  padding: 0 20px;
+}
+
+.facts {
+  border: 1px dashed var(--formBg);
+  display: flex;
+  justify-content: center;
+  border-top: none !important;
+  flex-direction: column;
+  transition: background-color 0.5s ease, color 0.5s ease;
+}
+
+.fact-image-box {
+  grid-area: large-box;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  border-right: 1px dashed var(--formBg);
+  border-bottom: 1px dashed var(--formBg);
+  padding: 5px;
+}
+
+.fact-image {
+  max-width: 80%;
+  max-height: 80%;
+  object-fit: cover;
+  transition: opacity 0.3s ease-in-out;
+  opacity: 1;
+}
+
+.fade-out {
+  opacity: 0;
+}
+
+.fact-1 {
+  grid-area: fact-1;
+}
+.fact-2 {
+  grid-area: fact-2;
+}
+.fact-3 {
+  grid-area: fact-3;
+}
+.fact-4 {
+  grid-area: fact-4;
+}
+.fact-5 {
+  grid-area: fact-5;
+  border-left: none !important;
+}
+.fact-6 {
+  grid-area: fact-6;
+  border-left: none !important;
+}
+.fact-7 {
+  grid-area: fact-7;
+  border-left: none !important;
+}
+
+.no-bottom-border {
+  border-bottom: none !important;
+}
+
+.fact-title {
+  display: block;
+  margin: 4px;
+  font-weight: bold;
+  padding-left: 1rem;
+}
+
+.facts p {
+  margin: 4px;
+  padding-left: 1rem;
+}
+
+.active-fact {
+  background-color: var(--button);
+  cursor: pointer;
+}
+
+/* Responsive adjustments */
+@media (max-width: 768px) {
+  .grid-container {
+    grid-template-columns: 1fr;
+    grid-template-rows: auto;
+    grid-template-areas:
+      "large-box"
+      "fact-1"
+      "fact-2"
+      "fact-3"
+      "fact-4"
+      "fact-5"
+      "fact-6"
+      "fact-7";
+  }
+
+  .fact-image-box {
+    position: sticky;
+    top: 30px;
+    z-index: 10;
+    background: var(--bg);
+    border-left: 1px dashed var(--formBg) !important;
+  }
+
+  .fact-5 {
+    grid-area: fact-5;
+    border-left: 1px dashed var(--formBg) !important;
+  }
+  .fact-6 {
+    grid-area: fact-6;
+    border-left: 1px dashed var(--formBg) !important;
+  }
+  .fact-7 {
+    grid-area: fact-7;
+    border-left: 1px dashed var(--formBg) !important;
+  }
+
+  .fact-title {
+    margin: 4px;
+    padding-top: 8px;
+    padding-bottom: 8px;
+    padding-left: 0.5rem;
+  }
+  .facts p {
+    margin: 4px;
+    padding-bottom: 8px;
+    padding-left: 0.5rem;
+  }
+}
+
+@media (max-width: 1200px) {
+  .fact-image {
+    max-width: 85%;
+    max-height: 85%;
+  }
+
+  .fact-image {
+    max-width: 80%;
+    max-height: 80%;
+    object-fit: cover;
+    transition: opacity 0.3s ease-in-out;
+    opacity: 1;
+  }
+
+  .fade-out {
+    opacity: 0;
+  }
+}
+
+@media (max-width: 992px) {
+  .fact-image {
+    max-width: 90%;
+    max-height: 90%;
+  }
+}
+
+@media (max-width: 768px) {
+  .fact-image {
+    max-width: 100%;
+    max-height: 100%;
+  }
+}
+
+/* FOOTER FORM START */
+
+.form-page {
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  flex: 1;
+}
+
+.form-container {
+  max-width: 800px;
+  width: 100%;
+  padding: 20px;
+  background-color: var(--formBg);
+  color: var(--formText);
+  margin-left: 20px;
+  margin-right: 20px;
+}
+
+.footer-form {
+  background-color: var(--formBg);
+  padding: 20px;
+  display: flex;
+  justify-content: center;
+}
+
+.form-container-footer {
+  width: 100%;
+  max-width: 800px;
+  background-color: var(--formBg);
+  color: var(--formText);
+}
+
+.form-container-footer h2 {
+  margin-bottom: 20px;
+  font-size: 24px;
+  color: var(--formText);
+}
+
+.form-group-footer {
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+  flex-direction: column;
+}
+
+.form-group-footer label {
+  display: block;
+  margin-bottom: 5px;
+  color: var(--formText);
+  margin-right: auto;
+}
+.input-area {
+  margin-bottom: 15px;
+}
+
+.form-group-footer input,
+.form-group-footer textarea {
+  width: 100%;
+  padding: 10px;
+  border: 1px solid var(--formText);
+  box-sizing: border-box;
+  color: var(--formText);
+  background-color: var(--formBg);
+  resize: vertical;
+}
+
+.form-group-footer input,
+.form-group-footer textarea:focus {
+  outline: none !important;
+  border: 1px solid var(--button);
+}
+
+.form-group-footer button {
+  width: auto;
+  padding: 10px 20px;
+  border: none;
+  background-color: var(--button);
+  color: var(--text);
+  font-size: 16px;
+  cursor: pointer;
+  margin-left: auto;
+}
+
+.form-group-footer button:hover {
+  background-color: #d4888d;
+}
+
+/* FOOTER FORM END */
+
+/* APPS START */
+.apps-grid {
+  display: grid;
+  grid-template-columns: repeat(3, 1fr);
+  border: 1px dashed var(--formBg);
+  border-top: none !important;
+  margin-left: 20px;
+  margin-right: 20px;
+  overflow-y: auto;
+  overflow-x: hidden;
+  padding-top: 20px;
+  gap: 20px;
+}
+
+@media (max-width: 1200px) {
+  .apps-grid {
+    grid-template-columns: repeat(2, 1fr);
+  }
+}
+
+@media (max-width: 768px) {
+  .apps-grid {
+    grid-template-columns: repeat(1, 1fr);
+  }
+}
+
+.app-card {
+  background-color: var(--formBg);
+  color: var(--formText);
+  padding: 20px;
+  box-shadow: 0 2px 4px var(--formBg);
+  display: flex;
+  flex-direction: column;
+  justify-content: space-between;
+  height: 100%;
+  box-sizing: border-box;
+  position: relative;
+}
+
+.app-header {
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+  margin-bottom: 10px;
+}
+
+.app-header h2 {
+  margin: 0;
+  font-size: 1.5em;
+}
+
+.app-icon {
+  width: 45px;
+  height: 45px;
+  display: flex;
+  align-items: center;
+  color: var(--logo);
+}
+
+.app-card p {
+  margin: 10px 0;
+  flex-grow: 1;
+}
+
+.app-card a {
+  display: inline-block;
+  color: var(--button);
+  text-decoration: underline;
+  margin-top: auto;
+}
+
+/* SINGLE APP START */
+.app-detail {
+  padding: 20px;
+}
+
+.app-detail h1 {
+  margin-top: 0;
+}
+
+.app-card-link {
+  position: absolute;
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 100%;
+  z-index: 1;
+}
+
+/* SINGLE APP END */
+
+/* APPS END */
+
+/* ABOUT START */
+
+.about {
+  padding: 0 20px;
+}
+
+/* ABOUT END */