
/* 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; }

/* for layout */
html,
body {
  margin: 0;
  padding: 0;
  height: 100%;
  width: 100%;
  overflow: hidden;
  box-sizing: border-box;
}

*, *:before, *:after {
  box-sizing: inherit;
}

body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

header {
  flex: 0 0 50px;
  display: flex;
  flex-direction: row;
  align-items: center;
  padding-left: 30px;
}

header ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

header ol li {
  display: inline;
}

header form {
  display: flex;
  flex: 1;
  justify-content: flex-end;
  padding-right: 30px;
}

header#header-search-sidebar {
  height: 50px;
  margin-bottom: 25px;
}

footer {
  flex: 0 0 16px;
  text-align: center;
  padding: 16px 20px;
}

main {
  flex: 1;
  display: flex;
  flex-direction: row;
  padding: 20px;
  min-height: 0;
}

.sidebar-offcanvas-left {
  flex: 0 1 230px;
  overflow-y: scroll;
  padding: 20px 0 15px 30px;
  margin: 5px 20px 0 0;
  visibility: hidden; /* shown by Javascript after scroll position restore */
}

::-webkit-scrollbar-button{ display: none; height: 13px; border-radius: 0px; background-color: #AAA; }
::-webkit-scrollbar-button:hover{ background-color: #AAA; }
::-webkit-scrollbar-thumb{ background-color: #CCC; }
::-webkit-scrollbar-thumb:hover{ background-color: #CCC; }
::-webkit-scrollbar{ width: 4px; }
::-webkit-overflow-scrolling: touch;

.main-content::-webkit-scrollbar{ width: 8px; }

.main-content {
  flex: 1;
  overflow-y: scroll;
  padding: 10px 20px 0 20px;
  visibility: hidden; /* shown by Javascript after scroll position restore */
}

.sidebar-offcanvas-right {
  flex: 0 1 12em;
  overflow-y: scroll;
  padding: 20px 15px 15px 15px;
  margin-top: 5px;
  margin-right: 20px;
  visibility: hidden; /* shown by Javascript after scroll position restore */
}
/* end for layout */

body {
  -webkit-text-size-adjust: 100%;
  overflow-x: hidden;
  font-family: Roboto, sans-serif;
  font-size: 16px;
  line-height: 1.42857143;
  color: #111111;
  background-color: #fff;
}

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

@media (max-width: 768px) {
  .hidden-xs {
    display: none !important;
  }
}

@media (min-width: 769px) {
  .hidden-l {
    display: none !important;
  }
}

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

nav .container {
  white-space: nowrap;
}

header {
  background-color: #eeeeee;
  box-shadow: 0 3px 5px rgba(0,0,0,0.1);
}

header.header-fixed nav.navbar-fixed-top {
  box-shadow: 0 3px 5px rgba(0,0,0,0.1);
}

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;
  }
}

a {
  text-decoration: none;
}

.body {
  margin-top: 90px;
}

section {
  margin-bottom: 36px;
}

dl {
  margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: Roboto, sans-serif;
  font-weight: 400;
  margin-top: 1.5em;
  color: #111111;
}

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

h1 {
  font-size: 37px;
  margin-top: 0;
  margin-bottom: 0.67em;
}

h2 {
  font-size: 28px;
}

h5 {
  font-size: 16px;
}

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

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

p {
  margin-bottom: 1em;
  margin-top: 0;
}

a {
  color: #0175C2;
}

a:hover {
  color: #13B9FD;
}

pre.prettyprint {
  font-family: 'Source Code Pro', Menlo, monospace;
  color: black;
  border-radius: 0;
  font-size: 15px;
  word-wrap: normal;
  line-height: 1.4;
  border: 0;
  margin: 16px 0 16px 0;
  padding: 8px;
}

pre code {
  white-space: pre;
  word-wrap: initial;
  font-size: 100%
}

.fixed {
  white-space: pre;
}

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

code {
  font-family: 'Source Code Pro', Menlo, monospace;
  /* overriding bootstrap */
  color: inherit;
  padding: 0.2em 0.4em;
  font-size: 85%;
  background-color: rgba(27,31,35,0.05);
  border-radius: 3px;
}

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

  h1 {
    font-size: 24px;
  }

  pre {
    margin: 16px 0;
  }
}

@media (min-width: 768px) {
  ul.subnav li {
    font-size: 17px;
  }
}

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

header a,
header p,
header li {
  color: #111111;
}

header a:hover {
  color: #0175C2;
}

header h1 .kind {
  color: #555;
}

dt {
  font-weight: normal;
}

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

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

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

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

.dl-horizontal dd {
  margin-left: initial;
}

dl.dl-horizontal dt {
  font-style: normal;
  text-align: left;
  color: #727272;
  margin-right: 20px;
  width: initial;
}

dt .name {
  font-weight: 500;
}

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

.parameter {
  white-space: nowrap;
}

.type-parameter {
  white-space: nowrap;
}

.multi-line-signature .type-parameter .parameter {
  margin-left: 0px;
  display: unset;
}

.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;
}

