diff --git a/_landing-page-static/css/main.css b/_landing-page-static/css/main.css
new file mode 100644
index 000000000000..aa915d8c1b6a
--- /dev/null
+++ b/_landing-page-static/css/main.css
@@ -0,0 +1,1461 @@
+/*! HTML5 Boilerplate v4.3.0 | MIT License | http://h5bp.com/ */
+
+/*
+ * What follows is the result of much research on cross-browser styling.
+ * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
+ * Kroc Camen, and the H5BP dev community and team.
+ */
+
+/* ==========================================================================
+ Base styles: opinionated defaults
+ ========================================================================== */
+
+html,
+button,
+input,
+select,
+textarea {
+ color: #222;
+}
+
+html {
+ font-size: 1em;
+ line-height: 1.4;
+}
+
+/*
+ * Remove text-shadow in selection highlight: h5bp.com/i
+ * These selection rule sets have to be separate.
+ * Customize the background color to match your design.
+ */
+
+::-moz-selection {
+ background: #b3d4fc;
+ text-shadow: none;
+}
+
+::selection {
+ background: #b3d4fc;
+ text-shadow: none;
+}
+
+/*
+ * A better looking default horizontal rule
+ */
+
+hr {
+ display: block;
+ height: 1px;
+ border: 0;
+ border-top: 1px solid #ccc;
+ margin: 1em 0;
+ padding: 0;
+}
+
+/*
+ * Remove the gap between images, videos, audio and canvas and the bottom of
+ * their containers: h5bp.com/i/440
+ */
+
+audio,
+canvas,
+img,
+video {
+ vertical-align: middle;
+}
+
+/*
+ * Remove default fieldset styles.
+ */
+
+fieldset {
+ border: 0;
+ margin: 0;
+ padding: 0;
+}
+
+/*
+ * Allow only vertical resizing of textareas.
+ */
+
+textarea {
+ resize: vertical;
+}
+
+/* ==========================================================================
+ Browse Happy prompt
+ ========================================================================== */
+
+.browsehappy {
+ margin: 0.2em 0;
+ background: #ccc;
+ color: #000;
+ padding: 0.2em 0;
+}
+
+/* ==========================================================================
+ Author's custom styles
+ ========================================================================== */
+
+html {
+ height: 100%;
+ background: #fff;
+}
+
+body {
+ min-height: 100%;
+ font-family: 'Roboto', sans-serif;
+ color: #5d6061;
+}
+
+
+/* Global Elements
+ ========================================================================== */
+
+pre {
+ border: 1px solid rgba(0,0,0,0.2);
+ /* Border Radius */
+ -webkit-border-radius: 5px;
+ -moz-border-radius: 5px;
+ border-radius: 5px;
+ background: #fff;
+ font-size: 0.9em;
+ line-height: 1.6em;
+}
+
+pre,
+code {
+ font-family: Monaco, 'Droid Sans Mono', monospace !important;
+}
+
+img {
+ max-width: 100%;
+}
+
+h1, h2, h3, h4, h5, h6 {
+ font-weight: normal;
+ font-weight: 300;
+}
+
+h2 code {
+ font-size: .9em;
+}
+
+h2, h3 {
+ color: #4285f4;
+}
+
+a {
+ cursor: pointer;
+}
+
+
+/* Grid
+ ========================================================================== */
+
+.row:after {
+ content: '';
+ display: table;
+ clear: both;
+}
+
+.row--right,
+[class*='col'] {
+ float: none;
+}
+
+@media only screen and (min-width: 45em) {
+ .row--right {
+ float: right;
+ }
+
+ [class*='col'] {
+ float: left;
+ }
+
+ .col-10 { width: 10%; }
+ .col-20 { width: 20%; }
+ .col-25 { width: 25%; }
+ .col-30 { width: 30%; }
+ .col-33 { width: 33%; }
+ .col-40 { width: 40%; }
+ .col-50 { width: 50%; }
+ .col-60 { width: 60%; }
+ .col-66 { width: 66%; }
+ .col-70 { width: 70%; }
+ .col-75 { width: 75%; }
+ .col-80 { width: 80%; }
+ .col-90 { width: 90%; }
+}
+
+
+/* Utilities
+ ========================================================================== */
+
+.padding {
+ padding: 10px;
+}
+
+.margin {
+ margin: 10px;
+}
+
+.margin-vertical {
+ margin: 10px 0;
+}
+
+
+
+/* Header
+ ========================================================================== */
+
+.page-header,
+.hero-banner {
+ background: #4285f4;
+ color: #fff;
+}
+
+.page-header {
+ position: relative;
+ padding: 1em;
+}
+
+.page-header.fixed {
+ position: fixed;
+ z-index: 2;
+ top: 0;
+ width: 100%;
+ padding: 0;
+}
+
+/*
+ Logo
+*/
+
+.logo {
+ margin: 0;
+ width: 13em;
+ font-size: 1em;
+ line-height: normal;
+}
+
+.page-header.fixed .logo {
+ width: auto;
+}
+
+.page-header.fixed a {
+ color: #fff;
+ text-decoration: none;
+}
+
+.page-header.fixed a:hover {
+ opacity: 0.4;
+}
+
+.page-header.fixed .logo img {
+ position: relative;
+ top: -0.2em;
+ width: 2em;
+ margin: 0 0.5em;
+}
+
+.page-header.fixed .gcloud {
+ display: inline-block;
+ padding: 0.4em 0 0.6em 0.6em;
+ border-left: 1px solid rgba(255,255,255,0.2);
+ font-family: 'Open Sans', sans-serif;
+ font-weight: 300;
+ font-size: 1.4em;
+}
+
+/*
+ Menu
+*/
+
+.nav-current {
+ display: block;
+ position: absolute;
+ top: 1.2em;
+ right: 1em;
+ width: 24px;
+ height: 20px;
+ background: url(../images/icon-menu.svg) no-repeat;
+ text-indent: -90000px;
+ cursor: pointer;
+}
+
+.page-header.fixed .nav-current {
+ top: 1em;
+}
+
+.menu {
+ display: none;
+ position: absolute;
+ top: 3.6em;
+ right: 0;
+ width: 100%;
+ margin: 0;
+ padding: 0;
+ background: #2570ec;
+ /* Box Shadow */
+ -webkit-box-shadow: 5px 5px 8px rgba(0,16,41,0.3);
+ -moz-box-shadow: 5px 5px 8px rgba(0,16,41,0.3);
+ box-shadow: 5px 5px 8px rgba(0,16,41,0.3);
+ /* Transitions */
+ -webkit-transition: all 0.3s ease;
+ -moz-transition: all 0.3s ease;
+ -ms-transition: all 0.3s ease;
+ -o-transition: all 0.3s ease;
+ transition: all 0.3s ease;
+}
+
+.page-header.fixed .menu {
+ top: 3.3em;
+}
+
+.menu a {
+ display: block;
+ padding: 1em;
+ border-top: 1px solid rgba(255,255,255,0.2);
+ color: #fff;
+ text-decoration: none;
+ /* Transitions */
+ -webkit-transition: all 0.3s ease;
+ -moz-transition: all 0.3s ease;
+ -ms-transition: all 0.3s ease;
+ -o-transition: all 0.3s ease;
+ transition: all 0.3s ease;
+}
+
+.menu a:hover {
+ background: #1a65e0;
+}
+
+.menu-icon {
+ margin-right: 0.5em;
+}
+
+/*
+ Open Menu
+ */
+
+.main-nav.open .nav-current {
+ opacity: 0.4;
+}
+
+.main-nav.open .menu {
+ display: block;
+}
+
+
+
+/* Home Content
+ ========================================================================== */
+
+/*
+ Main Content
+*/
+
+.main {
+ font-size: 0.9em;
+ line-height: 1.8em;
+}
+
+.container {
+ padding: 2.8em 2em;
+}
+
+.block-title {
+ margin-top: 0;
+ font-size: 1.6em;
+}
+
+/*
+ Hero Banner
+*/
+
+.hero-banner h1 {
+ margin: 0 0 0.6em;
+ font-family: 'Open Sans', sans-serif;
+ font-size: 3.5em;
+ font-weight: 300;
+}
+
+.hero-banner p {
+ margin-bottom: 2.2em;
+ font-size: 0.9em;
+ line-height: 1.6em;
+}
+
+.hero-banner h2 {
+ margin-bottom: 0.2em;
+ font-size: 1.3em;
+}
+
+.hero-banner pre {
+ margin: 0;
+ padding: 1em;
+ border: none;
+ background: #2a74ed;
+}
+
+/*
+ What is it?
+ */
+.about pre {
+ font-size: 110%;
+}
+
+/*
+ Featuring
+*/
+
+.featuring .block-title {
+ text-align: center;
+}
+
+.featuring p {
+ font-size: 0.9em;
+ line-height: 1.6em;
+}
+
+.featuring-links {
+ list-style: none;
+ margin: 0;
+ margin-bottom: -1em;
+ padding: 0;
+}
+
+.btn,
+.ext-link {
+ display: block;
+}
+
+.btn {
+ padding: 1em;
+ border: none;
+ /* Border Radius */
+ -webkit-border-radius: 5px;
+ -moz-border-radius: 5px;
+ border-radius: 5px;
+ background: #db4437;
+ color: #fff;
+ text-decoration: none;
+ /* Transitions */
+ -webkit-transition: all 0.3s ease;
+ -moz-transition: all 0.3s ease;
+ -ms-transition: all 0.3s ease;
+ -o-transition: all 0.3s ease;
+ transition: all 0.3s ease;
+}
+
+.btn:hover {
+ background: #f24f41;
+}
+
+.btn img {
+ margin-right: 0.5em;
+}
+
+.featuring-links .btn {
+ margin-bottom: 1em;
+ padding: 1.5em;
+ font-size: 1.1em;
+ text-align: center;
+}
+
+.featuring-links .btn img {
+ width: 2em;
+}
+
+.btn-docs img {
+ background-color: #fff;
+ border: 1px solid transparent;
+ -webkit-border-radius: 80px;
+ -moz-border-radius: 80px;
+ border-radius: 80px;
+ padding: 4px;
+ width: 40px;
+ /* Transitions */
+ -webkit-transition: all 0.5s ease;
+ -moz-transition: all 0.5s ease;
+ -ms-transition: all 0.5s ease;
+ -o-transition: all 0.5s ease;
+ transition: all 0.5s ease;
+}
+
+.btn-docs:hover img {
+ border: 1px solid #ccc;
+ transform: rotate(135deg);
+ -webkit-box-shadow: 4px 4px 4px rgba(0, 0, 0, .3);
+ -moz-box-shadow: 4px 4px 4px rgba(0, 0, 0, .3);
+ box-shadow: 4px 4px 4px rgba(0, 0, 0, .3);
+}
+
+.btn-docs:active img {
+ -webkit-box-shadow: 4px 4px 4px rgba(0, 0, 0, .5);
+ -moz-box-shadow: 4px 4px 4px rgba(0, 0, 0, .5);
+ box-shadow: 4px 4px 4px rgba(0, 0, 0, .5);
+}
+
+.ext-link {
+ display: block;
+ padding: 1em;
+ border-bottom: 1px solid rgba(0,0,0,0.1);
+ color: #5d6061;
+ text-decoration: none;
+ /* Transitions */
+ -webkit-transition: all 0.3s ease;
+ -moz-transition: all 0.3s ease;
+ -ms-transition: all 0.3s ease;
+ -o-transition: all 0.3s ease;
+ transition: all 0.3s ease;
+}
+
+.featuring-links li:last-child .ext-link {
+ border-bottom: none;
+}
+
+.ext-link:hover {
+ background: #f6f6f6;
+}
+
+.ext-link img {
+ opacity: 0.5;
+ margin-right: 0.5em;
+ /* Transitions */
+ -webkit-transition: all 0.3s ease;
+ -moz-transition: all 0.3s ease;
+ -ms-transition: all 0.3s ease;
+ -o-transition: all 0.3s ease;
+ transition: all 0.3s ease;
+}
+
+.ext-link:hover img {
+ opacity: 0.7;
+}
+
+.pagination {
+ margin: 2em 0 0;
+ padding: 0;
+ list-style: none;
+ text-decoration: none;
+ text-align: center;
+}
+
+.pagination li {
+ display: inline-block;
+ width: 1em;
+ height: 1em;
+ margin: 0 0.2em;
+}
+
+.pagination a {
+ display: block;
+ width: 100%;
+ height: 100%;
+ border: 1px solid rgba(0,0,0,0.2);
+ /* Border Radius */
+ -webkit-border-radius: 50%;
+ -moz-border-radius: 50%;
+ border-radius: 50%;
+ background: #fff;
+ text-indent: -90000px;
+}
+
+.pagination a:hover {
+ background: rgba(0,0,0,0.1);
+}
+
+.pagination .current,
+.pagination .current:hover {
+ background: #db4437;
+ border-color: #db4437;
+}
+
+/*
+ About
+*/
+
+.about {
+ background: #eee;
+}
+
+.about h4 {
+ margin-bottom: 0;
+ font-size: 1.2em;
+ font-weight: bold;
+ color: #4285f4;
+}
+
+/*
+ FAQ
+*/
+
+.faq-btn,
+.faq-questions {
+ max-width: 20em;
+ margin: 0;
+ padding: 0;
+ list-style: none;
+}
+
+.faq-btn {
+ position: relative;
+ margin-bottom: 2em;
+}
+
+.faq-btn .current {
+ background: #e6eefc url(../images/icon-dropdown-faq.svg) 95% 50% no-repeat;
+}
+
+.faq-btn .current,
+.faq-questions a {
+ display: block;
+ padding: 1em;
+ border: 1px solid #a7bfe8;
+ color: #2b70e2;
+ cursor: pointer;
+ text-decoration: none;
+ /* Transitions */
+ -webkit-transition: all 0.3s ease;
+ -moz-transition: all 0.3s ease;
+ -ms-transition: all 0.3s ease;
+ -o-transition: all 0.3s ease;
+ transition: all 0.3s ease;
+}
+
+.faq-questions {
+ display: none;
+ position: absolute;
+ width: 100%;
+}
+
+.faq-questions a {
+ border-top: none;
+ background: #e6eefc;
+}
+
+.faq-questions a:hover {
+ background: #fcfdff;
+}
+
+/*
+ Open FAQ button
+ */
+
+.faq-btn.open .current {
+ background-color: #c6d7f6;
+ /* Box Shadow */
+ -webkit-box-shadow: inset 0 0 10px rgba(16,71,163,0.3);
+ -moz-box-shadow: inset 0 0 10px rgba(16,71,163,0.3);
+ box-shadow: inset 0 0 10px rgba(16,71,163,0.3);
+ color: #1555bf;
+}
+
+.faq-btn.open .faq-questions {
+ display: block;
+}
+
+
+/* Docs Content
+ ========================================================================== */
+
+.admonition-title {
+ background-color: #e5ecf9;
+ padding: 8px;
+}
+
+.admonition {
+ background-color: #f8f8f8;
+}
+
+.admonition pre {
+ background-color: #eeeeee !important;
+}
+
+.docs-header {
+ position: relative;
+ padding: 7em 2em 4em;
+ background: #f8f8f8;
+ border-bottom: 1px solid rgba(0,0,0,0.05);
+}
+
+.headerlink {
+ display: none;
+ padding: 0 7px;
+ left: -24px;
+ text-decoration: none;
+}
+
+.headerlink:hover {
+ color: #505050;
+ display: block;
+}
+
+h2 .headerlink {
+ color: #2b70e2;
+}
+
+h2 .headerlink:hover {
+ color: #4285f4;
+ display: block;
+}
+
+.highlight pre {
+ background: #f8f8f8;
+}
+
+.method-heading {
+ position: relative;
+}
+
+.param-optional .param-types {
+ font-style: italic;
+}
+
+.param-optional .param-description:before {
+ content: "optional. ";
+ color: #aaa;
+ font-style: italic;
+}
+
+.sub-heading {
+ color: #5d6061;
+ margin: 0 !important;
+}
+
+.toggler {
+ float: left;
+ min-width: 15px;
+ margin: auto;
+}
+
+.toggle {
+ cursor: pointer;
+}
+
+.viewcode-link {
+ float: right;
+}
+
+/*
+ Page Title
+*/
+
+.page-title {
+ margin: 0;
+ font-family: 'Open Sans', sans-serif;
+ font-weight: 300;
+ color: #4285f4;
+ font-size: 2.4em;
+ line-height: 1em;
+}
+
+/*
+ Versions
+*/
+
+.versions {
+ display: inline-block;
+ margin-top: 2em;
+}
+
+.versions span,
+.versions a {
+ display: block;
+}
+
+.v-current {
+ font-size: 1.2em;
+ color: #2b70e2;
+}
+
+.v-current i {
+ font-size: 0.7em;
+}
+
+.v-btn {
+ padding: 0.5em;
+ border: 1px solid rgba(0,0,0,0.2);
+ background: rgba(0,0,0,0.07);
+ font-size: 0.8em;
+ color: rgba(0,0,0,0.6);
+ text-align: center;
+ text-decoration: none;
+ /* Transitions */
+ -webkit-transition: all 0.3s ease;
+ -moz-transition: all 0.3s ease;
+ -ms-transition: all 0.3s ease;
+ -o-transition: all 0.3s ease;
+ transition: all 0.3s ease;
+}
+
+.v-btn:hover {
+ background: rgba(0,0,0,0.02);
+}
+
+.v-btn img {
+ position: relative;
+ top: -0.1em;
+ opacity: 0.3;
+}
+
+.v-list {
+ color: rgba(0,0,0,0.2);
+}
+
+.v-list a {
+ color: #4285f4;
+ text-decoration: none;
+}
+
+.v-list a:hover {
+ text-decoration: underline;
+}
+
+/*
+ Content
+ */
+
+
+.content {
+ padding: 1em 2em;
+}
+
+.content pre,
+.field-list {
+ border: 0;
+ margin-bottom: 2em;
+}
+
+.content h2, .content h3, .content h4, .content h5, .content h6 {
+ margin: 2em 0 0.5em;
+}
+
+.content>h2:first-child {
+ margin-top: 1em;
+}
+
+/*
+ Tables
+ */
+
+.field-list {
+ text-align: left;
+}
+
+.field-list th,
+.field-list td {
+ padding: 0.3em 1em;
+ border: 1px solid #cfcfcf;
+}
+
+.field-list th[scope="col"] {
+ border-color: #2264d0;
+ background: #4285f4;
+ color: #fff;
+}
+
+.field-name {
+ background: #f6f6f6;
+ font-weight: 'bold';
+}
+
+/*
+ Side Nav
+ */
+
+ .side-nav {
+ padding-bottom: 3em;
+ background: #efefef;
+ }
+
+.side-nav a {
+ display: block;
+ padding: 0.3em 2em;
+ color: #5d6061;
+ text-decoration: none;
+ /* Transitions */
+ -webkit-transition: all 0.3s ease;
+ -moz-transition: all 0.3s ease;
+ -ms-transition: all 0.3s ease;
+ -o-transition: all 0.3s ease;
+ transition: all 0.3s ease;
+}
+
+.side-nav a:hover {
+ background: rgba(255,255,255,0.7);
+}
+
+.side-nav .current .current,
+.side-nav .current .current:hover {
+ background: #e2e2e2;
+}
+
+.side-nav ul {
+ margin: 0;
+ padding: 0;
+}
+
+.side-nav ul ul a {
+ padding-left: 4em;
+}
+
+.side-nav .external-links {
+ margin-top: 2em;
+}
+
+.external-links img {
+ margin-right: 0.3em;
+ opacity: 0.3;
+ /* Transitions */
+ -webkit-transition: all 0.3s ease;
+ -moz-transition: all 0.3s ease;
+ -ms-transition: all 0.3s ease;
+ -o-transition: all 0.3s ease;
+ transition: all 0.3s ease;
+}
+
+.external-links a:hover img {
+ opacity: 0.6;
+}
+
+
+
+/* ==========================================================================
+ Helper classes
+ ========================================================================== */
+
+/*
+ * Image replacement
+ */
+
+.ir {
+ background-color: transparent;
+ border: 0;
+ overflow: hidden;
+ /* IE 6/7 fallback */
+ *text-indent: -9999px;
+}
+
+.ir:before {
+ content: "";
+ display: block;
+ width: 0;
+ height: 150%;
+}
+
+/*
+ * Hide from both screenreaders and browsers: h5bp.com/u
+ */
+
+.hidden {
+ display: none !important;
+ visibility: hidden;
+}
+
+/*
+ * Hide only visually, but have it available for screenreaders: h5bp.com/v
+ */
+
+.visuallyhidden {
+ border: 0;
+ clip: rect(0 0 0 0);
+ height: 1px;
+ margin: -1px;
+ overflow: hidden;
+ padding: 0;
+ position: absolute;
+ width: 1px;
+}
+
+/*
+ * Extends the .visuallyhidden class to allow the element to be focusable
+ * when navigated to via the keyboard: h5bp.com/p
+ */
+
+.visuallyhidden.focusable:active,
+.visuallyhidden.focusable:focus {
+ clip: auto;
+ height: auto;
+ margin: 0;
+ overflow: visible;
+ position: static;
+ width: auto;
+}
+
+/*
+ * Hide visually and from screenreaders, but maintain layout
+ */
+
+.invisible {
+ visibility: hidden;
+}
+
+/*
+ * Clearfix: contain floats
+ *
+ * For modern browsers
+ * 1. The space content is one way to avoid an Opera bug when the
+ * `contenteditable` attribute is included anywhere else in the document.
+ * Otherwise it causes space to appear at the top and bottom of elements
+ * that receive the `clearfix` class.
+ * 2. The use of `table` rather than `block` is only necessary if using
+ * `:before` to contain the top-margins of child elements.
+ */
+
+.clearfix:before,
+.clearfix:after {
+ content: " "; /* 1 */
+ display: table; /* 2 */
+}
+
+.clearfix:after {
+ clear: both;
+}
+
+/*
+ * For IE 6/7 only
+ * Include this rule to trigger hasLayout and contain floats.
+ */
+
+.clearfix {
+ *zoom: 1;
+}
+
+/* ==========================================================================
+ EXAMPLE Media Queries for Responsive Design.
+ These examples override the primary ('mobile first') styles.
+ Modify as content requires.
+ ========================================================================== */
+
+@media only screen and (min-width: 37em) {
+
+ /*
+ Main
+ */
+
+ .main {
+ font-size: 1em;
+ }
+
+ /*
+ Featuring
+ */
+
+ .featuring-links li:first-child {
+ display: block;
+ }
+
+ .featuring-links {
+ text-align: center;
+ }
+
+ .featuring-links li {
+ display: inline-block;
+ }
+
+ .featuring-links .btn {
+ display: inline-block;
+ padding: 1em 2.4em;
+ }
+
+ .ext-link {
+ display: inline-block;
+ padding: 0.8em 1.2em;
+ border: none;
+ /* Border Radius */
+ -webkit-border-radius: 5px;
+ -moz-border-radius: 5px;
+ border-radius: 5px;
+ }
+
+ .pagination li {
+ width: 0.6em;
+ height: 0.6em;
+ }
+
+}
+
+@media only screen and (min-width: 45em) {
+
+ /*
+ Docs Header
+ */
+
+ .versions {
+ position: absolute;
+ top: 6em;
+ right: 2em;
+ margin: 0;
+ }
+
+ .v-btn {
+ font-size: 0.7em;
+ line-height: normal;
+ }
+
+}
+
+@media only screen and (min-width: 50em) {
+
+ /*
+ Header
+ */
+
+ .page-header {
+ padding: 1.6em;
+ }
+
+ .page-header.fixed .logo img {
+ margin: 0 0.8em;
+ }
+
+ .page-header.fixed .gcloud {
+ padding: 0 0 0 1em;
+ height: 70px;
+ line-height: 70px;
+ }
+
+ /*
+ Logo
+ */
+
+ .logo {
+ width: 280px;
+ }
+
+ /*
+ Menu
+ */
+
+ .main-nav {
+ position: absolute;
+ top: 1.2em;
+ left: 21.5em;
+ }
+
+ .page-header.fixed .main-nav {
+ top: 0;
+ left: 11.5em;
+ }
+
+ .nav-current {
+ position: relative;
+ top: 0;
+ left: 0;
+ padding: 0.8em 1.6em;
+ width: 150px;
+ height: auto;
+ border: 1px solid rgba(255,255,255,0.4);
+ background: url(../images/icon-dropdown.svg) 90% 50% no-repeat;
+ text-indent: 0;
+ }
+
+ .page-header.fixed .nav-current {
+ top: 0;
+ padding: 0 1.6em;
+ height: 70px;
+ border: 1px solid rgba(255,255,255,0.2);
+ border-top: none;
+ border-bottom: none;
+ line-height: 70px;
+ }
+
+ .nav-current:hover {
+ background-color: rgba(255,255,255,0.1);
+ }
+
+ .menu {
+ top: 3em;
+ left: 0;
+ }
+
+ .menu a {
+ padding: 1.2em 1.5em;
+ }
+
+ .page-header.fixed .menu {
+ top: 70px;
+ }
+
+ /*
+ Docs Header
+ */
+
+ .docs-header {
+ padding-top: 7.7em;
+ }
+
+ .versions {
+ top: 7em;
+ }
+
+ /*
+ Content
+ */
+
+ .container,
+ .content {
+ width: 80%;
+ margin: 0 auto;
+ padding: 2em 0;
+ }
+
+ /*
+ Hero Banner
+ */
+
+ .hero-banner {
+ padding: 2em 0;
+ }
+
+ .hero-banner h1 {
+ font-size: 5em;
+ margin-bottom: 0.8em;
+ }
+
+ .hero-banner p {
+ font-size: 1em;
+ line-height: 2em;
+ }
+
+ /*
+ Featuring
+ */
+
+ .featuring .block-title {
+ margin-bottom: 1.4em;
+ }
+
+}
+
+@media only screen and (min-width: 60em) {
+
+ /*
+ Content
+ */
+
+ .container {
+ width: 90%;
+ max-width: 1020px;
+ font-size: 0.9em;
+ }
+
+ .col {
+ width: 46%;
+ }
+
+ .col-left {
+ float: left;
+ }
+
+ .col-right {
+ float: right;
+ }
+
+ .block-title {
+ font-size: 2em;
+ }
+
+ /*
+ Hero Banner
+ */
+
+ .hero-banner {
+ padding-bottom: 0;
+ }
+
+ .hero-banner .col-right {
+ padding-top: 3.6em;
+ }
+
+ .hero-banner h1 {
+ font-size: 5.6em;
+ }
+
+ .hero-banner p {
+ font-size: 1.1em;
+ }
+
+ .hero-banner h2 {
+ font-size: 1.3em;
+ margin-bottom: 0.4em;
+ }
+
+ .hero-banner pre {
+ font-size: 1.1em;
+ padding: 1em 1.5em;
+ }
+
+ /*
+ Featuring
+ */
+
+ .featuring {
+ text-align: center;
+ }
+
+ .featuring-links li {
+ font-size: 1em;
+ }
+
+ .featuring-links li:first-child {
+ display: inline-block;
+ }
+
+ .featuring-links .btn {
+ margin-right: 0.5em;
+ }
+
+ .ext-link {
+ padding: 0.5em 1.2em;
+ }
+
+ .featuring p {
+ max-width: 80%;
+ margin: 0 auto;
+ font-size: 1em;
+ }
+
+ /*
+ About
+ */
+
+ .about .col-right {
+ padding-top: 2.4em;
+ }
+
+ /*
+ FAQ
+ */
+
+ .faq .answer {
+ -moz-column-count: 2;
+ -moz-column-gap: 50px;
+ -webkit-column-count: 2;
+ -webkit-column-gap: 50px;
+ column-count: 2;
+ column-gap: 50px;
+ }
+
+ /*
+ Docs Page
+ */
+
+ .lang-page {
+ background: url(../images/lang-bg.png) repeat-y;
+ }
+
+ .docs-header {
+ margin-left: 240px;
+ }
+
+ .content {
+ width: 100%;
+ max-width: 1070px;
+ padding-left: 290px;
+ padding-right: 2em;
+ /* Box Sizing */
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ margin: 0;
+ font-size: 0.9em;
+ }
+
+ .side-nav {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 240px;
+ padding-top: 7.7em;
+ background: none;
+ font-size: 0.9em;
+ }
+
+ .side-nav a {
+ padding-left: 2.5em;
+ }
+
+}
+
+@media print,
+ (-o-min-device-pixel-ratio: 5/4),
+ (-webkit-min-device-pixel-ratio: 1.25),
+ (min-resolution: 120dpi) {
+ /* Style adjustments for high resolution devices */
+}
+
+/* ==========================================================================
+ Print styles.
+ Inlined to avoid required HTTP connection: h5bp.com/r
+ ========================================================================== */
+
+@media print {
+ * {
+ background: transparent !important;
+ color: #000 !important; /* Black prints faster: h5bp.com/s */
+ box-shadow: none !important;
+ text-shadow: none !important;
+ }
+
+ a,
+ a:visited {
+ text-decoration: underline;
+ }
+
+ a[href]:after {
+ content: " (" attr(href) ")";
+ }
+
+ abbr[title]:after {
+ content: " (" attr(title) ")";
+ }
+
+ /*
+ * Don't show links for images, or javascript/internal links
+ */
+
+ .ir a:after,
+ a[href^="javascript:"]:after,
+ a[href^="#"]:after {
+ content: "";
+ }
+
+ pre,
+ blockquote {
+ border: 1px solid #999;
+ page-break-inside: avoid;
+ }
+
+ thead {
+ display: table-header-group; /* h5bp.com/t */
+ }
+
+ tr,
+ img {
+ page-break-inside: avoid;
+ }
+
+ img {
+ max-width: 100% !important;
+ }
+
+ @page {
+ margin: 0.5cm;
+ }
+
+ p,
+ h2,
+ h3 {
+ orphans: 3;
+ widows: 3;
+ }
+
+ h2,
+ h3 {
+ page-break-after: avoid;
+ }
+}
diff --git a/_landing-page-static/css/normalize.css b/_landing-page-static/css/normalize.css
new file mode 100644
index 000000000000..42e24d6880b5
--- /dev/null
+++ b/_landing-page-static/css/normalize.css
@@ -0,0 +1,527 @@
+/*! normalize.css v1.1.3 | MIT License | git.io/normalize */
+
+/* ==========================================================================
+ HTML5 display definitions
+ ========================================================================== */
+
+/**
+ * Correct `block` display not defined in IE 6/7/8/9 and Firefox 3.
+ */
+
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+main,
+nav,
+section,
+summary {
+ display: block;
+}
+
+/**
+ * Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3.
+ */
+
+audio,
+canvas,
+video {
+ display: inline-block;
+ *display: inline;
+ *zoom: 1;
+}
+
+/**
+ * Prevent modern browsers from displaying `audio` without controls.
+ * Remove excess height in iOS 5 devices.
+ */
+
+audio:not([controls]) {
+ display: none;
+ height: 0;
+}
+
+/**
+ * Address styling not present in IE 7/8/9, Firefox 3, and Safari 4.
+ * Known issue: no IE 6 support.
+ */
+
+[hidden] {
+ display: none;
+}
+
+/* ==========================================================================
+ Base
+ ========================================================================== */
+
+/**
+ * 1. Correct text resizing oddly in IE 6/7 when body `font-size` is set using
+ * `em` units.
+ * 2. Prevent iOS text size adjust after orientation change, without disabling
+ * user zoom.
+ */
+
+html {
+ font-size: 100%; /* 1 */
+ -ms-text-size-adjust: 100%; /* 2 */
+ -webkit-text-size-adjust: 100%; /* 2 */
+}
+
+/**
+ * Address `font-family` inconsistency between `textarea` and other form
+ * elements.
+ */
+
+html,
+button,
+input,
+select,
+textarea {
+ font-family: sans-serif;
+}
+
+/**
+ * Address margins handled incorrectly in IE 6/7.
+ */
+
+body {
+ margin: 0;
+}
+
+/* ==========================================================================
+ Links
+ ========================================================================== */
+
+/**
+ * Address `outline` inconsistency between Chrome and other browsers.
+ */
+
+a:focus {
+ outline: thin dotted;
+}
+
+/**
+ * Improve readability when focused and also mouse hovered in all browsers.
+ */
+
+a:active,
+a:hover {
+ outline: 0;
+}
+
+/* ==========================================================================
+ Typography
+ ========================================================================== */
+
+/**
+ * Address font sizes and margins set differently in IE 6/7.
+ * Address font sizes within `section` and `article` in Firefox 4+, Safari 5,
+ * and Chrome.
+ */
+
+h1 {
+ font-size: 2em;
+ margin: 0.67em 0;
+}
+
+h2 {
+ font-size: 1.5em;
+ margin: 0.83em 0;
+}
+
+h3 {
+ font-size: 1.17em;
+ margin: 1em 0;
+}
+
+h4 {
+ font-size: 1em;
+ margin: 1.33em 0;
+}
+
+h5 {
+ font-size: 0.83em;
+ margin: 1.67em 0;
+}
+
+h6 {
+ font-size: 0.67em;
+ margin: 2.33em 0;
+}
+
+/**
+ * Address styling not present in IE 7/8/9, Safari 5, and Chrome.
+ */
+
+abbr[title] {
+ border-bottom: 1px dotted;
+}
+
+/**
+ * Address style set to `bolder` in Firefox 3+, Safari 4/5, and Chrome.
+ */
+
+b,
+strong {
+ font-weight: bold;
+}
+
+blockquote {
+ margin: 1em 40px;
+}
+
+/**
+ * Address styling not present in Safari 5 and Chrome.
+ */
+
+dfn {
+ font-style: italic;
+}
+
+/**
+ * Address differences between Firefox and other browsers.
+ * Known issue: no IE 6/7 normalization.
+ */
+
+hr {
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
+ height: 0;
+}
+
+/**
+ * Address styling not present in IE 6/7/8/9.
+ */
+
+mark {
+ background: #ff0;
+ color: #000;
+}
+
+/**
+ * Address margins set differently in IE 6/7.
+ */
+
+p,
+pre {
+ margin: 1em 0;
+}
+
+/**
+ * Correct font family set oddly in IE 6, Safari 4/5, and Chrome.
+ */
+
+code,
+kbd,
+pre,
+samp {
+ font-family: monospace, serif;
+ _font-family: 'courier new', monospace;
+ font-size: 1em;
+}
+
+/**
+ * Improve readability of pre-formatted text in all browsers.
+ */
+
+pre {
+ white-space: pre;
+ white-space: pre-wrap;
+ word-wrap: break-word;
+}
+
+/**
+ * Address CSS quotes not supported in IE 6/7.
+ */
+
+q {
+ quotes: none;
+}
+
+/**
+ * Address `quotes` property not supported in Safari 4.
+ */
+
+q:before,
+q:after {
+ content: '';
+ content: none;
+}
+
+/**
+ * Address inconsistent and variable font size in all browsers.
+ */
+
+small {
+ font-size: 80%;
+}
+
+/**
+ * Prevent `sub` and `sup` affecting `line-height` in all browsers.
+ */
+
+sub,
+sup {
+ font-size: 75%;
+ line-height: 0;
+ position: relative;
+ vertical-align: baseline;
+}
+
+sup {
+ top: -0.5em;
+}
+
+sub {
+ bottom: -0.25em;
+}
+
+/* ==========================================================================
+ Lists
+ ========================================================================== */
+
+/**
+ * Address margins set differently in IE 6/7.
+ */
+
+dl,
+menu,
+ol,
+ul {
+ margin: 1em 0;
+}
+
+dd {
+ margin: 0 0 0 40px;
+}
+
+/**
+ * Address paddings set differently in IE 6/7.
+ */
+
+menu,
+ol,
+ul {
+ padding: 0 0 0 40px;
+}
+
+/**
+ * Correct list images handled incorrectly in IE 7.
+ */
+
+nav ul,
+nav ol {
+ list-style: none;
+ list-style-image: none;
+}
+
+/* ==========================================================================
+ Embedded content
+ ========================================================================== */
+
+/**
+ * 1. Remove border when inside `a` element in IE 6/7/8/9 and Firefox 3.
+ * 2. Improve image quality when scaled in IE 7.
+ */
+
+img {
+ border: 0; /* 1 */
+ -ms-interpolation-mode: bicubic; /* 2 */
+}
+
+/**
+ * Correct overflow displayed oddly in IE 9.
+ */
+
+svg:not(:root) {
+ overflow: hidden;
+}
+
+/* ==========================================================================
+ Figures
+ ========================================================================== */
+
+/**
+ * Address margin not present in IE 6/7/8/9, Safari 5, and Opera 11.
+ */
+
+figure {
+ margin: 0;
+}
+
+/* ==========================================================================
+ Forms
+ ========================================================================== */
+
+/**
+ * Correct margin displayed oddly in IE 6/7.
+ */
+
+form {
+ margin: 0;
+}
+
+/**
+ * Define consistent border, margin, and padding.
+ */
+
+fieldset {
+ border: 1px solid #c0c0c0;
+ margin: 0 2px;
+ padding: 0.35em 0.625em 0.75em;
+}
+
+/**
+ * 1. Correct color not being inherited in IE 6/7/8/9.
+ * 2. Correct text not wrapping in Firefox 3.
+ * 3. Correct alignment displayed oddly in IE 6/7.
+ */
+
+legend {
+ border: 0; /* 1 */
+ padding: 0;
+ white-space: normal; /* 2 */
+ *margin-left: -7px; /* 3 */
+}
+
+/**
+ * 1. Correct font size not being inherited in all browsers.
+ * 2. Address margins set differently in IE 6/7, Firefox 3+, Safari 5,
+ * and Chrome.
+ * 3. Improve appearance and consistency in all browsers.
+ */
+
+button,
+input,
+select,
+textarea {
+ font-size: 100%; /* 1 */
+ margin: 0; /* 2 */
+ vertical-align: baseline; /* 3 */
+ *vertical-align: middle; /* 3 */
+}
+
+/**
+ * Address Firefox 3+ setting `line-height` on `input` using `!important` in
+ * the UA stylesheet.
+ */
+
+button,
+input {
+ line-height: normal;
+}
+
+/**
+ * Address inconsistent `text-transform` inheritance for `button` and `select`.
+ * All other form control elements do not inherit `text-transform` values.
+ * Correct `button` style inheritance in Chrome, Safari 5+, and IE 6+.
+ * Correct `select` style inheritance in Firefox 4+ and Opera.
+ */
+
+button,
+select {
+ text-transform: none;
+}
+
+/**
+ * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
+ * and `video` controls.
+ * 2. Correct inability to style clickable `input` types in iOS.
+ * 3. Improve usability and consistency of cursor style between image-type
+ * `input` and others.
+ * 4. Remove inner spacing in IE 7 without affecting normal text inputs.
+ * Known issue: inner spacing remains in IE 6.
+ */
+
+button,
+html input[type="button"], /* 1 */
+input[type="reset"],
+input[type="submit"] {
+ -webkit-appearance: button; /* 2 */
+ cursor: pointer; /* 3 */
+ *overflow: visible; /* 4 */
+}
+
+/**
+ * Re-set default cursor for disabled elements.
+ */
+
+button[disabled],
+html input[disabled] {
+ cursor: default;
+}
+
+/**
+ * 1. Address box sizing set to content-box in IE 8/9.
+ * 2. Remove excess padding in IE 8/9.
+ * 3. Remove excess padding in IE 7.
+ * Known issue: excess padding remains in IE 6.
+ */
+
+input[type="checkbox"],
+input[type="radio"] {
+ box-sizing: border-box; /* 1 */
+ padding: 0; /* 2 */
+ *height: 13px; /* 3 */
+ *width: 13px; /* 3 */
+}
+
+/**
+ * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
+ * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
+ * (include `-moz` to future-proof).
+ */
+
+input[type="search"] {
+ -webkit-appearance: textfield; /* 1 */
+ -moz-box-sizing: content-box;
+ -webkit-box-sizing: content-box; /* 2 */
+ box-sizing: content-box;
+}
+
+/**
+ * Remove inner padding and search cancel button in Safari 5 and Chrome
+ * on OS X.
+ */
+
+input[type="search"]::-webkit-search-cancel-button,
+input[type="search"]::-webkit-search-decoration {
+ -webkit-appearance: none;
+}
+
+/**
+ * Remove inner padding and border in Firefox 3+.
+ */
+
+button::-moz-focus-inner,
+input::-moz-focus-inner {
+ border: 0;
+ padding: 0;
+}
+
+/**
+ * 1. Remove default vertical scrollbar in IE 6/7/8/9.
+ * 2. Improve readability and alignment in all browsers.
+ */
+
+textarea {
+ overflow: auto; /* 1 */
+ vertical-align: top; /* 2 */
+}
+
+/* ==========================================================================
+ Tables
+ ========================================================================== */
+
+/**
+ * Remove most spacing between table cells.
+ */
+
+table {
+ border-collapse: collapse;
+ border-spacing: 0;
+}
diff --git a/_landing-page-static/images/icon-lang-python-white.svg b/_landing-page-static/images/icon-lang-python-white.svg
new file mode 100644
index 000000000000..bc4737703c35
--- /dev/null
+++ b/_landing-page-static/images/icon-lang-python-white.svg
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/_landing-page-static/images/icon-lang-python.svg b/_landing-page-static/images/icon-lang-python.svg
new file mode 100644
index 000000000000..7d55090b6a48
--- /dev/null
+++ b/_landing-page-static/images/icon-lang-python.svg
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/_landing-page-static/images/icon-link-github.svg b/_landing-page-static/images/icon-link-github.svg
new file mode 100644
index 000000000000..2404f8b0be06
--- /dev/null
+++ b/_landing-page-static/images/icon-link-github.svg
@@ -0,0 +1,19 @@
+
+
+
+
+
+
diff --git a/_landing-page-static/images/icon-link-package-manager.svg b/_landing-page-static/images/icon-link-package-manager.svg
new file mode 100644
index 000000000000..3a12655fe6f9
--- /dev/null
+++ b/_landing-page-static/images/icon-link-package-manager.svg
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/_landing-page-static/images/icon-link-stackoverflow.svg b/_landing-page-static/images/icon-link-stackoverflow.svg
new file mode 100644
index 000000000000..e1a1f789a897
--- /dev/null
+++ b/_landing-page-static/images/icon-link-stackoverflow.svg
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/_landing-page-static/images/logo-full.svg b/_landing-page-static/images/logo-full.svg
new file mode 100644
index 000000000000..3b84037fccc6
--- /dev/null
+++ b/_landing-page-static/images/logo-full.svg
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/index.html b/index.html
old mode 100644
new mode 100755
index b7c0487ced06..43190a99cbad
--- a/index.html
+++ b/index.html
@@ -1,5 +1,140 @@
-
+
+
+
+
+
-
+
+
+ gcloud
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
gcloud
+
Google Cloud Client Library for Python
+ - an idiomatic, intuitive, and natural way for Python developers to
+ integrate with Google Cloud Platform services, like Cloud Datastore
+ and Cloud Storage.
+
+
+
+
One-line install
+
$ pip install --upgrade gcloud
+
+
+
+
+
+
+
+
+
+
What is it?
+
+
gcloud is a client library for accessing Google
+ Cloud Platform services that significantly reduces the boilerplate
+ code you have to write. The library provides high-level API
+ abstractions so they're easier to understand. It embraces
+ idioms of Python, works well with the standard library, and
+ integrates better with your codebase.
+ All this means you spend more time creating code that matters
+ to you.
+
+
gcloud is configured to access Google Cloud Platform
+ services and authorize (OAuth 2.0) automatically on your behalf.
+ With a one-line install and a private key, you are up and ready
+ to go. Better yet, if you are running on a Google Compute Engine
+ instance, the one-line install is enough!
+
+
+
+
+
+
+
+
+
+
FAQ
+
+
What is the relationship between the gcloud package
+ and the gcloud command-line tool?
+
Both the gcloud command-line tool and
+ gcloud package are a part of the Google Cloud SDK: a collection
+ of tools and libraries that enable you to easily create and manage
+ resources on the Google Cloud Platform. The gcloud command-line
+ tool can be used to manage both your development workflow and your
+ Google Cloud Platform resources while the gcloud package is the
+ Google Cloud Client Library for Python.
+
+
What is the relationship between gcloud
+ and the Google APIs Python Client?
+
The
+ Google APIs Python Client is a client library for
+ using the broad set of Google APIs.
+ gcloud is built specifically for the Google Cloud Platform
+ and is the recommended way to integrate Google Cloud APIs into your
+ Python applications. If your application requires both Google Cloud Platform and
+ other Google APIs, the 2 libraries may be used by your application.
+
+
+
+