Project import generated by Copybara.

GitOrigin-RevId: 63746295f1a5ab5a619056791995793d65529e62
diff --git a/node_modules/material-design-lite/src/grid/README.md b/node_modules/material-design-lite/src/grid/README.md
new file mode 100644
index 0000000..9b40d8e
--- /dev/null
+++ b/node_modules/material-design-lite/src/grid/README.md
@@ -0,0 +1,122 @@
+## Introduction
+
+The Material Design Lite (MDL) **grid** component is a simplified method for laying out content for multiple screen sizes. It reduces the usual coding burden required to correctly display blocks of content in a variety of display conditions.
+
+The MDL grid is defined and enclosed by a container element. A grid has 12 columns in the desktop screen size, 8 in the tablet size, and 4 in the phone size, each size having predefined margins and gutters. Cells are laid out sequentially in a row, in the order they are defined, with some exceptions:
+
+- If a cell doesn't fit in the row in one of the screen sizes, it flows into the following line.
+- If a cell has a specified column size equal to or larger than the number of columns for the current screen size, it takes up the entirety of its row.
+
+You can set a maximum grid width, after which the grid stays centered with padding on either side, by setting its `max-width` CSS property.
+
+Grids are a fairly new and non-standardized feature in most user interfaces, and provide users with a way to view content in an organized manner that might otherwise be difficult to understand or retain. Their design and use is an important factor in the overall user experience.
+
+### To include an MDL **grid** component:
+
+&nbsp;1. Code a `<div>` element; this is the "outer" container, intended to hold all of the grid's cells. Style the div as desired (colors, font size, etc.).
+```html
+<div>
+</div>
+```
+&nbsp;2. Add the `mdl-grid` MDL class to the div using the `class` attribute.
+```
+<div class="mdl-grid">
+</div>
+```
+&nbsp;3. For each cell, code one "inner" div, including the text to be displayed.
+```html
+<div class="mdl-grid">
+  <div>Content</div>
+  <div>goes</div>
+  <div>here</div>
+</div>
+```
+&nbsp;4. Add the `mdl-cell` class and an `mdl-cell--COLUMN-col` class, where COLUMN specifies the column size for the cell, to the "inner" divs using the `class` attribute.
+```html
+<div class="mdl-grid">
+  <div class="mdl-cell mdl-cell--4-col">Content</div>
+  <div class="mdl-cell mdl-cell--4-col">goes</div>
+  <div class="mdl-cell mdl-cell--4-col">here</div>
+</div>
+```
+&nbsp;5. Optionally add an `mdl-cell--COLUMN-col-DEVICE` class, where COLUMN specifies the column size for the cell on a specific device, and DEVICE specifies the device type.
+```html
+<div class="mdl-grid">
+  <div class="mdl-cell mdl-cell--4-col mdl-cell--8-col-tablet">Content</div>
+  <div class="mdl-cell mdl-cell--4-col mdl-cell--8-col-tablet">goes</div>
+  <div class="mdl-cell mdl-cell--4-col mdl-cell--8-col-tablet">here</div>
+</div>
+```
+
+The grid component is ready for use.
+
+#### Examples
+
+A grid with five cells of column size 1.
+```html
+<div class="mdl-grid">
+  <div class="mdl-cell mdl-cell--1-col">CS 1</div>
+  <div class="mdl-cell mdl-cell--1-col">CS 1</div>
+  <div class="mdl-cell mdl-cell--1-col">CS 1</div>
+  <div class="mdl-cell mdl-cell--1-col">CS 1</div>
+  <div class="mdl-cell mdl-cell--1-col">CS 1</div>
+</div>
+```
+
+A grid with three cells, one of column size 6, one of column size 4, and one of column size 2.
+```html
+<div class="mdl-grid">
+  <div class="mdl-cell mdl-cell--6-col">CS 6</div>
+  <div class="mdl-cell mdl-cell--4-col">CS 4</div>
+  <div class="mdl-cell mdl-cell--2-col">CS 2</div>
+</div>
+```
+
+A grid with three cells of column size 6 that will display as column size 8 on a tablet device.
+```html
+<div class="mdl-grid">
+  <div class="mdl-cell mdl-cell--6-col mdl-cell--8-col-tablet">CS 6 (8 on tablet)</div>
+  <div class="mdl-cell mdl-cell--6-col mdl-cell--8-col-tablet">CS 6 (8 on tablet)</div>
+  <div class="mdl-cell mdl-cell--6-col mdl-cell--8-col-tablet">CS 6 (8 on tablet)</div>
+</div>
+```
+
+A grid with four cells of column size 2 that will display as column size 4 on a phone device.
+
+```html
+<div class="mdl-grid">
+  <div class="mdl-cell mdl-cell--2-col mdl-cell--4-col-phone">CS 2 (4 on phone)</div>
+  <div class="mdl-cell mdl-cell--2-col mdl-cell--4-col-phone">CS 2 (4 on phone)</div>
+  <div class="mdl-cell mdl-cell--2-col mdl-cell--4-col-phone">CS 2 (4 on phone)</div>
+  <div class="mdl-cell mdl-cell--2-col mdl-cell--4-col-phone">CS 2 (4 on phone)</div>
+</div>
+```
+
+## Configuration options
+
+The MDL CSS classes apply various predefined visual enhancements and behavioral effects to the grid. The table below lists the available classes and their effects.
+
+| MDL class | Effect | Remarks |
+|-----------|--------|---------|
+| `mdl-grid` | Defines a container as an MDL grid component | Required on "outer" div element |
+| `mdl-cell` | Defines a container as an MDL cell | Required on "inner" div elements |
+| `mdl-grid--no-spacing` | Modifies the grid cells to have no margin between them. | Optional on grid container. |
+| `mdl-cell--N-col` | Sets the column size for the cell to N | N is 1-12 inclusive, defaults to 4; optional on "inner" div elements|
+| `mdl-cell--N-col-desktop` | Sets the column size for the cell to N in desktop mode only | N is 1-12 inclusive; optional on "inner" div elements|
+| `mdl-cell--N-col-tablet` | Sets the column size for the cell to N in tablet mode only | N is 1-8 inclusive; optional on "inner" div elements|
+| `mdl-cell--N-col-phone` | Sets the column size for the cell to N in phone mode only | N is 1-4 inclusive; optional on "inner" div elements|
+| `mdl-cell--N-offset` | Adds N columns of whitespace before the cell | N is 1-11 inclusive; optional on "inner" div elements|
+| `mdl-cell--N-offset-desktop` | Adds N columns of whitespace before the cell in desktop mode | N is 1-11 inclusive; optional on "inner" div elements|
+| `mdl-cell--N-offset-tablet` | Adds N columns of whitespace before the cell in tablet mode | N is 1-7 inclusive; optional on "inner" div elements|
+| `mdl-cell--N-offset-phone` | Adds N columns of whitespace before the cell in phone mode | N is 1-3 inclusive; optional on "inner" div elements|
+| `mdl-cell--order-N` | Reorders cell to position N | N is 1-12 inclusive; optional on "inner" div elements|
+| `mdl-cell--order-N-desktop` | Reorders cell to position N when in desktop mode | N is 1-12 inclusive; optional on "inner" div elements|
+| `mdl-cell--order-N-tablet` | Reorders cell to position N when in tablet mode | N is 1-12 inclusive; optional on "inner" div elements|
+| `mdl-cell--order-N-phone` | Reorders cell to position N when in phone mode | N is 1-12 inclusive; optional on "inner" div elements|
+| `mdl-cell--hide-desktop` | Hides the cell when in desktop mode | Optional on "inner" div elements |
+| `mdl-cell--hide-tablet` | Hides the cell when in tablet mode | Optional on "inner" div elements |
+| `mdl-cell--hide-phone` | Hides the cell when in phone mode | Optional on "inner" div elements |
+| `mdl-cell--stretch` | Stretches the cell vertically to fill the parent | Default; optional on "inner" div elements |
+| `mdl-cell--top` | Aligns the cell to the top of the parent | Optional on "inner" div elements |
+| `mdl-cell--middle` | Aligns the cell to the middle of the parent | Optional on "inner" div elements |
+|`mdl-cell--bottom` | Aligns the cell to the bottom of the parent | Optional on "inner" div elements |
diff --git a/node_modules/material-design-lite/src/grid/_grid.scss b/node_modules/material-design-lite/src/grid/_grid.scss
new file mode 100644
index 0000000..d0aab57
--- /dev/null
+++ b/node_modules/material-design-lite/src/grid/_grid.scss
@@ -0,0 +1,231 @@
+/**
+ * Copyright 2015 Google Inc. All Rights Reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*
+* NOTE: Some rules here are applied using duplicate selectors.
+* This is on purpose to increase their specificity when applied.
+* For example: `.mdl-cell--1-col-phone.mdl-cell--1-col-phone`
+*/
+
+@import "../variables";
+
+.mdl-grid {
+  display: flex;
+  flex-flow: row wrap;
+  margin: 0 auto 0 auto;
+  align-items: stretch;
+
+  &.mdl-grid--no-spacing {
+    padding: 0;
+  }
+}
+
+.mdl-cell {
+  box-sizing: border-box;
+}
+
+
+.mdl-cell--top {
+  align-self: flex-start;
+}
+
+.mdl-cell--middle {
+  align-self: center;
+}
+
+.mdl-cell--bottom {
+  align-self: flex-end;
+}
+
+.mdl-cell--stretch {
+  align-self: stretch;
+}
+
+.mdl-grid.mdl-grid--no-spacing > .mdl-cell {
+  margin: 0;
+}
+
+// Define order override classes.
+@for $i from 1 through $grid-max-columns {
+  .mdl-cell--order-#{$i} {
+    order: $i;
+  }
+}
+
+
+// Mixins for width calculation.
+@mixin partial-size($size, $columns, $gutter) {
+  width: calc(#{(($size / $columns) * 100)+"%"} - #{$gutter});
+
+  .mdl-grid--no-spacing > & {
+    width: #{(($size / $columns) * 100)+"%"};
+  }
+}
+
+@mixin full-size($gutter) {
+  @include partial-size(1, 1, $gutter);
+}
+
+@mixin offset-size($size, $columns, $gutter) {
+  margin-left: calc(#{(($size / $columns) * 100)+"%"} + #{$gutter / 2});
+
+  .mdl-grid.mdl-grid--no-spacing > & {
+    margin-left: #{(($size / $columns) * 100)+"%"};
+  }
+}
+
+
+
+////////// Phone //////////
+
+@media (max-width: $grid-tablet-breakpoint - 1) {
+  .mdl-grid {
+    padding: $grid-phone-margin - ($grid-phone-gutter / 2);
+  }
+
+  .mdl-cell {
+    margin: $grid-phone-gutter / 2;
+    @include partial-size($grid-cell-default-columns, $grid-phone-columns,
+        $grid-phone-gutter);
+  }
+
+  .mdl-cell--hide-phone {
+    display: none !important;
+  }
+
+  // Define order override classes.
+  @for $i from 1 through $grid-max-columns {
+    .mdl-cell--order-#{$i}-phone.mdl-cell--order-#{$i}-phone {
+      order: $i;
+    }
+  }
+
+  // Define partial sizes for columnNumber < totalColumns.
+  @for $i from 1 through ($grid-phone-columns - 1) {
+    .mdl-cell--#{$i}-col,
+    .mdl-cell--#{$i}-col-phone.mdl-cell--#{$i}-col-phone {
+      @include partial-size($i, $grid-phone-columns, $grid-phone-gutter);
+    }
+  }
+
+  // Define 100% for everything else.
+  @for $i from $grid-phone-columns through $grid-desktop-columns {
+    .mdl-cell--#{$i}-col,
+    .mdl-cell--#{$i}-col-phone.mdl-cell--#{$i}-col-phone {
+      @include full-size($grid-phone-gutter);
+    }
+  }
+
+  // Define valid phone offsets.
+  @for $i from 1 through ($grid-phone-columns - 1) {
+    .mdl-cell--#{$i}-offset,
+    .mdl-cell--#{$i}-offset-phone.mdl-cell--#{$i}-offset-phone {
+      @include offset-size($i, $grid-phone-columns, $grid-phone-gutter);
+    }
+  }
+}
+
+
+////////// Tablet //////////
+
+@media (min-width: $grid-tablet-breakpoint) and (max-width: $grid-desktop-breakpoint - 1) {
+  .mdl-grid {
+    padding: $grid-tablet-margin - ($grid-tablet-gutter / 2);
+  }
+
+  .mdl-cell {
+    margin: $grid-tablet-gutter / 2;
+    @include partial-size($grid-cell-default-columns, $grid-tablet-columns,
+        $grid-tablet-gutter);
+  }
+
+  .mdl-cell--hide-tablet {
+    display: none !important;
+  }
+
+  // Define order override classes.
+  @for $i from 1 through $grid-max-columns {
+    .mdl-cell--order-#{$i}-tablet.mdl-cell--order-#{$i}-tablet {
+      order: $i;
+    }
+  }
+
+  // Define partial sizes for columnNumber < totalColumns.
+  @for $i from 1 through ($grid-tablet-columns - 1) {
+    .mdl-cell--#{$i}-col,
+    .mdl-cell--#{$i}-col-tablet.mdl-cell--#{$i}-col-tablet {
+      @include partial-size($i, $grid-tablet-columns, $grid-tablet-gutter);
+    }
+  }
+
+  // Define 100% for everything else.
+  @for $i from $grid-tablet-columns through $grid-desktop-columns {
+    .mdl-cell--#{$i}-col,
+    .mdl-cell--#{$i}-col-tablet.mdl-cell--#{$i}-col-tablet {
+      @include full-size($grid-tablet-gutter);
+    }
+  }
+
+  // Define valid tablet offsets.
+  @for $i from 1 through ($grid-tablet-columns - 1) {
+    .mdl-cell--#{$i}-offset,
+    .mdl-cell--#{$i}-offset-tablet.mdl-cell--#{$i}-offset-tablet {
+      @include offset-size($i, $grid-tablet-columns, $grid-tablet-gutter);
+    }
+  }
+}
+
+
+////////// Desktop //////////
+
+@media (min-width: $grid-desktop-breakpoint) {
+  .mdl-grid {
+    padding: $grid-desktop-margin - ($grid-desktop-gutter / 2);
+  }
+
+  .mdl-cell {
+    margin: $grid-desktop-gutter / 2;
+    @include partial-size($grid-cell-default-columns, $grid-desktop-columns,
+        $grid-desktop-gutter);
+  }
+
+  .mdl-cell--hide-desktop {
+    display: none !important;
+  }
+
+  // Define order override classes.
+  @for $i from 1 through $grid-max-columns {
+    .mdl-cell--order-#{$i}-desktop.mdl-cell--order-#{$i}-desktop {
+      order: $i;
+    }
+  }
+
+  // Define partial sizes for all numbers of columns.
+  @for $i from 1 through $grid-desktop-columns {
+    .mdl-cell--#{$i}-col,
+    .mdl-cell--#{$i}-col-desktop.mdl-cell--#{$i}-col-desktop {
+      @include partial-size($i, $grid-desktop-columns, $grid-desktop-gutter);
+    }
+  }
+
+  // Define valid desktop offsets.
+  @for $i from 1 through ($grid-desktop-columns - 1) {
+    .mdl-cell--#{$i}-offset,
+    .mdl-cell--#{$i}-offset-desktop.mdl-cell--#{$i}-offset-desktop {
+      @include offset-size($i, $grid-desktop-columns, $grid-desktop-gutter);
+    }
+  }
+}
diff --git a/node_modules/material-design-lite/src/grid/snippets/codepen-grid.css b/node_modules/material-design-lite/src/grid/snippets/codepen-grid.css
new file mode 100644
index 0000000..b716189
--- /dev/null
+++ b/node_modules/material-design-lite/src/grid/snippets/codepen-grid.css
@@ -0,0 +1,11 @@
+.mdl-cell {
+  box-sizing: border-box;
+  background-color: #BDBDBD;
+  height: 200px;
+  padding-left: 8px;
+  padding-top: 4px;
+  color: white;
+}
+.mdl-grid:first-of-type .mdl-cell {
+  height: 50px;
+}
diff --git a/node_modules/material-design-lite/src/grid/snippets/grid-demo.html b/node_modules/material-design-lite/src/grid/snippets/grid-demo.html
new file mode 100644
index 0000000..88f6040
--- /dev/null
+++ b/node_modules/material-design-lite/src/grid/snippets/grid-demo.html
@@ -0,0 +1,15 @@
+<style>
+.demo-grid .mdl-cell {
+  box-sizing: border-box;
+  background-color: #BDBDBD;
+  height: 200px;
+  padding-left: 8px;
+  padding-top: 4px;
+  color: white;
+}
+.demo-grid .mdl-grid:first-of-type .mdl-cell {
+  height: 50px;
+}
+</style>
+
+{% include "grid.html" %}
diff --git a/node_modules/material-design-lite/src/grid/snippets/grid.html b/node_modules/material-design-lite/src/grid/snippets/grid.html
new file mode 100644
index 0000000..202a091
--- /dev/null
+++ b/node_modules/material-design-lite/src/grid/snippets/grid.html
@@ -0,0 +1,29 @@
+<div class="mdl-grid">
+  <div class="mdl-cell mdl-cell--1-col">1</div>
+  <div class="mdl-cell mdl-cell--1-col">1</div>
+  <div class="mdl-cell mdl-cell--1-col">1</div>
+  <div class="mdl-cell mdl-cell--1-col">1</div>
+  <div class="mdl-cell mdl-cell--1-col">1</div>
+  <div class="mdl-cell mdl-cell--1-col">1</div>
+  <div class="mdl-cell mdl-cell--1-col">1</div>
+  <div class="mdl-cell mdl-cell--1-col">1</div>
+  <div class="mdl-cell mdl-cell--1-col">1</div>
+  <div class="mdl-cell mdl-cell--1-col">1</div>
+  <div class="mdl-cell mdl-cell--1-col">1</div>
+  <div class="mdl-cell mdl-cell--1-col">1</div>
+</div>
+<div class="mdl-grid">
+  <div class="mdl-cell mdl-cell--4-col">4</div>
+  <div class="mdl-cell mdl-cell--4-col">4</div>
+  <div class="mdl-cell mdl-cell--4-col">4</div>
+</div>
+<div class="mdl-grid">
+  <div class="mdl-cell mdl-cell--6-col">6</div>
+  <div class="mdl-cell mdl-cell--4-col">4</div>
+  <div class="mdl-cell mdl-cell--2-col">2</div>
+</div>
+<div class="mdl-grid">
+  <div class="mdl-cell mdl-cell--6-col mdl-cell--8-col-tablet">6 (8 tablet)</div>
+  <div class="mdl-cell mdl-cell--4-col mdl-cell--6-col-tablet">4 (6 tablet)</div>
+  <div class="mdl-cell mdl-cell--2-col mdl-cell--4-col-phone">2 (4 phone)</div>
+</div>