
/* Palette generated by Material Palette - materialpalette.com/blue/cyan */

.dark-primary-color    { background: #1976D2; }
.default-primary-color { background: #2196F3; }
.light-primary-color   { background: #BBDEFB; }
.text-primary-color    { color: #FFFFFF; }
.accent-color          { background: #00BCD4; }
.primary-text-color    { color: #212121; }
.secondary-text-color  { color: #727272; }
.divider-color         { border-color: #B6B6B6; }

html {
  position: relative;
  min-height: 100%;
}

body {
  font-family: 'Roboto', sans-serif;
  font-size: 15px;
  margin-bottom: 60px;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  overflow-x: hidden;
  color: #212121;
}

nav {
  font-size: 17px;
}

/* some of this is to reset bootstrap */
nav.navbar {
  background-color: inherit;
  min-height: 48px;
  border: 0;
}

nav.navbar .row {
  padding-top: 8px;
}

nav .container {
  white-space: nowrap;
}

@media screen and (min-width: 500px) and (max-width: 768px) {
  .navbar-right {
      float: right!important;
  }
}

header {
  background-color: rgb(0, 102, 152);
  color: white;
  box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.37);
}

header.header-fixed nav.navbar-fixed-top {
  box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.37);
}

header.container-fluid {
  padding: 0;
}

header .masthead {
  padding-top: 64px;
}

header .contents {
  padding: 0;
}

@media screen and (max-width:768px) {
  header .contents {
    padding-left: 15px;
    padding-right: 15px;
  }
}

.body {
  margin-top: 24px;
}

section {
  margin-bottom: 36px;
}

dl {
  margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: normal;
  margin: 0;
}

h1.title {
  overflow: hidden;
  text-overflow: ellipsis;
}

h2 {
  font-size: 24px;
}

h5 {
  font-size: 16px;
}

strong {
  font-weight: 500;
}

.subtitle {
  font-size: 17px;
  min-height: 1.4em;
}

.title-description .subtitle {
  white-space: nowrap;
  overflow-x: hidden;
  text-overflow: ellipsis;
}

p {
  margin-bottom: 1em;
}

a, a:hover {
  color: rgb(0, 102, 152);
}

pre.prettyprint {
  font-family: 'Source Code Pro', monospace;
  color: black;
  border-radius: 4px;
  font-size: 14px;
  word-wrap: normal;
  line-height: 1.4;
  background: #f7f7f7;
  border: 1px solid #ddd;
  margin: 16px 0 16px 0;
  padding: 8px;
}

pre code {
  white-space: pre;
  word-wrap: initial;
}

.fixed {
  white-space: pre;
}

pre {
  border: 1px solid #ddd;
  background-color: #f7f7f7;
  font-size: 14px;
}

code {
  font-family: 'Source Code Pro', monospace;
  /* overriding bootstrap */
  color: inherit;
  background-color: #f7f7f7;
}

h2 .crossdart {
  float: right;
  font-size: 0.5em;
  margin-top: 1em;
}

.crossdart-link {
  border-bottom: 1px solid #dfdfdf;
  text-decoration: none;
}

.crossdart-link:hover {
  border-bottom: 1px solid #aaa;
  text-decoration: none;
}

@media(max-width: 768px) {
  nav .container {
    width: 100%
  }

  h1 {
    font-size: 24px;
  }

  pre {
    margin: 16px 0;
  }
}

@media (min-width: 768px) {
  .dl-horizontal dd {
    margin-left: 128px;
  }

  .dl-horizontal dt {
    width: 128px;
  }

  ul.subnav li {
    font-size: 17px;
  }
}

header h1 {
  font-weight: 400;
  margin-bottom: 16px;
}

header a,
header a:hover,
header p,
header li {
  color: white;
}

header h1 .kind {
  color: #ddd;
  text-transform: uppercase;
  font-size: 15px;
  display: block;
}

@media screen and (max-width: 768px) {
  header h1 .kind {
    font-size: 14px;
  }
}

dt {
  font-weight: normal;
}

dd {
  color: #212121;
  margin-bottom: 1em;
}

dd.callable, dd.constant, dd.property {
  margin-bottom: 24px;
}

dd p {
  overflow-x: hidden;
  text-overflow: ellipsis;
  margin-bottom: 0;
}

section.summary h2 {
  color: #727272;
  margin-bottom: 16px;
  padding-bottom: 4px;
  border-bottom: 1px solid #ddd;
}

/* indents wrapped lines */
section.summary dt {
  margin-left: 24px;
  text-indent: -24px;
}

dl.dl-horizontal dt {
  font-style: normal;
  text-align: left;
  color: #727272;
}

dl.dl-horizontal dt::after {
  content: ':';
}

dt .name {
  font-weight: 500;
}

dl dt.callable .name {
  float: none;
  width: auto;
}

.parameter {
  white-space: nowrap;
}

.signature {
  color: #727272;
}

.signature a {
  /* 50% mix of default-primary-color and primary-text-color. */
  color: #4674a2;
}

.optional {
  font-style: italic;
}

.undocumented {
  font-style: italic;
}

.is-const {
  font-style: italic;
}

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

p.firstline {
  font-weight: bold;
}

footer {
  padding: 20px;
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 60px;
}

footer p {
  margin: 0;
  color: #555;
}

footer .no-break {
  white-space: nowrap;
}

footer .container,
footer .container-fluid {
  padding-left: 0;
  padding-right: 0;
}

.copyright a {
  color: #555;
}

.markdown h1 {
  font-size: 24px;
  margin-bottom: 8px;
}

.markdown h2 {
  font-size: 20px;
  margin-top: 24px;
  margin-bottom: 8px;
}

.markdown h3 {
  font-size: 18px;
  margin-bottom: 8px;
}

.markdown h4 {
  font-size: 16px;
  margin-bottom: 0;
}

.markdown li p {
  margin: 0;
}

.gt-separated {
  list-style: none;
  padding: 0;
  margin: 0;
}

.gt-separated li {
  display: inline-block;
}

.gt-separated li:before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'><path fill='#DDDDDD' d='M6.7,4L5.7,4.9L8.8,8l-3.1,3.1L6.7,12l4-4L6.7,4z'/></svg>");
  background-position: center;
  content: "\00a0";
  margin: 0 6px 0 4px;
}

.gt-separated.dark li:before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'><path fill='#727272' d='M6.7,4L5.7,4.9L8.8,8l-3.1,3.1L6.7,12l4-4L6.7,4z'/></svg>");
}

.gt-separated li:first-child:before {
  background-image: none;
  content: "";
  margin: 0;
}

/* The slug line under a declaration for things like "const", "read-only", etc. */
.features {
  font-style: italic;
  color: #727272;
}

.multi-line-signature {
  font-size: 17px;
  color: #727272;
}

.multi-line-signature .parameter {
  margin-left: 24px;
  display: block;
}

.breadcrumbs {
  padding: 0;
  margin: 8px 0 8px 0;
  font-size: 17px;
  white-space: nowrap;
  line-height: 1;
}

@media screen and (min-width: 768px) {
  nav ol.breadcrumbs {
    float: left;
  }
}

@media screen and (max-width: 768px) {
  .breadcrumbs {
    margin: 0 0 24px 0;
    overflow-x: hidden;
  }
}

.self-crumb {
  color: #ddd;
}

nav .self-name {
  color: #ddd;
  display: none;
}

.annotation-list {
  list-style: none;
  padding: 0;
  display: inline;
}

.comma-separated {
  list-style: none;
  padding: 0;
  display: inline;
}

.comma-separated li {
  display: inline;
}

.comma-separated li:after {
  content: ", ";
}

.comma-separated li:last-child:after {
  content: "";
}

.end-with-period li:last-child:after {
  content: ".";
}

.container > section:first-child {
  border: 0;
}

.constructor-modifier {
  font-style: italic;
}

section.multi-line-signature div.parameters {
  margin-left: 24px;
}

/* subnav styles */

ul.subnav {
  overflow: auto;
  white-space: nowrap;
  padding-left: 0;
  min-height: 25px;
}

ul.subnav::-webkit-scrollbar {
  display: none;
}

ul.subnav li {
  display: inline-block;
  text-transform: uppercase;
}

ul.subnav li a {
  color: #FFFFFF;
}

ul.subnav li {
  margin-right: 24px;
}

ul.subnav li:last-of-type {
  margin-right: 0;
}

@media(max-width: 768px) {
  ul.subnav li {
    margin-right: 16px;
  }
}

/* sidebar styles */

.sidebar-offcanvas-left {
  background-color: #f7f7f7;
  padding: 0;
}

.sidebar ol {
  list-style: none;
  font-size: 14px;
  line-height: 24px;
  margin-bottom: 0;
  padding: 0;
}

.sidebar-offcanvas-left ol {
  padding: 16px;
}

.sidebar h5,
.sidebar ol li {
  text-overflow: ellipsis;
  overflow: hidden;
}

.sidebar ol li.section-title a {
  color: inherit;
}

.sidebar ol li.section-title {
  font-size: 13px;
  color: #B6B6B6;
  text-transform: uppercase;
  line-height: 20px;
  margin-top: 24px;
}

.sidebar ol li:first-child {
  padding-top: 0;
  margin-top: 0;
}

button {
  padding: 0;
}

#sidenav-left-toggle {
  display: none;
  vertical-align: text-bottom;
  padding: 0;
}

/* left-nav disappears, and can transition in from the left */
@media screen and (max-width:768px) {
  #sidenav-left-toggle {
    display: inline;
    background: no-repeat url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'><path fill='#FFFFFF' d='M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'/></svg>");
    background-position: center;
    width: 24px;
    height: 24px;
    border: none;
    margin-right: 24px;
  }

  #overlay-under-drawer.active {
    opacity: 0.4;
    height: 100%;
    z-index: 1999;
    position: fixed;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    background-color: black;
    display: block;
  }

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

  .sidebar-offcanvas-left.active {
    left:0; /* this animates our drawer into the page */
  }
}

.sidebar h5 {
  color: #727272;
  padding-bottom: 16px;
}

.sidebar-offcanvas-left h5 {
  border-bottom: 1px solid #ddd;
  padding: 16px;
}

.sidebar-offcanvas-left h5:last-of-type {
  border: 0;
  padding: 16px 16px 0 16px;
}

/* the right nav disappears out of view when the window shrinks */
@media screen and (max-width: 992px) {
  .sidebar-offcanvas-right{
     display: none;
   }
}

#overlay-under-drawer {
  display: none;
}

