@charset "UTF-8";
html, body {
  width: 100%;
  height: 100%; }

/**
 * Reset some basic elements
 */
body, h1, h2, h3, h4, h5, h6,
p, blockquote, pre, hr,
dl, dd, ol, ul, figure {
  margin: 0;
  padding: 0; }

/**
 * Basic styling
 */
body {
  font-family: Roboto, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  font-weight: 300;
  color: #111;
  background-color: #fdfdfd;
  -webkit-text-size-adjust: 100%; }

/**
 * Set `margin-bottom` to maintain vertical rhythm
 */
h1, h2, h3, h4, h5, h6,
p, blockquote, pre,
ul, ol, dl, figure {
  margin-bottom: 15px; }

/**
 * Images
 */
img {
  max-width: 100%;
  vertical-align: middle; }

/**
 * Figures
 */
figure > img {
  display: block; }

figcaption {
  font-size: 14px; }

/**
 * Lists
 */
ul, ol {
  margin-left: 30px; }

li > ul,
li > ol {
  margin-bottom: 0; }

/**
 * Headings
 */
h1, h2, h3, h4, h5, h6 {
  font-weight: 300; }

/**
 * Links
 */
a {
  color: #0091ea;
  text-decoration: none; }
  a:hover {
    color: #111;
    text-decoration: underline; }

/**
 * Blockquotes
 */
blockquote {
  color: #828282;
  border-left: 4px solid #e8e8e8;
  padding-left: 15px;
  font-size: 18px;
  letter-spacing: -1px;
  font-style: italic; }
  blockquote > :last-child {
    margin-bottom: 0; }

/**
 * Wrapper
 */
.wrapper {
  max-width: -webkit-calc(800px - (30px * 2));
  max-width: calc(800px - (30px * 2));
  margin-right: auto;
  margin-left: auto;
  padding-right: 30px;
  padding-left: 30px; }
  @media screen and (max-width: 800px) {
    .wrapper {
      max-width: -webkit-calc(800px - (30px));
      max-width: calc(800px - (30px));
      padding-right: 15px;
      padding-left: 15px; } }

/**
 * Clearfix
 */
.wrapper:after {
  content: "";
  display: table;
  clear: both; }

/**
 * Icons
 */
.icon > svg {
  display: inline-block;
  width: 16px;
  height: 16px;
  vertical-align: middle; }
  .icon > svg path {
    fill: #828282; }

/**
 * Privacy policy and terms of service
 */
.terms {
  font-size: 14px; }

/**
 * The licenses used for the content.
 */
.licenses {
  font-size: 10px;
  width: 72%; }

.nav-searchbox {
  margin-bottom: 0;
  margin-left: 20px;
  font-size: 13px;
  font-weight: normal;
  line-height: 1;
  height: 30px; }
  .nav-searchbox input[type=search] {
    -webkit-appearance: none;
    color: #555;
    background-color: #fff;
    background-image: none;
    border: 1px solid #ccc;
    border-radius: 2px;
    font-family: inherit;
    padding: 4px 6px;
    font-size: 15px; }

.contribute {
  float: right; }

/* Needed for bootstrap and GSC to play nice */
input.gsc-input, .gsc-input-box, .gsc-input-box-hover, .gsc-input-box-focus, .gsc-search-button {
  box-sizing: content-box;
  line-height: normal; }

.gsc-tabsArea div {
  overflow: visible; }

.gsc-selected-option {
  width: 100px !important; }

.gscb_a {
  font: inherit !important; }

.gs-snippet {
  margin-left: 9px !important; }

.gs-title {
  text-decoration: none !important; }

.gs-title b {
  text-decoration: none !important; }

/**
 * Site header
 */
.site-header {
  position: fixed;
  right: 0;
  left: 0;
  z-index: 1000;
  min-height: 56px;
  background-color: white;
  color: #424242;
  box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.37); }
  .site-header .project-status {
    font-size: 14px;
    line-height: 56px; }
  .site-header .header-contents {
    padding-left: 24px;
    padding-right: 24px; }

.contents {
  padding: 56px 24px 24px 24px; }

