diff --git a/src/pages/cloud-native-management/playground.js b/src/pages/cloud-native-management/playground.js
new file mode 100644
index 000000000000..06da343ba10e
--- /dev/null
+++ b/src/pages/cloud-native-management/playground.js
@@ -0,0 +1,15 @@
+import React from "react";
+import SEO from "../../components/seo";
+import Playground from "../../sections/Playground";
+
+const PlaygroundPage = () => {
+ return (
+ <>
+
+ >
+ );
+};
+export default PlaygroundPage;
+export const Head = () => {
+ return ;
+};
\ No newline at end of file
diff --git a/src/sections/General/Navigation/utility/menu-items.js b/src/sections/General/Navigation/utility/menu-items.js
index 073f785d4ec6..fc2fcb9e5690 100644
--- a/src/sections/General/Navigation/utility/menu-items.js
+++ b/src/sections/General/Navigation/utility/menu-items.js
@@ -103,7 +103,7 @@ const Data = {
},
{
name: "Playground",
- path: "https://play.meshery.io",
+ path: "/cloud-native-management/playground",
},
{
name: "Nighthawk",
diff --git a/src/sections/Meshmap/Meshmap-collaborate/collaboration-feature-team.js b/src/sections/Meshmap/Meshmap-collaborate/collaboration-feature-team.js
index 871b56ddde5c..a9f53119c5e0 100644
--- a/src/sections/Meshmap/Meshmap-collaborate/collaboration-feature-team.js
+++ b/src/sections/Meshmap/Meshmap-collaborate/collaboration-feature-team.js
@@ -67,15 +67,15 @@ const CollaborationFeatureWrapper = styled.div`
transition: opacity ease-out 0.5s;
.collab4-colorMode_svg__colorMode1
{
- fill: ${props => props.theme.whiteToBlack}
+ fill: ${props => props.theme.whiteToBlack};
transition: 0.8s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.collab4-colorMode_svg__colorMode2{
- fill: ${props => props.theme.greyB4B4B4ToGrey505050}
+ fill: ${props => props.theme.greyB4B4B4ToGrey505050};
transition: 0.8s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.collab4-colorMode_svg__colorMode3{
- fill: ${props => props.theme.blackToWhite}
+ fill: ${props => props.theme.blackToWhite};
transition: 0.8s cubic-bezier(0.2, 0.8, 0.2, 1);
}
@media only screen and (max-width: 767px) {
@@ -112,7 +112,7 @@ const CollaborationFeatureTeam = () => {
Collaborate with your Team
-
Build an iterative design flow with live collaboration that keeps you in the loop whether you’re working in the office or remotely.
+
Build an iterative design flow with live collaboration that keeps you in the loop whether you are working in the office or remotely.
diff --git a/src/sections/Meshmap/Meshmap-collaborate/images/banner-transitions/kubernetes-partial-colorMode.svg b/src/sections/Meshmap/Meshmap-collaborate/images/banner-transitions/kubernetes-partial-colorMode.svg
index 7194c938d7a2..94c69b1f2128 100644
--- a/src/sections/Meshmap/Meshmap-collaborate/images/banner-transitions/kubernetes-partial-colorMode.svg
+++ b/src/sections/Meshmap/Meshmap-collaborate/images/banner-transitions/kubernetes-partial-colorMode.svg
@@ -8,6 +8,10 @@
.colorMode2 {
fill: #000
}
+
+ .colorMode3 {
+ fill: #fff
+ }
+ class="colorMode1" />
+ class="colorMode3" />
diff --git a/src/sections/Meshmap/Meshmap-collaborate/meshmap-collaborate-banner.js b/src/sections/Meshmap/Meshmap-collaborate/meshmap-collaborate-banner.js
index 3c7677462539..19e47a035607 100644
--- a/src/sections/Meshmap/Meshmap-collaborate/meshmap-collaborate-banner.js
+++ b/src/sections/Meshmap/Meshmap-collaborate/meshmap-collaborate-banner.js
@@ -176,7 +176,7 @@ const CollaborationBannerWrapper = styled.div`
.service-interface {
scale: 1;
}
-
+}
`;
const MeshmapCollaborateBanner = () => {
diff --git a/src/sections/Playground/images/playground-feature-1.svg b/src/sections/Playground/images/playground-feature-1.svg
new file mode 100644
index 000000000000..cc63602c1ca6
--- /dev/null
+++ b/src/sections/Playground/images/playground-feature-1.svg
@@ -0,0 +1,339 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/sections/Playground/images/playground-feature-2.svg b/src/sections/Playground/images/playground-feature-2.svg
new file mode 100644
index 000000000000..389660b93f36
--- /dev/null
+++ b/src/sections/Playground/images/playground-feature-2.svg
@@ -0,0 +1,1049 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/sections/Playground/images/playground-feature-3.svg b/src/sections/Playground/images/playground-feature-3.svg
new file mode 100644
index 000000000000..4c26a0a5ed58
--- /dev/null
+++ b/src/sections/Playground/images/playground-feature-3.svg
@@ -0,0 +1,303 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/sections/Playground/images/playground-hero.svg b/src/sections/Playground/images/playground-hero.svg
new file mode 100644
index 000000000000..307f8200bd87
--- /dev/null
+++ b/src/sections/Playground/images/playground-hero.svg
@@ -0,0 +1,107 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/sections/Playground/index.js b/src/sections/Playground/index.js
new file mode 100644
index 000000000000..9ec66be1c23c
--- /dev/null
+++ b/src/sections/Playground/index.js
@@ -0,0 +1,17 @@
+import React from "react";
+import styled from "styled-components";
+import Reviews from "../Pricing/review-slider";
+import PlaygroundHero from "./playground-hero";
+import PlaygroundFeatures from "./playground-features";
+
+const Playground = () => {
+ return (
+ <>
+
+
+
+ >
+ );
+};
+
+export default Playground;
diff --git a/src/sections/Playground/playground-features.js b/src/sections/Playground/playground-features.js
new file mode 100644
index 000000000000..788a3d25b06d
--- /dev/null
+++ b/src/sections/Playground/playground-features.js
@@ -0,0 +1,105 @@
+import React from "react";
+import styled from "styled-components";
+import { ReactComponent as PlaygroundFeature1 } from "./images/playground-feature-1.svg";
+import { ReactComponent as PlaygroundFeature2 } from "./images/playground-feature-2.svg";
+import { ReactComponent as PlaygroundFeature3 } from "./images/playground-feature-3.svg";
+import { useInView } from "react-intersection-observer";
+import { useState } from "react";
+
+const PlaygroundFeaturesWrapper = styled.div`
+ display: flex;
+ flex-direction: column;
+ text-align: center;
+ justify-content: center;
+ align-items: center;
+ margin: 5% 0%;
+
+ h1 {
+ margin-bottom: 8px;
+ }
+
+ .feature {
+ position: relative;
+ display: flex;
+ flex-direction: row;
+ width: 70%;
+ justify-content: flex-end;
+ align-items: center;
+ margin: 1% 0%;
+ @media only screen and (max-width: 767px) {
+ text-align: center;
+ flex-direction: column-reverse;
+ margin: 5%;
+ }
+
+ .feature-text {
+ display: flex;
+ flex-direction: column;
+ flex: 0 0 50%;
+ max-width: 50%;
+ text-align: left;
+ padding: 0% 5%;
+ @media only screen and (max-width: 767px) {
+ max-width: 100%;
+ text-align: center;
+ }
+
+ h2 {
+ margin-bottom: 2%;
+ }
+ }
+
+ .feature-image {
+ flex: 0 0 50%;
+ max-width: 50%;
+
+ @media only screen and (max-width: 767px) {
+ max-width: 80%;
+ }
+ }
+ }
+
+ .reverse {
+ @media only screen and (min-width: 767px) {
+ flex-direction: row-reverse;
+ }
+ }
+`;
+
+const PlaygroundFeatures = () => {
+ return (
+
+ In the Playground, you can...
+
+
+
+
Collaborate more effectively
+ Collaborate with other engineers, share your knowledge, and exchange ideas.
+
+
+
+
+
+
Discover new cloud native tools
+ Explore new cloud native tools without the need for complex setup or configuration. Simply open your browser and go.
+
+
+
+
+
+
Develop inside sandbox environments
+ Design new cloud native scenarios and easily deploy in the Playground environment. Keep your designs and deploy in your own environment when you’re ready.
+
+
+
+
+ );
+};
+
+export default PlaygroundFeatures;
\ No newline at end of file
diff --git a/src/sections/Playground/playground-hero.js b/src/sections/Playground/playground-hero.js
new file mode 100644
index 000000000000..e8fea5a8ede4
--- /dev/null
+++ b/src/sections/Playground/playground-hero.js
@@ -0,0 +1,75 @@
+import React from "react";
+import styled from "styled-components";
+import { ReactComponent as PlaygroundHeroImage } from "./images/playground-hero.svg";
+import Button from "../../reusecore/Button";
+import { useInView } from "react-intersection-observer";
+import { useState } from "react";
+
+const PlaygroundHeroWrapper = styled.div`
+ display: flex;
+ flex-direction: column;
+ text-align: center;
+ justify-content: center;
+ align-items: center;
+ background: ${props => props.theme.linearDarkToLinearLight};
+ margin: 2% 0% 5%;
+
+ .hero {
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ justify-content: center;
+ margin-bottom: 4%;
+ max-width: 80%;
+
+ .hero-text {
+ text-align: left;
+
+ @media only screen and (max-width: 767px) {
+ text-align: center;
+ }
+
+ h1 {
+ margin-bottom: 3%;
+ @media only screen and (max-width: 767px) {
+ margin: 8% 0%;
+ }
+ }
+
+ h4 {
+ margin-bottom: 6%;
+ @media only screen and (max-width: 767px) {
+ margin: 8% 0%;
+ }
+ }
+ }
+
+ .hero-image {
+ flex: 0 0 50%;
+ max-width: 50%;
+
+ @media only screen and (max-width: 767px) {
+ display: none;
+ }
+ }
+ }
+`;
+
+const PlaygroundHero = () => {
+ return (
+
+
+
+
Manage your Cloud Native mess
+ Employ a set of learning paths that incorporate an application networking centric curriculum featuring training on 200+ integrations.
+
+
+
+
+
+ );
+};
+
+export default PlaygroundHero;
\ No newline at end of file
diff --git a/src/theme/app/themeStyles.js b/src/theme/app/themeStyles.js
index e51ae47b1429..0b3ca8263ac0 100644
--- a/src/theme/app/themeStyles.js
+++ b/src/theme/app/themeStyles.js
@@ -175,6 +175,7 @@ const lighttheme = {
linearToLinear2: "linear-gradient(61.3deg, rgba(0, 179, 159, 0.2) -26.19%, rgba(255, 255, 255, 0.2) 40.19%), linear-gradient(303.45deg, rgba(0, 179, 159, 0.2) 0%, rgba(255, 255, 255, 0.2) 37.23%), linear-gradient(360deg, #00B39F -108%, #FFFFFF 63.36%)",
linearToGreen: "linear-gradient(90.2deg,rgba(255, 255, 255, 0.38) 33.89%,rgba(0, 179, 159, 0.74) 99.81%)",
linearToWhite: "#FFFFFF",
+ linearDarkToLinearLight: "linear-gradient(61.3deg, rgba(0, 179, 159, 0.2) -26.19%, rgba(255, 255, 255, 0.2) 40.19%), linear-gradient(303.45deg, rgba(0, 179, 159, 0.2) 0%, rgba(255, 255, 255, 0.2) 37.23%), linear-gradient(360deg, #00B39F -108%, #FFFFFF 63.36%)",
whiteEightToBlack: "#000000",
whiteEightToBlackEight: "rgb(0 0 0 / 0.8)",
whiteFiveToBlackFive: "rgb(0 0 0 / 0.5)",
@@ -393,6 +394,7 @@ export const darktheme = {
linearToLinear2: "linear-gradient(61.3deg, rgba(0, 179, 159, 0.2) -26.19%, rgba(18, 18, 18, 0.2) 40.19%), linear-gradient(303.45deg, rgba(0, 179, 159, 0.2) 0%, rgba(18, 18, 18, 0.2) 37.23%), linear-gradient(360deg, #00B39F -11.84%, #121212 63.36%)",
linearToGreen: "linear-gradient(90.2deg, rgba(0, 0, 0, 0.2) 0.16%, rgba(0, 179, 159, 0.74) 99.81%)",
linearToWhite: "linear-gradient(to right, #666666, #444444)",
+ linearDarkToLinearLight: "linear-gradient(180deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 179, 159, 0.58) 46.87%, rgba(0, 179, 159, 0.034) 100%), linear-gradient(179.39deg, rgba(0, 179, 159, 0) 0.58%, #000000 99.54%)",
whiteEightToBlack: "rgb(255 255 255 / 0.8)",
whiteEightToBlackEight: "rgb(255 255 255 / 0.8)",
whiteFiveToBlackFive: "rgb(255 255 255 / 0.5)",