/* find-as-you-type search box */

/* override bootstrap defaults */
.form-control {
  border-radius: 0;
  border: 0;
}

form.search {
  display: inline;
}

@media screen and (max-width: 500px) {
  form.search {
    display: none;
  }
}

.typeahead,
.tt-query,
.tt-hint {
  width: 200px;
  height: 30px;
  padding: 8px 12px;
  line-height: 30px;
  outline: none;
}

.typeahead {
  background-color: #fff;
  border-radius: 2px;
}

.tt-query {
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}

.tt-hint {
  color: #999
}

.tt-menu {
  right:0;
  left: inherit !important;
  width: 422px;
  max-height: 250px;
  overflow-y: auto;
  font-size: 14px;
  margin: 0;
  padding: 8px 0;
  background-color: #fff;
  border: 1px solid #ccc;
  border: 1px solid rgba(0, 0, 0, 0.2);
  -webkit-box-shadow: 0 5px 10px rgba(0,0,0,.2);
     -moz-box-shadow: 0 5px 10px rgba(0,0,0,.2);
          box-shadow: 0 5px 10px rgba(0,0,0,.2);
}

.tt-suggestion {
  padding: 3px 20px;
  color: #212121;
}

.tt-suggestion:hover {
  cursor: pointer;
  color: #fff;
  background-color: #0097cf;
}

.tt-suggestion:hover .search-from-lib {
  color: #ddd;
}

.tt-suggestion.tt-cursor {
  color: #fff;
  background-color: #0097cf;
}

.tt-suggestion.tt-cursor .search-from-lib {
  color: #ddd;
}

.tt-suggestion p {
  margin: 0;
}

.search-from-lib {
  font-style: italic;
  color: gray;
}

section#setter {
  border-top: 1px solid #ddd;
  padding-top: 36px;
}

li.inherited a {
  opacity: 0.65;
  font-style: italic;
}

#instance-methods dt.inherited .name,
#instance-properties dt.inherited .name,
#operators dt.inherited .name {
  font-weight: 300;
  font-style: italic;
}

#instance-methods dt.inherited .signature,
#instance-properties dt.inherited .signature,
#operators dt.inherited .signature {
  font-weight: 300;
}

@media print {
  .subnav, .sidebar {
    display:none;
  }

  a[href]:after {
   content:"" !important;
  }
}