.site-title {
  font-size: 26px;
  margin-bottom: 0;
  margin-right: 9px;
  vertical-align: middle;
  line-height: 56px; }
  .site-title, .site-title:visited {
    color: #424242; }

.site-nav {
  float: right;
  line-height: 56px; }
  .site-nav .menu-icon {
    display: none; }
  .site-nav .page-link {
    color: #424242;
    line-height: 1.5; }
    .site-nav .page-link:not(:first-child) {
      margin-left: 20px; }
    @media screen and (max-width: 640px) {
      .site-nav .page-link {
        color: #0091ea; } }
  @media screen and (max-width: 640px) {
    .site-nav {
      position: absolute;
      top: 9px;
      right: 10px;
      background-color: #fdfdfd;
      border-radius: 5px;
      text-align: right; }
      .site-nav .menu-icon {
        display: block;
        float: right;
        width: 36px;
        height: 26px;
        line-height: 0;
        padding-top: 10px;
        text-align: center;
        color: black; }
        .site-nav .menu-icon > svg {
          width: 18px;
          height: 15px; }
          .site-nav .menu-icon > svg path {
            fill: #424242; }
      .site-nav .trigger {
        clear: both;
        display: none; }
        .site-nav .trigger input {
          margin-right: 5px; }
      .site-nav:hover .trigger {
        display: block;
        padding-bottom: 10px; }
      .site-nav:hover {
        border: 1px solid #e8e8e8; }
      .site-nav .page-link {
        display: block;
        padding: 5px 10px; } }

/**
 * Site footer
 */
.site-footer {
  border-top: 1px solid #e8e8e8;
  padding-top: 30px;
  padding-bottom: 30px; }

.contact-list,
.social-media-list {
  list-style: none;
  margin: 0;
  color: #0091ea; }

.logo {
  float: left;
  position: relative;
  margin-right: 20px; }
  @media screen and (max-width: 640px) {
    .logo {
      top: -15px; }
      .logo svg {
        width: 100px;
        height: 64px; } }

/**
 * Posts
 */
.post-header {
  margin-bottom: 30px; }

.post-title {
  font-size: 42px;
  letter-spacing: -1px;
  line-height: 1; }
  @media screen and (max-width: 800px) {
    .post-title {
      font-size: 36px; } }

.post-content {
  margin-bottom: 30px; }
  .post-content h2 {
    font-size: 24px; }
    @media screen and (max-width: 800px) {
      .post-content h2 {
        font-size: 22px; } }
  .post-content h3 {
    font-size: 18px; }
    @media screen and (max-width: 800px) {
      .post-content h3 {
        font-size: 16px; } }
  .post-content h4 {
    font-size: 14px; }
    @media screen and (max-width: 800px) {
      .post-content h4 {
        font-size: 12px; } }

#sidebar-toggle-button {
  font-size: 24px;
  opacity: 0.75;
  margin-right: 8px;
  vertical-align: middle;
  line-height: 56px;
  cursor: pointer; }

body {
  font-size: 15px; }

.bs-callout {
  padding: 20px;
  margin: 20px 0;
  border: 1px solid #eee;
  border-left-width: 5px;
  border-radius: 3px; }

.bs-callout h4 {
  margin-top: 0;
  margin-bottom: 5px; }

.bs-callout p:last-child {
  margin-bottom: 0; }

.bs-callout code {
  border-radius: 3px; }

.bs-callout + .bs-callout {
  margin-top: -5px; }

.bs-callout-default {
  border-left-color: #777; }

.bs-callout-default h4 {
  color: #777; }

.bs-callout-primary {
  border-left-color: #428bca; }

.bs-callout-primary h4 {
  color: #428bca; }

.bs-callout-success {
  border-left-color: #5cb85c; }

.bs-callout-success h4 {
  color: #5cb85c; }

.bs-callout-danger {
  border-left-color: #d9534f; }

.bs-callout-danger h4 {
  color: #d9534f; }

.bs-callout-warning {
  border-left-color: #f0ad4e; }

.bs-callout-warning h4 {
  color: #f0ad4e; }

.bs-callout-info {
  border-left-color: #5bc0de; }

.bs-callout-info h4 {
  color: #5bc0de; }

.gi-2x {
  font-size: 2em; }

.gi-3x {
  font-size: 3em; }

.gi-4x {
  font-size: 4em; }

.gi-5x {
  font-size: 5em; }

.nav > li > a:hover, .nav > li > a:focus {
  background-color: #eeeeee; }

.breadcrumb > .active {
  color: #777 !important; }

.post-content img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%; }

.pageSummary {
  font-size: 13px;
  display: block;
  margin-bottom: 15px;
  padding-left: 20px; }

.post-summary {
  margin-bottom: 12px; }

.bs-example {
  margin: 20px; }

.breadcrumb li {
  color: gray; }

caption {
  padding-top: 8px;
  padding-bottom: 8px;
  color: #777;
  text-align: left; }

table.flutter-table {
  background-color: transparent; }

table.flutter-table th {
  text-align: left; }

table.flutter-table {
  max-width: 90%;
  margin-bottom: 20px;
  border: 1px solid #dedede; }

table.flutter-table > thead > tr > th,
table.flutter-table > tbody > tr > th,
table.flutter-table > tfoot > tr > th,
table.flutter-table > thead > tr > td,
table.flutter-table > tbody > tr > td,
table.flutter-table > tfoot > tr > td {
  padding: 8px;
  line-height: 1.42857143;
  vertical-align: top;
  border-top: 1px solid #ddd; }

table.flutter-table > thead > tr > th {
  vertical-align: bottom;
  border-bottom: 2px solid #ddd;
  text-transform: none;
  background-color: #777;
  color: white;
  text-align: left; }

table.flutter-table > caption + thead > tr:first-child > th,
table.flutter-table > colgroup + thead > tr:first-child > th,
table.flutter-table > thead:first-child > tr:first-child > th,
table.flutter-table > caption + thead > tr:first-child > td,
table.flutter-table > colgroup + thead > tr:first-child > td,
table.flutter-table > thead:first-child > tr:first-child > td {
  border-top: 0; }

table.flutter-table > tbody > tr:nth-of-type(odd) {
  background-color: #f9f9f9; }

table.flutter-table col[class*="col-"] {
  position: static;
  display: table-column;
  float: none; }

table.flutter-table td[class*="col-"],
table.flutter-table th[class*="col-"] {
  position: static;
  display: table-cell;
  float: none; }

table.flutter-table td:first-child {
  width: 150px;
  /*font-weight: bold;*/ }

table.flutter-table .boldFirstColumn td:first-child {
  font-weight: bold; }

table.flutter-table tr td {
  hyphens: auto; }

p.external a {
  text-align: right;
  font-size: 12px;
  font-color: #0088cc;
  display: inline; }

#definition-box-container div a.active {
  font-weight: bold; }

p.post-meta {
  font-size: 80%;
  color: #777; }

.entry-date {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.71429;
  margin-bottom: 0;
  text-transform: uppercase; }

/* search area */
#search-demo-container ul#results-container {
  list-style: none;
  font-size: 12px;
  background-color: white;
  position: absolute;
  top: 40px;
  /* if you change anything about the nav, you'll prob. need to reset the top and left values here.*/
  left: 20px;
  z-index: -1;
  width: 223px;
  border-left: 1px solid #dedede;
  box-shadow: 2px 3px 2px #dedede; }

ul#results-container a {
  background-color: transparent; }

ul#results-container a:hover {
  color: black; }

#search-demo-container a:hover {
  color: black; }

#search-input {
  padding: .5em;
  margin-left: 20px;
  width: 20em;
  font-size: 0.8em;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  float: right;
  margin-top: 10px; }

/* end search */
.filter-options {
  margin-bottom: 20px; }

.filter-options button {
  margin: 3px; }

div#toc ul li {
  margin: 8px 0px 8px 22px;
  font-size: 90%;
  list-style: square; }

div#toc ul {
  background-color: whitesmoke;
  padding: 1px;
  border-radius: 5px;
  max-width: 300px;
  color: gray; }

div#toc ul li ul {
  padding-left: 8px; }

div#toc ul li ul li::before {
  content: "–  "; }

div#toc > ul::before {
  content: "Table of Contents";
  font-weight: 500;
  color: #555;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  width: 70px;
  padding-top: 20px;
  padding-bottom: 20px;
  padding-left: 10px; }

li.dropdownActive a {
  font-weight: bold; }

.post-content a.fa-rss {
  color: orange; }

.navbar-inverse .navbar-nav > li > a {
  background-color: transparent;
  margin-top: 10px; }

.post-content .rssfeedLink {
  color: #248EC2; }

footer {
  font-size: smaller; }

/* FAQ page */
#accordion .panel-heading {
  font-size: 12px; }

a.accordion-toggle, a.accordion-collapsed {
  font-size: 14px;
  text-decoration: none; }

span.projectTitle {
  font-family: Helvetica;
  font-weight: bold; }

.footer {
  text-align: right; }

.footerMeta {
  background-color: whitesmoke;
  padding: 10px;
  max-width: 250px;
  border-radius: 5px;
  margin-top: 50px;
  font-style: italic;
  font-size: 12px; }

img.screenshotSmall {
  max-width: 300px; }

dl dt p {
  margin-left: 20px; }

dl dd {
  margin-top: 10px;
  margin-bottom: 10px; }

dl.dl-horizontal dd {
  padding-top: 20px; }

figcaption {
  padding-bottom: 12px;
  padding-top: 6px;
  max-width: 90%;
  margin-bottom: 20px;
  font-style: italic;
  color: gray; }

.testing {
  color: orange; }

.preference {
  color: red; }

table.dataTable thead {
  background-color: #444; }

table td {
  hyphens: auto; }

section table tr.success {
  background-color: #dff0d8 !important; }

table tr.info {
  background-color: #d9edf7 !important; }

section table tr.warning, table tr.testing, table tr.testing > td.sorting_1 {
  background-color: #fcf8e3 !important; }

section table tr.danger, table tr.preference, table tr.preference > td.sorting_1 {
  background-color: #f2dede !important; }

.orange {
  color: orange; }

table.profile thead tr th {
  background-color: #248ec2; }

table.request thead tr th {
  background-color: #ED1951; }

.audienceLabel {
  margin: 10px;
  float: right;
  border: 1px solid #dedede;
  padding: 7px; }

.prefaceAudienceLabel {
  color: gray;
  text-align: center;
  margin: 5px; }

span.myLabel {
  padding-left: 10px;
  padding-right: 10px; }

button.cursorNorm {
  cursor: default; }

a.dropdown-toggle, .navbar-inverse .navbar-nav > li > a {
  margin-left: 10px; }

hr.faded {
  border: 0;
  height: 1px;
  background-image: -webkit-linear-gradient(left, transparent, rgba(0, 0, 0, 0.75), transparent);
  background-image: -moz-linear-gradient(left, transparent, rgba(0, 0, 0, 0.75), transparent);
  background-image: -ms-linear-gradient(left, transparent, rgba(0, 0, 0, 0.75), transparent);
  background-image: -o-linear-gradient(left, transparent, rgba(0, 0, 0, 0.75), transparent); }

hr.shaded {
  height: 12px;
  border: 0;
  box-shadow: inset 0 6px 6px -6px rgba(0, 0, 0, 0.5);
  margin-top: 70px;
  background: white;
  width: 100%;
  margin-bottom: 10px; }

.fa-6x {
  font-size: 900%; }

.fa-7x {
  font-size: 1100%; }

.fa-8x {
  font-size: 1300%; }

.fa-9x {
  font-size: 1500%; }

.fa-10x {
  font-size: 1700%; }

i.border {
  padding: 10px 20px;
  background-color: whitesmoke; }

a[data-toggle] {
  color: #248EC2; }

.summary {
  font-size: 120%;
  color: #808080;
  margin: 20px 0px 20px 0px;
  border-left: 5px solid #ED1951;
  padding-left: 10px; }

.summary:before {
  content: "Summary: ";
  font-weight: bold; }

a.fa.fa-envelope-o.mailto {
  font-weight: 600; }

h3 {
  font-weight: normal;
  font-size: 130%; }

h4 {
  color: #808080;
  font-weight: normal;
  font-size: 120%;
  font-style: italic; }

.alert, .callout {
  overflow: hidden; }

.nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus {
  background-color: #eeeeee;
  color: white; }

ol li ol li {
  list-style-type: lower-alpha; }

ol li ul li {
  list-style-type: disc; }

li img {
  clear: both; }

div#toc ul li ul li {
  list-style-type: none;
  margin: 5px 0px 0px 0px; }

.alert {
  border: 0;
  border-radius: 0; }

.alert-info {
  background-color: rgba(41, 182, 246, 0.2);
  color: #01579b; }

.alert-warning {
  color: #444; }

div.alert code, h2 code {
  background-color: transparent !important; }

/* without this, the links in these notes aren't visible.*/
.alert a {
  text-decoration: underline; }

div.tags {
  padding: 10px 5px; }

hr {
  border: 0;
  border-bottom: 1px dashed #ccc;
  background: #999;
  margin: 30px 0px;
  width: 90%;
  margin-left: auto;
  margin-right: auto; }

button.cursorNorm {
  cursor: pointer; }

h2 {
  font-size: 24px;
  line-height: 29px; }

span.otherProgrammingLanguages {
  font-style: normal; }

ol.series li {
  list-style-type: decimal;
  margin-left: 40px;
  padding-left: 0px; }

.siteTagline {
  font-size: 200%;
  font-weight: bold;
  color: silver;
  font-family: monospace;
  text-align: center;
  line-height: 10px;
  margin: 20px 0px;
  display: block; }

.versionTagline {
  text-align: center;
  margin-bottom: 20px;
  font-family: courier;
  font-color: silver;
  color: #444;
  display: block; }

span.muted {
  color: #666; }

table code {
  background-color: transparent; }

.highlight .err {
  color: #a61717;
  background-color: transparent !important; }

.strike {
  text-decoration: line-through; }

table p {
  margin-top: 12px;
  margin-bottom: 12px; }

pre, table code {
  white-space: pre-wrap;
  /* css-3 */
  white-space: -moz-pre-wrap;
  /* Mozilla, since 1999 */
  white-space: -pre-wrap;
  /* Opera 4-6 */
  white-space: -o-pre-wrap;
  /* Opera 7 */
  word-wrap: break-word;
  /* Internet Explorer 5.5+ */ }

pre {
  margin: 25px 0px;
  /* Added from dartlang to enable highlighting in code blocks. */
  /* site-www/src/_assets/stylesheets/main.css */ }
  pre .highlight {
    background: #fffde7 !important;
    padding: 2px; }

#json-box-container pre {
  margin: 0px; }

.video-js {
  margin: 30px 0px; }

video {
  display: block;
  margin: 30px 0px;
  border: 1px solid #c0c0c0; }

p.required, p.dataType {
  display: block;
  color: #c0c0c0;
  font-size: 80%;
  margin-left: 4px; }

dd {
  margin-left: 20px; }

.post-content img.inline {
  margin: 0px;
  margin-bottom: 6px; }

.panel-heading {
  font-weight: bold; }

.note code, .alert code, .warning code, div#toc code, h2 code, h3 code, h4 code {
  color: inherit;
  padding: 0px; }

.alert {
  margin-bottom: 10px;
  margin-top: 10px; }

a.accordion-toggle {
  font-style: normal; }

span.red {
  color: red;
  font-family: Monaco, Menlo, Consolas, "Courier New", monospace; }

h3.codeExplanation {
  font-size: 18px;
  font-style: normal;
  color: black;
  line-height: 24px; }

span.soft {
  color: #c0c0c0; }

.githubEditButton {
  margin-bottom: 7px; }

.endpoint {
  padding: 15px;
  background-color: #f0f0f0;
  font-family: courier;
  font-size: 110%;
  margin: 20px 0px;
  color: #444; }

.parameter {
  font-family: courier;
  color: red !important; }

.formBoundary {
  border: 1px solid gray;
  padding: 15px;
  margin: 15px 0px;
  background-color: whitesmoke; }

.col-md-9 img {
  max-width: 100%;
  max-height: 100%; }

.videoThumbs img {
  float: left;
  margin: 15px 15px 15px 0px;
  box-shadow: 2px 2px 1px #f0f0f0;
  border: 1px solid #dedede; }

@media (min-width: 900px) {
  .col-md-9 img {
    max-width: 700px;
    max-height: 700px; } }
*:hover > .anchorjs-link {
  transition: color .25s linear;
  text-decoration: none; }

.kbCaption {
  color: white;
  background-color: #444;
  padding: 10px; }

.btn-default {
  margin-bottom: 10px; }

/* algolia search */
.search {
  text-align: left; }

.search input {
  font-size: 20px;
  width: 300px; }

.results {
  margin: auto;
  text-align: left; }

.results ul {
  list-style-type: none;
  padding: 0; }

/* algolia */
div.results {
  position: absolute;
  background-color: white;
  width: 100%; }

.post-meta {
  font-size: 14px;
  color: #828282; }

.post-link {
  font-size: 22px; }

.post-list p {
  margin: 10px 0px; }

time {
  margin-right: 10px; }

p.post-meta time {
  margin-right: 0px; }

span.label.label-default {
  background-color: gray; }

span.label.label-primary {
  background-color: #f0ad4e; }

.col-lg-12 .nav li a {
  background-color: white; }

code {
  white-space: pre-wrap; }

a code {
  color: #0091ea; }

table th code {
  color: white; }

.alert code, .alert pre, .panel code {
  background-color: inherit;
  color: inherit;
  border: inherit; }

.alert pre {
  padding: 0px;
  margin: 15px 0px; }

.post-content h4 {
  font-size: 16px;
  font-style: inherit; }

#side-nav-container {
  position: fixed;
  top: 56px;
  left: 0;
  width: 250px;
  overflow-y: auto;
  height: 100%;
  background: #fdfdfd; }

.main-contents {
  margin-left: 250px;
  width: calc(100% - 250px);
  display: flex;
  justify-content: center;
  padding-top: 40px;
  /* matches sidenav padding */ }

.main-contents-body {
  width: 980px; }

#mysidebar {
  margin: 40px 0 40px 0; }
  #mysidebar ul {
    margin-left: 0;
    list-style: none; }
  #mysidebar li.sidebar-title {
    margin-bottom: 4px; }
  #mysidebar ul.sidebar-items {
    margin-bottom: 16px; }
    #mysidebar ul.sidebar-items li {
      font-size: 14px; }
    #mysidebar ul.sidebar-items i.fa {
      opacity: 0.5; }

#overlay-under-drawer {
  opacity: 0;
  -webkit-transition: opacity 0.5s ease-out;
  transition: opacity 0.5s ease-out; }

@media screen and (max-width: 767px) {
  #side-nav-container {
    position: relative; }

  .main-contents {
    margin-left: inherit;
    width: inherit; }

  #sidebar-toggle-button {
    display: inline !important; }

  #mysidebar {
    left: -100%;
    position: fixed;
    -webkit-transition: left .5s ease-out;
    transition: left .5s ease-out;
    z-index: 2000;
    top: 0;
    width: 280px;
    /* works all the way down to an iphone 4 */
    height: 100%;
    background: white;
    overflow-y: auto;
    /* TODO: how to hide scroll bars? */ }

  #mysidebar.active {
    left: 0;
    /* this animates our drawer into the page */
    padding: 24px;
    margin-top: 0; }

  #overlay-under-drawer.active {
    opacity: 0.6;
    height: 100%;
    width: 100%;
    z-index: 1999;
    position: fixed;
    top: 0px;
    left: 0px;
    bottom: 0px;
    right: 0px;
    background-color: black;
    display: block; } }
.whats-the-point {
  background-color: #e8e8e8;
  padding: 20px;
  margin-bottom: 20px;
  padding-top: 10px;
  margin-top: 0px; }
  .whats-the-point h1, .whats-the-point h2, .whats-the-point h3, .whats-the-point h4, .whats-the-point h5, .whats-the-point h6 {
    margin: 0;
    margin-bottom: 5px; }
  .whats-the-point ul {
    padding-left: 15px;
    margin-bottom: 0; }

/* http://prismjs.com/download.html?themes=prism&languages=markup+css+clike+javascript+c+dart+java+objectivec+swift&plugins=keep-markup */
/**
 * prism.js default theme for JavaScript, CSS and HTML
 * Based on dabblet (http://dabblet.com)
 * @author Lea Verou
 */
code[class*="language-"],
pre[class*="language-"] {
  color: black;
  background: none;
  text-shadow: 0 1px white;
  font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
  text-align: left;
  white-space: pre;
  word-spacing: normal;
  word-break: normal;
  word-wrap: normal;
  line-height: 1.5;
  -moz-tab-size: 4;
  -o-tab-size: 4;
  tab-size: 4;
  -webkit-hyphens: none;
  -moz-hyphens: none;
  -ms-hyphens: none;
  hyphens: none; }

pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection,
code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection {
  text-shadow: none;
  background: #b3d4fc; }

pre[class*="language-"]::selection, pre[class*="language-"] ::selection,
code[class*="language-"]::selection, code[class*="language-"] ::selection {
  text-shadow: none;
  background: #b3d4fc; }

@media print {
  code[class*="language-"],
  pre[class*="language-"] {
    text-shadow: none; } }
/* Code blocks */
pre[class*="language-"] {
  padding: 1em;
  margin: .5em 0;
  overflow: auto; }

:not(pre) > code[class*="language-"],
pre[class*="language-"] {
  background: #f5f2f0; }

/* Inline code */
:not(pre) > code[class*="language-"] {
  padding: .1em;
  border-radius: .3em;
  white-space: normal; }

.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
  color: slategray; }

.token.punctuation {
  color: #999; }

.namespace {
  opacity: .7; }

.token.property,
.token.tag,
.token.boolean,
.token.number,
.token.constant,
.token.symbol,
.token.deleted {
  color: #905; }

.token.selector,
.token.attr-name,
.token.string,
.token.char,
.token.builtin,
.token.inserted {
  color: #690; }

.token.operator,
.token.entity,
.token.url,
.language-css .token.string,
.style .token.string {
  color: #a67f59;
  background: rgba(255, 255, 255, 0.5); }

.token.atrule,
.token.attr-value,
.token.keyword {
  color: #07a; }

.token.function {
  color: #DD4A68; }

.token.regex,
.token.important,
.token.variable {
  color: #e90; }

.token.important,
.token.bold {
  font-weight: bold; }

.token.italic {
  font-style: italic; }

.token.entity {
  cursor: help; }

code[class*="language-"],
pre[class*="language-"] {
  text-shadow: inherit;
  font-family: 'Source Code Pro', Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
  white-space: pre-wrap;
  word-break: break-all;
  word-wrap: break-word; }

pre {
  overflow-x: auto;
  padding: 8px 12px; }
  pre > code {
    border: 0;
    padding-right: 0;
    padding-left: 0; }

.cards {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 0; }
  .cards a {
    color: inherit; }

.card {
  background-color: white;
  border-radius: 0.25rem;
  box-shadow: 0 1px 2px 0px rgba(0, 0, 0, 0.25);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  position: relative;
  min-height: 180px;
  padding: 24px;
  border: solid transparent;
  border-bottom-color: #0091ea;
  margin-left: auto;
  margin-right: auto;
  width: 300px; }
  .card a {
    text-decoration: underline; }
  .card .catalog-category-title a {
    text-decoration: none; }

.cards__item {
  display: flex;
  padding: 0 0 16px 0;
  margin-right: 16px; }

.card__image {
  background: no-repeat center center;
  background-size: cover;
  border-top-left-radius: 0.25rem;
  border-top-right-radius: 0.25rem;
  filter: contrast(70%);
  overflow: hidden;
  position: relative;
  transition: filter 0.5s cubic-bezier(0.43, 0.41, 0.22, 0.91); }

.card__title {
  color: #696969;
  font-size: 1.25rem;
  font-weight: 300;
  letter-spacing: 2px;
  text-transform: uppercase; }

.card__text {
  flex: 1 1 auto;
  font-size: 0.875rem;
  line-height: 1.5;
  margin-bottom: 1.25rem; }

.scrollable-description {
  overflow: auto;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical; }

.catalog .catalog-entry svg {
  width: 100%;
  height: 200px;
  margin-right: auto;
  margin-left: auto;
  padding-bottom: 10px;
  text-align: center; }
.catalog h3 {
  margin-top: 10px; }
.catalog a {
  color: #0091ea; }
.catalog .catalog-entry .catalog-image-holder {
  height: 200px;
  display: flex;
  align-items: center;
  background-color: #FCFCFC; }
.catalog .catalog-entry img {
  display: block;
  max-height: 200px;
  margin-right: auto;
  margin-left: auto;
  margin-top: 0;
  margin-bottom: 0; }
.catalog div.clear {
  clear: both; }
.catalog div.catalog-entry {
  background-color: white;
  border-radius: 0.25rem;
  box-shadow: 0 1px 2px 0px rgba(0, 0, 0, 0.25);
  padding: 10px;
  margin-bottom: 20px;
  width: 300px;
  min-width: 300px; }

.card-action {
  position: absolute;
  bottom: 24px;
  font-weight: 600;
  color: #0091ea; }
  .card-action a {
    text-decoration: none; }

.get-started-button {
  text-decoration: none;
  background-color: #0091EA;
  color: #fff;
  padding: 16px;
  border-radius: 2px;
  display: block;
  width: 150px;
  text-align: center;
  text-transform: uppercase;
  margin-right: 16px; }

.get-started-button:hover {
  text-decoration: none;
  color: #fff; }

.homepage__tagline {
  margin-bottom: 40px;
  font-size: 20px; }

.homepage__title {
  margin-bottom: 40px;
  width: 75%;
  line-height: 1.5; }

@media (max-width: 920px) {
  .homepage__title {
    width: 100%; } }
.homepage__button_row {
  display: flex;
  flex-direction: row;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 24px; }
  .homepage__button_row .alert {
    margin-top: 0;
    padding: 0;
    background-color: transparent;
    color: #424242; }
  .homepage__button_row > * {
    margin-bottom: 16px; }

.homepage__features h3 {
  margin-bottom: 24px; }
.homepage__features ul {
  margin: 0 0 24px 8px;
  list-style: none; }
  .homepage__features ul li {
    margin-bottom: 8px; }

.homepage pre[class*="language-"] {
  margin-bottom: 36px; }
.homepage a {
  text-decoration: none; }
.homepage h1 {
  color: #0091ea;
  display: flex;
  flex-direction: row;
  align-items: center; }
.homepage h1, .homepage h2, .homepage p {
  margin-bottom: 36px; }
.homepage .screenshot-list {
  display: flex;
  flex-direction: row;
  overflow-x: scroll;
  margin-bottom: 36px; }
.homepage img.screenshot {
  width: 270px;
  height: 100%;
  margin-bottom: 16px;
  margin-right: 16px; }
.homepage section {
  margin-bottom: 64px;
  padding: 48px; }
  .homepage section p:last-child {
    margin-bottom: 0; }
.homepage section.card {
  width: 100%; }
.homepage .feature-lists {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 36px; }
.homepage .hot-reload-gif-container {
  text-align: center; }
.homepage .key-points {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between; }
  .homepage .key-points p {
    margin-bottom: 0; }
.homepage .homepage__key_point_title {
  font-size: 20px;
  margin-bottom: 8px;
  color: #424242; }
.homepage .homepage__key_point {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: 0%;
  margin-right: 16px; }
.homepage .homepage__try_flutter .homepage__try_today {
  font-size: 36px;
  margin-bottom: 24px; }
.homepage .homepage__try_flutter .homepage__button_row {
  margin-bottom: 0; }
@media (max-width: 600px) {
  .homepage .key-points {
    display: block; }
    .homepage .key-points p {
      margin-bottom: 16px; }
  .homepage section {
    padding: 8px; }
  .homepage .homepage__key_point_title {
    margin-top: 8px;
    margin-bottom: 0px; } }