.category.linked {
  font-weight: bold;
  opacity: 1;
}

/* Colors for category based on categoryOrder in dartdoc_options.config. */
.category.cp-0 {
  background-color: #54b7c4
}

.category.cp-1 {
  background-color: #54c47f
}

.category.cp-2 {
  background-color: #c4c254
}

.category.cp-3 {
  background-color: #c49f54
}

.category.cp-4 {
  background-color: #c45465
}

.category.cp-5 {
  background-color: #c454c4
}

.category a {
  color: white;
}

.category {
  padding: 2px 4px;
  font-size: 12px;
  border-radius: 4px;
  background-color: #999;
  text-transform: uppercase;
  color: white;
  opacity: .5;
}

h1 .category {
  vertical-align: middle;
}

.source-link {
  padding: 18px 4px;
  vertical-align: middle;
}

.source-link .material-icons {
  font-size: 18px;
}

@media (max-width: 768px) {
  .source-link {
    padding: 7px 2px;
    font-size: 10px;
  }
}

#external-links {
  float: right;
}

.btn-group {
  position: relative;
  display: inline-flex;
  vertical-align: middle;
}

p.firstline {
  font-weight: bold;
}

footer {
  color: #fff;
  background-color: #111111;
  width: 100%;
}

footer p {
  margin: 0;
}

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

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

footer a, footer a:hover {
  color: #fff;
}

.markdown.desc {
  max-width: 700px;
}

.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='%23DDDDDD' 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;
  padding: 0 3px 0 0;
}

.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='%23727272' 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;
  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: #555;
}

.self-name {
  color: #555;
  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: #111;
}

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 ol {
  list-style: none;
  line-height: 22px;
  margin-top: 0;
  margin-bottom: 0;
  padding: 0 0 15px 0;
}

.sidebar h5 a,
.sidebar h5 a:hover {
  color: #727272;
}

.sidebar h5,
.sidebar ol li {
  text-overflow: ellipsis;
  overflow: hidden;
  padding: 3px 0;
}

.sidebar h5 {
  color: #727272;
  font-size: 18px;
  margin: 0 0 25px 0;
  padding-top: 0;
}

.sidebar ol li.section-title {
  font-size: 18px;
  font-weight: normal;
  text-transform: uppercase;
  padding-top: 25px;
}

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

.sidebar ol li.section-subtitle {
  font-weight: 400;
  text-transform: uppercase;
}

.sidebar ol li.section-subitem {
  margin-left: 12px;
}

.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='#111' 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: 0;
    left: 0;
    right: 0;
    bottom: 0;
    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: 90%;
    background-color: white;
    overflow-y: scroll; /* TODO: how to hide scroll bars? */
    padding: 10px;
    margin: 10px 10px;
    box-shadow: 5px 5px 5px 5px #444444;
    visibility: hidden; /* shown by Javascript after scroll position restore */
  }

  ol#sidebar-nav {
    font-size: 18px;
    white-space: pre-line;
  }

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

  .self-name {
    display: inline-block;
  }
}

.sidebar-offcanvas-left h5 {
  margin-bottom: 10px;
}

.sidebar-offcanvas-left h5:last-of-type {
  border: 0;
  margin-bottom: 25px;
}

/* 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;
}

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

.typeahead,
.tt-query,
.tt-hint {
  width: 200px;
  height: 20px;
  padding: 4px 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
}

.navbar-right .tt-menu {
  right:0;
  left: inherit !important;
  width: 422px;
  max-height: 250px;
  overflow-y: scroll;
}

.tt-menu {
  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;
}

#search-box {
  background-color: #ffffff;
}

.search-body {
  border: 1px solid #7f7f7f;
  max-width: 400px;
  box-shadow: 3px 3px 5px rgba(0,0,0,0.1);
}

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;
  }
}
