html {
  box-sizing: border-box; }

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

html {
  -webkit-text-size-adjust: none;
      -ms-text-size-adjust: none;
          text-size-adjust: none; }

body {
  margin: 0; }

hr {
  overflow: visible;
  box-sizing: content-box; }

a {
  -webkit-text-decoration-skip: objects; }

a,
button,
label,
input {
  -webkit-tap-highlight-color: transparent; }

a {
  color: inherit;
  text-decoration: none; }
  a:active, a:hover {
    outline-width: 0; }

small {
  font-size: 80%; }

sub,
sup {
  position: relative;
  font-size: 80%;
  line-height: 0;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

img {
  border-style: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

td,
th {
  font-weight: normal;
  vertical-align: top; }

button {
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  font-size: inherit; }

input {
  border: 0;
  outline: 0; }

.md-icon, .md-nav__title::before, .md-nav__button, .md-nav__link::after, .admonition::before, .md-typeset .footnote-backref, .md-typeset .critic.comment::before, .md-typeset .task-list-control .task-list-indicator::before {
  font-family: "Material Icons";
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  line-height: 1;
  text-transform: none;
  white-space: nowrap;
  speak: none;
  word-wrap: normal;
  direction: ltr; }
  .md-content__edit, .md-header-nav__button, .md-footer-nav__button, .md-nav__title::before, .md-nav__button {
    display: inline-block;
    margin: 0.4rem;
    padding: 0.8rem;
    font-size: 2.4rem;
    cursor: pointer; }

.md-icon--arrow-back::before {
  content: "arrow_back"; }

.md-icon--arrow-forward::before {
  content: "arrow_forward"; }

.md-icon--menu::before {
  content: "menu"; }

.md-icon--search::before {
  content: "search"; }

.md-icon--home::before {
  content: "school"; }

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

body,
input {
  color: rgba(0, 0, 0, 0.87);
  -webkit-font-feature-settings: "kern", "onum", "liga";
          font-feature-settings: "kern", "onum", "liga";
  font-weight: 400; }
  .no-fontface body, .no-fontface
  input {
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; }

pre,
code,
kbd {
  color: rgba(0, 0, 0, 0.87);
  -webkit-font-feature-settings: "kern", "onum", "liga";
          font-feature-settings: "kern", "onum", "liga";
  font-weight: 400; }
  .no-fontface pre, .no-fontface
  code, .no-fontface
  kbd {
    font-family: "Courier New", Courier, monospace; }

.md-typeset {
  font-size: 1.6rem;
  line-height: 1.6;
  -webkit-print-color-adjust: exact; }
  .md-typeset p,
  .md-typeset ul,
  .md-typeset ol,
  .md-typeset blockquote {
    margin: 1em 0; }
  .md-typeset h1 {
    margin: 0 0 4rem;
    color: rgba(0, 0, 0, 0.54);
    font-size: 3.125rem;
    font-weight: 300;
    letter-spacing: -0.01em;
    line-height: 1.3; }
  .md-typeset h2 {
    margin: 4rem 0 1.6rem;
    font-size: 2.5rem;
    font-weight: 300;
    letter-spacing: -0.01em;
    line-height: 1.4; }
  .md-typeset h3 {
    margin: 3.2rem 0 1.6rem;
    font-size: 2rem;
    font-weight: 400;
    letter-spacing: -0.01em;
    line-height: 1.5; }
  .md-typeset h2 + h3 {
    margin-top: 1.6rem; }
  .md-typeset h4 {
    margin: 1.6rem 0;
    font-size: 1.6rem;
    font-weight: 700;
    letter-spacing: -0.01em; }
  .md-typeset h5,
  .md-typeset h6 {
    margin: 1.6rem 0;
    color: rgba(0, 0, 0, 0.54);
    font-size: 1.28rem;
    font-weight: 700;
    letter-spacing: -0.01em; }
  .md-typeset h5 {
    text-transform: uppercase; }
  .md-typeset hr {
    margin: 1.5em 0;
    border-bottom: 0.1rem dotted rgba(0, 0, 0, 0.26); }
  .md-typeset a {
    color: #3f51b5;
    word-break: break-word; }
    .md-typeset a, .md-typeset a::before {
      -webkit-transition: color 0.125s;
      transition: color 0.125s; }
    .md-typeset a:hover, .md-typeset a:active {
      color: #536dfe; }
  .md-typeset code,
  .md-typeset pre {
    background-color: rgba(236, 236, 236, 0.5);
    color: #37474F;
    font-size: 85%; }
  .md-typeset code {
    margin: 0 0.29412em;
    padding: 0.07353em 0;
    border-radius: 0.2rem;
    box-shadow: 0.29412em 0 0 rgba(236, 236, 236, 0.5), -0.29412em 0 0 rgba(236, 236, 236, 0.5);
    word-break: break-word;
    -webkit-box-decoration-break: clone;
            box-decoration-break: clone; }
  .md-typeset h1 code,
  .md-typeset h2 code,
  .md-typeset h3 code,
  .md-typeset h4 code,
  .md-typeset h5 code,
  .md-typeset h6 code {
    margin: 0;
    background-color: transparent;
    box-shadow: none; }
  .md-typeset a > code {
    margin: inherit;
    padding: inherit;
    border-radius: none;
    background-color: inherit;
    color: inherit;
    box-shadow: none; }
  .md-typeset pre {
    margin: 1em 0;
    padding: 1rem 1.2rem;
    border-radius: 0.2rem;
    line-height: 1.4;
    overflow: auto;
    -webkit-overflow-scrolling: touch; }
    .md-typeset pre::-webkit-scrollbar {
      width: 0.4rem;
      height: 0.4rem; }
    .md-typeset pre::-webkit-scrollbar-thumb {
      background-color: rgba(0, 0, 0, 0.26); }
      .md-typeset pre::-webkit-scrollbar-thumb:hover {
        background-color: #536dfe; }
    .md-typeset pre > code {
      margin: 0;
      background-color: transparent;
      font-size: inherit;
      box-shadow: none;
      -webkit-box-decoration-break: none;
              box-decoration-break: none; }
  .md-typeset kbd {
    padding: 0 0.29412em;
    border: 0.1rem solid #c9c9c9;
    border-radius: 0.2rem;
    border-bottom-color: #bcbcbc;
    background-color: #FCFCFC;
    color: #555555;
    font-size: 85%;
    box-shadow: 0 0.1rem 0 #b0b0b0;
    word-break: break-word; }
  .md-typeset mark {
    margin: 0 0.25em;
    padding: 0.0625em 0;
    border-radius: 0.2rem;
    background-color: rgba(255, 235, 59, 0.5);
    box-shadow: 0.25em 0 0 rgba(255, 235, 59, 0.5), -0.25em 0 0 rgba(255, 235, 59, 0.5);
    word-break: break-word;
    -webkit-box-decoration-break: clone;
            box-decoration-break: clone; }
  .md-typeset abbr {
    border-bottom: 0.1rem dotted rgba(0, 0, 0, 0.54);
    cursor: help; }
  .md-typeset small {
    opacity: 0.75; }
  .md-typeset sup,
  .md-typeset sub {
    margin-left: 0.07812em; }
  .md-typeset blockquote {
    padding-left: 1.2rem;
    border-left: 0.4rem solid rgba(0, 0, 0, 0.26);
    color: rgba(0, 0, 0, 0.54); }
  .md-typeset ul {
    list-style-type: disc; }
  .md-typeset ul,
  .md-typeset ol {
    margin-left: 0.625em;
    padding: 0; }
    .md-typeset ul ol,
    .md-typeset ol ol {
      list-style-type: lower-alpha; }
      .md-typeset ul ol ol,
      .md-typeset ol ol ol {
        list-style-type: lower-roman; }
    .md-typeset ul li,
    .md-typeset ol li {
      margin-bottom: 0.5em;
      margin-left: 1.25em; }
      .md-typeset ul li p,
      .md-typeset ul li blockquote,
      .md-typeset ol li p,
      .md-typeset ol li blockquote {
        margin: 0.5em 0; }
      .md-typeset ul li:last-child,
      .md-typeset ol li:last-child {
        margin-bottom: 0; }
      .md-typeset ul li ul,
      .md-typeset ul li ol,
      .md-typeset ol li ul,
      .md-typeset ol li ol {
        margin: 0.5em 0 0.5em 0.625em; }
  .md-typeset iframe,
  .md-typeset img,
  .md-typeset svg {
    max-width: 100%; }
  .md-typeset table:not([class]) {
    box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2);
    margin: 2em 0;
    border-radius: 0.2rem;
    font-size: 1.28rem;
    overflow: hidden; }
    .no-js .md-typeset table:not([class]) {
      display: inline-block;
      max-width: 100%;
      margin: 0.8em 0;
      overflow: auto;
      -webkit-overflow-scrolling: touch; }
    .md-typeset table:not([class]) th:not([align]),
    .md-typeset table:not([class]) td:not([align]) {
      text-align: left; }
    .md-typeset table:not([class]) th {
      min-width: 10rem;
      padding: 1.2rem 1.6rem;
      background-color: rgba(0, 0, 0, 0.54);
      color: white;
      vertical-align: top; }
    .md-typeset table:not([class]) td {
      padding: 1.2rem 1.6rem;
      border-top: 0.1rem solid rgba(0, 0, 0, 0.07);
      vertical-align: top; }
    .md-typeset table:not([class]) tr:first-child td {
      border-top: 0; }
    .md-typeset table:not([class]) a {
      word-break: normal; }
  .md-typeset .md-typeset__table {
    margin: 1.6em -1.6rem;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch; }
    .md-typeset .md-typeset__table table {
      display: inline-block;
      margin: 0 1.6rem; }

html {
  height: 100%;
  font-size: 62.5%; }

body {
  position: relative;
  height: 100%; }

hr {
  display: block;
  height: 0.1rem;
  padding: 0;
  border: 0; }

.md-svg {
  display: none; }

.md-grid {
  max-width: 122rem;
  margin-right: auto;
  margin-left: auto; }

.md-container,
.md-main {
  overflow: auto; }

.md-container {
  display: table;
  width: 100%;
  height: 100%;
  table-layout: fixed; }

.md-main {
  display: table-row;
  height: 100%; }
  .md-main__inner {
    margin-top: 5.6rem;
    padding-top: 3rem;
    overflow: auto; }
    .csscalc .md-main__inner {
      min-height: calc(100% - 2.6rem); }

@-moz-document url-prefix() {
  .csscalc .md-main__inner {
    min-height: calc(100% - 5.6rem); } }

.md-toggle {
  display: none; }

.md-overlay {
  position: fixed;
  top: 0;
  width: 0;
  height: 0;
  -webkit-transition: width   0s 0.25s,
 height  0s 0.25s,
 opacity 0.25s;
  transition: width   0s 0.25s,
 height  0s 0.25s,
 opacity 0.25s;
  background-color: rgba(0, 0, 0, 0.54);
  opacity: 0;
  z-index: 2; }

.md-flex {
  display: table; }
  .md-flex__cell {
    display: table-cell;
    position: relative;
    vertical-align: top; }
    .md-flex__cell--shrink {
      width: 0%; }
    .md-flex__cell--stretch {
      display: table;
      width: 100%;
      table-layout: fixed; }
  .md-flex__ellipsis {
    display: table-cell;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden; }

@page {
  margin: 25mm; }

.md-content__inner {
  margin: 2.4rem 1.6rem; }

.md-content__edit {
  float: right; }

.md-header {
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2);
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  height: 5.6rem;
  -webkit-transition: background-color 0.25s;
  transition: background-color 0.25s;
  background-color: #3f51b5;
  color: white;
  z-index: 1; }

.md-header-nav {
  padding: 0.4rem; }
  .md-header-nav__button {
    position: relative;
    -webkit-transition: opacity 0.25s;
    transition: opacity 0.25s;
    z-index: 1; }
    .md-header-nav__button:hover {
      opacity: 0.7; }
    .md-header-nav__button.md-logo img {
      display: block; }
    .no-js .md-header-nav__button.md-icon--search {
      display: none; }
  .md-header-nav__title {
    padding: 0 2rem;
    font-size: 1.8rem;
    line-height: 4.8rem; }
  .md-header-nav__parent {
    color: rgba(255, 255, 255, 0.7); }
    .md-header-nav__parent::after {
      display: inline;
      color: rgba(255, 255, 255, 0.3);
      content: "/"; }
  .md-header-nav__source {
    display: none; }

.md-footer-nav {
  background-color: rgba(0, 0, 0, 0.87);
  color: white; }
  .md-footer-nav__inner {
    padding: 0.4rem;
    overflow: auto; }
  .md-footer-nav__link {
    padding-top: 2.8rem;
    padding-bottom: 0.8rem;
    -webkit-transition: opacity 0.25s;
    transition: opacity 0.25s; }
    .md-footer-nav__link:hover {
      opacity: 0.7; }
    .md-footer-nav__link--prev {
      width: 25%;
      float: left; }
    .md-footer-nav__link--next {
      width: 75%;
      float: right;
      text-align: right; }
  .md-footer-nav__button {
    -webkit-transition: background 0.25s;
    transition: background 0.25s; }
  .md-footer-nav__title {
    position: relative;
    padding: 0 2rem;
    font-size: 1.8rem;
    line-height: 4.8rem; }
  .md-footer-nav__direction {
    position: absolute;
    right: 0;
    left: 0;
    margin-top: -2rem;
    padding: 0 2rem;
    color: rgba(255, 255, 255, 0.7);
    font-size: 1.5rem; }

.md-footer-meta {
  background: rgba(0, 0, 0, 0.895); }
  .md-footer-meta__inner {
    padding: 0.4rem;
    overflow: auto; }
  html .md-footer-meta.md-typeset a {
    color: rgba(255, 255, 255, 0.7); }

.md-footer-copyright {
  margin: 0 1.2rem;
  padding: 0.8rem 0;
  color: rgba(255, 255, 255, 0.3);
  font-size: 1.28rem; }
  .md-footer-copyright__highlight {
    color: rgba(255, 255, 255, 0.7); }

.md-footer-social {
  margin: 0 0.8rem;
  padding: 0.4rem 0 1.2rem; }
  .md-footer-social__link {
    display: inline-block;
    width: 3.2rem;
    height: 3.2rem;
    border: 0.1rem solid rgba(255, 255, 255, 0.12);
    border-radius: 100%;
    color: rgba(255, 255, 255, 0.7);
    font-size: 1.6rem;
    text-align: center; }
    .md-footer-social__link::before {
      line-height: 1.9; }

.md-nav {
  font-size: 1.28rem;
  line-height: 1.3; }
  .md-nav--secondary {
    -webkit-transition: border-left 0.25s;
    transition: border-left 0.25s;
    border-left: 0.4rem solid #3f51b5; }
  .md-nav__title {
    display: block;
    padding: 1.2rem 1.2rem 0;
    font-weight: 700;
    text-overflow: ellipsis;
    overflow: hidden; }
    .md-nav__title::before {
      display: none;
      content: "arrow_back"; }
    .md-nav__title .md-nav__button {
      display: none; }
  .md-nav__list {
    margin: 0;
    padding: 0;
    list-style: none; }
  .md-nav__item {
    padding: 0.625em 1.2rem 0; }
    .md-nav__item:last-child {
      padding-bottom: 1.2rem; }
    .md-nav__item .md-nav__item {
      padding-right: 0; }
      .md-nav__item .md-nav__item:last-child {
        padding-bottom: 0; }
  .md-nav__button img {
    width: 100%;
    height: auto; }
  .md-nav__link {
    display: block;
    -webkit-transition: color 0.125s;
    transition: color 0.125s;
    text-overflow: ellipsis;
    cursor: pointer;
    overflow: hidden; }
    .md-nav__item--nested > .md-nav__link::after {
      content: "keyboard_arrow_down"; }
    html .md-nav__link[for="toc"] {
      display: none; }
      html .md-nav__link[for="toc"] ~ .md-nav {
        display: none; }
      html .md-nav__link[for="toc"] + .md-nav__link::after {
        display: none; }
    .md-nav__link[data-md-state="blur"] {
      color: rgba(0, 0, 0, 0.54); }
    .md-nav__link:active, .md-nav__link--active {
      color: #3f51b5; }
    .md-nav__link:hover {
      color: #536dfe; }
  .md-nav__source {
    display: none; }

.no-js .md-search {
  display: none; }

.md-search__overlay {
  display: none;
  pointer-events: none; }

.md-search__inner {
  width: 100%; }

.md-search__form {
  position: relative; }

.md-search__input {
  position: relative;
  padding: 0 1.6rem 0 7.2rem;
  text-overflow: ellipsis;
  z-index: 1; }
  .md-search__input + .md-search__icon, .md-search__input::-webkit-input-placeholder {
    color: rgba(0, 0, 0, 0.54); }
  .md-search__input + .md-search__icon, .md-search__input::-moz-placeholder {
    color: rgba(0, 0, 0, 0.54); }
  .md-search__input + .md-search__icon, .md-search__input:-ms-input-placeholder {
    color: rgba(0, 0, 0, 0.54); }
  .md-search__input + .md-search__icon, .md-search__input::placeholder {
    color: rgba(0, 0, 0, 0.54); }
  .md-search__input::-ms-clear {
    display: none; }

.md-search__icon {
  position: absolute;
  top: 0.8rem;
  left: 1.2rem;
  -webkit-transition: color 0.25s;
  transition: color 0.25s;
  font-size: 2.4rem;
  cursor: pointer;
  z-index: 1; }
  .md-search__icon::before {
    content: "search"; }

.md-search__output {
  position: absolute;
  width: 100%;
  border-radius: 0 0 0.2rem 0.2rem;
  overflow: hidden; }

.md-search__scrollwrap {
  height: 100%;
  background: -webkit-linear-gradient(top, white 10%, rgba(255, 255, 255, 0)), -webkit-linear-gradient(top, rgba(0, 0, 0, 0.26), rgba(0, 0, 0, 0.07) 35%, transparent 60%);
  background: linear-gradient(to bottom, white 10%, rgba(255, 255, 255, 0)), linear-gradient(to bottom, rgba(0, 0, 0, 0.26), rgba(0, 0, 0, 0.07) 35%, transparent 60%);
  background-attachment: local, scroll;
  background-color: white;
  background-repeat: no-repeat;
  background-size: 100% 2rem, 100% 1rem;
  box-shadow: 0 0.1rem 0 rgba(0, 0, 0, 0.07) inset;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch; }

.md-search-result__meta {
  padding: 0 1.6rem;
  background-color: rgba(0, 0, 0, 0.07);
  color: rgba(0, 0, 0, 0.54);
  font-size: 1.28rem;
  line-height: 4rem; }

.md-search-result__list {
  margin: 0;
  padding: 0;
  border-top: 0.1rem solid rgba(0, 0, 0, 0.07);
  list-style: none; }

.md-search-result__item {
  box-shadow: 0 -0.1rem 0 rgba(0, 0, 0, 0.07); }

.md-search-result__link {
  display: block;
  padding: 0 1.6rem;
  -webkit-transition: background 0.25s;
  transition: background 0.25s;
  overflow: auto; }
  .md-search-result__link:hover {
    background-color: rgba(83, 109, 254, 0.1); }

.md-search-result__article {
  margin: 1em 0; }

.md-search-result__title {
  margin-top: 0.5em;
  margin-bottom: 0;
  color: rgba(0, 0, 0, 0.87);
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.4; }

.md-search-result__teaser {
  margin: 0.5em 0;
  color: rgba(0, 0, 0, 0.54);
  font-size: 1.28rem;
  line-height: 1.4;
  word-break: break-word; }

.md-sidebar {
  position: relative;
  width: 24.2rem;
  float: left;
  overflow: visible; }
  .md-sidebar[data-md-state="lock"] {
    position: fixed;
    top: 5.6rem;
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden; }
  .md-sidebar--secondary {
    display: none; }
  .md-sidebar__scrollwrap {
    margin: 2.4rem 0.4rem;
    overflow-y: auto; }
    .js .md-sidebar__scrollwrap {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0; }
    .md-sidebar__scrollwrap::-webkit-scrollbar {
      width: 0.4rem;
      height: 0.4rem; }
    .md-sidebar__scrollwrap::-webkit-scrollbar-thumb {
      background-color: rgba(0, 0, 0, 0.26); }
      .md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover {
        background-color: #536dfe; }

@-webkit-keyframes md-source__facts--done {
  0% {
    height: 0; }
  100% {
    height: 1.3rem; } }

@keyframes md-source__facts--done {
  0% {
    height: 0; }
  100% {
    height: 1.3rem; } }

@-webkit-keyframes md-source__fact--done {
  0% {
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
    opacity: 0; }
  50% {
    opacity: 0; }
  100% {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
    opacity: 1; } }

@keyframes md-source__fact--done {
  0% {
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
    opacity: 0; }
  50% {
    opacity: 0; }
  100% {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
    opacity: 1; } }

.md-source {
  display: block;
  -webkit-transition: opacity 0.25s;
  transition: opacity 0.25s;
  font-size: 1.3rem;
  line-height: 1.2;
  white-space: nowrap; }
  .md-source:hover {
    opacity: 0.7; }
  .md-source::after {
    display: inline-block;
    height: 4.8rem;
    content: "";
    vertical-align: middle; }
  .md-source__icon {
    display: inline-block;
    width: 4.8rem;
    height: 4.8rem;
    content: "";
    vertical-align: middle; }
    .md-source__icon svg {
      margin-top: 1.2rem;
      margin-left: 1.2rem; }
    .md-source__icon + .md-source__repository {
      margin-left: -4.4rem;
      padding-left: 4rem; }
  .md-source__repository {
    display: inline-block;
    max-width: 100%;
    margin-left: 1.2rem;
    font-weight: 700;
    text-overflow: ellipsis;
    overflow: hidden;
    vertical-align: middle; }
  .md-source__facts {
    margin: 0;
    padding: 0;
    font-size: 1.1rem;
    font-weight: 700;
    list-style-type: none;
    opacity: 0.75;
    overflow: auto; }
    [data-md-state="done"] .md-source__facts {
      -webkit-animation: md-source__facts--done 0.25s ease-in;
              animation: md-source__facts--done 0.25s ease-in; }
  .md-source__fact {
    float: left; }
    [data-md-state="done"] .md-source__fact {
      -webkit-animation: md-source__fact--done 0.4s ease-out;
              animation: md-source__fact--done 0.4s ease-out; }
    .md-source__fact::before {
      margin: 0 0.2rem;
      content: "\00B7"; }
    .md-source__fact:first-child::before {
      display: none; }

.admonition {
  position: relative;
  margin: 1.5625em 0;
  padding: 0.8rem 1.2rem;
  border-left: 3.2rem solid rgba(68, 138, 255, 0.4);
  border-radius: 0.2rem;
  background-color: rgba(68, 138, 255, 0.15);
  font-size: 1.28rem; }
  .admonition::before {
    position: absolute;
    left: -2.6rem;
    color: white;
    font-size: 2rem;
    content: "edit";
    vertical-align: -0.25em; }
  .admonition :first-child {
    margin-top: 0; }
  .admonition :last-child {
    margin-bottom: 0; }
  .admonition.tldr, .admonition.summary {
    border-color: rgba(0, 176, 255, 0.4);
    background-color: rgba(0, 176, 255, 0.15); }
    .admonition.tldr::before, .admonition.summary::before {
      content: "subject"; }
  .admonition.hint, .admonition.important, .admonition.tip {
    border-color: rgba(0, 191, 165, 0.4);
    background-color: rgba(0, 191, 165, 0.15); }
    .admonition.hint::before, .admonition.important::before, .admonition.tip::before {
      content: "whatshot"; }
  .admonition.check, .admonition.done, .admonition.success {
    border-color: rgba(0, 230, 118, 0.4);
    background-color: rgba(0, 230, 118, 0.15); }
    .admonition.check::before, .admonition.done::before, .admonition.success::before {
      content: "done"; }
  .admonition.caution, .admonition.attention, .admonition.warning {
    border-color: rgba(255, 145, 0, 0.4);
    background-color: rgba(255, 145, 0, 0.15); }
    .admonition.caution::before, .admonition.attention::before, .admonition.warning::before {
      content: "warning"; }
  .admonition.fail, .admonition.missing, .admonition.failure {
    border-color: rgba(255, 82, 82, 0.4);
    background-color: rgba(255, 82, 82, 0.15); }
    .admonition.fail::before, .admonition.missing::before, .admonition.failure::before {
      content: "clear"; }
  .admonition.error, .admonition.danger {
    border-color: rgba(255, 23, 68, 0.4);
    background-color: rgba(255, 23, 68, 0.15); }
    .admonition.error::before, .admonition.danger::before {
      content: "flash_on"; }
  .admonition.bug {
    border-color: rgba(245, 0, 87, 0.4);
    background-color: rgba(245, 0, 87, 0.15); }
    .admonition.bug::before {
      content: "bug_report"; }

.admonition-title {
  font-weight: 700; }
  html .admonition-title {
    margin-bottom: 0; }
  html .admonition-title + * {
    margin-top: 0; }

.codehilite .o {
  color: inherit; }

.codehilite .ow {
  color: inherit; }

.codehilite .ge {
  color: #000000; }

.codehilite .gr {
  color: #AA0000; }

.codehilite .gh {
  color: #999999; }

.codehilite .go {
  color: #888888; }

.codehilite .gp {
  color: #555555; }

.codehilite .gs {
  color: inherit; }

.codehilite .gu {
  color: #AAAAAA; }

.codehilite .gt {
  color: #AA0000; }

.codehilite .gd {
  background-color: #FFDDDD; }

.codehilite .gi {
  background-color: #DDFFDD; }

.codehilite .k {
  color: #3B78E7; }

.codehilite .kc {
  color: #A71D5D; }

.codehilite .kd {
  color: #3B78E7; }

.codehilite .kn {
  color: #3B78E7; }

.codehilite .kp {
  color: #A71D5D; }

.codehilite .kr {
  color: #3E61A2; }

.codehilite .kt {
  color: #3E61A2; }

.codehilite .c {
  color: #999999; }

.codehilite .cm {
  color: #999999; }

.codehilite .cp {
  color: #666666; }

.codehilite .c1 {
  color: #999999; }

.codehilite .ch {
  color: #999999; }

.codehilite .cs {
  color: #999999; }

.codehilite .na {
  color: #C2185B; }

.codehilite .nb {
  color: #C2185B; }

.codehilite .bp {
  color: #3E61A2; }

.codehilite .nc {
  color: #C2185B; }

.codehilite .no {
  color: #3E61A2; }

.codehilite .nd {
  color: #666666; }

.codehilite .ni {
  color: #666666; }

.codehilite .ne {
  color: #C2185B; }

.codehilite .nf {
  color: #C2185B; }

.codehilite .nl {
  color: #3B5179; }

.codehilite .nn {
  color: #EC407A; }

.codehilite .nt {
  color: #3B78E7; }

.codehilite .nv {
  color: #3E61A2; }

.codehilite .vc {
  color: #3E61A2; }

.codehilite .vg {
  color: #3E61A2; }

.codehilite .vi {
  color: #3E61A2; }

.codehilite .nx {
  color: #EC407A; }

.codehilite .m {
  color: #E74C3C; }

.codehilite .mf {
  color: #E74C3C; }

.codehilite .mh {
  color: #E74C3C; }

.codehilite .mi {
  color: #E74C3C; }

.codehilite .il {
  color: #E74C3C; }

.codehilite .mo {
  color: #E74C3C; }

.codehilite .s {
  color: #0D904F; }

.codehilite .sb {
  color: #0D904F; }

.codehilite .sc {
  color: #0D904F; }

.codehilite .sd {
  color: #999999; }

.codehilite .s2 {
  color: #0D904F; }

.codehilite .se {
  color: #183691; }

.codehilite .sh {
  color: #183691; }

.codehilite .si {
  color: #183691; }

.codehilite .sx {
  color: #183691; }

.codehilite .sr {
  color: #009926; }

.codehilite .s1 {
  color: #0D904F; }

.codehilite .ss {
  color: #0D904F; }

.codehilite .err {
  color: #A61717; }

.codehilite .w {
  color: transparent; }

.codehilite .hll {
  display: block;
  margin: 0 -1.2rem;
  padding: 0 1.2rem;
  background-color: rgba(255, 235, 59, 0.5); }

.md-typeset .codehilite {
  margin: 1em 0;
  padding: 1rem 1.2rem 0.8rem;
  border-radius: 0.2rem;
  background-color: rgba(236, 236, 236, 0.5);
  color: #37474F;
  line-height: 1.4;
  overflow: auto;
  -webkit-overflow-scrolling: touch; }
  .md-typeset .codehilite::-webkit-scrollbar {
    width: 0.4rem;
    height: 0.4rem; }
  .md-typeset .codehilite::-webkit-scrollbar-thumb {
    background-color: rgba(0, 0, 0, 0.26); }
    .md-typeset .codehilite::-webkit-scrollbar-thumb:hover {
      background-color: #536dfe; }
  .md-typeset .codehilite pre {
    display: inline-block;
    min-width: 100%;
    margin: 0;
    padding: 0;
    background-color: transparent;
    overflow: visible;
    vertical-align: top; }

.md-typeset .codehilitetable {
  display: block;
  margin: 1em 0;
  border-radius: 0.2em;
  font-size: 1.6rem;
  overflow: hidden; }
  .md-typeset .codehilitetable tbody,
  .md-typeset .codehilitetable td {
    display: block;
    padding: 0; }
  .md-typeset .codehilitetable tr {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  .md-typeset .codehilitetable .codehilite,
  .md-typeset .codehilitetable .linenodiv {
    margin: 0;
    border-radius: 0; }
  .md-typeset .codehilitetable .linenodiv {
    padding: 1rem 1.2rem 0.8rem; }
    .md-typeset .codehilitetable .linenodiv,
    .md-typeset .codehilitetable .linenodiv > pre {
      height: 100%; }
  .md-typeset .codehilitetable .linenos {
    background-color: rgba(0, 0, 0, 0.07);
    color: rgba(0, 0, 0, 0.26);
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none; }
    .md-typeset .codehilitetable .linenos pre {
      margin: 0;
      padding: 0;
      background-color: transparent;
      color: inherit;
      text-align: right; }
  .md-typeset .codehilitetable .code {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    overflow: hidden; }

.md-typeset > .codehilitetable {
  box-shadow: none; }

.md-typeset .footnote {
  color: rgba(0, 0, 0, 0.54);
  font-size: 1.28rem; }
  .md-typeset .footnote ol {
    margin-left: 0; }
  .md-typeset .footnote li {
    -webkit-transition: color 0.25s;
    transition: color 0.25s; }
    .md-typeset .footnote li::before {
      display: block;
      height: 0; }
    .md-typeset .footnote li:target {
      color: rgba(0, 0, 0, 0.87); }
    .md-typeset .footnote li:target::before {
      margin-top: -9rem;
      padding-top: 9rem;
      pointer-events: none; }
    .md-typeset .footnote li :first-child {
      margin-top: 0; }
    .md-typeset .footnote li:hover .footnote-backref,
    .md-typeset .footnote li:target .footnote-backref {
      -webkit-transform: translateX(0);
              transform: translateX(0);
      opacity: 1; }
    .md-typeset .footnote li:hover .footnote-backref:hover,
    .md-typeset .footnote li:target .footnote-backref {
      color: #536dfe; }

.md-typeset .footnote-backref {
  display: inline-block;
  -webkit-transform: translateX(0.5rem);
          transform: translateX(0.5rem);
  -webkit-transition: color     0.25s,
 opacity   0.125s 0.125s,
 -webkit-transform 0.25s  0.125s;
  transition: color     0.25s,
 opacity   0.125s 0.125s,
 -webkit-transform 0.25s  0.125s;
  transition: transform 0.25s  0.125s,
 color     0.25s,
 opacity   0.125s 0.125s;
  transition: transform 0.25s  0.125s,
 color     0.25s,
 opacity   0.125s 0.125s,
 -webkit-transform 0.25s  0.125s;
  color: rgba(0, 0, 0, 0.26);
  font-size: 0;
  opacity: 0;
  vertical-align: text-bottom; }
  .md-typeset .footnote-backref::before {
    font-size: 1.6rem;
    content: "keyboard_return"; }

.md-typeset .headerlink {
  display: inline-block;
  margin-left: 1rem;
  -webkit-transform: translate(0, 0.5rem);
          transform: translate(0, 0.5rem);
  -webkit-transition: color     0.25s,
 opacity   0.125s 0.25s,
 -webkit-transform 0.25s  0.25s;
  transition: color     0.25s,
 opacity   0.125s 0.25s,
 -webkit-transform 0.25s  0.25s;
  transition: transform 0.25s  0.25s,
 color     0.25s,
 opacity   0.125s 0.25s;
  transition: transform 0.25s  0.25s,
 color     0.25s,
 opacity   0.125s 0.25s,
 -webkit-transform 0.25s  0.25s;
  opacity: 0; }
  html body .md-typeset .headerlink {
    color: rgba(0, 0, 0, 0.26); }

.md-typeset [id]::before {
  display: inline-block;
  content: ""; }

.md-typeset [id]:target::before {
  margin-top: -9.8rem;
  padding-top: 9.8rem; }

.md-typeset [id]:hover .headerlink,
.md-typeset [id]:target .headerlink,
.md-typeset [id] .headerlink:focus {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
  opacity: 1; }

.md-typeset [id]:hover .headerlink:hover,
.md-typeset [id]:target .headerlink,
.md-typeset [id] .headerlink:focus {
  color: #536dfe; }

.md-typeset h1[id] .headerlink {
  display: none; }

.md-typeset h2[id]::before {
  display: block;
  margin-top: -0.2rem;
  padding-top: 0.2rem; }

.md-typeset h2[id]:target::before {
  margin-top: -8.2rem;
  padding-top: 8.2rem; }

.md-typeset h3[id]::before {
  display: block;
  margin-top: -0.4rem;
  padding-top: 0.4rem; }

.md-typeset h3[id]:target::before {
  margin-top: -8.4rem;
  padding-top: 8.4rem; }

.md-typeset h4[id]::before {
  display: block;
  margin-top: -0.6rem;
  padding-top: 0.6rem; }

.md-typeset h4[id]:target::before {
  margin-top: -8.6rem;
  padding-top: 8.6rem; }

.md-typeset h5[id]::before {
  display: block;
  margin-top: -1rem;
  padding-top: 1rem; }

.md-typeset h5[id]:target::before {
  margin-top: -9rem;
  padding-top: 9rem; }

.md-typeset h6[id]::before {
  display: block;
  margin-top: -1rem;
  padding-top: 1rem; }

.md-typeset h6[id]:target::before {
  margin-top: -9rem;
  padding-top: 9rem; }

.md-typeset .MJXc-display {
  margin: 0.75em 0;
  padding: 0.25em 0;
  overflow: auto;
  -webkit-overflow-scrolling: touch; }

.md-typeset .MathJax_CHTML {
  outline: 0; }

.md-typeset del.critic,
.md-typeset ins.critic,
.md-typeset .comment.critic {
  margin: 0 0.25em;
  padding: 0.0625em 0;
  border-radius: 0.2rem;
  -webkit-box-decoration-break: clone;
          box-decoration-break: clone; }

.md-typeset del.critic {
  background-color: #FFDDDD;
  box-shadow: 0.25em 0 0 #FFDDDD, -0.25em 0 0 #FFDDDD; }

.md-typeset ins.critic {
  background-color: #DDFFDD;
  box-shadow: 0.25em 0 0 #DDFFDD, -0.25em 0 0 #DDFFDD; }

.md-typeset .critic.comment {
  background-color: rgba(236, 236, 236, 0.5);
  color: #37474F;
  box-shadow: 0.25em 0 0 rgba(236, 236, 236, 0.5), -0.25em 0 0 rgba(236, 236, 236, 0.5); }
  .md-typeset .critic.comment::before {
    padding-right: 0.125em;
    color: rgba(0, 0, 0, 0.26);
    content: "chat";
    vertical-align: -0.125em; }

.md-typeset .critic.block {
  display: block;
  margin: 1em 0;
  padding-right: 1.6rem;
  padding-left: 1.6rem;
  box-shadow: none; }
  .md-typeset .critic.block :first-child {
    margin-top: 0.5em; }
  .md-typeset .critic.block :last-child {
    margin-bottom: 0.5em; }

.md-typeset .emojione {
  width: 2rem;
  vertical-align: text-top; }

.md-typeset code.codehilite {
  margin: 0 0.29412em;
  padding: 0.07353em 0; }

.md-typeset .task-list-item {
  position: relative;
  list-style-type: none; }
  .md-typeset .task-list-item [type="checkbox"] {
    position: absolute;
    top: 0.45em;
    left: -2em; }

.md-typeset .task-list-control .task-list-indicator::before {
  position: absolute;
  top: 0.05em;
  left: -1.25em;
  color: rgba(0, 0, 0, 0.26);
  font-size: 1.5em;
  content: "check_box_outline_blank";
  vertical-align: -0.25em; }

.md-typeset .task-list-control [type="checkbox"]:checked + .task-list-indicator::before {
  content: "check_box"; }

.md-typeset .task-list-control [type="checkbox"] {
  opacity: 0;
  z-index: -1; }

@media print {

  .md-typeset a::after {
    color: rgba(0, 0, 0, 0.54);
    content: " [" attr(href) "]"; }

  .md-typeset code {
    box-shadow: none;
    -webkit-box-decoration-break: initial;
    box-decoration-break: initial; }

  .md-content__edit {
    display: none; }

  .md-header {
    display: none; }

  .md-footer {
    display: none; }

  .md-sidebar {
    display: none; }

  .md-typeset .headerlink {
    display: none; } }

@media only screen and (max-width: 44.9375em) {

  .md-typeset pre {
    margin: 1em -1.6rem;
    padding: 1rem 1.6rem;
    border-radius: 0; }

  .codehilite .hll {
    margin: 0 -1.6rem;
    padding: 0 1.6rem; }

  .md-typeset > .codehilite {
    margin: 1em -1.6rem;
    padding: 1rem 1.6rem 0.8rem;
    border-radius: 0; }

  .md-typeset > .codehilitetable {
    margin: 1em -1.6rem;
    border-radius: 0; }

  .md-typeset > .codehilitetable .codehilite,
      .md-typeset > .codehilitetable .linenodiv {
    padding: 1rem 1.6rem; }

  .md-typeset > p > .MJXc-display {
    margin: 0.75em -1.6rem;
    padding: 0.25em 1.6rem; } }

@media only screen and (min-width: 100em) {

  html {
    font-size: 68.75%; } }

@media only screen and (min-width: 125em) {

  html {
    font-size: 75%; } }

@media only screen and (max-width: 59.9375em) {

  body[data-md-state="lock"] {
    overflow: hidden; }

  .ios body[data-md-state="lock"] .md-container {
    display: none; }

  .md-content__edit {
    margin-right: -0.8rem; }

  .md-nav--secondary {
    border-left: 0; }

  html .md-nav__link[for="toc"] {
    display: block;
    padding-right: 4.8rem; }

  html .md-nav__link[for="toc"]::after {
    color: inherit;
    content: "toc"; }

  html .md-nav__link[for="toc"] + .md-nav__link {
    display: none; }

  html .md-nav__link[for="toc"] ~ .md-nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }

  .md-nav__source {
    display: block;
    padding: 0.4rem;
    background-color: rgba(50, 64, 144, 0.9675);
    color: white; }

  .md-search__overlay {
    display: block;
    position: absolute;
    top: 0.4rem;
    left: 0.4rem;
    width: 4rem;
    height: 4rem;
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transition: opacity   0.2s 0.2s,
 -webkit-transform 0.3s 0.1s;
    transition: opacity   0.2s 0.2s,
 -webkit-transform 0.3s 0.1s;
    transition: transform 0.3s 0.1s,
 opacity   0.2s 0.2s;
    transition: transform 0.3s 0.1s,
 opacity   0.2s 0.2s,
 -webkit-transform 0.3s 0.1s;
    border-radius: 2rem;
    background-color: white;
    opacity: 0;
    overflow: hidden;
    z-index: 1; }

  [data-md-toggle="search"]:checked ~ .md-header .md-search__overlay {
    -webkit-transition: opacity   0.1s,
 -webkit-transform 0.4s;
    transition: opacity   0.1s,
 -webkit-transform 0.4s;
    transition: transform 0.4s,
 opacity   0.1s;
    transition: transform 0.4s,
 opacity   0.1s,
 -webkit-transform 0.4s;
    opacity: 1; }

  .md-search__inner {
    position: fixed;
    top: 0;
    left: 100%;
    height: 100%;
    -webkit-transform: translateX(5%);
    transform: translateX(5%);
    -webkit-transition: left 0s 0.3s, opacity 0.15s 0.15s, -webkit-transform 0.15s 0.15s cubic-bezier(0.4, 0, 0.2, 1);
    transition: left 0s 0.3s, opacity 0.15s 0.15s, -webkit-transform 0.15s 0.15s cubic-bezier(0.4, 0, 0.2, 1);
    transition: left 0s 0.3s, transform 0.15s 0.15s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.15s 0.15s;
    transition: left 0s 0.3s, transform 0.15s 0.15s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.15s 0.15s, -webkit-transform 0.15s 0.15s cubic-bezier(0.4, 0, 0.2, 1);
    opacity: 0;
    z-index: 2; }

  [data-md-toggle="search"]:checked ~ .md-header .md-search__inner {
    left: 0;
    -webkit-transform: translateX(0);
    transform: translateX(0);
    -webkit-transition: left 0s 0s, opacity 0.15s 0.15s, -webkit-transform 0.15s 0.15s cubic-bezier(0.1, 0.7, 0.1, 1);
    transition: left 0s 0s, opacity 0.15s 0.15s, -webkit-transform 0.15s 0.15s cubic-bezier(0.1, 0.7, 0.1, 1);
    transition: left 0s 0s, transform 0.15s 0.15s cubic-bezier(0.1, 0.7, 0.1, 1), opacity 0.15s 0.15s;
    transition: left 0s 0s, transform 0.15s 0.15s cubic-bezier(0.1, 0.7, 0.1, 1), opacity 0.15s 0.15s, -webkit-transform 0.15s 0.15s cubic-bezier(0.1, 0.7, 0.1, 1);
    opacity: 1; }

  .md-search__input {
    width: 100%;
    height: 5.6rem;
    font-size: 1.8rem; }

  .md-search__icon {
    top: 1.6rem;
    left: 1.6rem; }

  .md-search__icon::before {
    content: "arrow_back"; }

  .md-search__output {
    top: 5.6rem;
    bottom: 0; } }

@media only screen and (max-width: 76.1875em) {

  [data-md-toggle="drawer"]:checked ~ .md-overlay {
    width: 100%;
    height: 100%;
    -webkit-transition: width   0s,
 height  0s,
 opacity 0.25s;
    transition: width   0s,
 height  0s,
 opacity 0.25s;
    opacity: 1; }

  .md-header-nav__button.md-icon--home, .md-header-nav__button.md-logo {
    display: none; }

  .md-nav--primary,
    .md-nav--primary .md-nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    height: 100%;
    z-index: 1; }

  .md-nav--primary {
    background-color: white; }

  .md-nav--primary .md-nav__toggle ~ .md-nav {
    box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.4);
    background-color: white; }

  html .md-nav--primary .md-nav__title {
    position: relative;
    height: 11.2rem;
    padding: 6rem 1.6rem 0.4rem;
    background-color: rgba(0, 0, 0, 0.07);
    color: rgba(0, 0, 0, 0.54);
    font-weight: 400;
    line-height: 4.8rem;
    white-space: nowrap;
    cursor: pointer; }

  html .md-nav--primary .md-nav__title::before {
    display: block;
    position: absolute;
    top: 0.4rem;
    left: 0.4rem;
    width: 4rem;
    height: 4rem;
    color: rgba(0, 0, 0, 0.54); }

  html .md-nav--primary .md-nav__title ~ .md-nav__list {
    background: -webkit-linear-gradient(top, white 10%, rgba(255, 255, 255, 0)), -webkit-linear-gradient(top, rgba(0, 0, 0, 0.26), rgba(0, 0, 0, 0.07) 35%, transparent 60%);
    background: linear-gradient(to bottom, white 10%, rgba(255, 255, 255, 0)), linear-gradient(to bottom, rgba(0, 0, 0, 0.26), rgba(0, 0, 0, 0.07) 35%, transparent 60%);
    background-attachment: local, scroll;
    background-color: white;
    background-repeat: no-repeat;
    background-size: 100% 2rem, 100% 1rem;
    box-shadow: 0 0.1rem 0 rgba(0, 0, 0, 0.07) inset; }

  html .md-nav--primary .md-nav__title ~ .md-nav__list > .md-nav__item:first-child {
    border-top: 0; }

  html .md-nav--primary .md-nav__title--site {
    position: relative;
    background-color: #3f51b5;
    color: white; }

  html .md-nav--primary .md-nav__title--site .md-nav__button {
    display: block;
    position: absolute;
    top: 0.4rem;
    left: 0.4rem;
    width: 6.4rem;
    height: 6.4rem;
    font-size: 4.8rem; }

  html .md-nav--primary .md-nav__title--site::before {
    display: none; }

  .md-nav--primary .md-nav__list {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    overflow-y: auto; }

  .md-nav--primary .md-nav__item {
    padding: 0;
    border-top: 0.1rem solid rgba(0, 0, 0, 0.07); }

  .md-nav--primary .md-nav__item--nested > .md-nav__link {
    padding-right: 4.8rem; }

  .md-nav--primary .md-nav__item--nested > .md-nav__link::after {
    content: "keyboard_arrow_right"; }

  .md-nav--primary .md-nav__link {
    position: relative;
    padding: 1.6rem; }

  .md-nav--primary .md-nav__link::after {
    position: absolute;
    top: 50%;
    right: 1.2rem;
    margin-top: -1.2rem;
    color: rgba(0, 0, 0, 0.54);
    font-size: 2.4rem; }

  .md-nav--primary .md-nav__link:hover::after {
    color: inherit; }

  .md-nav--primary .md-nav--secondary .md-nav {
    position: static; }

  .md-nav--primary .md-nav--secondary .md-nav .md-nav__link {
    padding-left: 2.8rem; }

  .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link {
    padding-left: 4rem; }

  .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link {
    padding-left: 5.2rem; }

  .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link {
    padding-left: 6.4rem; }

  .md-nav__toggle ~ .md-nav {
    display: none; }

  .csstransforms3d .md-nav__toggle ~ .md-nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
    -webkit-transition: opacity 0.125s 0.05s, -webkit-transform 0.25s cubic-bezier(0.8, 0, 0.6, 1);
    transition: opacity 0.125s 0.05s, -webkit-transform 0.25s cubic-bezier(0.8, 0, 0.6, 1);
    transition: transform 0.25s cubic-bezier(0.8, 0, 0.6, 1), opacity 0.125s 0.05s;
    transition: transform 0.25s cubic-bezier(0.8, 0, 0.6, 1), opacity 0.125s 0.05s, -webkit-transform 0.25s cubic-bezier(0.8, 0, 0.6, 1);
    opacity: 0; }

  .md-nav__toggle:checked ~ .md-nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }

  .csstransforms3d .md-nav__toggle:checked ~ .md-nav {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    -webkit-transition: opacity 0.125s 0.125s, -webkit-transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    transition: opacity 0.125s 0.125s, -webkit-transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.125s 0.125s;
    transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.125s 0.125s, -webkit-transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    opacity: 1; }

  .md-nav .md-nav__title,
    .md-nav .md-nav__item {
    font-size: 1.6rem;
    line-height: 1.5; }

  .md-sidebar--primary {
    position: fixed;
    top: 0;
    left: -24.2rem;
    width: 24.2rem;
    height: 100%;
    -webkit-transform: translateX(0);
    transform: translateX(0);
    -webkit-transition: box-shadow 0.25s, -webkit-transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    transition: box-shadow 0.25s, -webkit-transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.25s;
    transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.25s, -webkit-transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    background-color: white;
    z-index: 2; }

  .no-csstransforms3d .md-sidebar--primary {
    display: none; }

  [data-md-toggle="drawer"]:checked ~ .md-container .md-sidebar--primary {
    box-shadow: 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12), 0 5px 5px -3px rgba(0, 0, 0, 0.4);
    -webkit-transform: translateX(24.2rem);
    transform: translateX(24.2rem); }

  .no-csstransforms3d [data-md-toggle="drawer"]:checked ~ .md-container .md-sidebar--primary {
    display: block; }

  .md-sidebar--primary .md-sidebar__scrollwrap {
    overflow: hidden; }

  .md-sidebar--primary .md-sidebar__scrollwrap {
    margin: 0; } }

@media only screen and (min-width: 60em) {

  .md-content {
    margin-right: 24.2rem; }

  .md-header-nav__button.md-icon--search {
    display: none; }

  .md-header-nav__source {
    display: block;
    width: 23rem;
    max-width: 23rem;
    padding-right: 1.2rem; }

  .md-search {
    margin-right: 2.8rem;
    padding: 0.4rem; }

  .md-search__inner {
    display: table;
    position: relative;
    clear: both; }

  .md-search__form {
    width: 23rem;
    float: right;
    -webkit-transition: width 0.25s cubic-bezier(0.1, 0.7, 0.1, 1);
    transition: width 0.25s cubic-bezier(0.1, 0.7, 0.1, 1);
    border-radius: 0.2rem; }

  .md-search__input {
    width: 100%;
    height: 4rem;
    padding-left: 4.8rem;
    -webkit-transition: background-color 0.25s,
 color            0.25s;
    transition: background-color 0.25s,
 color            0.25s;
    border-radius: 0.2rem;
    background-color: rgba(0, 0, 0, 0.26);
    color: white;
    font-size: 1.6rem; }

  .md-search__input + .md-search__icon, .md-search__input::-webkit-input-placeholder {
    -webkit-transition: color 0.25s;
    transition: color 0.25s;
    color: white; }

  .md-search__input + .md-search__icon, .md-search__input::-moz-placeholder {
    -webkit-transition: color 0.25s;
    transition: color 0.25s;
    color: white; }

  .md-search__input + .md-search__icon, .md-search__input:-ms-input-placeholder {
    -webkit-transition: color 0.25s;
    transition: color 0.25s;
    color: white; }

  .md-search__input + .md-search__icon, .md-search__input::placeholder {
    -webkit-transition: color 0.25s;
    transition: color 0.25s;
    color: white; }

  .md-search__input:hover {
    background-color: rgba(255, 255, 255, 0.12); }

  [data-md-toggle="search"]:checked ~ .md-header .md-search__input {
    border-radius: 0.2rem 0.2rem 0 0;
    background-color: white;
    color: rgba(0, 0, 0, 0.87);
    text-overflow: none; }

  [data-md-toggle="search"]:checked ~ .md-header .md-search__input + .md-search__icon, [data-md-toggle="search"]:checked ~ .md-header .md-search__input::-webkit-input-placeholder {
    color: rgba(0, 0, 0, 0.54); }

  [data-md-toggle="search"]:checked ~ .md-header .md-search__input + .md-search__icon, [data-md-toggle="search"]:checked ~ .md-header .md-search__input::-moz-placeholder {
    color: rgba(0, 0, 0, 0.54); }

  [data-md-toggle="search"]:checked ~ .md-header .md-search__input + .md-search__icon, [data-md-toggle="search"]:checked ~ .md-header .md-search__input:-ms-input-placeholder {
    color: rgba(0, 0, 0, 0.54); }

  [data-md-toggle="search"]:checked ~ .md-header .md-search__input + .md-search__icon, [data-md-toggle="search"]:checked ~ .md-header .md-search__input::placeholder {
    color: rgba(0, 0, 0, 0.54); }

  .md-search__output {
    box-shadow: 0 6px 10px 0 rgba(0, 0, 0, 0.14), 0 1px 18px 0 rgba(0, 0, 0, 0.12), 0 3px 5px -1px rgba(0, 0, 0, 0.4);
    top: 4rem;
    -webkit-transition: opacity 0.4s;
    transition: opacity 0.4s;
    opacity: 0; }

  [data-md-toggle="search"]:checked ~ .md-header .md-search__output {
    opacity: 1; }

  .md-search__scrollwrap {
    max-height: 0; }

  [data-md-toggle="search"]:checked ~ .md-header .md-search__scrollwrap {
    max-height: 75vh; }

  .md-search__scrollwrap::-webkit-scrollbar {
    width: 0.4rem;
    height: 0.4rem; }

  .md-search__scrollwrap::-webkit-scrollbar-thumb {
    background-color: rgba(0, 0, 0, 0.26); }

  .md-search__scrollwrap::-webkit-scrollbar-thumb:hover {
    background-color: #536dfe; }

  .md-search-result__meta {
    padding-left: 4.8rem; }

  .md-search-result__link {
    padding-left: 4.8rem; }

  .md-sidebar--secondary {
    display: block;
    float: right; }

  .md-sidebar--secondary[data-md-state="lock"] {
    margin-left: 100%;
    -webkit-transform: translate(-100%, 0);
    transform: translate(-100%, 0); } }

@media only screen and (min-width: 76.25em) {

  .md-content {
    margin-left: 24.2rem;
    overflow: auto; }

  .md-content__inner {
    margin: 2.4rem;
    float: left; }

  .md-content__inner :last-child {
    margin-bottom: 0; }

  .md-header-nav__button.md-icon--menu {
    display: none; }

  .md-nav[data-md-state="animate"] {
    -webkit-transition: max-height 0.25s cubic-bezier(0.86, 0, 0.07, 1);
    transition: max-height 0.25s cubic-bezier(0.86, 0, 0.07, 1); }

  .md-nav__toggle ~ .md-nav {
    max-height: 0;
    overflow: hidden; }

  .md-nav__toggle:checked ~ .md-nav, .md-nav[data-md-state="expand"] {
    max-height: 100%; }

  .md-nav__item--nested > .md-nav > .md-nav__title {
    display: none; }

  .md-nav__item--nested > .md-nav__link::after {
    display: inline-block;
    -webkit-transform-origin: 0.45em 0.45em;
    transform-origin: 0.45em 0.45em;
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
    vertical-align: -0.125em; }

  .js .md-nav__item--nested > .md-nav__link::after {
    -webkit-transition: -webkit-transform 0.4s;
    transition: -webkit-transform 0.4s;
    transition: transform 0.4s;
    transition: transform 0.4s, -webkit-transform 0.4s; }

  .md-nav__item--nested .md-nav__toggle:checked ~ .md-nav__link::after {
    -webkit-transform: rotateX(180deg);
    transform: rotateX(180deg); }

  [data-md-toggle="search"]:checked ~ .md-header .md-search__form {
    width: 68.8rem; }

  .md-search__scrollwrap {
    width: 68.8rem; }

  .md-sidebar__inner {
    border-right: 0.1rem solid rgba(0, 0, 0, 0.07); } }

@media only screen and (max-width: 29.9375em) {

  .md-header-nav__parent {
    display: none; }

  .md-footer-nav__link--prev .md-footer-nav__title {
    display: none; }

  [data-md-toggle="search"]:checked ~ .md-header .md-search__overlay {
    -webkit-transform: scale(45);
    transform: scale(45); } }

@media only screen and (min-width: 30em) {

  .md-footer-nav__link {
    width: 50%; } }

@media only screen and (min-width: 45em) {

  .md-footer-copyright {
    max-width: 75%;
    float: left; }

  .md-footer-social {
    padding: 1.2rem 0;
    float: right; } }

@media only screen and (min-width: 30em) and (max-width: 44.9375em) {

  [data-md-toggle="search"]:checked ~ .md-header .md-search__overlay {
    -webkit-transform: scale(60);
    transform: scale(60); } }

@media only screen and (min-width: 45em) and (max-width: 59.9375em) {

  [data-md-toggle="search"]:checked ~ .md-header .md-search__overlay {
    -webkit-transform: scale(75);
    transform: scale(75); } }

@media only screen and (min-width: 60em) and (max-width: 76.1875em) {

  [data-md-toggle="search"]:checked ~ .md-header .md-search__form {
    width: 46.8rem; }

  .md-search__scrollwrap {
    width: 46.8rem; } }

@media only screen and (min-width: 60em) and (min-width: 76.25em) {

  .md-sidebar--secondary[data-md-state="lock"] {
    margin-left: 122rem; } }
